Skip to content

Commit 8de9214

Browse files
authored
Merge pull request #1693 from SamFlt/doc_rbt
RBT documentation
2 parents 8c4c8f3 + 1868a26 commit 8de9214

20 files changed

+1686
-169
lines changed

doc/biblio/references.bib

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,7 @@ @ARTICLE{Marchand20a
708708
pages={620-627},
709709
keywords={Discrete cosine transforms;Visual servoing;Frequency-domain analysis;Feature extraction;Visualization;Cameras;Visual servoing;sensor-based control},
710710
doi={10.1109/LRA.2020.2965027}
711+
}
711712

712713
@InProceedings{Oliva22c,
713714
Author = {Oliva, A. and Spindler, F. and Robuffo Giordano, P. and Chaumette, F.},
@@ -727,3 +728,14 @@ @article{Merwe00
727728
year = 2000,
728729
month = oct
729730
}
731+
732+
@InProceedings{Petit14a,
733+
Author = {Petit, A. and Marchand, E. and Kanani, A.},
734+
Title = {Combining complementary edge, point and color cues
735+
in model-based tracking for highly dynamic scenes},
736+
BookTitle = {IEEE Int. Conf. on Robotics and Automation, ICRA'14},
737+
Pages = {4115--4120},
738+
Address = {Hong Kong, China},
739+
Month = {June},
740+
Year = 2014
741+
}
Loading
Loading
147 KB
Loading
Loading
534 KB
Loading

doc/tutorial/tracking/tutorial-tracking-mb-generic-json.dox

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,8 @@ Finally, we can start tracking:
296296

297297
\section json-settings-next Next tutorial
298298

299-
If you want to introduce JSON usage in your code, you can continue with \ref tutorial-json.
299+
- If you want to introduce JSON usage in your code, you can continue with \ref tutorial-json.
300300

301+
- Since ViSP 2.7.0 we introduce a new tracker named RBT that allows to track more complex objects.
302+
To learn more about it you may follow \ref tutorial-tracking-rbt.
301303
*/

doc/tutorial/tracking/tutorial-tracking-mb-generic-rgbd-Blender.dox

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,10 @@ $ ./tutorial-mb-generic-tracker-rgbd-blender --data-path /tmp/teabox --display-g
480480
\endcode
481481

482482
\section mb_Blender_next Next tutorial
483-
You are now ready to see the next \ref tutorial-tracking-tt.
483+
484+
- You are now ready to see the next \ref tutorial-tracking-tt.
485+
486+
- Since ViSP 2.7.0 we introduce a new tracker named RBT that allows to track more complex objects.
487+
To learn more about it you may follow \ref tutorial-tracking-rbt.
484488

485489
*/

doc/tutorial/tracking/tutorial-tracking-mb-generic-rgbd.dox

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,5 +626,6 @@ $ ./tutorial-mb-generic-tracker-rgbd-structure-core --model_color model/lego-squ
626626
- If you have an Intel Realsense device, you are also ready to experiment the generic model-based tracker
627627
on a cube that has an AprilTag on one face following \ref tutorial-tracking-mb-generic-apriltag-live.
628628
- You can also follow \ref tutorial-tracking-mb-CAO-editor.
629-
629+
- Since ViSP 2.7.0 we introduce a new tracker named RBT that allows to track more complex objects.
630+
To learn more about it you may follow \ref tutorial-tracking-rbt.
630631
*/

doc/tutorial/tracking/tutorial-tracking-mb-generic.dox

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -489,24 +489,24 @@ of from source code using vpMbGenericTracker::setMovingEdge() method:
489489
\snippet tutorial-mb-generic-tracker-full.cpp Set moving-edges parameters
490490

491491
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
493493
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
495495
determine the object contour. The number of mask determines the precision of the normal of the edge for every sample.
496496
If precision is 2 deg, then there are 360/2 = 180 masks.
497497
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
499499
the reference pixel along the normal of the contour used to track a moving-edge. If the displacement of the tracked
500500
object in two successive images is large, you have to increase this parameter.
501501
- 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.
503503
- 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
505505
the moving edge is valid or not. Two values are possible: vpMe::OLD_THRESHOLD corresponding to `0`,
506506
or vpMe::NORMALIZED_THRESHOLD corresponding to a value of `1` in the xml file. To keep compatibility with previous
507507
ViSP releases, the default type is set to vpMe::OLD_THRESHOLD
508508
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
510510
likelihood threshold used to determined if the moving edge is valid or not.
511511
- When the moving-edges likelihood threshold type is set to vpMe::NORMALIZED_THRESHOLD, admissible values are in
512512
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
525525
automatic thresholding is desired. Please refer to the vpMe class documentation for more information.
526526
- edge_threshold_margin_ratio: the ratio of the initial moving edge contrast to use to compute the likelihood threshold.
527527
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
529529
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
531531
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
533533
between two discretized moving-edges.
534534
To increase the number of moving-edges you have to reduce this parameter.
535535

@@ -561,20 +561,20 @@ of from source code using vpMbKltTracker::setKltOpencv() and vpMbKltTracker::set
561561
\snippet tutorial-mb-generic-tracker-full.cpp Set klt parameters
562562

563563
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
565565
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
566566
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
570570
of image corners. Corners with quality measure less than this parameter are rejected. This means that if you want to have more keypoints
571571
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
573573
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
576576
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.
578578
If the level is zero, then no pyramid is computed for the optical flow.
579579

580580
\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
15781578

15791579
\section mb_generic_next Next tutorial
15801580

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.
15831583

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.
15881589

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.
15891592
*/

0 commit comments

Comments
 (0)