Name
create_calib_descriptor_modelT_create_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel — Erzeugen eines Deskriptormodells für Punkt-Matching und
Objektposebestimmung.
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 HCamPar& 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 HCamPar& 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 HCamPar& 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 HCamPar& 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 HCamPar& 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 HCamPar& CamParam, const HPose& ReferencePose, const char* DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed) const
HDescriptorModel HCamPar::CreateCalibDescriptorModel(const HImage& Template, const HPose& ReferencePose, const HString& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed) const
HDescriptorModel HCamPar::CreateCalibDescriptorModel(const HImage& Template, const HPose& ReferencePose, const char* DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed) const
HDescriptorModel HPose::CreateCalibDescriptorModel(const HImage& Template, const HCamPar& CamParam, const HString& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, Hlong Seed) const
HDescriptorModel HPose::CreateCalibDescriptorModel(const HImage& Template, const HCamPar& CamParam, 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)
IHDescriptorModelX* HCamParX.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* HPoseX.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)
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, HCamPar camParam, HPose referencePose, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)
void HDescriptorModel.CreateCalibDescriptorModel(HImage template, HCamPar camParam, HPose referencePose, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)
HDescriptorModel HImage.CreateCalibDescriptorModel(HCamPar camParam, HPose referencePose, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)
HDescriptorModel HCamPar.CreateCalibDescriptorModel(HImage template, HPose referencePose, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)
HDescriptorModel HPose.CreateCalibDescriptorModel(HImage template, HCamPar camParam, string detectorType, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, int seed)
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 kalibriertes deskriptorbasiertes Matching
durchgeführt werden kann. Es ist zu beachten, dass der Teil des
Objektes, der in dem TemplateTemplateTemplateTemplateTemplatetemplate-Bild zu sehen ist, planar sein muss.
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 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.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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.
Eingabebild, dessen Definitionsbereich zum
Aufbau des Modells verwendet wird.
Die internen Kameraparameter der Kamera.
Die Referenzpose des Objekts im Referenzbild.
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"
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"
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"
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"
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"
Initialisierung des Zufallsgenerators.
Defaultwert: 42
Der Handle des Deskriptormodells
points_lepetitpoints_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit,
points_harrispoints_harrisPointsHarrispoints_harrisPointsHarrisPointsHarris,
reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain
get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams,
find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel
get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams,
find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel
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.
Matching