Zum Inhalt springen

Semantic Segmentation mit Vision Foundation Models - ein praktischer Benchmark

Wie viele annotierte Bilder braucht ein Segmentierungsmodell?

Mit 64 annotierten Bildern erreicht ein angepasstes Foundation Model rund 92 % des Werts mit allen Trainingsdaten (Makro-mIoU, Val. binär, Forest UAV).

Der offene Webarchiv-Index Common Crawl zählt über 250 Milliarden Seiten, der Bilddatensatz LAION-5B 5,85 Milliarden Bild-Text-Paare. Auf solchen Beständen entstehen Foundation Models, vortrainierte Bildmodelle wie DINOv3 (1,7 Milliarden Trainingsbilder) oder die Segment-Anything-Reihe (gestartet mit 1,1 Milliarden Masken auf 11 Millionen Bildern), die ihre Labore frei veröffentlichen. Was in diesem Vortraining steckte, ist jedoch teils unveröffentlicht und von aussen nicht nachprüfbar.

Diese Arbeit prüft das mit einem Benchmark über acht Datensätze, sechs öffentliche und zwei private, die sicher in keinem Webtraining lagen. Wir messen, wie weit solche Modelle bei semantischer Segmentierung tragen, also der Zuordnung einer Klasse zu jedem Bildpunkt (Pixel), und vergleichen sie mit klassisch trainierten Netzen.

Das Beispiel der Seite: links das Quellbild aus Forest UAV, in der Mitte die von Hand erstellte Referenzannotation (blau überlagert), rechts die echte Vorhersage des angepassten Modells (orange überlagert).

Die Entscheidung in 60 Sekunden

Für ein neues Segmentierungsproblem stehen drei Wege zur Wahl: Prompten (sofort einsetzbar, in Spezialdomänen begrenzt), Anpassen (LoRA macht nur 0,55 % der Parameter trainierbar) oder klassisches Trainieren (braucht deutlich mehr annotierte Bilder, bleibt bei vollem Datenbestand die Referenz).

Drei Paradigmen nebeneinander: SAM3 verarbeitet Bild und Text-Prompt mit eingefrorenen Encodern und Decoder ohne annotierte Bilder; SegDINO nutzt einen eingefrorenen Encoder mit kleinem trainierbarem Decoder und wenigen annotierten Bildern; ein klassisch trainiertes Netz trainiert Encoder und Decoder vollständig mit vielen annotierten Bildern.

Wie wir Qualität messen

Die Kennzahl des Benchmarks ist fg-Makro-mIoU (mIoU: mean Intersection over Union), die Überlappung von Modellvorhersage und Referenzannotation, gemittelt nur über die Vordergrundklassen. Der Hintergrund dominiert die Bilder und bleibt darum aussen vor.

Jede Zahl dieser Seite trägt zusätzlich eines von drei Auswertungsetiketten, die nie gemischt werden: Benchmark (volle Testmenge, Kachelung, thresholded_argmax, die Hauptkonvention des Projekts), Val. binär (Validierungsmenge, eine Vordergrundklasse gegen Hintergrund, Konvention der Dateneffizienz-Reihen) oder Val. Mehrklassen (Validierungsmenge, alle Klassen, Konvention der klassischen Trainingsläufe). Kachelung kostet rund 12 % relativ, und zwischen Benchmark und Val. binär liegen 6–9 %; solche Unterschiede kehren Ranglisten um. Darum vergleichen wir Zahlen aus verschiedenen Etiketten nicht miteinander.

Schema der Metrik fg-Makro-mIoU: Vorhersage- und Referenzmaske als Pixelraster, ihre Überlagerung mit markierter Schnittmenge, daneben der Bruch IoU gleich Schnittmenge durch Vereinigungsmenge; gemittelt wird nur über die Vordergrundklassen.
Werte je Klasse für «Perfekte Vorhersage», vorberechnet aus der Messfixture (p6.metrics.segmentation, js/metricfixture.js). Der Browser rechnet nicht live.
KlasseIoU
Hintergrund1,0000
Nadelbäume1,0000
Weg1,0000
fg-Makro-mIoU (nur Vordergrund)1,0000
Makro-mIoU (inkl. Hintergrund)1,0000

Der Weg vom Bild zur Maske

Zehn Schritte führen vom Drohnenbild zur bewerteten Maske. Mit JavaScript bleibt die Bühne stehen und die Animation folgt dem Scrollen; die Schrittleiste springt direkt zu jedem Schritt. Ohne JavaScript stehen alle zehn Schritte untereinander.

1Quellbild

Ein echter Frame aus dem Projektdatensatz Forest UAV: eine Drohnenaufnahme mit 11 annotierten Klassen. Für den Rechner ist er eine Zahlenmatrix, drei Werte je Pixel.

