Fischbestandsüberwachung
Machine-Learning-basierte Überwachung von Fischbeständen des Rheins – Bachelorarbeit
Über das Projekt
Im Rahmen meiner Bachelorarbeit habe ich ein System entwickelt, das mithilfe moderner Machine-Learning-Methoden Fische im Rhein automatisch erkennt und zählt. Die gewonnenen Daten werden anschließend in einem interaktiven Visualisierungstool übersichtlich dargestellt, um Bestandsveränderungen im Zeitverlauf analysierbar zu machen.
Als Grundlage dient ein Livestream einer Unterwasserkamera am Rhein. Das trainierte KI-Modell erkennt in Echtzeit bis zu 16 verschiedene Fischarten mit einer Genauigkeit von bis zu 93 %. Die erkannten Daten werden automatisch in Google Spreadsheets geschrieben und über eine eigens entwickelte Web-App visualisiert.
Das Projekt ist live erreichbar unter: tomgromann.com/datentool
Modellentwicklung
Die Entwicklung des Erkennungsmodells erfolgte in mehreren iterativen Schritten. In einem ersten Versuch wurde ein YOLOv8n-Modell mit 780 Bildern über 50 Epochen trainiert – die Erkennungssicherheit lag dabei noch unter 10 %.
Nach einer Überarbeitung der Datenbasis und dem Wechsel auf YOLO11m konnte die Genauigkeit auf bis zu 95 % gesteigert werden. Das finale Modell wurde mit 16 Fischarten über 500 Epochen trainiert und erreicht eine Erkennungsgenauigkeit von bis zu 93 %, wobei vereinzelt kurze Fehlkennungen auftreten.
Datenpipeline & CSV-Speicherung
Damit erkannte Fische für eine Live-Visualisierung nutzbar sind, wird bei jeder Erkennung ein Datensatz mit Datum, Uhrzeit und Fischart in Google Spreadsheets gespeichert. Kurzzeitige Fehlkennungen werden durch ein Confidence-Mittelwert-System herausgefiltert: Nur Objekte mit einem ausreichend hohen Durchschnittswert werden final eingetragen.
Die Daten werden für drei Ansichten aufbereitet: eine Tagesansicht (Stunden), eine Monatsansicht (Datum) und eine Jahresansicht (Monat). Google-Charts-Query-Abfragen ermöglichen das flexible Abrufen der Daten nach beliebigen Zeiträumen.
Visualisierung & Web App
Für die Datenvisualisierung wurde eine Web-App in Vanilla JavaScript entwickelt, die vier verschiedene Diagrammtypen bietet: einen Bar Chart für den ausgewählten Tag, einen Bar Chart und einen Line Chart für den ausgewählten Monat sowie einen Pie Chart für die Jahresansicht.
Das Interface wurde zunächst als Figma-Prototyp im Dark Mode gestaltet. Für die 16 Fischarten wurde mit dem Tool Viz Palette ein barrierefreies Farbsystem erarbeitet. Farbige Chips ersetzen die klassische Legende und dienen gleichzeitig als interaktive Filter.