5 Biggest Calibration Mistakes
We have years of experience with camera calibration in industry. In fact, Calib.io has helped several thousand customers world wide achieve better camera calibration performance.
With many calibration customers supported over the years, we have noticed a few mistakes repeated again and again. Some online resources are even guilty of spreading these practices. Hence, here are the five biggest mistakes we see done with camera calibration.
1. Bad poses
Not all calibration images are equal.
Our aim in calibration is to collect data such that all free parameters are accurately estimated.
If the calibration target was never observed close to the image boundary, that part of the camera model is not well constrained.
If the calibration target was not tilted, focal length and principle point coordinates are not well constrained.
Solution: use a coded target. Ensure that some pattern poses have tilt (up to about 45 degrees) in both x and y. Ensure that the entire image area was covered evenly.
2. Using to many parameters
It may be tempting to use a flexible camera model. Users might enable many parameters in OpenCV (e.g. k1, k2, k3, p1, p2, s1, s2, s3, s4) to achieve low reprojection errors. This leads to overfitting, ie. the model is more flexible than can reliably be estimated with the given data. See Understanding parameter uncertainty and Understanding reprojection error for more details.
Solution: use parameter uncertainties and projection/triangulation error for model selection. Use a camera model as simple as possible. Compute RPE and acceptance metrics on independent test images.
3. Hand held targets
We have seen it many times, and the internet is full of them. But analysis most always shows severe issues from non-stationary targets or cameras, especially when stereo calibration is performed. Rolling shutter, motion blur, the slightest error in trigger synchronisation (microseconds) between stereo captures are enough to cause significant calibration inaccuracies.
Solution: Don't touch camera or target during exposure. Use proper mounting equipment for cameras and targets.
4. Insufficient lighting
The human eye is used to adapt to large changes in lighting. However, the dynamic range of cameras is quite limited in comparison. For highest sub pixel precision, and to avoid detection outliers, lighting should be as controlled, diffuse, and homogenous as possible.
Solution: Avoid sunlight and uncontrolled room lighting. Ideally, use photographic lamps with soft box diffusers.
5. Target too small
Unfortunately, many online resources are guilt of this. It is easy and convenient to print a calibration target on A4/letter. However, the individual observations of a small target add much less "value" to a calibration than a large, frame-filling target. This is because target poses themselves also need to be estimated. The amount of image area is smaller (distortion), and foreshortening is observed much less (focal length, principle point).
Solution: Get a rigid calibration target large enough to cover most of the image area at the camera's minimum focus distance. Keep the target as close as possible wrt focus. For multi-camera, large FOV calibration, consider individual intrinsic calibrations followed by extrinsic calibration, where compromises can be made.
Read our Calibration Best Practices article for more tips on acquiring good camera calibration data.
If you want to achieve best in class camera calibration, there are many things to consider. Talk to our experts for more tips and tricks and how to avoid common and not-so-common pitfalls in camera calibration.