find_planar_calib_deformable_modelT_find_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel (Operator)
Name
find_planar_calib_deformable_modelT_find_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
— Find the best matches of a calibrated deformable model in an image and return
their 3D pose.
Signature
find_planar_calib_deformable_model(Image : : ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, GenParamName, GenParamValue : Pose, CovPose, Score)
Herror T_find_planar_calib_deformable_model(const Hobject Image, const Htuple ModelID, const Htuple AngleStart, const Htuple AngleExtent, const Htuple ScaleRMin, const Htuple ScaleRMax, const Htuple ScaleCMin, const Htuple ScaleCMax, const Htuple MinScore, const Htuple NumMatches, const Htuple MaxOverlap, const Htuple NumLevels, const Htuple Greediness, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Pose, Htuple* CovPose, Htuple* Score)
void FindPlanarCalibDeformableModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* CovPose, HTuple* Score)
HPoseArray HDeformableModel::FindPlanarCalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
HPose HDeformableModel::FindPlanarCalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
HPoseArray HImage::FindPlanarCalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
HPose HImage::FindPlanarCalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
static void HOperatorSet.FindPlanarCalibDeformableModel(HObject image, HTuple modelID, HTuple angleStart, HTuple angleExtent, HTuple scaleRMin, HTuple scaleRMax, HTuple scaleCMin, HTuple scaleCMax, HTuple minScore, HTuple numMatches, HTuple maxOverlap, HTuple numLevels, HTuple greediness, HTuple genParamName, HTuple genParamValue, out HTuple pose, out HTuple covPose, out HTuple score)
HPose[] HDeformableModel.FindPlanarCalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
HPose HDeformableModel.FindPlanarCalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
HPose[] HImage.FindPlanarCalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
HPose HImage.FindPlanarCalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
Description
The operator find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
finds the best
NumMatchesNumMatchesNumMatchesNumMatchesnumMatches
instances of the calibrated deformable
model ModelIDModelIDModelIDModelIDmodelID
in the input image ImageImageImageImageimage
. The
model must have been created previously by calling
create_planar_calib_deformable_modelcreate_planar_calib_deformable_modelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModel
or
read_deformable_modelread_deformable_modelReadDeformableModelReadDeformableModelReadDeformableModel
. The operator
find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
returns the 3D PosePosePosePosepose
of
the found instances in the camera coordinate system.
Additionally, the accuracy of the six pose parameters are returned in
CovPoseCovPoseCovPoseCovPosecovPose
. By default, CovPoseCovPoseCovPoseCovPosecovPose
contains the 6 standard
deviations of the pose parameters for each match. If the
generic parameter 'cov_pose_mode'"cov_pose_mode""cov_pose_mode""cov_pose_mode""cov_pose_mode" was set to
'covariances'"covariances""covariances""covariances""covariances", CovPoseCovPoseCovPoseCovPosecovPose
contains the 36 values of
the complete 6x6 covariance matrix of the 6
pose parameters. Note that this reflects only an inner accuracy from
which the real accuracy of the pose may differ. Finally, the score
of each found instance is returned in ScoreScoreScoreScorescore
. The score is
a number between 0 and 1, which is an approximate measure of how
much of the model is visible in the image.
For further explanation on the planar deformable model and its parameters we
refer to the description of find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel
.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on internal data level.
Parameters
ImageImageImageImageimage
(input_object) (multichannel-)image →
objectHImageHImageHobject (byte / uint2)
Input image in which the model should be found.
ModelIDModelIDModelIDModelIDmodelID
(input_control) deformable_model →
HDeformableModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the model.
AngleStartAngleStartAngleStartAngleStartangleStart
(input_control) angle.rad →
HTupleHTupleHtuple (real) (double) (double) (double)
Smallest rotation of the model.
Default value: -0.39
Suggested values: -3.14, -1.57, -0.78, -0.39, -0.20, 0.0
AngleExtentAngleExtentAngleExtentAngleExtentangleExtent
(input_control) angle.rad →
HTupleHTupleHtuple (real) (double) (double) (double)
Extent of the rotation angles.
Default value: 0.78
Suggested values: 6.29, 3.14, 1.57, 0.78, 0.39, 0.0
Restriction: AngleExtent >= 0
ScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Minimum scale of the model in row direction.
Default value: 1.0
Suggested values: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriction: ScaleRMin > 0
ScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Maximum scale of the model in row direction.
Default value: 1.0
Suggested values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5
Restriction: ScaleRMax >= ScaleRMin
ScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Minimum scale of the model in column direction.
Default value: 1.0
Suggested values: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriction: ScaleCMin > 0
ScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Maximum scale of the model in column direction.
Default value: 1.0
Suggested values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5
Restriction: ScaleCMax >= ScaleCMin
MinScoreMinScoreMinScoreMinScoreminScore
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Minimum score of the instances of the model to
be found.
Default value: 0.5
Suggested values: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Typical range of values: 0
≤
MinScore
MinScore
MinScore
MinScore
minScore
≤
1
Minimum increment: 0.01
Recommended increment: 0.05
NumMatchesNumMatchesNumMatchesNumMatchesnumMatches
(input_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Number of instances of the model to be found
(or 0 for all matches).
Default value: 1
Suggested values: 0, 1, 2, 3, 4, 5, 10, 20
MaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Maximum overlap of the instances of the model
to be found.
Default value: 1.0
Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Typical range of values: 0
≤
MaxOverlap
MaxOverlap
MaxOverlap
MaxOverlap
maxOverlap
≤
1
Minimum increment: 0.01
Recommended increment: 0.05
NumLevelsNumLevelsNumLevelsNumLevelsnumLevels
(input_control) integer(-array) →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Number of pyramid levels used in the matching
(and lowest pyramid level to use if
|NumLevelsNumLevelsNumLevelsNumLevelsnumLevels
| = 2).
Default value: 0
List of values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
GreedinessGreedinessGreedinessGreedinessgreediness
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
“Greediness” of the search heuristic (0: safe
but slow; 1: fast but matches may be missed).
Default value: 0.9
Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Typical range of values: 0
≤
Greediness
Greediness
Greediness
Greediness
greediness
≤
1
Minimum increment: 0.01
Recommended increment: 0.05
GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
(input_control) string-array →
HTupleHTupleHtuple (string) (string) (HString) (char*)
The general parameter names.
Default value: []
List of values: [], 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction", 'angle_step'"angle_step""angle_step""angle_step""angle_step", 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction", 'cov_pose_mode'"cov_pose_mode""cov_pose_mode""cov_pose_mode""cov_pose_mode", 'scale_c_step'"scale_c_step""scale_c_step""scale_c_step""scale_c_step", 'scale_r_step'"scale_r_step""scale_r_step""scale_r_step""scale_r_step", 'subpixel'"subpixel""subpixel""subpixel""subpixel"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
(input_control) integer-array →
HTupleHTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)
Values of the general parameters.
Default value: []
List of values: [], 'covariances'"covariances""covariances""covariances""covariances", 'least_squares'"least_squares""least_squares""least_squares""least_squares", 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high", 'least_squares_very_high'"least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high", 'standard_deviations'"standard_deviations""standard_deviations""standard_deviations""standard_deviations"
PosePosePosePosepose
(output_control) pose(-array) →
HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Pose of the object.
CovPoseCovPoseCovPoseCovPosecovPose
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
6 standard deviations or 36 covariances
of the pose parameters.
ScoreScoreScoreScorescore
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
Score of the found instances of the model.
Result
If the parameters are valid, the operator
find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
returns the value 2 (H_MSG_TRUE). If
necessary an exception is raised.
Possible Predecessors
create_planar_calib_deformable_modelcreate_planar_calib_deformable_modelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModel
,
read_deformable_modelread_deformable_modelReadDeformableModelReadDeformableModelReadDeformableModel
Module
Matching