Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

OCR (Optical Character Recognition)

Die OV80i kann gedruckten Text, Seriennummern, Datumscodes und andere alphanumerische Zeichen direkt aus Kamerabildern mithilfe eines vortrainierten OCR-Modells lesen. Im Gegensatz zu Klassifikatoren und Segmentierern benötigt OCR keine Trainingsdaten. Es funktioniert sofort einsatzbereit.

OCR ist nützlich, wenn Sie:

  • Seriennummern oder Chargencodes mit erwarteten Werten abgleichen möchten
  • Bestätigen möchten, dass Etiketten vorhanden und lesbar sind
  • Datums-/Verfallscodes zur Rückverfolgbarkeit lesen möchten
  • Teilenummern auf Komponenten während der Montage prüfen möchten
Nur OV80i

OCR ist ausschließlich auf der OV80i verfügbar. Die OV20i und OV10i unterstützen OCR nicht.


Funktionsweise von OCR

Die OV80i verwendet eine zweistufige KI-Pipeline zur Texterkennung:

  1. Texterkennung (Text Detection): Findet, wo sich Text innerhalb der ROI befindet. Liefert Bounding Boxes um jedes erkannte Wort oder jede Textregion zurück.
  2. Zeichenerkennung (Text Recognition): Liest die Zeichen innerhalb jeder erkannten Bounding Box und gibt die Textzeichenfolge mit einem Konfidenzwert zurück.

Dieser gesamte Prozess läuft auf der NVIDIA Jetson Orin NX GPU der Kamera. Es ist keine Cloud-Verbindung erforderlich.

Das Modell erkennt einen breiten Zeichensatz, einschließlich:

  • Ziffern (0-9)
  • Lateinische Buchstaben (A-Z, a-z, Zeichen mit Akzent)
  • Häufige Satzzeichen und Symbole
  • Griechische Buchstaben
  • Währungssymbole
  • Mathematische Operatoren
hinweis

Der Zeichensatz ist festgelegt und kann nicht angepasst werden. Das Modell unterstützt ca. 480 Zeichen, die den größten Teil des gedruckten industriellen Texts in lateinischen Sprachen abdecken.


Voraussetzungen

Bevor Sie OCR einrichten, benötigen Sie eine Kamera, die:

  • Physisch montiert und stabil ist
  • Mit Ihrem Netzwerk verbunden und in einem Browser zugänglich ist
  • Auf das Teil mit dem zu lesenden Text fokussiert ist

Falls Sie dies noch nicht erledigt haben, folgen Sie zunächst den Einstiegsanleitungen:


Schritt 1: Ein neues Rezept erstellen

Jede Inspektion beginnt mit einem Rezept. Ein Rezept ist ein vollständiges Paket: Bildeinstellungen, Ausrichtung, Regions of Interest (ROIs), KI-Modelle und Ausgaberegeln.

  1. Navigieren Sie zu All Recipes in der linken Seitenleiste
  2. Klicken Sie oben rechts auf + New
  3. Geben Sie Ihrem Rezept einen aussagekräftigen Namen (z. B. „Serial Number Check", „Label Verification")
  4. Klicken Sie auf Activate, um es zum aktiven Rezept zu machen, und dann auf Edit, um den Recipe Editor zu öffnen

Übersicht des Recipe Editors mit allen Blöcken

Der Recipe Editor zeigt die vollständige Inspektionspipeline. Sie arbeiten sich von links nach rechts durch:

  • Imaging Setup (Kameraeinstellungen)
  • Image Alignment & Inspection Setup (Vorlage, ROIs)
  • AI Blocks (Classification, Segmentation, OCR, Measurement)
  • Set Pass/Fail & IO Logic (Ausgaberegeln)

Eine ausführliche Anleitung zur Erstellung von Rezepten finden Sie unter Erste Inspektion erstellen.


Schritt 2: Bildeinstellungen konfigurieren

Eine gute Bildqualität ist die Grundlage für eine genaue OCR. Der Text muss mit starkem Kontrast deutlich sichtbar sein.

  1. Klicken Sie auf Configure Imaging oder navigieren Sie zum Tab Imaging Setup
  2. Passen Sie die folgenden Einstellungen an, während Sie die Live-Vorschau beobachten:
EinstellungZiel für OCR
ExposureHell genug, um den gesamten Text deutlich zu sehen. Zu dunkel und die Zeichen verschwinden im Hintergrund. Zu hell und weiße Etiketten überstrahlen.
GainSo niedrig wie möglich halten. Hoher Gain führt zu Rauschen, das für den Detektor wie Textartefakte aussieht.
GammaAnpassen, um den Kontrast zwischen Text und Hintergrund zu verbessern.
FocusDer Text muss scharf sein. Wenn Zeichen verschwommen oder unscharf wirken, justieren Sie den Fokusring des C-Mount-Objektivs.
Beleuchtung ist entscheidend für OCR

Die OCR-Genauigkeit hängt stark von der Bildqualität ab. Der Text muss im Kamerabild mit gutem Kontrast zum Hintergrund deutlich sichtbar sein. Dunkler Text auf hellem Hintergrund oder heller Text auf dunklem Hintergrund funktionieren beide gut. Vermeiden Sie:

  • Ungleichmäßige Beleuchtung, die Schatten über Zeichen erzeugt
  • Reflexionen auf glänzenden Etiketten
  • Unterbelichtung, die den Text schwer vom Hintergrund unterscheidbar macht
tipp

Zoomen Sie in der Live-Vorschau in den Textbereich hinein. Können Sie jedes Zeichen deutlich lesen? Wenn Sie es nicht lesen können, kann es die KI auch nicht.

Eine ausführliche Anleitung zu allen Bildeinstellungen finden Sie unter Image Settings.


Schritt 3: Vorlagenausrichtung einrichten

Die Vorlagenausrichtung teilt der Kamera mit, wie sie die Position und Ausrichtung Ihres Teils verfolgen soll. Dies ist wichtig, da Teile nicht immer exakt an derselben Stelle auf dem Förderband oder der Vorrichtung landen.

  1. Navigieren Sie zum Tab Template Image and Alignment
  2. Platzieren Sie Ihr Teil im Sichtfeld der Kamera
  3. Klicken Sie auf Capture Template, um ein Referenzbild aufzunehmen
  4. Zeichnen Sie 2–3 kleine Vorlagenbereiche an Merkmalen, die immer vorhanden und leicht zu identifizieren sind (z. B. Ecken, Logos, Befestigungslöcher)
hinweis

Platzieren Sie die Vorlagenbereiche so weit wie möglich voneinander entfernt auf dem Teil. Dies reduziert das Winkelflackern der Ausrichtung erheblich. Zwei eng beieinanderliegende Bereiche ergeben eine schlechte Rotationsstabilität; zwei Bereiche an gegenüberliegenden Ecken bieten eine hervorragende Stabilität.

warnung

Wenn Sie die Ausrichtung überspringen, werden Ihre OCR-ROIs auf absolute Pixelpositionen festgelegt. Jede Bewegung des Teils führt dazu, dass die ROI den Text verfehlt. Richten Sie die Ausrichtung für den Produktionseinsatz immer ein.

Eine detaillierte Anleitung zur Vorlagenausrichtung finden Sie unter Alignment.


Schritt 4: OCR-Regions of Interest (ROIs) erstellen

Nun legen Sie genau fest, wo auf dem Teil die Kamera nach Text suchen soll. Dies ist der wichtigste Schritt für die OCR-Genauigkeit.

4a. Zur Inspection Setup navigieren

  1. Klicken Sie auf den Tab Inspection Setup im Recipe Editor
  2. Sie sehen den Inspection Editor mit Ihrem Vorlagenbild

4b. Das OCR-Modell hinzufügen

  1. Suchen Sie im rechten Bereich den Abschnitt Models
  2. Falls kein OCR-Modell aufgelistet ist, klicken Sie unten auf die Schaltfläche Add und wählen Sie OCR aus
  3. Das OCR-Modell erscheint in der Models-Liste
hinweis

Sie können nur einen OCR-Block pro Recipe haben. Sie können jedoch innerhalb dieses Blocks mehrere ROIs erstellen, um Text aus verschiedenen Bereichen des Teils zu lesen.

4c. Eine OCR-ROI erstellen

  1. Stellen Sie sicher, dass die Zeile des OCR-Modells in der Models-Liste ausgewählt (hervorgehoben) ist
  2. Klicken Sie im Abschnitt Region of Interest auf Add ROI
  3. Eine neue rechteckige ROI erscheint auf dem Bild
  4. Ziehen Sie die ROI an die Position über dem Text, den Sie lesen möchten
  5. Passen Sie die Größe an, indem Sie an den Eckpunkten ziehen

