Some markers are ignored while others are read

Hi everyone!

I am working on a localization project using Aruco markers.
We printed some markers on regular paper and tested them. It was fine.
In the second step, we printed the markers and covered them with adhesive tape and it was fine to be recognized.
Then, we covered a room with them and now it does not read those on the floor

For some reason, it does not read those with adhesive covers on the floor. So I brought the original banner and printed a few with different paper types; only the original is detected.

In the bitmap, they all look very similar, but only those inside the blue curve are detected.

They are the same dictionary and the same size. And, for my human eyes, they look super similar.

Can you give me some ideas on how to fix it?



A few things come to mind, but I’m just making guesses.

  1. Some of the markers “covered with adhesive tape” have some visible lines / streaks on them, presumably from where the tape wasn’t adhered well. Aruco detection is pretty robust, but it’s possible this is throwing it off.
  2. The ones not being detected seem larger in the image - maybe your detector parameters (maxMarkerPerimeterRate?) aren’t right for the larger markers.
  3. Make sure you have enough white boundary around the marker - it looks like you do, but it’s something to be aware of.
  4. I know you said they are from the same dictionary, but it might be helpful to have identical markers to test with - one with the tape, the other without. In my experience some markers are easier / more reliably detected.

I think there is a way to get debug / intermediate processing results out of the Aruco detection. I’ve done something with that, but maybe I was building from source / editing the code. In any case, it could be helpful to see where/why it is failing.

Frankly I would expect it to work on your images, so I’m leaning toward detector parameters (or invalid marker).

Good luck.

shallow angles make everything worse.

I too would recommend that you print identical markers, and test one with glossy tape over it and one without. glossy surface specularly reflects light from the environment more than it shows you the marker’s diffuse reflection.

your markers are getting drowned out in reflection.

Hi everyone,

Thank you very much for your support.
The mystery was solved. My colleagues used the Original Aruco dictionary and my script was looking for a 4X4 dictionary.

Thank you so much!