基于共线向量与平面单应性的双目相机标定方法 下载: 1038次
1 引言
作为视觉测量的核心技术之一,视觉测量系统中摄像机标定的精度直接影响测量结果的精度。摄像机标定的本质是:基于数学模型和几何关系,提取位于世界坐标系的3D对象和其位于图像平面或图像坐标系投影之间的量测信息[1-2]。在计算机视觉领域,近几十年来国内外学者对摄像机标定进行了深入的研究,提出了一系列经典的标定方法和工具。一般来说,摄像机标定可根据摄像机模型分为线性摄像机标定和非线性摄像机标定。线性摄像机标定忽略了镜头畸变的影响,标定精度较低。考虑了镜头畸变的影响的非线性摄像机标定是目前主流的标定方法。
非线性摄像机标定方法可分为两类[3-4]:1)基于极线约束的自标定方法,该方法无需预知目标的三维坐标,但是缺乏稳定性;2)传统的摄像机标定方法,该方法需要在摄像机视场中放置一个已知三维信息的靶标[5],然后根据摄像机参数模型推导出空间坐标系和图像坐标系之间的关系。Tsai[6]提出了一种基于径向约束的摄像机标定方法,利用径向不变性原理,先估计摄像机内部参数,再求解径向畸变系数,但该方法需要昂贵的三维靶标并且只考虑径向畸变的影响。针对这个问题,部分学者开始研究平面靶标方法,其中最具影响力的是Zhang[7]提出的平面靶标摄像机标定,将摄像机参数与镜头畸变系数进行非线性优化求解。其他学者基于该方法提出了一系列优化算法求解摄像机参数,以提高标定精度[8]。Heikkila[9]采用遗传算法对目标方程进行优化,降低了非线性优化陷入局部最优解的概率,从而提高摄像机标定性能。张敏等[10]提出基于直线特征的摄像机镜头畸变标定方法,该方法可以取得较高的标定精度
传统非线性标定方法对于单个相机标定具有很强的适用性,并且标定精度较高。但是对于双目摄像机标定非线性标定方法仍有不足,目前主流的双相机标定方法需要先对单个摄像机进行标定,再通过矩阵变换方式求解两摄像机间的旋转平移关系,并以此作为初值进行非线性优化,求得最终双相机内外参数。此过程非线性优化步骤过多、耗时较长,并且对于镜头畸变较大的摄像机,将摄像机线性参数和镜头畸变系数同时标定优化会导致非线性参数与线性参数的耦合,造成标定结果不准确。Ueshiba等[11]提出采用相关单应性矩阵方法进行多相机标定,提高了标定效率,但并没有考虑畸变的影响。
本文提出一种有效的双目立体摄像机标定方法,该方法将摄像机线性参数与镜头畸变系数分别标定,使标定结果更加稳定可靠。利用图像特征点之间的共线向量估计镜头的径向畸变系数。求出畸变系数后,校正原有图像,并将校正后的图像用于双目相机线性参数的标定,同步求解双相机内参和外参,无需像传统标定方法那样进行外参变换后再进行优化。相比传统方法,该方法运算速度更快,能够获得可靠的高精度标定结果,为双目摄像机标定提供了新的思路。
2 标定方法
2.1 摄像机模型
在三维空间中,平面可以由三个不共线的三维点
式中
不失一般性,如
2.2 镜头畸变模型
由于镜头畸变的客观存在,上述摄像机模型会出现几何失真,因此在实际摄像机标定中,必须选择合适的镜头畸变模型,并对镜头畸变进行校正。
镜头畸变中径向畸变通常起决定性作用。如果引入过多的畸变因素,精度可能不会提高,反而会导致数值解的不稳定,因而本文只考虑镜头一阶径向畸变的影响。摄像机的畸变模型为
式中
2.3 双目摄像机参数立体标定方法
由于存在镜头畸变的非线性因素,如果将镜头畸变与线性参数一起进行非线性优化求解,则非线性畸变对线性参数的影响较大。因此,本文先根据
2.3.1 镜头畸变系数估计
求解镜头畸变系数的目的在于找到实际摄像机图像平面与理想的小孔成像模型之间的转换映射。为求取镜头的畸变系数,需引入一个空间几何光学的基本特性:对于摄像机小孔成像模型,在不考虑镜头畸变的情况下,空间中位于摄像机视场内的一条直线在摄像机成像平面上的投影依然是一条直线。基于这个特性,实际中常使用空间共线点作为标记点进行镜头畸变系数的估计[12-13]。传统的非测量方法以斜率作为畸变测度,但是存在一些弊端,比如当直线接近垂直时,斜率过大造成溢出,且计算量也会偏大。周子卿等[14]提出了共线向量畸变系数标定方法,提供了新的畸变测量指标,但使用向量内积的计算过于复杂。
根据向量知识,如两个向量方向相同且共线那么它们的夹角应为0°。因此,对于直线上任意两点构造的向量,只要方向相同,则其夹角就为0°。因此共线向量夹角可作为畸变测度,实现简单,计算量小。
2.3.2 畸变参数求解
假设对靶标平面图像提取
建立畸变参数标定的目标优化函数:
用优化算法对(6)式进行求解,即可得到畸变系数
2.3.3 双目相机线性参数求解
由(3)式可得单应性矩阵:
式中
设
可以得到:
取
在求得
式中
2.3.4 非线性优化
设
式中
2.3.5 双目摄像机标定算法流程图
3 仿真和实验
3.1 仿真
假设两相机水平放置,间距150 mm。两相机内参矩阵相同,
图 4. 不同误差水平下的内参以及畸变误差。 (a) fx、fy误差;(b) u0、v0误差;(c) k1误差
Fig. 4. Internal parameters and distortion error at different error levels. (a) fx and fy error; (b) u0 and v0 error; (c) k1 error
图 5. 不同误差水平下的外参误差。 (a)平移误差;(b)旋转误差
Fig. 5. External parameter error at different error levels. (a) Translation error; (b) rotation error
图 6. 左右相机拍摄照片的重投影误差平均值
Fig. 6. Average of reprojection error of the images captured by left and right camera
3.2 实验
为验证本文方法的可行性和适用性,将该方法与张正友标定方法作比较。
在双目摄像机标定实验中,左右摄像机型号均为piA2400-17gm,分辨率为2400 pixel×2050 pixel。摄
像机镜头型号为M2514-MP2,焦距为25 mm,镜头视场角为80°。
在不同的角度、距离调整靶标板,左右相机同时对靶标板拍摄6张图片,靶标图片如
图 7. (a)双目视觉测量系统;(b)左相机拍摄靶标图;(c)右相机拍摄靶标图
Fig. 7. (a) Binocular vision measurement system; (b) target chart captured by left camera; (c) target chart captured by right camera
首先定义距离误差
式中
最大距离误差
使用两种方法标定的摄像机参数结果如
从
表 1. 本文标定方法与张正友标定方法的实验结果对比
Table 1. Comparison of the experimental results of proposed calibration method and Zhang’s calibration method
|
表 2. 两种方法距离误差比较
Table 2. Comparison of distance error between two methodsmm
|
图 8. 不同图片的双目标定耗时对比
Fig. 8. Comparison of consuming time in binocular calibration with different pictures
4 结论
提出了一种新的双目摄像机标定方法,先进行畸变系数的求解,再进行双目相机线性参数的求解,通过两次优化就能得到最终参数。该方法大大减少了算法的运算量,在时间花费上相对于传统标定方法具有较大优势。同时,在给定的实验条件下,标定精度略优于传统标定方法的标定精度。
[5] Ricolfe-Viala C. Sánchez-Salmerón A J. Robust metric calibration of non-linear camera lens distortion[J]. Pattern Recognition, 2010, 43(4): 1688-1699.
Ricolfe-Viala C. Sánchez-Salmerón A J. Robust metric calibration of non-linear camera lens distortion[J]. Pattern Recognition, 2010, 43(4): 1688-1699.
[6] Tsai R Y. An efficeint and accurate camera calibration technique for 3D machine vision[J]. Computer Vision and Pattern Recognition, 1986: 364-374.
Tsai R Y. An efficeint and accurate camera calibration technique for 3D machine vision[J]. Computer Vision and Pattern Recognition, 1986: 364-374.
[7] Zhang Z Y. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.
Zhang Z Y. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.
[10] 张敏, 金龙旭, 李国宁, 等. 基于直线特征的摄像机镜头畸变标定方法[J]. 光学学报, 2015, 35(6): 0615001.
张敏, 金龙旭, 李国宁, 等. 基于直线特征的摄像机镜头畸变标定方法[J]. 光学学报, 2015, 35(6): 0615001.
[11] UeshibaT, TomitaF. Plane-based calibration algorithm for multi-camera systems via factorization of homography matrices[C]. IEEE International Conference on Computer Vision, 2003, 2( 2): 966- 973.
UeshibaT, TomitaF. Plane-based calibration algorithm for multi-camera systems via factorization of homography matrices[C]. IEEE International Conference on Computer Vision, 2003, 2( 2): 966- 973.
[12] 周富强, 蔡斐华. 基于非量测畸变校正的摄像机标定方法[J]. 机械工程学报, 2009, 45(8): 228-232.
周富强, 蔡斐华. 基于非量测畸变校正的摄像机标定方法[J]. 机械工程学报, 2009, 45(8): 228-232.
Zhou Fuqiang, Cai Feihua. Camera calibration method based on non-metric distortion correction[J]. Journal of Mechanical Engineering, 2009, 45(8): 228-232.
[13] 周富强, 胡坤, 张广军. 基于共线特征点的摄像机镜头畸变校正[J]. 机械工程学报, 2006, 42(9): 174-177.
周富强, 胡坤, 张广军. 基于共线特征点的摄像机镜头畸变校正[J]. 机械工程学报, 2006, 42(9): 174-177.
Zhou Fuqiang, Hu Kun, Zhang Guangjun. Correcting distortion of camera lens with collinear points[J]. Chinese Journal of Mechanical Engineering, 2006, 42(9): 174-177.
[14] 周子卿, 赵鹏, 李勃, 等. 基于共线向量的非量测镜头畸变校正[J]. 光学学报, 2014, 34(10): 1015001.
周子卿, 赵鹏, 李勃, 等. 基于共线向量的非量测镜头畸变校正[J]. 光学学报, 2014, 34(10): 1015001.
[15] SturmP. Algorithms for plane-based pose estimation[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2000, 1: 706- 711.
SturmP. Algorithms for plane-based pose estimation[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2000, 1: 706- 711.
邹朋朋, 张滋黎, 王平, 汪启跃, 周维虎. 基于共线向量与平面单应性的双目相机标定方法[J]. 光学学报, 2017, 37(11): 1115006. Pengpeng Zou, Zili Zhang, Ping Wang, Qiyue Wang, Weihu Zhou. Binocular Camera Calibration Based on Collinear Vector and Plane Homography[J]. Acta Optica Sinica, 2017, 37(11): 1115006.