Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

OCR (Optical Character Recognition)

Der OV80i kann gedruckten Text, Seriennummern, Datumscodes und andere alphanumerische Zeichen direkt aus Kamerabildern lesen, indem ein vortrainiertes OCR-Modell verwendet wird. Im Gegensatz zu Klassifikatoren und Segmentierern benötigt OCR keine Trainingsdaten. Es funktioniert sofort einsatzbereit.

OCR ist nützlich, wenn Sie:

  • Seriennummern oder Chargencodes auf Übereinstimmung mit erwarteten Werten überprüfen müssen
  • Bestätigen müssen, dass Etiketten vorhanden und lesbar sind
  • Datums-/Verfallscodes für die Rückverfolgbarkeit lesen müssen
  • Teilenummern an Bauteilen während der Montage prüfen müssen
Nur OV80i

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


Funktionsweise von OCR

Der OV80i verwendet eine zweistufige KI-Pipeline für die 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. Zeichenerkennung (Recognition): Liest die Zeichen innerhalb jeder erkannten Bounding Box und gibt die Zeichenkette zusammen 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 umfangreichen Zeichensatz, einschließlich:

  • Ziffern (0-9)
  • Lateinische Buchstaben (A-Z, a-z, Zeichen mit Akzenten)
  • Gängige Satz- und Sonderzeichen
  • Griechische Buchstaben
  • Währungssymbole
  • Mathematische Operatoren
hinweis

Der Zeichensatz ist fest definiert und kann nicht angepasst werden. Das Modell unterstützt etwa 480 Zeichen, die den Großteil des gedruckten industriellen Texts in Sprachen mit lateinischer Schrift 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 erreichbar ist
  • Auf das Teil mit dem zu lesenden Text fokussiert ist

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


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 ihn von links nach rechts ab:

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

Eine detaillierte 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. 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 Zeichen verschwinden im Hintergrund. Zu hell, und weiße Etiketten werden überstrahlt.
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.
FocusText 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 deutlich sichtbar sein und einen guten Kontrast zum Hintergrund aufweisen. Dunkler Text auf hellem Hintergrund oder heller Text auf dunklem Hintergrund funktionieren beide gut. Vermeiden Sie:

  • Ungleichmäßige Beleuchtung, die Schatten über die Zeichen wirft
  • 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 die KI es auch nicht.

Eine detaillierte Anleitung zu allen Bildeinstellungen finden Sie unter Bildeinstellungen.


Schritt 3: Template-Ausrichtung einrichten

Die Template-Ausrichtung teilt der Kamera mit, wie sie die Position und Ausrichtung Ihres Teils verfolgen soll. Dies ist unerlässlich, da Teile nicht immer an genau 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 Template-Regionen auf Merkmalen, die immer vorhanden und leicht zu identifizieren sind (z. B. Ecken, Logos, Montagebohrungen)
hinweis

Platzieren Sie die Template-Regionen so weit wie möglich voneinander entfernt auf dem Teil. Dies reduziert das Winkelflimmern der Ausrichtung drastisch. Zwei nahe beieinander liegende Regionen ergeben eine schlechte Rotationsstabilität; zwei Regionen an gegenüberliegenden Ecken ergeben eine ausgezeichnete 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 Template-Ausrichtung finden Sie unter Alignment.


Schritt 4: OCR Regions of Interest (ROIs) erstellen

Nun definieren Sie genau, 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 im Recipe Editor auf den Tab Inspection Setup
  2. Sie sehen den Inspection Editor mit Ihrem Template-Bild

4b. OCR-Modell hinzufügen

  1. Suchen Sie im rechten Bereich nach dem Abschnitt Models
  2. Wenn kein OCR-Modell aufgeführt 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 Recipe 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 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, um sie über dem Text zu positionieren, den Sie lesen möchten
  5. Passen Sie die Größe durch Ziehen der Eckpunkte an

Inspection Setup mit OCR-ROI über Text gezeichnet

4d. ROI-Ausrichtung festlegen

Die ROI-Ausrichtung MUSS mit der Textausrichtung übereinstimmen

Dies ist das mit Abstand Wichtigste, was richtig eingestellt werden muss. Die Ausrichtung Ihrer ROI muss mit der Ausrichtung des zu lesenden Textes übereinstimmen.

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

Beispiele:

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

So drehen Sie eine ROI:

  1. Wählen Sie die ROI durch Anklicken aus
  2. Verwenden Sie den Rotationsgriff 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 Anzeige von Position, Abmessungen und Winkel von 90,96 Grad

4e. ROI in der richtigen Größe anlegen

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

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

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 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-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. Sie sehen das Kamerabild auf der linken Seite und ein Einstellungspanel auf der rechten Seite.

OCR-Block Übersichtsseite

