Modell

Liste der Operatoren ↓

Diese Kapitel erklärt das generelle Konzept des Deep Learning-Modells in HALCON und die Daten Handhabung.

Ein Deep Learning-Modell ist in HALCON ein Neuronales Netzwerk. 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. Diese Funktionalitäten werden auch als Methoden oder Typ bezeichnet. Momentan sind folgende Funktionalitäten in HALCON als Modell implementiert:

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.

Daten

Unabhängig von der Methode gelten gewisse Konventionen, wie die Daten dem Modell übergeben werden. Der Grundgedanke: Das Modell interagiert mit den Daten über Dictionaries. Genauer gesagt, für jedes Eingabebild erhält das Modell ein Dictionary DLSampleDLSampleDLSampleDLSampleDLSample. Dieses Dictionary enthält das Eingabebild selbst und, im Falle des Trainings und der Evaluierung, Informationen wie z.B. die Ground Truth Annotationen. Als Ausgabe gibt das Modell ein Dictionary DLResultDLResultDLResultDLResultDLResult mit den Resultaten zurück. Eine Darstellung ist unten gegeben.

image/svg+xml i k j 'val_1' = [...] 'val_1' = [...] image/svg+xml 'image' ... 'val_2' = [...] 'val_3' = [...] 'val_1' = [...]
(1) (2)
Schematische Darstellung der Dictionaries, welche als Modell-Eingabe dienen: (1) Training und Evaluierung: DLSampleDLSampleDLSampleDLSampleDLSample beinhaltet das Bild sowie Informationen über das Bild und seinen Inhalt. Zu Darstellungszwecken ist die BatchSizeBatchSizeBatchSizeBatchSizebatchSize auf drei gesetzt, zudem sind nur wenige Einträge aufgelistet. (2) Inferenz: DLSampleDLSampleDLSampleDLSampleDLSample beinhaltet das blanke Bild. Diese Dictionaries können einzeln oder im Tupel übergeben werden.

Für das Training und die Evaluierung dient ein weiteres Dictionary DLDatasetDLDatasetDLDatasetDLDatasetDLDataset als Datenbank, in welcher auch die Dictionaries mit den Informationen zu den einzelnen Bildern (gespeichert unter dem Schlüssel samplessamplessamplessamplessamples) gesammelt werden. Aus dieser Datenbank werden die Eingabe-Dictionaries für das Modell erstellt, die DLSampleDLSampleDLSampleDLSampleDLSample. Siehe auch die folgende Darstellung und den Abschnitt „Eingabedaten beim Training und der Evaluierung“.

image/svg+xml ... 'image_dir' = '...' 'class_ids' = [...] ... = [ ] ... ... 'image_file_name' = '...' 'image_id' = ... ... 'image_file_name' = '...' 'image_id' = ... ... 'image_file_name' = '...' 'image_id' = ... ... 'image_file_name' = '...' 'image_id' = ... ... 'image_file_name' = '...' 'image_id' = ... i k 0 n-1 j i j k 'image_id' = ... ... 'image' k i j
Schematische Darstellung der verschiedenen Dictionaries des Datensatzes, welche während des Trainings und der Evaluation verwendet werden. Zu Darstellungszwecken ist die BatchSizeBatchSizeBatchSizeBatchSizebatchSize auf drei gesetzt, zudem sind nur wenige Einträge aufgelistet. In diesem Beispiel werden aus den insgesamt Samples drei zufällig ausgewählt. Die entsprechenden DLSampleDLSampleDLSampleDLSampleDLSample werden erstellt und im Tupel DLSampleBatchDLSampleBatchDLSampleBatchDLSampleBatchDLSampleBatch vereint.

Obwohl für das Modell selbst nicht zwingend notwendig, wird das Dictionary DLDatasetDLDatasetDLDatasetDLDatasetDLDataset von den Trainings- und Evaluaierungs-Prozeduren verwendet. So wird stark empfohlen, aus den vorliegenden Daten ein Dictionary DLDatasetDLDatasetDLDatasetDLDatasetDLDataset zu erstellen. Dieses Dictionary wird direkt erzeugt, wenn die Daten mit Hilfe des MVTec Deep Learning Tools gelabelt werden. Alternativ wird es erstellt, wenn zum Einlesen der Daten eine der folgenden Prozeduren verwendet wird:

