Search code examples
opencvcomputer-visionfeature-descriptor

How to calculate radius in orb?


Studying ORB feature descriptors from it is the official paper I found it stating:

We empirically choose r to be the patch size, so that that x and y run from [−r, r]. As |C| approaches 0,

I did not understand how r is calculated, please tell me how to calculate r.

I tried a lot to dig deeper using the internet but I couldn't find formula or explaining and I did not understand what it stated means.

Would you please explain it for me? And give me the formula if you may.


Solution

  • The paper says:

    "We empirically choose r to be the patch size,..."

    In OpenCV a patch size of 31 (seems to be the standard value) is used.
    The intensity patches with the specified size are used for the description of a FAST keypoint. Since ORB uses the BRIEF descriptor an image patch is transferred into a binary string which is later compared to match the keypoints. More details are found in the BRIEF paper. So if you increase r you will increase the size of the binary string. So the radius is not calculated by some formula but instead chosen by the developers/user.