How does the OpenCV ORC function detector work?

I want to implement a function-based alignment algorithm using an ORB function detector and an extractor.
So far I have been extracting functions using the ORB class from OpenCV ORB orb;
orb(gray_image,Mat(),features.keypoints,features.descriptors);
and matched them using the knnMatch function from openCV matcher.knnMatch(features1.descriptors, features2.descriptors, pair_matches,2); After that, I try to find homography using the findHomography function, but the function requires at least 4 matches between the image functions, and on most of the images I tested, I got less than 4.

Has anyone used this feature? Is there any documentation about this or about the ORB class from OpenCV (the value of the parameters of the ORB constructor)?

PS This is my first question. and I can’t post more than two links. For opencv documentation, use this .

+26
android alignment opencv computer-vision
Aug 29 '11 at 16:04
source share
1 answer

UPDATE: now it is in the OpenCV documentation, here: http://opencv.itseez.com/modules/features2d/doc/feature_detection_and_description.html#orb

A detailed description of the algorithm is found here: http://www.willowgarage.com/sites/default/files/orb_final.pdf




It is not mentioned in the OpenCV documentation, but in fact OpenCV has:

Two types of descriptors:

  • float descriptors:
    • SIFT
    • Surf
  • uchar descriptors:
    • ORB
    • BRIEF

And corresponding matches:

  • for float descriptors:
    • FlannBased
    • BruteForce<L2<float> >
    • BruteForce<SL2<float> > // since 2.3.1
    • BruteForce<L1<float> >
  • for uchar descriptors:
    • BruteForce<Hamming>
    • BruteForce<HammingLUT>
    • FlannBased with LSH index // s 2.4.0

Therefore, you need to modify your code to use, for example, the BruteForce<Hamming> matcher for ORB descriptors. You can use the L2 or L1 distance to match uchar descriptors, but the results will be incorrect and findHomography will return unsatisfactory results.

+48
Aug 29 '11 at 16:42
source share



All Articles