APP下载

基于双目立体视觉的三维重建

2015-05-15陈强

现代计算机 2015年2期
关键词:剖分双目三维重建

陈强

(四川大学计算机学院,成都 610065)

基于双目立体视觉的三维重建

陈强

(四川大学计算机学院,成都 610065)

三维重建是图像处理、计算机视觉、计算机图形学的一个重要研究领域。基于双目立体视觉的三维重建通过相机标定搭建一个对准的标准立体实验平台采集图像,进而对图像进行特征点检测与匹配找到待重建点,然后通过双目视觉原理计算三维坐标,最后进行纹理映射。根据真实图像的实验结果表明,具有较好的重建效果。

三维重建;双目立体视觉;相机标定;特征点检测与匹配;纹理映射

0 引言

双目立体视觉是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算两幅图像对应点间的位置偏差,来获得物体三维几何信息的方法。

双目立体视觉测量方法具有效率高、精度合适、系统结构简单、成本低等优点,非常适合于制造现场的在线、非接触产品检测和质量控制。对运动物体(包括动物和人体形体)测量中,由于图像获取是在瞬间完成的,因此立体视觉方法是一种更有效的测量方法。双目立体视觉系统是计算机视觉的关键技术之一,获取空间三维场景的距离信息也是计算机视觉研究中最基础的内容。

1 基于双目立体视觉的三维重建流程

基于双目立体视觉的三维重建的整体流程如图1所示,下面分别阐述各部分的原理。

1.1 相机标定

相机标定是整个基于立体视觉的三维重建的预备工作,标定结果的精度影响着最终的重建效果。双目摄像头标定不仅要得出每个摄像头的内部参数,还需要通过标定来测量两个摄像头之间的相对位置(即右摄像头相对于左摄像头的三维平移T和旋转R参数)。Bougue的MATLAB标定工具箱可以进行立体标定,标定物采用黑白棋盘格,如图2所示。

图1 三维重建流程图

图2 黑白棋盘格

具体标定过程如下:

(1)把MATLAB标定工具箱的文件复制到对应目录下,把左右摄像头获取的棋盘格图片序列也放到.m文件所在的目录下,然后在MATLAB命令行窗口打入calib_gui,选择Standard之后出现以下窗口,如图3所示。

图3 calib_gui面板

(2)先对右摄像头进行标定。点击Image names,读入右摄像头的棋盘格图像系列,然后点击Extract grid corners,提取每幅图的角点。提取每幅图的角点后,点击Calibration,开始摄像头标定,经过多次迭代后,程序最终得到摄像头的内外参数。

(3)验证标定结果无误后,点击面板上的Save按钮,保存标定结果。

(4)同理,对左摄像头进行同样的操作。

(5)左右摄像头都标定完成之后,就可以开始立体标定。在MATLAB命令行中键入stereo_gui启动立体标定面板,如图4所示。点击Load left and right calibration选择上面保存的左右摄像头标定结果之后就可以开始Run stereo calibration。

图4 stereo_gui面板

1.2 特征点提取与匹配

左右摄像头获取的待重建场景图像通过相机标定得到的旋转R和平移T参数进行校正,使得两幅图像的对级线恰好在同一水平线上,即两幅图像是行对齐的。

由双目立体视觉进行三维重建的第一步是寻找两幅图像中的对应点,目前有很多二维图像配准算法,例如SIFT、SURF等。OpenCV中的features2d库中包含了很多常用的算法,其中特征点定位的算法有FAST、SIFT、HARRIS等,特征点描述算法有SIFT、SURF等,还有若干种特征点匹配算法。这三个步骤的算法可以任意组合,选择较好的效果组合。

在匹配过程中需要有一些措施来过滤误匹配,一种比较常用的方法是比较第一匹配结果和第二匹配结果的得分差距是否足够大,这种方法可以过滤掉一些由于相似造成的误匹配。另一种可行的方法是利用已经找到的匹配点,使用RANSAC算法求得两幅视图之间的单应矩阵,然后将左视图中的坐标用单应矩阵映射到右视图,观察与匹配结果的欧氏距离是否限定在规定的阈值内。

1.3 计算三维坐标

图5 标准双目立体视觉实验平台

假设物理世界中的点P在行对齐的左右图像上的成像点为pl和pr,相应的横坐标分别为xl和xr,这使得深度与视差成反比关系,定义视差d=xl-xr。利用相似三角形很容易推导出Z值。由图5可知:

所以,假设目标点在左视图中的坐标为(x,y),在左右视图上形成的视差为d,目标点在以左摄像头光心为原点的世界坐标系中的坐标为(X,Y,Z),则存在变换矩阵Q,如下所示:

