# Übung 13: Instanzsegmentierung In dieser Aufgabe sollen verschiedene Instanzen von Objekten in einem binär segmentierten Bild gefunden werden. ## a) Zeilenkoinzidenzverfahren Betrachten Sie das folgende Bild und die dazugehörige Instanzsegmentierung: | Binärbild | Instanz-segmentiertes Bild | | --- | --- | | ![](data/bild.png) | ![](data/result.jpg)| Finden Sie in dem Binärbild zusammenhängende bzw. getrennte Objekte nach dem Zeilenkoinzidenzverfahren nach der foldengen Anleitung: ![](data/verfahren.png) Geben Sie dabei jedem neuen Objekt eine eigene ID und visualisieren Sie das Ergebnis. Bitte führen Sie für die Bearbeitung der Aufgabe das Skript [a.py](a.py) fort. Eine Lösung befindet sich in Datei [l_a.py](l_a.py). ## b) Watershed Algorithmus Betrachten Sie das folgende Bild und die dazugehörige Instanzsegmentierung: | RGB-Bild | Instanz-segmentiertes Bild | | --- | --- | | ![](data/students_checklist.jpg) | ![](data/students_checklist_result.jpg)| Führen Sie nun die Instanzsegmentierung mit der folgenden Anleitung selbst durch: - Binarisieren Sie das Bild, sodass der Hintergrund das Label 0 und die Sticker das Label 1 haben - Füllen Sie im Binärbild kleine Löcher und entfernen Sie kleine Regionen (Rauschen) - Erstellen Sie Seed-Punkte/Regionen, indem Sie das Binärbild stark erodieren und das Zeilenkoinzidenzverfahren (siehe oben) anwenden - "Füllen" Sie iterativ die Pixel mit dem Label 1 zu den Seedpunkten hinzu Geben Sie am Ende jedem Objekt eine eigene ID und visualisieren Sie das Ergebnis. Bitte führen Sie für die Bearbeitung der Aufgabe das Skript [b.py](b.py) fort. Eine Lösung befindet sich in Datei [l_b.py](l_b.py).