lagadic / visp

Open Source Visual Servoing Platform
https://visp.inria.fr/
GNU General Public License v2.0
707 stars 287 forks source link

Edge detector #762

Closed fmaglia closed 3 years ago

fmaglia commented 4 years ago

Hi, I followed the tutorial Markerless generic model-based tracking using a color camera and I correctly implemented the tracker. I prefer the edge one. What is the edge detector used in this case? Harris corners detector? I tried to draw these features on the image with the tracker.getFeaturesForDisplay(), but I didn't find how to extract these features on the image. Do you know how can I extract (not draw and display) these features from the image? Regards, Federico

s-trinh commented 4 years ago

Hi,

You should find more information about vpMbGenericTracker::EDGE_TRACKER and moving-edges tracking in the following papers:

What is the edge detector used in this case? Harris corners detector?

This is not an edge detector, but rather moving-edges tracking.

fmaglia commented 4 years ago

Thanks. I'm trying to automatically detect the 4 points to init the tracker. Do you have any idea? Is there something in VISP library? Actually, I'm collecting the Shi-tomasi features of a bounding box selected by the user and then I remove useless combinations based on the geometry of the points.

s-trinh commented 4 years ago

If your object is textured, you can use keypoints matching to compute 2D-3D correspondences and perform PnP pose estimation to set the initial pose for the MBT. See the following tutorial.

Another solution is to use an AprilTag marker, see the following tutorial.


Here some tracking examples in commercial AR libraries, #670. Looks like they use an user-assisted approach for initialisation. The user moves the camera to roughly align the projected CAD model with the real object, and the underlying methods register the CAD model contours with the current image to properly initialise the tracking.

If your object is textureless and you cannot use fiducial markers, for 6D object pose estimation: