Text und Zahlen lesen mittels Deep Learning

Mit diesem Tool können Sie Text und Zahlen in einem Bild mithilfe der Deep Learning-Technologie lesen.

Im Gegensatz zum vorhandenen MERLIC-Tool Text und Zahlen lesen verwendet dieses Tool ein ganzheitliches, auf Deep Learning basierendes Verfahren für die optische Zeichenerkennung (OCR). Das Tool findet Zeichen unabhängig von Position, Orientierung und Schriftart zuverlässiger. Zeichen werden automatisch gruppiert, sodass ganze Wörter erkannt werden können. Dadurch kann eine Fehlinterpretation von Zeichen mit ähnlichem Erscheinungsbild vermieden werden, sodass die Leseleistung steigt.

Welches Tool – „Text und Zahlen lesen“ oder „Text und Zahlen lesen mittels Deep Learning“ – für die jeweilige Anwendung am besten geeignet ist, hängt von verschiedenen Faktoren ab. „Text und Zahlen lesen mittels Deep Learning“ bietet mehrere Vorteile. Das Tool findet Text an beliebigen Stellen im Bild. Die Position des Textes muss nicht vorab angegeben werden. Darüber hinaus verwendet das Tool ein vorab trainiertes Deep OCR-Lesemodell mit einer universellen Schrift, das das Lesen von Text in verschiedenen Schriftarten im Bild ermöglicht. Sie sind daher nicht auf eine bestimmte Schriftart beschränkt. Ein weiterer Vorteil dieses Tools besteht darin, dass Text in beliebiger Orientierung ohne vorherige Ausrichtung gelesen werden kann. So kann auch Text in anderen Richtungen als von links nach rechts gelesen werden. Andererseits erfordert dieses Tool mehr Arbeitsspeicher und die Verarbeitungszeit steigt abhängig von der verwendeten Hardware. Wenn Sie unsicher sind, welches der beiden Tools am besten für Ihre Anwendung geeignet ist, können Sie beide Tools testen und die Ergebnisse, die Verarbeitungszeit sowie andere für die jeweilige Anwendung relevante Faktoren vergleichen.

Deep OCR-Modell

Ein Deep OCR-Modell, d. h. ein Deep Learning-Modell für die optische Zeichenerkennung, besteht normalerweise aus zwei Komponenten:

  • Lokalisierungsmodell: Dieses Modell lokalisiert Wörter im Bild, d. h. es findet die Wortregionen im Bild.
  • Lesemodell: Dieses Modell identifiziert und liest die Wörter im lokalisierten Bildteil. Es bestimmt den identifizierbaren Zeichensatz.
Verfügbare Modi

Dieses Tool kann in zwei verschiedenen Modi verwendet werden. Im Standardmodus („erkennen und lesen“) wird das Bild zuerst von der Lokalisierungskomponente verarbeitet. In diesem Schritt werden im Bild mögliche Bereiche ermittelt, in denen eventuell Zeichen und Texte vorhanden sind. Die gefundenen Bereich werden anschließend von der Lesekomponente des Deep OCR-Modells weiterverarbeitet. Im zweiten Modus („lesen“) wird nur der Leseschritt durchgeführt. Dieser Modus beansprucht daher die Hardware weniger stark. Sie müssen jedoch den Bereich, in dem Wörter erwartet werden, manuell definieren.

Um bessere Ergebnisse zu erzielen, können Sie den zu verarbeitenden Bereich in beiden Modi durch eine ROI oder mehrere ROIs einschränken. Die jeweiligen Komponenten des Deep OCR-Modells werden dann nur auf den eingeschränkten Bildbereich angewendet. Insbesondere dann, wenn nur die Lesekomponente des Tools verwendet werden soll, wird empfohlen, den zu prüfenden Bereich dicht um den zu lesenden Text zu begrenzen. Wenn Sie mehrere Textzeilen nur mit der Lesekomponente lesen möchten, müssen Sie eine ROI um jedes Wort zeichnen, damit die einzelnen Wörter gelesen werden können.

Das folgende Beispielbild veranschaulicht das Tool im Standardmodus „erkennen und lesen“. Das Deep OCR-Modell sucht und liest den Text nur in der angegebenen ROI.

Das folgende Bild veranschaulicht das Tool im Modus „lesen“ mit den erforderlichen ROIs um die zu lesenden Wörter.

Unterstützung von Artificial Intelligence Acceleration-Schnittstellen (AI²)

MERLIC umfasst Artificial Intelligence Acceleration-Schnittstellen (AI²) für das NVIDIA® TensorRT™ SDK und die Intel® Distribution of OpenVINO™ toolkit. Das heißt, Sie können KI-Beschleuniger-Hardware als Recheneinheit verwenden, die kompatibel mit NVIDIA® TensorRT™ oder dem OpenVINO™ toolkit ist, um optimierte Inferenzberechnungen auf der jeweiligen Hardware durchzuführen. Dadurch können Sie Deep Learning-Inferenzberechnungen erheblich beschleunigen. Die jeweilige Hardware kann beim Toolparameter „Recheneinheit“ ausgewählt werden.

