KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
Segmentierung: ein Label für jeden Pixel
Ein Segmenter 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 in der Schale? Er tauscht die Geschwindigkeit eines Klassifikators gegen eine pixelgenaue Maske ein – die räumliche Detailtiefe, die Sie zum Messen, Zählen oder Lokalisieren von Defekten benötigen.
Der Aufbau basiert auf derselben Hierarchie wie ein Klassifikator: Types besitzen 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 (Farbpalette plus Formumrisse). Die Classes sind die Farben, aus denen Sie wählen. Die ROIs sind die Leinwände, auf die Sie jede Aufnahme malen, und jeder gemalte Pixel wird genau einer Klasse zugeordnet, einschließlich des impliziten background.
Der OV80i ist die einzige Kamera der Reihe, die Multi-Model-Rezepte unterstützt. Kombinieren Sie einen Segmenter (für Masken, Zählungen und Messungen) mit einem Klassifikator (für Urteile zu bekannten Kategorien) innerhalb einer Inspektion. Siehe Understanding Classifier für die andere Hälfte.
Die drei Konzepte
Bevor Sie ein AI-Modell trainieren können, muss die Kamera wissen, wo sie hinschauen soll, was die möglichen Ergebnisse sind und wie jeder Crop bewertet werden soll. Diese drei Fragen entsprechen drei Konzepten, die in einer ganz bestimmten Weise ineinandergreifen.
Inspection Type
A named bucket. Holds one shared dataset, one shared list of classes, and one trained AI model.
Classes
The vocabulary of possible outcomes for this inspection. Defined once on the type.
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 AI-Modell. Diesen Container stempeln Sie dann an mehreren Stellen auf das Bild – diese Stempel sind die ROIs. Jede ROI desselben Typs erbt dieselben Classes und wird vom selben Modell ausgewertet.
- Inspection Type ist der Container.
- Classes sind das Ergebnisvokabular.
- ROI ist eine Position im Bild.
Für einen Segmenter: ein Label für jeden Pixel – gemalt, nicht ausgewählt
Ein Segmenter nimmt jeden ROI-Crop und macht etwas Reichhaltigeres, als nur eine Klasse auszuwählen: Er beschriftet jeden 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 pixelgenaue Karte, die Sie messen, lokalisieren und zählen können.
Live-Beispiel: Erkennung von Oberflächendefekten
Stellen Sie sich eine gebürstete Metalloberfläche mit zwei Kratzern, einer Delle und einem Fleck vor. So würden Sie es konfigurieren:
- Type:
Surface Quality(1 ROI, Segmenter) - Classes:
background(implizit),scratch,dent,stain - ROI:
Surface_Top(deckt den inspizierbaren Bereich ab)
Statt ein einzelnes Label für den gesamten Bereich auszuwählen, malen Sie jeden Defekt mit seiner Klassenfarbe ein. Die Modellausgabe ist eine Maske, aufgeschlüsselt nach Klasse:
| Class | Coverage |
|---|---|
| background | 93,5 % |
| scratch | 3,1 % |
| dent | 1,4 % |
| stain | 2,0 % |
Drei Dinge, die Sie aus diesem Beispiel verinnerlichen sollten:
- Malen, nicht auswählen. Statt ein einzelnes Label für die gesamte ROI auszuwählen, malen Sie jeden Defekt pixelweise. Das Modell lernt die Form jeder Klasse, nicht nur, ob sie vorhanden ist.
- Die ROI ist Pixel-Territorium. Der Segmenter schaut in die ROI hinein und beschriftet jeden Pixel. Mehr Fläche = mehr Pixel zur Auswertung. Beachten Sie weiterhin die
512 × 512-Regel und kacheln Sie den Bereich in einem Raster, wenn die Fläche sehr groß ist. - Classes sind Defekttypen. Nicht Pass/Fail – jede Klasse ist eine eigenständige Sache, die Sie lokalisieren möchten:
scratch,dent,stain. Plus ein implizitesbackground.
Deep Dive: Wie sich Klassen verhalten
Jede Klasse ist eine Farbe auf der Palette
In einem Segmenter sind Klassen keine Labels, die Sie aus einem Dropdown auswählen – sie sind Farbe, die Sie auftragen. Wählen Sie eine Klasse aus, und Ihr Pinsel beginnt, Pixel in der Farbe dieser Klasse zu schreiben. Jeder Pixel im ROI wird genau einer Klasse zugeordnet, einschließlich des Standardwerts background.
- Einmal am Typ definieren. Fügen Sie eine Klasse hinzu (z. B.
burn_mark) und weisen Sie ihr eine Farbe zu. Jeder ROI dieses Typs hat diese Farbe nun auf seiner Palette verfügbar. - Background ist kostenlos. Sie malen die "hier ist nichts falsch"-Pixel nicht an. Jeder unbemalte Pixel ist automatisch
background. - Eine Klasse pro Pixel. Wenn Sie mit
dentüber einenscratchmalen, wird das Label ersetzt – Klassen können sich nicht auf einem einzelnen Pixel stapeln. - Fangen Sie einfach an. 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 auf.
Deep Dive: Wie sich ROIs verhalten
Kleinere Regionen gewinnen. Machen Sie jede ROI gerade groß genug, um das Merkmal zu enthalten. Kleinere ROIs bedeuten weniger Trainingsdaten, schnellere Iteration und genauere KI-Entscheidungen, das Merkmal dominiert den Ausschnitt, anstatt im Hintergrund zu verschwinden, und nichts wird herunterskaliert.
Trotzdem klein, trotzdem spezifisch – auch bei Segmentern
Es ist verlockend, einen riesigen ROI über eine gesamte Oberfläche zu zeichnen, aber die goldene Regel gilt weiterhin. Der ROI eines Segmenters wird genauso auf die Modelleingabe heruntergerechnet wie der eines Klassifizierers, und ein Defekt, der nur 20 Pixel breit ist, verschwindet, wenn Sie einen 2000 Pixel breiten ROI auf 512 verkleinern.
- Halten Sie jeden ROI unter 512 × 512 px. Darüber hinaus geht Detail durch das Herunterskalieren dauerhaft verloren. Kleine Defekte werden unsichtbar.
- Enge Ausschnitte bedeuten präzise Masken. Ein kleiner ROI behält jeden Pixel in voller Auflösung, sodass die Maske mit den tatsächlichen Defektgrenzen übereinstimmt.
- Große Oberfläche? Rasterkacheln. Strecken Sie nicht einen ROI über ein ganzes Panel. Legen Sie ein Raster aus kleineren ROIs an, damit jede Kachel in voller Auflösung bleibt und das Modell feine Defekte erkennen kann.
- Masken bleiben pro Aufnahme erhalten. Jedes Trainingsbild speichert seine eigene gemalte Maske für den ROI; das Modell lernt aus allen.
- Reichhaltige Ausgaben. Pro ROI erhalten Sie Pixelanzahlen pro Klasse, Bounding Boxes für jede Defektregion und messbare Flächen – genug für größenbasierte Pass/Fail-Regeln.
Datenfluss: Jede ROI liefert eine Maske zurück, kein Label
Zur Laufzeit schneidet die Kamera den ROI aus dem vollständigen Bild aus, übergibt ihn an den trainierten Segmenter und erhält eine pixelweise Vorhersage zurück – eine Maske gleicher Größe, in der jeder Pixel eine Klasse trägt. Aus dieser Maske leitet die Kamera Pixelanzahlen, Defektregionen und Bounding Boxes ab.
- Capture des vollständigen Frames mit markiertem ROI.
- Crop des ROI auf ein einzelnes Bild, mit maximal 512 × 512 px.
- Segmenter-Modell sagt mithilfe einer Encoder-Decoder-Architektur eine Klasse für jeden Pixel voraus.
- Mask-Ausgabe ist eine farbige Pixelkarte plus Pixelanzahlen pro Klasse plus Bounding Boxes für jede zusammenhängende Region. Pass/Fail-Regeln laufen darauf basierend im IO Block.
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 verfügen über die exakte Form und Position jeder Klasse, was bedeutet, dass Sie Messungen, Zählungen, Abstände und räumliche Beziehungen ableiten können. Dies eröffnet eine ganze Kategorie von Inspektionen, die nichts mit "Kratzer finden" zu tun haben — und derselbe Segmenter kann sie alle bedienen.
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.
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.
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.
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.
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.
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äufiger Fehler: Trainieren Sie in dem Maßstab, in dem Sie inspizieren werden
Ein Segmenter lernt nur die Größe und Textur der Defekte, die ihm gezeigt wurden. Trainieren Sie ihn auf kleine Verunreinigungen, und ein großes Stück derselben Defektklasse wird oft mit nur seinen Kanten oder verstreuten Bereichen hervorgehoben durch die Linie kommen — der Großteil des Defekts bleibt unmaskiert.
Wenn Ihr Trainingsdatensatz nur kleine Beispiele eines Defekts enthält, behandelt das Modell die große Version als "größtenteils Hintergrund mit ein paar kleinen defektförmigen Bereichen". Die Maske wirkt fleckig oder markiert nur Kanten/Ecken des tatsächlichen Defekts, anstatt ihn vollständig zu erfassen.
Lösung: Beziehen Sie Trainingsbeispiele ein, die den gesamten Größenbereich abdecken, den Sie auf der Linie erwarten. Eine Handvoll Aufnahmen großer Verunreinigungen zusätzlich zu Ihren kleinen reicht in der Regel aus. Dasselbe Prinzip gilt für Textur- und Farbvariationen — trainieren Sie mit der Vielfalt, die Sie in der Produktion sehen werden.
Sie haben keine Proben großer Defekte? Verwenden Sie das Defect Creator Studio, um synthetische Trainingsbilder desselben Defekts in verschiedenen Größen, Positionen und Ausrichtungen zu erzeugen — Sie müssen nicht warten, bis eine echte große Verunreinigung die Linie passiert.
Setup-Zusammenfassung
Eine schnelle Checkliste vor dem Training. Wenn jeder dieser Punkte erfüllt ist, hat Ihr Segmenter eine solide Grundlage.
- Ein Inspection Type pro Oberfläche. Sie inspizieren zwei verschiedene Materialien oder Defektfamilien? Geben Sie jedem seinen eigenen Typ, damit jeder seine eigenen Klassen, seinen eigenen Datensatz und sein eigenes Modell erhält.
- Klassen repräsentieren Defekttypen, nicht Schweregrade.
scratch,dent,stain— jeweils eine eigenständige visuelle Erscheinung. Schweregrad und Pass/Fail ergeben sich nachgelagert aus den Pixelzahlen der Maske. - Hintergrund ist implizit. Sie malen oder labeln niemals "gute" Pixel. Alles Unbemalt gehört zu
background. - ROIs durchdacht dimensionieren. Decken Sie den interessierenden Bereich ab, bleiben Sie aber unter 512 × 512 px pro ROI. Verwenden Sie Grid-Tiling, wenn die Oberfläche größer ist.
- Jeden sichtbaren Defekt einmalen. Übersehene Defekte in den Trainingsdaten lehren das Modell, dass sie Hintergrund sind — die schlechteste mögliche Lektion für eine Qualitätsprüfung.
- Trainingsdaten decken den gesamten Bereich der Defektgrößen ab, den Sie in der Produktion erwarten (siehe Hinweis oben). Ein Modell, das auf kleinen Beispielen trainiert wurde, lässt sich nicht auf große verallgemeinern.
- Beginnen Sie mit 10 bis 15 Bildern pro Klasse. Trainieren, Live-Vorschau ausführen, gezielt Bilder hinzufügen, bei denen die Maske falsch ist, neu trainieren. Zwei bis vier Iterationen sind typisch.
Wie geht es weiter
- Understanding Classifier, die Schwesterseite zu Dropdown-Auswahl-Modellen.
- Regions of Interest (ROIs), der praktische Leitfaden zum Zeichnen von ROIs.
- Training Your AI, der Labeling- und Trainings-Workflow.