趙洪田
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
多目立體視覺(Multiple View Stereo,MVS)三維重建的目的是通過多幅圖像恢復(fù)出場景的三維模型,它是計(jì)算機(jī)視覺領(lǐng)域中一個(gè)非常重要的研究課題,并已受到越來越多的關(guān)注。由文獻(xiàn)[1]知MVS算法可以分為4類:基于體素的方法[2],基于特征點(diǎn)擴(kuò)展的方法[3],基于表面演化的方法[4]和基于深度圖融合的方法[5-6]。其中基于深度圖融合的三維重建算法,先計(jì)算單張圖片的深度圖,然后利用每幅圖像對應(yīng)的攝像機(jī)參數(shù)還原三維模型,這類方法具有較高的靈活性,適合大多數(shù)場景的重建。
作為許多三維重建系統(tǒng)的重要組成部分,多視圖立體匹配受到越來越多的關(guān)注[7-8]。在多視圖立體匹配中優(yōu)化方式可以分為局部優(yōu)化、半全局優(yōu)化和全局優(yōu)化?;诰植康拇鷥r(jià)優(yōu)化算法具有計(jì)算量小的優(yōu)點(diǎn),但往往是局部最優(yōu)的,以致匹配結(jié)果精確度很低而不夠可靠;基于全局的優(yōu)化算法往往是基于復(fù)雜計(jì)算的優(yōu)化(如置信度傳播算法,圖割算法),雖然可以獲得比較理想的匹配結(jié)果、但是這些方法耗時(shí)、耗內(nèi)存。文獻(xiàn)[9]中提出了一種半全局匹配優(yōu)化算法(SGM),通過在待匹配像素點(diǎn)多個(gè)方向上作動(dòng)態(tài)規(guī)劃來近似二維圖像全局優(yōu)化,確定最終視差。在構(gòu)建能量函數(shù),SGM引入平滑約束以保證整體匹配結(jié)果一致性,同時(shí)逐像素匹配,可以得到密集可靠的匹配結(jié)果。因此,我們可將此方法應(yīng)用在多視圖代價(jià)聚合中。另外,由于數(shù)據(jù)集存在規(guī)模巨大、尺度多變等特點(diǎn),在進(jìn)行多幅圖像立體匹配時(shí)會(huì)更加繁瑣,場景重建比較耗時(shí)。本文提出一種基于Plane Sweep框架的并行半全局深度圖計(jì)算和優(yōu)化方法,能比較高效地生成深度圖以完成稠密三維重建。該系統(tǒng)輸入為標(biāo)準(zhǔn)圖像序列及該圖像集對應(yīng)的Bundler[10]標(biāo)定結(jié)果,輸出為3D模型稠密點(diǎn)云。
如圖1所示,給定兩幅圖像,參考圖P1和相關(guān)圖P2,對應(yīng)的攝像機(jī)為C1和C2。掃描平面簇為C1坐標(biāo)系下不同深度的投影平面。每一掃描平面和P2可定義一個(gè)單應(yīng)矩陣H,H把源圖像P2平面的點(diǎn)集位置與成像儀平面的點(diǎn)集位置相關(guān)聯(lián)。文獻(xiàn)[11]將P1和P2對應(yīng)攝像機(jī)參數(shù)分別定義為{K1,R1,C1}和{K2,R2,C2},并將C1所在的坐標(biāo)定義為坐標(biāo)系的原點(diǎn),掃描平面法向量定義為nT={0,0,1},深度為d的掃描平面可表示為Dd={nT,d},可以得到:
由式(1)計(jì)算關(guān)于深度為d的掃描平面對應(yīng)的單應(yīng)矩陣Hd,P2上變換前的點(diǎn)xk經(jīng)Hd變換到Dd上后記為yd,k,P1上相應(yīng)位置上的點(diǎn)記為yk。
使用NCC來計(jì)算yd,k和yk間的相似度,并定義兩個(gè)像素間的匹配代價(jià)為:
在圖像集中為參考圖選擇多幅鄰居圖ρj(j=2,3,4,…,N),按照式(3)計(jì)算匹配代價(jià)得到ρj,最后定義在各掃描平面上像素匹配代價(jià)為:
圖1 掃描平面變換過程
一般基于點(diǎn)之間的匹配很容易受噪聲、光照變換等外部因素影響,且在以上計(jì)算時(shí)并沒考慮到相鄰像素間的制約關(guān)系,因此所得像素匹配代價(jià)精度并不高。故本方法接下來使用Semi-Global做優(yōu)化。
(1)代價(jià)聚合
在待匹配像素p處沿著多個(gè)方向作動(dòng)態(tài)規(guī)劃,采用多個(gè)方向匹配代價(jià)聚合,一般選擇8個(gè)或4個(gè)方向。由于是在不同的方向上進(jìn)行搜索,相比較傳統(tǒng)的動(dòng)態(tài)規(guī)劃方法,順序性約束一般難以滿足。因此,在此必須使用類似于掃描線最優(yōu)算法,聚合方向如圖2所示。
圖2 聚合方向
由文獻(xiàn)[9]知,對于像素p,在r方向上的匹配代價(jià)可以定義為:
式(5)中Cost(p,d)為Dd在像素p點(diǎn)由式(4)得到的Cost,ψ1和ψ2分別為懲罰系數(shù)。最后一項(xiàng)為防止累積匹配過大而減去上一像素點(diǎn)的最小優(yōu)化代價(jià)。最后將各個(gè)方向上的優(yōu)化代價(jià)相加,作為該點(diǎn)最終代價(jià),實(shí)現(xiàn)代價(jià)聚合。
(2)深度賦值
在計(jì)算完S(p,d)后,為了減少優(yōu)化復(fù)雜度,我們直接采用 Winner takes all(WTA)算法來選擇最小深度值。
此外,在對匹配代價(jià)進(jìn)行優(yōu)化時(shí),采取的是對每個(gè)像素單獨(dú)處理,因此,在本處實(shí)現(xiàn)時(shí),利用了GPU并行對算法進(jìn)行加速,計(jì)算效率得到提升。
上述優(yōu)化在能量優(yōu)化過程中沒有考慮異常值和遮擋問題,因此難以對遮擋區(qū)域賦予正確的深度值;同時(shí)不可避免的存在錯(cuò)誤匹配值。針對上述存在的問題,我們可以通過中值濾波來過濾掉突變點(diǎn);并通過圖像一致性來檢測遮擋和錯(cuò)誤匹配,并將檢測出來的點(diǎn)設(shè)置為不可靠深度點(diǎn),最后通過線性插值來填補(bǔ)這些漏洞,以實(shí)現(xiàn)后續(xù)優(yōu)化過程。
所提出的方法已經(jīng)用C++和CUDA實(shí)現(xiàn),其中Plane Sweep框架使用C++在CPU上實(shí)現(xiàn),Semi-Global優(yōu)化以及濾波這兩個(gè)模塊使用CUDA在GPU上實(shí)現(xiàn),其余部分使用C++實(shí)現(xiàn);并且在配有Intel Core i5-7300HQ CPU和8G RAM、NVidia GTX1050 GPU的PC上測試。實(shí)驗(yàn)中各參數(shù)設(shè)置分別為:掃描平面?zhèn)€數(shù)N=128,Semi-Global優(yōu)化模塊中num(r)=8,ψ1=0.04,ψ2=0.5,濾波窗口為3×3。并在4組相關(guān)數(shù)據(jù)集中測試,它們是Seitz等提供的ET,Kermit和兩組戶外采集的數(shù)據(jù)lion-p30和lion123。
為了展示本文方法在速度性能上的優(yōu)越性,將和文獻(xiàn)[6]中的同類深度圖計(jì)算方法作比較,統(tǒng)計(jì)兩種方法在相同條件下的重建耗時(shí)。圖3為對比結(jié)果圖,可以看出,本文方法在計(jì)算效率上表現(xiàn)出較大優(yōu)勢。
圖3 本文方法和文獻(xiàn)[6]時(shí)間對比
效果作展示,所用數(shù)據(jù)集為以上四組數(shù)據(jù)集。
圖4 輸入圖像與對應(yīng)的輸出點(diǎn)云
針對大場景三維重建中多視圖立體匹配的效率問題,提出了一種新的快速立體匹配方法。通過GPU并行處理解決了影響立體匹配速度的關(guān)鍵問題,并設(shè)計(jì)了一整套相關(guān)計(jì)算流程。通過和同類方法比較,驗(yàn)證了該方法的有效性。
最后我們將通過所提多視圖立體匹配算法的重建
[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].四川大學(xué)學(xué)報(bào)(工程科學(xué)版),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.