Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

Klassifizierung: ein Label pro Region

Ein Classifier betrachtet eine zugeschnittene Region und beantwortet eine einzige Frage: In welche Kategorie gehört dies? Pass oder Fail. Leer oder voll. Rot, grün oder blau. Es ist der einfachste, schnellste Inspektionstyp und die richtige Standardwahl, sofern Sie nicht wissen müssen, wo sich ein Defekt befindet.

Die Einrichtung eines Classifiers basiert auf einer einfachen Hierarchie: Types besitzen Classes, und Types werden als ROIs auf Bilder gestempelt.

Stellen Sie sich ein Stempelsystem vor. Der Inspection Type ist der Stempel selbst (das Design). Die ROIs sind die Abdrücke, die Sie auf dem Blatt machen (das Bild). Jeder Abdruck erbt dasselbe Design, dieselbe Klassenliste und dasselbe trainierte Modell.

Die drei Konzepte

Bevor Sie ein AI-Modell trainieren können, muss die Kamera wissen, wo sie suchen soll, was die möglichen Ergebnisse sind und wie jeder Crop bewertet werden soll. Diese drei Fragen entsprechen drei Konzepten, die sich auf eine ganz bestimmte Weise verschachteln.

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 AI-Modell. Sie stempeln diesen Container dann an mehreren Stellen auf das Bild — diese Stempel sind die ROIs. Jede ROI desselben Types erbt dieselben Classes und wird vom selben Modell bewertet.

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 auf dem Bild.

Für einen Classifier: ein Label pro ROI, ausgewählt aus der Klassenliste

Ein Classifier nimmt jeden ROI-Crop und stellt eine einzige Frage: Welcher Klasse sieht dies am ähnlichsten? Vorhanden oder fehlend. Pass oder Fail. Gut, zerkratzt oder gerissen. Die Ausgabe pro ROI ist ein Klassenname plus ein Confidence-Score — eine saubere kategoriale Antwort, mit der der Rest Ihrer Pipeline arbeiten kann.

Live-Beispiel: Schraubenpräsenzprüfung auf einer PCB

Betrachten Sie eine PCB mit sechs Schraubenpositionen. Vier Schrauben sind vorhanden, eine fehlt, eine ist beschädigt. So würden Sie es konfigurieren:

OV-MCU · v2Screw_1 · presentScrew_2 · absentScrew_3 · presentScrew_4 · presentScrew_5 · presentScrew_6 · damaged
  • Type: Screws (6 ROIs, Classifier)
  • Classes: present, absent, damaged
  • ROIs: Screw_1 bis Screw_6, jeweils mit einer der drei Klassen gekennzeichnet

Die Ausgabe pro ROI ist ein Label plus Confidence:

ROILabelConfidence
Screw_1present0.98
Screw_2absent0.94
Screw_3present0.97
Screw_4present0.96
Screw_5present0.95
Screw_6damaged0.82

Drei Erkenntnisse aus diesem Beispiel sollten Sie verinnerlichen:

  1. Ein Label pro ROI. Der Classifier weist jedem Crop genau eine Klasse zu — eine Dropdown-Auswahl, keine Malaufgabe. Die Ausgabe ist class_name plus ein confidence-Score.
  2. Der Type ist der Besitzer. Alle sechs ROIs teilen sich den Screws-Datensatz. Eine Bildaufnahme liefert sechs neue Trainings-Samples, und ein trainiertes Modell entscheidet für alle sechs.
  3. ROIs sind nur Positionen. Zeichnen Sie eng (unter 512 × 512 px). Verwenden Sie Duplicate, um Screw_1 → Screw_2 → Screw_3 zu stempeln — jede erbt automatisch die Klassenliste.

Vertiefung: Wie sich Classes verhalten

Classes gehören zum Type, nicht zur ROI

Dies ist das Wichtigste, was Sie verinnerlichen müssen. Classes sind eine Eigenschaft des Inspection Types, was bedeutet, dass das Hinzufügen oder Entfernen einer Klasse die Label-Optionen für jede ROI, die diesen Type verwendet, automatisch ändert.

TYPE · SCREWS · CLASSESpresentabsentdamagedstripped_headNEWAdd a class here →Screw_1LABELpresent ▾other options:· absent · damaged· stripped_head ← newScrew_2LABELabsent ▾other options:· present · damaged· stripped_head ← newScrew_3LABELpresent ▾other options:· absent · damaged· stripped_head ← new…AND EVERY OTHER ROI OF THIS TYPE
  1. Einmal definieren. Klicken Sie im Panel „Classes" auf + Add class. Geben Sie ihr einen Namen (z. B. stripped_head) und eine Farbe.
  2. Sofortige Übernahme. Die neue Klasse erscheint im Dropdown jeder ROI dieses Types. Keine Konfiguration pro ROI nötig.
  3. Bei Bedarf neu kennzeichnen. Bestehende Trainingsbilder behalten ihre Labels; Sie können jedes Bild erneut aufrufen und der neuen Klasse zuordnen.
  4. Halten Sie es kompakt. Beginnen Sie mit der kleinsten Klassenmenge, die Ihre Entscheidungen abbildet. Zwei Klassen (pass / fail) übertreffen oft fünf unscharfe.

