KlassenKlassenKlassenKlassen | | | | Operatoren

create_calib_descriptor_modelT_create_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel (Operator)

Name

create_calib_descriptor_modelT_create_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel — Erzeugen eines Deskriptormodells für Punkt-Matching und Objektposebestimmung.

Signatur

create_calib_descriptor_model(Template : : CamParam, ReferencePose, DetectorType, DetectorParamName, DetectorParamValue, DescriptorParamName, DescriptorParamValue, Seed : ModelID)

Herror T_create_calib_descriptor_model(const Hobject Template, const Htuple CamParam, const Htuple ReferencePose, const Htuple DetectorType, const Htuple DetectorParamName, const Htuple DetectorParamValue, const Htuple DescriptorParamName, const Htuple DescriptorParamValue, const Htuple Seed, Htuple* ModelID)

Herror create_calib_descriptor_model(Hobject Template, const HTuple& CamParam, const HTuple& ReferencePose, const HTuple& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& Seed, Hlong* ModelID)

HDescriptorModel HImage::CreateCalibDescriptorModel(const HTuple& CamParam, const HTuple& ReferencePose, const HTuple& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& Seed) const

void HDescriptorModel::CreateCalibDescriptorModel(const HImage& Template, const HTuple& CamParam, const HTuple& ReferencePose, const HTuple& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& Seed)

void CreateCalibDescriptorModel(const HObject& Template, const HTuple& CamParam, const HTuple& ReferencePose, const HTuple& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& Seed, HTuple* ModelID)

void HDescriptorModel::HDescriptorModel(const HImage& Template, const HTuple& CamParam, const HPose& ReferencePose, const HString& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed)

void HDescriptorModel::HDescriptorModel(const HImage& Template, const HTuple& CamParam, const HPose& ReferencePose, const char* DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed)

void HDescriptorModel::CreateCalibDescriptorModel(const HImage& Template, const HTuple& CamParam, const HPose& ReferencePose, const HString& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed)

void HDescriptorModel::CreateCalibDescriptorModel(const HImage& Template, const HTuple& CamParam, const HPose& ReferencePose, const char* DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed)

HDescriptorModel HImage::CreateCalibDescriptorModel(const HTuple& CamParam, const HPose& ReferencePose, const HString& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed) const

HDescriptorModel HImage::CreateCalibDescriptorModel(const HTuple& CamParam, const HPose& ReferencePose, const char* DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed) const

void HOperatorSetX.CreateCalibDescriptorModel(
[in] IHUntypedObjectX* Template, [in] VARIANT CamParam, [in] VARIANT ReferencePose, [in] VARIANT DetectorType, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] VARIANT Seed, [out] VARIANT* ModelID)

void HDescriptorModelX.CreateCalibDescriptorModel(
[in] IHImageX* Template, [in] VARIANT CamParam, [in] VARIANT ReferencePose, [in] BSTR DetectorType, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] Hlong Seed)

IHDescriptorModelX* HImageX.CreateCalibDescriptorModel(
[in] VARIANT CamParam, [in] VARIANT ReferencePose, [in] BSTR DetectorType, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] Hlong Seed)

static void HOperatorSet.CreateCalibDescriptorModel(HObject template, HTuple camParam, HTuple referencePose, HTuple detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, HTuple seed, out HTuple modelID)

public HDescriptorModel(HImage template, HTuple camParam, HPose referencePose, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)

void HDescriptorModel.CreateCalibDescriptorModel(HImage template, HTuple camParam, HPose referencePose, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)

HDescriptorModel HImage.CreateCalibDescriptorModel(HTuple camParam, HPose referencePose, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)

Beschreibung

Der Operator create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel erstellt aus einer Region, die als Bild in TemplateTemplateTemplateTemplateTemplatetemplate übergeben wird, ein Deskriptormodell mit dessen Hilfe deskriptorbasiertes Matching durchgeführt werden kann.