Weitere Informationen zu Installation und Voraussetzungen finden Sie unter AI²-Schnittstellen für Tools mit Deep Learning.

Parameter

Einige Toolparameter gelten nur für die Lokalisierungskomponente des Deep OCR-Modells. Diese Komponente wird nur verwendet, wenn der Parameter „Modus“ auf „erkennen und lesen“ festgelegt ist. Die folgende Tabelle enthält eine Übersicht über die Anwendung der einzelnen Parameter im jeweiligen Modus. Parameter, die im ausgewählten Modus nicht angewendet werden können, sind ausgegraut.

Parameter

erkennen und lesen

lesen

Bewertungstyp-Visualisierung

Breite des Lokalisierungsbildes

Höhe des Lokalisierungsbildes

Minimale Bewertung der Zeichenlokalisierung

Minimale Wortverbindungsbewertung

Minimale Wortbewertung

Minimale Wortfläche

Automatische Erkennung der Orientierung

Orientierung beim Lokalisieren

Tiling beim Lokalisieren

Erkennungsausrichtung

Lokalisierungsmodell-Datei

Bildbreite zum Lesen

Lesemodell-Datei

Recheneinheit

Präzision

Ausführlichere Informationen finden Sie in der folgenden Dokumentation aller Parameter und Ergebnisse dieses Tools.

Standardparameter

Bild:

Dieser Parameter stellt das Eingabebild dar. Für dieses Tool sind Byte-Bilder erforderlich. Wenn Sie den Pixeltyp der Bilder konvertieren müssen, können Sie das Tool Pixeltyp konvertieren verwenden.

Modus:

Mit diesem Parameter können Sie den Modus auswählen, der für die Verarbeitung des Bilds verwendet wird, d. h., welche Komponente des Deep OCR-Modells angewendet wird. Der Parameter ist standardmäßig auf „erkennen und lesen“ festgelegt.

Wert

Beschreibung

erkennen und lesen

In diesem Modus werden beide Komponenten verwendet. Zuerst wird der Lokalisierungsschritt angewendet, um die Wortregionen im Bild zu ermitteln. Anschließend wird der Leseschritt durchgeführt, bei dem das eigentliche Lesen der Zeichen und Wörter in den lokalisierten Wortregionen erfolgt.

lesen

In diesem Modus wird nur die Lesekomponente verwendet. Das bedeutet, dass nur der Leseschritt durchgeführt wird.

Für diesen Modus wird empfohlen, den zu prüfenden Bereich auf den unmittelbaren Bereich um den Text herum zu begrenzen, um bessere Ergebnisse zu erzielen. Dies kann in einem separaten Vorverarbeitungsschritt mit dem Tool Bild zuschneiden oder mithilfe einer ROI erfolgen, die dicht um den Text im Bild gezeichnet wird.

Wenn Sie mehrere Wörter lesen möchten, müssen Sie eine ROI um jedes Wort zeichnen, damit die einzelnen Wörter gelesen werden können.

Bewertungstyp-Visualisierung:

Dieser Parameter definiert den Typ der Scoremap, die als Overlay über dem Bild dargestellt wird, um bestimmte Eigenschaften der Pixel anzugeben, z. B. der jeweilige Beitrag zu bestimmten Zeichen oder zusammenhängenden Wörtern. Der Parameter ist standardmäßig auf „Zeichenerkennung“ festgelegt. Sie können den Wert über die zugehörige Verbindungsstelle ändern. Die folgenden Werte können ausgewählt werden:

Wert

Beschreibung

keine

Es wird keine Scoremap dargestellt.

Zeichenerkennung

Die Scoremap für die Zeichenlokalisierung wird dargestellt. Die Scoremap für Zeichen zeigt die Position an, an der Zeichen lokalisiert wurden. Je höher die Zeichenbewertung eines Pixels ist, desto höher ist die Wahrscheinlichkeit, dass die Position in der Nähe der Mitte eines Zeichens liegt.

Wortverbindung

Die Scoremap für die Lokalisierung verbundener Zeichen, die ein zusammenhängendes Wort bilden könnten, wird dargestellt. Bewertet wird die Verbindung zwischen zwei gefundenen Zeichen. Je höher die resultierende Bewertung ist, desto höher ist die Wahrscheinlichkeit, dass die beiden Zeichen zu demselben Wort gehören.

Sie können die ermittelten Bewertungen direkt im Bild anzeigen. Wenn Sie den Mauszeiger über den verarbeiteten Bildteil bewegen, wird die jeweilige Bewertung an der aktuellen Mausposition sofort in einem Tooltip angezeigt. Wenn Sie die Maus über ein Wortsegment bewegen, wird auch der gelesene Text angezeigt.

