Farberkennung Video mit Vermerk der markierten Bienen

  • Hallo,



    ich brauche eure Hilfe!


    Kurz zu mir: ich bin Biologe und habe gerade ein Wissenschaftliches Projekt am Laufen, bei denen Honigbienen in verschieden Distanzen mit unterschiedlichem Farb-Mehl markiert werden. An deren Beute ist eine Kamera installiert – mit der ich im Nachhinein eine Auswertung mache; Kommen markierte Bienen an, welche Farbe, wieviel Bienen. Das auszuwertende Videomaterial umfasst pro Tag ca. 3 Stunden. Ich muss mir also die ganzen 3 Stunden anschauen um manuell nach markierten Bienen Ausschau zu halten – bei dem Gewusel gar nicht so einfach.


    Da kam mir die Idee von einem automatisierten Vorgang. Nach Recherche bin ich auf Raspberry Pi und somit auf das Forum gestoßen.


    Ich habe mich belesen, dass Farberkennung realisierbar ist. Jedoch konnte ich nicht herausfinden ob das auch für Video zutrifft. Meine Idee: Parallel zur Videokamera läuft der/die/das Raspberry Pi- programmiert auf die jeweiligen Farben. Sollte eine markierte Biene erfasst werden gibt’s einen Vermerk mit Uhrzeit/ Farbe/ ggf. Foto. So kann ich mir die vermerkten Szenen im Nachhinein auf dem Video anschauen ohne mir das gesamte Videomaterial anschauen zu müssen.



    Wäre das überhaupt realisierbar und ist es für einen Laien wie mich umsetzbar?



    Vielen Dank und Beste Grüße


    Eric

  • Hallo und Willkommen im Forum.


    Welche Farben werden hierbei denn verwendet? Setzt sich das groß von der Umgebung ab? Wie darf man sich die Bildqualität vorstellen? Hast du dazu vielleicht einen kurzes Beispiel als Ausschnitt?


    Als Software würde mir da auf Anhieb OpenCV einfallen, aber das nur theoretisch. Das ist bei mir auch immer ein Punkt mit welchen ich mich mal befassen möchte, aber bisher noch nie tat

  • Hallo Hofei,


    vielen Dank für deine schnelle Antwort.


    Es werden die Farben: Rot; Blau; Grün; Gelb; Orange verwendet - wobei auch andere denkbar sind. Die Markierungen sind nicht so intensiv aber dennoch erkennbar.

    Ich habe mich auch schon an einem Bild / Videobearbeitungsprogramm versucht, jedoch ohne Erfolg.


    Ich lade Bilder hoch, damit du eine Vorstellung bekommst. Vielen Dank für deinen Tipp!

  • Mit ein wenig Aufwand und Expertise kann man da vielleicht ein KI-Modell erstellen. Das KÖNNTE klappen, aber selbst da wird die Klassifizierung schwierig, da das Objekt zu klein ist. Vielleicht kann man das besser darstellen, wenn man einen Sepia-Filter aufs Video legt oder nur die Farben im Video durchlässt, welche in deinem Versuch vorkommen.

    Das du somit nur noch grüne, orangene Farbflächen hast, wenn deine Biene ins Video fliegt. Teste das doch mal, was passiert, wenn du die Farben filtern lässt.


    Kannst du die Markierungen verstärken oder durch andere Farben ersetzen?

    Wenn's brennt 112 hilft weiter!

  • Hallo Eric,


    dass Dein Vorhaben (irgendwie) mit OpenCV umsetzbar sein müsste, schreiben viele. Damit gearbeitet haben die wenigsten.


    Dass Mustererkennung irgendwie mit KI gehen könnte, ist Allgemeingut - umgesetzt hat das hier aber auch noch keiner.


    Ich habe mal ein Programm mit Teach-Funktion erstellt, dass die Farbringe von Widerständen untersucht und daraus die richtigen Widerstandswerte berechnet.


    Dabei habe ich gelernt:

    1. Die Farberkennung mit RGB-Farbwerten funktioniert nicht, wenn man Farbähnlichkeiten erlauben möchte
    2. Farbtöne, die auf Basis RGB-Werte recht vergleichbar sind, sehen komplett anders aus.
    3. Mit RGB kannst Du Schwarz und braun praktisch nicht unterscheiden
    4. Der HSV-Farbraum ist der einzige, der Dich zum Ziel führen wird.
    5. Die üblichen HSV-Bibliotheken haben ihre Fehler - wenn Du diese nicht erkennst, dann wird Deine Umsetzung scheitern. Da musst Du wahrscheinlich selber was programmieren.
    6. Mittels Teach-Funktion habe ich jeden Farbton angelernt, bis dessen Erkennung fehlerfrei lief. Das war bei den einen Farbringen sehr schnell erledigt - bei anderen war das knifflig.
    7. Die Krönung waren dann die beiden reflektierenden Farbringe "gold" und "silber". Da kam neben dem Farbpigment auch noch die Reflektionserkennung dazu.


    Nach meiner Einschätzung kannst Du die markierten Bienen dann erkennen, wenn die Farbpigmente innerhalb der Umgebung nicht vorkommen.


    Programmiertechnisch müsstest Du so vorgehen, dass Du aus dem Video eine Sequenz an Einzelbildern erzeugst (dafür gibt es einen Linux-Befehl).

    Das Programm (so Du es geschrieben haben wirst) durchscannt Bild für Bild innerhalb des relevanten Bereiches und vergleicht den Bereich mit dem identischen Bereich ohne Biene (Hintergrund). An den Differenzbereichen durchscannst Du nach Deinen Farbpigmenten - denn dort wird sich wohl etwas befinden, was vorher nicht da war.


    Ein wenig tricky wird es wohl werden, wenn zwei Bienen sich überlappen UND zufällig die gleichen Farbmarkierung aufweisen.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo raspbastler,

    hallo Andreas,


    danke für deine Antwort.

    Richtig, dies ist die Rote Biene die erkannt werden soll. Die Intensität hängt von unterschiedlichen Faktoren ab - auch ist nicht jede Biene gleich gut / schlecht markiert. Meine neue Herangehensweise ist ein verkleinertes Flugloch (Bild im Anhang), der "Hintergrund" kann in einer beliebgen Farbe einheitlich ausstatten werden. Des Weiteren habe ich mir fluoreszierendes Pulver sowie Schwarzlicht besorgt - muss ich noch ein Versuch starten ob das am Tage überhaut zielführend ist.


    raspbastler du meinst, ein KI- Modell welches im Nachhinein angewednet wird und nicht währenddessen. Habe ich Dich richtig verstanden? Ich habe mit einem Video Program versucht, gezielt die (Rote) Farben anzeigen zulassen. Leider konnte ich kein Erfolg verzeichnen.


    Andreas vielen Dank für deine Einschätzung und Ausführliche Erklärung. Das mit dem HSV-Farbraum habe ich auch schon gelesen und erscheint mir logisch. Habe mir das nochmal duch den Kopf gehen lassen; Für mich ist eigentlich nur wichtig zu wissen, ob markierte Bienen (falls ja, welche Farbe) ankommt. Die Anzahl ist nebensächlich, daher ist das mit der gleichen überlappten Farbmarkierung nicht schlimm. Bist du der Meinung, dass es für mich als Laie umsetzbar ist? Eher nicht oder - deine Erklärung hat mir den Eindruck gemacht.


    Beste Grüße

    Eric

  • Hallo Eric,


    Andreas vielen Dank für deine Einschätzung und Ausführliche Erklärung. Das mit dem HSV-Farbraum habe ich auch schon gelesen und erscheint mir logisch. Habe mir das nochmal duch den Kopf gehen lassen; Für mich ist eigentlich nur wichtig zu wissen, ob markierte Bienen (falls ja, welche Farbe) ankommt. Die Anzahl ist nebensächlich, daher ist das mit der gleichen überlappten Farbmarkierung nicht schlimm. Bist du der Meinung, dass es für mich als Laie umsetzbar ist? Eher nicht oder - deine Erklärung hat mir den Eindruck gemacht.


    das hängt davon ab, ob Du (a) programmieren kannst - oder ob Du (b) es lernen möchtest. Oder (c) daran nicht interessiert bist.


    Bei (c) wird es keinen Erfolg geben.


    Bei (b) ist es eine Frage, wie intensiv Dich jemand betreuen möchte, um Dich zu Lösung zu führen.


    Bei (a) ist es eine Frage der Zeit und wie viele Rückschläge Du ertragen kannst.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Könntest du die Bienen stärker kennzeichnen..? Ich sag mal Neon-Edding oder sowas. Es muss ja wirklich erkennbar sein.


    Du hast mich richtig verstanden - die „KI“ doofes Wort eigentlich sollte man darauf trainieren, mit einem Datensatz, welcher deine Bienen enthält, samt deiner Kennzeichnungen.

    Dann kannst du ja das Video in einzelne Frames zerlegen und jedes Frame analysieren lassen. Ich habe hier eine Deepstack-AI laufen und eine Person wird innerhalb von 1-2sec erfasst (also die Benachrichtigung ans Handy dauert 2sec)

    Dann kannst du den prozentualen Anteil berechnen.


    Muss zwischen den Farben unterschieden werden? Wenn nicht könnte man das einfacher aufbauen.

    Wenn's brennt 112 hilft weiter!

  • Morgen,


    Ich hatte im ersten Versuch die Markierungen mit Stiften durchgeführt, jedoch musste ich feststellen das dies nicht so effektiv war- benötige möglichst viele Individuen in kurzer Zeit. Daher kam die Idee mit dem Mehl.

    Es ist nur wichtig zusehen, ob eine Blau Markierte Biene z.b. von Standort X1, X Metern, X Blüte oder Rot Markierte Biene Standort X2, X Metern, X Blüte ankommt. Dann kann ich weiter Untersuchen warum die Bienen den einen Standort präferieren und den anderen nicht. Ich habe 6 Kreise, jeweils in 500 Meter zu Bienenstand. Pro Kreis nochmal Pflanzen Nord, Süd, West und Ost - dies jeweils wird mit einer Farbe dagestellt/ markiert. Da ich die 500 Meter Schritte alle zwei Tage gehe, benötige ich nur 4 Farben. Das wäre ein weiterer Nachteil von Stiften, diese Markierungen halten wesentlich länger.


    Vielen Dank für deine Gedankenansatz. Jetzt weiß ich zumindestens wonach ich schauen muss.

    Der Link ist sehr Interessant, danke dafür, so dachte ich mir das in etwa auch. Mit der Farbe scheint wohl etwas schwieriger zusein.


    Beste Grüße

    Eric

  • Ich habe nochmal drüber nachgedacht, besser wäre es, wenn du an deine Bienen einen kleinen RFID-Chip anbringen würdest. Jeder Chip hat eine eigene ID, dadurch wüsstest du, dass die Biene eingeflogen ist. Ich bin kein Imker, wenn du jedoch die Bienen kurz betäuben könntest mit CO2, wäre es mal ein Versuch wert, dieses Bauteil auf eine Biene zu kleben: https://www.sparkfun.com/products/16464


    Wenn die Biene damit noch gut fliegen kann, wovon ich mal ausgehe, da diese selbst mit einem nassen Körper fliegen können. Musst du noch einen passenden RFID-Leser kaufen, wichtig ist, dass dieser mehrere RFID-Tags gleichzeitig lesen kann.


    Glücklicherweise gibts sowas schon fertig: https://www.sparkfun.com/products/14066


    Hier in EU: https://www.exp-tech.de/module…eous-rfid-reader-m6e-nano


    ..


    Wer bezahlt dir deine Arbeitszeit / die Materialien die du evtl. kaufen musst. Bzw. Was willst du eigentlich erreichen, wozu brauchst du die Daten? Mich würde das mal interessieren.

    Wenn's brennt 112 hilft weiter!

  • Ich untersuche an dem Standort welche Pflanzen (Trachten) die Bienen anfliegen. In der Literatur gibt es Unterschied Angaben - bis zu 2 km ist es ziemlich sicher auch gibt es Angaben bis über 6 km, wobei das nicht mehr Effizienz für die Bienen ist.

    Die Frage ist: wenn im Umkreis von ca 1 km mehre Trachten gibt. Warum fliegen die Bienen diese an. Wie lange und in welcher Abundanz wird diese angeflogen. Daraus lassen sich weitere Forschungsfragen ableiten z.B. Konkurrenz zu Solitär- (Wild) Bienen.

    Bis zu einem bestimmten Teil werden mir die Kosten bezahlt.


    Die Idee mit dem RFID-Chip finde ich gut und die sicherste Methode. Du musst dir vorstellen, dass an einer Tracht zwischen 20-100 Bienen vorkommen. Das markieren bzw kleben würde kein Problem darstellen, jedoch benötigt man für dieses Vorgehen mehr Zeit und es kann möglich sein, dass keine Biene zu den „Eigenen“ gehört. Dann ist die Zeit und die RFID-Chip verloren - wobei ein Imker nicht schlecht gucken würde wenn seine Bienen mit einem Chip nach Hause kommen!