Segmentierung
Ein Etikett je Pixel: semantische, Instanz- und panoptische Segmentierung, ihre Kennzahlen und der Grund, warum sie so teuer in der Annotation ist.
Die Idee
Statt ein Rechteck um ein Objekt zu legen, bekommt jeder einzelne Bildpunkt ein Etikett. Das Ergebnis ist eine Art Malbuch: alle Pixel, die zu einer Kategorie gehören, tragen dieselbe Farbe.
Die drei Varianten
| Variante | Was unterschieden wird | Beispiel |
|---|---|---|
| Semantisch | Nur Klassen | Alle Rostflächen zusammen |
| Instanz | Einzelne Objekte je Klasse | Jede Palette einzeln |
| Panoptisch | Beides gleichzeitig | Einzelne Fahrzeuge plus Fahrbahn als Fläche |
Auswertung von Hand
import numpy as np
def dice_iou(pred, wahr, eps=1e-7):
pred = pred.astype(bool); wahr = wahr.astype(bool)
schnitt = np.logical_and(pred, wahr).sum()
dice = (2 * schnitt + eps) / (pred.sum() + wahr.sum() + eps)
iou = (schnitt + eps) / (np.logical_or(pred, wahr).sum() + eps)
return round(float(dice), 4), round(float(iou), 4)
wahr = np.zeros((100, 100), bool); wahr[30:70, 30:70] = True # 1600 Pixel
pred = np.zeros((100, 100), bool); pred[35:75, 30:70] = True # verschoben
print(dice_iou(pred, wahr)) # (0.875, 0.7778)Dieselbe Verschiebung um fünf Pixel kostet bei einem Objekt von 40 mal 40 Pixeln rund 22 Prozent IoU. Bei einem Objekt von 400 mal 400 Pixeln wären es unter drei Prozent. Deshalb ist eine Segmentierungskennzahl ohne Angabe der Objektgröße schwer einzuordnen.
Die Architekturen
| Architektur | Kern | Wofür |
|---|---|---|
| U-Net | Encoder-Decoder mit Übersprüngen | Medizin, Industrie, kleine Datensätze |
| DeepLab | Erweiterte Faltungen, ASPP | Szenen mit vielen Größenordnungen |
| Mask R-CNN | Erkennung plus Maskenkopf | Instanzsegmentierung |
| SAM und Nachfolger | Promptbare Segmentierung | Annotation beschleunigen, Zero-Shot |
Die Kennzahlen
Die letzte Zeile zeigt, dass beide Maße dieselbe Ordnung erzeugen. Sie sind monoton ineinander überführbar, weshalb ein Vergleich zwischen Veröffentlichungen nur bei gleicher Kennzahl zulässig ist.
Die Verlustfunktion bei stark unausgewogenen Masken
Wenn das gesuchte Objekt ein Prozent der Bildfläche einnimmt, erreicht eine Vorhersage „alles Hintergrund" 99 Prozent Pixelgenauigkeit und einen Dice von null. Die übliche Lösung ist ein zusammengesetzter Verlust:
Kosten und Alternativen
Eine sorgfältige Instanzannotation kostet 3 bis 15 Minuten je Bild. Für 5.000 Bilder sind das 250 bis 1.250 Personenstunden, also ein halbes bis ganzes Personenjahr. Drei Wege, das zu senken:
- Promptbare Modelle: Ein Klick erzeugt die Maske, ein Mensch korrigiert. Faktor fünf bis zehn.
- Schwach überwacht: Nur Boxen annotieren und daraus Masken ableiten. Güte etwa 5 bis 10 Punkte unter voller Annotation.
- Synthetisch: Objekte auf echte Hintergründe rendern. Bei Industrieteilen mit bekannter CAD-Geometrie oft ausreichend, siehe synthetische Daten.
Passende Kurse und Quellen
Segment Anything
Segmentierung ohne aufgabenspezifisches Training, gesteuert über Punkte und Kästen. Verändert die Vorarbeit in der Bildanalyse deutlich.
Für Bildanalyse mit wenig eigenen Daten; verändert die Vorarbeit spürbar.
U-Net
Segmentierung mit wenigen Beispielen, entstanden in der Bildgebung der Medizin. Bis heute die erste Wahl für Segmentierung.
Für Segmentierung mit wenigen Beispielen; bis heute die erste Wahl.