apply_deep_ocr — Anwenden eines Deep OCR-Modells auf mehreren Bildern.
apply_deep_ocr(Image : : DeepOcrHandle, Mode : DeepOcrResult)
apply_deep_ocr wendet das durch DeepOcrHandle gegebene
Deep OCR-Modell auf die Eingabebilder im Tupel Image an.
Der Operator gibt DeepOcrResult zurück, ein Tupel mit einem
Ergebnis-Dictionary DeepOcrResult pro Eingabebild.
Der Operator apply_deep_ocr stellt folgende Anforderungen an die
Eingabebilder Image:
Bildtyp: byte.
Anzahl Kanäle: 1 oder 3.
Des Weiteren wird der Operator apply_deep_ocr die Bilder
Image vorverarbeiten um den Modellspezifikationen zu entsprechen.
Dies bedeutet, dass die Byte-Bilder normalisiert und in real-Bilder
umgewandelt werden.
Außerdem wird für Mode = 'auto' oder 'detection'
das Bild Image auf die Eingabedimensionen des Modells aufgefüllt
und im Falle von nur einem Kanal in ein dreikanaliges Bild umgewandelt.
Für Mode = 'recognition' werden dreikanalige Bilder
automatisch in einkanalige Bilder umgewandelt.
Der Parameter Mode bestimmt den Modus und dadurch, welche Komponente
ausgeführt wird. Es werden folgende Werte unterstützt:
Es werden beide Teile ausgeführt, die Lokalisierung und Erkennung der Worte.
Nur die Komponente zur Lokalisierung wird ausgeführt. Daher lokalisiert das Modell lediglich die Wortbereiche innerhalb des Bildes.
Nur die Komponente zum Erkennen der Worte wird ausgeführt. Daher erfordert das Modell, dass das Bild nur einen engen Zuschnitt eines einzelnen Wortes enthält.
Es gilt zu beachten, dass das Modell die entsprechenden Komponenten enthalten
muss, siehe create_deep_ocr.
Das Ergebnis-Dictionary DeepOcrResult hat folgende Einträge,
abhängig von Mode (mit der Abkürzung markiert):
image (A, DET, REC):Vorverarbeitetes Bild.
score_maps (A, DET):Bewertungen als Bild mit vier Kanälen:
Zeichenbewertung: Bewertung der Lokalisierung von Zeichen.
Verknüpfungsbewertung: Bewertung der Verbindung von lokalisierten Zeichenmittelpunkten zu einem zusammenhängenden Wort.
Ausrichtung 1: Sinuskomponente der vorhergesagten Wortausrichtung.
Ausrichtung 2: Kosinuskomponente der vorhergesagten Wortausrichtung.
words (A, DET):Dictionary mit den folgenden Einträgen. Dabei sind die Einträge Tupel mit einem Wert für jedes gefundene Wort.
word (A): Erkanntes Wort.
char_candidates (A):
Ein Dictionary mit Informationen über jeden Buchstaben eines jeden
erkannten Wortes. Das Dictionary enthält für jedes Wort ein
Schlüssel/Wert Paar: Der Index des Wortes ist der Schlüssel und ein
Tupel von Dictionaries sind die Werte. Jedes dieser
Buchstaben-Dictionaries enthält folgende Schlüssel/Werte Paare:
'candidate': Ein Tupel der besten
'recognition_num_char_candidates' Kandidaten.
'confidence': Softmax basierte Konfidenzwerte eines
jeden besten Kandidaten. Man beachte, dass diese Werte nicht
kalibriert sind und mit Vorsicht verwendet werden sollten. Sie
können sich signifikant von Modell zu Modell unterscheiden.
word_image (A): Vorverarbeiteter Bildteil, der das Wort
enthält.
row (A, DET): Lokalisiertes Wort: Mittelpunkt,
Zeilenkoordinate
col (A, DET): Lokalisiertes Wort: Mittelpunkt,
Spaltenkoordinate
phi (A, DET): Lokalisiertes Wort: Winkel phi.
length1 (A, DET): Lokalisiertes Wort: Halbe Kantenlänge 1.
length2 (A, DET): Lokalisiertes Wort: Halbe Kantenlänge 2.
line_index (A, DET): Zeilen-Index der lokalisierten Worte,
falls 'detection_sort_by_line' gleich 'true'.
Die Lokalisierung der Worte ist mittels Parameter orientierter Rechtecke
gegeben, siehe gen_rectangle2 für weitere Informationen.
word_boxes_on_image (A, DET):
Dictionary mit der
Lokalisierung der Worte im Koordinatensystem der vorverarbeiteten Bilder,
die sich in image befinden. Dabei sind die Einträge Tupel mit
einem Wert für jedes gefundene Wort.
row (A, DET): Lokalisiertes Wort: Mittelpunkt,
Zeilenkoordinate
col (A, DET): Lokalisiertes Wort: Mittelpunkt,
Spaltenkoordinate
phi (A, DET): Lokalisiertes Wort: Winkel phi.
length1 (A, DET): Lokalisiertes Wort: Halbe Kantenlänge 1.
length2 (A, DET): Lokalisiertes Wort: Halbe Kantenlänge 2.
Die Lokalisierung der Worte ist mittels Parameter orientierter Rechtecke
gegeben, siehe gen_rectangle2 für weitere Informationen.
word_boxes_on_score_maps (A, DET):
Dictionary mit der
Lokalisierung der Worte im Koordinatensystem der Bewertungsbilder, die sich
in score_maps befinden. Die Einträge sind die gleichen wie für
word_boxes_on_image oben.
word (REC):Erkanntes Wort.
char_candidates (REC):Ein Tupel von Dictionaries mit Informationen über jeden Buchstaben des erkannten Wortes. Jedes Buchstaben-Dictionary enthält folgende Schlüssel/Werte Paare:
'candidate': Ein Tupel der besten
'recognition_num_char_candidates' Kandidaten.
'confidence': Softmax basierte Konfidenzwerte eines
jeden besten Kandidaten. Man beachte, dass diese Werte nicht
kalibriert sind und mit Vorsicht verwendet werden sollten. Sie können
sich signifikant von Modell zu Modell unterscheiden.
Systemvoraussetzungen:
Um diesen Operator auf der GPU auszuführen (siehe get_deep_ocr_param),
werden cuDNN und cuBLAS benötigt.
Für weitere Details wird auf den „Installation Guide“,
Abschnitt „Requirements for Deep Learning and Deep-Learning-Based Methods“,
verwiesen.
Alternativ kann dieser Operator auch auf der CPU ausgeführt werden.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Dieser Operator unterstützt Cancel-Timeouts und Interrupts.
Dieser Operator unterstützt Break-Timeouts und Interrupts.
Image (input_object) (multichannel-)image(-array) → object (byte)
Eingabebild.
DeepOcrHandle (input_control) deep_ocr → (handle)
Handle des Deep OCR-Modells.
Mode (input_control) string → (string)
Inferenz-Modus.
Defaultwert: []
Werteliste: 'auto', 'detection', 'recognition'
DeepOcrResult (output_control) dict(-array) → (handle)
Tupel mit Ergebnis-Dictionaries.
Sind die Parameterwerte korrekt, dann liefert apply_deep_ocr den
Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
get_deep_ocr_param,
set_deep_ocr_param,
create_deep_ocr
OCR/OCV