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
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:
- Texterkennung (Detection): Findet, wo sich Text innerhalb der ROI befindet. Gibt Bounding Boxes um jedes erkannte Wort oder jeden Textbereich zurück.
- 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
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.
- Navigieren Sie zu All Recipes in der linken Seitenleiste
- Klicken Sie oben rechts auf + New
- Geben Sie Ihrem Rezept einen aussagekräftigen Namen (z. B. "Serial Number Check", "Label Verification")
- Klicken Sie auf Activate, um es zum aktiven Rezept zu machen, und dann auf Edit, um den Recipe Editor zu öffnen

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.
- Klicken Sie auf Configure Imaging oder navigieren Sie zum Tab Imaging Setup
- Passen Sie die folgenden Einstellungen an, während Sie die Live-Vorschau beobachten:
| Einstellung | Ziel für OCR |
|---|---|
| Exposure | Hell genug, um den gesamten Text deutlich zu sehen. Zu dunkel, und Zeichen verschwinden im Hintergrund. Zu hell, und weiße Etiketten werden überstrahlt. |
| Gain | So niedrig wie möglich halten. Hoher Gain führt zu Rauschen, das für den Detektor wie Textartefakte aussieht. |
| Gamma | Anpassen, um den Kontrast zwischen Text und Hintergrund zu verbessern. |
| Focus | Text muss scharf sein. Wenn Zeichen unscharf oder verschwommen erscheinen, justieren Sie den Fokusring des C-Mount-Objektivs. |
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
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.
- Navigieren Sie zum Tab Template Image and Alignment
- Platzieren Sie Ihr Teil im Sichtfeld der Kamera
- Klicken Sie auf Capture Template, um ein Referenzbild aufzunehmen
- Zeichnen Sie 2–3 kleine Template-Regionen auf Merkmalen, die immer vorhanden und leicht zu identifizieren sind (z. B. Ecken, Logos, Montagebohrungen)
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.
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
- Klicken Sie im Recipe Editor auf den Tab Inspection Setup
- Sie sehen den Inspection Editor mit Ihrem Template-Bild
4b. OCR-Modell hinzufügen
- Suchen Sie im rechten Bereich nach dem Abschnitt Models
- Wenn kein OCR-Modell aufgeführt ist, klicken Sie unten auf die Schaltfläche Add und wählen Sie OCR
- Das OCR-Modell erscheint in der Models-Liste
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
- Stellen Sie sicher, dass die Zeile des OCR-Modells in der Models-Liste ausgewählt (hervorgehoben) ist
- Klicken Sie im Abschnitt Region of Interest auf Add ROI
- Eine neue rechteckige ROI erscheint auf dem Bild
- Ziehen Sie die ROI, um sie über dem Text zu positionieren, den Sie lesen möchten
- Passen Sie die Größe durch Ziehen der Eckpunkte an

4d. ROI-Ausrichtung festlegen
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:
- Wählen Sie die ROI durch Anklicken aus
- Verwenden Sie den Rotationsgriff an der Ecke der ROI, ODER
- 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.

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.
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.
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.

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.

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:
- Werden alle Textregionen erkannt? Sie sollten violette Boxen um jedes Wort/jede Phrase in der ROI sehen.
- Wird der Text korrekt gelesen? Die Beschriftungen sollten mit dem tatsächlichen Text auf dem Teil übereinstimmen.
- Gibt es Fehldetektionen? Werden Nicht-Textbereiche fälschlicherweise als Text identifiziert?
- 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).
| Parameter | Standard | Funktion |
|---|---|---|
| Text Segmentation Threshold | 0,10 | Wie 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 Ratio | 4,0 | Wie 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 Ceiling | 20 | Maximale 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 Area | 500 | Mindestflä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. |
Beginnen Sie mit den Standardwerten. Passen Sie nur an, wenn Sie spezifische Probleme im Live Preview sehen:
| Problem | Anzupassender Parameter | Richtung |
|---|---|---|
| Nicht-Textbereiche werden als Text erkannt | Text Segmentation Threshold | Erhöhen |
| Gültiger Text wird übersehen | Text Segmentation Threshold | Verringern |
| Bounding Boxes schneiden Zeichenränder ab | Unclip Ratio | Erhöhen |
| Benachbarte Wörter werden zu einer Box zusammengeführt | Unclip Ratio | Verringern |
| Boxen werden bei großem Text zu groß | Unclip Ceiling | Verringern |
| Großer Text wird trotz Erhöhung der Unclip Ratio noch abgeschnitten | Unclip Ceiling | Erhöhen |
| Störungen/Artefakte werden als Text erkannt | Min Text Area | Erhöhen |
| Kleiner, gültiger Text wird herausgefiltert | Min Text Area | Verringern |
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
- Deaktivieren Sie den Live Preview Mode (Häkchen entfernen)
- Klicken Sie auf die Schaltfläche Test

- 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
- 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.
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.

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:

| Feld | Beschreibung |
|---|---|
| ROIs | Welche ROI(s) ausgewertet werden sollen. Klicken Sie zum Erweitern und wählen Sie „All ROIs" oder bestimmte Regionen aus. |
| Operator | Der Vergleich, der mit dem erkannten Text durchgeführt werden soll. |
| Text | Die erwartete Zeichenkette, mit der verglichen werden soll. |
Verfügbare Operatoren
Klicken Sie auf das Operator-Dropdown, um alle vier Optionen zu sehen:

