APP下载

基于立体匹配度局部峰值的尺寸测量方法

2016-12-22秦娟唐令

现代计算机 2016年32期
关键词:立体匹配视差视图

秦娟,唐令

(重庆大学计算机学院,重庆 400044)

基于立体匹配度局部峰值的尺寸测量方法

秦娟,唐令

(重庆大学计算机学院,重庆400044)

在双目测量技术中,针对采用计算视差图获取视差存在计算量大,稳定性差问题,利用立体图像上两个边界点实现物体尺寸的测量。为了准确获取视差,提出一种基于立体匹配度局部峰值的点匹配算法。该算法利用极线约束,先使用小窗口计算右视图上点的匹配度,得到匹配度图像,在匹配度图像上寻找若干峰值区域作为候选匹配集,再使用大窗口对候选匹配集计算匹配度,选择匹配度最大的点作为匹配点,从而确定视差。最终依据边界点的视差,实现物体尺寸的测量。实验结果表明,测量精度达2%,且速度快,成本低,操作简单,在实际测量应用中具有一定的可行性。

立体视觉;立体匹配;尺寸测量;相机标定

国家自然科学基金青年基金(No.61502060)、中央高校基本科研业务费(No.106112012CDJZR1810)

0 引言

双目立体视觉测量是一种被动式测量方法,它使用相机在两个不同位置对被测物体进行拍摄,利用两幅图像的视差重建物体的三维信息,从而实现物体尺寸的测量和空间位置的精确定位,在工业检测、机器人导航、农业采摘、医疗诊断等领域具有广泛的应用价值[1-4]。

在双目测量技术中,获取视差是测量的关键。为了获取视差,现有的测量方法广泛采用视差图的方式,计算视差图的方法主要有全局匹配算法[5]和局部匹配算法[6]。全局匹配算法通过最小化全局能量函数估计视差,计算时间较长。局部匹配算法通常采用基于滑动窗口计算匹配度,但是采用固定窗口大小容易因光照变化、局部纹理等产生误匹配,大窗口在物体边界区域匹配效果不好,而小窗口在低纹理或重复纹理区域容易产生误匹配[7]。因此,通过计算视差图的立体匹配算法易受处理器的运算速度、光照、物体纹理等因素制约,影响测量的实时性和精度。

针对采用视差图获取视差方法的局限性,考虑到物体尺寸测量只需要求出待测物体两个边界点的视差,不必求视差图,因此只需要求边界点的匹配点,从而减少计算量。同时,为了减小光照变化、局部纹理在立体匹配过程中的影响,提升测量的鲁棒性,本文提出了一种基于立体匹配度局部峰值的物体尺寸测量方法。该方法采用可变窗口寻找匹配点,先用较小尺寸的滑动窗口在右视图上计算极线上各个点的匹配度,得到匹配度图像,然后在匹配度图像上寻找若干峰值区域作为候选匹配集,再用较大的窗口对候选匹配集计算匹配度,并选择匹配度最大的点作为匹配点,从而确定视差。最终测量结果以匹配点为中心选取3×3邻域,用该邻域重建三维坐标,采用均值法对计算结果进行优化。实验结果表明,测量系统能适应一定范围的测量,且速度快,成本低,操作简单,在实际测量应用中具有一定的可行性。

1 测量原理及流程

1.1测量原理

双目立体视觉测量的基本原理[8]如图1所示,C1和C2分别为左右相机的位置,B为相机间的相对距离,称为基距,f为相机焦距,(cx,cy)为相片的中心。假定左右相机保持完全水平放置,同一时刻拍摄三维空间点P,可在左右视图上分别得到成像点p1(p1x,p1y),p2(p2x,p2y)。

图1 双目立体视觉测量模型

因为左右相机完全水平放置,对应点纵向位移相同,仅在横向坐标上存在差异,d=p1x-p2x,d即为视差。根据三角测量原理,在左视图中确定了某点p1坐标,只要能在右视图中确定其匹配点p2坐标,就可以依据如下三个公式恢复该点的三维空间点p坐标。对于待测物体的两个边界点,可以分别依据上述原理重建三维坐标,最后根据欧氏距离公式计算出物体的尺寸。

1.2测量流程

图2 测量流程图

(1)相机标定。利用立体相机拍摄多幅棋盘图像标定相机,确定相机的内参数矩阵K、外参数矩阵R和T、畸变系数矩阵D。本文采用张正友平面标定算法对相机进行标定。