Bezüglich der genauen Datenanforderungen um diese Prozeduren zu verwenden wird auf die jeweilige Prozedurendokumentation verwiesen. Wird DLDatasetDLDatasetDLDatasetDLDatasetDLDataset 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 DLDatasetDLDatasetDLDatasetDLDatasetDLDatasetdie weiteren Einträge von den jeweiligen Prozeduren hinzugefügt.

Im Folgenden werden die verschiedenen Daten erklärt sowie die dazugehörigen Dictionaries. Um zu markieren, welche Methoden (M) den jeweiligen Eintrag nutzen, verwenden wir folgende Abkürzungen:

Die Einträge, die nur auf einzelne Methoden zutreffen, werden in den jeweiligen Kapiteln genauer beschrieben.

Eingabedaten beim Training und der Evaluierung

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 DLDatasetDLDatasetDLDatasetDLDatasetDLDataset vermerkt. Dabei dient dieses Dictionary als Datenbank. Genauer gesagt, werden darin die generellen Informationen über den Datensatz gespeichert sowie die Dictionaries der einzelnen Sample unter dem Schlüssel samplessamplessamplessamplessamples gesammelt. Werden die jeweiligen Bilddaten benötigt, wird für jedes erforderte Bild ein Dictionary DLSampleDLSampleDLSampleDLSampleDLSample erstellt (oder gelesen, falls dieses bereits existiert). Der Zusammenhang zwischen diesen Dictionaries ist in der obigen Darstellung illustriert. Im Folgenden werden die einzelnen Dictionaries mit ihren Schlüssel/Wert-Paaren genauer erklärt.

DLDatasetDLDatasetDLDatasetDLDatasetDLDataset

Das Dictionary DLDatasetDLDatasetDLDatasetDLDatasetDLDataset speichert die generellen Informationen zum Datensatz und sammelt die Dictionaries der individuellen Samples. Dabei sind ikonische Daten nicht in DLDatasetDLDatasetDLDatasetDLDatasetDLDataset enthalten, aber die Pfade zu den entsprechenden Bildern. Das Dictionary hat die folgenden Einträge:

image_dirimage_dirimage_dirimage_dirimageDir: Any

Basispfad zu allen Bildern.

Format: String

dlsample_dirdlsample_dirdlsample_dirdlsample_dirdlsampleDir: Any [1]

Basispfad zu allen Sample Dateien (sofern vorhanden).

Format: String

class_namesclass_namesclass_namesclass_namesclassNames: Any

Namen aller zu unterscheidenden Klassen.

Format: Tupel von Strings

class_idsclass_idsclass_idsclass_idsclassIds: Any

IDs aller zu unterscheidenden Klassen (Wertebereich: 0-65534).

Format: Tupel von ganzzahligen Werten

preprocess_parampreprocess_parampreprocess_parampreprocess_parampreprocessParam: Any [1]

Alle während der Vorverarbeitung verwendeten Parameter.

Format: Dictionary

anomaly_diranomaly_diranomaly_diranomaly_diranomalyDir: AD

Basispfad zu allen Anomalieregionen (Regionen, die eine Anomalie auf dem Bild kennzeichnen).

Format: String

class_weightsclass_weightsclass_weightsclass_weightsclassWeights: SE [1]

Gewichte der verschiedenen Klassen.

Format: Tupel von Gleitkommazahlen

segmentation_dirsegmentation_dirsegmentation_dirsegmentation_dirsegmentationDir: SE

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

samplessamplessamplessamplessamples

Der Schlüssel samplessamplessamplessamplessamples des Dictionary DLDatasetDLDatasetDLDatasetDLDatasetDLDataset hat als Wert ein Tupel von Dictionaries, eines für jedes Sample des Datensatzes. Diese Dictionaries beinhalten die Information der jeweiligen Samples und haben die folgenden Einträge:

image_file_nameimage_file_nameimage_file_nameimage_file_nameimageFileName: Any

Dateiname des Bildes und sein Pfad relativ zu image_dirimage_dirimage_dirimage_dirimageDir.

Format: String

image_idimage_idimage_idimage_idimageId: Any

Eindeutige Bild-ID (Zeichenkodierungsformat: UINT8).

Format: Ganzzahl

splitsplitsplitsplitsplit: Any [2]

Gibt den bei der Aufteilung zugeordneten Datensatz an ('train'"train""train""train""train",'validation'"validation""validation""validation""validation",'test'"test""test""test""test").

Format: String

dlsample_file_namedlsample_file_namedlsample_file_namedlsample_file_namedlsampleFileName: Any [3]