Das rechte Panel zeigt:

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

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 Bilderfassung und Rendering
  • Violette Bounding Boxes um erkannte Textregionen, eingeblendet im Kamerabild
  • Erkannten Text, angezeigt als Beschriftungen an jeder Bounding Box
  • Parameter-Panel auf der rechten Seite zur Feinabstimmung der Detektionseinstellungen

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

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

  1. Werden alle Textregionen erkannt? Sie sollten violette Boxen um jedes Wort/jede Phrase 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 Fehldetektionen? Werden Nicht-Textbereiche fälschlicherweise als Text identifiziert?
  4. Bewegen Sie das Teil leicht. Funktioniert OCR weiterhin an verschiedenen Positionen (dies testet die Ausrichtung)?

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

  • ROI-Ausrichtung stimmt mit 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 Texterkennungsstufe (Finden der Textposition), nicht die Erkennungsstufe (Lesen des Inhalts).

ParameterStandardFunktion
Text Segmentation Threshold0,10Wie sicher der Detektor sein muss, dass eine Region Text enthält. Höhere Werte = strengere Erkennung, weniger False Positives, aber schwacher Text kann übersehen werden. Niedrigere Werte = empfindlicher, erkennt schwachen Text, kann aber Fehldetektionen verursachen. Bereich: 0.0 bis 1.0.
Unclip Ratio4,0Wie stark die erkannten Bounding Boxes vom Textkontur nach außen erweitert werden. Höhere Werte = größere Boxen. Erhöhen, wenn Boxen die Ränder großer Zeichen abschneiden. Verringern, wenn benachbarte Wörter zu einer Box zusammengeführt werden.
Unclip Ceiling20Maximale Pixelerweiterung durch Unclipping. Dies begrenzt das Wachstum, sodass Erweiterungen mit hoher Ratio bei großem Text keine riesigen Boxen erzeugen. Erhöhen, wenn großer Text trotz erhöhter Unclip Ratio noch abgeschnitten wird.
Min Text Area500Mindestfläche (in Pixeln) für eine erkannte Textregion. Alles Kleinere wird als Störung verworfen. Erhöhen, wenn kleine Artefakte als Text erkannt werden. Verringern, wenn kleiner, aber gültiger Text herausgefiltert wird.
Wann Parameter anpassen

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

ProblemAnzupassender ParameterRichtung
Nicht-Textbereiche 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 zu 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 noch abgeschnittenUnclip CeilingErhöhen
Störungen/Artefakte werden als Text erkanntMin Text AreaErhöhen
Kleiner, gültiger Text wird herausgefiltertMin Text AreaVerringern

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


Schritt 7: Test mit aufgenommenen Bildern

Nach dem Anpassen der Parameter mit Live Preview sollten Sie OCR anhand einer Reihe von Produktionsproben validieren.

7a. Verwendung des Test-Panels

  1. Deaktivieren Sie den Live Preview Mode (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 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 OCR jedes Mal denselben Text für dasselbe Teil?
  • Genauigkeit: Stimmen die erkannten Zeichenketten mit dem tatsächlichen Text auf dem Teil überein?
  • Confidence-Werte: Liegen sie konstant ü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 konstant unter 80 % liegen, überprüfen Sie Ihre Bildeinstellungen (Schritt 2). Die OCR-Genauigkeit hängt direkt mit der Bildqualität zusammen. Keine noch so gute Parameteranpassung kann ein unscharfes oder schlecht beleuchtetes Bild ausgleichen.


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

Sobald OCR den Text korrekt erkennt, müssen Sie festlegen, was ein Pass oder Fail darstellt. Navigieren Sie zur Registerkarte IO Logic.

Basic Mode

Der Basic Mode bietet eine einfache, regelbasierte Benutzeroberfläche für die OCR-Pass/Fail-Logik. Es sind 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 anhand Ihrer Regeln)
  • Abschnitt OCR Rules rechts
  • Schaltfläche Save & Deploy zum Aktivieren der Regeln
  • Schaltfläche Advanced Mode zum Umschalten auf 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 zum Erweitern und wählen Sie „All ROIs" oder bestimmte Regionen aus.
OperatorDer Vergleich, der mit dem erkannten Text durchgeführt werden soll.
TextDie erwartete Zeichenkette, mit der verglichen werden soll.

Verfügbare Operatoren

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

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

OperatorVerhaltenBeispielanwendung
= (equals)Der gesamte zusammengefügte erkannte Text muss exakt mit dem erwarteten Text übereinstimmenÜberprüfen, dass eine Seriennummer genau „SN-2025-0042" liest
!= (not equals)Der zusammengefügte Text darf NICHT mit dem erwarteten Text übereinstimmenTeile mit einem bekannten fehlerhaften Code ablehnen
includesDer zusammengefügte Text muss den erwarteten Text als Teilzeichenkette enthaltenÜberprü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 Textzeichenketten vor dem Vergleich mit Leerzeichen zusammengefügt.