Die ausgewählte Scoremap ist auch Bestandteil des Bilds, das im Ergebnis „Dargestelltes Bild“ ausgegeben wird. Wenn der Parameter auf „keine“ festgelegt ist, enthält das resultierende Bild in „Dargestelltes Bild“ keine Scoremap.

Dieser Parameter wird nur angewendet, wenn die Lokalisierungskomponente des Deep OCR-Modells verwendet wird. Wenn der Parameter „Modus“ auf „lesen“ festgelegt ist, wird kein Lokalisierungsschritt angewendet, sodass im Bild keine Scoremap dargestellt werden kann.

Zusätzliche Parameter

ROI:

Der Parameter „ROI“ definiert die ROI zum Erkennen und Lesen von Text und Zahlen. Standardmäßig ist keine ROI definiert. Wenn Sie eine ROI für die Verarbeitung verwenden möchten, müssen Sie den Parameter mit einem geeigneten ROI-Ergebnis eines vorherigen Tools verbinden, damit eine ROI an dieses Tool übergeben wird, oder mit den verfügbaren ROI-Schaltflächen neue ROIs im Bild zeichnen.

Wenn eine ROI im Bild gezeichnet wurde, wird nur der Bildteil innerhalb der ROI verarbeitet. So können Sie festlegen, dass die Lokalisierungskomponente des Deep OCR-Modells lediglich im angegebenen Bildteil nach möglichen Wortregionen sucht. Wenn Sie nur die Lesekomponente des Deep OCR-Modells verwenden, d. h., wenn der Parameter „Modus“ auf „lesen“ festgelegt wurde, wird der Text nur im Bildteil innerhalb der ROI gelesen. Beachten Sie jedoch, dass Sie eine ROI um jedes Wort zeichnen müssen, damit die einzelnen Wörter gelesen werden können.

Wenn Sie den Modus „erkennen und lesen“ verwenden und mehrere ROIs definieren, wird jede definierte ROI getrennt als Wordregion verarbeitet.

Sie können bessere Ergebnisse erzielen, wenn Sie eine ROI verwenden, um den zu verarbeitenden Bereich zu definieren, insbesondere dann, wenn nur die Lesekomponente verwendet wird.

Ausrichtungsdaten:

Dieser Parameter stellt die Ausrichtungsdaten dar, die zum Ausrichten der ROI verwendet werden. Ausrichtungsdaten sind standardmäßig nicht verbunden, sodass keine Auswirkung sichtbar ist. Wenn Sie bestimmte Ausrichtungsdaten verwenden möchten, müssen Sie den Parameter mit einem geeigneten Ergebnis eines vorherigen Tools verbinden, z. B. Ausrichtungsdaten mit Matching bestimmen, Ausrichtungsdaten mittels geradem Rand bestimmen, Bild ausrichten oder Bild drehen.

Breite des Lokalisierungsbildes:

Dieser Parameter definiert die Breite der Bilder, die von der Lokalisierungskomponente des Deep OCR-Modells verarbeitet werden. Indem das Bild vor der Verarbeitung auf ein Maximum der definierten Breite skaliert wird, behält das Netzwerk dessen Seitenverhältnis bei. Die Breite kann daher die Ergebnisse beeinflussen.

Der Parameter wird in Pixeln angegeben und ist standardmäßig auf 512 px festgelegt. Aufgrund der Architektur des Deep OCR-Modells muss die Breite ein Vielfaches von 32 sein. Wenn Sie einen Wert eingeben, der kein Vielfaches von 32 ist, wird der Wert auf die nächste Ganzzahl aufgerundet, die ein Vielfaches von 32 ist.

Wenn Sie eine große Bildbreite für das Lokalisierungsbild verwenden möchten, müssen Sie Folgendes beachten: Je größer das Bild ist, desto umfangreicher ist das Lokalisierungsmodell, sodass entsprechend mehr Arbeitsspeicher erforderlich ist.

Höhe des Lokalisierungsbildes:

Dieser Parameter definiert die Höhe der Bilder, die von der Lokalisierungskomponente des Deep OCR-Modells verarbeitet werden. Indem das Bild vor der Verarbeitung auf ein Maximum der Höhe skaliert wird, behält das Netzwerk dessen Seitenverhältnis bei. Die Höhe kann daher die Ergebnisse beeinflussen.

Der Parameter wird in Pixeln angegeben und ist standardmäßig auf 512 px festgelegt. Aufgrund der Architektur des Deep OCR-Modells muss die Höhe ein Vielfaches von 32 sein. Wenn Sie einen Wert eingeben, der kein Vielfaches von 32 ist, wird der Wert auf die nächste Ganzzahl aufgerundet, die ein Vielfaches von 32 ist.

Wenn Sie eine große Bildhöhe für das Lokalisierungsbild verwenden möchten, müssen Sie Folgendes beachten: Je größer das Bild ist, desto umfangreicher ist das Lokalisierungsmodell, sodass entsprechend mehr Arbeitsspeicher erforderlich ist.

