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 vergleichen möchten
  • Prüfen möchten, ob Etiketten vorhanden und lesbar sind
  • Datums-/Verfallscodes zur Rückverfolgbarkeit lesen möchten
  • Teilenummern auf Komponenten während der Montage überprüfen möchten
Nur OV80i

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


Funktionsweise von OCR​

Die OV80i verwendet eine zweistufige KI-Pipeline zur Texterkennung:

  1. Texterkennung (Detection): Findet, wo sich Text innerhalb der ROI befindet. Gibt Bounding Boxes um jedes erkannte Wort oder jeden Textbereich zurück.
  2. Textauslesung (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. Eine Cloud-Verbindung ist nicht erforderlich.

Das Modell erkennt einen breiten Zeichensatz, darunter:

  • Ziffern (0-9)
  • Lateinische Buchstaben (A-Z, a-z, Zeichen mit Akzent)
  • Gängige Interpunktion 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 Großteil der gedruckten industriellen Texte in lateinbasierten Sprachen abdecken.


Voraussetzungen​

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

  • physisch montiert und stabil ist
  • mit Ihrem Netzwerk verbunden und über einen Browser erreichbar ist
  • auf das Teil mit dem auszulesenden Text fokussiert ist

Falls Sie dies noch nicht erledigt haben, folgen Sie zunächst den Einführungsanleitungen:


Schritt 1: Ein neues Rezept erstellen​

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

  1. Navigieren Sie in der linken Seitenleiste zu All Recipes
  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 als aktives Rezept festzulegen, und dann auf Edit, um den Recipe Editor zu öffnen

Übersicht des Recipe Editor mit allen Blöcken

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

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

Eine detaillierte Anleitung zur Rezepterstellung finden Sie unter Create First Inspection.


Schritt 2: Bildeinstellungen konfigurieren​

Eine gute Bildqualität ist die Grundlage für eine präzise OCR. Der Text muss mit starkem Kontrast klar 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 klar zu sehen. Zu dunkel, und die Zeichen verschwinden im Hintergrund. Zu hell, und weiße Etiketten werden überbelichtet.
GainSo niedrig wie möglich halten. Hoher Gain verursacht 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 unscharf oder verschwommen erscheinen, 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 klar 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
  • Blendung auf glänzenden Etiketten
  • Unterbelichtung, die den Text schwer vom Hintergrund unterscheidbar macht
tipp

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

Eine detaillierte 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 unerlässlich, da Teile nicht immer exakt an derselben Stelle auf dem Förderband oder in 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 auf Merkmalen ein, die immer vorhanden und leicht zu identifizieren sind (z. B. Ecken, Logos, Montagebohrungen)
hinweis

Platzieren Sie die Vorlagenbereiche möglichst weit voneinander entfernt auf dem Teil. Dies reduziert das Winkelzittern bei der Ausrichtung erheblich. Zwei eng beieinander liegende Bereiche bieten eine schlechte Rotationsstabilität; zwei Bereiche an gegenüberliegenden Ecken bieten eine ausgezeichnete Stabilität.

warnung

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

Eine ausführliche Anleitung zur Vorlagenausrichtung finden Sie unter Alignment.


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

Nun legen Sie fest, wo genau 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 im Recipe Editor auf den Tab Inspection Setup
  2. Sie sehen den Inspection Editor mit Ihrem Vorlagenbild

4b. Das OCR-Modell hinzufügen​

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

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

4c. Eine OCR-ROI erstellen​

  1. Stellen Sie sicher, dass die OCR-Modellzeile in der Models-Liste ausgewählt (markiert) 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, um sie über dem zu lesenden Text zu positionieren
  5. Ändern Sie die Größe, indem Sie die Eckgriffe ziehen

Inspection Setup mit OCR-ROI über Text gezeichnet

4d. Die ROI-Ausrichtung festlegen​

ROI-Ausrichtung MUSS mit der Textausrichtung übereinstimmen

Dies ist der mit Abstand wichtigste Punkt, den Sie beachten müssen. Die Ausrichtung Ihrer ROI muss mit der Ausrichtung des zu lesenden Textes übereinstimmen.

Die OCR-Engine schneidet das Bild mit dem Winkel der ROI aus und verarbeitet den Ausschnitt dann so, als wäre der Text horizontal. Wenn der Winkel Ihrer ROI nicht mit dem Textwinkel übereinstimmt, versucht die Engine, rotierten Text zu lesen und erzeugt unbrauchbare Ergebnisse.

Beispiele:

  • Text verläuft horizontal von links nach rechts: 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 befindet sich in einem Winkel von 45 Grad: ROI-Winkel sollte 45 Grad betragen

So drehen Sie eine ROI:

  1. Wählen Sie die ROI aus, indem Sie darauf klicken
  2. Verwenden Sie den Drehgriff an der Ecke der ROI ODER
  3. Legen Sie den Winkelwert direkt in den Positionsfeldern am unteren Rand der Arbeitsfläche fest

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

Ausgewählte ROI mit Anzeige von Position, Abmessungen und 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 falsche Detektionen verursachen.
  • Lassen Sie einen kleinen Rand (10–20 Pixel) um den Text, damit die Zeichen an den Rändern nicht abgeschnitten werden.
  • Beziehen Sie keinen weiteren Text ein, den Sie nicht lesen möchten. Bei mehreren Textbereichen erstellen Sie separate ROIs für jeden Bereich.
tipp

Wenn Sie Text aus mehreren Bereichen des Teils lesen müssen (z. B. eine Seriennummer UND einen Datumscode), erstellen Sie für jeden Bereich eine separate ROI. Dies liefert unabhängige Ergebnisse und erleichtert die Konfiguration von Pass/Fail-Regeln.

4f. Zusätzliche ROIs erstellen (optional)​

Wiederholen Sie die Schritte 4c–4e für jeden Textbereich, den Sie lesen möchten. Jede ROI erhält einen eigenen Namen in der Liste der Regions of Interest. Benennen Sie sie durch Doppelklick auf den Namen in etwas Aussagekräftiges um (z. B. „Serial Number", „Date Code", „Part Label").

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 in der Registerleiste des Recipe Editors auf den Tab OCR Block. Links sehen Sie das Kamerabild und rechts ein Einstellungspanel.

Übersichtsseite des OCR Blocks

Das rechte Panel zeigt:

  • Beschreibung OPTICAL CHARACTER RECOGNITION
  • Erklärung, 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 oben rechts das Kontrollkästchen Live Preview Mode. Die Kamera beginnt mit der Echtzeitverarbeitung der Bilder.

OCR Live Preview mit Parameter-Panel

Bei aktiver Live Preview sehen Sie:

  • Processing Time: Wie lange das OCR-Modell pro Bild benötigt
  • Latency: Gesamte Umlaufzeit einschließlich Bildaufnahme und Rendering
  • Violette Bounding Boxes um erkannte Textregionen, überlagert auf dem Kamerabild
  • Erkannter Text als Beschriftung auf jeder Bounding Box angezeigt
  • Parameter-Panel rechts zum Feinabstimmen der Detektionseinstellungen

5c. Prüfen, ob OCR korrekt liest​

Platzieren Sie bei aktivierter Live Preview Ihr Teil unter der Kamera und überprüfen Sie:

  1. Werden alle Textregionen erkannt? Sie sollten violette Boxen um jedes Wort/jeden Satz in der ROI sehen.
  2. Wird der Text korrekt gelesen? Die Beschriftungen sollten mit dem tatsächlichen Text auf dem Teil übereinstimmen.
  3. Gibt es Falschdetektionen? Werden Nicht-Text-Bereiche fälschlicherweise als Text identifiziert?
  4. Bewegen Sie das Teil leicht. Funktioniert OCR auch bei unterschiedlichen Positionen weiterhin (dies testet die Ausrichtung)?

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

  • ROI-Ausrichtung stimmt mit der Textausrichtung überein (siehe Schritt 4d)
  • Die ROI ist korrekt über dem Text positioniert
  • 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 abstimmen​

Wenn Live Preview aktiviert ist, zeigt das rechte Panel vier einstellbare Parameter. Diese steuern die Phase der Texterkennung (Finden der Textpositionen), nicht die Erkennungsphase (Lesen des Inhalts).

ParameterStandardFunktion
Text Segmentation Threshold0,10Wie sicher der Detektor sein muss, dass eine Region Text enthält. Höhere Werte = strengere Detektion, weniger Falschpositive, aber möglicherweise werden schwache Texte übersehen. Niedrigere Werte = empfindlicher, erkennt schwachen Text, kann aber zu Falschdetektionen führen. Bereich: 0,0 bis 1,0.
Unclip Ratio4,0Wie weit erkannte Bounding Boxes vom Textkontur nach außen erweitert werden. Höhere Werte = größere Boxen. Erhöhen Sie den Wert, wenn Boxen die Ränder großer Zeichen abschneiden. Verringern Sie ihn, wenn benachbarte Wörter zu einer Box verschmelzen.
Unclip Ceiling20Maximale Pixel-Erweiterung durch Unclipping. Dies begrenzt das Wachstum, damit große Ratio-Erweiterungen bei großem Text keine riesigen Boxen erzeugen. Erhöhen Sie den Wert, wenn großer Text selbst nach Erhöhung der Unclip Ratio noch abgeschnitten wird.
Min Text Area500Mindestfläche (in Pixeln) für eine erkannte Textregion. Alles Kleinere wird als Rauschen verworfen. Erhöhen Sie den Wert, wenn kleine Artefakte als Text erkannt werden. Verringern Sie ihn, wenn kleiner, aber gültiger Text herausgefiltert wird.
Wann Parameter anpassen

Beginnen Sie mit den Standardwerten. Passen Sie nur an, wenn Sie spezifische Probleme in Live Preview sehen:

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 verschmelzen zu einer BoxUnclip RatioVerringern
Boxen werden bei großem Text zu großUnclip CeilingVerringern
Großer Text wird trotz Erhöhung der Unclip Ratio noch 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 abstimmen können. Diese Parameter gelten auch während der Produktionsaufnahmen, nicht nur während der Vorschau.


Schritt 7: Mit aufgenommenen Bildern testen​

Nachdem Sie die Parameter mit Live Preview optimiert haben, validieren Sie die OCR anhand verschiedener Produktionsmuster.

7a. Verwendung des Test-Panels​

  1. Deaktivieren Sie den Live Preview-Modus (Häkchen entfernen)
  2. Klicken Sie auf die Schaltfläche Test

Test OCR Block panel with Select From Library and Upload options

  1. Klicken Sie auf Select From Library, um Bilder aus zuvor aufgenommenen 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 (dargestellt in Monospace-/Code-Formatierung)
    • 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 bei demselben Teil jedes Mal denselben Text?
  • Genauigkeit: Stimmen die erkannten Zeichenfolgen mit dem tatsächlichen Text auf dem Teil überein?
  • Confidence-Werte: Liegen sie durchgehend über 80 %? Niedrige Confidence weist häufig auf Probleme mit der Bildqualität hin.
  • Grenzfälle: Testen Sie mit Teilen, die verschmierten, verblassten oder teilweise verdeckten Text aufweisen.
vorsicht

Wenn die Confidence-Werte durchgehend unter 80 % liegen, überprüfen Sie Ihre Bildeinstellungen (Schritt 2). Die OCR-Genauigkeit ist direkt an die Bildqualität gekoppelt. Keine noch so gute Parameterabstimmung kann ein unscharfes oder schlecht beleuchtetes Bild kompensieren.


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

Nachdem die OCR Text korrekt erkennt, müssen Sie definieren, was als Pass oder Fail gilt. Navigieren Sie zur Registerkarte IO Logic.

Basic Mode​

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

Basic Mode Pass/Fail & IO Logic with OCR Rules section

Die Seite zeigt:

  • Preview / Test-Registerkarten links (zur Visualisierung der Ergebnisse gegenüber Ihren Regeln)
  • OCR Rules-Bereich rechts
  • Save & Deploy-Schaltfläche zum Aktivieren der Regeln
  • Advanced Mode-Schaltfläche zum Wechseln zu Node-RED

Eine Regel erstellen​

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

Add rule showing ROIs dropdown, Operator dropdown, and Text input

FeldBeschreibung
ROIsWelche ROI(s) ausgewertet werden sollen. Klicken Sie, um die Auswahl zu erweitern und "All ROIs" oder bestimmte Bereiche auszuwählen.
OperatorDer Vergleich, der mit dem erkannten Text durchgeführt werden soll.
TextDie erwartete Textzeichenfolge für den Vergleich.

Verfügbare Operatoren​

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

Operator dropdown showing equals, not equals, includes, not includes

OperatorVerhaltenBeispiel-Anwendungsfall
= (equals)Der gesamte zusammengefügte erkannte Text muss exakt übereinstimmen mit dem erwarteten TextPrüfen, dass eine Seriennummer genau "SN-2025-0042" lautet
!= (not equals)Der zusammengefügte Text darf NICHT übereinstimmen mit dem erwarteten TextTeile mit einem bekannten fehlerhaften Code zurückweisen
includesDer zusammengefügte Text muss den erwarteten Text als Teilzeichenfolge enthaltenPrüfen, dass 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 eine ROI mehrere erkannte Textbereiche enthält (z. B. erkennt der Detektor "LOT" und "2025" als separate Wörter), werden alle einzelnen Textzeichenfolgen vor dem Vergleich mit Leerzeichen verbunden.

Wenn der Detektor also drei Textbereiche mit den Inhalten "LOT", "2025" und "A1" findet, wird der zusammengefügte Text zu "LOT 2025 A1". Ihre Regel vergleicht mit dieser vollständigen zusammengefügten Zeichenfolge.

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 (da der zusammengefügte Text mehr als nur "LOT" enthält)

Mehrere Regeln​

Sie können mehrere Regeln hinzufügen, indem Sie erneut auf + Add rule klicken. Alle Regeln verwenden AND-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 Option "All ROIs"

Klicken Sie auf das ROIs-Dropdown, um auszuwählen, für welche Region(en) die Regel gilt:

  • All ROIs: Die Regel bewertet den Text aus allen OCR-Regionen kombiniert
  • Specific ROI: Erweitern Sie die Auswahl, um einzelne ROIs nach Namen auszuwählen (deshalb ist es wichtig, Ihre ROIs in Schritt 4f aussagekräftig zu benennen)

Speichern und Bereitstellen​

Nachdem Sie Ihre Regeln konfiguriert haben, klicken Sie 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 abdecken 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, der den Wechsel erklärt

Der Dialog erklärt:

  • Advanced Mode verwendet die vollständige visuelle Programmierumgebung von Node-RED
  • Alle Basic-Mode-Regeln werden deaktiviert
  • Sie können jederzeit zum Basic Mode zurückwechseln

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-Oberfläche mit vorgefertigten Nodes, darunter:

  • All Block Outputs: Empfängt Ergebnisse von allen AI-Blöcken (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: Finale Pass/Fail-Entscheidung
  • Save to Library: Speichert Ergebnisse

OCR-Ausgabe-Payload in Node-RED​

Im Advanced Mode sind OCR-Ergebnisse im Objekt msg.payload.ocr verfügbar. Dies ermöglicht 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 der ROI, die dieses Ergebnis erzeugt hat
roi_nameDer Name, den Sie der ROI gegeben haben (z. B. "Serial Number")
center_x_global / center_y_globalMittelposition der ROI in Vollbild-Koordinaten
angle_globalRotationswinkel der ROI im Vollbild
search_area_idDer Inspektionstyp / Suchbereich, zu dem diese ROI gehört
detectionsArray einzelner Texterkennungen, die innerhalb dieser ROI gefunden wurden
detections[].textDie erkannte Textzeichenfolge
detections[].confidenceErkennungskonfidenz von 0.0 bis 1.0 (begrenzt)
detections[].roi_bboxPosition des Bounding-Box relativ zum Ursprung des ROI-Ausschnitts
detections[].global_bboxPosition des Bounding-Box 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 Textzeichenfolge zu erhalten, die der Basic Mode zum Vergleich verwendet.

Mit dem Advanced Mode können Sie:

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

Einen ausführlichen Leitfaden zu Node-RED finden Sie unter Node-RED Basics.

Wechseln zwischen Modi

Sie können jederzeit mit der Umschalttaste oben auf der IO-Logic-Seite zwischen Basic und Advanced Mode wechseln. 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-Einrichtung 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 lila 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. Mit aktivem OCR sehen Sie:

  • Das Live-Kamerabild mit lila Begrenzungsrahmen um erkannten Text
  • Textbeschriftungen, die das Gelesene anzeigen
  • Pass/Fail-Status basierend auf Ihren IO Logic-Regeln
  • Laufende Statistiken: Gesamtinspektionen, bestanden, fehlgeschlagen, Yield-Prozentsatz

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 Text positioniertROI im Inspection Setup neu positionieren
ROI-Ausrichtung stimmt nicht mit Text übereinROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d)
Text im Bild zu kleinKamera näher bringen oder ein Objektiv mit längerer Brennweite verwenden
Text im Verhältnis zur ROI zu kleinROI enger um den Textbereich ziehen
Min Text Area zu hochParameter Min Text Area reduzieren
Schlechte Beleuchtung / geringer KontrastBeleuchtung verbessern, um den Kontrast zwischen Text und Hintergrund zu maximieren
Text ist unscharfFokus am C-Mount-Objektiv anpassen und sicherstellen, dass die Kamerahalterung stabil ist
Alignment nicht eingerichtetTexterkennung erfordert Alignment. Template-Alignment einrichten (Schritt 3)

Falscher Text erkannt (Fehllesungen)​

Mögliche UrsacheLösung
ROI-Ausrichtung stimmt nicht mit Textausrichtung übereinDies ist die häufigste Ursache. ROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d)
Geringe Bildqualität oder RauschenBelichtung erhöhen, Gain reduzieren, Beleuchtung verbessern
Text Segmentation Threshold zu niedrigErhöhen, um falsche Texterkennungen 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, falls die Lesereihenfolge wichtig ist

OCR-Konfidenz ist dauerhaft niedrig​

Mögliche UrsacheLösung
Schlechte BeleuchtungsgleichmäßigkeitFür gleichmäßige Ausleuchtung über dem gesamten Textbereich sorgen
Blendung oder Reflexionen auf Text (insbesondere bei glänzenden Etiketten)Beleuchtungswinkel anpassen, um Spiegelreflexionen zu vermeiden. Diffuse Beleuchtung in Betracht ziehen.
Sehr kleine oder stark stilisierte SchriftKamera näher bringen oder Objektiv mit längerer Brennweite verwenden, um die Textgröße im Bild zu erhöhen
Beschädigter, verblasster oder teilweise gedruckter TextOCR kann nur lesen, was die Kamera sieht. Bei physisch beeinträchtigtem 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: Mehrere Erkennungen werden mit Leerzeichen verbunden.
„equals" verwendet, wenn „includes" passender wäreWenn nur ein Teilstring relevant ist, „includes" statt „equals" verwenden
Regeln nicht bereitgestelltNach Änderungen im Basic Mode auf Save & Deploy klicken
Falsche ROI in der Regel ausgewähltDas ROIs-Dropdown in Ihrer Regel prüfen, um sicherzustellen, dass die korrekte Region adressiert wird

Einschränkungen​

  • Maximal 1 OCR-Block pro Rezept (innerhalb dieses Blocks können Sie mehrere ROIs haben)
  • Nur für Englisch optimiertes Modell: Das vortrainierte Modell ist für gedruckten Text auf lateinischer Basis optimiert. Handschrift, 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 String-Vergleiche (gleich, ungleich, enthält, enthält nicht). Für komplexe Validierungsmuster (z. B. den Abgleich von "SN-####-####") verwenden Sie den Advanced Mode (Node-RED) mit benutzerdefiniertem JavaScript-Regex.
  • Kein benutzerkonfigurierbarer Zeichensatz: Das 480-Zeichen-Wörterbuch des Modells ist fest vorgegeben. Sie können die Erkennung beispielsweise nicht auf reine Ziffern beschränken. Verwenden Sie Pass/Fail-Regeln, um das erwartete Format zu validieren.
  • Keine garantierte Textreihenfolge: Wenn mehrere Textbereiche innerhalb einer ROI erkannt werden, werden sie in Erkennungsreihenfolge (nach Kontur) zusammengefügt, nicht unbedingt in Leserichtung (von links nach rechts, von oben nach unten). Wenn die Leserichtung wichtig ist, verwenden Sie separate ROIs für jede Textzeile.
  • Nur vortrainiertes Modell: Im Gegensatz zu Klassifikation und Segmentierung kann das OCR-Modell nicht neu trainiert oder auf Ihre spezifischen Schriftarten oder Textstile feinabgestimmt werden. Es verwendet das integrierte vortrainierte OCR-Modell.

Siehe auch​