DOI: 10.11817/j.issn.1672-7207.2020.07.009
一种考虑成像特性的摄像机线性标定方法
张磊1, 2,汤小伟1,李红兵3,戴丽娟1, 4,姚阳1
(1. 南通大学 机械工程学院,江苏 南通,226019;
2. 约克大学 拉松德学院,加拿大 多伦多,M3J 1P3;
3. 上海交通大学 仪器科学与工程系,上海,200240;
4. 德州大学阿灵顿分校 心理系,美国 德克萨斯州阿灵顿,76019)
摘要:针对经典Faugeras线性标定方法求解时只当成一般数学问题,未利用相机特性,造成对有关参数约束过少而标定精度低的问题,提出一种利用相机成像特性的摄像机线性标定方法。该方法把图像中心作为主点位置,将与图像横、纵坐标相关的参数先分开求解一部分,再将剩余参数混合求解。研究结果表明:提出的线性标定法的精度相比于经典Faugeras线性标定方法有了很大提升,参数更为合理,因此,该方法可直接应用于标定要求不太高的场合;本文方法简单实时性高,可应用于需要实时估计标定参数的在线视频场合。
关键词:摄像机标定;线性标定;在线标定;离线标定
中图分类号:TB811 文献标志码:A
文章编号:1672-7207(2020)07-1832-10
A linear camera calibration method considering camera imaging characteristics
ZHANG Lei1, 2, TANG Xiaowei1, LI Hongbing3, DAI Lijuan1, 4, YAO Yang1
(1. School of Mechanical Engineering, Nantong University, Nantong 226019, China;
2. Lassonde School of Engineering, York University, Toronto M3J 1P3, Canada;
3. Department of Instrument Science and Engineering, Shanghai JiaoTong University, Shanghai 200240, China;
4. Department of Psychology, University of Texas at Arlington, Arlington 76019, USA)
Abstract: The classical Faugeras linear calibration method has few constraints in solution process. A new camera linear calibration method considering camera imaging characteristics was proposed. In the new method, the center of the image was taken as the center point of the optical axis; some parameters related to horizontal and vertical coordinates were solved separately; the rest parameters were solved by hybrid computation. The results show that compared with the classical Faugeras method, the proposed linear calibration method has much better accuracy and parameters are calibrated more reasonably. Therefore, it can be directly used in low demand cases. Owing to its simpleness and real-time performance, it can also be used in online calibration situation conveniently.
Key words: camera calibration; linear calibration; online calibration; offline calibration
摄像机标定是计算机视觉的一项重要任务,是建立目标物实际空间的三维信息和二维信息之间相互关系的重要手段,在测量学、三维重建、智能机器人、智通交通、保安监控等领域有着广泛的应用。近几十年来,人们对摄像机标定的研究主要分为2类:一类是基于靶标的摄像机标定;另一类是自标定。虽然摄像机自标定方法可以不使用靶标,但标定方法比较复杂,其最大缺点是受图像特征提取鲁棒性弱的影响,标定结果稳定性差,精度低。因此,基于靶标的传统摄像机标定仍然是主要应用方法。人们最早使用的基于靶标的线性标定法是基于摄像机的针孔线性模型,其他方法大多基于经典针孔线性模型发展而来。基于靶标的摄像机标定方法主要有线性标定方法、两步法和非线性优化方法等。ABDEL-AZIZ等 [1]运用直接线性变换法(direct linear transformation, DLT)将实际靶标上的点与图像上的点采用简单的线性映射表达,其缺点是有关参数缺少实际的物理意义,造成求解的参数在实际应用时价值不大,摄像机的众多物理量并未能得到,一般需进一步扩展求解。Faugeras标定法[2]是线性标定方法的经典代表,其基于最常见的针孔模型,可较方便地求解摄像机内外参数,至今仍是线性标定的常用方法,但该方法精度较低。TSAI[3]提出了两步法,比非线性优化法的耗时大大降低,在精度和速度上都获得提升,但该方法并没有对线性标定阶段进行改善,而且该方法需要较多预知的前提[3],有些前提不一定能得到满足;另外,Tsai标定法较多依赖后期非线性优化的效果。张正友标定法[4]核心是基于平面靶标的条件,使有关参数矩阵降维为单应矩阵,减少了参数求解的量。张正友标定法目前采用程序包封装,用户只需使用平面靶标简单放在摄像机若干位置,即可完成标定,标完过程方便快捷,该方法主要依靠多幅图像及非线性优化提高精度,在线性标定阶段未见证其优越性。其他研究大多是在这3类基本方法的基础上进行改进或后期依靠非线性手段优化来提高标定精度[5-15]。近期的研究有:WU等[9]讨论了畸变模型,从非线性畸变纠正的角度提高标定精度;ZHOU等[10]提出了在三维空间基于测量标定点与计算点距离最小化的非线性优化方法以提高精度,但是对在线性标定阶段进行改善的研究很少。线性标定阶段的结果对于后期的非线性优化仍然有较大影响,良好的初值有利于算法收敛到正确的结果,另一方面,当前交通保安视频监控、机器人视觉等领域应用相机拍摄时,焦距等参数随时改变,需要实时标定参数。张正友标定法等虽操作方便,但仍是基于离线标定方式,难以适应在线标定的场合。线性标定方法由于实现比较方便,且不依靠多幅图像的反复优化,一般由1幅图像便可当即完成标定,因此,线性标定适合保安监控、交通监控和机器人等场合,探讨精度高的线性标定方法有较强的实用性。ZHAO等[16]发现传统DLT方法容易引起参数间耦合误差而影响精度,从而提出了解耦措施以提高精度。然而,该方法过程复杂,不利于一般用户的理解与实现,体现不出线性标定的简便性。为此,本文作者根据经典Faugeras标定法存在的问题,提出一种精度较高的线性标定方法。该方法利用摄像机在成像上的特性,使得参数的求解受到更多约束,同时使部分参数的求解尽可能地避免非相关因素的干扰,提高了线性标定的精度。
1 Faugeras标定方法及其问题
1.1 传统的Faugeras标定法
FAUGERAS等[2]根据DLT线性模型,给出了内外参数进一步的求解方法。首先,建立靶标特征点的世界坐标和相应的图像坐标的模型:
(1)
式中:kx和ky分别为x轴和y轴方向的放大系数(单位为像素);(u0,v0)为光轴在图像坐标系中的坐标(单位为像素);zc为靶标(目标物)的特征点在摄像机坐标系的深度坐标(mm);(u,v)为特征点在摄像机图像坐标系中的坐标(mm);(xw,yw,zw)为特征点在世界坐标系中的坐标(mm);R为旋转矩阵;p为平移向量;和分别为内外参数矩阵,
(2)
有关详细解释可参见文献[17]。首先求解mij,消去式(1)的zc得:
(3)
对于n个在世界坐标系已知坐标的标定点,可得2n个方程构成的方程组如下:
(4)
式中:(ui,,vi)为第i个标定点的图像坐标;(xwi,ywi,zwi)为第i个标定点的世界坐标;i=1,2,…,n。
式(4)左右同除以m34,可简化表达为
(5)
其中:
。
由于向量B不含未知数m34,因此,可运用广义逆矩阵的解法,求最小二乘解,得
(6)
将式(2)表达为
(7)
式中:;为旋转矩阵R的行向量,;,和分别为平移向量沿世界坐标x轴、y轴和z轴位移分量,mm。
由式(7)可知:
(8)
设,由于已求出,根据式(8)得:。根据求出的与,便可完全解出,即
。
由式(7)可知:,于是。,其中,,和均为单位向量,可知:,。于是,,类似可得:。通过点乘可类似求解,,完整结果如下:
(9)
1.2 存在的问题分析
通过上述求解过程可发现:Faugeras方法未考虑摄像机特性,对于摄像机标定模型只当成一般数学问题求解,对参数的约束少,并且将不同参数过早混合求解,使得一些参数的求解受到了无关的已知参量的影响,易产生较大偏差,这些偏差在随后求解中会继续传递下去,使误差进一步加大,导致精度总体上偏低。研究发现,该方法只受到标定模型(线性方程)求解的最小二乘约束,使得有着类似约束性质的图像反投影法衡量的误差比较小,但并不能保证参数在合理范围内,有时参数偏离准确值很大,造成该方法实际应用受到限制。
2 考虑成像特性的线性标定法
为避免Faugeras方法的弊端,本文方法首先利用的成像特性是把图像中心作为主点位置,即认为u0和v0已知,可有效约束,避免其误差过大对其他参数求解的影响;其次,利用一些参数在成像上的关联特性,将与横、纵坐标分别相关的参数分开求解;最后,将剩余参数混合求解,避免了传统方法将所有参数过早混合求解易受不相关因素干扰的弊端。
本文方法仍然是基于式(1),(2),(3)和(7)。由式(3)发现:m14和m24是单独的,即世界坐标或图像坐标非其乘积系数,故
(10)
(11)
2.1 求解r1和r2
式(10)两边同除以,若有n个标定点,可形成如下线性方程组:
(12)
根据式(7)可知:。
令
(13)
式(12)可简化为向量与矩阵形式:
(14)
其中:为n×7矩阵;为n行的列向量。方程(14)只与u坐标有关。
运用广义逆矩阵的解法,求最小二乘解,得
(15)
由式(7)可知:。对于的每个分量,有,其中,i=1,2,3。因此,
(16)
由摄像机成像特点,u0可设为图像水平方向中心点,可以看成一个整体,记为,于是,
(17)
由于是单位向量,于是,
(18)
因此,
(19)
将代入式(17)即可得出。同理,根据v坐标求解出与。
2.2 求解,,和
由式(7)可知,再根据与式(16),得
(20)
因为为单位向量,可得
(21)
于是,可得
(22)
同理,由于
(23)
可得
(24)
(25)
2.3 求解tx,ty,tz
由于tz(即)与u,v均有关,需由2个方向综合求解,根据
(26)
(27)
列出超定方程组:
(28)
其中:,。
根据广义逆求最小二乘解:
(29)
根据式(26)和(27)更新,。然后,根据式(22)和(25)更新kx和ky以保证精度。由式(7)可知:,,故
(30)
2.4 求解
由式(20)与(23)可知,,,不仅与,和有关,而且与,和有关,因此,需要综合u方向和v方向的参数求解,减小整体误差。对于式(20)和(23)建立超定方程组:
(31)
其中:;;。
运用广义逆矩阵的解法,得最小二乘解:
(32)
综上可见,本文方法比Tsai标定法和张正友标定法更简便,比Faugeras方法略复杂,但约束比Faugeras方法的多,这有利于提高标定精度。
3 标定实验
3.1 实验基本条件设置
设计离线标定和在线标定2种标定实验。离线标定实验可比较不同方法的性能,借助Matlab R2014a编程实现;在线标定利用VC++6.0编程实现。实验选取1个三维立体靶标,靶标上3个相互垂直的面都帖着黑白棋盘,每个棋盘格长×宽均为50 mm×50 mm,图1所示为有关标定块在摄像机前的某姿态,图中坐标系为规定的标定块所在世界坐标系。本文方法与Faugeras方法类似,必须使用三维立体靶标,否则会引起式(14)中的Au为奇异阵而得不到正确解。摄像机采用专业数字摄像机SONY CCD SR-200AP-250AP/L(分辨率为640×480)和日常生活用单反相机Canon CMOS EOS 100D(分辨率为720×480)。
使用角点检测算法[18]提取标定点,得到角点图像像素坐标,每幅图像选取29个标定点(见图1)。由于噪声等因素影响,角点检测存在一定伪响应,个别角点的定位误差较大,故有时需手工修正有关角点检测的图像坐标。
图1 配置的三维标定块及其世界坐标系和角点检测结果
Fig. 1 Calibration configuration of 3D target and its corner detection
3.2 线性标定精度测试
3.2.1 线性标定精度测试方法
将图像中心点坐标作为主点坐标,对于分辨率为640×480的图像,u0=320像素,v0=240像素。实验中将标定块在多个姿态采集图像及其标定点坐标,如图2所示,要求3个标定平面都应在图像视野中显示,不能过于狭窄或被遮挡。标定点的世界坐标由图1获得。
图2 1X 焦距SONY CCD Camera拍摄的标定靶标10种姿态
Fig. 2 Ten poses of 3D target for calibration captured by SONY CCD camera with 1X Focus length
常见的误差测量方法[6,11,19]是利用解得的摄像机内外参数结合标定点坐标重新投影,即将这些求得的内外参数代入式(1),得到反投影的像素点坐标,与实测相应标定点图像坐标进行比较,计算两者的差值。采用图像反投影平均像素误差(简称反投影误差)衡量标定的精度。
(33)
其中:为反投影误差(单位为像素);为实际图像坐标(单位为像素);是计算出来的图像坐标,像素;N为选取标定点(角点)的个数。表1所示为2种方法的反投影误差对比。表1中图像6的内参数标定结果如表2所示。可见:Faugeras标定法的参数偏离参考值较多,而本文方法更接近由张正友方法得到的参考值。因此,用反投影图像误差来衡量线性标定的精度并不合理。
表1 SONY CCD 相机1X焦距下的标定结果反投影误差Err
Table 1 Mean image re-projection pixel errors for SONY CCD Camera with 1X focus length 像素
事实上,反投影误差只是一种衡量标定误差的指标,在该衡量方法下,Faugeraus方法误差小,这是因为Faugeraus方法基于整体的线性方程推导而来,而反投影法本身也是基于类似整体线性方程计算,但Faugeraus方法对每个参数缺少约束,使得标定出的每个具体参数精度不高。因此,本文采用相对误差法将标定值与准确值进行比较,即
(34)
其中:为内参相对误差;,,和为精确参考值;,,和为标定的内参数。
与线性标定法相比,非线性优化法可获得更精确的结果,因此,可作为线性标定的参考精确值。张正友标定法不适合于图2的标定,故使用张正友标定法的平面标定板,由MATLAB工具箱标定出有关结果。由于本文方法与张正友标定法的标定对象不同,因此,只能进行摄像机内参数标定结果的相对比较,式(34)只有内参数的计算。实验时需比较的数据在摄像机焦距不变的条件下获得。若摄像机焦距等条件改变,则归为不同组数据分别比较。
3.2.2 线性标定精度测试结果
图3所示为数字相机SONY CCD在不同焦距下的标定相对误差。图3与表1中的标定参数结果一样,但采用相对误差衡量,本文方法的结果比Faugeras方法的结果更稳定,误差更小。实验发现,虽然Faugeras方法的反投影误差小,但是其相对误差反而更大;而且个别参数如u0或v0偏离参考准确值较大,甚至可能为负值等离谱情况。表3所示为图3(b)中第4幅图像的标定结果。从表3可见:Faugeras方法虽然反投影误差小,但各参数偏差较大,尤其是u0明显偏离参考准确值。这说明反投影误差小并不代表Faugeras方法更好,因此,本文主要以相对误差来衡量不同线性标定方法的精度。
表2 表1中图像6的内参标定结果
Table 2 Intrinsic parameters output from image 6 of Table 1 像素
图3 SONY CCD相机在不同焦距下的不同方法标定相对误差
Fig. 3 of different calibration methods for SONY CCD camera with different focus lengths
表3 图3(b)中图像4的内参标定结果
Table 3 Intrinsic parameters output from image 4 of Fig.3(b)
图4所示为家用单反相机Canon CMOS EOS 100(分辨率调整为720×480)的标定相对误差。从图4可知,本文方法比传统Faugeras线性标定法具有明显高的相对误差,其更接近参考值。表4所示为图4中第5幅图的标定结果。表4所示结果表明,虽然本文方法反投影误差比Faugeras法的更大,但相对误差小很多,其明显比Faugeras方法的结果更接近参考准确值。
图4 Canon家用单反相机在35 mm中等焦距下的不同方法标定相对误差
Fig.4 of different calibration methods for Canon CMOS camera with 35 mm focus length
表4 图4中图像5的内参标定具体结果
Table 4 Intrinsic parameters output from image 5 of Fig.4
表5所示为不同组数据的平均相对误差以及总平均相对误差。从表5可以发现:本文方法的精度明显比Faugeras法的高,更接近参考准确值;对于不同的图像新方法的结果也更稳定,参数结果不会波动太大。这有利于新方法直接运用于要求不高的标定场合。
表5 不同线性标定方法平均相对误差
Table 5 Mean of different calibration methodsErip/%
3.3 在线标定实验
3.3.1 在线标定实验设置
利用图像采集卡及其配套提供的VC++例程改编实现在线标定实验,所接相机为SONY CCD SR-200AP-250AP/L。图5所示为所开发的图像采集与处理的实时视频画面,其中,kx和ky分别为1 519.147像素和1 360.910像素;(u0,v0)为(320,240);tx,ty和tz分别为-18.658,-124.363和981.092;。为了简便,手工指定某序列角点的世界坐标。由于视频中有太多伪角点、噪声以及光线总是变化,为提高角点检测的可靠性,只对指定区域(图5所示的绿色框)进行角点检测;同时规定只有检测出的角点如图中的序列才进行在线标定,否则不予标定。这样可保证规定顺序角点的图像坐标与预先规定的有关标定点世界坐标的对应性。
图5 本文方法在线标定实现界面
Fig. 5 Developed interface of online calibration by proposed method
3.3.2 在线标定实时性测试
图6 视频图像的在线标定执行时间
Fig. 6 Online calibration execution time of images
在线标定基于封闭解,无迭代过程没有耗时环节,但仍然需要测试每帧图像的耗时来确认其是否适合运用于实时的在线标定场合。图6所示为视频图像在线标定的耗时。从图6可发现,本文方法的线性标定耗时仅为0.68 ms左右。在线角点检测达到了160 ms左右,已远远超过在线标定时间。因此,本文方法的在线标定耗时可完全予以忽略,说明此方法非常适合于实时视频处理。
实验时,若微调焦距,图像在自动模式下只要重新对焦恢复到清晰画面,便可实时给出新焦距下的内参数与外参数。
4 结论
1) 提出一种考虑成像特性的摄像机线性标定方法。该方法充分考虑摄像机的特性,把图像中心作为主点位置,利用各参数在成像上的关联特性,求解时先将与横、纵坐标分别相关的参数分开求解,再将剩余参数混合求解,避免了传统方法将所有参数过早混合求解易受不相关因素干扰的弊端;此外,求解具体参数时有更多最小二乘约束。该方法求解的参数平均相对误差为7.53%,精度提升明显。
2) 本文方法不需要多幅图像优化,作为基于封闭解的线性标定法,由单幅图像可标定出所有内外参数,具有快速、方便的优点,可应用于在线实时标定场合,克服了Tsai方法和张正友标定法软件包目前只能进行离线标定的局限。
3) 本文方法因精度较高,实时性好,可直接应用于监控、机器人视觉等实时场合,具有重要的实际应用价值与推广意义。
参考文献:
[1] ABDEL-AZIZ Y I, KARARA H M. Direct linear transformation from comparator coordinates into object space coordinates in close-range photogrammetry[J]. Photogrammetric Engineering & Remote Sensing, 2015, 81(2): 103-107.
[2] FAUGERAS O, TOSCANI G. The calibration problem for stereo[C]// Proceedings of IEEE Computer Society Conference on Compute Vision and Pattern Recognition. Minmi Beach, Florida, USA, 1986: 15-20.
[3] TSAI R. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses[J]. IEEE Journal on Robotics and Automation, 1987, 3(4): 323-344.
[4] ZHANG Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.
[5] BAZARGANI H, LAGANIERE R. Camera calibration and pose estimation from planes[J]. IEEE Instrumentation & Measurement Magazine, 2015, 18(6): 20-27.
[6] SALVI J, ARMANGUE X, BATLLE J. A comparative review of camera calibrating methods with accuracy evaluation[J]. Pattern Recognition, 2002, 35(7): 1617-1635.
[7] 冯亮, 谢劲松, 李根, 等. 摄像机标定的原理与方法综述[J]. 机械工程师, 2016(1):18-20.
FENG Liang, XIE Jinsong, LI Gen, et al. Review of camera calibration principles and methods[J]. Mechanical Engineer, 2016(1):18-20.
[8] 龚思宇. 基于平面模板的摄像机标定及相关技术研究[D]. 长沙: 湖南大学电子与信息工程学院, 2017: 41-46.
GONG Siyu. Research on the camera calibration based on planar template and the related technology[D]. Changsha: Hunan University. Electronic and Communication Engineering School , 2017: 41-46.
[9] WU Yubin, JIANG Shixiong, XU Zhenkun, et al. Lens distortion correction based on one chessboard pattern image[J]. Frontiers of Optoelectronics, 2015, 8(3): 319-328.
[10] ZHOU Fuqiang, CUI Yi, PENG Bin, et al. A novel optimization method of camera parameters used for vision measurement[J]. Optics & Laser Technology, 2012, 44(6): 1840-1849.
[11] LU Y, FENG Jinliang, LI Zhaokun, et al. A new robust 2D camera calibration method using RANSAC[J]. Optik, 2015, 126(24): 4910-4915.
[12] 吴开华, 陈康. 轮对在线检测中Tsai异面标定算法研究[J]. 光电工程, 2015, 42(11): 1-7.
WU Kaihua, CHEN Kang. Tsai non-coplanar calibration algorithm of wheel set online detection[J]. Opto-Electronic Engineering, 2015, 42(11): 1-7.
[13] 徐杰. 机器视觉中摄像机标定Tsai两步法的分析与改进[J]. 计算机工程与科学, 2010, 32(4): 45-48, 58.
XU Jie. Analyzing and improving the tsai camera calibration method in machine vision[J]. Computer Engineering & Science, 2010, 32(4): 45-48, 58.
[14] 王金桥, 段发阶, 伯恩, 等. 线结构光扫描传感器结构参数一体化标定[J]. 传感技术学报, 2014, 27(9): 1196-1201.
WANG Jinqiao, DUAN Fajie, BO En, et al. Calibration of line structured light scanning sensor structure parameter integration[J]. Journal of Transduction Technology, 2014, 27(9): 1196-1201.
[15] 王建华, 冯帆, 梁伟, 等. 非线性模型下的摄像机标定[J]. 光电子技术, 2012, 32(1): 33-38.
WANG Jianhua, FENG Fan, LIANG Wei, et al. Non-linear model based camera calibration[J]. Optoelectronic Technology, 2012, 32(1): 33-38.
[16] ZHAO Zhenqing, YE Dong, ZHANG Xin, et al. Improved direct linear transformation for parameter decoupling in camera calibration[J]. Algorithms, 2016, 9(2): 31.
[17] 徐德, 谭民, 李原. 机器人视觉测量与控制[M]. 3版. 北京:国防工业出版社,2016: 35-45.
XU De, TAN Min, LI Yuan. Visual measurement and control for robots[M]. 3rd. Beijing: National Defense Industry Press, 2016: 35-45.
[18] 张磊, 张志胜, 史金飞, 等.一种快速检测图像角点特征的线搜索式方法[J]. 自动化学报, 2010, 36(4): 509-521.
ZHANG Lei, ZHANG Zhisheng, SHI Jinfei, et al. A new algorithm for fast corner detection using line search mechanism[J]. Acta Automatica Sinica, 2010, 36(4): 509-521.
[19] 刘博宇, 赵洋, 杨进华, 一种改进的摄像机线性标定优化方法[J]. 长春理工大学学报(自然科学版), 2016, 36(4): 91-96.
LIU Boyu,ZHAO Yang,YANG Jinhua. Improved camera linear calibration optimization method[J]. Journal of Changchun University of Science and Technology(Natural Science Edition), 2016, 36(4): 91-96.
(编辑 赵俊)
收稿日期: 2019 -09 -06; 修回日期: 2019 -12 -12
基金项目(Foundation item):国家自然科学基金资助项目(51505280);上海市自然科学基金资助项目(18ZR1421300);江苏省政府留学奖学金资助项目(2017, 2018) (Project(51505280) supported by the National Natural Science Foundation of China; Project(18ZR1421300) supported by the National Science Foundation of Shanghai; Projects(2017, 2018) supported by Government Scholarship for Overseas Studies of Jiangsu Province)
通信作者:张磊,博士,副教授,从事机器人视觉、触觉、机器人设计与控制研究;E-mail:zhangleint@ntu.edu.cn