Minimale Bewertung der Zeichenlokalisierung:

Dieser Parameter definiert den unteren Schwellwert, der für die Scoremap für Zeichen verwendet wird, um die Abmessungen der Zeichen abzuschätzen. Der Parameter ist standardmäßig auf 0,5 festgelegt. Sie können die Mindestbewertung über die zugehörige Verbindungsstelle ändern und einen Wert zwischen 0 und 1 festlegen. Wenn Sie die vorgeschlagenen Zeicheninstanzen aufteilen möchten, können Sie den Wert erhöhen. Um benachbarte Instanzen zusammenzufügen, können Sie den Wert verringern.

Minimale Wortverbindungsbewertung

Dieser Parameter definiert den erforderlichen minimalen Bewertungswert, um zwei Zeichen als zusammenhängendes Wort zu lokalisieren. Die Verbindung zwischen zwei gefundenen Zeichen wird ausgewertet. Wenn der Wert der resultierenden Bewertung größer-gleich dem definierten Bewertungswert in diesem Parameter ist, werden die Zeichen als zu demselben Wort gehörig festgelegt. Der Parameter ist standardmäßig auf 0,3 festgelegt. Sie können die Mindestbewertung über die zugehörige Verbindungsstelle ändern und einen Wert zwischen 0 und 1 festlegen. Wenn Sie die vorgeschlagenen Wortinstanzen aufteilen möchten, können Sie den Wert erhöhen. Um benachbarte Zeicheninstanzen zu einem Wort zusammenzufügen, können Sie den Wert verringern.

Minimale Wortbewertung:

Dieser Parameter definiert den erforderlichen minimalen Bewertungswert für eine gefundene Zeicheninstanzen, damit diese Instanz als gültiges Wort vorgeschlagen wird. Sie können diesen Parameter verwenden, um nicht sicher bestimmte Wörter auszufiltern. Der Parameter ist standardmäßig auf 0,7 festgelegt. Sie können die Mindestbewertung über die zugehörige Verbindungsstelle ändern und einen Wert zwischen 0 und 1 festlegen.

Minimale Wortfläche:

Dieser Parameter definiert die erforderliche Mindestgröße für die Fläche eines gefundenen Worts, damit es als solches vorgeschlagen wird. Dieser Parameter kann zum Filtern von zu kleinen Wortvorschlägen verwendet werden. Der Parameter ist standardmäßig auf 10 festgelegt. Sie können die Größe über die zugehörige Verbindungsstelle ändern und einen Wert zwischen 0 und 1.000.000 festlegen.

Automatische Erkennung der Orientierung:

Mit diesem Parameter können Sie auswählen, ob die Orientierung für die Wortlokalisierung automatisch oder manuell festgelegt werden soll. Er wird als boolescher Wert angegeben und seine Standardeinstellung ist 1. Bei dieser Einstellung wird die Orientierung automatisch bestimmt. Wenn Sie die Orientierung manuell definieren möchten, müssen Sie den Parameter auf 0 festlegen.

Wert

Beschreibung

0

Die Orientierung wird nicht automatisch bestimmt. Stattdessen wird die im Parameter „Orientierung beim Lokalisieren“ festgelegte Orientierung verwendet.

Sie können diesen Wert verwenden, um sicherzustellen, dass der Text nur in einer bestimmten Orientierung und Richtung lokalisiert und gelesen wird.

1

Die Orientierung wird automatisch bestimmt. Der Text wird demnach in allen möglichen Richtungen lokalisiert und gelesen.

Orientierung beim Lokalisieren:

Dieser Parameter definiert den Orientierungswinkel für die Wortlokalisierung. Er definiert auch die Richtung, in der Text gelesen wird. Er wird in Grad angegeben und ist standardmäßig auf festgelegt. Sie können die Orientierung über den entsprechenden Parameter ändern und einen Wert zwischen -180° und 180° festlegen. Wenn Sie die in diesem Parameter definierte Orientierung verwenden möchten, müssen Sie den Parameter „Automatische Erkennung der Orientierung“ auf 0 festlegen. Andernfalls wird die Orientierung automatisch bestimmt und der Wert dieses Parameters wird ignoriert.

Sie können die Orientierung manuell festlegen, wenn der Text immer die gleiche Orientierung aufweist und sichergestellt werden soll, dass der Text immer in einer bestimmten Orientierung und Richtung lokalisiert und gelesen wird.

Tiling beim Lokalisieren:

Dieser Parameter legt fest, ob Tiling auf das Bild angewendet wird (Aufteilung in Kacheln), bevor es in der Lokalisierungskomponente des Deep OCR-Modells verarbeitet wird. Er wird als boolescher Wert angegeben und seine Standardeinstellung ist 0. Bei dieser Einstellung wird kein Tiling verwendet und das Bild stattdessen gezoomt. Weitere Details finden Sie in der Beschreibung in der folgenden Tabelle.

Wert

