april_tag : solutions or alternatives for better immunity to light conditions
Hi,
for an outdoor robot, we are using the apriltag_ros package to detect April tags in order to get the path to follow for the robot. We are using one tag every 10m (at most), and a wide angle stereo camera (ZED2 from Stereolabs). The tags are 25x25cm (counting the 1 pixel white boarder around the 1 pixel black boarder), with 6x6 pixels inside the black boarder. They are printed on expended PVC (it's the least reflective solution we found so far)
If the weather is cloudy, the detection works perfectly well. In the weather is sunny, we often have trouble detecting some tags, especially if the sun is reflecting on the tag, or if there is a partial shadow on the tag (the worst seems to be sunlight through branches, which gives a random pattern of shadows).
Do you have any idea how I could improve the detection rate of the tags in the "bad cases" of sunny weather?
For example :
- other detection algorithm (I'm fine with changing tag family or type ; I'm also fine if there is just a library and I have to transform it into a ros node myself)
- some preprocessing on the images?
- some ideas to get less reflective tags?
- changing some parameters?
Note that I have ample computational power available (jetson xavier AGX computer), that I don't need a high output rate (if needed I can go down to 1Hz), and that I'm happy to trade some of the localization accuracy for increased detection rate. I'm also interested in methods with low sometimes low reliability (for example, if the algorithm tells me that there is a potential tag with a given probability to really be a tag and have an given ID, I can easily check if the tag with this ID is supposed to be visible)
Thanks a lot in advance
Felix
I'm guessing this probably isn't quite what you are looking for, but the most robust tag detection I've seen is in the Deep ChArUco paper. These techniques could easily be extended to April Tags