(2)图像校正。利用立体相机拍摄待测线段ab,得到左视图I1和右视图I2,根据标定结果对I1和I2进行校正得到I1r和I2r,使得I1r和I2r的极线在一条水平线上。

(3)立体匹配。在校正后的左视图I1r上选取物体的两个端点a1和b1作为待匹配点,通过本文所提的点匹配算法在校正后的右视图I2r上找到匹配点a2和b2。立体匹配的结果对测量结果的影响至关重要,本文第三部分将详细介绍立体匹配的方法。

(4)度量重建。以匹配点为中心选取3×3邻域,用公式(1)-(3)对邻域点重建三维坐标,将空间点a及其周围的8个邻域点分别与空间点b及其周围的8个邻域点求空间距离,最后将其均值作为ab的空间长度SLab。

(5)计算尺寸,利用立体相机拍摄已知长度为ALcd的参照物cd,按照第2至4步,得到cd的空间长度SLcd。根据参照物的实际长度与空间长度的比例关系,计算比例因子s=ALcd/SLcd,从而计算待测物体的实际长度为ALab=SLab×s。

2 实现细节

2.1相机标定

用针孔模型[9]来描述三维空间中某一点M=(X,Y,Z)T投影在像平面上二维坐标点m=(x,y)T的关系,可表示为:

式(4)中λ为缩放因子,K为相机内参数矩阵,R 和t为世界坐标系到相机坐标系的旋转矩阵和平移矩阵。由于镜头存在畸变,使得实际成像点m'=(u,v)T和m=(x,y)T与存在一定的偏移,它们满足如下关系:

式(5)中r=x2+y2,k1,k2,k3,k4,k5,k6是径向畸变参数,p1和p2是切向畸变参数,fx和fy是相机的焦距,(cx,cy)是相片中心。

通过相机标定能够得到相机的内外参数,其精度直接影响系统测量的精度和稳定性。本文用立体相机在不同角度和距离下对棋盘图案拍摄立体图像对,采用张正友平面棋盘标定算法[10]对左右镜头标定,为了得到高精度的标定结果,具体标定步骤如下:

(1)立体图像对采集:在光照良好的条件下,使用立体相机在不同视角下对棋盘进行拍摄,保证棋盘所在平面与成像平面之间的夹角不要太大,距离不要太远,棋盘不能出图像边界。

(2)去除噪声大的立体图像对:加载所有图像对,在图像上找棋盘内角点坐标并绘制,观察绘制的结果,如果每对立体图像都能正确找到内角点,则用两个数组imagePointsLeft,imagePointsRight分别保存该立体图像对的左右棋盘图角点坐标,否则不保存。

(3)单相机标定:利用结果imagePointsLeft和imagePointsRight分别对左右相机单独标定,得到相机内参数矩阵K和畸变系数矩阵D。

(4)立体标定:利用结果imagePointsLeft、image-PointsRight、K和D计算相机外参数旋转矩阵R和平移矩阵T。

2.2相机校正

当三维坐标点经过透视投影变换成为一个二维平面坐标点,由于镜头存在畸变,使得成像点有一定的偏差,因此对待处理的立体图像对,需要校正二维坐标点后才能进行理论计算。立体校正的目的就是消除畸变,使得立体图像对满足极线约束。

根据标定结果:左右相机的内外参数、畸变系数,可采用Bouguet极线校正算法[11]得到行对准的校正旋转矩阵,确定校正后的投影矩阵P1和P2,通过P1和P2可对左右视图进行畸变校正和立体校正,图3为校正后的左右视图。

图3 校正后的左右视图

2.3立体匹配

立体匹配是双目测量技术中必不可少却又非常困难的一步,通过立体匹配可以得到待测点的视差。

由于物体边界区域纹理重复和相似,为了准确地获取边界点的视差,本文提出了基于立体匹配度局部峰值的视差计算方法。设I1r和I2r是极线校正后的左右视图,p1=(x1,y1)是左视图上的一个点,求p1在右视图上的匹配点p2过程如下:

(1)在左视图I1r中,以p1=(x1,y1)点为中心,选取窗口大小为(2r1+1)×(2r1+1)的邻域w1为搜索模板,取r1= 20的窗口如图4所示。

图4 待匹配点