Beschreibung

0

Das Bild wird auf die in den Parametern „Breite des Lokalisierungsbildes“ und „Höhe des Lokalisierungsbildes“ definierte Größe gezoomt. Das gezoomte Bild wird dann von der Lokalisierungskomponente des Modells verarbeitet.

1

Das Bild wird nicht gezoomt. In diesem Fall wird das Bild automatisch in sich überlappende Kachelbilder mit der in den Parametern „Breite des Lokalisierungsbildes“ und „Höhe des Lokalisierungsbildes“ definierten Größe unterteilt. Diese Kachelbilder, d. h. die Lokalisierungsbilder, werden dann von der Lokalisierungskomponente separat verarbeitet. So können Sie auch Bilder verarbeiten, die viel größer sind als die für Lokalisierungsbilder festgelegte Größe, ohne das Bild vorher zoomen zu müssen.

Welcher Wert für die jeweilige Anwendung am besten geeignet ist, hängt von vielen Faktoren ab, z. B. Größe der Bilder, Textgröße, erforderliche Geschwindigkeit oder verfügbarer Arbeitsspeicher. Wenn kein Zoomvorgang erfolgt, gehen beispielsweise keine Informationen aufgrund von Skalierungsartefakten verloren. Wenn der Text im Bild jedoch sehr groß ist, ist er nach dem Zoomen des Bilds wahrscheinlich groß genug, um anschließend lokalisiert und gelesen zu werden. Hingegen erfordert die Verarbeitung mehrerer kleinerer Lokalisierungsbilder weniger Arbeitsspeicher, dauert aber länger.

Erkennungsausrichtung

Dieser Parameter legt fest, ob vor der Texterkennung eine Wortausrichtung durchgeführt wird. Durch Aktivierung dieses Parameters wird die Erkennungsgenauigkeit für ungenau zugeschnittene Wörter erhöht. Daher kann er in Szenarien verwendet werden, in denen die Textposition innerhalb des Bildes nur ungefähr bekannt ist. Dieser Parameter sollte im „lesen“-Modus verwendet werden. Diese Funktion muss vom Lesemodell unterstützt werden, da dieser Parameter andernfalls nicht verfügbar ist. Er wird als boolescher Wert angegeben und seine Standardeinstellung ist 0.

Wert

Beschreibung

0

Der Parameter ist nicht aktiviert.

1

Der Parameter ist aktiviert.

Lokalisierungsmodell-Datei:

Dieser Parameter definiert den Dateinamen für das Lokalisierungsmodell, d. h. die Deep OCR-Modellkomponente für die Wortlokalisierung. Im Lieferumfang von MERLIC sind zwei vorab trainierte Lokalisierungsmodelle enthalten.

Standardmäßig ist das Lokalisierungsmodell „pretrained_deep_ocr_detection.hdl“ eingestellt. Wenn Zeit und Arbeitsspeicher von Bedeutung sind, können Sie stattdessen das Lokalisierungsmodell „pretrained_deep_ocr_detection_compact.hdl“ verwenden. Dieses Modell ist geringfügig ungenauer als das Standardmodell, beansprucht aber wesentlich weniger Arbeitsspeicher und ist bei der Inferenz viel schneller.

Dieser Parameter erwartet eine Modelldatei mit der Dateiendung „.hdl“. Eine derartige Datei kann normalerweise mit dem MVTec Deep Learning Tool trainiert werden. Derzeit ist es jedoch noch nicht möglich, im MVTec Deep Learning Tool ein Deep OCR-Modell für die Wortlokalisierung zu trainieren. Solange diese Funktion nicht verfügbar ist, können Sie eines der bereitgestellten Lokalisierungsmodelle verwenden.

Bildbreite zum Lesen:

Dieser Parameter definiert die Breite der Bilder, die von der Lesekomponente des Deep OCR-Modells verarbeitet werden. Er wird in Pixeln angegeben und ist standardmäßig auf 120 px festgelegt. Sie können die Breite über den entsprechenden Parameter ändern und einen Wert zwischen 32 und 10.000 festlegen.

Das Netzwerk zoomt den jeweiligen Bildteil zuerst unter Beibehaltung des Seitenverhältnisses des Bilds auf die vordefinierte Höhe von 32 px. Wenn die Breite des resultierenden Bilds kleiner ist als die in diesem Parameter definierte Breite, wird der Bildteil rechts mit dem Grauwert 0 aufgefüllt. Wenn die Breite größer ist, wird das Bild auf die für „Bildbreite zum Lesen“ festgelegte Breite gezoomt. Das resultierende Bild wird dann von der Lesekomponente des Deep OCR-Modells verarbeitet.

Für die Anfangskonfiguration des Tools wird empfohlen, die Breite für diesen Parameter auf die Breite des längsten zu lesenden Worts festzulegen. Dadurch können Verzerrungen, die im resultierenden Bild durch das interne Zoomen entstehen können, vermieden werden.

