apply_deep_matching_3d — Bestimmen der Objektpose mit Hilfe von Deep 3D Matching.
apply_deep_matching_3d(Images : : Deep3DMatchingModel, GenParamName, GenParamValue : DeepMatchingResults)
Der Operator apply_deep_matching_3d findet Instanzen des Objekts,
das im Deep3DMatchingModel definiert ist, in den Bildern Images
und gibt die erkannten Instanzen sowie deren 3D Posen in
DeepMatchingResults zurück.
Images muss ein Bildarray mit genau so vielen Bildern sein, wie Kameras
im Deep 3D Matching-Modell festgelegt sind
(siehe set_deep_matching_3d_param). Die Bildauflösungen müssen mit den
Auflösungen der entsprechenden Kameraparameter übereinstimmen. Die Bilder
müssen vom Typ 'byte' sein und sie müssen 1 oder 3 Kanäle haben.
Modellspezifische Parameter können vor dem Aufruf dieses Operators über
set_deep_matching_3d_param gesetzt werden.
Weitere Parameter, die nur spezifisch für diesen Aufruf von
apply_deep_matching_3d sind, können in den generischen Parametern
GenParamName und GenParamValue übergeben werden.
Derzeit werden keine solchen Parameter unterstützt.
GenParamName und GenParamValue sollten daher auf das
leere Tupel '[]' gesetzt werden.
apply_deep_matching_3d verwendet Deep Learning-Technologie zur
Erkennung der Objektinstanzen. Für eine effiziente Ausführung wird dringend
empfohlen, geeignete Hardwarebeschleuniger zu verwenden und die
Deep Learning-Modelle zu optimieren. Siehe get_deep_matching_3d_param,
um zu erfahren, wie man die Deep Learning-Modelle abruft, um das Gerät
festzulegen, auf dem sie ausgeführt werden, und
optimize_dl_model_for_inference zur Optimierung der Modelle für
bestimmte Hardware.
Das Deep Learning-Modell zur Objekterkennung wird verwendet, um Instanzen des Zielobjekts in allen Bildern zu finden.
Das Modell zur Pose-Schätzung wird verwendet, um die 3D-Position aller in dem vorherigen Schritt gefundenen Instanzen zu schätzen. Positionen desselben Objekts, die in verschiedenen Bildern gefunden wurden, werden zu einer einzelnen Instanz kombiniert.
Die im vorherigen Schritt gefundenen Positionen werden weiter verfeinert, indem sichtbare Kanten im Bild verwendet werden. Zusätzlich wird deren Bewertung berechnet.
Die erkannten Instanzen werden anhand der minimalen Bewertung ('min_score'), der minimalen Anzahl von Kameras, in denen Instanzen sichtbar sein müssen ('min_num_views'), sowie der maximalen Anzahl von zurückzugeben Instanzen ('num_matches') gefiltert.
Die Ergebnisse werden in DeepMatchingResults als Dictionary zurückgegeben.
Der Key des Dictionary 'results' enthält alle erkannten Ergebnisse.
Jedes Ergebnis hat die folgenden Key:
Die Bewertung der Ergebnisinstanz.
Die Position der Ergebnisinstanz im Weltkoordinatensystem.
Ein Tupel von Ganzzahlen, das die Kameras enthält, in denen die Instanz erkannt wurde.
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.
Images (input_object) (multichannel-)image(-array) → object (byte / real)
Eingabebilder.
Deep3DMatchingModel (input_control) deep_matching_3d → (handle)
Deep 3D Matching-Modell.
GenParamName (input_control) attribute.name-array → (string)
Parameternamen.
Default: []
Wertevorschläge:
GenParamValue (input_control) attribute.value-array → (string / real / integer / handle)
Parameterwerte.
Default: []
Wertevorschläge:
DeepMatchingResults (output_control) dict → (handle)
Ergebnisse.
3D Metrology