Skip to content
Call us for support

1800 123 456

$0.00 USD

AprilTag Marker Tracking!

Posted by Kwabena Agyeman on

Hey folks, if you thought QR Code detection was the best the OpenMV Cam M7 can do, well think again. We now have the state-of-the-art AprilTags Marker Tracking code running on the OpenMV Cam M7. Check this awesomeness out!


So, AprilTags are like giant low resolution QR Codes which just encode an ID number. The benefit of using AprilTags over QR Codes, however, is that since they don't encode a lot of bits they can be seen from very far away. Additionally, AprilTags are translation, rotation, scale, shear, and lighting invariant basically meaning that your OpenMV Cam M7 never has a problem detecting them. This is in contrast to color tracking which is not lighting invariant and fails if the lighting changes too much for what color tracking thresholds you trained your OpenMV Cam on.

Anyway, so what values does your OpenMV Cam return when it sees an AprilTag? Well, we give you the bounding box around the AprilTag, the centroid, the rotation of the tag, the ID code of the tag, the family of tags the tag was from, and a quality value (0-1) to let you know how well the tag was detected. The AprilTag code also computes the pose of the tag which is useful for Augmented Reality situations which you can get if you'd like by modifying our firmware to dump it.

Moving on, we've also built an AprilTag generator into OpenMV IDE. When we searched online for how to generate AprilTags there wasn't any slick website available for this task like there are for QR Codes - so we made our own. Our AprilTag generator creates nice 8.5"x11" 96 DPI images for you to print out to track. The images we generate are png images so you can edit them freely and combine a bunch onto one print if you'd like smaller tags. Additionally, since the tags are just square black and white values you can also enlarge them to be as big as you want without scaling issues. Note that the AprilTag software needs a white boarder around the black rectangle to find the tag. All our images contain this boarder but you won't see it on a white background.

AprilTag

OpenMV Cam M7 Manufacturing Status

We've completed the new firmware and application software for our programming jig and are just waiting on the thing to be built to test with it. MacroFab expects to be able to do this either this week or the next. Once we've tested the jig and we're able to run 2 panels of 20 OpenMV Cams through the it we'll start manufacturing 1000 OpenMV Cam M7 units. We expect everything to go smoothly. In the mean time please keep the OpenMV Cam M7 pre-orders coming!

Why is AprilTags support a big deal?

So, AprilTags Marker Tracking is state-of-the art (research paper) machine vision software - and we're able to run it on the STM32F7 processor - this has never been done before (to my knowledge). This is new. And by new I mean we're running software with allocates hundreds of megabytes of RAM normally on a processor with just 512KB. Anyway, you're now going to be able to track fiducial markers super robustly in a small-form-factor without using a lot of power. So, tracking with AprilTags is now just 5 minutes of work with your OpenMV Cam and OpenMV IDE.

Note that we're not supporting AprilTags on the OpenMV Cam M4. It can run on that processor, but, only at an 80x60 resolution. Additionally, we'd have to make space in the flash for about 64KB of new code which we don't have available so a bunch of features would have to be dropped to make space.