几何相机校准,也称为相机切除,估计图像或摄像机的镜头和图像传感器的参数。您可以使用这些参数来纠正镜头失真,测量世界单位中对象的大小,或确定摄像机在场景中的位置。这些任务用于检测和测量对象等机器视觉的应用中。它们也用于机器人,用于导航系统和3-D场景重建。
校准相机后可以做些什么:
相机参数包括内在,外在和失真系数。要估算相机参数,您需要具有3-D世界点及其相应的2-D图像点。您可以使用校准模式的多个图像获得这些对应关系,例如棋盘。使用相应关系,您可以解决相机参数。校准相机后,评估估计参数的准确性,您可以:
绘制相机的相对位置和校准模式
计算重注错误。
计算参数估计错误。
使用相机校准器要执行相机校准并评估估计参数的准确性。
计算机Vision Toolbox™包含针孔摄像机型号和Fisheye摄像机模型的校准算法。
针孔校准算法基于Jean-Yves Bougeet提出的模型[3]。该模型包括针孔相机模型[1]和镜头畸变[2]。针孔相机模型不考虑镜头失真,因为理想的针孔摄像头没有镜头。为了准确代表真正的相机,算法使用的全摄像机模型包括径向和切向透镜失真。
由于极端失真鱼眼镜片产生,针孔模型不能模拟鱼眼相机。有关使用Fisheye模型的相机校准的详细信息,请参阅Fisheye校准基础知识。
针孔相机是一个没有镜头的简单相机,单个小孔径。光线穿过孔径并在相机的相对侧投影倒图像。将虚拟图像平面视为在相机前面并包含场景的直立图像。
针孔摄像机参数以4×3矩阵表示,称为相机矩阵。该矩阵将三维世界场景映射到图像平面中。校准算法使用外在和内在参数来计算相机矩阵。外部参数代表3-D场景中相机的位置。内在参数表示相机的光学中心和焦距。
使用外在参数将世界点转换为相机坐标。使用内在参数将相机坐标映射到图像平面中。
校准算法使用外在和内在参数来计算相机矩阵。外部参数表示从3-D世界坐标系到3-D相机坐标系的刚性变换。内在参数表示从3-D相机的坐标进入2-D图像坐标的投影转换。
外部参数由旋转组成,R.和翻译,T.。相机坐标系的起源处于其光学中心及其X-和y-轴定义图像平面。
内在参数包括焦距,光学中心,也称为主点和歪斜系数。相机内在矩阵,K.,被定义为:
像素偏斜被定义为:
- 光学中心(主点),以像素为单位。 |
- 像素的焦距。 - 世界单位的焦距,通常以毫米表示。 - 世界单位中的像素的大小。 |
- 如果图像轴不垂直,则偏斜系数是非零。 |
相机矩阵不考虑镜头失真,因为理想的针孔摄像机没有镜头。为了准确代表真正的相机,相机模型包括径向和切向透镜失真。
当光线弯曲更靠近透镜的边缘时,发生径向畸变比在其光学中心的边缘靠近。镜片越小,失真越大。
径向失真系数模拟这种类型的失真。扭曲的点表示为(X扭曲那y扭曲):
X扭曲=X(1 +K.1*R.2+K.2*R.4.+K.3.*R.6.)
y扭曲=y(1 +K.1*R.2+K.2*R.4.+K.3.*R.6.)
X那y- 未置换的像素位置。X和y处于标准化的图像坐标。通过将识别像素坐标计算归一化图像坐标通过将光学中心转换并以像素以像素分开来计算。因此,X和y是无量纲的。
K.1那K.2, 和K.3.- 透镜的径向失真系数。
R.2:X2+y2
通常,两个系数足以校准。对于严重的失真,例如在广角镜头中,您可以选择3个系数以包括K.3.。
当透镜和图像平面不平行时发生切向失真。切向失真系数模拟这种类型的失真。
扭曲的点表示为(X扭曲那y扭曲):
X扭曲=X+ [2 *P.1*X*y+P.2*(R.2+ 2 *X2)
y扭曲=y+ [P.1*(R.2+ 2 *y2)+ 2 *P.2*X*y]
X那y- 未置换的像素位置。X和y处于标准化的图像坐标。通过将识别像素坐标计算归一化图像坐标通过将光学中心转换并以像素以像素分开来计算。因此,X和y是无量纲的。
P.1和P.2- 镜片的切向失真系数。
R.2:X2+y2
[1]张,Z.“相机校准的灵活新技术。”图案分析和机器智能的IEEE交易。卷。22,第11,2000,PP。1330-1334。
[2] Heikkila,J.和O. Silven。“具有隐式图像校正的四步相机校准程序。”IEEE计算机愿景和模式识别国际会议.1997。
[3] Bouguet,J. Y.“Matlab的相机校准工具箱。”加州理工学院的计算愿景。Matlab的相机校准工具箱。
[4] Bradski,G.和A. Kaehler。学习OpenCV:与OpenCV库的计算机愿景。塞巴斯托波尔,加利福尼亚州:O'Reilly,2008。