Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

Segmentation: ein Label für jedes Pixel

Ein Segmentierer betrachtet einen zugeschnittenen Bereich und beantwortet eine umfassendere Frage: nicht nur was hier ist, sondern wo und wie viel. Wo genau befindet sich der Kratzer? Wie groß ist der Fleck? Wie viele Tabletten liegen im Fach? Er tauscht die Geschwindigkeit eines Klassifikators gegen eine pixelweise Maske – die räumliche Detailtiefe, die Sie zum Messen, Zählen oder Lokalisieren von Defekten benötigen.

Der Aufbau basiert auf derselben Hierarchie wie bei einem Klassifikator: Types enthalten Classes, und Types werden als ROIs auf Bilder gestempelt.

Stellen Sie es sich wie ein Malen-nach-Zahlen-Set vor. Der Inspection Type ist das Set (Palette plus Formumrisse). Die Classes sind die Farben, aus denen Sie auswählen. Die ROIs sind die Leinwände, auf die Sie jede Aufnahme malen, und jedes bemalte Pixel wird genau einer Klasse zugeordnet – einschließlich des impliziten background.

Die drei Konzepte

Bevor Sie ein KI-Modell trainieren können, muss die Kamera wissen, wo sie hinschauen soll, welche möglichen Ergebnisse es gibt und wie jeder Bildausschnitt bewertet werden soll. Diese drei Fragen entsprechen drei Konzepten, die auf ganz bestimmte Weise ineinander verschachtelt sind.

01 / Concept

Inspection Type

A named bucket. Holds one shared dataset, one shared list of classes, and one trained AI model.

02 / Concept

Classes

The vocabulary of possible outcomes for this inspection. Defined once on the type.

03 / Concept

Region of Interest (ROI)

A rectangle drawn on the image. Many ROIs can share one type and, therefore, one dataset and one model.

Das mentale Modell: ein Type besitzt die Classes und die ROIs

Ein Inspection Type ist ein Container. Er enthält einen gemeinsamen Datensatz, eine gemeinsame Liste von Classes und ein trainiertes KI-Modell. Diesen Container stempeln Sie dann an mehreren Stellen auf das Bild – diese Stempel sind die ROIs. Jede ROI desselben Types erbt dieselben Classes und wird vom selben Modell ausgewertet.

INSPECTION TYPEone bucket1 dataset · 1 model · N ROIsCLASSES · DEFINED ONCEclass_aclass_bclass_c+ addAdd or edit classes here andevery ROI on this type updates.Single source of truth.ROIs · PLACED ON IMAGEroi_1roi_2roi_3roi_4roi_5+ add ROIEach ROI is a tight crop at a specificlocation, evaluated by the same model.All share one dataset.classes applied to ROIs
  • Inspection Type ist der Container.
  • Classes sind das Ergebnis-Vokabular.
  • ROI ist eine Position im Bild.

Bei einem Segmentierer: ein Label für jedes Pixel – gemalt, nicht ausgewählt

Ein Segmentierer nimmt jeden ROI-Ausschnitt und tut etwas Umfassenderes als nur eine Klasse auszuwählen: Er labelt jedes Pixel. Anstatt eine Dropdown-Antwort auszuwählen, malen Sie Defekte auf die Trainingsbilder, und das Modell lernt die Form jeder Klasse. Die Ausgabe pro ROI ist eine Maske – eine pixelweise Karte, die Sie messen, lokalisieren und zählen können.

Beispiel aus der Praxis: Oberflächendefekt-Erkennung

Stellen Sie sich eine gebürstete Metalloberfläche mit zwei Kratzern, einer Delle und einem Fleck vor. So würden Sie es konfigurieren:

Surface_Top · segmentbrush · scratch
  • Type: Surface Quality (1 ROI, Segmentierer)
  • Classes: background (implizit), scratch, dent, stain
  • ROI: Surface_Top (deckt den prüfbaren Bereich ab)