Zustand 1: der echte Quellframe, daneben ein 8 mal 8 Pixel grosser Ausschnitt mit den Rohwerten eines Pixels und die Eckdaten des Datensatzes. Forest UAV, seq1 / Frame 000000 8 × 8 Pixel an der Baumkronen-Grenze R 33 G 39 B 31 Rohwerte des Pixels Datensatz: Forest UAV Frame: seq1 / 000000 Ausschnitt: 432 × 258 Pixel 11 annotierte Klassen Referenzannotation vorhanden

2Vorverarbeitung

Das Verfahren ist für alle Modelle gleich: normalisieren mit ImageNet-Statistik, dann skalieren. Die Zielgrösse ist es nicht: SAM3 erwartet 1008 × 1008, segdino-mlp Vielfache von 16, die supervised Netze 512 × 512-Kacheln.

Zustand 2: dasselbe Helligkeitsraster vor und nach der Normalisierung, dazwischen der Normalisierungs-Schritt; rechts die drei Zielgrössen der Modellfamilien massstabsgetreu. Forest UAV, seq1 / Frame 000000 Werte 0 … 255 Normalisieren ImageNet-Statistik Werte ca. −2,1 … +2,6 gleiches Muster, nur die Skala wechselt SAM3 1008 × 1008 supervised 512 × 512 segdino ×16 (z. B. 256) Gleiches Verfahren, drei Zielgrössen.

3Kachelung

Grosse Bilder werden in überlappende Kacheln zerlegt; wie gekachelt wird, ist Teil des Messprotokolls. Kachelung kostet im Projekt rund 12 % relativ (Messergebnis, siehe Ergebnisse).

Zustand 3: das Foto mit dem massstabsgetreuen Raster der sechs überlappenden 512er-Kacheln; daneben zwei Kacheln, deren Überlappungsband gelb hervorgehoben ist, und die echten Kachelwerte beider Modellfamilien. Forest UAV, seq1 / Frame 000000 Kachelraster massstabsgetreu: 3 × 2 Kacheln auf 1280 × 768 Pixeln Überlappungsband, 64 px SUPERVISED UND FROZEN ENCODER 512 × 512 px, 64 px Überlappung SAM3 1008 × 1008 px, 336 px Überlappung SAM3: 2 × 1 Kacheln auf diesem Frame Wie gekachelt wird, verändert die gemessene Qualität: die Konvention gehört zum Messprotokoll.

4Encoder

Jede Kachel durchläuft den Merkmalsextraktor (Encoder). Seine Basisgewichte sind eingefroren; LoRA trainiert kleine Adaptermatrizen in seinem Innern, 0,553 % der Parameter. Klassische Netze trainieren den Encoder dagegen ganz mit.

Zustand 4: eine echte Kachel läuft in den schraffierten, eingefrorenen Encoder; in seinem Innern liegt der kleine trainierbare LoRA-Adapter, heraus kommt ein Raster von Merkmals-Tokens (Schema). Forest UAV, seq1 / Frame 000000 256er-Ausschnitt Encoder Basisgewichte eingefroren LoRA-Adapter trainierbar Merkmals-Tokens (Schema): ein Vektor je Rasterzelle LoRA: r = 4, α = 8 · 0,553 % der Parameter trainierbar 4'675'584 von 845'051'958 Parametern Schraffur = eingefroren

5Merkmale

Der Encoder liefert Merkmalskarten: je Rasterzelle einen Merkmalsvektor mit hunderten Kanälen. Wie grob dieses Raster ist, begrenzt die erreichbare Qualität nach oben.

Zustand 5: links eine echte Helligkeitsprobe des Frames als 16-mal-16-Raster, daneben der schematische Kanal-Streifen einer Zelle, rechts der echte Flächenanteil der Klasse Nadelbäume je Zelle und die daraus berechnete Qualitäts-Obergrenze. Forest UAV, seq1 / Frame 000000 ein Kanal, echt: Helligkeitsprobe des Frames, einer von hunderten C Kanäle je Zelle (Schema) Flächenanteil Nadelbäume je Zelle, aus der Referenzannotation berechnet 0 1 dunkler = höherer Wert 112 Zellen rein Hintergrund · 2 rein Nadelbäume · 142 gemischt Obergrenze auf diesem Raster: IoU 0,7162, egal wie gut das Modell ist.

6Klassenscores

Der Ausgabeteil (Decoder) liefert je Klasse ein Score-Feld; nach der Sigmoid-Funktion sind das Wahrscheinlichkeiten zwischen 0 und 1. Entschieden ist damit noch nichts.

