KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
Messung (Dimensionsprüfung)
Der Measurement-Block verwandelt den OV80i von einem Fehlerdetektor in eine dimensionale Inspektionsstation. Anstatt zu fragen „Ist dieses Teil gut oder schlecht?", fragt er „Wie groß ist der Durchmesser, der Spalt oder der Winkel dieses Teils in Millimetern?" — und liefert Ihnen eine Zahl, die Sie gegen eine Toleranz prüfen können (Pass/Fail).
Führen Sie keine Measurement-Rezeptur mit einem Standardobjektiv (entozentrisch) mit C-Mount aus. Standardobjektive verursachen perspektivische Verzerrungen und Vergrößerungsänderungen mit dem Arbeitsabstand — ein Teil, das 1 mm näher an der Kamera liegt, wird merklich größer gemessen, und Merkmale am Rand des Bildes werden anders gemessen als Merkmale in der Mitte. Die ausgegebenen Werte sind um Beträge falsch, die größer sind als typische Toleranzen, und es gibt keinen Kalibrierungsschritt, der dies korrigieren kann.
Ein telezentrisches Objektiv hält die Vergrößerung über das gesamte Sichtfeld und über kleine Schwankungen des Arbeitsabstands hinweg konstant. Es ist die einzige Hardware-Komponente, die dimensionale Inspektion tatsächlich präzise macht.
Wenn Ihre Installation kein telezentrisches Objektiv hat, hören Sie hier auf — wechseln Sie zu Classification oder Segmentation für eine Pass/Fail-Inspektion, oder kontaktieren Sie support@overview.ai, um die richtige Optik zu spezifizieren, bevor Sie fortfahren.
Unter der Haube findet ein Deep-Learning-Modell primitive Merkmale im Bild (Kanten, Kreise, Liniensegmente, Bögen) und berechnet dann Messungen zwischen oder über diese Primitive (Radius eines Lochs, Abstand zwischen zwei Kanten, Winkel zwischen zwei Linien). Da die Kamera in px/mm kalibriert ist, kommt jedes Ergebnis in realen physikalischen Einheiten heraus.

