OpenCV library offers a fisheye calibration method. I have looked at the code and looked at some papers and still don't understand how it works completely. The reason why I am interested is following:
I implemented the CV calibration and can calibrate my lenses fine other than the reprojection error. The reprojection error I get is 0.5px. I wish to know what I need to do change to go in the direction of further decreasing the error. And also how to go about reproducing an optimal calibration. There are many variable parameters. Like whether to use the chessboard or the blobs. Then the amount calibration images and the amount of points on the target along with their position and the target tilt. As the algorithm is doing some polynomial fitting the design of experiment comes to mind as well. So what can be optimized? What is the best algorithm and so on.
Anyways, some stackexchange user mentioned getting the reprojection error routinely down to under 0.1px.
I wish to get an error that small as well and to be able to write down and explain the method and its limitations. Maybe there is another more precise library or algorithm.