计算机应用   2017, Vol. 37 Issue (6): 1798-1802  DOI: 10.11772/j.issn.1001-9081.2017.06.1798
0

引用本文 

孔颖乔, 赵健康, 夏轩. 基于立体视觉的高精度标定与测量方法[J]. 计算机应用, 2017, 37(6): 1798-1802.DOI: 10.11772/j.issn.1001-9081.2017.06.1798.
KONG Yingqiao, ZHAO Jiankang, XIA Xuan. High-precision calibration and measurement method based on stereo vision[J]. Journal of Computer Applications, 2017, 37(6): 1798-1802. DOI: 10.11772/j.issn.1001-9081.2017.06.1798.

通信作者

赵健康, zhaojiankang@sjtu.edu.cn

作者简介

孔颖乔(1992—),女,江苏泰兴人,硕士研究生,主要研究方向:立体视觉、图像匹配;
赵健康(1966—),男,湖南益阳人,教授,博士,主要研究方向:无人机飞行控制系统;
夏轩(1987—),男,湖南湘潭人,博士研究生,主要研究方向:模式识别、卫星导航

文章历史

收稿日期:2016-11-07
修回日期:2017-01-13
基于立体视觉的高精度标定与测量方法
孔颖乔, 赵健康, 夏轩    
上海交通大学 仪器科学与工程系, 上海 200240
摘要: 立体视觉测量系统中,光学系统产生的畸变使目标的成像偏离了理论成像点,导致系统产生测量误差。针对提高系统测量精度的问题,提出一种基于立体视觉的测量方法。首先,根据标定板上各角点的像素分辨率,拟合整个成像平面的四次多项式,且多项式的系数与物体到相机的距离成比例;然后,应用双目测距原理,测量被测物体的纵向距离;最后,基于所得的多项式,应用单目相机测量待测物体的横向尺寸。实验结果表明,对于所提方法,当物体距离相机5 m以内时,其纵向距离误差可以减小到5%以内;当物体距离相机1 m时,其横向宽度测量误差在0.5 mm内,逼近理论最高分辨率。
关键词: 标定    像素分辨率    畸变方程    拟合    双目测距    单目测宽    
High-precision calibration and measurement method based on stereo vision
KONG Yingqiao, ZHAO Jiankang, XIA Xuan     
Department of Instrument Science and Engineering, Shanghai Jiao Tong University, Shanghai 200240, China
Abstract: In stereo vision measurement system, the distortion caused by the optical system makes imaging of target deviate from the theoretical imaging point, which results in measurement error of system. In order to improve the accuracy of the measuring system, a new measurement method based on stereo vision was proposed. Firstly, a quartic polynomial on the whole imaging plane was fitted through the pixel resolution of each angular point on the calibration board, the coefficient of the fitted polynomial was proportional to the distance from the object to the camera. Then, the longitudinal distance of the detected object was measured by using the measuring distance principle of binocular model. Finally, based on the obtained polynomial, the monocular camera was used to measure the transverse dimension of the detected object. The experimental results show that, when the distance between the object and the camera is within 5 m, the longitudinal distance error of the proposed method can be reduced to less than 5%. And when the object is 1 m away from the camera, the measurement error of transverse width of the proposed method is within 0.5 mm, which approaches to the theoretical highest resolution.
Key words: calibration    pixel resolution    distortion equation    fitting    measuring distance of binocular model    measuring size of monocular model    
0 引言

计算机视觉检测技术是一门新兴的测试技术,它利用光学或电子器件,基于生物视觉的某些功能,获取被测物体信息,完成对物体三维信息的实时检测。随着现代科学技术的发展,视觉检测技术在非接触测量检测这一领域占据了越来越重要的地位,在工业、医疗、航空等领域都得到了非常广泛的应用。

