EnBeeMo - Environment and Bee Monitoring

DTLab-Challenge mit dem Mellifera e.V.

bienenstock-bienenvolk-honigbienen
OrganisationMellifera e.V.
HauptansprechpartnerMatthias Wick
Challenge-NameEnBeeMo - Entwicklung einer cloudbasierten Umgebung zur Optimierung neuronaler Netze zum Tracking von Bienen
TeamLabor für Systems Engineering, FK04 - Elektrotechnik und Informationstechnik
Betreuender ProfessorProf. Dr. Herbert Palm
Datum19.10.2020

Überblick

Mellifera e.V. macht sich für eine ökologische Landwirtschaft stark, die den Bedürfnissen von Biene, Mensch und Natur langfristig gerecht wird. Im Rahmen einer DTLab-Challenge beauftragte der Verein eine Gruppe Studierender des Studiengangs Elektrotechnik und Informationstechnik, eine geeignete Möglichkeit zu finden, um die Anzahl von Bienen in einem Volk zu zählen, ohne dabei in ihren natürlichen Lebensraum einzugreifen.

Problem

Bisher hatten Imker nur grobe Möglichkeiten, Veränderungen in der Stärke eines Bienenvolkes zu erfassen. Genaue Messungen sind derzeit nur mit Geräten möglich, die das natürliche Flugverhalten der Bienen beeinflussen. Die Veränderung der Volksstärke genau zu kennen, ist für die Imker jedoch wichtig, um Rückschlüsse auf bestimmte Standortfaktoren und Ereignisse ziehen zu können, die unter Umständen Einfluss auf die Entwicklung des jeweiligen Bienenvolkes haben. Eine Lösung für dieses Problem zu finden, könnte dabei helfen, das Wissen über geeignete Standorte für Bienenvölker und artgerechte Bienenhaltung zu verbessern. Die Daten könnten Vereine wie Mellifera e.V. bei ihren Initiativen zum Schutz der Bienen unterstützen.

Der Lösungsvorschlag des Studierendenteams der Hochschule München war ein System namens „EnBeeMo“, das mit einer Infrarot-Kamera vor dem Bienenstock Videos der ein- und ausfliegenden Bienen aufnimmt. Die dabei entstandenen Bilder werden anschließend mittels eines Machine Learning Algorithmus ausgewertet. Das System wurde von den Studierenden selbst entwickelt.

Damit der Machine Learning Algorithmus die notwendige Genauigkeit erreicht, sind jedoch zeitintensive Optimierungen nötig. Dazu fehlte den Data Scientists des Labors für Systems Engineering eine Computing-Infrastruktur, in der sie ihre Optimierungsalgorithmen in annehmbarer Zeit ausführen können. In diesen Teilprojekt sollte daher ein System geschaffen werden, das die Entwickler dazu befähigen würde, neue Algorithmen und deren Potential zu quantifizieren.

Vorgehen

Um die benötigte Zeit für die Ausführung der Optimierungsalgorithmen zu reduzieren, sollte das zu entwickelnde System in der Lage sein, die rechenintensiven Machine Learning Trainings gleichzeitig, anstatt wie bisher nacheinander, auszuführen. Dazu wurden zunächst mit Unterstützung durch einen AWS Solutions Architect folgende AWS-Services evaluiert, die als Kernsystem in Frage kommen könnten:

  • SageMaker
  • SQS
  • EKS
  • EC2
  • Batch

Die Auswahl fiel anschließend aufgrund des geringen Entwicklungsaufwandes und des großen relevanten Funktionsumfangs auf AWS Batch. Außerdem ermöglicht AWS Batch viel Kontrolle über das System und ist flexibel einsetzbar. Der Benutzer interagiert mit dem System auf drei wesentliche Arten:

  • durch Hochladen der Applikation (Docker)
  • durch Steuern des Experiments (eigene Skripte, wahlweise mit dem PCR Paket)
  • durch Herunterladen der Ergebnisse (S3)

Mit Hilfe dieses System kann der Data Scientist mit seinen eigenen Optimierungsalgorithmen beliebig viele rechenintensive Aufgaben einer Warteschlange hinzufügen, welche dann automatisch parallel mit mehreren Maschinen abgearbeitet werden.

Innovation in Aktion

Das System wurde entsprechend umgesetzt und angewendet. Die Grafiken, die eine Übersicht über die AWS-Ressourcen zeigen und mittels Cloudformation-Template erzeugt wurden, finden Sie auf Github.

Zur Nutzung der Infrastruktur wurde ein mit dem Paketmanager "pip" installierbares Python Paket entwickelt. Es ermöglicht es, mit wenigen Zeilen Code Computing-Aufgaben zu starten und die jeweiligen Ergebnisse abzufragen.

Das fertige System wurde verwendet, um ein erstes Set von tausend Machine Learning-Trainings durchzuführen. Die gewonnenen Daten enthielten wertvolle Erkenntnisse für die Entwickler des EnBeeMo-Systems und stellten die Grundlage für parallelisierte Optimierungsexperimente mit dem neuen System dar.

Weitere Trade-off-Grafiken, die für das Labor für Systems Engineering von besonderem Interesse waren und aus denen Daten des ersten parallel durchgeführten Experiments gewonnen wurden, finden Sie auf Github.

Unter den trainierten Machine Learning-Modellen erreichte eines einen sehr guten f1-Wert von 0,9860.

Nächste Schritte

Die Data Scientists im Labor für Systems Engineering werden auf Grundlage der gewonnen Daten weitere Experimente definieren, um ein Referenz-Set an Machine Learning-Hyperparametern zu bestimmen. Dies soll das Training sehr genauer Algorithmen zur Bienenerkennung anhand Bildern der Infrarotkamera ermöglichen. Das in der Challenge entwickelte System soll weiter verwendet werden. Aufgrund seiner Flexibilität ist zudem ein Einsatz von EnBeeMo für die Simulation technisch-physikalischer oder anderer Systeme denkbar.

Unterstützende Dokumente

Im Rahmen der Challenge wurden folgende Dokumente erstellt: