Calibration for fisheye cameras

I got errors after running ./calibration-graph-cli for calibration with 5 cameras.

The following contents are part of the outputs from ./calibration-graph-cli for one of the 5 cameras, “camera-2”. camera-2 is a fisheye camera with 200 degree FOV.

Initializing intrinsics for camera camera-2
OcamCalib: initial calib
Closed form result: 960,604,748.143,0,0.00116037,-1.39637e-06,1.12313e-09, error: 1.78853e+12
OcamCalib: refine center
OcamCalib: new calib
OcamCalib: non-linear
OcamCalib: find inv poly
Final result: 1467.63,1173.37,1.23936,-0.195392,-0.0533503
: ,994.278,0,0.000497471,-4.4493e-07,7.50014e-11
: ,21843.8,-147760,470171,-841610,916638,-624321,260892,-61389.3,6244.63
Closed-form camera initialization:
center=1467.63,1173.37
affine=1.23936,-0.195392,-0.0533503
poly=[994.278,0,0.000497471,-4.4493e-07,7.50014e-11,]
inv poly=21843.8,-147760,470171,-841610,916638,-624321,260892,-61389.3,6244.63,]
reprojection error (libintrcalib)=19.2994
FOV: 132.716
Initializing poses for intrinsic constraints for camera camera-2
ERROR: reprojection error for intrinsic constraint is too large.
Stats: Median=nan, mean=15.2641, var=153, std dev=12.3693, sample count=16804, min=0.0226805, max=231.829

and

Refining intriniscs for camera camera-2
Error before: Median=nan, mean=15.2641, var=153, std dev=12.3693, sample count=16804, min=0.0226805, max=231.829
Note: fixing principal point, D, and E for ocam camera

Can anyone help with solving those errors? What are the causes of those errors? I followed the steps from the tutorial in the document.

Dear yz176,

According to the log, FOV is 132.716 however camera-2 has 200 degree FOV.
So could you please re-run intrinsic calibration for camera-2? Thanks.

Thank you Steve,

We recorded videos for intrinsic calibration several time, and ran the tool “calibration-intrinsics-constraints” several times. However, the estimated FOV for this camera is always around 140.

Is there any specific requirements for taking the videos? Or are there any specific requirements for the placements of the calibration boards?

Thank you!

Dear yz176,

Such an error would most probably occur if intrinsics are bad. The log indicated a FOV of 132deg for the camera, while you are talking about 200deg, so intrinsics are pretty bad. Note that you are using OCAM model could you please switch to f-theta model if possible? Thanks.

Thank you Steve,

f-theta model gives a estimation of 185.6 FOV, which is much better.

The reason that we applied OCAM model is that we used fisheye lens. And it seems like that driveworks used Scaramuzza OCAM model for intrinsic calibration if OCAM is selected. And Scaramuzza OCAM model should be good for fisheye lens.

Could you give me a clue why does f-theta model work much better here?

Thank you!

Dear yz176,

Please refer to the link for your question. Thanks.
https://devtalk.nvidia.com/default/topic/1063364/documentation-on-ftheta-camera-model