Dateiname des entsprechenden Dictionary DLSampleDLSampleDLSampleDLSampleDLSample und sein Pfad relativ zu dlsample_dirdlsample_dirdlsample_dirdlsample_dirdlsampleDir.

Format: String

anomaly_file_nameanomaly_file_nameanomaly_file_nameanomaly_file_nameanomalyFileName: AD

Optional. Pfad zu den Dateien mit den Ground Truth Anomalieregionen (relativ zu anomaly_diranomaly_diranomaly_diranomaly_diranomalyDir).

Format: String

anomaly_labelanomaly_labelanomaly_labelanomaly_labelanomalyLabel: AD

Ground Truth Anomalie Label (als Name aus class_namesclass_namesclass_namesclass_namesclassNames).

Format: String

image_label_idimage_label_idimage_label_idimage_label_idimageLabelId: CL

Ground Truth Label des Bildes (als ID aus class_idsclass_idsclass_idsclass_idsclassIds).

Format: Tupel von Ganzzahlen

bbox_label_idbbox_label_idbbox_label_idbbox_label_idbboxLabelId: OD

Ground Truth Label für den Bildausschnitt innerhalb des umschließenden Rechtecks (als ID aus class_idsclass_idsclass_idsclass_idsclassIds).

Format: Tupel von Ganzzahlen

bbox_row1bbox_row1bbox_row1bbox_row1bboxRow1: OD:r1 [4]

Ground Truth umschließendes Rechteck: Obere linke Ecke, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_col1bbox_col1bbox_col1bbox_col1bboxCol1: OD:r1 [4]

Ground Truth umschließendes Rechteck: Obere linke Ecke, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_row2bbox_row2bbox_row2bbox_row2bboxRow2: OD:r1 [4]

Ground Truth umschließendes Rechteck: Untere rechte Ecke, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_col2bbox_col2bbox_col2bbox_col2bboxCol2: OD:r1 [4]

Ground Truth umschließendes Rechteck: Untere rechte Ecke, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

coco_raw_annotationscoco_raw_annotationscoco_raw_annotationscoco_raw_annotationscocoRawAnnotations: OD:r1

Optional. Für jede bbox_label_idbbox_label_idbbox_label_idbbox_label_idbboxLabelId innerhalb dieses Bildes enthält dieser Wert ein Dictionary mit allen unverarbeiteten COCO Annotations-Informationen.

Format: Tupel von Dictionaries

bbox_rowbbox_rowbbox_rowbbox_rowbboxRow: OD:r2 [4]

Ground Truth umschließendes Rechteck: Mittelpunkt, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_colbbox_colbbox_colbbox_colbboxCol: OD:r2 [4]

Ground Truth umschließendes Rechteck: Mittelpunkt, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_phibbox_phibbox_phibbox_phibboxPhi: OD:r2 [4]

Ground Truth umschließendes Rechteck: Winkel phi.

Format: Tupel von Gleitkommazahlen

bbox_length1bbox_length1bbox_length1bbox_length1bboxLength1: OD:r2 [4]

Ground Truth umschließendes Rechteck: Halbe Kantenlänge 1.

Format: Tupel von Gleitkommazahlen

bbox_length2bbox_length2bbox_length2bbox_length2bboxLength2: OD:r2 [4]

Ground Truth umschließendes Rechteck: Halbe Kantenlänge 2.

Format: Tupel von Gleitkommazahlen

segmentation_file_namesegmentation_file_namesegmentation_file_namesegmentation_file_namesegmentationFileName: SE

Dateiname des Ground Truth Segmentierungsbildes und sein Pfad relativ zu segmentation_dirsegmentation_dirsegmentation_dirsegmentation_dirsegmentationDir.

Format: String

Diese Dictionaries sind Teil von DLDatasetDLDatasetDLDatasetDLDatasetDLDataset 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 splitsplitsplitsplitsplit hinzu, [3]: Die Prozedur preprocess_dl_samples fügt den Eintrag dlsample_file_namedlsample_file_namedlsample_file_namedlsample_file_namedlsampleFileName hinzu. [4]: Für die Parameter der umschließenden Ground Truth Rechtecke (BBoxGT) werden pixel-zentrierte, subpixel-genaue Koordinaten verwendet.

DLSampleDLSampleDLSampleDLSampleDLSample