Zustand 6: drei erfundene Score-Felder für die drei grössten Klassen dieses Frames, dahinter der Fächer aller 11 Klassen, rechts die Sigmoid-Kurve, die Scores in Wahrscheinlichkeiten zwischen 0 und 1 übersetzt. Forest UAV, seq1 / Frame 000000 Himmel Nadelbäume Bodenvegetation erfundene Score-Felder (Schema); Klassen echt: die drei grössten 11 Klassen ⇒ 11 Felder 0 1 0,5 Score → Sigmoid → Wahrscheinlichkeit in [0, 1] Nur Wahrscheinlichkeiten, noch keine Entscheidung.

7Zusammensetzen

Die Score-Felder der überlappenden Kacheln werden zum Gesamtbild zusammengesetzt; in den Überlappungszonen mittelt das Protokoll die Wahrscheinlichkeiten (average_probabilities), noch vor jeder Entscheidung.

Zustand 7: sechs Kachel-Score-Felder sitzen auf ihren echten Positionen und werden zu einem Score-Feld fürs ganze Bild gemittelt; ein Zoom zeigt, wie zwei widersprechende Kachelwerte 0,58 und 0,38 zum Mittel 0,48 werden. Forest UAV, seq1 / Frame 000000 sechs Kachel-Felder (512/64), Schema ein Score-Feld fürs ganze Bild (Schema); Nähte weggemittelt Kachel A: 0,58 Kachel B: 0,38 Mittel: 0,48 average_probabilities im Überlappungsband Erst mitteln, dann entscheiden.

8Entscheidung

Erst auf dem zusammengesetzten Feld fällt die Entscheidung: pro Pixel gewinnt die Klasse mit der höchsten Wahrscheinlichkeit; liegt sie unter 0,5, wird Hintergrund vergeben (thresholded_argmax, das Auswertungsprotokoll des Benchmarks).

Zustand 8: das gemittelte Score-Feld läuft durch die Entscheidungsregel thresholded_argmax; heraus kommt eine entschiedene Karte, in der Zellen ab 0,5 orange als Nadelbäume markiert sind, die Beispielzelle mit 0,48 fällt an den Hintergrund. Forest UAV, seq1 / Frame 000000 gemitteltes Score-Feld (Schema) pro Pixel: argmax über 11 Wahrscheinlichkeiten; Maximum < 0,5 ⇒ Hintergrund Orange = Nadelbäume 0,5 0 1 0,48 < 0,5 ⇒ Hintergrund Die Schwelle 0,5 ist Protokollentscheid, kein Naturgesetz.

9Vergleich

Die Modellvorhersage wird mit der Referenzannotation der Datensatz-Autoren verglichen: IoU Nadelbäume 0,8452 auf diesem Frame, einem Trainingsbild; darum ist es kein Val-Wert. Die Kennzahl des Benchmarks ist fg-Makro-mIoU.

Zustand 9: das Foto mit der blauen Referenzannotation, daneben die orange Modellvorhersage; rechts die aus beiden Masken berechnete Vergleichskarte, in der Tinte Übereinstimmung, Blau nur Referenz und Orange nur Modell bedeutet, dazu die echten Kennzahlen. Forest UAV, seq1 / Frame 000000 REFERENZANNOTATION MODELLVORHERSAGE beide sagen Nadelbaum (Schnittmenge) nur Referenzannotation nur Modellvorhersage keine von beiden IoU Nadelbäume auf diesem Frame 0,8452 fg-Makro-mIoU 0,6155 TRAININGSBILD · KEIN VAL-WERT

10Verzweigung: dicht oder promptbasiert

Nach dem gemeinsamen Weg trennen sich die Betriebsarten: dichte Netze sagen alle Klassen in einem Durchlauf voraus, SAM3 berechnet die Bildmerkmale einmal und decodiert je Text-Prompt eine Maske.

Zustand 10: links der dichte Weg, ein Netz sagt alle 11 Klassen in einem Durchlauf voraus; rechts der promptbasierte Weg, der die Bildmerkmale einmal berechnet und je Text-Prompt eine Maske decodiert, gemessen 16,4 Millisekunden pro zusätzlichem Prompt. Forest UAV, seq1 / Frame 000000 DICHT (Z. B. U-NET++) Netz 11 Klassen, ein Durchlauf; Konzept steckt in den trainierten Gewichten PROMPTBASIERT (SAM3) Bildmerkmale einmal berechnet «Nadelbäume» «Zaun» Decoder je Prompt eine Maske 16,4 ms je zusätzlichem Prompt Forest UAV val, synchronized_prompt_forward_only Kacheln, Mitteln und Entscheidung sind auf beiden Wegen identisch. Neue Klasse = neuer Prompt, kein neues Training.

Die Architekturen dahinter