测量精度作为衡量检测技术的一个重要因素,与摄像机的标定误差及选择的测量方法等诸多因素有关。近年来,很多国内外学者都致力于尝试各种提高测量精度的方法[1-4]。传统标定方法[5-6]的优点是标定精度高,不足是标定过程复杂。自标定方法[7-8]仅依靠多幅图像对应点之间的关系直接进行标定,灵活性强但鲁棒性差。基于主动视觉的标定方法[9-11]通过自主控制摄像机做给定方式的运动来求解模型参数,计算简单、鲁棒性较高,但是需要使用高精度移动平台。

基于上述分析,本文提出了一种基于立体视觉的测量方法,根据采集的标定模板图像中各点数据建立一种新的相机畸变标定模型,使用单双目结合的立体视觉测量系统实现相机的高精度测量。标定模板采用普通的电脑液晶显示屏,无需专门制作,方便摆放和调整。

1 测量模型 1.1 双目视觉模型

双目视觉是根据人的双眼模拟的一种计算机视觉,模型[12]图 1(为双目横向平行对准模式),两个摄像机成像平面精确位于同一平面,光轴严格平行,距离一定,焦距相等。并且假设主点cxleftcxright已经校准,在左右图像上具有相同的像素坐标。通常情况下,成像模块的中心不在光轴上,引入cxcy来模拟图像中心可能的位移。

图 1 横向平行模式的双目视觉模型 Figure 1 Binocular vision model of parallel transverse model

为了定量描述该模型,定义了世界坐标系、相机坐标系和像素坐标系[13]。世界坐标系是任意定义的空间3D坐标系。相机坐标系以相机光心为坐标原点,通常以光轴方向为Z轴,且与像平面垂直,光轴与图像平面交点O为图像主点。像素坐标系是图像上的平面直角坐标系,一般以像素为单位,图像左上角为原点,像素坐标(x, y)分别表示该点在图像上的列数和行数。

P是空间一点,P在世界坐标系下的坐标为(X, Y, Z),在左右图像上的成像点为plpr,相应的横坐标分别为xlxr。取左边相机坐标系为世界坐标系O-XYZ,左边图像坐标系为Ol-xlyl,右边图像坐标系为Or-xryr。视差的定义为d=xl-xr,根据透视变化三角几何关系,可得:

$ {x^{\text{l}}} = {f_x}X/Z + {c_x} $ (1)
$ {{x}^{\text{r}}}={{f}_{x}}(X-T)/Z+{{c}_{x}} $ (2)
$ \frac{Z-f}{Z}=\frac{T-({{x}^{\text{l}}}-{{x}^{\text{r}}})}{T}\to Z=\frac{fT}{{{x}^{\text{l}}}-{{x}^{\text{r}}}} $ (3)

其中:f表示相机的焦距;T表示两相机之间的基线长。

根据式(3),深度与视差成反比,二者是非线性关系。当视差趋近于0时,微小的视差变动就会产生很大的深度变化;当视差较大时,细微的视差变动对深度几乎没有影响。因此双目视觉系统在物距较小时具有较高的精度。

实验中选用快速有效的块匹配立体算法实现将同一点在左右图中的成像精确匹配,该算法使用绝对误差累计(Summed Absolute Difference, SAD)的小窗口[12]来查找左右两幅立体校正图像之间的匹配,如式(4):

$ SAD(x, y)=\text{sum}|Left(x, y)-Right(x, y)| $ (4)

搜索范围内SAD值最小的窗口,即为左右图像的最佳匹配像素块。

1.2 单目测宽模型

图 2是相机的视角示意图,只要位于WZ′之间的物体都可以在传感器感光片上精确成像,图中$ \overrightarrow{\mathit{\boldsymbol{WC}}} $$ \overrightarrow {\mathit{\boldsymbol{Z'D}}} $形成的夹角是观察物体的最大角度范围,即视角。图中焦距为F mm,感光元件幅度为l mm,根据三角变化关系可以得到以下计算式:

$ \tan (\alpha /2)=l/(2F)\to \alpha =2\arctan (l/2F) $ (5)
图 2 单目成像范围 Figure 2 Range of single camera

分辨精度s表示像素点对应的实际物理宽度的大小,因而其计算式如下:

$ s=(2h\text{ }\!\!\cdot\!\!\text{ tan(}\alpha \text{/2)})/p=(2hl/(2F))/p=hl(pF) $ (6)

式中:s的单位为mm/像素;h表示物体与相机镜头的实际距离;p表示感光片长度方向上像素个数。

对待测物体的图像进行处理,统计所要测量的宽度的像素个数n,则物体的横向宽度W可由式(7) 计算得到:

$ W=ns=n\text{ }\!\!\cdot\!\!\text{ }hl/(pF) $ (7)
2 误差分析

在视觉检测系统中,测量精度是始终贯穿整个系统设计过程的关键指标,测量精度的高低决定了系统的应用场合及应用价值。系统的测量精度受多方面因素的影响,图 3着重分析了图像处理过程中几个关键步骤以及影响测量横向宽度和纵向距离精度的主要因素。

图 3 图像处理过程及影响检测精度的因素 Figure 3 Process of image processing and factors affecting the accuracy of detection

图 3可以看出,影响相机测量精度的因素有[14]:1) 客观物体本身参数或者特征的自然变化;2) 图像采集过程中各种因素的影响,主要是摄像机硬件参数的影响,包括镜头的畸变、相机的安装精度、物理焦距、基线以及电荷耦合器件(Charge Coupled Device, CCD)的尺寸和分辨率;3) 不同的测量方法和计算公式;4) 图像处理和分析过程中噪声等干扰的影响。

同时,由1.2节式(7) 可知,物体的横向宽度与物体到相机的实际距离成正比,因此,物体的纵向距离的测量精度也将显著影响横向测量精度。

由以上分析可以看出,影响测量系统精度的主要因素一部分来源于硬件,一部分来源于软件,其中,物体本身的参数和特征的自然变化是不可控因素。本文将着重在标定建模和测量方法上进行优化,摄像机的一些硬件参数,如镜头畸变、相机安装精度,以及一些软件方面的影响,如图像的预处理等,则不在本文论述范围之内。

3 高精度相机标定与测量 3.1 像素分辨率标定

经典的双目相机的标定,如Zhang标定法[5],是确定三维空间到二维平面点的映射矩阵的过程,投影矩阵由相机经过标定后获得的内外参数决定,内参指相机的畸变系数等参数,外参指相机坐标系相对于世界坐标系的旋转系数和平移系数。在物体视觉测量中,由于测量工件与标定物不在同一个成像平面内,为使成像更清晰,标定与测量时需分别在线微调,测量时系统发生调整,相机的参数需要再次标定,造成标定结果难以保持一致,而且标定繁琐、复杂度高。

基于机器视觉的图像处理是用像素个数换算出物体的实际尺寸,所以本文提出的标定模型将直接标定相机的像素分辨率,即像素与实际尺寸间的关系,测量结果是各个像素点分辨率的叠加,通过对像素分辨率的准确标定将极大地提高测量结果的精确度。

相机的标定采用标准件法,即把棋盘格两角点间的边长与相应的像素数进行比值,利用测得的数据进行整个平面的像素点分辨率的拟合。利用拟合的多项式计算相机的焦距等参数,进行物体距离与尺寸的测量。

整个实验系统的标定与测量流程如图 4所示。

图 4 实验的标定与测量流程 Figure 4 Process of experimental calibration and measurement
3.2 拟合标定模型

曲面的最佳拟合可以解释为数据点的误差平方和最小,当所用的拟合曲面被限定为多项式时,采用多项式的最小二乘拟合[15-16]。通常如Zhang标定法[5]建立三次多项式,精度有限,由此将对测量数据建立四次多项式的拟合模型:

$ f(x, y)=k(\sum{{{p}_{ij}}{{x}^{i}}{{y}^{j}}});\ \ i+j\le 4 $ (8)

如4.1节所述,系统纵向测距的精度目标为5%,横向测宽的精度目标为0.5 mm。实验数据表明,建立三次多项式模型,系统纵向测距精度为10%,横向测宽精度为1 mm以内,不能满足精度要求。4.2和4.3节将具体说明使用四次多项式模型时,纵向距离和横向宽度测量的实验数据。实验表明,建立四次多项式的拟合模型,测量精度有明显提升,且可以满足预期的精度要求。