Vertiefung: Wie sich ROIs verhalten

Die goldene Regel der ROIs

Kleinere Regionen gewinnen. Machen Sie jede ROI gerade groß genug, um das Merkmal zu enthalten. Kleinere ROIs bedeuten weniger Trainingsdaten, schnellere Iteration und genauere AI-Entscheidungen — das Merkmal dominiert den Crop, anstatt im Hintergrund verloren zu gehen, und nichts wird herunterskaliert.

Klein, spezifisch und zahlreich

Eine ROI teilt der Kamera mit, wo sie zuschneiden soll. Je enger der Crop, desto klarer das Signal, das das Modell erhält. Da ROIs einen Type teilen, vervielfacht das Hinzufügen weiterer ROIs Ihre Trainingsdaten, ohne Ihre Arbeit zu vervielfachen.

GOOD · TIGHT CROP60 × 60 px · feature dominatesBAD · TOO LARGEscrew is a speck · downscaledDUPLICATE PATTERNScrew_1Screw_2Screw_3…NName the first ROI, click Duplicate, and the rest auto-increment.All share the same type → same classes, same dataset, same model.10 ROIs × 1 CAPTURE = 10 TRAINING SAMPLES
  1. Halten Sie Crops unter 512 × 512 px. Alles Größere wird auf die Modelleingabegröße verkleinert, und Details gehen dauerhaft verloren.
  2. Eng ist besser. Eine kleine ROI um ein einzelnes Merkmal gibt dem Modell ein klares Signal und benötigt weniger Trainingsdaten zur Konvergenz.
  3. Viele ROIs, ein Type. 10 Schrauben → 10 ROIs auf demselben Screws-Type. Eine Aufnahme wird zu zehn Trainings-Samples, und ein Modell verarbeitet alle zehn zur Inferenz.
  4. Verwenden Sie Duplicate. Benennen Sie die erste ROI sinnvoll (Screw_Top_Left). Duplicate inkrementiert die Namen automatisch, sodass Sie sie nicht neu eingeben müssen.
  5. Brauchen Sie volle Abdeckung? Zeichnen Sie keine riesige ROI — kacheln Sie ein Raster aus kleinen. Jede behält die volle Auflösung.

Datenfluss: Jede ROI durchläuft das Modell separat

Zur Laufzeit schneidet die Kamera jede ROI aus dem vollständigen Bild aus, gibt sie einzeln an das trainierte Modell und zeichnet auf, welche Klasse gewonnen hat, zusammen mit einem Confidence-Score. Das Ergebnis ist ein Label pro ROI, bei jeder Aufnahme.

1 · CAPTUREFull frame + 6 ROIs2 · CROP INDIVIDUALLYScrew_1Screw_2Screw_3Screw_4Screw_5Screw_6max 512 × 512 px each3 · CLASSIFIER MODELScrews · trained modelpicks 1 class + confidence4 · OUTPUTScrew_1present 0.98Screw_2absent 0.94Screw_3present 0.97Screw_4present 0.99Screw_5present 0.96Screw_6damaged 0.82resultFAIL
  1. Capture des vollständigen Bildes mit allen markierten ROIs.
  2. Einzelnes Zuschneiden, sodass jede ROI zu ihrem eigenen kleinen Bild wird.
  3. Classifier-Modell wählt für jeden Crop eine Klasse plus einen Confidence-Score.
  4. Ausgabe ist eine Tabelle aus ROI → Label → Confidence. Pass/Fail-Logik auf Basis dieser Tabelle liegt bei den Regeln Ihres IO-Blocks.

Setup-Zusammenfassung

Eine schnelle Checkliste vor dem Training. Wenn alle Punkte zutreffen, hat Ihr Classifier eine solide Grundlage.

  • Ein Inspection Type pro Entscheidung. Mischen Sie nicht „screws" und „labels" im selben Type — geben Sie jedem seinen eigenen, damit sie ihre eigenen Classes, Datensätze und Modelle erhalten.
  • Classes auf Type-Ebene definiert. Jede ROI erhält dasselbe Dropdown. Wenn eine Option nicht für jede ROI gilt, gehört sie wahrscheinlich zu einem anderen Type.
  • ROIs eng gezeichnet und aussagekräftig benannt. Screw_Top_Left ist besser als New ROI. Halten Sie jede ROI gerade groß genug für ihr Merkmal und unter 512 × 512 px.
  • Alignment funktioniert zuerst. Wenn sich das Teil verschiebt oder dreht, bewegt der Aligner Ihre ROIs mit. Enge ROIs funktionieren nur, wenn das Alignment solide ist.
  • Zu Beginn 3 bis 5 Trainingsbilder pro Klasse. Trainieren, Fehler finden, gezielte Daten hinzufügen, neu trainieren. Zwei bis vier Iterationen sind typisch.
  • Jedes Label doppelt geprüft. Eine Fehlkennzeichnung in fünf Trainingsbildern entspricht 20 % Korruption. Klicken Sie vor jedem Training auf View All ROIs.

Wie es weitergeht