Issue with TAG25H9 Detection on OpenMV Cam

Hello,

I’m currently using an OpenMV H7 Cam for an AprilTag-based project. However, I am facing issues with detecting AprilTags from the TAG25H9 family. When I attempt to use families=image.TAG25H9 in the find_apriltags() function, I get an error indicating that this family is not recognized. I’ve also tried using the hexadecimal value 0x00000002 for TAG25H9, but it still doesn’t detect the tags.

Here are the steps I’ve taken so far:

  1. I printed out the available attributes in the image module using print(dir(image)), and it only lists TAG36H11, not TAG25H9.
  2. I tried using the hexadecimal value 0x00000002 to force detection of TAG25H9, but no tags are being detected.
  3. I’m using the latest version of the OpenMV IDE and firmware, but still cannot detect TAG25H9.

Is there any way to add support for TAG25H9 on the OpenMV H7 Cam, or is there an alternative method to enable its detection?

Any help would be greatly appreciated.

Thank you!

Hi, we removed support for TAG25H9 by default since it requires a large amount of flash and we are running out. These tags are still enabled on the RT1062 which has more flash. For all other boards only TAG36H11 is enabled.

TAG36H11 is superior to the TAG25H9 family. What is the reason you want to use it instead of the 36H11?

Thank you for the clarification.

The reason I prefer to use TAG25H9 is because I’m trying to implement nested AprilTags. I find that TAG25H9 is easier to convert into a nested tag because of the square shape that can be created in the center, which can then be used to place another tag. This structure seems more flexible for nesting compared to TAG36H11.

Is there a way to re-enable TAG25H9 support, perhaps through custom firmware, or is there an alternative approach that might work for nested AprilTags?

I understand the flash limitations, but if there’s any potential solution for this use case, I’d greatly appreciate your guidance.

Thanks again for your help!

Hi, you can use a previous release: Release v4.5.8 · openmv/openmv (github.com)

Or, you just need to fork the github repo and enable github actions to build the firmware for you. Then just enable it here for the H7: openmv/src/omv/boards/OPENMV4/imlib_config.h at master · openmv/openmv (github.com). Add:

#define IMLIB_ENABLE_APRILTAGS_TAG25H9

Then commit the change to your fork and github actions will build the H7 firmware (OPENVM4) in the cloud for you.

Thank you for the detailed response and the options.

I’ll try using the previous release first, and if necessary, I’ll fork the repo and enable the TAG25H9 support by editing the imlib_config.h file as suggested.

I appreciate your help, and thanks again for providing these steps!