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?