ReferencePoseReferencePoseReferencePoseReferencePoseReferencePosereferencePose beschreibt die 3D Position und Orientierung der Objektebene, welche im Referenzbild TemplateTemplateTemplateTemplateTemplatetemplate abgebildet ist. Die internen Kameraparameter CamParamCamParamCamParamCamParamCamParamcamParam und die Referenzpose werden intern dazu genutzt, ein Modellkoordinatensystem zu erstellen. Der Ursprung dieses Modellkoordinatensystems wird dabei durch die Projektion des Schwerpunkts einer intern entzerrten Version des Referenzbildes auf die Objektebene gebildet. Die Achsen des Modellkoordinatensystems liegen parallel zu den Achsen von Reference Pose. Um ein Deskriptormodell aus dem Referenzbild TemplateTemplateTemplateTemplateTemplatetemplate zu generieren, werden die durch einen Detektor im entzerrten Referenzbild extrahierten Punkte ebenfalls auf die Objektebene projiziert. Ihre Koordinaten im Modellkoordinatensystem werden als Weltkoordinaten im Modell gespeichert, um später für die Schätzung der Pose eines planaren Suchobjekts verwendet zu werden (siehe find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel).

Ein mit Hilfe des Operators create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel erstelltes Deskriptormodell kann auch mit dem Operator find_uncalib_descriptor_modelfind_uncalib_descriptor_modelFindUncalibDescriptorModelfind_uncalib_descriptor_modelFindUncalibDescriptorModelFindUncalibDescriptorModel zur Ermittlung einer Homographie verwendet werden. Ein mit dem Operator create_uncalib_descriptor_modelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelCreateUncalibDescriptorModel erstelltes Modell kann jedoch nicht in find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel verwendet werden.

Das Deskriptormodell beschreibt einen Satz von Merkmalspunkten. Es speichert die Punktpositionen, sowie unterschiedliche Beschreibungen ihrer lokalen Bildumgebung. Die Extraktion dieser Merkmalspunkte wird durch DetectorTypeDetectorTypeDetectorTypeDetectorTypeDetectorTypedetectorType, DetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNamedetectorParamName und DetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValuedetectorParamValue parametrisiert. Der zugehörige Deskriptor für die Umgebung der Merkmalspunkte wird durch DescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNamedescriptorParamName und DescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValuedescriptorParamValue parametrisiert. Derzeit wird der Deskriptor durch randomized ferns implementiert. Der Parameter SeedSeedSeedSeedSeedseed initialisiert den Zufallszahlengenerator, der für den Aufbau der randomized ferns Strukturen verwendet wird. Ist das Deskriptormodell generiert, wird dessen Referenz in ModelIDModelIDModelIDModelIDModelIDmodelID zurückgegeben. Weitere Informationen über diese Parameter können unter der Beschreibung des Operators create_uncalib_descriptor_modelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelCreateUncalibDescriptorModel gefunden werden.

Alle Parameter sowie die Koordinaten der letztendlichen Merkmalspunkte können über get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams und get_descriptor_model_pointsget_descriptor_model_pointsGetDescriptorModelPointsget_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPoints abgerufen werden.

create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel legt den Detektor und den Deskriptor fest. Somit werden beide auch bei jedem nachfolgenden Aufruf von find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel verwendet. Der Referenzpunkt (Ursprung) des Modells ist der Schwerpunkt der ROI des Templates. Er kann über set_descriptor_model_originset_descriptor_model_originSetDescriptorModelOriginset_descriptor_model_originSetDescriptorModelOriginSetDescriptorModelOrigin geändert werden.

Parallelisierung

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.

Parameter