Inspection Setup mit OCR-ROI über Text gezeichnet

4d. Die ROI-Ausrichtung einstellen

Die ROI-Ausrichtung MUSS der Textausrichtung entsprechen

Dies ist das Wichtigste, das Sie richtig einstellen müssen. Die Ausrichtung Ihrer ROI muss der Ausrichtung des Textes entsprechen, den Sie lesen möchten.

Die OCR-Engine schneidet das Bild anhand des ROI-Winkels zu und verarbeitet den Ausschnitt anschließend so, als ob der Text horizontal wäre. Wenn der ROI-Winkel nicht mit dem Textwinkel übereinstimmt, versucht die Engine, gedrehten Text zu lesen, und liefert unbrauchbare Ergebnisse.

Beispiele:

  • Text wird horizontal von links nach rechts gelesen: ROI-Winkel sollte 0 Grad betragen
  • Text ist um 90 Grad im Uhrzeigersinn gedreht: ROI-Winkel sollte 90 Grad betragen
  • Text steht auf dem Kopf: ROI-Winkel sollte 180 Grad betragen
  • Text steht in einem 45-Grad-Winkel: ROI-Winkel sollte 45 Grad betragen

So drehen Sie eine ROI:

  1. Wählen Sie die ROI durch Anklicken aus
  2. Verwenden Sie den Drehgriff an der Ecke der ROI, ODER
  3. Stellen Sie den Winkelwert direkt in den Positionsfeldern am unteren Rand der Arbeitsfläche ein

Die Positionsleiste zeigt: H (Höhe), W (Breite), X und Y (Position) sowie den Winkel in Grad.

Ausgewählte ROI mit Position, Abmessungen und einem Winkel von 90,96 Grad

4e. ROI korrekt dimensionieren

  • Gestalten Sie die ROI so eng wie möglich um den Textbereich. Zusätzlicher Hintergrund führt zu Rauschen und kann Fehlerkennungen verursachen.
  • Lassen Sie einen kleinen Rand (10–20 Pixel) um den Text, damit Zeichen nicht an den Rändern abgeschnitten werden.
  • Schließen Sie keinen anderen Text ein, den Sie nicht lesen möchten. Wenn mehrere Textbereiche vorhanden sind, erstellen Sie für jeden eine separate ROI.
tipp

Wenn Sie Text aus mehreren Bereichen des Bauteils lesen müssen (z. B. eine Seriennummer UND einen Datumscode), erstellen Sie für jeden eine separate ROI. So erhalten Sie unabhängige Ergebnisse, und Pass/Fail-Regeln lassen sich einfacher konfigurieren.

4f. Zusätzliche ROIs erstellen (optional)

Wiederholen Sie die Schritte 4c–4e für jeden Textbereich, den Sie lesen müssen. Jede ROI erhält ihren eigenen Namen in der Region of Interest-Liste. Benennen Sie sie aussagekräftig um (z. B. "Serial Number", "Date Code", "Part Label"), indem Sie auf den Namen doppelklicken.

tipp

Verwenden Sie Kopieren und Einfügen, um ROIs zu duplizieren. Die Namen werden automatisch hochgezählt (z. B. "ROI", "ROI (1)", "ROI (2)").


Schritt 5: OCR-Block konfigurieren und testen

5a. Zum OCR-Block navigieren

Klicken Sie auf den Tab OCR Block in der Tab-Leiste des Recipe Editors. Auf der linken Seite sehen Sie das Kamerabild und auf der rechten Seite ein Einstellungspanel.

Übersichtsseite des OCR-Blocks

Das rechte Panel zeigt:

  • Beschreibung OPTICAL CHARACTER RECOGNITION
  • Erläuterung, dass es sich um ein vortrainiertes Modell handelt, das keine Trainingsdaten benötigt
  • Anweisungen zur Verwendung von Live Preview oder Test zur Validierung

5b. Live Preview aktivieren

Aktivieren Sie das Kontrollkästchen Live Preview Mode oben rechts. Die Kamera beginnt, Frames in Echtzeit zu verarbeiten.

OCR Live Preview mit Parameter-Panel

