管陽
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院藝術(shù)與設(shè)計學(xué)院,陜西西安 710300)
據(jù)統(tǒng)計,人類83%的信息獲取來自于視覺。近年來,隨著計算機(jī)視覺的發(fā)展,三維重建技術(shù)(3D Reconstruction)取得了長足的進(jìn)步[1-4]。而室內(nèi)三維重建將現(xiàn)實的二維圖像通過圖像提取、特征提取及立體匹配(Stereo Matching)等流程轉(zhuǎn)化為計算機(jī)可投影的立體圖像,且在室內(nèi)設(shè)計領(lǐng)域得到廣泛的應(yīng)用。該技術(shù)在人體雙目線索感知距離原理的基礎(chǔ)上,利用計算機(jī)獲取三維信息。在實現(xiàn)三維重建的過程中,需借助兩個及以上的攝像機(jī)對同一物體從不同位置成像,再基于相機(jī)間的視差計算距離深度信息,進(jìn)而實現(xiàn)對物體的三維描繪。利用兩臺計算機(jī)對同一場景進(jìn)行像素點搜尋并獲取視差的過程,稱為立體匹配。傳統(tǒng)的立體匹配算法主要通過圖像特征線、掃描線等計算初始視差,同時基于能量函數(shù)的迭代實現(xiàn)最優(yōu)視差圖的搜索。但這類算法對于弱紋理、部分遮擋及深度不連續(xù)等特征的提取效率偏低,匹配精度也較差,故無法滿足三維重建的要求[5-11]。
基于上述分析,該文基于深度學(xué)習(xí)(Deep Learning,DL)網(wǎng)絡(luò)對傳統(tǒng)的立體匹配算法進(jìn)行了改進(jìn),并設(shè)計了一個用于代價匹配特征提取的計算網(wǎng)絡(luò),進(jìn)而避免了人工構(gòu)造匹配代價的繁瑣流程。同時還引入基于十字窗口的代價聚合方法(Cross-Based Cost Aggregation,CBCA),顯著提升了立體匹配算法的效果,為三維重建打下了堅實基礎(chǔ)。
室內(nèi)三維重建技術(shù)的基本原理如圖1 所示[12]。
圖1 三維重建基本原理
圖1 中,P為待成像的物體;Cl、Cr均為攝像頭,且二者的間距為b。記AlPl的距離為la,ArPr的距離為lb,PrB的距離為a,則根據(jù)相似三角形的幾何原理可得:
式中,攝像頭的焦距f、鏡頭間距b為已知量。式中以a、d為未知量,可求得:
式中,la-lb為左右相機(jī)間的視差,其描繪了圖像點P在兩個相機(jī)間的位置差異,而立體匹配就是在左右相機(jī)圖像間尋找對應(yīng)點的過程。
基于上述討論,得到三維重建的基本過程如圖2所示。
圖2 三維重建基本過程
其中,立體匹配是三維重建中最關(guān)鍵的步驟。由于三維場景在攝像機(jī)中被投影為二維圖像,故同一物體在不同視角感知下所得到的圖像也不盡相同。此外,其還會受現(xiàn)場光照、噪聲、畸變及攝像機(jī)特性等多重因素的干擾。因此,文中對立體匹配算法做了進(jìn)一步的研究。
立體匹配算法的輸出結(jié)果是視差圖[13-14],傳統(tǒng)算法的步驟主要包括匹配代價的計算、代價聚合、視差計算與視差優(yōu)化共四步。而傳統(tǒng)的誤差匹配算法面臨著物體遮擋、弱紋理區(qū)匹配誤差較大、深度不連續(xù)區(qū)視差不平滑以及物體邊緣模糊等問題。為了克服傳統(tǒng)方法的不足,該文采用深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行特征的提取與匹配代價的計算。具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 匹配代價提取網(wǎng)絡(luò)
由圖可知,網(wǎng)絡(luò)對于數(shù)據(jù)集中的左、右圖像分別建立了結(jié)構(gòu)對稱的深度學(xué)習(xí)網(wǎng)絡(luò)。且兩個網(wǎng)絡(luò)間權(quán)值共享,并主要通過卷積運(yùn)算、ReLU 函數(shù)來獲得初始的匹配代價:
其中,Gw(X1)、Gw(X2)分別為卷積網(wǎng)絡(luò)輸入的特征向量,Ew()
X1,X2為相似度判別函數(shù)。卷積運(yùn)算與ReLU 函數(shù)的計算方分別如下所示:
式中,A、B為參與卷積的矩陣,Mr、Mc為矩陣的行、列。由于視差圖的像素點并非獨立分布的,所以為了在立體匹配過程中計算像素點間的關(guān)聯(lián)性,該文在代價聚合時引入了一種十字窗口聚合法,具體如圖4 所示。
圖4 十字窗口代價聚合
對于圖4 中的十字窗口,任意像素點p的臂長約束條件為:
式中,I為像素強(qiáng)度,τ和L1分別為像素強(qiáng)度、像素間距的閾值。根據(jù)該約束條件,可得到范圍為d的十字窗口聯(lián)合支持域Ud(p)為:
式中,UL為左圖支持域,UR為右圖支持域。對該區(qū)域內(nèi)所有像素點進(jìn)行代價聚合C+的方式如下:
其中,CCNN()為深度學(xué)習(xí)網(wǎng)絡(luò)的代價函數(shù)。
為了保證算法的訓(xùn)練效率,避免模型的過擬合,引入了一種基于自適應(yīng)矩陣估計的適應(yīng)性矩估計(Adaptive moment estimation,Adam)優(yōu)化方法進(jìn)行訓(xùn)練迭代:
式中,mt為t時刻的一階矩陣估計,vt為二階矩陣估計,gt為損失函數(shù)的梯度,βi是矩陣估計量的衰減因子。使用衰減因子修正后的矩陣估計為:
從而得到最終的參數(shù)優(yōu)化方式如下:
式中,θ為模型參數(shù),η為訓(xùn)練過程中的基礎(chǔ)學(xué)習(xí)率,ε為矯正因子。
該文評估算法性能時,使用了立體匹配算法常用的公開數(shù)據(jù)集Flyingthings3D[15-16]。該數(shù)據(jù)集的具體參數(shù)如表1 所示。
表1 Flyingthings3D具體參數(shù)
為評估立體匹配算法的性能,使用誤匹配率(SPBM)、平均絕對誤差(SMAE)與均方誤差(SMSE)作為評價指標(biāo)。這三個指標(biāo)的定義分別如下:
式中,dc為算法輸出的視差圖,dT是實際的視差圖,且視差圖的像素點均為N,δ為統(tǒng)計過程中使用的誤差閾值。該文所使用的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表2所示。
在對網(wǎng)絡(luò)進(jìn)行訓(xùn)練時,采用Adam 優(yōu)化方法,同時引入了批處理策略,且批處理大小為256,訓(xùn)練的目標(biāo)誤差為10-8。此外,為了避免訓(xùn)練過程中出現(xiàn)過擬合,網(wǎng)絡(luò)學(xué)習(xí)率采用了上文所述的動態(tài)調(diào)整策略,各階段的基礎(chǔ)學(xué)習(xí)率如表3 所示。
為了提升網(wǎng)絡(luò)的訓(xùn)練效率,并對其進(jìn)行合理的評估,實驗環(huán)境如表4 所示。
圖5 給出了數(shù)據(jù)集中部分圖像在表2 網(wǎng)絡(luò)下的立體匹配效果,其中左側(cè)為同一組,而右側(cè)為另一組。從圖像匹配效果看,該算法輸出的視差圖與真實圖基本一致,且無明顯的視覺差異。
表2 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
表3 各階段基礎(chǔ)學(xué)習(xí)率
表4 算法仿真軟硬件環(huán)境
為了進(jìn)一步測試所提算法相較于現(xiàn)有模型的性能差異,將其與當(dāng)前主流的立體匹配算法EDP(Edge-aware Disparity Propagation)、多通道卷積神經(jīng)網(wǎng)絡(luò)(Multi-Channel CNN,MC-CNN)等算法進(jìn)行了對比。以數(shù)據(jù)集中某圖像的匹配為例,利用三種算法分別進(jìn)行訓(xùn)練,效果如圖6 所示。
圖5 部分圖像立體匹配效果
圖6 不同算法下的訓(xùn)練結(jié)果
在圖6 的對比區(qū)域中,圖(a)的真實視差圖包含了豐富的邊緣信息;圖(b)中的邊緣模糊,細(xì)節(jié)缺失較多;圖(c)雖然展現(xiàn)了邊緣信息,但視差圖存在孔洞,圖層之間也出現(xiàn)了交疊;而圖(d)中邊緣信息保留的更為豐富,且實線框內(nèi)的物體輪廓清晰,匹配效果顯著優(yōu)于圖(b)和(c)。對三種算法的指標(biāo)數(shù)據(jù)進(jìn)行統(tǒng)計,結(jié)果如表5 所示。
表5 模型指標(biāo)數(shù)據(jù)
從表中可看出,該算法的SPBM、SMAE與SMSE等指標(biāo)較對比算法均有一定程度的改善。其中,SPBM下降至9.23,相較于兩種對比算法分別降低了39.52%、30.29%;而SMAE下降至5.51%,與對比算法相比分別下降了2.02%、5.73%;SMSE則下降至10.64%,相較EDP、MC-CNN 分別下降了4.65%、7.08%,立體匹配效果顯著提升。
該文對室內(nèi)三維重建技術(shù)進(jìn)行了研究,通過改進(jìn)傳統(tǒng)立體匹配算法中的代價計算方式,從而降低了立體匹配算法的誤匹配率等指標(biāo)。此外,算法還引入了一種基于十字窗口的代價聚合方法,從而能夠有效提取像素感受野內(nèi)的相關(guān)性信息,提升算法對于邊緣信息的描繪能力。