同时高阶多项式会出现很差的数值特性,而且随着多项式阶次的提高,拟合曲面将变得不够光滑,因此在四次多项式模型满足要求的情况下,不选择阶次更高的多项式[17-18]

由1.2节中式(6) 可知像素点的分辨率不仅与相机的硬件参数如焦距、感光片上像素个数及感光片长度有关,还与测量中相机到待测物体的实际距离成正比。因此待测物体到相机的距离和标定的标准距离之间的比例系数,即是该距离处的像素分辨率方程所需乘的系数k

3.3 相机焦距标定

图 5中,曲线l是图像坐标y及深度Z固定时的一条分辨率拟合曲线,cx是图像中原点的偏移量,x1是点X在成像平面上的像素坐标,考虑到相机的畸变,四边形ABCD与矩形ABFE面积相等时,可以得到校正后像素坐标x

图 5 像素坐标校正 Figure 5 Correction of pixel coordination

根据1.1节提到的模型可以计算相机的焦距,由校正后图像上点的像素坐标为(x, y)、标准件的深度Z、实际长度(X, Y)及实际图像中原点的偏移量(cx, cy),可求得相机在xy方向上的焦距fxfy

$ \left\{ \begin{align} &{{f}_{x}}\text{=}Z\text{ }\!\!\cdot\!\!\text{ }(x-{{c}_{x}})/X \\ &{{f}_{y}}=Z\text{ }\!\!\cdot\!\!\text{ }(y-{{c}_{y}})/Y \\ \end{align} \right. $ (9)

其中:cxcy为3.2节拟合模型的中心点坐标。

4 实验方案及结果分析 4.1 分辨率模型

实验的主要目的有两个:一是验证方案中提出的检测方法的可行性;二是分析方法测量的精度。实验系统由一组双目相机组成,相机分辨率为1 920×1 080,焦距为15 mm,相机底片长为7.52 mm,基线长度为200 mm。该系统纵向测距的精度目标为5%,横向测宽的精度目标为0.5 mm。

棋盘格距离相机100 cm平行放置,保证棋盘格布满整个成像平面,采集图像,如图 6所示。按第3章所述方法进行相机标定,拟合模型如图 7所示,焦距标定结果为4 345像素。

图 6 采集的标定图像 Figure 6 Collected calibration image
图 7 像素分辨率拟合模型 Figure 7 Pixel resolution fitting model
4.2 双目测距

为了测试系统对障碍物距离的计算结果,即系统对目标距离的计算是否精确,将用双目在距离墙面1 m到5 m处进行测量,计算障碍物距离,与真实距离作比较。测量的结果由表 1给出,根据表 1看出,在物体与相机距离5 m以内时,测量误差在5%以内。

表 1 双目系统距离测量结果 Table 1 Distance measurement results of binocular system
4.3 单目测宽

为了测试系统横向测量的精度,将测量标尺任意一段的长度,与真实长度比较。为了去除纵向距离精度对横向宽度的影响,固定标尺与相机间的距离为1 m,该距离即为标定时的标准距离,因此四次多项式的比例系数为1,获取标尺一段两端的像素坐标,利用4.1节所获四次模型进行积分,计算长度。

根据1.2节式(6) 计算得此时实验系统的理论像素分辨精度为0.245 mm,选取标尺上任意一段进行测量,测量得到的结果如表 2所示,表中(x1y1)、(x2y2)分别代表选取的标尺上任意一段两端点的像素坐标。

表 2 横向宽度测量结果 Table 2 Measurement results of lateral width
4.4 实验结果分析

由4.2节和4.3节可以看出两种方法得到的检测精度均较高。

在对系统距离的测量中,经过分析发现:程序在计算视差时消耗了大量时间,为了提高系统的效率,需要降低摄像头的分辨率以及设置适当的视差参数。但是一个像素的偏移,就可能对应很远的实际距离,因此理论上摄像头的分辨率越高,系统的测距越精确。所以需要测距精度和算法运行时间直接达到一定平衡。

观察表 1,随着物体与摄像头距离的增加,系统对物体距离的测量误差也在不断增加。拟合发现误差与距离呈近似抛物线关系,这与双目系统测量距离的原理有关。物体的距离与物体在两张照片中的像素偏差成反比关系,当物体距离较远时,很大的距离移动仅对应很小的像素偏差,因此系统对远距离的物体灵敏度不高,再加上系统本身的像素不高,所以探测远距离物体存在一定困难。

在0.8 m到1.5 m的距离上对横向精度进行测量,如表 2所示,整体测量误差在0.3 mm左右,达到了0.5 mm的精度目标。同时,观察表中数据发现,当标尺位于图像四周边缘时,误差为负且较大;当标尺位于图像中间位置时,误差为正且较小。因此测量物体尺寸时可将物体放置于摄像机视野的中间位置,以提高测量精度。由分析可知系统的误差主要来自三个方面:

1) 纵向距离的测量。物体到相机的距离将决定拟合方程的系数,纵向距离的偏差将导致平面的像素分辨率多项式有所偏差。

2) 拟合模型本身的误差。计算单个像素的分辨率时采用的两点之间距离的平均值,以及进行拟合时进行了一定的优化处理都有可能引入误差。为了降低误差,可以使用更精确的标定板,在标定的时候,多采集图片,尽可能覆盖各个像素点,或者寻找更好的曲线拟合方式。

3) 相机像素。实验测量中手动提取标尺两端点的像素坐标,一个像素的偏移,就对应一定的宽度偏差,因此理论上需要提高提取像素坐标的精确度。

5 结语

本文利用多项式拟合的方法,提出了一种新的高精度相机标定模型,通过实验系统对测量数据进行标定校正,建立了整个视场像素分辨率的通用方程,并写入程序进行实时测量实验,双目进行物体纵向距离的检测,单目进行物体横向宽度的检测。实验过程中,标定模板采用普通的电脑液晶显示屏,无需专门制作,方便摆放和调整。实验结果表明,四次拟合方程能有效地提高物体测量的精度。但四次方程是否会给测量结果带来边缘大误差和误差传递累积,还有待进一步实验研究。同时,进一步提高提取像素坐标及远距离检测的精度,对实现高精度测量有重要作用,在以后的研究过程中也将进一步探究。

参考文献
[1] 曲学军, 张璐, 张凌云. 基于新的成像模型的摄像机标定与三维重建[J]. 仪器仪表学报, 2011, 32(8): 1830-1836. ( QU X J, ZHANG L, ZHANG L Y. Camera calibration and 3D reconstruction based on a new imaging model[J]. Chinese Journal Scientific Instrument, 2011, 32(8): 1830-1836. )
[2] MEI C, RIVES P. Single view point omnidirectional camera calibration from planar grids[C]//Proceedings of the 2007 IEEE International Conference on Robotics and Automation. Piscataway, NJ:IEEE, 2007:3945-3950.
[3] DANIEL H C, KANNALA J, HEIKKILÄ J. Joint depth and color camera calibration with distortion correction[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(10): 2058-2064. doi: 10.1109/TPAMI.2012.125
[4] 田原嫄, 黄合成, 谭庆昌, 等. 摄像机镜头畸变的研究[J]. 计算机工程与应用, 2009, 45(26): 49-52. ( TIAN Y Y, HUANG H C, TAN Q C, et al. Research on camera lens distortion[J]. Computer Engineering and Applications, 2009, 45(26): 49-52. doi: 10.3778/j.issn.1002-8331.2009.26.014 )
[5] ZHANG Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334. doi: 10.1109/34.888718
[6] 韦争亮, 钟约先, 袁朝龙, 等. 单摄像机单投影仪三维测量系统标定技术[J]. 清华大学学报(自然科学版), 2009, 49(2): 202-205, 209. ( WEI Z L, ZHONG Y X, YUAN C L, et al. Calibration of a 3D measurement system having one camera and one projector[J]. Journal of Tsinghua University (Science and Technology), 2009, 49(2): 202-205, 209. )
[7] 张虎, 达飞鹏, 李勤. 基于两相同圆的自标定方法[J]. 仪器仪表学报, 2010, 31(3): 618-624. ( ZHANG H, DA F P, LI Q. Self-calibration using two same circles[J]. Chinese Journal of Scientific Instrument, 2010, 31(3): 618-624. )
[8] 吴福朝, 王光辉, 胡占义. 由矩形确定摄像机内参数与位置的线性方法[J]. 软件学报, 2003, 14(3): 703-712. ( WU F C, WANG G H, HU Z Y. A linear approach for determining intrinsic parameters and pose of cameras from rectangles[J]. Journal of Software, 2003, 14(3): 703-712. )
[9] 张维忠, 赵志刚, 油世明, 等. 绕光轴旋转拍摄LCD上平面靶标实现相机标定[J]. 仪器仪表学报, 2011, 32(1): 120-125. ( ZHANG W Z, ZHAO Z G, YOU S M, et al. Calibrating camera using planar pattern on LCD with a rotating camera[J]. Chinese Journal of Scientific Instrument, 2011, 32(1): 120-125. )
[10] 裴明涛, 贾云得. 基于主动视觉的摄像机线性自标定方法[J]. 北京理工大学学报, 2006, 26(1): 27-30, 35. ( PEI M T, JIA Y D. Linear self-calibration technique based on active vision[J]. Transaction of Beijing Institute of Technology, 2006, 26(1): 27-30, 35. )
[11] 王琳, 赵健康, 夏轩, 等. 基于双目立体视觉技术的桥梁裂缝测量系统[J]. 计算机应用, 2015, 35(3): 901-904. ( WANG L, ZHAO J K, XIA X, et al. Bridge crack measurement system based on binocular stereo vision technology[J]. Journal of Computer Applications, 2015, 35(3): 901-904. doi: 10.11772/j.issn.1001-9081.2015.03.901 )
[12] BRADSKI G, KAEHLER A. Learning OpenCV:computer vision with the OpenCV library[M]. Sebastopol, CA: O'Reilly Media, 2008 : 124 .
[13] 张铖伟, 王彪, 徐贵力. 摄像机标定方法研究[J]. 计算机技术与发展, 2010, 20(11): 174-179. ( ZHANG C W, WANG B, XU G L. A study on classification of camera calibration methods[J]. Computer Technology and Development, 2010, 20(11): 174-179. )
[14] 史永杰. 高精度视觉检测系统的研究[D]. 长春: 吉林大学, 2007: 28-40. ( SHI Y J. Research on high precision vision inspection system[D]. Changchun:Jilin University, 2007:28-40. )
[15] 乔彦峰, 高峰端, 王志乾, 等. 基于三次拟合方程畸变校正的光电测量系统[J]. 光电工程, 2008, 35(6): 28-31. ( QIAO Y F, GAO F D, WANG Z Q, et al. Distortion correction for the photoelectricity measuring system based on the cubic fitting equation[J]. Opto-Electronic Engineering, 2008, 35(6): 28-31. )
[16] 陈岚峰, 杨静瑜, 崔崧, 等. 基于MATLAB的最小二乘曲线拟合仿真研究[J]. 沈阳师范大学学报(自然科学版), 2014, 32(1): 75-79. ( CHEN L F, YANG J Y, CUI S, et al. MATLAB simulation of curve fitting based on least-squares[J]. Journal of Shenyang Normal University (Natural Science Edition), 2014, 32(1): 75-79. )
[17] CHA Y, LEE G Y, KIM S. Image zooming by curvature interpolation and iterative refinement[J]. SIAM Journal on Imaging Sciences, 2014, 7(2): 1284-1308. doi: 10.1137/130907057
[18] VISHNUKUMAR S, NAIR M S, WILSCY M. Edge preserving single image super-resolution with improved visual quality[J]. Signal Processing, 2014, 105: 283-297. doi: 10.1016/j.sigpro.2014.05.033