Bei aktivem Live Preview sehen Sie:

  • Processing Time: Wie lange das OCR-Modell pro Frame benötigt
  • Latency: Gesamte Round-Trip-Zeit einschließlich Bildaufnahme und Rendering
  • Lila Bounding Boxes um erkannte Textbereiche, eingeblendet im Kamerabild
  • Erkannten Text, angezeigt als Labels auf jeder Bounding Box
  • Parameter-Panel rechts zur Feinabstimmung der Erkennungseinstellungen

5c. Überprüfen, ob OCR korrekt liest

Platzieren Sie bei aktiviertem Live Preview Ihr Bauteil unter der Kamera und überprüfen Sie:

  1. Werden alle Textbereiche erkannt? Sie sollten lila Boxen um jedes Wort/jede Phrase in der ROI sehen.
  2. Wird der Text korrekt gelesen? Die Labels sollten mit dem tatsächlichen Text auf dem Bauteil übereinstimmen.
  3. Gibt es Fehlerkennungen? Werden Nicht-Text-Bereiche fälschlicherweise als Text identifiziert?
  4. Bewegen Sie das Bauteil leicht. Funktioniert OCR weiterhin an unterschiedlichen Positionen (dies testet die Ausrichtung)?

Wenn Text nicht erkannt oder falsch gelesen wird, prüfen Sie:

  • Die ROI-Ausrichtung stimmt mit der Textausrichtung überein (siehe Schritt 4d)
  • Die ROI ist korrekt über dem Text positioniert
  • Die Bildqualität ist gut (scharfer Fokus, guter Kontrast, gleichmäßige Beleuchtung)
  • Versuchen Sie, die OCR-Parameter anzupassen (siehe nächster Abschnitt)

Schritt 6: OCR-Parameter feinabstimmen

Wenn Live Preview aktiviert ist, zeigt das rechte Panel vier einstellbare Parameter an. Diese steuern die Phase der Texterkennung (Finden, wo sich Text befindet), nicht die Erkennungsphase (Lesen, was geschrieben steht).

ParameterStandardFunktion
Text Segmentation Threshold0.10Wie sicher der Detektor sein muss, dass ein Bereich Text enthält. Höhere Werte = strengere Erkennung, weniger Falscherkennungen, aber möglicherweise wird schwacher Text übersehen. Niedrigere Werte = empfindlicher, erfasst schwachen Text, kann aber Fehlerkennungen verursachen. Bereich: 0.0 bis 1.0.
Unclip Ratio4.0Wie stark erkannte Bounding Boxes ausgehend von der Textkontur nach außen erweitert werden. Höhere Werte = größere Boxen. Erhöhen Sie diesen Wert, wenn Boxen die Ränder großer Zeichen abschneiden. Verringern Sie ihn, wenn benachbarte Wörter in einer Box zusammengeführt werden.
Unclip Ceiling20Maximale Pixel-Erweiterung beim Unclipping. Dies begrenzt das Wachstum, damit Erweiterungen mit hohem Verhältnis bei großem Text keine enormen Boxen erzeugen. Erhöhen Sie diesen Wert, wenn großer Text trotz Erhöhung des Unclip Ratio noch abgeschnitten wird.
Min Text Area500Mindestfläche (in Pixeln) für einen erkannten Textbereich. Alles Kleinere wird als Rauschen verworfen. Erhöhen Sie diesen Wert, wenn kleine Artefakte als Text erkannt werden. Verringern Sie ihn, wenn kleiner, aber gültiger Text herausgefiltert wird.
Wann Parameter anzupassen sind

Beginnen Sie mit den Standardwerten. Passen Sie diese nur an, wenn Sie in Live Preview bestimmte Probleme feststellen:

ProblemAnzupassender ParameterRichtung
Nicht-Text-Bereiche werden als Text erkanntText Segmentation ThresholdErhöhen
Gültiger Text wird übersehenText Segmentation ThresholdVerringern
Bounding Boxes schneiden Zeichenränder abUnclip RatioErhöhen
Benachbarte Wörter werden in einer Box zusammengeführtUnclip RatioVerringern
Boxen werden bei großem Text zu großUnclip CeilingVerringern
Großer Text wird trotz Erhöhung der Unclip Ratio abgeschnittenUnclip CeilingErhöhen
Rauschen/Artefakte werden als Text erkanntMin Text AreaErhöhen
Kleiner, gültiger Text wird herausgefiltertMin Text AreaVerringern

Parameteränderungen werden in Live Preview sofort wirksam, sodass Sie iterativ feinabstimmen können. Diese Parameter gelten auch bei Produktionsaufnahmen, nicht nur in der Vorschau.


