Dieses Kapitel erklärt das generelle Konzept des Deep Learning-Modells in HALCON und die Handhabung der Daten.
Ein Deep Learning-Modell ist in HALCON eine interne Repräsentation eines Neuronalen Netzwerkes. Jedes Neuronale Netzwerk hat seine Architektur, welche seine Funktion definiert und damit bestimmt, für welche Aufgaben es verwendet werden kann. Dabei sind verschiedene Netzwerk-Architekturen für eine Funktionalität möglich. Momentan sind folgende Funktionalitäten in HALCON als Modell implementiert:
3D Gripping Point Detection, siehe 3D-Matching / 3D Gripping Point Detection.
Anomalieerkennung und Global Context Anomaly Detection, siehe Deep Learning / Anomalieerkennung und Global Context Anomaly Detection.
Deep OCR, siehe OCR / Deep OCR.
Klassifikation, siehe Deep Learning / Klassifikation.
Multi-Label-Klassifikation, siehe Deep Learning / Multi-Label-Klassifikation.
Objektdetektion und Instanz-Segmentierung, siehe Deep Learning / Objektdetektion und Instanz-Segmentierung.
Semantische Segmentierung und Kantenextraktion, siehe Deep Learning / Semantische Segmentierung und Kantenextraktion.
Jede Funktionalität ist über ihren Modelltypen bezeichnet. Für die implementierten Methoden können weitere Informationen zum spezifischen Ablauf, den Daten-Anforderungen und Evaluierungsmöglichkeiten in den jeweiligen Kapiteln gefunden werden. Informationen zu Deep Learning (DL) im Allgemeinen befinden sich im Kapitel Deep Learning.
In diesem Kapitel finden sich Informationen, welche Daten ein DL Modell benötigt und zurück gibt sowie auch wie diese Daten übergeben werden.
Bei Deep Learning Anwendungen werden Daten verschiedener Art unterschieden. Grob gesagt sind dies die Rohbilder mit möglichen Annotationen, für das Modell passend verarbeitete Daten und Ausgabedaten.
Bevor die verschiedenen Daten und die Einträge spezifischer Dictionarys erläutert werden, wird ein grober Überblick gegeben, wie die Daten zusammenhängen. Dabei beziehen sich Farben und Symbole auf die darunter gegebenen schematischen Darstellungen.
Grob gesagt, beginnt die Datenstruktur beim Training und der Evaluierung
mit den rohen Bildern und ihren Ground Truth Annotationen (graue Rahmen).
Mit den eingelesenen Daten werden die folgenden Dictionarys erstellt:
Ein Dictionary DLDataset (rot) dient als Datenbank und
verweist für jedes Eingabebild auf ein spezifisches Dictionary (gelb).
Jedes Dictionary DLSample (orange) enthält
die Daten eines Samples in der Art wie das Modell sie als Eingabe benötigt.
Ein Batch von DLSamples wird dem Modell bei der Evaluierung als
übergeben.
Bei der Evaluierung wird ein DLSampleBatch zurückgegeben,
ein Tupel von Dictionarys DLResultBatchDLResult (dunkelblau), jeweils eines
pro Sample.
Diese Resultate werden für die Evaluierungsresultate in
EvaluationResult (türkis) benötigt.
Beim Training werden die Trainingsresultate (z.B. Losswerte) im Dictionary
(hellblau) zurückgegeben.
Die wichtigsten Schritte, in welchen die Dictionarys erstellt oder
modifiziert werden:
DLTrainResult
Einlesen der Rohdaten (Symbol: Papier mit Pfeil)
Vorverarbeitung der Daten (Symbol: Zahnräder)
Training des Netzwerkes (Symbol: transparentes Gehirn in Kreissegment)
Evaluierung des Modells (Symbol: Graph)
Evaluierung des Samples (Symbol: Lupe)
Bei der Inferenz sind keine Annotationen notwendig.
Somit startet die Datenstruktur mit den rohen Bilder (grauer Rahmen).
Das Dictionary DLSample (orange) enthält die Daten
eines Samples in der Art wie das Modell sie als Eingabe benötigt.
Die Resultate für ein Sample werden im Dictionary DLResult
(dunkelblau) zurückgegeben.
Die wichtigsten Schritte, in welchen die Dictionarys erstellt oder
modifiziert werden:
Einlesen der Rohdaten (Symbol: Papier mit Pfeil)
Vorverarbeitung der Daten (Symbol: Zahnräder)
Inferenz (Symbol: Gehirn in Kreis)
Evaluierung des Samples (Symbol: Lupe)
Damit das Modell die Daten verarbeiten kann, müssen diese gewisse Konventionen einhalten bezüglich welche Informationen benötigt werden und wie die Daten dem Modell übergeben werden. Wie aus den obigen Schemata ersichtlich, werden die Daten in HALCON über Dictionarys übergeben.
Die einzelnen Dictionarys, wie sie erstellt werden können und ihre Einträge werden im Folgenden genauer erläutert. Um zu markieren, welche Methoden (M) den jeweiligen Eintrag nutzen, verwenden wir folgende Abkürzungen:
'Any': Jede Methode
'3D-GPD': 3D Gripping Point Detection
'AD': Anomalieerkennung
'CL': Klassifikation
'MLC': Multi-Label-Klassifikation
'OCR-D': Deep OCR (Lokalisierungs-Komponente)
'OCR-R': Deep OCR (Erkennungs-Komponente)
'GC-AD': Global Context Anomaly Detection
'OD': Objektdetektion
Falls der Eintrag nur auf gewisse 'instance_type' zutrifft,
ist dieser spezifiziert mit 'r1': 'rectangle1',
'r2': 'rectangle2'.
Falls der Eintrag nur für die Instanz-Segmentierung zutrifft, ist dieser spezifiziert mit 'is'.
'SE': Semantische Segmentierung
Die Einträge, die nur auf einzelne Methoden zutreffen, werden in den jeweiligen Kapiteln genauer beschrieben.
Der Datensatz besteht aus Bildern und den dazugehörigen Informationen. Damit das Modell diese verarbeiten kann, müssen sie bestimmte Anforderungen erfüllen. Informationen zu den Bildanforderungen finden sich im unteren Abschnitt „Bilder“.
Die Informationen zu den Bildern und dem Datensatz werden im Dictionary
DLDataset vermerkt. Dabei dient dieses Dictionary als
Datenbank.
Genauer gesagt, werden darin die generellen Informationen über den
Datensatz gespeichert sowie die Dictionarys der einzelnen Samples
unter dem Schlüssel samples gesammelt.
Werden die jeweiligen Bilddaten benötigt, wird für jedes erforderte Bild
ein Dictionary erstellt (oder gelesen, falls dieses
bereits existiert).
Der Zusammenhang zwischen diesen Dictionarys ist in der folgenden
Darstellung illustriert.
DLSample
BatchSize auf drei gesetzt und
werden nur wenige Einträge aufgelistet.
In diesem Beispiel werden aus den insgesamt Samples drei
zufällig ausgewählt, jene mit den Indizes i,j und k.
Die entsprechenden DLSample werden erstellt und im Tupel
DLSampleBatch vereint.
DLDataset
Das Dictionary DLDataset dient als Datenbank.
Es speichert die generellen Informationen zum Datensatz und sammelt die
Dictionarys der individuellen Samples.
Dabei sind keine ikonischen Daten in DLDataset enthalten,
aber die Pfade zu den entsprechenden Bildern.
Das Dictionary DLDataset von den Trainings- und Evaluierungs-
Prozeduren verwendet.
Es ist für das Modell selbst nicht notwendig, aber seine Erstellung wird
stark empfohlen.
Dieses Dictionary wird entweder direkt erzeugt, wenn die Daten mit Hilfe des
MVTec Deep Learning Tools gelabelt werden, oder es wird durch eine der
folgenden methodenspezifischen Prozeduren erzeugt:
read_dl_dataset_3d_gripping_point_detection
(3D Gripping Point Detection)
read_dl_dataset_anomaly (Anomalieerkennung,
Global Context Anomaly Detection)
read_dl_dataset_classification (Klassifikation)
read_dl_dataset_ocr_detection (Deep OCR - Lokalisierungs-Komponente)
read_dl_dataset_ocr_recognition (Deep OCR - Erkennungs-Komponente)
read_dl_dataset_from_coco (Objektdetektion mit
'instance_type' = 'rectangle1')
read_dl_dataset_segmentation (Semantische Segmentierung).
Bezüglich der genauen Datenanforderungen um diese Prozeduren zu verwenden
wird auf die jeweilige Prozedurendokumentation verwiesen.
Wird DLDataset auf anderen Wegen erstellt, muss es zumindest
die Einträge beinhalten, die in der unteren Erklärung nicht mit einer Zahl
markiert sind.
Während der Vorverarbeitung des Datensatzes werden dem Dictionary
DLDataset die weiteren Einträge von den jeweiligen Prozeduren
hinzugefügt.
Vom Modell abhängig kann das Dictionary die folgenden Einträge haben:
image_dir: AnyBasispfad zu allen Bildern.
Format: String
dlsample_dir: Any [1]Basispfad zu allen Sample Dateien (sofern vorhanden).
Format: String
class_names: Any außer OCR-RNamen aller zu unterscheidenden Klassen.
Format: Tupel von Strings
class_ids: Any außer OCR-RIDs aller zu unterscheidenden Klassen (Wertebereich: 0-65534).
Format: Tupel von ganzzahligen Werten
preprocess_param: Any [1]Alle während der Vorverarbeitung verwendeten Parameter.
Format: Dictionary
normals_dir: 3D-GPDOptional. Basispfad zu allen Normalenbildern.
format: string
xyz_dir: 3D-GPDBasispfad zu allen XYZ-Bildern.
format: string
anomaly_dir: AD, GC-ADBasispfad zu allen Anomalieregionen (Regionen, die eine Anomalie auf dem Bild kennzeichnen).
Format: String
class_weights: CL, SE [1]Gewichte der verschiedenen Klassen.
Format: Tupel von Gleitkommazahlen
segmentation_dir: SE, 3D-GPDBasispfad zu allen Segmentierungsbildern.
Format: String
Dieses Dictionary wird direkt erzeugt, wenn die Daten mit Hilfe des MVTec Deep Learning Tools gelabelt werden. Ebenso wird es von den oben erwähnten Prozeduren erstellt. Die mit [1] markierten Einträge werden von den Vorverarbeitungsprozeduren eingetragen.
samples
Der Schlüssel samples des Dictionary DLDataset
hat als Wert ein Tupel von Dictionarys, eines für jedes Sample
des Datensatzes.
Diese Dictionarys beinhalten die Information der jeweiligen Samples
und haben die folgenden Einträge:
image_file_name: Any
Dateiname des Bildes und sein Pfad relativ zu image_dir.
Format: String
image_id: AnyEindeutige Bild-ID (Zeichenkodierungsformat: UINT8).
Format: Ganzzahl
split: Any [2]
Gibt den bei der Aufteilung zugeordneten Datensatz an
('train','validation','test').
Format: String
dlsample_file_name: Any [3]
Dateiname des entsprechenden Dictionary
und sein Pfad relativ zu DLSampledlsample_dir.
Format: String
normals_file_name: 3D-GPD
Optional. Dateiname des Normalenbildes und sein Pfad relativ zu
normals_dir.
format: string
segmentation_file_name: 3D-GPD, SE
Dateiname des Segmentierungsbildes und sein Pfad relativ zu
segmentation_dir.
format: string
xyz_file_name: 3D-GPD
Dateiname des XYZ-Bildes und sein Pfad relativ zu xyz_dir.
format: string
anomaly_file_name: AD, GC-AD
Optional. Pfad zu den Dateien mit den Ground Truth Anomalieregionen
(relativ zu anomaly_dir).
Format: String
anomaly_label: AD, GC-AD
Ground Truth Anomalie Label
(als Name aus class_names).
Format: String
image_label_id: CL
Ground Truth Label des Bildes (als ID aus class_ids).
Format: Tupel von Ganzzahlen
image_label_ids: MLC
Ground Truth Label des Bildes (als IDs aus class_ids).
Format: Tupel von Ganzzahlen
image_id_origin: OCR-RID des Originalbildes aus dem das Sample stammt.
Format: Ganzzahl
word: OCR-D, OCR-RGround Truth Wort.
Format: String
bbox_label_id: OD, OCR-D
Ground Truth Label für den Bildausschnitt innerhalb des umschließenden
Rechtecks (als ID aus class_ids).
Format: Tupel von Ganzzahlen
bbox_row1: OD:r1 [4]Ground Truth umschließendes Rechteck: Obere linke Ecke, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col1: OD:r1 [4]Ground Truth umschließendes Rechteck: Obere linke Ecke, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_row2: OD:r1 [4]Ground Truth umschließendes Rechteck: Untere rechte Ecke, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col2: OD:r1 [4]Ground Truth umschließendes Rechteck: Untere rechte Ecke, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
coco_raw_annotations: OD:r1
Optional. Für jede bbox_label_id innerhalb dieses Bildes
enthält dieser Wert ein Dictionary mit allen unverarbeiteten COCO
Annotations-Informationen.
Format: Tupel von Dictionarys
bbox_row: OCR-D, OCR-R, OD:r2 [4]Ground Truth umschließendes Rechteck: Mittelpunkt, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col: OCR-D, OCR-R, OD:r2 [4]Ground Truth umschließendes Rechteck: Mittelpunkt, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_phi: OCR-D, OCR-R, OD:r2 [4]Ground Truth umschließendes Rechteck: Winkel phi.
Format: Tupel von Gleitkommazahlen
bbox_length1: OCR-D, OCR-R, OD:r2 [4]Ground Truth umschließendes Rechteck: Halbe Kantenlänge 1.
Format: Tupel von Gleitkommazahlen
bbox_length2: OCR-D, OCR-R, OD:r2 [4]Ground Truth umschließendes Rechteck: Halbe Kantenlänge 2.
Format: Tupel von Gleitkommazahlen
mask: OD:isGround Truth Masken, welche die Region der Instanzen markieren.
Format: Tupel von Regionen
segmentation_file_name: SE
Dateiname des Ground Truth Segmentierungsbildes und sein Pfad
relativ zu segmentation_dir.
Format: String
Diese Dictionarys sind Teil von DLDataset und werden als
solche zugleich erstellt.
Ausnahme sind dabei die markierten Einträge der Tabelle,
[2]: Die Prozedur split_dl_dataset fügt den Eintrag
split hinzu,
[3]: Die Prozedur preprocess_dl_samples fügt den Eintrag
dlsample_file_name hinzu.
[4]: Für die Parameter der umschließenden Ground Truth Rechtecke
(BBoxGT) werden pixel-zentrierte, subpixel-genaue Koordinaten
verwendet.
DLSample
Das Dictionary dient als Eingabewert des
Modells. Für einen Batch werden sie als Einträge des Tupels
DLSample an die Operatoren DLSampleBatch oder
apply_dl_model übergeben.
train_dl_model_batch
Ein solches Dictionary wird für jeden Eintrag aus den
Daten in DLSampleDLDataset durch die Prozeduren gen_dl_samples
gefolgt von preprocess_dl_samples erstellt. Es enthält alle
Ground Truth Annotationen eines Eintrags.
Es gilt zu beachten, dass die Vorverarbeitung zu Aktualisierungen des
entsprechenden führt.
Wird die Vorverarbeitung mit der Standard-Prozedur
DLSamplepreprocess_dl_dataset durchgeführt, werden die vorverarbeiteten
Daten auf dem Dateisystem abgelegt. Danach können sie durch
read_dl_samples ausgelesen werden.
Das Dictionary hat folgende Einträge:
DLSample
anomaly_ground_truth: AD, GC-AD
Bild oder Region, aus anomaly_file_name.
Format: Bild oder Region
anomaly_label: AD, GC-AD
Ground Truth Anomalie Label auf Bildebene
(als Name aus class_names).
Format: String
anomaly_label_id: AD, GC-AD
Ground Truth Anomalie Label auf Bildebene
(als ID aus class_ids).
Format: Ganzzahl
bbox_label_id: OD
Ground Truth Label für den Bildausschnitt innerhalb des umschließenden
Rechtecks (als ID aus class_ids).
Format: Tupel von Ganzzahlen
bbox_row1: OD:r1 [4]Ground Truth umschließendes Rechteck: Obere linke Ecke, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col1: OD:r1 [4]Ground Truth umschließendes Rechteck: Obere linke Ecke, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_row2: OD:r1 [4]Ground Truth umschließendes Rechteck: Untere rechte Ecke, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col2: OD:r1 [4]Ground Truth umschließendes Rechteck: Untere rechte Ecke, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_row: OCR-D, OD:r2 [4]Ground Truth umschließendes Rechteck: Mittelpunkt, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col: OCR-D, OD:r2 [4]Ground Truth umschließendes Rechteck: Mittelpunkt, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_phi: OCR-D, OD:r2 [4]Ground Truth umschließendes Rechteck: Winkel phi.
Format: Tupel von Gleitkommazahlen
bbox_length1: OCR-D, OD:r2 [4]Ground Truth umschließendes Rechteck: Halbe Kantenlänge 1.
Format: Tupel von Gleitkommazahlen
bbox_length2: OCR-D, OD:r2 [4]Ground Truth umschließendes Rechteck: Halbe Kantenlänge 2.
Format: Tupel von Gleitkommazahlen
image: AnyEingabebild
Format: Bild
image_label_id: CL
Ground Truth Label des Bildes (als ID aus class_ids).
Format: Ganzzahl
image_label_ids: MLC
Ground Truth Label des Bildes (als IDs aus class_ids).
Format: Tupel von Ganzzahlen
mask: OD:isGround Truth Masken, welche die Region der Instanzen markieren.
Format: Tupel von Regionen
normals: 3D-GPD2D-Mappings (3-kanaliges Bild)
Format: Bild
segmentation_image: SE, 3D-GPD
Bild mit den Ground Truth Segmentierungen, eingelesen von
segmentation_file_name.
Format: Bild
weight_image: SE [5]Bild mit den Pixel-Gewichten.
Format: Bild
target_text: OCR-DDas Zielbild der Text-Lokalisierung.
format: Bild
target_link: OCR-DDas Zielbild der Verbindung von lokalisierten Zeichenmittelpunkten zu einem zusammenhängenden Wort.
format: Bild
target_weight_orientation: OCR-D
Das Gewicht bezüglich der Eingabe target_orientation.
format: Bild
target_weight_link: OCR-D
Das Gewicht bezüglich der Eingabe target_link.
format: Bild
target_weight_text: OCR-D
Das Gewicht bezüglich der Eingabe target_text.
format: Bild
word: OCR-D, OCR-RGround Truth Wort.
Format: String
x: 3D-GPDX-Bild (Werte müssen von links nach rechts aufsteigend).
Format: Bild
y: 3D-GPDY-Bild (Werte müssen von oben nach unten aufsteigend).
Format: Bild
z: 3D-GPDZ-Bild (Werte müssen von dem Sensor nahen zu fernen Punkten aufsteigen; das ist z.B. der Fall wenn die Daten bezüglich des Kamerakoordinatensystems angegeben werden).
Format: Bild
Diese Dictionarys werden von den Prozeduren gen_dl_samples
und preprocess_dl_samples erzeugt.
Eine Ausnahme stellt der markierte Eintrag dar, [5]: wird von der
Prozedur gen_dl_segmentation_weights erstellt.
[4]: Für die Parameter der Ground Truth umschließenden Rechtecke
werden pixel-zentrierte, subpixel-genaue Koordinaten verwendet.
Die Eingabedaten bei der Inferenz bestehen aus einem oder mehreren
Dictionarys. Im Gegensatz zu Training und
Evaluierung werden nur die folgenden Einträge verwendet:
DLSample
image: AnyEingabebild.
Format: Bild
normals: 3D-GPD2D-Mappings (3-kanaliges Bild).
Format: Bild
x: 3D-GPDX-Bild (Werte müssen von links nach rechts aufsteigend).
Format: Bild
y: 3D-GPDY-Bild (Werte müssen von oben nach unten aufsteigend).
Format: Bild
z: 3D-GPDZ-Bild (Werte müssen von dem Sensor nahen zu fernen Punkten aufsteigen; das ist z.B. der Fall wenn die Daten bezüglich des Kamerakoordinatensystems angegeben werden).
Format: Bild
Informationen zu den Bildanforderungen finden sich im unteren Abschnitt „Bilder“.
Für die Inferenz beinhaltet ein solches Dictionary nur die Bilddaten und
wird von der Prozedur gen_dl_samples_from_images oder
gen_dl_samples_3d_gripping_point_detection (nur für 3D Gripping
Point Detection) erstellt. Diese Dictionarys können einzeln oder als Einträge
des Tupels übergeben werden .
DLSampleBatch
Die Trainingsresultate werden im Dictionary
gesammelt. Die spezifischen Einträge hängen vom Modell und damit vom
verwendeten Operator ab
(für weitere Informationen, siehe die Dokumentation des
entsprechendes Operators):
DLTrainResult
Der Operator gibt folgende Einträge zurück:
train_dl_model_batch
total_loss
weitere mögliche Zielfunktionen des Modells
Der Operator gibt folgende
Einträge zurück:
train_dl_model_anomaly_dataset
final_error
final_epoch
Als Ausgabe des Operators gibt das Modell
ein Dictionary train_dl_model_batch zurück.
In diesem Dictionary befinden sich der aktuelle Wert der
Gesamt-Zielfunktion unter dem Schlüssel DLTrainResulttotal_loss sowie die
Werte aller weiteren im Modell enthaltenen Zielfunktionen.
Als Ausgabe des Operators gibt das Modell für
jedes Sample ein Dictionary apply_dl_model, siehe die unten folgende
Darstellung.
Die Evaluierung basiert auf diesen Resultaten und den dem Bild zugehörigen
Annotationen.
Die Evaluierungsresultate werden im Dictionary DLResultEvaluationResult
gespeichert.
| ( 1) | ( 2) |
DLSample beinhaltet das Bild
sowie Informationen über das Bild und seinen Inhalt.
Diese Daten dienen als Basis der Evaluierung.
Zu Darstellungszwecken ist die BatchSize auf drei gesetzt,
zudem sind nur wenige Einträge aufgelistet.
(2) Inferenz: DLSample beinhaltet das Bild.
Diese Dictionarys können einzeln oder im Tupel übergeben werden.
Abhängig vom Modell-Typ kann dieses Dictionary die folgenden Einträge haben:
gripping_map: 3D-GPDBinärbild, das für jedes Pixel der Szene angibt, ob das Modell einen Greifpunkt vorhergesagt hat (Pixelwert = 1.0) oder nicht (0.0).
Format: Bild
gripping_confidence: 3D-GPDBild, das für jeden Punkt der Szene unverarbeitete, unkalibrierte Konfidenzwerte enthält.
Format: Bild
anomaly_image: AD, GC-ADGrauwertbild mit Scores als Pixelwerte, die angeben wie wahrscheinlich der entsprechende Pixel im Eingabebild zu einer Anomalie gehört.
Format: Bild
anomaly_image_combined: GC-AD
Grauwertbild mit Scores als Pixelwerte, die angeben wie wahrscheinlich der
entsprechende Pixel im Eingabebild zu einer Anomalie gehört.
Berechnet aus einer Kombination der Subnetzwerke 'global' und
'local' des Modells.
Format: Bild
anomaly_image_global: GC-AD
Grauwertbild mit Scores als Pixelwerte, die angeben wie wahrscheinlich der
entsprechende Pixel im Eingabebild zu einer Anomalie gehört.
Berechnet aus dem Subnetzwerk 'global' des Modells.
Format: Bild
anomaly_image_local: GC-AD
Grauwertbild mit Scores als Pixelwerte, die angeben wie wahrscheinlich der
entsprechende Pixel im Eingabebild zu einer Anomalie gehört.
Berechnet aus dem Subnetzwerk 'local' des Modells.
Format: Bild
anomaly_score: AD, GC-AD
Score der Anomalie aufgrund der Werte in anomaly_image.
Format: Gleitkommazahl
anomaly_score_local: GC-AD
Score der Anomalie aufgrund der Werte in anomaly_image_local.
Format: Gleitkommazahl
anomaly_score_global: GC-AD
Score der Anomalie aufgrund der Werte in anomaly_image_global.
Format: Gleitkommazahl
classification_class_ids: CLIDs der vorhergesagten Klassen des Bildes sortiert nach Konfidenzwerten.
Format: Tupel von Ganzzahlen
classification_class_names: CLVorhergesagte Klassennamen des Bildes sortiert nach Konfidenzwerten.
Format: Tupel von Strings
classification_confidences: CLKonfidenzwerte für die Vorhersage des Bildes für jede Klasse.
Format: Tupel von Gleitkommazahlen
class_ids: MLCIDs der vorhergesagten Klassen des Bildes sortiert nach Konfidenzwerten.
Format: Tupel von Ganzzahlen
class_names: MLCVorhergesagte Klassennamen des Bildes sortiert nach Konfidenzwerten.
Format: Tupel von Strings
confidences: MLCKonfidenzwerte für die Vorhersage des Bildes für jede Klasse.
Format: Tupel von Gleitkommazahlen
selected_class_ids: MLC
IDs der ausgewählten Klassen des Bildes über dem Schwellenwert
für die Konfidenz (min_confidence).
Format: Tupel von Ganzzahlen
selected_class_names: MLC
Ausgewählte Klassennamen des Bildes über dem Schwellenwert
für die Konfidenz (min_confidence).
Format: Tupel von Strings
selected_confidences: MLCAusgewählte Konfidenzwerte des Bildes für jede Klasse über dem Schwellenwert.
Format: Tupel von Gleitkommazahlen
char_candidates: OCR-RKandidaten für jedes Zeichen eines Wortes und deren Konfidenzwerte.
Format: Tupel von Dictionarys
word: OCR-RErkanntes Wort.
Format: String
score_maps: OCR-DBewertungen 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.
format: Bild
words: OCR-DDictionary mit den folgenden Einträgen. Dabei sind die Einträge Tupel mit einem Wert für jedes gefundene Wort.
row: Lokalisiertes Wort: Mittelpunkt,
Zeilenkoordinate
col: Lokalisiertes Wort: Mittelpunkt,
Spaltenkoordinate
phi: Lokalisiertes Wort: Winkel phi.
length1: Lokalisiertes Wort: Halbe Kantenlänge 1.
length2: Lokalisiertes Wort: Halbe Kantenlänge 2.
line_index: Zeilen-Index der lokalisierten Worte,
falls 'detection_sort_by_line' gleich 'true'.
format: Dictionary mit Tupeln von Gleitkommazahlen und Strings
word_boxes_on_image: OCR-D
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: Lokalisiertes Wort: Mittelpunkt,
Zeilenkoordinate
col: Lokalisiertes Wort: Mittelpunkt,
Spaltenkoordinate
phi: Lokalisiertes Wort: Winkel phi.
length1: Lokalisiertes Wort: Halbe Kantenlänge 1.
length2: Lokalisiertes Wort: Halbe Kantenlänge 2.
format: Dictionary mit Tupeln von Gleitkommazahlen
word_boxes_on_score_maps: OCR-D
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.
format: Dictionary mit Tupeln von Gleitkommazahlen
bbox_class_id: OD
Vorhergesagte Klasse für das umschließende Rechteck
(als ID aus class_ids).
Format: Tupel von Ganzzahlen
bbox_class_name: ODName der vorhergesagten Klasse für das umschließende Rechteck.
Format: Tupel von Strings
bbox_confidence: ODKonfidenzwerte für die Vorhersage des umschließenden Rechtecks.
Format: Tupel von Gleitkommazahlen
bbox_row1: OD:r1 [6]Inferiertes umschließendes Rechteck: Obere linke Ecke, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col1: OD:r1 [6]Inferiertes umschließendes Rechteck: Obere linke Ecke, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_row2: OD:r1 [6]Inferiertes umschließendes Rechteck: Untere rechte Ecke, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col2: OD:r1 [6]Inferiertes umschließendes Rechteck: Untere rechte Ecke, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_row: OD:r2 [6]Inferiertes umschließendes Rechteck: Mittelpunkt, Zeilenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_col: OD:r2 [6]Inferiertes umschließendes Rechteck: Mittelpunkt, Spaltenkoordinate.
Format: Tupel von Gleitkommazahlen
bbox_phi: OD:r2 [6]Inferiertes umschließendes Rechteck: Winkel phi.
Format: Tupel von Gleitkommazahlen
bbox_length1: OD:r2 [6]Inferiertes umschließendes Rechteck: Halbe Kantenlänge 1.
Format: Tupel von Gleitkommazahlen
bbox_length2: OD:r2 [6]Inferiertes umschließendes Rechteck: Halbe Kantenlänge 2.
Format: Tupel von Gleitkommazahlen
mask: OD:isInferierte Masken, welche die Region der Instanzen markieren.
Format: Tupel von Regionen
mask_probs: OD:isBild mit den Konfidenzwerten der inferierten Masken.
Format: Bild
segmentation_image: SEBild mit dem Segmentierungsresultat.
Format: Bild
segmentation_confidence: SEBild mit den Konfidenzwerten des Segmentierungsresultats.
Format: Bild
[6]: Für die Parameter der inferierten umschließenden Rechtecke werden pixel-zentrierte, subpixel-genaue Koordinaten verwendet.
Für weitere Informationen zu den Ausgabewerten wird auf das Kapitel der entsprechenden Methode verwiesen, z.B. Deep Learning / Semantische Segmentierung und Kantenextraktion.
Unabhängig von der Anwendung stellt das Netzwerk Anforderungen an die
Bilder. Die spezifischen Werte hängen vom Netzwerk selbst ab und können
mit abgefragt werden.
Um diese Anforderungen zu erfüllen, müssen die Bilder evt.
vorverarbeitet werden.
Die Standard-Vorverarbeitung für den ganzen Datensatz und damit auch der
Bilder kann mit Hilfe der Prozedur get_dl_model_parampreprocess_dl_samples
durchgeführt werden.
Für eine selbst erstellte Vorverarbeitung liefert diese Prozedur eine
Anleitung für die Implementierung.
add_dl_pruning_batchapply_dl_modelclear_dl_modelcreate_dl_pruningdeserialize_dl_modelgen_dl_model_heatmapgen_dl_pruned_modelget_dl_model_paramget_dl_pruning_paramread_dl_modelserialize_dl_modelset_dl_model_paramset_dl_pruning_paramtrain_dl_model_batchwrite_dl_model