[...] Finde im Home Assistant dazu auch keine Integration oder Addon?
Also eine Plug and Play Lösung wird es höchstwahrscheinlich nicht geben, sodass du selber aktiv werden und programmieren musst.
Auch wenn die Bilderkennung nicht invasiv ist und keinen physischen Aufwand benötigt, weil du schon die Kameras hast, ist die Umsetzung dafür in der Software aufwändiger. Mit Tensorflow hättest du eine einfache Objekterkennung, die Mülltonnen erkennen kann und in Boxen einrahmt. Die Farbe zu erkennen musst du dann aber selbst machen, indem du z.B. den Anteil einer bestimmten Farbe im obersten Viertel einer Box bestimmst. Oder du lernst ein eigenes Modell mit hunderten Bildern von deinen Mülltonnen an, alle schön händisch selektiert und mit Farbe gelabelt, aber das ist auch wieder aufwändig.
Hier gibt es eine Anleitung für Tensorflow, die man selbst im Browser ausprobieren kann: https://www.tensorflow.org/hub/tutorials/tf2_object_detection (oben musste ich die numpy Version von 1.24.3 auf 1.26.4 ändern, damit es funktioniert. Weiter unten in der Variable `IMAGES_FOR_TEST` kann man eigene Bilder oder eine URL angeben.)
Ich kenne deine Gegebenheiten nicht, weil du keine Beispielbilder gezeigt hast, aber ich gehe mal davon aus, dass die Tonnen immer an der gleichen Stelle stehen und die Reihenfolge gleich bleibt. Mit OpenCV wäre mein Ansatz ähnlich, nur dass du selbst einmal die Boxen für die Deckel festsetzt und danach wieder die Farben bestimmst. Die Kamera sollte sich nicht bewegen können. Bisschen fortgeschrittener ist es dann, wenn die Reihenfolge egal ist und du immer alle Deckelfarben bestimmst und zählst. Fehlt Farbe x, fehlt auch die Mülltonne x.
Was mir gerade noch einfällt, was zu beachten ist:
- Tag und Nacht. Liefert deine Kamera bei wenig Licht trotzdem noch ein Farbbild?
- Allgemein Licht: Gibt es Schatten auf den Mülltonnen? Wie ändern sich die Lichtverhältnisse? Sind die Farben zu erkennen, wenn die Sonne hell scheint?
- Versperrte Sicht: Wenn gerade jemand an der Mülltonne steht und die Kamera keine freie Sicht hat, dann muss später nochmal geprüft werden. Ich würde sowieso denken, dass man bei diesem Vorhaben nur alle z.B. 30 Minuten ein Bild auswertet anstatt 24/7 den Videostream. Und dann z.B. noch zweimal mit jeweils einer Minute Pause. Dann hast du drei Messungen und kannst zur Not eine verwerfen, falls da gerade jemand an der Tonne stand.
So schön die Idee mit der Bilderkennung auch ist, finde ich sie relativ aufwendig, vor allem wenn man jetzt nicht gerade Computer Vision Engineer bei Tesla ist
Wie sieht es hardwaremäßig bei dir aus? Als Alternative kann ich mir Ultraschallsensoren oder Lichtsensoren vorstellen. Ultraschallsensoren an der Wand und die Tonnen werden davor gestellt. Wird ein kleiner Abstand gemessen, ist die Tonne anwesend. Das funktioniert auch bei Nacht. Lichtsensoren würde ich auf dem Boden platzieren und wenn die Tonnen draufsteht und es dunkel ist, ist die Tonne anwesend. Das funktioniert aber nicht bei Nacht und im Winter wird man damit auch keinen Spaß haben.