Deep Learning Modellvergleich über eine Web-Evaluationsplattform.
Python, React, Django, Docker, SQLite, ML-Model, Camera Traps, Benchmark
Das Institut für Data Science der Fachhochschule Nordwestschweiz führt mit einem Konsortium bestehend aus verschiedenen Institutionen und Organisationen ein grosses Projekt durch. Ziel dieses Projektes ist es, Deep Learning Modelle zu entwickeln um die Bilder von Kamerafallen automatisch klassifizieren und katalogisieren zu können. In diesem Unterprojekt war das Ziel einen Prototyp einer Evaluationsplattform zu designen und implementieren. Diese Evaluationsplattform soll existierende sowie auch neue entwickelte Modelle auf der Basis von Kamerafallen Datensets miteinander vergleichen können.
Viele Organisationen und Unternehmungen betreiben Kamerafallen, um Wildlife Monitoring zu betreiben. Diese Kamerafallen funktionieren automatisch anhand von Sensoren und sammeln dementsprechend enorme Datenmengen an Bild- und Metadaten. Um nun daraus statistisch verwertbare Informationen zu gewinnen, muss dieses Bildmaterial verarbeitet werden. Die Verarbeitung gestaltete sich bisher als mühsame und zeitaufwändige Arbeit, weil die Bilder manuell klassifiziert und katalogisiert werden mussten. Dieser zeitaufwändige Schritt soll nun in einem grossen Projektumfang automatisiert werden. Um diesen Vorgang zu Automatisieren werden Deep Learning Modelle entwickelt. Diese Modelle sollen miteinander verglichen werden können um mehr über deren Anwendungsbereich und die Stärken, als auch Schwächen herausfinden zu können.
Eine Analyse eines bestehenden Modelles, dem MegaDetector von Microsoft, hat gezeigt, welche Komponenten für die Ausführung eines Modelles, die Bewertung und den Vergleich mit anderen Modellen benötigt wird. Diese Komponenten wurden in einem Prozess zusammengesetzt. Zusätzlich wurden Definitionen für die Input und Output Formate gesetzt, um Modellevaluationen vornehmen zu können. Um Modelle und dessen spezifische Abhängigkeiten für die jeweiligen Ausführungen kapseln zu können, wurde Docker eingesetzt. Ein Benutzer muss lediglich ein Dockerfile unter Einhaltung der Vorbedingungen aufsetzen, um Evaluationen tätigen zu können. Somit ist auch die parallele Ausführung bei mehreren Benutzern und die saubere Nutzung und Freigabe von Ressourcen gewährleistet. Für das MegaDetector Modell wurde ein Mapping entwickelt, sodass es als Testmodell zur Verfügung steht. Um einen Benchmark zu repräsentieren, wurde ein weiteres Random Modell, welches zufällige Vorhersagen trifft entwickelt.
Prozesszusammenstellung aller Komponenten
Abhängigkeit Kapseln
Bezüglich des Designs und der Implementation der Evaluationsplattform haben wird uns hauptsächlich den Bereichen Benutzermanagement, Verwaltung von Datensets und Modellen, dem Ausführen einer Evaluation und dem Darstellen und Vergleichen von Benchmark Daten gewidmet. Abhängig von den Benutzerrechten ist es möglich Datensets für die Evaluationen hochzuladen und auch wieder zu entfernen. Modelle in Form von Dockerfiles, in welchen die trainierten und verpackten Modelle, sowie die Ausführungsskripts referenziert werden, können ebenfalls beliebig hochgeladen, versioniert und entfernt werden. Für die Implementierten Tasks werden nach der Ausführung eines Modells dynamisch Benchmark-Tabellen erstellt. Darüber befindet sich jeweils ein 2D-Graph, der die erreichte, Punktzahl gegenüber der Ausführungszeit zeigt. In den Details werden die erreichten Punktzahlen für die erfassten Metriken angezeigt. Zudem wurde ein Direktvergleich zwischen zwei und fünf Modellen implementiert.
Institut für Data Science
Fachhochschule Nordwestschweiz FHNW
Hochschule für Technik
Bahnhofstrasse 6
5210 Windisch