Das Dictionary DLSampleDLSampleDLSampleDLSampleDLSample dient als Eingabewert des Modells. Für einen Batch werden sie als Einträge des Tupels DLSampleBatchDLSampleBatchDLSampleBatchDLSampleBatchDLSampleBatch übergeben.

Ein solches Dictionary DLSampleDLSampleDLSampleDLSampleDLSample wird für jedes Bild von der Prozedur gen_dl_samples aus den Daten in DLDatasetDLDatasetDLDatasetDLDatasetDLDataset erstellt. Es enthält alle Ground Truth Annotationen eines Bildes. Wird die Vorverarbeitung mit den Standard-Prozedur preprocess_dl_samples durchgeführt, werden sie automatisch von dieser erstellt. Es gilt zu beachten, dass die Vorverarbeitung zu Aktualisierungen des entsprechenden DLSampleDLSampleDLSampleDLSampleDLSample führen kann.

Das Dictionary DLSampleDLSampleDLSampleDLSampleDLSample hat folgende Einträge:

imageimageimageimageimage: Any

Eingabebild

Format: Bild

image_idimage_idimage_idimage_idimageId: Any

Eindeutige Bild-ID (wie in DLDatasetDLDatasetDLDatasetDLDatasetDLDataset).

Format: Ganzzahl

anomaly_ground_truthanomaly_ground_truthanomaly_ground_truthanomaly_ground_truthanomalyGroundTruth: AD

Bild oder Region, aus anomaly_file_nameanomaly_file_nameanomaly_file_nameanomaly_file_nameanomalyFileName.

Format: Bild oder Region

anomaly_labelanomaly_labelanomaly_labelanomaly_labelanomalyLabel: AD

Ground Truth Anomalie Label auf Bildebene (als Name aus class_namesclass_namesclass_namesclass_namesclassNames).

Format: String

anomaly_label_idanomaly_label_idanomaly_label_idanomaly_label_idanomalyLabelId: AD

Ground Truth Anomalie Label auf Bildebene (als ID aus class_idsclass_idsclass_idsclass_idsclassIds).

Format: Ganzzahl

image_label_idimage_label_idimage_label_idimage_label_idimageLabelId: CL

Ground Truth Label des Bildes (als ID aus class_idsclass_idsclass_idsclass_idsclassIds).

Format: Tupel von Ganzzahlen

bbox_label_idbbox_label_idbbox_label_idbbox_label_idbboxLabelId: OD

Ground Truth Label für den Bildausschnitt innerhalb des umschließenden Rechtecks (als ID aus class_idsclass_idsclass_idsclass_idsclassIds).

Format: Tupel von Ganzzahlen

bbox_row1bbox_row1bbox_row1bbox_row1bboxRow1: OD:r1 [4]

Ground Truth umschließendes Rechteck: Obere linke Ecke, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_col1bbox_col1bbox_col1bbox_col1bboxCol1: OD:r1 [4]

Ground Truth umschließendes Rechteck: Obere linke Ecke, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_row2bbox_row2bbox_row2bbox_row2bboxRow2: OD:r1 [4]

Ground Truth umschließendes Rechteck: Untere rechte Ecke, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_col2bbox_col2bbox_col2bbox_col2bboxCol2: OD:r1 [4]

Ground Truth umschließendes Rechteck: Untere rechte Ecke, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_rowbbox_rowbbox_rowbbox_rowbboxRow: OD:r2 [4]

Ground Truth umschließendes Rechteck: Mittelpunkt, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_colbbox_colbbox_colbbox_colbboxCol: OD:r2 [4]

Ground Truth umschließendes Rechteck: Mittelpunkt, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_phibbox_phibbox_phibbox_phibboxPhi: OD:r2 [4]

Ground Truth umschließendes Rechteck: Winkel phi.

Format: Tupel von Gleitkommazahlen

bbox_length1bbox_length1bbox_length1bbox_length1bboxLength1: OD:r2 [4]

Ground Truth umschließendes Rechteck: Halbe Kantenlänge 1.

Format: Tupel von Gleitkommazahlen

bbox_length2bbox_length2bbox_length2bbox_length2bboxLength2: OD:r2 [4]

Ground Truth umschließendes Rechteck: Halbe Kantenlänge 2.

Format: Tupel von Gleitkommazahlen

segmentation_imagesegmentation_imagesegmentation_imagesegmentation_imagesegmentationImage: SE

Bild mit den Ground Truth Segmentierungen, eingelesen von segmentation_file_namesegmentation_file_namesegmentation_file_namesegmentation_file_namesegmentationFileName.

