赵洪田
(四川大学计算机学院,成都 610065)
多目立体视觉(Multiple View Stereo,MVS)三维重建的目的是通过多幅图像恢复出场景的三维模型,它是计算机视觉领域中一个非常重要的研究课题,并已受到越来越多的关注。由文献[1]知MVS算法可以分为4类:基于体素的方法[2],基于特征点扩展的方法[3],基于表面演化的方法[4]和基于深度图融合的方法[5-6]。其中基于深度图融合的三维重建算法,先计算单张图片的深度图,然后利用每幅图像对应的摄像机参数还原三维模型,这类方法具有较高的灵活性,适合大多数场景的重建。
作为许多三维重建系统的重要组成部分,多视图立体匹配受到越来越多的关注[7-8]。在多视图立体匹配中优化方式可以分为局部优化、半全局优化和全局优化。基于局部的代价优化算法具有计算量小的优点,但往往是局部最优的,以致匹配结果精确度很低而不够可靠;基于全局的优化算法往往是基于复杂计算的优化(如置信度传播算法,图割算法),虽然可以获得比较理想的匹配结果、但是这些方法耗时、耗内存。文献[9]中提出了一种半全局匹配优化算法(SGM),通过在待匹配像素点多个方向上作动态规划来近似二维图像全局优化,确定最终视差。在构建能量函数,SGM引入平滑约束以保证整体匹配结果一致性,同时逐像素匹配,可以得到密集可靠的匹配结果。因此,我们可将此方法应用在多视图代价聚合中。另外,由于数据集存在规模巨大、尺度多变等特点,在进行多幅图像立体匹配时会更加繁琐,场景重建比较耗时。本文提出一种基于Plane Sweep框架的并行半全局深度图计算和优化方法,能比较高效地生成深度图以完成稠密三维重建。该系统输入为标准图像序列及该图像集对应的Bundler[10]标定结果,输出为3D模型稠密点云。
如图1所示,给定两幅图像,参考图P1和相关图P2,对应的摄像机为C1和C2。扫描平面簇为C1坐标系下不同深度的投影平面。每一扫描平面和P2可定义一个单应矩阵H,H把源图像P2平面的点集位置与成像仪平面的点集位置相关联。文献[11]将P1和P2对应摄像机参数分别定义为{K1,R1,C1}和{K2,R2,C2},并将C1所在的坐标定义为坐标系的原点,扫描平面法向量定义为nT={0,0,1},深度为d的扫描平面可表示为Dd={nT,d},可以得到:
由式(1)计算关于深度为d的扫描平面对应的单应矩阵Hd,P2上变换前的点xk经Hd变换到Dd上后记为yd,k,P1上相应位置上的点记为yk。
使用NCC来计算yd,k和yk间的相似度,并定义两个像素间的匹配代价为:
在图像集中为参考图选择多幅邻居图ρj(j=2,3,4,…,N),按照式(3)计算匹配代价得到ρj,最后定义在各扫描平面上像素匹配代价为:
图1 扫描平面变换过程
一般基于点之间的匹配很容易受噪声、光照变换等外部因素影响,且在以上计算时并没考虑到相邻像素间的制约关系,因此所得像素匹配代价精度并不高。故本方法接下来使用Semi-Global做优化。
(1)代价聚合
在待匹配像素p处沿着多个方向作动态规划,采用多个方向匹配代价聚合,一般选择8个或4个方向。由于是在不同的方向上进行搜索,相比较传统的动态规划方法,顺序性约束一般难以满足。因此,在此必须使用类似于扫描线最优算法,聚合方向如图2所示。
图2 聚合方向
由文献[9]知,对于像素p,在r方向上的匹配代价可以定义为:
式(5)中Cost(p,d)为Dd在像素p点由式(4)得到的Cost,ψ1和ψ2分别为惩罚系数。最后一项为防止累积匹配过大而减去上一像素点的最小优化代价。最后将各个方向上的优化代价相加,作为该点最终代价,实现代价聚合。
(2)深度赋值
在计算完S(p,d)后,为了减少优化复杂度,我们直接采用 Winner takes all(WTA)算法来选择最小深度值。
此外,在对匹配代价进行优化时,采取的是对每个像素单独处理,因此,在本处实现时,利用了GPU并行对算法进行加速,计算效率得到提升。
上述优化在能量优化过程中没有考虑异常值和遮挡问题,因此难以对遮挡区域赋予正确的深度值;同时不可避免的存在错误匹配值。针对上述存在的问题,我们可以通过中值滤波来过滤掉突变点;并通过图像一致性来检测遮挡和错误匹配,并将检测出来的点设置为不可靠深度点,最后通过线性插值来填补这些漏洞,以实现后续优化过程。
所提出的方法已经用C++和CUDA实现,其中Plane Sweep框架使用C++在CPU上实现,Semi-Global优化以及滤波这两个模块使用CUDA在GPU上实现,其余部分使用C++实现;并且在配有Intel Core i5-7300HQ CPU和8G RAM、NVidia GTX1050 GPU的PC上测试。实验中各参数设置分别为:扫描平面个数N=128,Semi-Global优化模块中num(r)=8,ψ1=0.04,ψ2=0.5,滤波窗口为3×3。并在4组相关数据集中测试,它们是Seitz等提供的ET,Kermit和两组户外采集的数据lion-p30和lion123。
为了展示本文方法在速度性能上的优越性,将和文献[6]中的同类深度图计算方法作比较,统计两种方法在相同条件下的重建耗时。图3为对比结果图,可以看出,本文方法在计算效率上表现出较大优势。
图3 本文方法和文献[6]时间对比
效果作展示,所用数据集为以上四组数据集。
图4 输入图像与对应的输出点云
针对大场景三维重建中多视图立体匹配的效率问题,提出了一种新的快速立体匹配方法。通过GPU并行处理解决了影响立体匹配速度的关键问题,并设计了一整套相关计算流程。通过和同类方法比较,验证了该方法的有效性。
最后我们将通过所提多视图立体匹配算法的重建
[1]Seitz S M,Curless B,Diebel J,et al.A Comparison and Evaluation of Multi-View Stereo Reconstruction Algorithms[C].Proceedings of 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.New York:IEEE Press,2006,1:519-528.
[2]Tabb A.Shape from Silhouette Probability Maps:Reconstruction of Thin Objects in the Presence of Silhouette Extraction and Calibration Error[C].Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition.Portland:IEEE Press,2013:161-168.
[3]Furukawa Y,Ponce J.Accurate,Dense,and Robust Multiview Stereopsis[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(8):1362-1376.
[4]Cremers D,Kolev K.Multiview Stereo and Silhouette Consistency Via Convex Functionals Over convex Domains[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(6):1161-1174.
[5]Shen Shuhan.Accurate Multiple View 3D Reconstruction Using Patch-Based Stereo for Large-Scale Scenes[J].IEEE Transactions on Image Processing,2013,22(5):1901-1914.
[6]刘怡光,易守林,吴鹏飞等.一种新的大场景三维重建算法[J].四川大学学报(工程科学版),2015,47(6):91-96.
[7]Furukawa Y,Ponce J.Accurate,Dense,and Robust Multiview Stereopsis[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(8):1362-1376.
[8]Bailer C,Finckh M,Lensch H P A.Scale Robust Multi View Stereo[C].European Conference on Computer Vision.Springer Berlin Heidelberg,2012:398-411.
[9]Hirschmuller H.Stereo Processing by Semiglobal Matching and Mutual Information[J].IEEE Transactions on Pattern Analysis and Machine intelligence,2008,30(2):328-341.
[10]Snavely N,Seitz S M,Szeliski R.Photo Tourism:Exploring Photo Collections in 3D[J].ACM Transactions on Graphics(TOG),2006,25(3):835-846.
[11]Shen Shuhan.Accurate Multiple View 3D Reconstruction Using Patch-Based Stereo for Large-Scale Scenes[J].IEEE Transactions on Image Processing,2013,22(5):1901-1914.