杨阳(四川大学计算机学院,成都 610000)
基于双目感知的立体视觉集成
杨阳
(四川大学计算机学院,成都610000)
计算机视觉技术在近年来得到了飞速发展,广泛应用于工、农、医、军领域,主要包括:军事沙盘应用,工业非接触测量检校,医学显微手术设备应用等。而基于其理论和算法的研究也在近年来逐渐深入。计算机视觉是一种实现计算机“看”的综合学科,涵盖了生物理论、神经科学、计算机科学、数学理论研究、机器智能等方向。其实现方法大致分为多视图立体视觉和双目立体视觉。多视图立体视觉主要采用围绕同一场景的多角度拍摄图像,进而从重复读较高的多幅图像中,获取场景三维信息的方法。而双目立体视觉,是采用双目摄像机,模仿生物眼睛工作原理,如图1所示。
图1 双目立体视觉工作原理模型图
左摄像机模仿左眼,获取场景偏左的信息,其图像整体偏右。而右边的摄像机主要模仿右眼的功能,获取场景偏右的信息,图像整体偏左。根据左右图像中重复场景信息的信息点的位置偏差,求得视差,进而得到视差图。视差图是三维重建中的必要信息,是得到三维场景立体信息的重要需求。根据所得视差图,建立立体信息,进而得到空间三维坐标,即点云。如图1所示:O1,O2是两个摄像机工作平面的光心,是摄像机内在参数;其中的P(x,y,z)是空间真实场景中的信息点;而P1,P2分别是物点在两个摄像机中对应的像点;两个光心之间的距离称为基线;两个对应像点之间的距离称为视差。有图可知,物点、像点对、光心之间的连线构成了一个三角形,使得所需要求的视差和基线及摄像机焦距等构成了数学上的三角关系,故而通过摄像机光心距离及摄像机焦距,可计算像点位移差值。具有“看”能力的计算机,因其强大的三维重建能力,得到了广泛的应用,也在科研领域得到了广泛的关注,国内外的科学家都在其领域做出很多贡献。
本文所述的基于双目感知的立体视觉集成框架,是基于人眼工作原理的双目视觉的扩充应用。其中包括的模块主要有:图像预处理、立体匹配、点云处理及显示。多模块的集成处理,使得从空间场景到最后的立体信息显示成为了可能。本文主要针对在框架设计中使用到的技术和原理进行简要介绍,为以后的研究提供理论依据和算法基础。
由双目摄像机获取的图像信息,会因外界环境的不确定因素,受到一定的干扰,故在进行三维重建前,需通过图像预处理,进行噪声的前期处理。图像预处理主要包括:图像平滑处理、图像锐化处理及图像区域分割。所谓平滑处理主要是采用3×3的窗口,使用中值滤波的方法,在原图像上,处理高频噪声,进而使得图像信息在三维重建前得到垃圾信息的过滤。而图像锐化处理主要是采用拉普拉斯变换操作,增大图像信息中的所需要的信息区域的信息强度,使其发挥更大的作用。而与此同时,区域分割主要使用设定的阈值,进行相应条件下的分割,得到预期的有效信息和无效信息的分离。
本文提出的框架中综合使用了图像预处理中的两项预处理技术。
首先采用图像平滑处理进行图像信息的高频噪声的去除,使得高频自然光和反光的影响得到改善,减少对立体匹配算法的影响,提高图像质量;然后使用图像锐化处理,进行图像信息中的物体边缘信息的微锐化,使得在重建中影响度较高的图像边缘具备较大的权值,方便之后的立体匹配操作的实施和三维重建的进行,使得框架工作速率得到一定的提升。
立体匹配问题是计算机视觉中的瓶颈问题,其算法的选择和优化,将直接影响计算机视觉整体的处理效果。所谓立体匹配,是通过算法进行左右图像中的对应像素点的搜索,进而完成视差计算,得到是插图。其简单工作原理模型图如图2所示:图中p0为原图像点,其坐标为(x1,y1),q0为待寻找图像中的测试点,其坐标为(x2,y2)。
立体匹配算法根据其工作原理可划分为特征匹配算法,区域匹配算法及相关算法。
其中的特征匹配算法,采用图像的局部信息特征,进行左图像和右图像间的像素点的对应寻找。该类算法的算法原理是基于局部特征,故其运算量较少,使得立体匹配的速度较快,可实现实时匹配。与此同时,特征匹配算法所得到的视差图,因其局部的特征所以较稀疏,最终重建的三维信息点云也相对较稀疏,所承载的空间三维信息不足,在很多实际应用场景中并不适用。
图2 局部立体匹配工作原理模型示意图
区域匹配算法又可进一步根据其搜索区域的大小划分为局部匹配算法和全局匹配算法。全局匹配算法是一种基于像素的匹配算法。图像信息随着其分辨率的增加,其像素信息量也随着增加,故基于像素级别的全局匹配算法的运算量庞大,但是其获取的视差图相对稠密,所承载的空间信息充足,典型的代表算法包括图割等。局部立体匹配算法根据其匹配区域选择方法可划分为自适应窗口匹配算法及自适应权值匹配算法等。其通过特定的窗口选择,进行区域的匹配,实现精度和速度的折中。
相关算法中较为熟知的算法包括:自相关算法、互相关算法及相位相关算法。
本文所述框架主要采用局部匹配算法中的典型算法基于窗口的相位相关算法。该算法采用图像信息的频域特征,进行特征匹配。图像信息的频域特征是图像信息的傅里叶变换后的的结果,以归一化互功率谱的形式呈现。频域信息的选择具有一定的优点,其承载的信息不仅包含图像的灰度信息,还涉及了图像的变换梯度信息,从横向和纵向两个维度进行信息的考量和比较,具有更强的实际应用价值。而互功率谱中的信息变化,会更贴近于真实图像中的匹配点的变化,其变化特征主要以峰值形式出现,最大值处即是所要找的匹配点处。
三维点云的处理显示可通过特别定制的软件进行操作,其操作流程简单,操作类别完善度较高,但缺点是集成能力不足。故本文所述框架选择近年来提出并流行的PCL(Point Cloud Library)点云库进行集成化处理,将基于双目感知的立体视觉系统的处理模块进行集成。PCL是基于C++进行研发的开源库,其中提供了关于点云的基础算法理论是实现,包括:点云预处理、点云滤波、点云融合、点云显示、点云表面网格形成等。基于PCL的平台集成研究,可在其基础理论和基础算法研究基础上,进行算法的改进,及根据实际场景的算法的选择。PCL的优点是开源,可通过其提供代码减少基础开发工作量,而将重心放到算法优化的领域。
PCL处理中较为重要的是点云的融合处理,即通过多个点云,进行点云的矫正和配准之后,实现多个同场景不同设备的点云之间的信息互补,去掉多余点云信息,并实现有效信息的交叉和互补。PCL中另外的开发点在于其界面信息处理和点云显示之间的融合,问题只在于如何多线程高速处理点云显示及相关操作。
根据算法概述,可知其操作流程图如图3所示。
基于双目感知的立体视觉集成,打破了原来的模块分离模式,实现了从二维图像获取到三维点云显示的一体式操作集成。在其算法和策略选择上,主要依据速度和质量双重选择标准。其集成本身需要数据输入和输出的一致性选择及传递,涉及到数据结构设计和点云结构设计,相应的结构转换需要设定特定的函数,最终实现一体化操作效果。但在基础算法选择方面,可在日后进行算法理论的进一步完善和整理,并在此基础之上进行算法和框架结构的优化开发。针对立体匹配算法的选择,应在以后的工作中扩充选择维度,使得在不同应用场景中各有长处的算法得到充分的利用,并提供可操作选择的参数窗口,使得算法的灵活性和可用性得到提升。
图3
[1]朱德海,郭浩,苏伟等.点云库PCL学习教程.北京航空航天出版社,2012-10-1
[2]马婷.点云数据的显示与配准,2007.
[3]J.Sun,N.Zheng,and H.Shum.Stereo Matching Using Belief Propagation.In ECCV,page II:510 ff.,2002.
[4]郭永彩,魏朋玉,高潮.采用多级动态规划实现立体匹配[J].光学精密工程,2009,17(7):1745.
[5]Achanta R,Shaji A,Smith K,et al.SLIC Superpixels Compared to State-of-the-Art Superpixel Methods[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(11):2274-2282.
[6]Thomas H.Cormen and Charles E.Leiserson.算法导论[M].潘金贵,顾铁成.北京:机械工业出版社出版,2006,324
Binocular Stereo Vision;Depth Map;the Point Cloud Processing;Stereo Matching
Stereo Vision Integration Based on Binocular Views
YANG Yang
(College of Computer Science,Sichuan University,Chengdu 610065)
1007-1423(2016)05-0063-04
10.3969/j.issn.1007-1423.2016.05.014
杨阳(1990-),女,黑龙江海伦人,硕士,研究方向为计算机视觉与图像处理
2015-12-22
2016-02-05
虽然计算机视觉的应用场景拓宽,关于双目视觉的算法和理论研究达到一定的深度。双目立体视觉感知是通过双目摄像机在接近平行且距离较近的位置上获取同一场景不同角度的图像,进而通过二维图像获取三维信息。基于双目视觉工作原理,提出一种综合的双目感知立体视觉集成框架,其中主要包括图像预处理模块,立体匹配算法模块、点云融合显示模块。在其使用算法方面进行简要介绍,并达到集成处理效果。
双目;立体视觉;深度感知;点云处理;立体匹配
As the application of computer vision scene is broad,the theoretical studies algorithms of binocular vision have achieved a certain depth. The binocular stereo vision is to access images in different perspectives on the same scene by binocular cameras at a close range and in parallel,and then obtain 3D information from 2D images.Puts forward a comprehensive binocular stereo vision integration framework based on the binocular visions,which includes image preprocessing module,stereo matching algorithm module,point cloud fusion and display module.Carries out the brief introduction of basic algorithms and achieves the integration.