Schritt 7: Test mit aufgenommenen Bildern

Nach der Parameteranpassung mit Live Preview validieren Sie OCR anhand einer Reihe von Produktionsmustern.

7a. Verwendung des Test-Panels

  1. Deaktivieren Sie den Live Preview Mode (Kontrollkästchen abwählen)
  2. Klicken Sie auf die Schaltfläche Test

Test-Panel des OCR-Blocks mit den Optionen Select From Library und Upload

  1. Klicken Sie auf Select From Library, um Bilder aus zuvor erfassten Inspektionen auszuwählen, oder klicken Sie auf Upload Captures, um Bilder von Ihrem Computer hochzuladen
  2. Die Testergebnisse zeigen für jede ROI:
    • Detected Text (in Monospace-/Code-Formatierung angezeigt)
    • Confidence (farbcodiertes Tag: grün über 80 %, orange über 50 %, rot unter 50 %)
    • Detection Count (wie viele Textbereiche gefunden wurden)

7b. Worauf Sie achten sollten

  • Konsistenz: Liest die OCR jedes Mal denselben Text für dasselbe Teil?
  • Genauigkeit: Stimmen die erkannten Zeichenfolgen mit dem tatsächlichen Text auf dem Teil überein?
  • Confidence-Werte: Liegen sie konstant über 80 %? Niedrige Confidence-Werte deuten häufig auf Probleme mit der Bildqualität hin.
  • Sonderfälle: Testen Sie mit Teilen, deren Text verschmiert, verblasst oder teilweise verdeckt ist.
vorsicht

Wenn die Confidence-Werte durchgängig unter 80 % liegen, überprüfen Sie Ihre Bildeinstellungen (Schritt 2). Die OCR-Genauigkeit hängt direkt mit der Bildqualität zusammen. Keine noch so feine Parameteranpassung kann ein unscharfes oder schlecht ausgeleuchtetes Bild kompensieren.


Schritt 8: Pass/Fail-Regeln einrichten (IO Logic)

Sobald die OCR Text korrekt erkennt, müssen Sie definieren, was ein Pass oder Fail darstellt. Navigieren Sie zum Tab IO Logic.

Basic Mode

Der Basic Mode bietet eine einfache, regelbasierte Benutzeroberfläche für die OCR-Pass/Fail-Logik. Kenntnisse in Node-RED sind nicht erforderlich.

Basic Mode Pass/Fail & IO Logic mit dem Abschnitt OCR Rules

Die Seite zeigt:

  • Preview / Test-Tabs auf der linken Seite (zur Visualisierung der Ergebnisse gegenüber Ihren Regeln)
  • Abschnitt OCR Rules auf der rechten Seite
  • Schaltfläche Save & Deploy zum Aktivieren der Regeln
  • Schaltfläche Advanced Mode zum Wechseln zu Node-RED

Erstellen einer Regel

Klicken Sie auf + Add rule, um eine Pass/Fail-Regel zu erstellen. Jede Regel hat drei Felder:

Add rule mit ROIs-Dropdown, Operator-Dropdown und Text-Eingabe

FeldBeschreibung
ROIsWelche ROI(s) ausgewertet werden sollen. Klicken Sie zum Aufklappen und wählen Sie "All ROIs" oder bestimmte Bereiche aus.
OperatorDer Vergleich, der auf den erkannten Text angewendet wird.
TextDie erwartete Textzeichenfolge, mit der verglichen wird.

Verfügbare Operatoren

Klicken Sie auf das Operator-Dropdown, um alle vier Optionen anzuzeigen:

Operator-Dropdown mit equals, not equals, includes, not includes

OperatorVerhaltenBeispiel-Anwendungsfall
= (equals)Der gesamte erkannte und zusammengefügte Text muss exakt mit dem erwarteten Text übereinstimmenÜberprüfen, ob eine Seriennummer exakt als "SN-2025-0042" gelesen wird
!= (not equals)Der zusammengefügte Text darf NICHT mit dem erwarteten Text übereinstimmenTeile mit einem bekannt fehlerhaften Code zurückweisen
includesDer zusammengefügte Text muss den erwarteten Text als Teilzeichenfolge enthaltenPrüfen, ob ein Etikett irgendwo das Wort "SAFETY" enthält
not includesDer zusammengefügte Text darf den erwarteten Text NICHT enthaltenSicherstellen, dass ein veralteter Produktcode nicht erscheint