Lesemodell-Datei:

Dieser Parameter definiert den Dateinamen für das Lesemodell, d. h. die Deep OCR-Modellkomponente für die Worterkennung. MERLIC umfasst das vorab trainierte Lesemodell „pretrained_deep_ocr_reading.hdl“, das verwendungsbereit und als Standardeinstellung festgelegt ist.

Dieser Parameter erwartet eine Modelldatei mit der Dateiendung „.hdl“. Eine derartige Datei kann normalerweise mit dem MVTec Deep Learning Tool trainiert werden. Derzeit ist es jedoch noch nicht möglich, im MVTec Deep Learning Tool ein Deep OCR-Modell für die Worterkennung zu trainieren. Solange diese Funktion nicht verfügbar ist, können Sie das Standardlesemodell verwenden.

Recheneinheit:

Dieser Parameter definiert die Einheit, die für die Verarbeitung der Bilder verwendet wird. Der Parameter ist standardmäßig auf auto festgelegt. In diesem Modus versucht MERLIC, eine geeignete GPU als Recheneinheit auszuwählen, da deren Leistung in der Regel besser ist als die der CPU. Der verfügbare Speicher in der betreffenden GPU muss jedoch mindestens 4 GB groß sein. Wird keine geeignete GPU gefunden, wird ersatzweise die CPU verwendet.

Sie können die Recheneinheit auch manuell auswählen. Klicken Sie auf den Parameter, um die Einheit in der Liste aller verfügbaren Recheneinheiten auszuwählen. Wenn Sie eine GPU als Recheneinheit auswählen, sollten Sie überprüfen, ob genügend Speicher für das verwendete Deep Learning-Modell verfügbar ist. Andernfalls kann es zu unerwünschten Effekten kommen, wie z. B. langsamere Inferenzberechnungen.

MERLIC unterstützt auch die Verwendung von KI-Beschleuniger-Hardware, die mit dem NVIDIA® TensorRT™ SDK oder dem OpenVINO™ toolkit kompatibel ist:

  • NVIDIA®-GPU
  • CPU, Intel®-GPU, Intel®-VPU (MYRIAD und HDDL), die das OpenVINO™ toolkit unterstützt

Die jeweiligen Einheiten werden mit dem Präfix „TensorRT(TM)“ oder „OpenVINO(TM)“ gekennzeichnet. Wenn Sie eine Einheit auswählen, die NVIDIA® TensorRT™ oder das OpenVINO™ toolkit unterstützt, wird der Speicher in der Einheit über das jeweilige Plugin für die AI²-Schnittstelle initialisiert. Solche Recheneinheiten müssen manuell festgelegt werden, da im Modus „auto“ dieses Parameters nur verfügbare GPUs und CPUs ohne KI-Beschleuniger-Unterstützung ausgewählt werden.

Sobald eine KI-Beschleuniger-Hardware als Recheneinheit ausgewählt wurde, wird die Optimierung des Deep Learning-Modells gestartet. Nach der Optimierung werden einige Parameter, die Modellparameter darstellen, intern als schreibgeschützt festgelegt. Im Toolboard werden diese Parameter ausgegraut angezeigt. Die betreffenden Werte können nicht mehr geändert werden, solange der ausgewählte KI-Beschleuniger als Recheneinheit verwendet wird. Um diese Parameter zu ändern, müssen Sie zuerst eine andere Recheneinheit ohne KI-Beschleunigung auswählen. Nachdem die Parameter festgelegt wurden, können Sie die entsprechende KI-Beschleuniger-Hardware wieder als Recheneinheit verwenden.

Die ausgewählte Recheneinheit wird normalerweise für beide Komponenten (Lokalisierung und Lesen) des Deep OCR-Modells verwendet. In einigen Fällen kann die Anzahl der Modelle, die gleichzeitig verarbeitet werden können, begrenzt sein. Intel® Movidius™ Myriad™-VPUs können beispielsweise nur eine Komponente des Deep OCR-Modells verarbeiten. Wenn die ausgewählte Recheneinheit nicht für beide Komponenten verwendet werden kann, wird sie nur für die Lokalisierungskomponente des Deep OCR-Modells verwendet. Die Recheneinheit für die Lesekomponente wird dann automatisch von MERLIC ausgewählt.

CPUs, die das OpenVINO™ toolkit unterstützen, können ohne zusätzliche Installationsschritte verwendet werden. Sie werden automatisch in die Liste der verfügbaren Recheneinheiten aufgenommen. Wenn mehrere Recheneinheiten mit demselben Namen verfügbar sind, wird den Namen eine Indexnummer zugewiesen. Gleiches gilt für GPUs, die NVIDIA® TensorRT™ unterstützen.

Um GPUs und VPUs, die das OpenVINO™ toolkit unterstützen, als Recheneinheit verwenden zu können, muss die Intel® Distribution of OpenVINO™ toolkit auf dem jeweiligen Computer installiert sein. Außerdem muss MERLIC in einer OpenVINO™ toolkit-Umgebung gestartet werden. Ausführlichere Informationen zu den Voraussetzungen finden Sie unter AI²-Schnittstellen für Tools mit Deep Learning.

Neben der Optimierung über KI-Beschleuniger-Hardware unterstützt MERLIC weitere dynamische Optimierungen über das NVIDIA® CUDA® Deep Neural Network (cuDNN). Diese Optimierung kann über die MERLIC-Einstellungen im MERLIC Creator aktiviert werden. Weitere Informationen finden Sie unter MERLIC-Einstellungen.

Präzision:

Dieser Parameter legt den Datentyp fest, der intern für die Optimierung des Deep Learning-Modells für Inferenz verwendet wird, d. h., er legt die Präzision fest, mit der das Modell konvertiert wird. Die Standardeinstellung ist „hoch“.

Die folgende Tabelle zeigt die Einstellungen für die Modellpräzision, die in diesem Tool unterstützt werden.

Wert

Beschreibung

hoch

Das Deep Learning-Modell wird mit „float32“-Präzision konvertiert.

mittel

Das Deep Learning-Modell wird mit „float16“-Präzision konvertiert.

Die meisten Recheneinheiten unterstützen beide Präzisionseinstellungen. Es gibt jedoch u. U. auch einige Recheneinheiten, die nur eine dieser Einstellungen unterstützen. In diesem Fall ist für den Parameter nur die unterstützte Präzision verfügbar, nachdem das jeweilige Gerät mit dem Parameter „Recheneinheit“ ausgewählt wurde. Bei einer automatischen Auswahl der Recheneinheit, d. h. bei Einstellung von „Recheneinheit“ auf „auto“, ist nur die Präzision „hoch“ verfügbar.

Ergebnisse

Standardergebnisse

Wortkonturen:

Dieses Ergebnis gibt die Begrenzungsrahmen der Wörter aus, die lokalisiert wurden. Sie werden als Konturen ausgegeben, allerdings nur, wenn die Lokalisierungskomponente des Deep OCR-Modells verwendet wird, d. h., wenn der Parameter „Modus“ auf „erkennen und lesen“ festgelegt ist. Wenn der Parameter „Modus“ auf „lesen“ festgelegt ist, wird nur die Lesekomponente angewendet, sodass für dieses Ergebnis keine Konturen ausgegeben werden.

Text:

Dieses Ergebnis enthält den gelesenen Text und die gelesenen Zahlen. Die Ausgabe erfolgt als Zeichenfolge. Wurden mehrere Texteinträge oder Zahlen in mehreren ROIs gelesen, werden die Ergebnisse als Tupel ausgegeben.

Der gelesene Text wird auch im Bild angezeigt. Wenn Sie den Mauszeiger über die lokalisierten Wortbereiche, d. h. die gefundenen ROIs mit Zeichen und Text, bewegen, wird der gelesene Text ebenfalls in einem Tooltip angezeigt. So können Sie zu den einzelnen lokalisierten Wörter leicht das Ergebnis überprüfen.

Toolstatus:

Toolstatus“ gibt Informationen zum Status des Tools aus und kann daher für die Fehlerbehandlung verwendet werden. Weitere Informationen zu den verschiedenen Toolstatus-Ergebnissen finden Sie unter Toolstatus-Ergebnis.

Zusätzliche Ergebnisse

Dargestelltes Bild:

Dieses Ergebnis stellt das Verarbeitungsbild und die Scoremap, die im Parameter „Bewertungstyp-Visualisierung“ ausgewählt wurde, überlagert dar. Da das Verarbeitungsbild durch die Scoremap sichtbar ist, können Sie deutlicher sehen, wo die Lokalisierungskomponente des Deep OCR-Modells Zeichen bzw. Wörter lokalisiert hat.

Eine Scoremap ist nur verfügbar, wenn die Lokalisierungskomponente des Deep OCR-Modells verwendet wird, d. h., wenn der Parameter „Modus“ auf „erkennen und lesen“ festgelegt ist. Darüber hinaus muss der Parameter „Bewertungstyp-Visualisierung“ auf „Zeichenerkennung“ oder „Wortverbindung“ festgelegt sein. Andernfalls ist keine Scoremap verfügbar, sodass das resultierende Bild nur das Verarbeitungsbild ohne Scoremap enthält.

Vorverarbeitetes Bild:

Dieses Ergebnis stellt das Bild dar, das im Lokalisierungsschritt verarbeitet wurde. Wenn eine ROI verwendet wurde, um den Bereich für die Lokalisierung von Zeichen und Text zu begrenzen, wird nur der Bildteil innerhalb der ROI als „Vorverarbeitetes Bild“ ausgegeben. Falls mehrere ROIs verwendet wurden, wird nur der Bildteil der zuletzt verarbeiteten ROI ausgegeben.

