You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/tutorial/tracking/tutorial-tracking-mb-generic.dox
+26-23Lines changed: 26 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -489,24 +489,24 @@ of from source code using vpMbGenericTracker::setMovingEdge() method:
489
489
\snippet tutorial-mb-generic-tracker-full.cpp Set moving-edges parameters
490
490
491
491
Either from xml or from the previous source code you can set:
492
-
- mask size: using vpMe::setMaskSize() or `<mask>/<size>` xml tag, you will define the size of the convolution mask
492
+
- mask size: using vpMe::setMaskSize() or `\<mask\>/\<size\>` xml tag, you will define the size of the convolution mask
493
493
used to detect an edge. Possible values are 3, 5 or 7. We recommend to use 5.
494
-
- mask number: using vpMe::setMaskNumber() or `<mask>/<nb_mask>` xml tag, you will set the number of mask applied to
494
+
- mask number: using vpMe::setMaskNumber() or `\<mask\>/\<nb_mask\>` xml tag, you will set the number of mask applied to
495
495
determine the object contour. The number of mask determines the precision of the normal of the edge for every sample.
496
496
If precision is 2 deg, then there are 360/2 = 180 masks.
497
497
Recommended value is 180.
498
-
- range tracking: using vpMe::setRange() or `<range>/<tracking>` xml tag, you will define the range on both sides of
498
+
- range tracking: using vpMe::setRange() or `\<range\>/\<tracking\>` xml tag, you will define the range on both sides of
499
499
the reference pixel along the normal of the contour used to track a moving-edge. If the displacement of the tracked
500
500
object in two successive images is large, you have to increase this parameter.
501
501
- init_range: the range to use during the initialization step. Please consider to use a small value (<5 pixels) if you
502
-
are really confident in the estimation of the initial pose and a greater value if the initial estimation is more coarse.
502
+
are really confident in the estimation of the initial pose and a greater value if the initial estimation is more coarse.
503
503
- moving-edges likelihood threshold type: this setting is new since ViSP 3.6.0. Using vpMe::setLikelihoodThresholdType()
504
-
or `<contrast>/<edge_threshold_type>` xml tag, you will define the type of likelihood threshold used to determined if
504
+
or `\<contrast\>/\<edge_threshold_type\>` xml tag, you will define the type of likelihood threshold used to determined if
505
505
the moving edge is valid or not. Two values are possible: vpMe::OLD_THRESHOLD corresponding to `0`,
506
506
or vpMe::NORMALIZED_THRESHOLD corresponding to a value of `1` in the xml file. To keep compatibility with previous
507
507
ViSP releases, the default type is set to vpMe::OLD_THRESHOLD
508
508
in vpMe constructor, but we recommend to use the normalized threshold.
509
-
- moving-edges threshold: using vpMe::setThreshold() or `<contrast>/<edge_threshold>` xml tag, you will define the
509
+
- moving-edges threshold: using vpMe::setThreshold() or `\<contrast\>/\<edge_threshold\>` xml tag, you will define the
510
510
likelihood threshold used to determined if the moving edge is valid or not.
511
511
- When the moving-edges likelihood threshold type is set to vpMe::NORMALIZED_THRESHOLD, admissible values are in
512
512
range [0 ; 255] and correspond to the luminance contrast between both sides of the moving-edge. When the contrast
@@ -525,11 +525,11 @@ are really confident in the estimation of the initial pose and a greater value i
525
525
automatic thresholding is desired. Please refer to the vpMe class documentation for more information.
526
526
- edge_threshold_margin_ratio: the ratio of the initial moving edge contrast to use to compute the likelihood threshold.
527
527
Please refer to the vpMe class documentation for more information.
528
-
- mu1: using vpMe::setMu1() or `<contrast>/<mu1>` xml tag, you will define the minimum image contrast allowed to detect
528
+
- mu1: using vpMe::setMu1() or `\<contrast\>/\<mu1\>` xml tag, you will define the minimum image contrast allowed to detect
529
529
a contour. We recommend to keep this value to 0.5.
530
-
- mu2: using vpMe::setMu2() or `<contrast>/<mu2>` xml tag, you will define the maximum image contrast allowed to detect
530
+
- mu2: using vpMe::setMu2() or `\<contrast\>/\<mu2\>` xml tag, you will define the maximum image contrast allowed to detect
531
531
a contour. We recommend to keep this value to 0.5.
532
-
- sample step: using vpMe::setSampleStep() or `<sample>/<step>` xml tag, you will define the minimum distance in pixel
532
+
- sample step: using vpMe::setSampleStep() or `\<sample\>/\<step\>` xml tag, you will define the minimum distance in pixel
533
533
between two discretized moving-edges.
534
534
To increase the number of moving-edges you have to reduce this parameter.
535
535
@@ -561,20 +561,20 @@ of from source code using vpMbKltTracker::setKltOpencv() and vpMbKltTracker::set
561
561
\snippet tutorial-mb-generic-tracker-full.cpp Set klt parameters
562
562
563
563
With the previous parameters you can set:
564
-
- mask border: using vpMbKltTracker::setMaskBorder() or `<klt>/<mask_border>` xml tag, you can specify the size of the mask corresponding
564
+
- mask border: using vpMbKltTracker::setMaskBorder() or `\<klt\>/\<mask_border\>` xml tag, you can specify the size of the mask corresponding
565
565
to a zone inside the face along the contour in which the keypoints will not be detected. A mask size of zero means that keypoints
566
566
can be detected on the contour.
567
-
- max features: using vpKltOpencv::setMaxFeatures() or `<klt>/<max_features>` xml tag, you can set the maximum number of keypoint features to track in the image.
568
-
- window size: using vpKltOpencv::setWindowSize() or `<klt>/<window_size>` xml tag, you can set the window size used to refine the corner locations.
569
-
- quality: using vpKltOpencv::setQuality() or `<klt>/<quality>` xml tag, you can set the parameter characterizing the minimal accepted quality
567
+
- max features: using vpKltOpencv::setMaxFeatures() or `\<klt\>/\<max_features\>` xml tag, you can set the maximum number of keypoint features to track in the image.
568
+
- window size: using vpKltOpencv::setWindowSize() or `\<klt\>/\<window_size\>` xml tag, you can set the window size used to refine the corner locations.
569
+
- quality: using vpKltOpencv::setQuality() or `\<klt\>/\<quality\>` xml tag, you can set the parameter characterizing the minimal accepted quality
570
570
of image corners. Corners with quality measure less than this parameter are rejected. This means that if you want to have more keypoints
571
571
on a face, you have to reduce this parameter.
572
-
- min_distance: using vpKltOpencv::setMinDistance() or `<klt>/<min_distance>` xml tag, you can set the minimal Euclidean distance between
572
+
- min_distance: using vpKltOpencv::setMinDistance() or `\<klt\>/\<min_distance\>` xml tag, you can set the minimal Euclidean distance between
573
573
detected corners during keypoint detection stage used to initialize keypoint location.
574
-
- harris: using vpKltOpencv::setHarrisFreeParameter() or `<klt>/<harris>` xml tag, you can set the free parameter of the Harris detector.
575
-
- block size: using vpKltOpencv::setBlockSize() or `<klt>/<size_block>` xml tag, you can set the size of the averaging block used to track
574
+
- harris: using vpKltOpencv::setHarrisFreeParameter() or `\<klt\>/\<harris\>` xml tag, you can set the free parameter of the Harris detector.
575
+
- block size: using vpKltOpencv::setBlockSize() or `\<klt\>/\<size_block\>` xml tag, you can set the size of the averaging block used to track
576
576
the keypoint features.
577
-
- pyramid level: using vpKltOpencv::setPyramidLevels() or `<klt>/<pyramid_lvl>` xml tag, you can set the maximal pyramid level.
577
+
- pyramid level: using vpKltOpencv::setPyramidLevels() or `\<klt\>/\<pyramid_lvl\>` xml tag, you can set the maximal pyramid level.
578
578
If the level is zero, then no pyramid is computed for the optical flow.
579
579
580
580
\note Most important parameters are \e min_distance and \e quality.
@@ -1578,12 +1578,15 @@ tutorial-mb-klt-tracker.cpp and tutorial-mb-hybrid-tracker.cpp. To make working
1578
1578
1579
1579
\section mb_generic_next Next tutorial
1580
1580
1581
-
If you have a webcam, you are now ready to experiment the generic model-based tracker on a cube that has an AprilTag on one face
1582
-
following \ref tutorial-tracking-mb-generic-apriltag-live.
1581
+
- If you have a webcam, you are now ready to experiment the generic model-based tracker on a cube that has an AprilTag
1582
+
on one face following \ref tutorial-tracking-mb-generic-apriltag-live.
1583
1583
1584
-
There is also \ref tutorial-detection-object to learn how to initialize the tracker without user click, by learning the object to track
1585
-
using keypoints when the object is textured. There is also \ref tutorial-tracking-mb-generic-stereo if you want to know how to extend the
1586
-
tracker to use a stereo camera or \ref tutorial-tracking-mb-generic-rgbd if you want to extend the tracking by using depth as visual
1587
-
features. There is also this other \ref tutorial-tracking-tt.
1584
+
- There is also \ref tutorial-detection-object to learn how to initialize the tracker without user click, by learning
1585
+
the object to track using keypoints when the object is textured. There is also
1586
+
\ref tutorial-tracking-mb-generic-stereo if you want to know how to extend the
1587
+
tracker to use a stereo camera or \ref tutorial-tracking-mb-generic-rgbd if you want to extend the tracking by using
1588
+
depth as visual features. There is also this other \ref tutorial-tracking-tt.
1588
1589
1590
+
- Since ViSP 2.7.0 we introduce a new tracker named RBT that allows to track more complex objects.
1591
+
To learn more about it you may follow \ref tutorial-tracking-rbt.
0 commit comments