本博客主要从fisheye论文角度,详细介绍该内参模型。
参考论文:A Generic Camera Model and Calibration Method for Conventional, Wide-Angle, and Fish-Eye Lenses
本论文介绍了一种可以建模传统相机和鱼眼相机的通用的内参模型(radially symmetric projection model):Kannala Brandt 模型 / opencv中的fisheye / kalibr中的 pinhole + equidistant 都是指该模型。
成像示意如下:
In this paper, we concentrate on accurate geometric modeling of real cameras. We propose a novel calibration method for fish-eye lenses that requires that the camera observes a planar calibration pattern. The calibration method is based on a generic camera model that will be shown to be suitable for different kind of omnidirectional cameras as well as for conventional
cameras.
(1)透视映射无法将fisheye映射到有限的平面上
The pinhole camera model accompanied with lens distortion models is a fair approximation for most conventional cameras with narrow-angle or even wide-angle lenses [1], [6], [7]. But it is still not suitable for fish-eye lens cameras. Fish-eye lenses are designed to cover the whole hemispherical field in front of the camera and the angle of view is very large, about 180度. Moreover, it is impossible to project the hemispherical field of view on a finite image plane by a perspective projection so fish-eye lenses are designed to obey some other projection model.
This is the reason why the inherent distortion of a fish-eye lens should not be considered only as a deviation from the pinhole model [14].
Next we describe a procedure for estimating the parameters of the camera model. The calibration method is based on viewing a planar object which contains control points in known positions. The advantage over the previous approaches is that also fish-eye lenses, possibly having a field of view larger than 180度, can be calibrated by simply viewing a planar pattern. In addition, a good accuracy can be achieved if circular control points are used, asdescribed in Section IV-B.
It was originally obtained by capturing a single image of a calibration object consisting of two orthogonal planes, each with 256 circular control points. The camera.
[1] 鱼眼镜头是怎么「鱼眼」的
[2] opencv fisheye示例
[3] camodocal: fisheye内参估计算法复现(和本paper提供的算法不一致)
[4] kalibr: pinhole+equi表示fisheye