ClassesClassesClassesClasses | | | | Operators

create_calib_descriptor_modelT_create_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel (Operator)

Name

create_calib_descriptor_modelT_create_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel — Create a descriptor model for calibrated perspective matching.

Signature

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)

Description

The operator create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel prepares a descriptor model, which is used for planar calibrated matching, from a template image that is passed in TemplateTemplateTemplateTemplateTemplatetemplate (usually the domain of the image is reduced to an ROI showing only the object of interest).

The internal camera parameters CamParamCamParamCamParamCamParamCamParamcamParam and the ReferencePoseReferencePoseReferencePoseReferencePoseReferencePosereferencePose, which describes the 3D position and orientation of the object plane shown in TemplateTemplateTemplateTemplateTemplatetemplate, are used to internally calculate a model coordinate system. The origin of this model coordinate system is obtained by projecting the center of gravity of an internally rectified version of the template image onto the object plane. The axes of the model coordinate system are built such that they are parallel to the axes of Reference Pose. To obtain a descriptor model from the template image, the points extracted by the detector in the internally rectified template image are projected onto the object plane as well. Their coordinates in the model coordinate system are stored as world coordinates in the model. This model then can be used for the pose estimation of a searched planar object as described with find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel.

A descriptor model created by the use of create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel can also be used in find_uncalib_descriptor_modelfind_uncalib_descriptor_modelFindUncalibDescriptorModelfind_uncalib_descriptor_modelFindUncalibDescriptorModelFindUncalibDescriptorModel to determine a homography. In contrast, it is not possible to use a model created by create_uncalib_descriptor_modelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelCreateUncalibDescriptorModel in find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel.

The descriptor model describes a set of points of interest. It stores their locations and discriminative descriptions of their local gray value neighborhood. The interest point extraction is parametrized by DetectorTypeDetectorTypeDetectorTypeDetectorTypeDetectorTypedetectorType, DetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNamedetectorParamName and DetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValuedetectorParamValue. The respective descriptor around the interest points is parametrized by DescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNamedescriptorParamName and DescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValuedescriptorParamValue. The parameter SeedSeedSeedSeedSeedseed seeds the random number generator, which is used during the construction of the descriptor implemented with randomized ferns. The returned ModelIDModelIDModelIDModelIDModelIDmodelID is a reference to the generated descriptor model. For further explanation on the descriptor model and its parameter we refer to the description of create_uncalib_descriptor_modelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelCreateUncalibDescriptorModel.

The parameters and the location of the final descriptor points can be determined with get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams and get_descriptor_model_pointsget_descriptor_model_pointsGetDescriptorModelPointsget_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPoints.

create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel stores the detector type, detector parameters and descriptor parameters, which are used in every succeeding call of find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel or find_uncalib_descriptor_modelfind_uncalib_descriptor_modelFindUncalibDescriptorModelfind_uncalib_descriptor_modelFindUncalibDescriptorModelFindUncalibDescriptorModel. The reference point (origin) of the model is the center of gravity of the template's ROI. Its coordinates can be changed by set_descriptor_model_originset_descriptor_model_originSetDescriptorModelOriginset_descriptor_model_originSetDescriptorModelOriginSetDescriptorModelOrigin.

Parallelization

This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.

Parameters

TemplateTemplateTemplateTemplateTemplatetemplate (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Input image whose domain will be used to create the model.

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

The parameters of the internal orientation of the camera.

Number of elements: 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)

The reference pose of the object in the reference image.

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

The type of the detector.

Default value: 'lepetit' "lepetit" "lepetit" "lepetit" "lepetit" "lepetit"

List of values: '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*)

The detector's parameter names.

Default value: []

List of values: '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*)

Values of the detector's parameters.

Default value: []

Suggested values: 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*)

The descriptor's parameter names.

Default value: []

List of values: '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*)

Values of the descriptor's parameters.

Default value: []

Suggested values: 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)

The seed for the random number generator.

Default value: 42

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

The handle to the descriptor model.

Possible Predecessors

points_lepetitpoints_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit, points_harrispoints_harrisPointsHarrispoints_harrisPointsHarrisPointsHarris, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Possible Successors

get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams, find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel

See also

get_descriptor_model_paramsget_descriptor_model_paramsGetDescriptorModelParamsget_descriptor_model_paramsGetDescriptorModelParamsGetDescriptorModelParams, find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel

References

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.

Module

Matching


ClassesClassesClassesClasses | | | | Operators