Wenn der Detektor also drei Textbereiche mit "LOT", "2025" und "A1" findet, lautet der zusammengefügte Text "LOT 2025 A1". Ihre Regel vergleicht mit dieser vollständigen, zusammengefügten Zeichenkette.

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 nur für "LOT" würde fehlschlagen (weil der zusammengefügte Text mehr als nur "LOT" enthält)

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 auch nur 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 wertet Text aus allen OCR-Bereichen zusammen aus
  • Specific ROI: Erweitern Sie, um einzelne ROIs nach Namen auszuwählen (deshalb ist es wichtig, Ihre ROIs in Schritt 4f aussagekräftig zu benennen)

Speichern und Bereitstellen

Klicken Sie nach dem Konfigurieren 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 handhaben kann, wechseln Sie in den Advanced Mode.

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

Bestätigungsdialog des Basic Mode mit Erläuterung des Wechsels

Der Dialog erklärt:

  • Der 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 wenn 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 ein Node-RED-Flow-Canvas mit vorgefertigten Nodes, darunter:

  • All Block Outputs: Empfängt Ergebnisse aller AI-Blöcke (Klassifikation, Segmentierung, OCR, Messung)
  • 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-Entscheidung
  • Save to Library: Speichert die Ergebnisse

OCR-Ausgabe-Payload in Node-RED

Im Advanced Mode sind die OCR-Ergebnisse im Objekt msg.payload.ocr verfügbar. Dadurch haben Sie 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_globalMittenposition der ROI in Vollbildkoordinaten
angle_globalRotationswinkel der ROI im Vollbild
search_area_idDer Inspektionstyp / Suchbereich, zu dem diese ROI gehört
detectionsArray der einzelnen Texterkennungen innerhalb dieser 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 mittels JavaScript auf erkannten Text anwenden
  • Erkennungen nach Konfidenzschwelle filtern
  • OCR-Ergebnisse mit Klassifikations-/Segmentierungsergebnissen 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-Grundlagen.

Zwischen Modi wechseln

Sie können jederzeit zwischen Basic- und Advanced-Mode wechseln, indem Sie die Umschalt-Schaltflä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: Recipe 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 violette Schaltfläche Deploy Recipe unten rechts
  3. Das Recipe ist nun aktiv und führt Inspektionen durch

Ergebnisse anzeigen

HMI

Die HMI-Seite zeigt Live-Inspektionsergebnisse an. Mit aktivem OCR sehen Sie:

  • Den Live-Kamerafeed mit violetten Bounding Boxes um den erkannten Text
  • Textbeschriftungen, die das Gelesene anzeigen
  • Pass/Fail-Status basierend auf Ihren IO-Logic-Regeln
  • Laufende Statistiken: Inspektionen gesamt, 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
  • Confidence Scores
  • 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 heranbewegen oder Objektiv mit längerer Brennweite verwenden
Text zu klein relativ zur ROIROI enger um den Textbereich legen
Min Text Area zu hochParameter Min Text Area verringern
Schlechte Beleuchtung / geringer KontrastBeleuchtung verbessern, um den Kontrast zwischen Text und Hintergrund zu maximieren
Text ist unscharfFokus am C-Mount-Objektiv anpassen und stabile Kamerahalterung sicherstellen
Alignment nicht eingerichtetTexterkennung erfordert Alignment. Vorlagenausrichtung einrichten (Schritt 3)

Falscher Text erkannt (Fehlinterpretationen)

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 Textregionen 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 relevant ist

OCR-Confidence ist durchgehend niedrig

Mögliche UrsacheLösung
Ungleichmäßige BeleuchtungGleichmäßige Ausleuchtung über den gesamten Textbereich sicherstellen
Blendung oder Reflexionen auf Text (besonders bei glänzenden Etiketten)Beleuchtungswinkel anpassen, um spiegelnde Reflexionen zu eliminieren. Diffuses Licht in Betracht ziehen.
Sehr kleine oder stark stilisierte SchriftKamera näher heranbewegen 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 zusammengefügt als erwartetLive Preview aktivieren und genau prüfen, welcher Text erkannt wird. Beachten Sie: Mehrere Erkennungen werden mit Leerzeichen verbunden.
Verwendung von "equals", wenn "includes" passender 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ähltROIs-Dropdown in Ihrer Regel überprüfen, um sicherzustellen, dass die richtige Region adressiert wird

Einschränkungen

  • Maximal 1 OCR-Block pro Recipe (innerhalb dieses Blocks können mehrere ROIs verwendet werden)
  • Nur englisch-optimiertes Modell: Das vortrainierte Modell ist für lateinisch basierten gedruckten Text 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 einfachen Zeichenkettenvergleich (equals, not equals, includes, not includes). Für komplexe Validierungsmuster (z. B. Abgleich mit „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 Ziffern beschränken. Verwenden Sie Pass/Fail-Regeln, um das erwartete Format zu validieren.
  • Keine garantierte Textreihenfolge: Wenn mehrere Textbereiche innerhalb eines ROI erkannt werden, werden sie in Erkennungsreihenfolge (nach Kontur) zusammengefügt, nicht zwangsläufig in Leserichtung (links nach rechts, oben nach unten). Wenn die Lesereihenfolge 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