TemplateTemplateTemplateTemplateTemplatetemplate (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Eingabebild, dessen Definitionsbereich zum Aufbau des Modells verwendet wird.

CamParamCamParamCamParamCamParamCamParamcamParam (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Die internen Kameraparameter der Kamera.

Parameteranzahl: CamParam == 8 || CamParam == 10 || CamParam == 12 || CamParam == 14

ReferencePoseReferencePoseReferencePoseReferencePoseReferencePosereferencePose (input_control)  pose HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Die Referenzpose des Objekts im Referenzbild.

DetectorTypeDetectorTypeDetectorTypeDetectorTypeDetectorTypedetectorType (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art des Detectors.

Defaultwert: 'lepetit' "lepetit" "lepetit" "lepetit" "lepetit" "lepetit"

Werteliste: 'harris'"harris""harris""harris""harris""harris", 'harris_binomial'"harris_binomial""harris_binomial""harris_binomial""harris_binomial""harris_binomial", 'lepetit'"lepetit""lepetit""lepetit""lepetit""lepetit"

DetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNamedetectorParamName (input_control)  attribute.name-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der Detektor-Parameter.

Defaultwert: []

Werteliste: 'alpha'"alpha""alpha""alpha""alpha""alpha", 'check_neighbor'"check_neighbor""check_neighbor""check_neighbor""check_neighbor""check_neighbor", 'mask_size_grd'"mask_size_grd""mask_size_grd""mask_size_grd""mask_size_grd""mask_size_grd", 'mask_size_smooth'"mask_size_smooth""mask_size_smooth""mask_size_smooth""mask_size_smooth""mask_size_smooth", 'min_check_neighbor_diff'"min_check_neighbor_diff""min_check_neighbor_diff""min_check_neighbor_diff""min_check_neighbor_diff""min_check_neighbor_diff", 'min_score'"min_score""min_score""min_score""min_score""min_score", 'radius'"radius""radius""radius""radius""radius", 'sigma_grad'"sigma_grad""sigma_grad""sigma_grad""sigma_grad""sigma_grad", 'sigma_smooth'"sigma_smooth""sigma_smooth""sigma_smooth""sigma_smooth""sigma_smooth", 'subpix'"subpix""subpix""subpix""subpix""subpix", 'threshold'"threshold""threshold""threshold""threshold""threshold"

DetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValuedetectorParamValue (input_control)  attribute.value-array HTupleHTupleHTupleVARIANTHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*) (Hlong / double / BSTR) (Hlong / double / char*)

Werte der Detektor-Parameter.

Defaultwert: []

Wertevorschläge: 0.08, 1, 1.2, 3, 15, 30, 1000, 'on'"on""on""on""on""on", 'off'"off""off""off""off""off"

DescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNamedescriptorParamName (input_control)  attribute.name-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der Deskriptor-Parameter.

Defaultwert: []

Werteliste: 'depth'"depth""depth""depth""depth""depth", 'max_rot'"max_rot""max_rot""max_rot""max_rot""max_rot", 'max_scale'"max_scale""max_scale""max_scale""max_scale""max_scale", 'min_rot'"min_rot""min_rot""min_rot""min_rot""min_rot", 'min_scale'"min_scale""min_scale""min_scale""min_scale""min_scale", 'number_ferns'"number_ferns""number_ferns""number_ferns""number_ferns""number_ferns", 'patch_size'"patch_size""patch_size""patch_size""patch_size""patch_size", 'tilt'"tilt""tilt""tilt""tilt""tilt"

DescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValuedescriptorParamValue (input_control)  attribute.value-array HTupleHTupleHTupleVARIANTHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*) (Hlong / double / BSTR) (Hlong / double / char*)

Werte der Deskriptor-Parameter.

Defaultwert: []

Wertevorschläge: 0.5, 1.4, 11, 21, 30, -180, 180, 'on'"on""on""on""on""on", 'off'"off""off""off""off""off"

SeedSeedSeedSeedSeedseed (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Initialisierung des Zufallsgenerators.

Defaultwert: 42

ModelIDModelIDModelIDModelIDModelIDmodelID (output_control)  descriptor_model HDescriptorModel, HTupleHTupleHDescriptorModel, HTupleHDescriptorModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Der Handle des Deskriptormodells

Vorgänger

points_lepetitpoints_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit, points_harrispoints_harrisPointsHarrispoints_harrisPointsHarrisPointsHarris, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Nachfolger

get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams, find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel

Siehe auch

get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams, find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel

Literatur

V. Lepetit and P. Fua: „Keypoint Recognition using Randomized Trees.„ IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 28, Nr. 9, pp. 1465-1479, 2006.
M. Ozuysal, P. Fua, and V. Lepetit: „Fast Keypoint Recognition in Ten Lines of Code.„ In Proceedings of Conference on Computer Vision and Pattern Recognition, 2007.

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren