mkarklins

- 15 Jan
- Joined Jun 22, 2023
- 1 best answer
- Edited
Hello!
I have an Oak-D Pro and I have been trying to calibrate camera for use with different VIO / SLAM algorithms. One such tutorial is here: https://qiita.com/nindanaoto/items/20858eca08aad90b5bab - where the author is using factory calibration data to perform the IMU-join calibration data.
Here's where I'm struggling. My factory calibration data looks like this using the:
depthai-python/examples/calibration/calibration_reader.py
LEFT Camera resized intrinsics... 1280 x 720 [[795.3659668 0. 653.66967773] [ 0. 795.3659668 360.73144531] [ 0. 0. 1. ]] RIGHT Camera resized intrinsics... 1280 x 720 [[789.00115967 0. 658.0480957 ] [ 0. 789.00115967 368.67788696] [ 0. 0. 1. ]]
When I use these intrinsics values for IMU-join calibration ( following the afformentioned tutorial ) the result is way off.
When I manually try to calibrate my camera, the results are OK-ish.
The intrinsic result I get for 1280x720 is:
cam0 ----- Camera model: pinhole Focal length: [811.8962838372775, 810.4322047467663] Principal point: [656.0834229398739, 376.7710308758311] Distortion model: radtan Distortion coefficients: [0.069472969088674, -0.18754302018957594, 0.0024136241550151085, -0.00315Spacing 0.026399999999999996 [m] cam1 ----- Camera model: pinhole Focal length: [816.3263890377958, 815.0146477608145] Principal point: [652.6114688673215, 373.6497129019477] Distortion model: radtan Distortion coefficients: [0.05571492389202615, -0.15299472983663712, 0.0012144375156622092, -0.0019
The reprojection error is within bounds:
I wanted to understand - why is there such a difference between the factory calibration intrinsics and the ones I get with manual calibration?