opencvcomputer-visionmarkersobject-recognitionbrisk

Markers with good features for recognizing multiple objects


I am trying to localize an object by recognizing a marker the object carries on the image from the camera. I am currently using ORB feature detector (that is, pyramidal FAST detector) along with BRISK descriptors.

I should properly recognize 12-16 different markers (as I wish to also know the orientation of the object so I would put on each object a cube or a 3-sided prism, and I should be able to recognize 4 objects on a single scene).

My question is, how do I pick markers which have good features (repeatable and unique)?

Side-question: Am I approaching this problem in a bad way? Is there a simpler solution?

Thanks


Solution

  • Of course there are simpler solutions. They depend on the changes in your environment (e.g. lighting) and background (e.g. color composition). A simple rotation and scale invariant marker that would also tell you the pose as well as identity is a unique color combination. Look at THIS paper paper for examples of color targets. It describes how you start identification searching for the middle of the target where coloros are located in specific order independent of orientation.

    To find orientation you can shape your target in a specific way or provide additional geometric cues on your target. I bet color targets printed on matte paper (to minimize specular reflections) will be more robust to out-of-plane rotation than ORB and much faster to detect. If I am not mistaken, with 4 colors you can create 12 unique orders for color targets.

    enter image description here Certain combination of colors in nature are very rare. They don't give you 100% identity but they reduce your search space tremendously and then you can easily run verification tests to separate your target from False alarms. Though colors change with illumination you can ensure that the ones you use are "far" from each other like green and red so illumination changes cannot mix them up even if you have liberal identification thresholds.