Help with find_object_3d settings / usage

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Help with find_object_3d settings / usage

bolt
This post was updated on .
Hi there,

I'm attempting to use find_object_3d with my Kinect2 to locate the following image:



I've printed the image out, and am then supplying the original PNG as the object file in find_object_3d. Unfortunately it doesn't seem able to find it using the default settings. If I create an object from the scene, it is able to find it, but only if the camera is in a very similar position to where it was when the object was created. I've also tried the same thing with a chess board pattern, and am getting similar results.

I was wondering if you can give me any tips or pointers as to where i'm going wrong / settings which might perform better in this case? I am a newcomer to OpenCV / object recognition so am stabbing around in the dark somewhat!

Many thanks for your work on this and on RTAB-Map.
Reply | Threaded
Open this post in threaded view
|

Re: Help with find_object_3d settings / usage

matlabbe
Administrator
Is your find_object_2d built with OpenCV nonfree module? You can know that if SIFT and SURF features are available in find_object_2d settings under panel Parameters->Feature2D->Detector. SIFT/SURF features are more scale/rotation invariant than other kind of features. If using SURF, you can increase the number of features extracted by lowering "SURF_hessianThreshold".

Also, to find this symbol, it may be better to re-take a picture with the Kinect v2 of this object after being printed. You can also add this object multiple time at different scales.

Note also that a symmetric symbol can be a poor choice for features matching. The best is to have an asymmetric symbol (maybe the 4 quadrants are different, to be able to know the rotation of the target).



cheers