Anstatt ein Label für die gesamte Region auszuwählen, malen Sie jeden Defekt mit seiner Klassenfarbe ein. Die Modellausgabe ist eine Maske, aufgeschlüsselt nach Klasse:

ClassAbdeckung
background93,5 %
scratch3,1 %
dent1,4 %
stain2,0 %

Drei Dinge, die Sie aus diesem Beispiel verinnerlichen sollten:

  1. Malen, nicht auswählen. Anstatt ein Label für die gesamte ROI auszuwählen, malen Sie jedes Defektpixel einzeln. Das Modell lernt die Form jeder Klasse – nicht nur, ob sie vorhanden ist.
  2. Die ROI ist Pixel-Territorium. Der Segmentierer schaut in die ROI hinein und labelt jedes Pixel. Mehr Fläche = mehr Pixel zur Auswertung. Beachten Sie weiterhin die 512 × 512-Regel und nutzen Sie Grid-Tiling, wenn der Bereich sehr groß ist.
  3. Classes sind Defekttypen. Kein Pass/Fail – jede Klasse ist ein eigenständiges Element, das Sie lokalisieren möchten: scratch, dent, stain. Plus ein implizites background.

Deep Dive: Wie Klassen sich verhalten

Jede Klasse ist eine Farbe auf der Palette

In einem Segmenter sind Klassen keine Labels, die Sie aus einem Dropdown auswählen, sondern Farbe, die Sie auftragen. Wählen Sie eine Klasse aus, und Ihr Pinsel beginnt, Pixel in der Farbe dieser Klasse zu zeichnen. Jedes Pixel in der ROI wird genau einer Klasse zugewiesen, einschließlich der Standardklasse background.

CLASS PALETTEbackgroundscratchdentstain+ add classpick a class →brush loads its colorPAINT IN THE ROIeverything unpainted = background
  1. Einmalig am Typ definieren. Fügen Sie eine Klasse hinzu (z. B. burn_mark) und weisen Sie ihr eine Farbe zu. Jede ROI dieses Typs hat diese Farbe nun auf ihrer Palette verfügbar.
  2. Background ist gratis. Sie müssen die "hier ist nichts falsch"-Pixel nicht bemalen. Jedes nicht bemalte Pixel ist automatisch background.
  3. Eine Klasse pro Pixel. Wenn Sie mit dent über einen scratch malen, wird das Label ersetzt – Klassen können sich nicht auf einem einzelnen Pixel überlagern.
  4. Einfach anfangen. Zwei oder drei Defektklassen schneiden in der Regel besser ab als sechs vage. Führen Sie ähnliche Defekte zusammen, bis das Modell Schwierigkeiten hat, sie zu unterscheiden, und teilen Sie sie dann wieder auf.

Deep Dive: Wie ROIs sich verhalten

Die goldene Regel für ROIs

Kleinere Regionen gewinnen. Machen Sie jede ROI gerade groß genug, um das Merkmal zu erfassen. Kleinere ROIs bedeuten weniger Trainingsdaten, schnellere Iteration und genauere AI-Entscheidungen – das Merkmal dominiert den Ausschnitt, statt im Hintergrund unterzugehen, und nichts wird herunterskaliert.

Klein, spezifisch – auch bei Segmentern

Es ist verlockend, eine einzige riesige ROI über eine ganze Oberfläche zu zeichnen, aber die goldene Regel gilt trotzdem. Die ROI eines Segmenters wird genauso auf die Modell-Eingabegröße herunterskaliert wie die eines Klassifikators, und ein Defekt, der nur 20 Pixel breit ist, verschwindet, wenn Sie eine 2000 Pixel breite ROI auf 512 reduzieren.

GOOD · TIGHT ROIfull resolution preservedHUGE SURFACE · GRID TILEeach tile stays full-resPER-ROI OUTPUTMASK · Surface_Topbackground93.5%scratch3.1%dent1.4%stain2.0%largest regionscratch · 280 × 38 pxdefect count3
  1. Halten Sie jede ROI unter 512 × 512 px. Darüber hinaus gehen Details durch das Herunterskalieren dauerhaft verloren. Kleine Defekte werden unsichtbar.
  2. Enge Ausschnitte bedeuten präzise Masken. Eine kleine ROI behält jedes Pixel in voller Auflösung, sodass die Maske mit den tatsächlichen Defektkanten übereinstimmt.
  3. Große Fläche? Als Raster aufteilen. Strecken Sie nicht eine ROI über eine ganze Platte. Legen Sie ein Raster aus kleineren ROIs an, sodass jede Kachel in voller Auflösung bleibt und das Modell feine Defekte erkennen kann.
  4. Masken werden pro Aufnahme gespeichert. Jedes Trainingsbild speichert seine eigene gemalte Maske für die ROI; das Modell lernt aus allen.
  5. Reichhaltige Ausgaben. Pro ROI erhalten Sie Pixelanzahlen pro Klasse, Bounding Boxes für jede Defektregion und messbare Flächen – ausreichend für größenbasierte Pass/Fail-Regeln.

Datenfluss: Jede ROI liefert eine Maske zurück, kein Label

Zur Laufzeit schneidet die Kamera die ROI aus dem Gesamtbild aus, übergibt sie an den trainierten Segmenter und erhält eine pixelweise Vorhersage zurück – eine Maske gleicher Größe, in der jedes Pixel eine Klasse trägt. Aus dieser Maske leitet die Kamera Pixelanzahlen, Defektregionen und Bounding Boxes ab.

1 · CAPTUREFull frame + ROI2 · CROP≤ 512 × 512 px crop3 · SEGMENTER MODELSurface Quality · trainedencode → bottleneck → decodepredicts a class per pixel4 · MASK OUTPUTscratch3.1%dent1.4%stain2.0%total defect6.5%ruleFAIL > 2%
  1. Capture des gesamten Frames mit markierter ROI.
  2. Crop der ROI auf ein einzelnes Bild, bei oder unter 512 × 512 px.
  3. Segmenter-Modell sagt für jedes Pixel eine Klasse voraus, unter Verwendung einer Encoder-Decoder-Architektur.
  4. Masken-Ausgabe ist eine farbige Pixelkarte plus Pixelanzahlen pro Klasse, plus Bounding Boxes für jede zusammenhängende Region. Pass/Fail-Regeln werden im IO Block auf Basis dieser Zahlen ausgeführt.

Werden Sie kreativ: Eine Maske ist ein geometrisches Objekt

Sobald der Segmenter eine Maske zurückgibt, sind Sie nicht auf Pass/Fail beschränkt. Sie kennen die exakte Form und Position jeder Klasse, woraus sich Messungen, Anzahlen, Abstände und räumliche Beziehungen ableiten lassen. Das eröffnet eine ganze Kategorie von Inspektionen, die mit "Kratzer finden" nichts mehr zu tun haben — und derselbe Segmenter kann sie alle bedienen.

AREA4.8 mm²
01 / Measure

Area & coverage

Pixel counts become mm² on a calibrated camera. Set pass/fail in real-world units, "reject if stain > 3 mm²", instead of fuzzy percentages.

1234COUNT · scratch4
02 / Count

Distinct blobs

Four small pits tell a different story than one big one. Count connected regions per class to flag defect frequency, not just total coverage.

L = 52 mmWL × W52 × 4 mm
03 / Measure

Dimensions & shape

Length, width, aspect ratio, orientation, all fall out of the mask. Flag long scratches, ignore micro ones. Or flag round dents and ignore elongated ones.

24.6 mmDIST · blob → blob24.6 mm
04 / Relate

Blob-to-blob distance

Euclidean gap between two painted regions, centroid-to-centroid or nearest-edge. Useful for component spacing, pin pitch, weld-to-weld gaps, or detecting defect clusters.

edge8.2 mmDIST · defect → edge8.2 mm
05 / Relate

