Calibration Graph Extrinsics Errors

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.10.0
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
2.1.0
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Issue Description
Hi,
I performed extrinsics and intrinsics static calibration using your tutorial and the calibration graph.
The external camera I used is a Canon EOS4000D which should qualify to your requirements. I made sure to keep it with the same settings the entire process and without AF.
When reviewing the log results, I see that I passed validation for the intrinsics entirely. However, for the extrinsics I have validation errors mostly for the special targets that I placed over the wheels (the A3 180-183 AprilTags).
I placed the special targets on the wheels center using a mechanical installation we made for them to be set at the center of the wheel.
My questions:

  1. Do I need to redo the whole calibration photo shoot? what influence does it have over the cameras extrinsics? The errors range from 5-11, I attach here the log.
  2. external.json - I didn’t add an external.json file to the directory. I couldn’t find one in the sdk data directory and wasn’t quite sure what it should contain. can you share an example? could this be the cause of the errors?

Thanks.

Logs
calibration_graph_log.txt (668.3 KB)

Could you point them to me in the log? Also, can you please share used the commands in the calibration process.

Hi,
These are the errors in summary (8 in total):

[16-02-2025 16:04:11] Error: Mean reprojection error (for target in image) (6.71024) is above error threshold (5)
[16-02-2025 16:04:11] - camera: camera_front_left
[16-02-2025 16:04:11] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/extrinsics/camera_front_left.png
[16-02-2025 16:04:11] - target: Target 93
[16-02-2025 16:04:11] - stats: Median=1.24875, mean=6.71024, var=395.179, std dev=19.8791, sample count=104, min=0.19161, max=144.347
[16-02-2025 16:04:19] Error: Mean reprojection error (for target in image) (8.0821) is above error threshold (5)
[16-02-2025 16:04:19] - camera: external
[16-02-2025 16:04:19] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/external/IMG_2366.png
[16-02-2025 16:04:19] - target: Target 183
[16-02-2025 16:04:19] - stats: Median=8.0092, mean=8.0821, var=0.580635, std dev=0.761994, sample count=36, min=6.71987, max=10.0206
[16-02-2025 16:04:49] Error: Mean reprojection error (for target in image) (6.78582) is above error threshold (5)
[16-02-2025 16:04:49] - camera: external
[16-02-2025 16:04:49] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/external/IMG_2327.png
[16-02-2025 16:04:49] - target: Target 183
[16-02-2025 16:04:49] - stats: Median=6.73192, mean=6.78582, var=0.920364, std dev=0.959356, sample count=36, min=4.69455, max=8.97584
[16-02-2025 16:05:00] Error: Mean reprojection error (for target in image) (6.65381) is above error threshold (5)
[16-02-2025 16:05:00] - camera: external
[16-02-2025 16:05:00] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/external/IMG_2318.png
[16-02-2025 16:05:00] - target: Target 90
[16-02-2025 16:05:00] - stats: Median=6.59979, mean=6.65381, var=10.1235, std dev=3.18175, sample count=140, min=0.854985, max=17.5533
[16-02-2025 16:05:00] Writing validation image /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/validation-IMG_2318.jpg
[16-02-2025 16:05:01] Error: Mean reprojection error (for target in image) (8.30993) is above error threshold (5)
[16-02-2025 16:05:01] - camera: external
[16-02-2025 16:05:01] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/external/IMG_2330.png
[16-02-2025 16:05:01] - target: Target 180
[16-02-2025 16:05:01] - stats: Median=8.15199, mean=8.30993, var=2.26836, std dev=1.50611, sample count=36, min=5.62857, max=11.1826
[16-02-2025 16:05:08] Error: Mean reprojection error (for target in image) (10.7606) is above error threshold (5)
[16-02-2025 16:05:08] - camera: external
[16-02-2025 16:05:08] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/external/IMG_2375.png
[16-02-2025 16:05:08] - target: Target 95
[16-02-2025 16:05:08] - stats: Median=10.6594, mean=10.7606, var=0.731453, std dev=0.85525, sample count=20, min=8.51258, max=12.536
[16-02-2025 16:05:21] Error: Mean reprojection error (for target in image) (7.75551) is above error threshold (5)
[16-02-2025 16:05:21] - camera: external
[16-02-2025 16:05:21] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/external/IMG_2329.png
[16-02-2025 16:05:21] - target: Target 180
[16-02-2025 16:05:21] - stats: Median=7.54504, mean=7.75551, var=2.71137, std dev=1.64662, sample count=36, min=4.66051, max=10.6561
[16-02-2025 16:05:26] Error: Mean reprojection error (for target in image) (6.23895) is above error threshold (5)
[16-02-2025 16:05:26] - camera: external
[16-02-2025 16:05:26] - image: /workspaces/ab_l2pp_dw/host/calibration_graph/rear-center-rear-left-front-left-pinhole/external/IMG_2358.png
[16-02-2025 16:05:26] - target: Target 180
[16-02-2025 16:05:26] - stats: Median=6.4703, mean=6.23895, var=0.933819, std dev=0.966343, sample count=36, min=4.24942, max=7.9082

I ran simply with this:

./calibration-graph-cli --dir=“$INPUT_PATH” --offscreen=1

Do I need to redo the whole calibration photo shoot?

No, but please make sure new images meet the requirements. 3.2.2 External Images

what influence does it have over the cameras extrinsics? The errors range from 5-11, I attach here the log.

Based on the log, some target reprojection mean value are above ERROR threshold 5. We can double check the image if the computed calibration is valid, follow 4.3.3 Extrinsic Calibration Validation

Can you provide any update here? Can we close this topic?