Format: Bild

weight_imageweight_imageweight_imageweight_imageweightImage: SE [5]

Bild mit den Pixel-Gewichten.

Format: Bild

Diese Dictionaries werden von der Prozedur gen_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.

Falls die Dictionaries DLSampleDLSampleDLSampleDLSampleDLSample gespeichert werden sollen, kann die Prozedur write_dl_samples verwendet werden. Eingelesen können die gespeicherten DLSampleDLSampleDLSampleDLSampleDLSample Dictionaries über die Prozedur read_dl_samples.

Eingabedaten bei der Inferenz

Die Eingabedaten bei der Inferenz bestehen aus den blanken Bildern. Damit das Modell diese verarbeiten kann, müssen sie bestimmte Anforderungen erfüllen. Informationen zu den Bildanforderungen finden sich im unteren Abschnitt „Bilder“.

Das Modell ist so konzipiert, dass alle Daten über ein Dictionary DLDatasetDLDatasetDLDatasetDLDatasetDLDataset übergeben wird. Für die Inferenz beinhaltet ein solches Dictionary nur das Bild und wird von der Prozedur gen_dl_samples_from_images erstellt. Diese Dictionaries können einzeln oder als Einträge des Tupels übergeben werden DLSampleBatchDLSampleBatchDLSampleBatchDLSampleBatchDLSampleBatch.

Ausgabedaten beim Training

Die Trainingsresultate werden im Dictionary DLTrainResultDLTrainResultDLTrainResultDLTrainResultDLTrainResult 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):

CL OD SE:

Der Operator train_dl_model_batchtrain_dl_model_batchTrainDlModelBatchTrainDlModelBatchTrainDlModelBatch gibt folgende Einträge zurück:

  • total_losstotal_losstotal_losstotal_losstotalLoss

  • weitere mögliche Zielfunktionen des Modells

AD:

Der Operator train_dl_model_anomaly_datasettrain_dl_model_anomaly_datasetTrainDlModelAnomalyDatasetTrainDlModelAnomalyDatasetTrainDlModelAnomalyDataset gibt folgende Einträge zurück:

  • final_errorfinal_errorfinal_errorfinal_errorfinalError

  • final_epochfinal_epochfinal_epochfinal_epochfinalEpoch

Als Ausgabe des Operators train_dl_model_batchtrain_dl_model_batchTrainDlModelBatchTrainDlModelBatchTrainDlModelBatch gibt das Modell ein Dictionary DLTrainResultDLTrainResultDLTrainResultDLTrainResultDLTrainResult zurück. In diesem Dictionary befinden sich der aktuelle Wert der Gesamt-Zielfunktion unter dem Schlüssel total_losstotal_losstotal_losstotal_losstotalLoss sowie die Werte aller weiteren im Modell enthaltenen Zielfunktionen.

Ausgabedaten bei der Inferenz und der Evaluation

Als Ausgabe des Operators apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelApplyDlModel gibt das Modell für jedes Sample ein Dictionary DLResultDLResultDLResultDLResultDLResult. Abhängig vom Modell-Typ kann dieses Dictionary die folgenden Einträge haben:

anomaly_imageanomaly_imageanomaly_imageanomaly_imageanomalyImage: AD

Grauwertbild mit Scores als Pixelwerte, die angeben wie warscheinlich der entsprechende Pixel im Eingabebild zu einer Anomalie gehört.

Format: Bild

anomaly_scoreanomaly_scoreanomaly_scoreanomaly_scoreanomalyScore: AD

Score der Anomalie aufgrund der Werte in anomaly_imageanomaly_imageanomaly_imageanomaly_imageanomalyImage.

Format: Gleitkommazahl

classification_class_idsclassification_class_idsclassification_class_idsclassification_class_idsclassificationClassIds: CL

IDs der vorhergesagten Klassen des Bildes sortiert nach Konfidenzwerten.

Format: Tupel von Ganzzahlen

classification_class_namesclassification_class_namesclassification_class_namesclassification_class_namesclassificationClassNames: CL

Vorhergesagte Klassennamen des Bildes sortiert nach Konfidenzwerten.

Format: Tupel von Strings

classification_confidencesclassification_confidencesclassification_confidencesclassification_confidencesclassificationConfidences: CL

Konfidenzwerte für die Vorhersage des Bildes für jede Klasse.

Format: Tupel von Gleitkommazahlen

bbox_class_idbbox_class_idbbox_class_idbbox_class_idbboxClassId: OD

Vorhergesagte Klasse für das umschließende Rechteck (als ID aus class_idsclass_idsclass_idsclass_idsclassIds).

Format: Tupel von Ganzzahlen

bbox_confidencebbox_confidencebbox_confidencebbox_confidencebboxConfidence: OD

Konfidenzwerte für die Vorhersage des umschließenden Rechtecks.

Format: Tupel von Gleitkommazahlen

bbox_row1bbox_row1bbox_row1bbox_row1bboxRow1: OD:r1 [6]

Inferiertes umschließendes Rechteck: Obere linke Ecke, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_col1bbox_col1bbox_col1bbox_col1bboxCol1: OD:r1 [6]

Inferiertes umschließendes Rechteck: Obere linke Ecke, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_row2bbox_row2bbox_row2bbox_row2bboxRow2: OD:r1 [6]

Inferiertes umschließendes Rechteck: Untere rechte Ecke, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_col2bbox_col2bbox_col2bbox_col2bboxCol2: OD:r1 [6]

Inferiertes umschließendes Rechteck: Untere rechte Ecke, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_rowbbox_rowbbox_rowbbox_rowbboxRow: OD:r2 [6]

Inferiertes umschließendes Rechteck: Mittelpunkt, Zeilenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_colbbox_colbbox_colbbox_colbboxCol: OD:r2 [6]

Inferiertes umschließendes Rechteck: Mittelpunkt, Spaltenkoordinate.

Format: Tupel von Gleitkommazahlen

bbox_phibbox_phibbox_phibbox_phibboxPhi: OD:r2 [6]

Inferiertes umschließendes Rechteck: Winkel phi.

Format: Tupel von Gleitkommazahlen

bbox_length1bbox_length1bbox_length1bbox_length1bboxLength1: OD:r2 [6]

Inferiertes umschließendes Rechteck: Halbe Kantenlänge 1.

Format: Tupel von Gleitkommazahlen

bbox_length2bbox_length2bbox_length2bbox_length2bboxLength2: OD:r2 [6]

Inferiertes umschließendes Rechteck: Halbe Kantenlänge 2.

Format: Tupel von Gleitkommazahlen

segmentation_imagesegmentation_imagesegmentation_imagesegmentation_imagesegmentationImage: SE

Bild mit dem Segmentierungsresultat.

Format: Bild

segmentation_confidencesegmentation_confidencesegmentation_confidencesegmentation_confidencesegmentationConfidence: SE

Bild mit den Konfidenzwerten des Segmentierungs-Resultats.

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.

Bilder

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 get_dl_model_paramget_dl_model_paramGetDlModelParamGetDlModelParamGetDlModelParam 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 preprocess_dl_samples durchgeführt werden. Für eine selbst erstellte Vorverarbeitung liefert diese Prozedur eine Anleitung für die Implementierung.


Liste der Operatoren

apply_dl_modelApplyDlModelApplyDlModelapply_dl_model
Anwenden des Deep Learning-basierten Netzwerkes zur Inferenz auf einer Menge an Bildern.
clear_dl_modelClearDlModelClearDlModelclear_dl_model
Löschen eines Deep Learning-Modells.
deserialize_dl_modelDeserializeDlModelDeserializeDlModeldeserialize_dl_model
Deserialisiert ein Deep Learning-Modell.
gen_dl_model_heatmapGenDlModelHeatmapGenDlModelHeatmapgen_dl_model_heatmap
Inferieren eines Samples und generieren einer Heatmap.
get_dl_model_paramGetDlModelParamGetDlModelParamget_dl_model_param
Auslesen der Parameter des Deep Learning-Modells.
read_dl_modelReadDlModelReadDlModelread_dl_model
Lesen eines Deep Learning-Modells aus einer Datei.
serialize_dl_modelSerializeDlModelSerializeDlModelserialize_dl_model
Serialisiert ein Deep Learning-Modell.
set_dl_model_paramSetDlModelParamSetDlModelParamset_dl_model_param
Setzen der Parameter des Deep Learning-basierten Models.
train_dl_model_batchTrainDlModelBatchTrainDlModelBatchtrain_dl_model_batch
Trainieren eines Deep Learning-Modells.
write_dl_modelWriteDlModelWriteDlModelwrite_dl_model
Abspeichern eines Deep Learning-Modells in eine Datei.