| Operator | Verhalten | Beispielanwendung |
|---|---|---|
| = (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 übereinstimmen | Teile mit einem bekannten fehlerhaften Code ablehnen |
| includes | Der zusammengefügte Text muss den erwarteten Text als Teilzeichenkette enthalten | Überprüfen, dass ein Etikett irgendwo das Wort „SAFETY" enthält |
| not includes | Der zusammengefügte Text darf den erwarteten Text NICHT enthalten | Sicherstellen, dass ein veralteter Produktcode nicht erscheint |
Wie Text verglichen wird
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

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:

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).

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
}
}
]
}
]
}
| Feld | Beschreibung |
|---|---|
| roi_id | Numerische ID der ROI, die dieses Ergebnis erzeugt hat |
| roi_name | Der Name, den Sie der ROI gegeben haben (z. B. „Serial Number") |
| center_x_global / center_y_global | Mittenposition der ROI in Vollbildkoordinaten |
| angle_global | Rotationswinkel der ROI im Vollbild |
| search_area_id | Der Inspektionstyp / Suchbereich, zu dem diese ROI gehört |
| detections | Array der einzelnen Texterkennungen innerhalb dieser ROI |
| detections[].text | Die erkannte Textzeichenkette |
| detections[].confidence | Erkennungskonfidenz von 0.0 bis 1.0 (begrenzt) |
| detections[].roi_bbox | Bounding-Box-Position relativ zum ROI-Crop-Ursprung |
| detections[].global_bbox | Bounding-Box-Position im vollständigen Kamerabild (berücksichtigt ROI-Rotation und -Ausrichtung) |
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.
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:
- Navigieren Sie zurück zum Recipe Editor (klicken Sie auf Recipe Editor in der linken Seitenleiste)
- Klicken Sie auf die violette Schaltfläche Deploy Recipe unten rechts
- 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

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 Ursache | Lösung |
|---|---|
| ROI nicht über Text positioniert | ROI im Inspection Setup neu positionieren |
| ROI-Ausrichtung stimmt nicht mit Text überein | ROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d) |
| Text im Bild zu klein | Kamera näher heranbewegen oder Objektiv mit längerer Brennweite verwenden |
| Text zu klein relativ zur ROI | ROI enger um den Textbereich legen |
| Min Text Area zu hoch | Parameter Min Text Area verringern |
| Schlechte Beleuchtung / geringer Kontrast | Beleuchtung verbessern, um den Kontrast zwischen Text und Hintergrund zu maximieren |
| Text ist unscharf | Fokus am C-Mount-Objektiv anpassen und stabile Kamerahalterung sicherstellen |
| Alignment nicht eingerichtet | Texterkennung erfordert Alignment. Vorlagenausrichtung einrichten (Schritt 3) |
Falscher Text erkannt (Fehlinterpretationen)
| Mögliche Ursache | Lösung |
|---|---|
| ROI-Ausrichtung stimmt nicht mit Textausrichtung überein | Dies ist die häufigste Ursache. ROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d) |
| Geringe Bildqualität oder Rauschen | Belichtung erhöhen, Gain reduzieren, Beleuchtung verbessern |
| Text Segmentation Threshold zu niedrig | Erhöhen, um falsche Texterkennungen herauszufiltern |
| Überlappende Textregionen werden zu einer Erkennung zusammengeführt | Unclip Ratio verringern, um das Zusammenführen von Boxen zu verhindern |
| Mehrere Textzeilen in einer ROI | Separate ROIs für jede Zeile erstellen, falls die Lesereihenfolge relevant ist |
OCR-Confidence ist durchgehend niedrig
| Mögliche Ursache | Lösung |
|---|---|
| Ungleichmäßige Beleuchtung | Gleichmäß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 Schrift | Kamera 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 Text | OCR kann nur lesen, was die Kamera sieht. Bei physisch beeinträchtigtem Text ist die Genauigkeit geringer. |
| Hoher Gain in den Bildeinstellungen | Gain reduzieren. Hoher Gain erzeugt Rauschen, das wie Textartefakte aussieht. |
Pass/Fail-Regeln funktionieren nicht wie erwartet
| Mögliche Ursache | Lösung |
|---|---|
| Text wird anders zusammengefügt als erwartet | Live 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äre | Wenn nur ein Teilstring relevant ist, "includes" statt "equals" verwenden |
| Regeln nicht bereitgestellt | Nach dem Ändern von Regeln im Basic Mode auf Save & Deploy klicken |
| Falsche ROI in der Regel ausgewählt | ROIs-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
- Erste Inspektion erstellen – Vollständige Anleitung zur Recipe-Erstellung
- Bildeinstellungen – Detaillierte Anleitung zur Bildgebungseinrichtung
- Alignment – Vertiefung der Vorlagenausrichtung
- Regions of Interest (ROIs) – ROI-Dimensionierung und Strategie
- Inspektionseinrichtung und ROI-Typen – Referenz zu ROI-Typen
- Node-RED Grundlagen – Erweiterte IO-Logik-Programmierung
- Grundlagen der Bildgebungseinrichtung – Theorie zu Beleuchtung und Bildqualität