焦距f、两摄像头中心距Tx和左右摄像头的坐标系与立体坐标系中原点的偏移cx和cy可以通过立体标定获得初始值。使得:

三维坐标就是(X/W,Y/W,Z/W),即为三维坐标(X,Y,Z)的计算公式。

1.4 纹理映射

纹理映射是把二维的图像上的像素值映射到三维实体模型的对应顶点上,以增强实体模型的真实感。本质上是一个二维纹理平面到三维景物表面的一个映射。

为了处理三维点集的纹理映射,可以先对点集进行三角剖分,形成三角面片。点集的三角剖分对数值分析(例如有限元分析)以及图形学来说,都是极为重要的一项预处理技术。Delaunay三角剖分是个不错的三角剖分方法,有最大化最小角,“最接近于规则化的”的三角网和唯一性(任意四点不能共圆)两个特点。经典的Delaunay剖分算法主要有两类:

(1)增量算法:又称为Delaunay空洞算法或加点法,其思路为从一个三角形开始,每次增加一个点,保证每一步得到的当前三角形是局部优化的三角形。

(2)局部变换法:又称为换边或换面法,其思路为构造非优化的三角网,然后对两个共边三角形形成的凸四边形迭代换边优化。

其基本步骤为:

(1)获取点集坐标数组。

(2)获取点集外围边界。

(3)根据边界及内部点生成三角网。

OpenCV中实现了二维的Delaunay三角剖分,可以直接调用库函数。经过三角剖分的预处理后,就可以将平面图像中的三角面片逐个贴到计算出的三维坐标上,完成三维点集的纹理映射。

2 三维重建实验

左右摄像机采集的真实图像三维重建实验结果如图6所示。图6(a)为经过相机标定参数校正过的输入图像进行特征点匹配的结果。在纹理映射时对左图像进行的Delaunay三角剖分如图6(b)所示。最终在三维点集上进行纹理映射后的显示效果如图6(c)所示。实验结果表明基于双目立体视觉的三维重建具有较好的三维效果。

图6 真实图像的三维重建结果

3 结语

本文主要研究了基于双目立体视觉的三维重建的流程,并详细阐述了各个流程的实现步骤,最后对采集真实的图像进行了三维重建实验,验证了基于双目立体视觉的三维重建的可行性和正确性,可以有效地应用于各种可使用计算机视觉的应用中。

参考文献:

[1] 李先怡.特征点匹配技术在无人机影像匹配中的研究与应用[D].西安:西安科技大学,2011

[2] 李玲.基于双目立体视觉的计算机三维重建方法研究[D].武汉:武汉大学,2005

[3] 于仕琪,刘瑞祯.学习OpenCV(中文版)[M].北京:清华大学出版社,2009

[4] 马颂德,张正友.计算机视觉-计算理论与算法基础[M].北京:科学出版社,2003

[5] Faugeras O,Robert L,Laveau S.3D Reconstruction of Urban Scenes from Image Sequences[J].CVGIP,1998,69(3):292~309

[6] GAO Hong-wei,LI Bin,WU Cheng-dong,et al.An Improved Two-Stage Camera Calibration Method Based on Evolution Calculation [C].Proceedings of the 7th World Congress on Control and Automation,Chongqing,China,2008:8477~8482

3D Reconstruction Based on Binocular Stereovision

CHEN Qiang
(College of Computer Science,Sichuan University,Chengdu 610065)

3D reconstruction is one of the important research fields in image processing,computer vision and computer graphics.3D reconstruction based on binocular stereovision sets up a standard stereo experiment platform to collect images by camera calibration,finds reconstruction of point by feature point detection and matching,and does texture mapping.Experiment results of real images prove that it can achieve better reconstruction effect.

Three-Dimensional Reconstruction;Binocular Stereovision;Camera Calibration;Feature Point Detection and Matching;Texture Mapping

1007-1423(2015)02-0066-04

10.3969/j.issn.1007-1423.2015.02.017

陈强(1990-),男,湖北黄冈人,硕士,研究方向为图像处理

2014-12-09

2014-12-23

猜你喜欢

剖分双目三维重建
基于边长约束的凹域三角剖分求破片迎风面积
基于Mimics的CT三维重建应用分析
基于重心剖分的间断有限体积元方法
基于双目测距的卡尔曼滤波船舶轨迹跟踪
约束Delaunay四面体剖分
基于HALCON和VC++的双目机器人织物抓取系统设计
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
基于双目视觉图像的长度测量方法
多层螺旋 CT 三维重建在肋骨及软骨损伤中的诊断价值
多排螺旋CT三维重建在颌面部美容中的应用