< Previous | Contents | Manuals Home | Boris FX | Next >
โChoosing an AprilTag Family
As mentioned, there are various families of AprilTags, with different advantages and disadvantages. Here is an example of each:
The families labeled โCircleโ are designed to fit within a roughly circular area. The custom tag has an unmonitored hole in the middle, which is intended to be used to put another smaller tag! (Consider a drone visually coming into a landing pad from a distance.)
Tip : What tag family is in a shot youโve been given? Use the "Identify Tags/- What is it?โ button and SynthEyes will scan to see which it is.
The first number is the number of data bits (changeable blocks) in the tag design; the second number is the Hamming distance, the minimum number of bits that must be changed in one tagโs code to reach another tagโs code. In the 41H12 code recommended by AprilTags, there are 41 data bits, and 12 bits must be changed in the code for any tag to get to another. With a larger first number, you can have more different tags in the same family; a larger second number means that there is more tolerance to incorrect bits.
In practice, incorrect bits arenโt as much an issue as the prospect that some other non-AprilTags feature gets recognized as a false positive, a valid AprilTag where there isnโt one.
Before you rush to the most complex design, consider also that for a given
physical tag size, for example a tag a foot or 25 cm across, the more complex designs
result in a smaller data bit size, and as a result, the tag must be closer to have enough pixels for proper detection.
Here are the number of bits across (Width) and number of available tags for each
family.
|
Family Name |
Total Width |
Width of Square |
Fill Factor |
Number Of Tags |
|
16H5 |
8 |
6 |
0.75 |
30 |
|
21H7 Circle |
9 |
5 |
0.55 |
38 |
|
25H9 |
9 |
7 |
0.78 |
35 |
|
36H11 |
10 |
8 |
0.8 |
587 |
|
41H12 Standard |
9 |
5 |
0.56 |
2115 |
|
48H12 Custom (Hole) |
10 |
6 |
0.6 |
42211 |
|
49H12 Circle |
11 |
5 |
0.45 |
65535 |
|
52H13 Standard |
10 |
6 |
0.6 |
48714 |
Youโll also notice the Width of Square column. Looking at 16H5, for example, youโll see that the width is listed as 8, even though it would only seem to require 6. Thatโs due to the mandatory padding around the outside, to have a contrasting square border.
That square is important to AprilTags: it locates the square first, and then the data bits for the tag number. It also uses the square to attempt to determine the orientation of the AprilTag (more about that later). Itโs beneficial to have the square occupy a large portion of the tag (less so for circles), so the Fill Factor (width of square / total width) is shown. You can see that the large tags donโt do well there.
When we track, SynthEyes will put a tracker or object at the center location of the tag. If you choose only a tag family with an even width, and then choose the specific tags a little carefully, you can always have an nice pointy corner right at the center of the tag, which makes checking its accuracy easier (including possible additional add-on supervised tracking). If you look back at the collection of 16H5 tags, youโll see that some are marked in red ; those are the ones that we donโt want because they donโt have a handy little point at the exact center.
Based on these considerations, the 36H11 family is a reasonable generic choice, with an even size and high fill factor, though the larger width may limit range. Your project may suggest something else. The 16H5 family may maximize range; SynthEyesโs AprilTags support gives you some features to minimize the impact of false detections.
ยฉ2025 Boris FX, Inc.ย โย UNOFFICIALย โย Converted from original PDF.