create_surface_modelT_create_surface_modelCreateSurfaceModelCreateSurfaceModel (Operator)

Name

create_surface_modelT_create_surface_modelCreateSurfaceModelCreateSurfaceModel — Erstellt die für oberflächenbasiertes Matching notwendigen Datenstrukturen.

Signatur

create_surface_model( : : ObjectModel3D, RelSamplingDistance, GenParamName, GenParamValue : SurfaceModelID)

Herror T_create_surface_model(const Htuple ObjectModel3D, const Htuple RelSamplingDistance, const Htuple GenParamName, const Htuple GenParamValue, Htuple* SurfaceModelID)

void CreateSurfaceModel(const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SurfaceModelID)

HSurfaceModel HObjectModel3D::CreateSurfaceModel(double RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue) const

HSurfaceModel HObjectModel3D::CreateSurfaceModel(double RelSamplingDistance, const HString& GenParamName, const HString& GenParamValue) const

HSurfaceModel HObjectModel3D::CreateSurfaceModel(double RelSamplingDistance, const char* GenParamName, const char* GenParamValue) const

HSurfaceModel HObjectModel3D::CreateSurfaceModel(double RelSamplingDistance, const wchar_t* GenParamName, const wchar_t* GenParamValue) const   (Nur Windows)

void HSurfaceModel::HSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue)

void HSurfaceModel::HSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HString& GenParamName, const HString& GenParamValue)

void HSurfaceModel::HSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const char* GenParamName, const char* GenParamValue)

void HSurfaceModel::HSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const wchar_t* GenParamName, const wchar_t* GenParamValue)   (Nur Windows)

void HSurfaceModel::CreateSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue)

void HSurfaceModel::CreateSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HString& GenParamName, const HString& GenParamValue)

void HSurfaceModel::CreateSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const char* GenParamName, const char* GenParamValue)

void HSurfaceModel::CreateSurfaceModel(const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const wchar_t* GenParamName, const wchar_t* GenParamValue)   (Nur Windows)

static void HOperatorSet.CreateSurfaceModel(HTuple objectModel3D, HTuple relSamplingDistance, HTuple genParamName, HTuple genParamValue, out HTuple surfaceModelID)

HSurfaceModel HObjectModel3D.CreateSurfaceModel(double relSamplingDistance, HTuple genParamName, HTuple genParamValue)

HSurfaceModel HObjectModel3D.CreateSurfaceModel(double relSamplingDistance, string genParamName, string genParamValue)

public HSurfaceModel(HObjectModel3D objectModel3D, double relSamplingDistance, HTuple genParamName, HTuple genParamValue)

public HSurfaceModel(HObjectModel3D objectModel3D, double relSamplingDistance, string genParamName, string genParamValue)

void HSurfaceModel.CreateSurfaceModel(HObjectModel3D objectModel3D, double relSamplingDistance, HTuple genParamName, HTuple genParamValue)

void HSurfaceModel.CreateSurfaceModel(HObjectModel3D objectModel3D, double relSamplingDistance, string genParamName, string genParamValue)

Beschreibung

create_surface_modelcreate_surface_modelCreateSurfaceModelCreateSurfaceModelCreateSurfaceModel erstellt aus dem 3D-Objektmodell ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D ein Modell für oberflächenbasiertes Matching. Das 3D-Oberflächenmodell kann beispielsweise mittels read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d aus einer Datei gelesen worden sein oder mittels xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d erstellt worden sein. Das Handle des erstellten Oberflächenmodells wird in SurfaceModelIDSurfaceModelIDSurfaceModelIDSurfaceModelIDsurfaceModelID zurückgegeben.

Weitere Parameter des Modells können mit set_surface_model_paramset_surface_model_paramSetSurfaceModelParamSetSurfaceModelParamSetSurfaceModelParam gesetzt werden, nachdem das Modell erzeugt wurde.

Für die Erstellung des Oberflächenmmodells aus dem 3D-Objektmodell werden Punkte und Normalen aus dem 3D-Objektmodell benötigt. Hier sind die folgenden Kombinationen möglich:

Es ist zu beachten, dass die Richtung und Ausrichtung (einwärts oder auswärts) der Normalen des Modells wichtig für das Matching sind. Für das kantenunterstützte oberflächenbasierte Matching müssen die Normalen einwärts gerichtet sein und zusätzlich muss das Modell ein Dreiecks- oder Polygongitter enthalten (siehe unten).

Für das Oberflächenmodell wird die Oberfläche des 3D-Objektmodells mit einem bestimmten Abstand abgetastet. Die Abtastdistanz wird im Parameter RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance spezifiziert, und wird relativ zum Durchmesser des umschließenden achsenparallelen Quaders angegeben. Wird etwa RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance auf 0.05 gesetzt und ist der Durchmesser von ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D gleich '10 cm'"10 cm""10 cm""10 cm""10 cm", dann haben die Punkte der abgetasteten Oberfläche einen Abstand von etwa '5 mm'"5 mm""5 mm""5 mm""5 mm". Die abgetasteten Punkte werden für das näherungsweise Matching in find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel verwendet (siehe unten). Die abgetasteten Punkte können mit dem Operator get_surface_model_paramget_surface_model_paramGetSurfaceModelParamGetSurfaceModelParamGetSurfaceModelParam als 'sampled_model'"sampled_model""sampled_model""sampled_model""sampled_model" abgerufen werden. Es ist zu beachten, dass einzelne Ausreißerpunkte den Durchmesser des umschließenden Quaders deutlich verändern können, was aufgrund der relativen Parametrisierung die Abtastdistanz stark stören kann. Ausreißerpunkte im 3D-Objektmodell sind daher vor dem Aufruf des Operators zu entfernen. Verringert man RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance, so werden mehr Punkte abgetastet, was zu einem stabileren aber langsameren Matching führt. Erhöht man RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance, so werden weniger Punkte abgetastet, was zu einem schnelleren aber weniger stabilen Matching führt.

(1) (2) (3) (4)
(1) Ursprüngliches 3D-Modell. (2) 3D-Modell abgetastet mit RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance = 0.02. (3) RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance = 0.03. (4) RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance = 0.05.

Die abgetasteten Punkte werden für das Auffinden des Objekts in einer Szene im Operator find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel verwendet. Dafür werden aus den abgetasteten Punkten alle möglichen Punktpaare gebildet und für jedes Paar der Abstand und die relative Orientierung der Oberflächen berechnet. Beide Werte werden diskretisiert und für das Matching gespeichert. Die generischen Parameter 'feat_step_size_rel'"feat_step_size_rel""feat_step_size_rel""feat_step_size_rel""feat_step_size_rel" und 'feat_angle_resolution'"feat_angle_resolution""feat_angle_resolution""feat_angle_resolution""feat_angle_resolution" können verwendet werden um die Diskretisierung von Distanz und Orientierung zu steuern (siehe unten).

Das 3D-Objektmodell wird ein zweites Mal für die Pose-Verfeinerung abgetastet. Diese zweite Abtastung wird mit einer kleineren Abtastdistanz durchgeführt, was zu mehr Punkten führt. Der generische Parameter 'pose_ref_rel_sampling_distance'"pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance" setzt die Abtastdistanz relativ zum Durchmesser des umschliessenden Quaders des 3D-Objektmodells fest. Verringert man den Wert so wird die Pose-Verfeinerung genauer, jedoch wird auch das Modell größer und die Modellgenerierung und das Matching langsamer. Erhöht man den Wert so wird die Pose-Verfeinerung ungenauer, das Modell kleiner und die Modellgenerierung und das Matching schneller.

Das oberflächenbasierte Matching kann zusätzlich zu den 3D-Oberflächenpunkten auch 3D-Kanten verwenden, um die Ausrichtung zu verbessern. Dies ist besonders für Objekte mit größeren planaren Seiten hilfreich, die andernfalls in einer Hintergrundebene oder falsch rotiert gefunden werden können. Um das kantenunterstützte oberflächenbasierte Matching zu verwenden, muss das Modell durch setzen des generischen Parameters 'train_3d_edges'"train_3d_edges""train_3d_edges""train_3d_edges""train_3d_edges" auf 'true'"true""true""true""true" entsprechend vorbereitet werden. Dabei muss das Modell ein Dreiecks- oder Polygongitter enthalten, bei dem die Reihenfolge der Punkte bei der Normalenberechnung zu einwärts gerichteten Normalen führt. Weiterhin benötigt das Training in diesem Fall OpenGL 2.1, GLSL 1.2 und die OpenGL Extensions GL_EXT_framebuffer_object und GL_EXT_framebuffer_blit. Es ist zu beachten, dass das Training deutlich länger dauern kann als das Training ohne Kantenunterstützung.

Zusätzlich kann das Modell für oberflächenbasiertes Matching zur Berechnung der ansichtsbasierten Bewertung vorbereitet werden. Dies ist besonders für Szenen hilfreich, in denen Objekte nur zu einem kleinen Teil sichtbar sind, da diese mit der herkömmlichen Bewertung nur einen kleinen Wert erhalten würden. Um in diesen Fällen einen höheren und aussagekräftigeren Wert zu bekommen, entspricht der Wert bei der ansichtsbasierten Bewertung dem Verhältnis zwischen der Anzahl der Punkte, die dem Modell zugeordneten werden konnten und der Anzahl an Modellpunkten die von einer bestimmten Ansicht aus sichtbar sind. Um das ansichtsbasierte oberflächenbasierte Matching zu verwenden, muss das Modell durch Setzen des generischen Parameters 'train_view_based'"train_view_based""train_view_based""train_view_based""train_view_based" auf 'true'"true""true""true""true" entsprechend vorbereitet werden. Wie bei 'train_3d_edges'"train_3d_edges""train_3d_edges""train_3d_edges""train_3d_edges", muss das 3D-Objektmodell eine Vermaschung aufweisen, d.h. Dreiecke oder Polygone enthalten. Auch für 'train_view_based'"train_view_based""train_view_based""train_view_based""train_view_based" ist es wichtig, dass die Normalenvektoren einwärts gerichtet sind.

Es ist zu beachten, dass verrauschte Daten bei der Erzeugung eines 3D-Objektmodells zur Berechnung unzureichender Normalen führt. Insbesondere wenn das Modell für die Verwendung von 3D-Kanten oder zur Berechnung der ansichtsbasierten Bewertung vorbereitet wurde kann dies zu unzuverlässigen Bewertungen führen. Um die Anzahl verrauschter Punkte zu reduzieren können beispielsweise die Operatoren smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d oder simplify_object_model_3dsimplify_object_model_3dSimplifyObjectModel3dSimplifyObjectModel3dSimplifyObjectModel3d genutzt werden.

In den Parametern GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue können generische Parameter und deren Werte übergeben werden. GenParamNameGenParamNameGenParamNameGenParamNamegenParamName enthält ein Tupel von Parameternamen die gesetzt werden sollen, und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue die dazugehörigen Werte. Die folgenden Werte sind für GenParamNameGenParamNameGenParamNameGenParamNamegenParamName möglich:

'model_invert_normals'"model_invert_normals""model_invert_normals""model_invert_normals""model_invert_normals":

Invertieren der Normalenausrichtung des 3D-Objektmodells. Die Normalenausrichtungen (einwärts oder auswärts) müssen für die Erstellung des Oberflächenmodells bekannt sein und mit der Ausrichtung in der Szene übereinstimmen. Wenn sowohl das Modell als auch die Szene mit demselben Aufbau aufgenommen werden, so zeigen die Normalen bereits in die gleiche Richtung. Wenn das Modell aus einer CAD-Datei geladen wurde dann könnten die Normalen in unterschiedliche Richtungen zeigen. Wenn beim Matching der Effekt auftritt, dass das Modell auf der 'Außenseite' der Szene gefunden wird und das Modell aus einer CAD-Datei stammt, so sollte versucht werden diesen Parameter auf 'true'"true""true""true""true" zu setzen. Es ist auch darauf zu achten, dass die Normalen in der CAD-Datei alle entweder nach innen oder nach außen zeigen, d.h. konsistent orientiert sind. Für die Pose-Verfeinerung ist die Normalenausrichtung irrelevant. Wird das Oberflächenmodell nur mit refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose verwendet, so hat die Wahl von 'model_invert_normals'"model_invert_normals""model_invert_normals""model_invert_normals""model_invert_normals" keinen Einfluss auf das Ergebnis.

Mögliche Werte: 'false'"false""false""false""false", 'true'"true""true""true""true"

Standardwert: 'false'"false""false""false""false"

'pose_ref_rel_sampling_distance'"pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance":

Setzen der Abtastdistanz für die Pose-Verfeinerung relativ zum Durchmesser des 3D-Objektmodells. Verringert man den Wert, so wird die Pose-Verfeinerung genauer, jedoch wird auch das Modell größer und die Modellgenerierung und das Matching langsamer. Erhöht man den Wert, so wird die Pose-Verfeinerung ungenauer, das Modell kleiner und die Modellgenerierung und das Matching schneller.

Vorgeschlagene Werte: 0.05, 0.02, 0.01, 0.005

Standardwert: 0.01

Assertion: 0 < 'pose_ref_rel_sampling_distance'"pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance" < 1

'feat_step_size_rel'"feat_step_size_rel""feat_step_size_rel""feat_step_size_rel""feat_step_size_rel":

Setzen der Diskretisierung des Abstandes von Punktpaaren relativ zum Durchmesser des 3D-Objektmodells. Standardmäßig wird dies auf den Wert von RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance gesetzt. Es wird nicht empfohlen diesen Wert zu ändern. Für stark verrauschte Szenen kann der Wert erhöht werden um die Stabilität des Matchings gegen verrauschte Punkte zu erhöhen.

Vorgeschlagene Werte: 0.1, 0.05, 0.03

Standardwert: Wert von RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance

Assertion: 0 < 'feat_step_size_rel'"feat_step_size_rel""feat_step_size_rel""feat_step_size_rel""feat_step_size_rel" < 1

'feat_angle_resolution'"feat_angle_resolution""feat_angle_resolution""feat_angle_resolution""feat_angle_resolution":

Setzen der Diskretisierung der Orientierung von Punktepaaren, als Anzahl der Unterteilungen eines Winkels. Es wird nicht empfohlen diesen Wert zu ändern. Erhöht man diesen Wert, so erhöht sich die Genauigkeit des näherungsweisen Matchings in find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel, jedoch reduziert sich die Stabilität gegen verrauschte Normalenrichtungen. Verringert man diesen Wert, so verringert sich auch die Genauigkeit des näherungsweisen Matchings, jedoch erhöht sich die Stabilität gegen verrauschte Normalenrichtungen. Für stark verrauschte Szenen in denen die Normalenrichtungen nicht genau bestimmt werden können kann dieser Wert auf 25 oder 20 gesetzt werden.

Vorgeschlagene Werte: 20, 25, 30

Standardwert: 30

Assertion: 'feat_angle_resolution'"feat_angle_resolution""feat_angle_resolution""feat_angle_resolution""feat_angle_resolution" > 1

'train_3d_edges'"train_3d_edges""train_3d_edges""train_3d_edges""train_3d_edges":

Trainiert das Oberflächenmodell für die kantenunterstützte Objekterkennung und Posenverfeinerung. Das Modell muss in diesem Fall eine Vermaschung aufweisen, d.h. Dreiecke oder Polygone enthalten. Zusätzlich ist es wichtig, dass die Normalenvektoren einwärts gerichtet sind. Weiterhin benötigt das Training in diesem Fall OpenGL.

Mögliche Werte: 'false'"false""false""false""false", 'true'"true""true""true""true"

Standardwert: 'false'"false""false""false""false"

'train_view_based'"train_view_based""train_view_based""train_view_based""train_view_based":

Trainiert das Oberflächenmodell zur Berechnung einer ansichtsbasierten Bewertung für die Objekterkennung und Posenverfeinerung. Das Modell muss in diesem Fall eine Vermaschung aufweisen, d.h. Dreiecke oder Polygone enthalten. Zusätzlich ist es wichtig, dass die Normalenvektoren einwärts gerichtet sind. Weiterhin benötigt das Training in diesem Fall OpenGL.

Mögliche Werte: 'false'"false""false""false""false", 'true'"true""true""true""true"

Standardwert: 'false'"false""false""false""false"

Ausführungsinformationen

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.

Parameter

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des 3D-Objektmodells.

RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistance (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Abtastdistanz relativ zum Durchmesser des Objekts.

Defaultwert: 0.03

Wertevorschläge: 0.1, 0.05, 0.03, 0.02, 0.01

Restriktion: 0 < RelSamplingDistance < 1

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Parameter.

Defaultwert: []

Wertevorschläge: 'model_invert_normals'"model_invert_normals""model_invert_normals""model_invert_normals""model_invert_normals", 'pose_ref_rel_sampling_distance'"pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance""pose_ref_rel_sampling_distance", 'feat_step_size_rel'"feat_step_size_rel""feat_step_size_rel""feat_step_size_rel""feat_step_size_rel", 'feat_angle_resolution'"feat_angle_resolution""feat_angle_resolution""feat_angle_resolution""feat_angle_resolution", 'train_3d_edges'"train_3d_edges""train_3d_edges""train_3d_edges""train_3d_edges", 'train_view_based'"train_view_based""train_view_based""train_view_based""train_view_based"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value(-array) HTupleHTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)

Werte der generischen Parameter.

Defaultwert: []

Wertevorschläge: 0, 1, 'true'"true""true""true""true", 'false'"false""false""false""false", 0.005, 0.01, 0.02, 0.05, 0.1

SurfaceModelIDSurfaceModelIDSurfaceModelIDSurfaceModelIDsurfaceModelID (output_control)  surface_model HSurfaceModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Oberflächenmodells.

Ergebnis

Wenn alle Parameter korrekt sind liefert create_surface_modelcreate_surface_modelCreateSurfaceModelCreateSurfaceModelCreateSurfaceModel den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d, get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams, surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d

Nachfolger

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose, get_surface_model_paramget_surface_model_paramGetSurfaceModelParamGetSurfaceModelParamGetSurfaceModelParam, write_surface_modelwrite_surface_modelWriteSurfaceModelWriteSurfaceModelWriteSurfaceModel, clear_surface_modelclear_surface_modelClearSurfaceModelClearSurfaceModelClearSurfaceModel, set_surface_model_paramset_surface_model_paramSetSurfaceModelParamSetSurfaceModelParamSetSurfaceModelParam

Alternativen

read_surface_modelread_surface_modelReadSurfaceModelReadSurfaceModelReadSurfaceModel

Siehe auch

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose, read_surface_modelread_surface_modelReadSurfaceModelReadSurfaceModelReadSurfaceModel, write_surface_modelwrite_surface_modelWriteSurfaceModelWriteSurfaceModelWriteSurfaceModel, clear_surface_modelclear_surface_modelClearSurfaceModelClearSurfaceModelClearSurfaceModel, set_surface_model_paramset_surface_model_paramSetSurfaceModelParamSetSurfaceModelParamSetSurfaceModelParam

Literatur

Bertram Drost, Markus Ulrich, Nassir Navab, Slobodan Ilic: „Model Globally, Match Locally: Efficient and Robust 3D Object Recognition.“ Computer Vision and Pattern Recognition, pp. 998-1005, 2010.

Modul

3D Metrology