(2)在右视图I2r中,依据极线约束对极线上的每个点p2=(x2,y2),以p2为中心选取窗口大小为(2r1+1)× (2r1+1)的邻域w2,根据w1和w2计算p1和p2的匹配度m(p1,p2),计算公式如下:

式(6)中dmin≤x2≤dmax,y2=y1,dmin是最小视差,dmax是最大视差,I1r(x1+i,y1+j)表示左视图上像素点坐标为(x1+i,y1+j)的灰度值,I2r(x2+i,y2+j)表示右视图上像素点坐标为(x2+i,y2+j)的灰度值。由式(6)可知,m(p1,p2)是关于p2的横坐标x2的函数,m(p1,p2)的值越大,表示p2和p1的匹配度越大。用图像Imatch表示m(p1,p2)与x2的关系如图5(a)所示,横轴表示x2的值,竖轴表示m (p1,p2)的值,Imatch称为p1的匹配度图像。

(3)采用基于连续小波变换(Continuous Wavelet Transform,CWT)的质谱峰检测算法[12]找出图像Imatch中的局部峰值区域,然后选择k个最小局部峰值区域构成一个候选匹配集。取k=8时得到的候选匹配集的横坐标值如图5(a)中黑点所示,对应在右视图中的匹配区域如图5(c)所示。

(4)改变窗口大小为r2,令r2≥2r1,分别计算p1与候选匹配集中所有点的匹配度,取最大匹配度所对应的点作为p1在右视图上匹配点p2。取r2=60的候选匹配集的匹配度结果如图5(b)所示,其中第六个点的匹配度最大,对应在右视图中的匹配区域如图5(d)所示,由图可知正确找到匹配点p2。

图5 立体匹配结果

采用该匹配算法,以水杯图像为例,在左视图中选择物体的两个边界点并连线,可以在右视图上准确找到匹配点,匹配结果如图6所示。

图6 立体匹配结果

3 实验结果

本文采用富士FinePix REAL 3D W3立体相机作为拍摄设备,用方格大小为22.25×22.25mm、长11宽6的棋盘格进行标定。标定时选择相机距离棋盘1米,1.5米,2米,3米和5米情况下从不同角度对棋盘进行拍摄共35组,去除噪声图像后把剩下的27组用于相机标定,得到相机参数矩阵K、D、R以及T如下所示:

根据标定结果,计算比例因子s=1.003,以水杯和消毒液瓶为实验对象,采用文中所提方法进行测量,结果见图7,测量结果与实际尺寸十分接近。

图7 测量结果

更多测量结果如表1所示,并与标尺测量方法精度进行了比较,结果反映了系统测量精度能达到一定范围的测量要求。

表1 测量结果

为了对比本文方法与采用视差图方法在获取视差上的差异,本文首先对比了目前常用的计算视差图的三种算法:BM(Block Matching)算法、SGBM(SemiGlobal Block Matching)算法和GC(Graph Cuts)算法。文献[13]实验结果表明在测量速度上BM>SGBM>GC,在测量精度上BM

随机在SGBM算法最好的视差图上获取10个点的视差,并与本文方法获得的视差进行对比,对比结果如表2所示。

表2 本文方法与SGBM算法获得视差的对比

注:标记为“-”的项目表示未计算出视差。

表2反映了本文方法获得的视差误差较小,能达到一定范围的精度要求,而视差图方法稳定性较差,不仅部分区域视差缺失,而且部分点的视差误差过大,故此将SGBM算法用于物体尺寸测量无法获得稳定精确的测量结果。并且SGBM算法需要计算左视图中所有点的视差,计算量较大,实时性不强,而本文方法只需要计算物体边界点的视差,极大地提高了计算速度。

4 结语

视差计算对于物体尺寸测量的精度有至关重要的影响,而正确的视差计算得益于精确的点匹配。由于测量过程是可受控的过程,因此通过控制拍摄条件可以减小光照和纹理单一区域对点匹配算法的影响。最终影响点匹配精度的原因主要是图像上的纹理重复和相似区域。本文提出的基于立体匹配度局部峰值的视差计算方法,可以很好的处理纹理重复和相似区域的匹配点计算,能够在多数情况下,较为准确的找到匹配点。同时相比计算视差图方法,计算量小,稳定性好。本文方法的精度依赖于匹配度计算中两次窗口大小r1和r2的选择,目前尚没有方法能够确定这两个参数。但在实际使用中,如果是对同一类物体在同一背景下进行重复测量(例如零件尺寸的测量),那么可以先对这两个参数进行调优,并在后续测量中反复使用。采用本文方法在测量物体时,只需要在左视图选定物体的两个边界点即可,操作简单,测量速度快,成本低,适合用于实际的测量应用。