Wie Text verglichen wird

Wichtig: Verhalten beim Zusammenfügen von Text

Wenn ein ROI mehrere erkannte Textbereiche enthält (z. B. erkennt der Detektor "LOT" und "2025" als separate Wörter), werden alle einzelnen Textzeichenketten vor dem Vergleich mit Leerzeichen verbunden.

Wenn der Detektor also drei Textbereiche mit "LOT", "2025" und "A1" erkennt, wird der zusammengefügte Text zu "LOT 2025 A1". Ihre Regel vergleicht mit diesem vollständigen, zusammengefügten String.

Das bedeutet:

  • Eine equals-Regel für "LOT 2025 A1" würde bestehen
  • Eine includes-Regel für "2025" würde bestehen
  • Eine equals-Regel für nur "LOT" würde fehlschlagen (weil der zusammengefügte Text mehr enthält als nur "LOT")

Mehrere Regeln

Sie können weitere Regeln hinzufügen, indem Sie erneut auf + Add rule klicken. Alle Regeln verwenden UND-Logik: Jede Regel muss bestehen, damit die OCR-Prüfung besteht. Wenn eine einzelne Regel fehlschlägt, schlägt die gesamte Inspektion fehl.

ROI-Auswahl

ROIs-Dropdown mit der Option All ROIs

Klicken Sie auf das ROIs-Dropdown, um auszuwählen, auf welche Region(en) sich die Regel bezieht:

  • All ROIs: Die Regel wertet den Text aller OCR-Regionen zusammen aus
  • Specific ROI: Erweitern Sie, um einzelne ROIs nach Namen auszuwählen (deshalb ist eine aussagekräftige Benennung Ihrer ROIs in Schritt 4f wichtig)

Speichern und Bereitstellen

Klicken Sie nach der Konfiguration Ihrer Regeln auf Save & Deploy, um sie zu aktivieren. Die Regeln werden sofort für alle zukünftigen Inspektionen wirksam.


Advanced Mode (Node-RED)

Für komplexere Pass/Fail-Logik, die der Basic Mode nicht verarbeiten kann, wechseln Sie in den Advanced Mode.

Klicken Sie auf die Schaltfläche Advanced Mode, um einen Bestätigungsdialog zu sehen:

Basic Mode-Bestätigungsdialog erklärt den Wechsel

Der Dialog erklärt:

  • Der Advanced Mode nutzt die vollständige visuelle Programmierumgebung von Node-RED
  • Alle Basic Mode-Regeln werden deaktiviert
  • Sie können jederzeit zurück in den Basic Mode wechseln

Klicken Sie auf Switch to Advanced Mode (oder, falls Sie sich bereits im Advanced Mode befinden, lautet die Schaltfläche Basic Mode).

Advanced Mode Node-RED-Flow mit Check OCR-Node

Im Advanced Mode sehen Sie eine Node-RED-Flow-Leinwand mit vorgefertigten Nodes, einschließlich:

  • All Block Outputs: Empfängt Ergebnisse aller AI-Blöcke (Classification, Segmentation, OCR, Measurement)
  • Check OCR (oder ähnlich): Ein Function-Node mit JavaScript, der OCR-Ergebnisse auswertet
  • Classification Block Logic / Format Data for PLC / Trigger: Weitere Output-Nodes für die Integration
  • Inspection Pass/Fail: Endgültige Pass/Fail-Bestimmung
  • Save to Library: Speichert Ergebnisse

OCR-Ausgabe-Payload in Node-RED

Im Advanced Mode sind die OCR-Ergebnisse im Objekt msg.payload.ocr verfügbar. Dies bietet Ihnen vollständigen programmatischen Zugriff auf jede Erkennung:

{
"predictions": [
{
"roi_id": 1,
"roi_name": "Serial Number",
"center_x_global": 450,
"center_y_global": 220,
"angle_global": 90,
"search_area_id": 1,
"detections": [
{
"text": "SN-2025-0042",
"confidence": 0.95,
"roi_bbox": {
"x": 10,
"y": 5,
"width": 120,
"height": 30,
"angle": 0
},
"global_bbox": {
"x": 450,
"y": 220,
"width": 120,
"height": 30,
"angle": 90
}
}
]
}
]
}
FeldBeschreibung
roi_idNumerische ID des ROI, der dieses Ergebnis erzeugt hat
roi_nameDer Name, den Sie dem ROI gegeben haben (z. B. "Serial Number")
center_x_global / center_y_globalMittelpunktposition des ROI in Vollbildkoordinaten
angle_globalRotationswinkel des ROI im Vollbild
search_area_idDer Inspektionstyp / Suchbereich, zu dem dieser ROI gehört
detectionsArray einzelner Texterkennungen innerhalb dieses ROI
detections[].textDie erkannte Textzeichenkette
detections[].confidenceErkennungskonfidenz von 0.0 bis 1.0 (begrenzt)
detections[].roi_bboxBounding-Box-Position relativ zum ROI-Crop-Ursprung
detections[].global_bboxBounding-Box-Position im vollständigen Kamerabild (berücksichtigt ROI-Rotation und -Ausrichtung)
tipp

Verwenden Sie msg.payload.ocr.predictions[0].detections.map(d => d.text).join(" "), um dieselbe zusammengefügte Textzeichenkette zu erhalten, die der Basic Mode für den Vergleich verwendet.

Mit dem Advanced Mode können Sie:

  • Regex-Muster mit JavaScript auf erkannten Text anwenden
  • Erkennungen nach Konfidenzschwelle filtern
  • OCR-Ergebnisse mit Classification-/Segmentation-Ergebnissen für komplexe Logik kombinieren
  • OCR-Text für die PLC-Ausgabe formatieren (z. B. die erkannte Seriennummer über EtherNet/IP senden)
  • Benutzerdefinierte Nachrichten basierend auf OCR-Inhalten an Microsoft Teams oder per E-Mail senden

Eine ausführliche Anleitung zu Node-RED finden Sie unter Node-RED Basics.

Wechsel zwischen Modi

Sie können jederzeit zwischen Basic und Advanced Mode wechseln, indem Sie die Umschaltfläche oben auf der IO Logic-Seite verwenden. Beim Wechsel in den Basic Mode wird jede bereitgestellte Node-RED-Logik deaktiviert und durch Basic Mode-Regeln ersetzt. Beim Zurückwechseln wird der Node-RED-Flow wiederhergestellt.


Schritt 9: Rezept bereitstellen

Sobald Ihre OCR-Konfiguration abgeschlossen und getestet ist:

  1. Navigieren Sie zurück zum Recipe Editor (klicken Sie auf Recipe Editor in der linken Seitenleiste)
  2. Klicken Sie auf die violette Schaltfläche Deploy Recipe unten rechts
  3. Das Rezept ist nun aktiv und führt Inspektionen durch

Ergebnisse anzeigen

HMI

Die HMI-Seite zeigt Live-Inspektionsergebnisse an. Bei aktiver OCR sehen Sie:

  • Das Live-Kamerabild mit violetten Begrenzungsrahmen um den erkannten Text
  • Textbeschriftungen, die anzeigen, was gelesen wurde
  • Pass/Fail-Status basierend auf Ihren IO Logic-Regeln
  • Laufende Statistiken: Gesamtinspektionen, bestanden, fehlgeschlagen, Ausbeute in Prozent

HMI-Ansicht mit Live-OCR-Inspektionsergebnissen

Library

Navigieren Sie zu Library in der linken Seitenleiste, um gespeicherte Ergebnisse vergangener Aufnahmen zu überprüfen. Jeder Aufnahmeeintrag zeigt:

  • Das aufgenommene Bild mit OCR-Overlay
  • Erkannter Text pro ROI
  • Konfidenzwerte
  • Pass/Fail-Ergebnis

Fehlerbehebung

Kein Text erkannt

Mögliche UrsacheLösung
ROI nicht über dem Text positioniertROI im Inspection Setup neu positionieren
ROI-Ausrichtung stimmt nicht mit dem Text übereinROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d)
Text zu klein im BildKamera näher heranbringen oder Objektiv mit längerer Brennweite verwenden
Text zu klein im Verhältnis zur ROIROI enger um den Textbereich anpassen
Min Text Area zu hochParameter Min Text Area verringern
Schlechte Beleuchtung / niedriger KontrastBeleuchtung verbessern, um den Kontrast zwischen Text und Hintergrund zu maximieren
Text ist unscharfFokus am C-Mount-Objektiv anpassen und stabile Kameramontage sicherstellen
Alignment nicht eingerichtetTexterkennung erfordert Alignment. Template-Alignment einrichten (Schritt 3)

