While a large number of vision applications rely on the mapping between 3D world coordinates and their corresponding camera image coordinates, there appears to be a lack of literature guiding researchers on the requirements of performing an accurate camera calibration.
To address this need, we present a thorough study investigating the effects of training data quantity, pixel coordinate noise, training data measurement error, and the choice of camera model on camera calibration results. The results are first provided for a simulated camera system and then verified through carefully controlled experiments using real-world measurements. For these experiments, three of the most popular and representative camera calibration algorithms, Tsai and Heikkilä's world-reference based approaches and Zhang's planar calibration method were investigated.
The study includes a detailed comparison of various camera models, in order to determine the relative importance of the various radial and decentering distortion coefficients. Our results indicate that the second order radial distortion and the two decentering coefficients are by far the most significant in terms of effect on accuracy.
Through these experiments, we also found that Tsai's method yielded the most accurate results among the three methods when trained on data of low measurement error. This, however, is difficult to achieve in practice without an expensive and time-consuming setup. In contrast Zhang's method, although sensitive to noise in training data, takes advantage of planar constraints of the calibration pattern and requires only relative measurements between adjacent calibration points, which can be accomplished at very high accuracy with trivial effort. Thus, in the absence of sophisticated measurement apparatus, Zhang's calibration results may easily outperform those of Tsai.
Figure 1: Effect of pixel coordinate noise on calibration accuracy. Gaussian noise of zero mean and s between 0.02 and 1.0 pixels was added to the pixel coordinates of training data.
Figure 2: Effect of world coordinate noise on calibration accuracy. Gaussian noise of zero mean and s between 0.2 and 5.0 mm was added to the world coordinates of training data.
Figure 3: Effect of training data quantity on calibration accuracy. Checkerboard patterns containing between 3 and 24 grid corners were simulated for generating training data.
Figure 4: Calibration accuracy vs. distortion model used in calibration. Both 10 and 20 checkerboard patterns were simulated to generate training data, with Gaussian noise of zero mean and s = 0.5 pixels added to the pixel coordinates and Gaussian noise of zero mean and s = 0.5 mm added to the 2D world coordinates.
Figure 5: Training data for Tsai and Heikkilä's algorithms.
Figure 6: Training data for Zhang’s algorithm.
Figure 7: Testing data.
Figure 8: Effect of training data quantity on calibration accuracy.
Figure 9: Removing distortions from (a) original image using Zhang's model assuming (b) skewness γ= 0 and (c) γ=0 with (d) their difference, i.e. |(b) – (c)|, which is barely visible. Note that zero values are displayed as white background.
Figure 10: Removing lens distortions from (a) original image using distortion model (b) R1, (c) R2, (d) R1D2, (e) R2D2 and (f) R3D2. The differences of (b)(c)(d) and (e) with respect to (f) are shown in (g)(h)(i) and (j), respectively.