图8 最大视差取值为160、320、480、560的视差图

[1]胡鹏程,郭焱,李保国,朱晋宇等.基于多视角立体视觉的植株三维重建与精度评估[J].农业工程学报,2015,11:209-214.

[2]Hsu T S,Wang T C.An Improvement Stereo Vision Images Processing for Object Distance Measurement[J].International Journal of Automation and Smart Technology,2015,5(2):85-90.

[3]欧巧凤,赵平均,熊邦书,涂晓衍,莫燕.基于立体视觉的旋翼共锥度动态测量系统精度分析[J].仪器仪表学报,2015(08):1692-1698.

[4]董峰,孙立宁,汝长海.基于双目视觉的医疗机器人摆位系统测量方法[J].光电子·激光,2014(05):1027-1034.

[5]Zhang S H,Qu X W,Ma S J,et al.A Dense Stereo Matching Algorithm Based on Triangulation[J].Journal of Computational Information Systems,2012,8:283-292.

[6]Xu L,Au O C,Sun W,et al.Stereo Matching with Optimal Local Adaptive Radiometric Compensation[J].IEEE Signal Processing Letters,2015,22(2):131-135.

[7]Zhang X,Liu Z.A Survey on Stereo Vision Matching Algorithms[C].Intelligent Control and Automation(WCICA),2014 11th World Congress on.IEEE,2014:2026-2031.

[8]曹之乐,严中红,王洪.双目立体视觉匹配技术综述[J].重庆理工大学学报(自然科学),2015,02:70-75.

[9]单宝华,袁文厅,刘洋.基于实心圆靶标的立体视觉系统三步标定法[J].光学学报,2016,09:1-13.

[10]赵斌,周军.基于改进棋盘的角点自动检测与排序[J].光学精密工程,2015,01:237-244.

[11]Bouguet J Y,Perona P.Camera Calibration from Points and Lines in Dual-Space Geometry[EB/OL].http://www.vision.caltech.edu/ bouguetj/calib_doc/.

[12]Du P,Kibbe W A,Lin S M.Improved Peak Detection in Mass Spectrum by Incorporating Continuous Wavelet Transform-Based Pattern Matching[J].Bioinformatics,2006,22(17):2059-2065.

[13]王浩,许志闻,谢坤,李杰,宋成璐.基于OpenCV的双目测距系统[J].吉林大学学报(信息科学版),2014(02):188-194.

[14]Banz C,Blume H,Pirsch P.Real-Time Semi-Global Matching Disparity Estimation on the Gpu[C].Computer Vision Workshops(ICCV Workshops),2011 IEEE International Conference on.IEEE,2011:514-521.

Stereo Vision;Stereo Matching;Dimensional Measurement;Camera Calibration

Length Measurement Based on Local Peak of Stereo Matching Value

QIN Juan,TANG Ling

(School of Computer Science,Chongqing University,Chongqing 400044)

In binocular measurement technology,because there is a large amount of computation and poor stability of the disparity map,to measure the length of an object by using two boundary points on stereo image.To obtain accurate parallax,proposes a stereo matching algorithm based on local peak of stereo matching value.Firstly,builds image with matching degrees,the method uses epipolar constraint to calculate matching degrees of the right image with a smaller window.Secondly,finds a number of peak regions as candidate matching set on the matching image.And calculates the matching degrees by using a larger window,and then selects the point of maximal matching degree as matching point.Finally,uses the parallax of boundary points to measure length of the object.Experimental results show that the measurement accuracy is 2%,and has certain feasibility in practical application with high speed,low cost,simple operation.

1007-1423(2016)32-0052-06

10.3969/j.issn.1007-1423.2016.32.012

秦娟(1990-),女,重庆人,硕士生,本科,研究方向为计算机视觉、计算机图形学

2016-09-09

2016-11-20

猜你喜欢

立体匹配视差视图
基于自适应窗的立体相机视差图优化方法研究
基于梯度域引导滤波的视差精炼迭代算法
5.3 视图与投影
视图
影像立体匹配中的凸优化理论研究
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
基于互补不变特征的倾斜影像高精度立体匹配
基于分割树的视差图修复算法研究
改进导向滤波器立体匹配算法