Falscher Text erkannt (Fehllesungen)

Mögliche UrsacheLösung
ROI-Ausrichtung stimmt nicht mit der Textausrichtung übereinDies ist die häufigste Ursache. ROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d)
Schlechte Bildqualität oder RauschenBelichtung erhöhen, Gain reduzieren, Beleuchtung verbessern
Text Segmentation Threshold zu niedrigErhöhen, um Fehlerkennungen herauszufiltern
Überlappende Textbereiche werden zu einer Erkennung zusammengeführtUnclip Ratio verringern, um das Zusammenführen von Boxen zu verhindern
Mehrere Textzeilen in einer ROISeparate ROIs für jede Zeile erstellen, wenn die Lesereihenfolge wichtig ist

OCR-Konfidenz ist durchgehend niedrig

Mögliche UrsacheLösung
Ungleichmäßige BeleuchtungGleichmäßige Ausleuchtung über den gesamten Textbereich sicherstellen
Blendung oder Reflexionen auf dem Text (besonders bei glänzenden Etiketten)Beleuchtungswinkel anpassen, um Spiegelreflexionen zu vermeiden. Diffuse Beleuchtung in Betracht ziehen.
Sehr kleine oder stark stilisierte SchriftKamera näher heranbringen oder Objektiv mit längerer Brennweite verwenden, um die Textgröße im Bild zu vergrößern
Beschädigter, verblasster oder unvollständig gedruckter TextOCR kann nur lesen, was die Kamera sieht. Bei physisch beschädigtem Text ist die Genauigkeit geringer.
Hoher Gain in den BildeinstellungenGain reduzieren. Hoher Gain erzeugt Rauschen, das wie Textartefakte aussieht.

Pass/Fail-Regeln funktionieren nicht wie erwartet

Mögliche UrsacheLösung
Text wird anders verbunden als erwartetLive Preview aktivieren und genau prüfen, welcher Text erkannt wird. Beachten Sie, dass mehrere Erkennungen mit Leerzeichen verbunden werden.
"equals" verwendet, wenn "includes" besser geeignet wäreWenn nur ein Teilstring relevant ist, "includes" statt "equals" verwenden
Regeln nicht bereitgestelltNach dem Ändern von Regeln im Basic Mode auf Save & Deploy klicken
Falsche ROI in der Regel ausgewähltDas ROIs-Dropdown in Ihrer Regel überprüfen, um sicherzustellen, dass sie auf den richtigen Bereich abzielt

Einschränkungen

  • Maximal 1 OCR-Block pro Recipe (innerhalb dieses Blocks sind mehrere ROIs möglich)
  • Nur für Englisch optimiertes Modell: Das vortrainierte Modell ist für gedruckten Text auf Basis lateinischer Schrift optimiert. Handschriftlicher Text, Schreibschrift oder nicht-lateinische Schriften (Chinesisch, Japanisch, Koreanisch, Arabisch) werden nicht unterstützt.
  • Keine Regex- oder Mustererkennung im Basic Mode: Pass/Fail-Regeln verwenden einfache Zeichenkettenvergleiche (equals, not equals, includes, not includes). Für komplexe Validierungsmuster (z. B. Abgleich mit "SN-####-####") verwenden Sie den Advanced Mode (Node-RED) mit benutzerdefinierten JavaScript-Regex-Ausdrücken.
  • Kein benutzerkonfigurierbarer Zeichensatz: Das 480 Zeichen umfassende Wörterbuch des Modells ist fest vorgegeben. Sie können die Erkennung beispielsweise nicht ausschließlich auf Ziffern beschränken. Verwenden Sie Pass/Fail-Regeln, um das erwartete Format zu validieren.
  • Keine garantierte Textreihenfolge: Wenn innerhalb eines ROI mehrere Textregionen erkannt werden, werden sie in der Erkennungsreihenfolge (nach Kontur) zusammengefügt, nicht zwingend in der Leserichtung (von links nach rechts, von oben nach unten). Wenn die Leserichtung wichtig ist, verwenden Sie für jede Textzeile separate ROIs.
  • Nur vortrainiertes Modell: Im Gegensatz zu Klassifizierung und Segmentierung kann das OCR-Modell nicht auf Ihre spezifischen Schriftarten oder Textstile neu trainiert oder feinabgestimmt werden. Es verwendet das integrierte vortrainierte OCR-Modell.

Siehe auch