Distance to a reference

Paint a second class for your reference (edge, fiducial, adjacent component) then measure how far the defect sits from it. A defect 8 mm inside might be fine; 0.5 mm from the edge might be a reject.

COUNT · pills12
06 / Expand

Not just defects

Paint whatever you want to find: pills in a blister, screws in a tray, weld beads, gaps, fiducials, cells on a slide. Segmentation is a general-purpose scalpel, not a defect-only tool.

Häufige Falle: Trainieren Sie in dem Maßstab, in dem Sie auch inspizieren

Ein Segmenter lernt nur die Größe und Textur der Defekte, die ihm gezeigt wurden. Trainieren Sie ihn auf kleine Verunreinigungen, dann wird häufig ein großes Exemplar derselben Defektklasse über die Linie laufen, bei dem nur die Kanten oder vereinzelte Flecken hervorgehoben werden — der Großteil des Defekts bleibt unmaskiert.

Das Fehlermuster "klein trainiert, groß getestet"

Wenn Ihr Trainingsdatensatz ausschließlich kleine Beispiele eines Defekts enthält, behandelt das Modell die große Variante als "überwiegend Hintergrund mit ein paar kleinen defektförmigen Flecken". Die Maske wirkt fleckig oder markiert nur Kanten/Ecken des eigentlichen Defekts, anstatt ihn vollständig abzudecken.

Lösung: Nehmen Sie Trainingsbeispiele auf, die das gesamte Spektrum der in der Linie zu erwartenden Größen abdecken. Eine Handvoll Aufnahmen großer Verunreinigungen zusätzlich zu den kleinen reicht in der Regel aus. Dasselbe Prinzip gilt für Textur- und Farbvariationen — trainieren Sie auf die Bandbreite, die Sie in der Produktion antreffen werden.

Keine Proben mit großen Defekten verfügbar? Verwenden Sie das Defect Creator Studio, um synthetische Trainingsbilder desselben Defekts in unterschiedlichen Größen, Positionen und Ausrichtungen zu erzeugen — Sie müssen nicht warten, bis eine echte große Verunreinigung über die Linie kommt.

Setup-Zusammenfassung

Eine kurze Checkliste vor dem Training. Wenn jeder dieser Punkte zutrifft, hat Ihr Segmenter eine solide Grundlage.

  • Ein Inspection Type pro Oberfläche. Sie inspizieren zwei verschiedene Materialien oder Defektfamilien? Geben Sie jeder ihren eigenen Typ, damit sie eigene Klassen, Datensätze und Modelle erhalten.
  • Klassen stehen für Defektarten, nicht für Schweregrade. scratch, dent, stain — jede ein eigenes visuelles Merkmal. Schweregrad und Pass/Fail ergeben sich nachgelagert aus den Pixelzahlen der Maske.
  • Hintergrund ist implizit. Sie malen oder labeln niemals "gute" Pixel. Alles Unbemalte gehört zu background.
  • ROIs durchdacht dimensioniert. Erfassen Sie den relevanten Bereich, bleiben Sie aber unter 512 × 512 px pro ROI. Bei größeren Oberflächen mit einem Raster kacheln.
  • Jeden sichtbaren Defekt einmalen. Übersehene Defekte in den Trainingsdaten bringen dem Modell bei, dass sie Hintergrund sind — die schlimmste Lehre für eine Qualitätsprüfung.
  • Trainingsdaten decken das gesamte Spektrum der Defektgrößen ab, die Sie in der Produktion erwarten (siehe Hinweisbox oben). Ein nur auf kleinen Beispielen trainiertes Modell generalisiert nicht auf große.
  • Beginnen Sie mit 10 bis 15 Bildern pro Klasse. Trainieren, Live-Vorschau ausführen, gezielt Bilder dort ergänzen, wo die Maske falsch ist, neu trainieren. Zwei bis vier Iterationen sind typisch.

Wie geht's weiter