Der Parameter „Tiling beim Lokalisieren“ kann sich ebenfalls auf das resultierende Bild auswirken. Bei Einstellung auf 1 wird das Eingabebild in sich überlappende Kachelbilder, d. h. Lokalisierungsbilder, unterteilt, die von der Lokalisierungskomponente des Deep OCR-Modells separat verarbeitet werden. In diesem Fall gibt das Ergebnis „Vorverarbeitetes Bild“ das Bild aus, das durch die Verarbeitung dieser Lokalisierungsbilder entsteht.

Zeichenkonfidenz

Dieses Ergebnis gibt eine Liste numerischer Werte aus, die angeben, wie wahrscheinlich es ist, dass jedes der im Text gelesenen Zeichen korrekt ist. Die Reihenfolge der zurückgegebenen Konfidenzwerte entspricht der Reihenfolge der Zeichenfolgen, die im „Text“-Ergebnis ausgegeben werden. Der erste in „Zeichenkonfidenz“ ausgegebene Wert stellt beispielsweise den Konfidenzwert für das erste Zeichen der ersten in „Text“ zurückgegebenen Zeichenfolge dar usw. Je näher der Konfidenzwert an 1 heranrückt, desto genauer ist das Ergebnis, da dies auf eine stärkere Übereinstimmung mit dem Zeichen hinweist.

Verwendete Recheneinheit beim Lokalisieren:

Dieses Ergebnis gibt die Recheneinheit aus, die in der letzten Iteration für die Lokalisierungskomponente des Deep OCR-Modells verwendet wurde.

Die ausgewählte Recheneinheit wird normalerweise für beide Komponenten (Lokalisierung und Lesen) des -Modells verwendet. In einigen Fällen kann die Anzahl der Modelle, die gleichzeitig verarbeitet werden können, begrenzt sein, z. B. bei einer Intel® Movidius™ Myriad™-VPU. Dann wird der Lokalisierungsschritt auf einer anderen Recheneinheit durchgeführt als der Leseschritt. Sie können dieses Ergebnis verwenden, um die Recheneinheit zu ermitteln, die tatsächlich für die Lokalisierungskomponente verwendet wurde. Dies ist auch nützlich, wenn Sie den Parameter „Recheneinheit“ auf „auto“ festlegen.

Verwendete Recheneinheit für Lesen:

Dieses Ergebnis gibt die Recheneinheit aus, die in der letzten Iteration für die Lesekomponente des Deep OCR-Modells verwendet wurde.

Die ausgewählte Recheneinheit wird normalerweise für beide Komponenten (Lokalisierung und Lesen) des -Modells verwendet. In einigen Fällen kann die Anzahl der Modelle, die gleichzeitig verarbeitet werden können, begrenzt sein, z. B. bei einer Intel® Movidius™ Myriad™-VPU. Dann wird der Lokalisierungsschritt auf einer anderen Recheneinheit durchgeführt als der Leseschritt. Sie können dieses Ergebnis verwenden, um die Recheneinheit zu ermitteln, die tatsächlich für die Lesekomponente verwendet wurde. Dies ist auch nützlich, wenn Sie den Parameter „Recheneinheit“ auf „auto“ festlegen.

Datentyp der Präzision:

Dieses Ergebnis gibt den Datentyp aus, der intern für die Optimierung des Deep Learning-Modells für Inferenz verwendet wurde. Anhand dieses Ergebnisses können Sie überprüfen, ob die richtige Präzision verwendet wurde, falls Probleme auftreten.

Wenn der Parameter „Präzision“ auf „hoch“ festgelegt ist, soll das Deep Learning-Modell mit „float32“-Präzision konvertiert werden. Daher wird erwartet, dass dieses Ergebnis den Datentyp „float32“ ausgibt. Wenn der Parameter „Präzision“ auf „mittel“ festgelegt ist, soll das Deep Learning-Modell mit „float16“-Präzision konvertiert werden. In diesem Fall werden für das Ergebnis Werte des Datentyps „float16“ erwartet. Falls bei einer Iteration Ihrer MVApp ein Problem aufgetreten ist, können Sie überprüfen, ob dieses Ergebnis einen anderen Datentyp als erwartet ausgibt. Weitere Informationen finden Sie möglicherweise auch in der Log-Datei. Weitere Informationen zu den Log-Dateien finden Sie auf der Seite Protokollieren.

Verarbeitungszeit:

Dieses Ergebnis gibt die Dauer der letzten Ausführung des Tools in Millisekunden aus. Das Ergebnis wird als zusätzliches Ergebnis bereitgestellt. Es ist daher standardmäßig ausgeblendet, kann aber über die Schaltfläche neben den Toolergebnissen angezeigt werden. Weitere Informationen finden Sie im Abschnitt Verarbeitungszeit in der Tool-Referenz-Übersicht.

Anwendungsbeispiele

Dieses Tool wird in den folgenden MERLIC-Vision-App-Beispielen verwendet:

  • read_best_before_date_with_orientation.mvapp