Lernziele
Am Ende dieser Seite werden Sie in der Lage sein:
- Zu entscheiden, wann Measurement der richtige Block ist (im Vergleich zu Classification oder Segmentation)
- Die Kamera so zu kalibrieren, dass ein Pixel einem bekannten Millimeterwert entspricht
- Primitive (Kreise, Linien, Punkte, Bögen) auf dem Teil zu zeichnen und in Messungen (Radius, Abstand, Winkel) umzuwandeln
- Trainingsbilder zu erfassen und zu labeln, damit das Measurement-Modell lernt, Primitive zuverlässig zu finden
- Ein Measurement-Modell zu trainieren, zu testen und bereitzustellen
- Ergebnisse in Pass/Fail-Logik einzubinden und sie auf dem Bedienbildschirm der Kamera abzulesen (dem HMI, kurz für Human-Machine Interface)
Wann Measurement verwendet werden sollte
| Anwendungsfall | Richtiger Block |
|---|---|
| Liegt der Lochdurchmesser innerhalb von 9,0 ± 0,1 mm? | Measurement |
| Beträgt der Spalt zwischen zwei Teilen weniger als 0,5 mm? | Measurement |
| In welchem Winkel ist diese Halterung gebogen? | Measurement |
| Ist das Etikett vorhanden oder fehlt es? | Classification |
| Gibt es einen Kratzer auf der Oberfläche? | Segmentation |
| Was steht auf dem Teil geschrieben? | OCR |
Measurement ist immer dann das richtige Werkzeug, wenn ein nachgelagertes System eine Zahl in physikalischen Einheiten statt einer Klassenbezeichnung benötigt. Wenn auf Ihrem Spezifikationsblatt eine Toleranz angegeben ist, benötigen Sie Measurement.
Segmentation kann Ihnen die Fläche eines Merkmals in Pixeln liefern, aber sie rastet nicht mit Sub-Pixel-Genauigkeit an Kanten ein und liefert keine geometrischen Primitive. Wenn Sie nur wissen müssen, „ist der Fleck größer als X cm²", kann Segmentation ausreichen. Wenn Sie wissen müssen, „der Radius dieses Lochs beträgt 4,31 mm", verwenden Sie Measurement.
Funktionsweise von Measurement
Die Measurement-Pipeline besteht aus vier aufeinanderfolgenden Stufen:
- Erfassen und ausrichten. Die Kamera wird ausgelöst, erfasst ein Bild und führt den Aligner aus, um das Teil an der Vorlagenausrichtung zu fixieren. Jede Messung wird im ausgerichteten Bild berechnet, sodass ein um 10° gedrehtes Teil immer noch denselben Messwert liefert.
- Primitive erkennen. Das trainierte Measurement-Modell untersucht jede ROI (Region of Interest – das Rechteck, das Sie auf das Bild zeichnen, um der Kamera mitzuteilen „schau hier hin") und gibt geometrische Primitive aus: ein Kantensegment, einen Bogen/Kreis oder eine Linie. Jedes Rezept hat eine Main ROI sowie optionale Child ROIs, um bestimmte Merkmale heranzuzoomen.
- Messungen berechnen. Jede von Ihnen definierte Messung (z. B. „Radius von Kreis 1", „Abstand zwischen Linie A und Linie B") wird anhand der erkannten Primitive ausgewertet. Die Ergebnisse werden dank der Pixel-zu-Millimeter-Kalibrierung in Millimetern (oder Ihrer gewählten Einheit) angegeben.
- Pass/Fail und Ausgabe. Die Werte werden an den IO-Logic-Block übergeben, wo eine Node-RED-Funktion auf Grundlage Ihrer Toleranzen über PASS oder FAIL entscheidet, und das Ergebnis wird an das HMI, die PLC (die Steuerung in der Fertigung), MQTT und alle weiteren angeschlossenen Systeme übertragen.
Wenn Ihre Bildgebung instabil ist, driftet die Ausrichtung. Wenn die Ausrichtung driftet, sieht das Modell das Primitiv jedes Mal an einer anderen Stelle. Wenn die Primitiverkennung schwankt, sind die Messungen verrauscht. Beheben Sie Probleme an der frühesten Stufe, an der sie auftreten. Das Nachjustieren von Pass/Fail-Schwellenwerten behebt keine schlechte Ausrichtung, und das Neutrainieren des Modells behebt keine schlechte Bildgebung.
Schritt 1: Ein Measurement-Rezept erstellen
- Öffnen Sie die OV80i-Weboberfläche in einem Browser (
http://<camera-ip>). Die linke Seitenleiste zeigt All Recipes, Recipe Editor, HMI usw. - Klicken Sie in der linken Seitenleiste auf All Recipes.
- Klicken Sie oben rechts auf + New. Ein Modal mit dem Titel Add A New Recipe öffnet sich.
- Geben Sie einen Name ein (z. B.
Hole_Diameter_Check) und optional eine Beschreibung, und klicken Sie dann auf OK. - Das neue Rezept erscheint in der Liste. Klicken Sie in dessen Zeile auf Activate und wählen Sie dann im Bestätigungsdialog Activate and go to editor.
- Der Recipe Editor öffnet sich. In der oberen Leiste, neben dem Rezeptnamen, finden Sie die Rezepttyp-Combobox (Standardwert ist Classification). Klicken Sie darauf und wählen Sie Measurement. Die Zeile der AI-Blöcke im Editor hebt nun den Measurement-Block hervor, bereit zur Konfiguration.

Jedes Rezept enthält genau ein Measurement-Modell, aber dieses Modell kann viele Primitive und viele Messungen über mehrere Child ROIs hinweg umfassen. Erstellen Sie kein separates Rezept pro Abmessung – gruppieren Sie alle Abmessungen eines Teils in einem Measurement-Modell, damit sie dieselbe Bildgebung und Ausrichtung gemeinsam nutzen.
Schritt 2: Imaging Setup
Klicken Sie im Editor auf Configure Imaging, um Imaging Setup zu öffnen. Dies ist dasselbe Imaging-Panel, das von jedem Rezept verwendet wird – siehe Imaging Setup Fundamentals – mit einer zusätzlichen Anforderung für Measurement: Das Teil muss in jedem Zyklus scharf fokussiert sein, ohne Bewegungsunschärfe. Die Subpixel-Genauigkeit der Kantenerkennung hängt davon ab.

Die für Measurement wichtigsten Einstellungen:
- Exposure. Stellen Sie das Teil gut belichtet, aber nicht überbelichtet ein. Übersättigte Lichter zerstören Kantendetails.
- Gain. Halten Sie Gain möglichst bei 1. Höherer Gain fügt Rauschen hinzu, und Rauschen verschiebt Kanten um jeweils einen halben Pixel.
- Gamma. Der Standardwert 50 ist für die meisten Teile ausreichend. Erhöhen Sie ihn, wenn dunkle Kanten schwer erkennbar sind.
- Image Rotation. Belassen Sie auf „No Rotation", es sei denn, Ihre Vorrichtung erzwingt eine seitliche Kameramontage.
- Trigger Settings. Manual HMI Trigger ist für die Einrichtung in Ordnung. Wechseln Sie für den Produktionsbetrieb zu einem digitalen Sensor- oder PLC-Trigger.
Lange Belichtung + bewegtes Förderband = unscharfe Kanten. Eine 2-Pixel-Unschärfe bei einer Kalibrierung von 17 px/mm bedeutet einen Fehler von ±0,06 mm, bevor Sie überhaupt anfangen. Frieren Sie das Teil entweder mit einem Stroboskop ein oder verringern Sie die Belichtung so weit, dass die Bewegung in einem Bild unter 1 Pixel liegt.
Klicken Sie nach Abschluss auf Save Imaging Settings.
Schritt 3: Pixel in Millimeter kalibrieren
Dieser Schritt unterscheidet Measurement von allen anderen Blöcken. Ohne Kalibrierung kennt die Kamera nur Pixel – und ein Pixel hat bei jeder Installation eine andere Größe. Die Kalibrierung teilt der Kamera mit: „So viele Pixel auf dem Sensor entsprechen so vielen Millimetern in der realen Welt."
- Klicken Sie im Imaging Setup auf Reference Image Calibration (unten im rechten Panel).
- Erfassen oder laden Sie ein Referenzbild hoch, das eine bekannte Abmessung enthält – typischerweise ein Kalibriertarget, ein präzisionsgefertigtes Merkmal an der Vorrichtung oder ein Gutteil, an dem Sie eine Abmessung mit einem Messschieber gemessen haben.
- Öffnen Sie den Abschnitt Measurement Calibration. Bestätigen Sie die Einheit (Standard
mm). - Klicken Sie auf Measure on Image. Klicken Sie zwei Punkte auf dem Bild an, die einen bekannten Abstand überspannen (z. B. den Mitten-zu-Mitten-Abstand zwischen zwei Stiften oder den Durchmesser eines Lehrenstifts).
- Die Kamera meldet den gemessenen Pixelabstand (z. B. „Measured: 159 px"). Geben Sie den realen Wert in Millimetern ein (z. B.
9.0) und klicken Sie auf Finish. - Der px/mm-Wert wird automatisch eingetragen – für dieses Rezept in den Screenshots unten ergab die Kalibrierung 17,621 px/mm, was bedeutet, dass ein Millimeter des Teils ~17,6 Sensorpixel einnimmt.


Der px/mm-Wert ist an Objektiv, Arbeitsabstand und Sensor gebunden. Wenn Sie das Objektiv wechseln, neu fokussieren, die Kamera bewegen oder Vorrichtungen tauschen, kalibrieren Sie neu. Eine Kalibrierung, die um 1 % daneben liegt, ergibt eine Messung, die um 1 % daneben liegt – bei einer Abmessung von 10 mm sind das 0,1 mm rein systematischer Fehler, oft mehr als Ihre Toleranz.
Eine Kalibrierung anhand eines 2-mm-Merkmals multipliziert jeden Zeigefehler um den Faktor 5 gegenüber der Kalibrierung anhand eines 10-mm-Merkmals. Kalibrieren Sie immer gegen die längste bekannte Abmessung, die sauber in das Bildfeld passt.
Schritt 4: Template Image and Alignment
Measurement erfordert eine Ausrichtung. Das Modell wird gegen Primitive an festen Positionen auf dem Teil trainiert; wenn sich das Teil verschiebt oder dreht, muss der Aligner dies kompensieren, damit das Modell die Primitive weiterhin in denselben Bildkoordinaten sieht.
- Klicken Sie im Recipe Editor unter „Image Alignment & Inspection Setup" auf Template Image and Alignment.
- Erfassen Sie ein sauberes Referenzbild mit gut positioniertem Teil und zeichnen Sie dann den Search Area (cyanfarbenes Feld) um den Bereich des Bildes, in dem das Teil erscheinen kann, und den Template Region (gelbes Feld) eng um das Teil selbst.
- Wählen Sie einen Aligner Type: Classical für kantenreiche Teile, Deep Learning für texturierte Teile – siehe AI Aligner (Deep Learning) für die Entscheidungsmatrix.
- Stimmen Sie Rotation Range, Sensitivity und (für Classical) die Ignore Regions ab, bis die Ausrichtung über alle Aufnahmen hinweg stabil ist.

Die Option „Scale Invariant" des AI Aligner ermöglicht es dem Matcher, Teile zu tolerieren, die etwas näher an oder weiter von der Kamera entfernt sind. Aktivieren Sie diese Option nicht bei einem Measurement-Rezept. Scale Invariance skaliert den Frame unbemerkt so, dass er zum Template passt, was bedeutet, dass ein Teil, das 1 % weiter von der Kamera entfernt ist, denselben Messwert liefert wie ein Teil im korrekten Abstand – und Ihre px/mm-Kalibrierung ist plötzlich falsch. Lassen Sie Scale Invariant ausgeschaltet und steuern Sie den Arbeitsabstand stattdessen über eine mechanische Vorrichtung.
Der „Skip Aligner"-Schalter ist für Segmentation- oder Classification-Rezepte, die das gesamte Bild betrachten, in Ordnung, aber ein Measurement-Rezept ohne Aligner liefert Unsinn, sobald sich ein Teil um einen Millimeter verschiebt. Konfigurieren Sie für Measurement immer die Ausrichtung.
Schritt 5: Inspection Setup — Haupt-ROI und Child-ROIs
Der Bildschirm „Inspection Setup" definiert, wo im ausgerichteten Bild das Measurement-Modell suchen soll. Es gibt eine Main ROI (deckt den gesamten relevanten Bereich ab) und optional eine oder mehrere Child ROIs (für die Detailansicht spezifischer Merkmale).

- Die Main-ROI-Box ist bereits vorhanden, sobald der Measurement-Block hinzugefügt wurde — ziehen Sie deren Ecken, bis der zu messende Bereich abgedeckt ist. Die meisten Rezepte verwenden eine einzelne Main ROI, die das gesamte Teil abdeckt.
- Um mehrere einzelne Merkmale zu prüfen (zum Beispiel zwei Löcher auf gegenüberliegenden Seiten einer Halterung), klicken Sie für jedes Merkmal auf Add Child ROI und positionieren Sie es eng um das Merkmal.
- Jede ROI erhält ihre eigene Kopie der primitiven Vorhersagen des Modells. Eine Main ROI mit fünf Child ROIs bedeutet, dass das Modell sechsmal pro Aufnahme ausgeführt wird.
Eine eng gesetzte Child ROI um ein einzelnes Loch bietet dem Modell eine saubere Sicht auf ein Merkmal, macht das Labeling eindeutig und hält die Inferenz schnell. Eine riesige Main ROI, die zehn Löcher abdeckt, bedeutet, dass der Labeler in jedem Bild zehn Primitive unterscheiden muss und das Modell mehr visuelles Rauschen ignorieren muss.
Die Leiste über dem Canvas verfügt über H- / W- / X- / Y- / ∠-Eingaben für die präzise ROI-Platzierung, Align- und Distribute-Schaltflächen zur gleichmäßigen Anordnung der ROIs und einen Umschalter für Bounding Boxes + ROI Labels, um das Overlay während der Arbeit aufzuräumen. Rechtsklick auf eine ROI öffnet ein Kontextmenü (Kopieren, Einfügen, Sperren, Löschen).
Schritt 6: Primitive definieren
Öffnen Sie den Primitive Editor, indem Sie auf Edit Main ROI (oder Edit bei einer beliebigen Child ROI) klicken. Hier zeichnen Sie die geometrischen Formen, die das Modell zu finden lernen soll. Jede ROI beginnt mit vier gesperrten System-Primitiven — Oben / Unten / Links / Rechts der ROI selbst — die Sie als Referenzgeometrie für Abstandsmessungen verwenden können, ohne etwas Neues zeichnen zu müssen.

Verfügbare Primitiv-Typen (linke Symbolleiste):
| Tool-Symbol | Primitiv-Typ | Was erfasst wird | Wo es eingesetzt wird |
|---|---|---|---|
| Line | Segment | Eine gerade Kante | Teilekanten, Schlitze, Referenzen |
| Arc / Radius | Circle | Ein Radius + Mittelpunkt | Löcher, Stifte, Verrundungen, gekrümmte Merkmale |
Bewegen Sie den Mauszeiger über ein Tool-Symbol, um dessen Namen zu sehen; die Statusleiste am unteren Rand des Editors zeigt das aktive Tool — z. B. „Tool: Arc — Click to place the first point".
So zeichnen Sie ein Primitiv:
- Klicken Sie auf das Tool-Symbol in der linken Symbolleiste (z. B. Line oder das Radius/Arc-Tool). Die Statusleiste zeigt den Namen des aktiven Tools.
- Klicken Sie auf die Punkte im Bild, die das Tool benötigt. Für einen Kreis/Bogen klicken Sie drei Punkte um die Kante des Merkmals herum. Für eine Linie klicken Sie zwei Endpunkte.
- Das Primitiv erscheint im Data Panel auf der rechten Seite unter dem Abschnitt Primitives.
- Benennen Sie es aussagekräftig um (
Hole_A,Top_Edge_of_Slot), indem Sie auf das Stiftsymbol neben dem Namen klicken. Gute Namen sorgen dafür, dass Messungen später besser lesbar sind.
Die Umschaltleiste über dem Canvas (Construction Lines, Primitives, Measurements, Labels, Pixel Grid) steuert, was über dem Bild angezeigt wird — schalten Sie diese aus, um beim Zeichnen für Übersicht zu sorgen, und wieder ein, um zu verifizieren.
Wenn Sie beim Zeichnen über den Canvas fahren, erscheint in der Ecke eine 4-fach-Lupe. Eine sub-pixelgenaue Kantenplatzierung ist entscheidend: Ein um ein Pixel verschoben platziertes Primitiv, multipliziert über 1000 Zyklen, ist der Unterschied zwischen einer brauchbaren und einer verrauschten Messung.
Das Arc-Tool legt einen Kreis durch drei Punkte auf der Kante des Merkmals. Platzieren Sie diese drei Punkte weit auseinander rund um den Rand, nicht gebündelt am oberen Rand. Eine gebündelte Dreiergruppe führt zu einer wackeligen Anpassung, die das Modell übernimmt.
Schritt 7: Messungen definieren
Primitive sind die rohe Geometrie; Messungen sind die Zahlen, die Sie tatsächlich benötigen. Jede Messung referenziert eines oder zwei Primitive und berechnet daraus einen Wert.
Verfügbare Messungstypen:
| Messung | Eingaben | Ausgabe |
|---|---|---|
| Radius | Ein Kreis/Bogen | Radius des Kreises in mm |
| Distance | Zwei Primitive (Punkt-zu-Punkt, Punkt-zu-Linie, Linie-zu-Linie) | Kürzeste Distanz in mm |
| Length | Ein Liniensegment | Länge des Segments in mm |
| Angle | Zwei Linien | Winkel zwischen ihnen in Grad |
| X / Y position | Ein Punkt | Koordinate des Punktes im ausgerichteten Frame |
So definieren Sie eine Messung:
- Erweitern Sie im Data Panel auf der rechten Seite des Primitive Editors den Abschnitt Measurements.
- Klicken Sie auf die Schaltfläche + / Add measurement oben im Abschnitt Measurements. Ein kleines Formular öffnet sich.
- Wählen Sie den Messungstyp (Radius / Distance / Angle / Length / etc.) aus dem Dropdown-Menü.
- Wählen Sie die zu referenzierenden Primitive aus. Eine Radius-Messung benötigt einen Kreis; eine Distance benötigt zwei Primitive.
- Vergeben Sie der Messung einen aussagekräftigen Namen (
Hole_A_Diameter,Slot_Gap). Dieser Name wird auf dem HMI angezeigt und ist der Schlüssel, mit dem Ihre Node-RED Function den Wert ausliest – halten Sie ihn daher stabil. - Klicken Sie außerhalb des Formulars oder drücken Sie die Eingabetaste, um zu speichern. Die neue Messung erscheint in der Measurements-Tabelle mit ihrem aus dem Template-Bild berechneten Live-Wert.
Sie können beliebig kombinieren: Ein einzelnes ROI kann fünf Primitive und zehn daraus abgeleitete Messungen enthalten. Der obige Screenshot zeigt ein Circle 1-Primitiv mit einer Radius Circle 1-Messung, die 4.306 mm ausgibt.
Die gesperrten Primitive Top / Bottom / Left / Right Edge, die mit jedem ROI mitgeliefert werden, sind gültige Messungseingaben. Wenn Sie den „Abstand von der Unterkante des Schlitzes zur Unterkante des ROI" benötigen, müssen Sie keine neue Linie zeichnen – referenzieren Sie einfach die System-Bottom Edge direkt.
Schritt 8: Trainingsbilder labeln
Das Zeichnen von Primitiven auf dem Template liefert dem Modell ein Beispiel. Für die Produktion sind mindestens 10–20 Beispiele erforderlich, damit das Modell lernt, die Primitive unter realen Schwankungen (Beleuchtungsdrift, Oberflächenkratzer, Farbchargen) zu finden.
- Klicken Sie im Recipe Editor in der oberen Navigation auf Measurement Block oder unter AI Blocks auf Measurement.
- Klicken Sie auf Capture, um ein neues Bild aufzunehmen, oder auf Import Capture, um eines aus der Library zu importieren.
- Zeichnen Sie für jedes Capture dieselben Primitive, die Sie auf dem Template definiert haben – jeweils an denselben Stellen auf jedem neuen Bild des Bauteils.
- Klicken Sie auf Save Annotations, wenn jedes Capture gelabelt ist.
- Navigieren Sie mit Previous / Next durch alle Captures.

Zwanzig Captures desselben Bauteils in derselben Position bringen dem Modell sehr wenig bei. Zehn Captures mit verschiedenen Bauteilrotationen, leichten Positionsversätzen, Beleuchtungsvariationen und Oberflächenzuständen vermitteln ihm alles, was es braucht. Variieren Sie gezielt.
Wenn „Circle 1" in Capture 1 die obere linke Bohrung ist, muss es auch in Capture 2 die obere linke Bohrung sein. Wenn Sie verwechseln, auf welches physische Feature ein benanntes Primitiv zeigt, lernt das Modell Widersprüche – und diese Widersprüche zeigen sich als 10-fach verrauschtere Vorhersagen in der Produktion.
Schritt 9: Modell trainieren
- Öffnen Sie in der Measurement Block-Ansicht oder im Recipe Editor die Registerkarte Train.
- Suchen Sie die Zeile measurement. Überprüfen Sie den Training Mode – für Measurement ist Accurate der Standard und empfohlen. Schnellere Modi existieren für schnelle Iterationen, gehen aber zulasten der Präzision.
- Klicken Sie in der Zeile auf Train (oder auf Train All, um alle Blöcke im Rezept zu trainieren).
- Das Training AI Model-Modal zeigt den Live-Fortschritt: Mean IoU (blau, steigend), Loss (rot, fallend) und den Iterationszähler (z. B. 200/200).


Worauf Sie achten sollten:
- IoU steigt und Loss fällt mit zunehmenden Iterationen. Wenn beide früh flach verlaufen, werden mehr Bilder oder bessere Labels benötigt.
- Das Thumbnail-Raster rechts zeigt Trainingsausschnitte mit den vorhergesagten Primitiven (True Positive in Grün, False Positive in Rot, False Negative in Blau). Überfliegen Sie es – wenn ein Ausschnitt in der roten/blauen Legende erscheint, prüfen Sie dessen Labels.
- Model Quality (IoU) wird nach Abschluss des Trainings angezeigt. Für Measurement ist alles über 70 % verwendbar; über 85 % ist exzellent.
Streben Sie nicht nach einem perfekten ersten Modell. Trainieren Sie mit 10 Aufnahmen, führen Sie Live Preview an einem frischen Teil aus, sehen Sie, wo die Vorhersagen abweichen, dann fügen Sie 5 weitere Aufnahmen gezielt auf den Fehlermodus hinzu und trainieren Sie erneut. Drei kurze Iterationen schlagen eine lange.

Schritt 10: Testen und verifizieren
- Aktivieren Sie in der Measurement Block-Ansicht den Live Preview Mode.
- Lösen Sie Aufnahmen mit der Test-Schaltfläche aus (oder Capture in der HMI) und beobachten Sie, wie die vorhergesagten Primitive auf die Live-Frames gelegt werden.
- Vergleichen Sie die vorhergesagten Abmessungen mit Messschieber-Messungen am selben physischen Teil. Beide sollten innerhalb Ihres Toleranzbudgets übereinstimmen.
- Bewegen Sie das Teil (innerhalb der Ausrichtungsgrenzen) und bestätigen Sie, dass der Messwert über mehrere Aufnahmen hinweg stabil bleibt.
Die Kamera meldet 4.306 mm. Nehmen Sie das Teil, messen Sie es mit dem Messschieber und prüfen Sie, ob Sie ebenfalls 4,3 mm ablesen. Wenn Kamera und Messschieber um mehr als Ihre Toleranz abweichen, liegt das Problem fast immer an der Kalibrierung (Schritt 3) – kalibrieren Sie gegen die längste Abmessung an der Vorrichtung neu und versuchen Sie es erneut.
Schritt 11: Pass/Fail-Logik verdrahten
Das Modell liefert Zahlen; der IO Logic-Block macht aus diesen Zahlen ein PASS oder FAIL.
- Klicken Sie im Recipe Editor auf Configure IO (oder die Registerkarte IO Logic).
- Ziehen Sie einen All Block Outputs-Knoten, einen Function-Knoten und einen Final Pass/Fail-Knoten hinein. Verdrahten Sie sie miteinander.
- Doppelklicken Sie auf den Function-Knoten und schreiben Sie die Toleranzprüfung. Unten finden Sie die Struktur der Logik – die Messergebnisse kommen im Bereich des Measurement-Blocks von
msg.payloadan, indiziert nach den Namen, die Sie im Primitive Editor festgelegt haben. Die genaue Payload-Struktur kann sich zwischen Firmware-Versionen ändern. Schalten Sie daher einmal einen Debug-Knoten dazwischen und inspizieren Sie das Live-msg, um die Feldnamen zu bestätigen, bevor Sie sich darauf verlassen.
// PASS if hole radius is within 4.30 ± 0.10 mm
// Adjust the path below to match the payload from your camera's
// Debug node — the Measurement block emits an array of measurement objects
// each with a name and a numeric value in mm.
const measurements = msg.payload.measurement?.measurements ?? [];
const radius = measurements.find(m => m.name === 'Radius Circle 1');
if (!radius) {
msg.payload = false; // no result = fail
return msg;
}
const value = radius.value; // value in mm
const target = 4.30;
const tolerance = 0.10;
msg.payload = Math.abs(value - target) <= tolerance;
return msg;
- Klicken Sie auf Deploy, um den Flow live zu schalten.
Der Function-Knoten greift über die Namen, die Sie im Primitive Editor zugewiesen haben, auf die Messungen zu. Benennen Sie eine Messung um, ist der Flow unterbrochen, bis Sie den Knoten aktualisieren. Halten Sie die Namen stabil, sobald die Produktion läuft.
Bauen Sie für Teile mit mehreren zu prüfenden Abmessungen ein Array.every(...) über eine Liste von {name, target, tolerance}-Objekten. Ein einziger Function-Knoten kann jede Abmessung am Teil validieren, und ein einzelner Fehler schließt die gesamte Prüfung mit FAIL kurz.
Ergebnisse auf dem HMI ablesen
Wechseln Sie nach dem Deployment auf den Tab HMI. Lösen Sie eine Aufnahme aus: Die Live-Ansicht annotiert das Bild mit den vorhergesagten Primitives, der Pass/Fail-Indikator wechselt auf PASS oder FAIL, und die Messtabelle darunter zeigt jede Dimension mit:
- Avg — der aggregierte Wert über alle Child ROIs (nützlich, wenn dieselbe Messung in mehreren ROIs ausgeführt wird)
- Inspection Region — Main ROI oder welche Child ROI den Wert erzeugt hat
- Search Area — welche Search Area auf dem Aligner zum Wert gehört
- Value — der Messwert in mm (oder Ihrer Einheit)
- Primitives — aus welchen Primitive(s) der Messwert berechnet wurde

Schalten Sie die Overlays nach Bedarf ein oder aus:
- Labels — Primitive-Namen auf dem Bild anzeigen
- Blob Stats — Erkennungs-Scores anzeigen
- Heatmap — die Konfidenz-Heatmap des Modells einblenden (nützlich zum Debuggen: „Warum wurde dieser Punkt gewählt?")
Praxisbeispiele
Lochdurchmesserprüfung
- Primitive: ein Circle in einer Child ROI eng um das Loch
- Measurement: Radius (das Ergebnis wird als Radius ausgegeben; multiplizieren Sie im Function-Node mit 2, wenn Sie den Durchmesser benötigen)
- Pass/Fail:
Math.abs(radius - target) <= tolerance
Spalt zwischen zwei Teilen
- Primitives: zwei parallele Line-/Segment-Primitives entlang der gegenüberliegenden Kanten
- Measurement: Distance, Line-to-Line
- Pass/Fail:
gap >= min_gap && gap <= max_gap
Abstand zwischen zwei Löchern
- Primitives: zwei Circle-Primitives, eines in jedem Loch
- Measurement: Distance, Point-to-Point (zwischen den Mittelpunkten)
- Pass/Fail:
Math.abs(spacing - target) <= tolerance
Biegewinkel eines Winkels
- Primitives: zwei Line-Primitives, eines entlang jedes Schenkels des Winkels
- Measurement: Angle, Line-to-Line
- Pass/Fail:
Math.abs(angle - target_degrees) <= angle_tolerance
Tipps und Tricks
Sobald die Kalibrierung optimal eingestellt ist, fixieren Sie Kamera, Objektiv und Werkstückaufnahme physisch. Jede Bewegung macht den px/mm-Wert unbemerkt ungültig. Ein Drehmoment-Sicherungsstreifen am Fokusring und Schraubensicherung am Objektivanschluss sind bei einer Produktionsinstallation nicht übertrieben.
Die 4-fach-Lupe im Primitive Editor zeigt die Pixel, auf die Sie klicken. Die Kantengenauigkeit beim Labeln ist die Obergrenze für die Kantengenauigkeit in der Produktion. Klicken Sie nicht „in die Nähe" der Kante — klicken Sie auf die Kante, im Zoom.
Erfassen Sie vor dem Rollout 30+ Frames, die Pass- und Fail-Fälle abdecken, und führen Sie sie durch Recipe Backtesting. Es führt das gesamte Rezept innerhalb von Sekunden gegen das Testset aus und berichtet die Messwerte pro Frame, sodass Sie bestätigen können, dass die im Function-Node festgelegte Toleranz Gutteile tatsächlich von Schlechtteilen ohne False Positives trennt.
Wir wiederholen die Warnung vom Seitenanfang: Standard-C-Mount-Objektive führen zu perspektivischer Verzerrung, die zu den Bildrändern hin zunimmt und sich mit dem Arbeitsabstand verschiebt. Ein telezentrisches Objektiv ist die einzige Hardwarekomponente, die dimensionale Inspektionen präzise macht. Wenn Ihre Installation keines hat, verwenden Sie den Measurement-Block nicht.
Die Measurement-Block-Ansicht speichert nicht automatisch. Klicken Sie nach jeder ein bis zwei Aufnahmen auf Save Annotations — beim Schließen des Tabs gehen alle ungespeicherten Labels verloren.
Häufige Fallstricke und Fehlerbehebung
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Kamera misst 4,3 mm, Messschieber misst 4,5 mm | Kalibrierung ist fehlerhaft | Mit einer längeren Referenzdimension neu kalibrieren; prüfen, ob sich der px/mm-Wert nicht geändert hat |
| Dasselbe Teil wird in jedem Zyklus unterschiedlich gemessen | Ausrichtung instabil oder Bewegungsunschärfe | Template / Suchbereich enger fassen, Belichtungszeit reduzieren, Strobe hinzufügen, Vorrichtung fixieren |
| Vorhersagen springen auf falsches Feature | Primitive-Labels über Trainingsaufnahmen hinweg nicht konsistent | Aufnahmen neu labeln, sicherstellen, dass "Circle 1" immer dasselbe physische Feature ist, neu trainieren |
| Modell findet Primitive auf einem defekten Teil, obwohl es das nicht sollte | Trainingsdatensatz enthält keine Beispiele des Defekts; Modell hat nicht gelernt, abzulehnen | 5+ Defektaufnahmen hinzufügen, ohne Primitive labeln (oder mit Primitive an der korrekten Stelle), neu trainieren |
| px/mm-Wert hat sich unbemerkt geändert | Objektiv fokussiert, bewegt oder getauscht | Neu kalibrieren. Objektiv fixieren. Während der Produktion nicht fokussieren |
| Messungen nach Software-Update stark abweichend | Bilddrehung geändert oder Ausrichtungs-Template verloren | Imaging Setup öffnen und Image Rotation prüfen; Template bei Bedarf neu aufnehmen |
| Recipe läuft langsam (hohe Latenz) | Zu viele Child ROIs oder Modell läuft im Fastest-Modus ohne ausreichende Auflösung | ROIs konsolidieren oder im Accurate-Modus trainieren |
Wenn Sie ein Primitive umbenennen, ein Child ROI verschieben, eine Messung hinzufügen oder den Search Area ändern, trainieren Sie das Modell neu. Das Training ist an das definierte räumliche Layout gebunden; eine Änderung des Layouts ohne Neutraining führt dazu, dass das Modell an der falschen Stelle sucht. Die Train-Seite kennzeichnet das Modell in diesem Fall als veraltet.