Der Bericht stellt sechs Bauformen für dieselbe Aufgabe auf; die Schemata zeichnen sie mit gemeinsamem Block-Vokabular. Schraffierte Blöcke sind vortrainiert und bleiben unverändert, weisse werden trainiert. Jede Detailansicht lässt sich per Enter oder Klick Bestandteil für Bestandteil erkunden.

Architektur U-Net++: Encoder und Decoder mit dichten Skip-Verbindungen, vollständig trainierbar.

U-Net++ ResNet-34

CNN-Baseline mit dichten Skip-Verbindungen, verbreitet in der medizinischen Bildanalyse. Wird pro Datensatz vollständig trainiert.

Quelle: U-Net++, arXiv:1807.10165, verlinkt im Abschnitt Quellen.

Datensätze und Merkmalsraum

Der Benchmark deckt acht reale Datensätze aus vier Domänen ab; zwei sind privat und erscheinen ohne Bildmaterial. Die Karte zeigt jedes Bild als Embedding (DINOv3 ViT-7B/16): 984'894 von 6'215'095 Re-LAION-Webbildern als graue Wolke, dazu alle 15'106 Benchmark-Bilder, gemeinsam per LocalMAP projiziert.

Nähe bedeutet Ähnlichkeit aus Sicht des Modells, kein Qualitätsmass. Der Filter färbt den gewählten Datensatz und seine nächsten Web-Bilder (gemessen im Originalraum): Röntgen und Grundrisse haben nahe Web-Verwandte, Injection Molding und 3CAD nicht.

Merkmalsraum je Datensatz: Bildzahl der Embedding-Bank, Zentroid der normierten LocalMAP-Koordinaten, medianer Kosinusabstand zum nächsten Web-Bild (exakte Suche im Originalraum gegen alle 6'215'095 Web-Bilder) und Domäne. Die dichte Leinwand zeigt alle 15'106 Bilder; die interaktive Einzelpunkt-Ebene zeigt bis 400 je Datensatz. Die 3'021 Einzelpunkte stehen nicht als HTML-Zeilen auf der Seite; mit aktiviertem JavaScript nennt das Detailfeld unter der Grafik die Kennwerte je Datensatz.
Datensatz Bilder Zentroid x Zentroid y Kosinusabstand zum nächsten Web-Bild (Median) Domäne
3CAD2'5000,02270,47140,5577Industrie
CubiCasa2'5000,75090,72550,0854Grundrisse
Distal Radius7290,12530,22720,0557Gesundheit
Forest UAV2'5000,31760,09650,3311UAV
FracAtlas2'5000,10290,24800,1396Gesundheit
Injection Molding2210,12040,14900,6067Industrie
MADOS2'5000,23880,11780,5178UAV
TE23D1'6560,61800,24610,3984UAV

Quelle: atlas_web_export_exact.npz und data/atlas/ (dichte Wolke); vollständige Provenienz in den Datei-Metas.

Quellen und Referenzen

Technische Schlüsselbegriffe

  • Semantische SegmentierungZuordnung einer Klasse zu jedem Pixel eines Bildes.
  • Foundation ModelAuf sehr grossen Datenmengen vortrainiertes Modell, das ohne oder mit wenig Anpassung auf neue Aufgaben übertragen wird.
  • Zero-Shot / Few-ShotAnwendung eines Modells ganz ohne beziehungsweise mit sehr wenigen annotierten Beispielen der Zielaufgabe.
  • LoRANachtraining, bei dem nur kleine Zusatzmatrizen lernen, hier 0,55 % der Parameter.
  • fg-Makro-mIoUDie Hauptkennzahl des Benchmarks: Überlappungsmass zwischen Modellvorhersage und Referenzannotation, gemittelt nur über die Vordergrundklassen.
  • Makro-mIoU (inkl. Hintergrund)Mittelt auch über den Hintergrund und bläht Enthaltung auf rund 0,5 auf; wird nie mit fg-Makro-mIoU vermischt.
  • Benchmark / Val. binär / Val. MehrklassenDie drei Auswertungsetiketten des Projekts; jede Zahl trägt eines davon.
  • ReferenzannotationVon Menschen erstellte Zielmaske, nie eine Modellausgabe.
  • ModellvorhersageVom Modell erzeugte Maske; auf dieser Seite immer als solche beschriftet.

Team

Gregor Hammer, Student
Bachelor of Science FHNW in Data Science & Artificial Intelligence

Christof Weickhardt, Student
Bachelor of Science FHNW in Data Science & Artificial Intelligence

Betreuung
Prof. Dr. Susanne Suter
Dr. Moritz Kirschmann

Institut für Data Science, FHNW
Projektnummer 26FS_I4DS27