Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poor tag detecion when tags are rotated. #370

Open
Frank-Michel opened this issue Feb 14, 2025 · 3 comments
Open

Poor tag detecion when tags are rotated. #370

Frank-Michel opened this issue Feb 14, 2025 · 3 comments

Comments

@Frank-Michel
Copy link

Hi, I am trying to detect tags on a calibration target board (36h11 with double pixel border). Everything is looking okay (first image 24 out of 30 tags detected) when the tags are aligned with the image border. However, when the target is rotated by 45deg (second image) at most 5 tags are getting detected. I was playing with the detector parameters but I was not able to substantially increase the number of detected targets. I was using an altered version of the open_cv example in the repository when running the experiments.

Any advice on why the tags are not detected and how to improve the number of detections is highly appreciated.

Image

Image

@mkrogius
Copy link
Contributor

Unfortunately we do not support the kalibr board. Some previous discussion is here

@Frank-Michel
Copy link
Author

Got it. In your linked issue you were talking about the possibility of creating a checkerboard like pattern using Apriltags and inverted Apriltags. I was experimenting with those two types of tags but I was not able to find a solution that does not brake up the solid border around the tags. Could you elaborate on that idea.

@mkrogius
Copy link
Contributor

Here's a diagram of an apriltag from the 36h11 family -- it consists of an outer white border, an inner black border, and 36 data bits in the middle:
Image

If we used https://github.com/AprilRobotics/apriltag-generation to generate a new family which also has 36 data bits but has a black outer border and white inner border, then we could make a calibration board by alternating tags from the 36h11 family and this new family. The outer white border from a 36h11 tag would form a calibration corner with the outer black border from the neighboring tag from the new family.

Alternately, an easier way to accomplish the above that lets you avoid generating a new tag family and recompiling the detector would be to make a calibration board where you alternate normal 36h11 tags with tags from the 36h11 but with black & white swapped. In order to detect all the tags in this calibration board you would need to run the detector twice, once normally, and once on the image inverted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants