Target Construction Guide
This guide consolidates information on constructing calibration targets for use with MetriCal, focusing specifically on target construction regardless of sensor modality or purpose.
Access Tangram Vision's target repository for easy-to-construct target templates.
Target Selection and Generation
Using Pre-made Targets (Recommended)
When using MetriCal, we generally recommend choosing from the premade targets in our target repository. Though it is possible to design your own targets with other tools, or repurpose targets that you may have used with other calibration software, using prebuilt targets helps prevent many common issues.
All targets in the premade target repository come with the object space file that was used to generate them, so they're guaranteed to be accurate. Additionally, the target repository includes a target selection wizard that helps you automatically select targets that are valid in combination with one another.
Target Selection Wizard
To use the target selection wizard:
- You'll need a system with Python 3 installed
- Download the target repository
- Run
python3 target_selection_wizard.py <OUTPUT_DIR>
- Follow the onscreen instructions
- When complete, the wizard will output PDFs of all chosen targets to the chosen output directory, as well as an object space json file that can be used directly with MetriCal
Target Type Considerations
When selecting target types, consider these factors:
-
Target Type:
- AprilGrid-style targets are preferred over Markerboard due to higher feature density per marker, which improves calibration quality
- Markerboard (ChArUco) targets might be preferred if you need the larger tag ID dictionary or to fit into an existing calibration pipeline
-
Target Size:
- Choose the largest target size that you can practically use
- Bigger targets are generally more advantageous for calibration quality
- They can be seen from farther away and by more cameras at once
- Once the target is big enough to exceed the FOV of your camera at the desired capture distance, there is much less advantage to increasing size further
-
Marker Density:
- Higher marker density creates more features for calibration but risks detection failures at higher distances or lower resolutions
- "Standard" density targets are a good default option
- "Sparse" density may be appropriate if using targets very far from your camera or with low-resolution cameras
- "Dense" density is suitable for close-range, high-resolution captures
- It's better to err on the side of more sparse - getting any detections is more important than maximizing the number of detections
- Aim for markers to always appear larger than 20px in your captured images
-
Lidar Compatibility:
- Lidar targets require a retroreflective ring that makes them detectable
- If using multiple lidar targets, the radius of each retroreflective circle must differ by at least 10cm
- You can mix lidar and non-lidar targets in your setup
-
Marker ID Offsets:
- Each target needs completely unique marker IDs
- The selection wizard handles this automatically
- If designing your own targets, you must ensure no ID overlap
Printing and Assembly
Printing Specifications
-
Find a print shop that can print targets of your chosen sizes
- For US-based customers, uprinting has been proven reliable
- Recommended printing substrates:
- Foam board (lighter, better for carrying during object-motion captures)
- Aluminum (more durable and easier to mount)
-
CRITICAL: Request that the print shop center the PDFs rather than scaling them at all
- Maintaining the exact scale of the final printed markers is extremely important for calibration accuracy
Assembling Lidar Targets
If you printed lidar targets, you'll need to apply retroreflectors to the printed yellow circle as a separate step:
- Use any retroreflective tape cut into small segments
- Apply carefully such that the yellow circle is covered as evenly as possible
- For premade lidar targets, Tangram offers precut, exactly-sized retroreflective stickers that are
easier to apply consistently
- Contact support@tangramvision.com for more details
Verification and Final Steps
Verify Measurements
After printing, measure your target to verify that it is correctly scaled:
- All premade targets have size info printed in the top left corner
- For AprilGrid targets:
- Measure one of the markers
- Ensure it matches the
marker_length
field
- For Markerboards:
- Measure one of the black squares
- Ensure it matches the
checker_length
Target Placement Considerations
When using multiple targets:
- Ensure their relative transforms remain constant for the duration of the calibration sequence
- Consider how to practically mount each target in a multi-target scenario
- Place targets such that there are times when multiple targets can be observed by the same sensor
Troubleshooting Target Issues
If you encounter the "No Features Detected" error (cal-calibrate-001), check the following:
- The measurements of your targets should be in meters
- The dictionary used for your boards, if applicable (e.g., a 4×4 dictionary has targets made up of 4×4 squares in the inner pattern)
- For Markerboards, verify your
initial_corner
is set to the correct variant ('Marker' or 'Square') - Make sure you can see as much of the board as possible when collecting your data
- Try adjusting your Camera or LiDAR filter settings to ensure detections are not filtered out
Custom Target Solutions
If you have unique constraints and feel that the premade targets are insufficient, contact support@tangramvision.com. Tangram Vision has designed and implemented custom target detectors for clients in the past and can help with special requests.