劉振國,李釗,宋滕滕,何益智
(山東理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,山東淄博 255000)
雙目立體匹配[1-3]作為無人駕駛、機器人導(dǎo)航、增強現(xiàn)實等三維重建領(lǐng)域的核心技術(shù),取得顯著成效。隨著深度學(xué)習(xí)的發(fā)展和研究,基于深度學(xué)習(xí)的雙目立體匹配相較于傳統(tǒng)雙目立體匹配,在精度與速度方面都具有優(yōu)異的性能。
文獻[4]提出可以實現(xiàn)端到端訓(xùn)練的深度學(xué)習(xí)立體匹配網(wǎng)絡(luò)DispNetC,該網(wǎng)絡(luò)采用相關(guān)層對左右特征圖進行相似性度量,并利用下采樣的方式計算得到代價體,通過對代價體進行解碼,獲得視差并回歸得到稠密視差圖,雖然達到了實時性的目的,但是精度卻大幅降低。文獻[5]提出GC-Net,采用串聯(lián)方式對特征提取得到的特征圖進行聚合,將左右特征圖串聯(lián)得到代價體,最后使用3D 卷積聚合這些代價體。文獻[6]提出PSM-Net,引入金字塔特征池化[7],利用全局上下文信息進行匹配,該網(wǎng)絡(luò)通過堆疊大量由3D 卷積組成的代價聚合模塊進行代價聚合,雖然精度得到顯著提高,但是計算量大幅增加,速度也大幅減慢。針對3D 卷積所存在的問題,文獻[8]提出GA-Net,采用半全局聚集和局部引導(dǎo)聚集這2 種引導(dǎo)聚合層代替3D 卷積進行代價聚合,以提升精度并減少計算量,但是在網(wǎng)絡(luò)模型中使用3D卷積進行代價聚合,其運行速度與2D 卷積相比仍存在一定的不足。
針對基于深度學(xué)習(xí)的立體匹配網(wǎng)絡(luò)使用3D 卷積進行代價計算所產(chǎn)生計算量大的問題,文獻[9]提出AANet,利用2D 可變形卷積構(gòu)建代價體,并構(gòu)建同尺度代價聚合模塊與跨尺度代價聚合模塊,在保持精度的同時顯著提升速度,但是AANet 對邊緣處的視差預(yù)測并不理想,同時特征提取部分的性能有待提高。
在基于深度學(xué)習(xí)的立體匹配網(wǎng)絡(luò)中,利用3D卷積進行代價聚合,同時引用來自圖像的監(jiān)督信息,從而提高輸出視差圖的精度,導(dǎo)致計算量增大,例如基于2D 卷積的立體匹配網(wǎng)絡(luò)通過特征相關(guān)構(gòu)造3D 代價卷,而基于3D 卷積需要構(gòu)建4D 代價卷。假設(shè)輸入的代價卷與輸出的代價卷大小相同,卷積核大小為K(通常K=3),最大視差D為64,則3D 卷積的計算復(fù)雜度為O(K3×C2×D×H×W),2D卷積的計算復(fù)雜度為O(K2×D2×H×W+3K4×D×H×W+3K2×D×H×W),2D 卷積的計算復(fù)雜度為3D 卷積的1/130。因此,3D 卷積雖然可以提高精度,但是產(chǎn)生的計算量導(dǎo)致速度減慢。2D 卷積方法可以加快模型速度,但是對于邊緣處的視差預(yù)測魯棒性較低,同時多尺度2D 卷積方法中特征提取部分的性能有待提高。
本文提出結(jié)合可變形卷積與雙邊網(wǎng)格的2D 卷積立體匹配網(wǎng)絡(luò)。通過引入注意力特征增強結(jié)構(gòu),豐富低分辨率特征圖的特征信息,采用注意力機制與Meta-ACON 激活函數(shù)提高特征提取效率,同時在聚合模塊中結(jié)合可變形卷積與雙邊網(wǎng)格[10-11],增強視差圖的邊緣信息。
本文網(wǎng)絡(luò)由特征提取、代價計算、代價聚合、雙邊網(wǎng)格上采樣、視差回歸組成。利用改進的特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)進行特征提取,充分利用語義信息以及空間特征信息,提高特征信息的利用率。為減少計算量,本文使用類似于DispNetC 的互相關(guān)層[12]對提取的特征進行特征點匹配,以計算多尺度3D 代價卷。當(dāng)獲得多尺度3D 代價卷后,利用注意力機制與Meta-ACON 激活函數(shù)相結(jié)合的2D 可變形卷積代價聚合模塊進行聚合,提高模型精度,采用雙邊網(wǎng)格對聚合得到的低分辨率代價卷進行上采樣,提升預(yù)測視差在邊緣處的魯棒性。最后通過視差回歸獲得視差圖。本文網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖1 所示。
圖1 本文網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of the proposed network
立體匹配網(wǎng)絡(luò)的特征提取部分對雙目圖像特征信息提取的充分程度,可間接關(guān)系到弱紋理以及無紋理區(qū)域的魯棒性。而基于深度學(xué)習(xí)的立體匹配網(wǎng)絡(luò)多采用金字塔結(jié)構(gòu)以及左右特征圖共享權(quán)重來完成特征提取任務(wù),同時,通過輸出多尺度的特征圖來構(gòu)建代價體,具有較優(yōu)的性能,如AANet。然而,當(dāng)FPN[13]輸出多尺度特征圖時,低分辨率的特征圖并沒有與不同分辨率的特征圖融合輸出,這可能導(dǎo)致語義信息提取不充分,從而影響視差圖的魯棒性。
為了解決該問題,本文借鑒AugFPN[14]的思想,在高層低分辨率特征圖上添加注意力特征增強結(jié)構(gòu),將其與低分辨率特征圖進行融合輸出。但是,與AugFPN 不同,本文的注意力特征增強結(jié)構(gòu)對自適應(yīng)空間融合進行改進,將拼接的上下文特征通過最大池化層與平均池化層后,分別經(jīng)過1×1 卷積層與3×3卷積層處理,最后經(jīng)過Sigmoid 函數(shù)生成權(quán)重。同時,在特征提取的殘差結(jié)構(gòu)中引入通道注意力機制[15]與Meta-ACON 激活函數(shù)[16],增強特征提取能力,更加充分地提取特征。在特征金字塔網(wǎng)絡(luò)中的注意力特征增強結(jié)構(gòu)如圖2 所示。
圖2 注意力特征增強結(jié)構(gòu)Fig.2 Structure of attention feature enhancement
首先,為了獲得多個上下文信息,將特征圖通過自適應(yīng)池化層(該層由3 種比例的自適應(yīng)池化層構(gòu)成),獲得3種H×W尺度的上下文特征,然后,這3 種上下文特征分別經(jīng)過1×1 卷積層,使其通道數(shù)變?yōu)?56,通過雙線性插值進行上采樣并融合。由于單一插值并融合易造成混疊效應(yīng),因此需要經(jīng)過自適應(yīng)空間融合來消除混疊效應(yīng)。自適應(yīng)空間融合把上采樣特征作為輸入,將多個特征圖進行拼接,通過Sigmoid 函數(shù)生成一個空間權(quán)重。權(quán)重用于將上下文特征聚合成新的特征圖。新的特征圖具有多尺度上下文信息,僅適用于與原分支低分辨率特征圖相融合,并不進行輸出。自適應(yīng)池化層與金字塔場景解析(Pyramid Scene Parsing,PSP)[17]網(wǎng)絡(luò)的不同之處在于:PSP 將特征池化為具有固定大小的多個特征,而自適應(yīng)池化層則考慮圖像的比率。本文使用自適應(yīng)空間融合層融合特征,而不是直接卷積連接特征,有助于消除混疊效應(yīng)。由于引入的注意力特征增強結(jié)構(gòu)額外增加用于融合的特征圖,因此會增加參數(shù)量,對模型的速度產(chǎn)生影響。為提高特征提取性能,本文在殘差結(jié)構(gòu)中引入注意力機制與Meta-ACON 激活函數(shù)。注意力機制與Meta-ACON 激活函數(shù)融合結(jié)構(gòu)如圖3 所示。
圖3 注意力機制與Meta-ACON 激活函數(shù)融合結(jié)構(gòu)Fig.3 Structure of attention mechanism and Meta-ACON activation function fusion
注意力機制將圖像中的特征信息轉(zhuǎn)換為權(quán)重,生成的權(quán)重信息可輔助完成特征提取任務(wù),充分提取特征信息,從而生成特征圖。本文使用Meta-ACON 激活函數(shù),可選擇性地激活神經(jīng)元,提升特征提取效率。注意力機制的計算如式(1)所示:
其中:σ為Sigmoid函數(shù);W0為權(quán)重,W0∈RC/r×C;W1為權(quán)重,W1∈RC ×C/r。ReLU 激活函數(shù)后接W1,F(xiàn)avg與Fmax分別表示平均池特征與最大池特征。
Meta-ACON 激活函數(shù)如式(2)所示:
其中:Sβ為光滑的最大值函數(shù);p1與p2為可學(xué)習(xí)的參數(shù)(p1≠p2);β為開關(guān)因子。Meta-ACON 激活函數(shù)引入到殘差網(wǎng)絡(luò)中進行測試,并加入可學(xué)習(xí)的參數(shù),參數(shù)量增加,但是自適應(yīng)開關(guān)因子β的加入能夠有效提高精度。
1.2.1 可變形卷積代價聚合
傳統(tǒng)的跨尺度聚合算法[18]采用統(tǒng)一優(yōu)化進行局部代價聚合,并利用不同尺度的代價體聚合來消除在無紋理區(qū)域中魯棒性較差的現(xiàn)象。在弱紋理及無紋理區(qū)域中,低分辨率尺度下的代價體有利于特征點的匹配[19-20],當(dāng)代價體下采樣時,具有相同分辨率的代價體在無紋理和弱紋理區(qū)域的紋理信息更加清晰。
本文采用可變形卷積進行聚合,有助于解決邊緣膨脹問題,若采用規(guī)則卷積,采樣點難以自適應(yīng)地聚合到相似視差的位置,導(dǎo)致邊緣膨脹??勺冃尉矸e[21]的原理是將規(guī)則卷積提取與采樣點對應(yīng)的像素值,根據(jù)式(3)進行計算,得到帶有偏移量的像素值:
其中:p0為像素點;pn為固定偏移;Δpn為可學(xué)習(xí)的偏移量;q為圖像中的空間位置;G(q,p)為線性插值。
使用式(4)對帶有偏移量的像素值進行計算,獲得最終的像素值:
其中:y(p0)為最終的像素值;w(pn)為位置權(quán)重。
將最終的像素值更新到矩陣中,最后使用規(guī)則卷積進行采樣,使采樣點可以自適應(yīng)地聚合到具有相似視差的位置。
為了解決2D 卷積方法在邊緣處魯棒性較差的問題并驗證傳統(tǒng)跨尺度聚合算法改進弱紋理及無紋理區(qū)域魯棒性的結(jié)論,尺度間代價聚合采用堆疊的多尺度可變形卷積模塊進行代價聚合。
基礎(chǔ)聚合結(jié)構(gòu)及聚合公式借鑒AANet 的原理,但需要近似傳統(tǒng)跨尺度算法來解決無紋理和弱紋理區(qū)域魯棒性較差的問題,并且輸出單尺度低分辨率代價體與后續(xù)雙邊網(wǎng)格進行上采樣。因此,與AANet聚合結(jié)構(gòu)相比,本文將聚合后的多尺度代價體進行一次跨尺度代價聚合,并在聚合模塊的殘差網(wǎng)絡(luò)結(jié)構(gòu)中加入注意力機制與Meta-ACON 激活函數(shù),進一步優(yōu)化聚合效果,提升模型精度??勺冃尉矸e代價聚合模塊結(jié)構(gòu)如圖4 所示。
圖4 可變形卷積代價聚合模塊結(jié)構(gòu)Fig.4 Structure of deformable convolution cost aggregation module
對于3 種尺度的成本卷C∈RD×H×W(D、H、W分別為最大視差、高度和寬度),使用式(5)近似可變形卷積進行聚合:
其中:C(d,p)為視差d在像素點p處聚合后的成本量;K為采樣點的數(shù)量;Wk為聚合權(quán)重;Pk為基于窗口成本聚合方法的固定偏移量;ΔPk為可學(xué)習(xí)的額外偏移量;mk為位置權(quán)重。本文加入ΔPk可以在邊緣及薄結(jié)構(gòu)處獲得理想的結(jié)果。mk用于控制像素點之間位置的相互影響,從而加強自適應(yīng)聚合。自適應(yīng)聚合的具體結(jié)構(gòu)類似于殘差結(jié)構(gòu),其中位于中間的卷積層使用可變形卷積。傳統(tǒng)的跨尺度代價聚合方式將相同尺度代價體與固定數(shù)值相乘,而對于高尺度代價體則先進行下采樣,然后與低尺度代價體相結(jié)合。
1.2.2 雙邊網(wǎng)格上采樣
為了進一步解決邊緣處預(yù)測視差魯棒性較差的問題,本文采用雙邊網(wǎng)格進行上采樣。雙邊網(wǎng)格最早應(yīng)用于加速雙邊濾波[14],并在BG-Net[13]中與3D卷積相結(jié)合,減少網(wǎng)絡(luò)模型參數(shù)量。原始像素被投影到雙邊網(wǎng)格中,在雙邊網(wǎng)格中執(zhí)行切片操作。在引導(dǎo)圖的引導(dǎo)下,雙邊網(wǎng)格通過三線性插值來提取代價體的過程被稱為切片。切片的維度只是單純的一維信息,因此可以將3D 代價體升至可以進行切片操作的維度。與BG-Net 不同,本文網(wǎng)絡(luò)將雙邊網(wǎng)格上采樣與可變形卷積相結(jié)合,并且通過類似注意力特征增強的結(jié)構(gòu)獲得引導(dǎo)圖。注意力特征增強導(dǎo)致參數(shù)量增加,從而影響模型的運行速度,但相比僅進行1×1 卷積處理獲得的引導(dǎo)圖,具有較豐富的紋理信息,有助于提升模型精度??勺冃尉矸e代價聚合與雙邊網(wǎng)格相結(jié)合的結(jié)構(gòu)如圖5 所示。
圖5 可變形卷積代價聚合與雙邊網(wǎng)格相結(jié)合的結(jié)構(gòu)Fig.5 Structure of combining deformable convolution cost aggregation and bilateral grid
聚合后使用雙邊網(wǎng)格切片上采樣,將低分辨率的代價卷上采樣至高分辨率代價卷。首先,將得到聚合后的3D 代價卷升至可以切片的維度,以便于雙邊網(wǎng)格進行切片操作,然后,將特征提取部分得到的高分辨率特征圖轉(zhuǎn)換為引導(dǎo)特征圖,與來自雙邊網(wǎng)格操作后的代價卷進行切片上采樣。雙邊網(wǎng)格使用4 個維度B(w,h,d,g),其中w、h、d、g分別表示寬度、高度、視差和引導(dǎo)圖特征。最后,通過雙邊網(wǎng)格切片獲得4D 高分辨率代價卷并降維,得到3D 高分辨率代價卷。切片操作是在高分辨率引導(dǎo)圖的引導(dǎo)下4D 雙邊網(wǎng)格中進行線性插值,同時切片層沒有參數(shù),并不會增加計算量。切片層的定義如式(6)所示:
其中:C為進行聚合并升至一定維度后的代價體;C∧為上采樣后的代價體;B為雙邊網(wǎng)格;s∈(0,1)為網(wǎng)格的寬度或高度比;sg∈(0,1)為網(wǎng)格的灰度與引導(dǎo)圖的灰度比;G表示引導(dǎo)圖;?表示三線性插值。
本文對于每一個像素,采用Soft argmin 方法[5]進行視差回歸。該視差回歸方法可微并且能夠返回亞像素精度的視差,有助于提升視差回歸精度。視差回歸如式(7)所示:
其中:Dmax為最大視差;σ為Sigmoid 函數(shù);Cd為通過代價聚合以及上采樣獲得的代價卷;σ(Cd)為視差的概率。
由于Scene Flow 數(shù)據(jù)集[4]中的數(shù)據(jù)由大量真值標簽標注,因此采用smoothL1 損失函數(shù)訓(xùn)練Scene Flow 數(shù)據(jù)集,如式(8)所示,smoothL1 函數(shù)如式(9)所示:
其中:N為被標記的像素數(shù);dpred為預(yù)測視差;dgt為視差真值。
由于KITTI2012[22-23]數(shù)據(jù)集缺少真值標簽,因此利用效果較好的模型訓(xùn)練出的KITTI2012 數(shù)據(jù)集作為偽標簽[9]。在KITTI2012 數(shù)據(jù)集上的損失函數(shù)如式(10)所示:
其中:p為像素值;Dpseudo(p)為偽標簽真值。
本文實驗使用Pytorch 框架,網(wǎng)絡(luò)環(huán)境的搭建以及實驗中的訓(xùn)練過程在配置為NVIDIA Tesla T4GPU 的服務(wù)器上運行。本文采用2 個數(shù)據(jù)集進行實驗,分別為Scene Flow 和KITTI2012。對于Scene Flow 數(shù)據(jù)集,本文實驗將圖片隨機裁剪分辨率為288×576 像素,驗證集尺寸分辨率為540×960 像素,初始學(xué)習(xí)率為0.001,使用Adam 優(yōu)化器進行優(yōu)化(β1=0.9,β2=0.999),epoch 為64,在進行 第20 次epoch 之后,每10 個epoch 降低一次學(xué)習(xí)率。對于KITTI2012數(shù)據(jù)集,本文實驗采用Scene Flow 數(shù)據(jù)集生成的預(yù)訓(xùn)練模型進行訓(xùn)練,并將模型參數(shù)進行微調(diào)。在KITTI2012 數(shù)據(jù)集的視差預(yù)測時采用與文獻[9]相同的策略,即用視差真值作為監(jiān)督,提高模型在該數(shù)據(jù)集下的精度。本文最大視差設(shè)置為192。
2.2.1 模型消融實驗
為了選出最佳的網(wǎng)絡(luò)結(jié)構(gòu),本文對所提網(wǎng)絡(luò)進行消融實驗,在Scene Flow 數(shù)據(jù)集上分析雙邊網(wǎng)格、注意力特征增強、注意力機制與Meta-ACON 激活函數(shù)對端點誤差(EPE)的影響,其中注意力機制與Meta-ACON激活函數(shù)使用AMA 表示,結(jié)果如表1 所示。
表1 消融實驗結(jié)果Table 1 Ablation experiment results
從表1 可以看出:當(dāng)不添加注意力特征增強、注意力機制與Meta-ACON 激活函數(shù)、雙邊網(wǎng)格時,本文網(wǎng)絡(luò)的端點誤差為0.882;加入注意力機制與Meta-ACON 激活函數(shù)后,本文網(wǎng)絡(luò)端點誤差為0.835;加入雙邊網(wǎng)格與注意力特征增強后,本文網(wǎng)絡(luò)端點誤差為0.804;當(dāng)加入注意力特征增強、注意力機制與Meta-ACON 激活函數(shù)、雙邊網(wǎng)格時,本文網(wǎng)絡(luò)端點誤差為0.756。因此最佳的網(wǎng)絡(luò)模型為加入注意力特征增強、注意力機制與Meta-ACON 激活函數(shù)、雙邊網(wǎng)格。
2.2.2 在Scene Flow 數(shù)據(jù)集上的結(jié)果分析
在Scene Flow 數(shù)據(jù)集上,本文網(wǎng)絡(luò)DEBGNet 與DispNetC[4]、GC-Net[5]、PSM-Net[6]、AANet[9]進行對比實驗。本文使用的評價指標為EPE。在Scene Flow 數(shù)據(jù)集上不同網(wǎng)絡(luò)的實驗結(jié)果對比如表2 所示。
表2 不同網(wǎng)絡(luò)的實驗結(jié)果對比Table 2 Experimental results comparison among different networks
從表2 可以看出,本文網(wǎng)絡(luò)DEBGNet 具有較優(yōu)的精度。雖然本文所提網(wǎng)絡(luò)在速度方面與實時網(wǎng)絡(luò)DispNetC 相比不占優(yōu)勢,但是在精度方面,DEBGNet比DispNetC 的EPE 降低了約55%。與其他基于3D 卷積的網(wǎng)絡(luò)模型PSM-Net、GC-Net 相比,DEBGNet 網(wǎng)絡(luò)具有較高的精度和較快的速度。為了提升網(wǎng)絡(luò)模型精度,在網(wǎng)絡(luò)中加入Meta-ACON 激活函數(shù)與注意力特征增強,但會少量地增加計算量。因此,與基于2D卷積的AANet 相比,本文所提網(wǎng)絡(luò)的速度雖然稍微慢一些,但EPE 下降了13.7%。
本文網(wǎng)絡(luò)全部基于2D 卷積,在Scene Flow 數(shù)據(jù)集上,與AANet進行可視化對比。在SceneFlow數(shù)據(jù)集上,本文網(wǎng)絡(luò)DEBGNet與AANet的可視化結(jié)果對比如圖6 所示(彩色效果見《計算機工程》官網(wǎng)HTML 版)。
圖6 在Scene Flow 數(shù)據(jù)集上不同網(wǎng)絡(luò)的可視化結(jié)果對比Fig.6 Visual results comparison among different networks on Scene Flow dataset
在圖6 中的第1 行為偽彩色深度圖,第2 行為預(yù)測視差圖,第3 行為原圖。從圖6 可以看出,在紅色邊框標注的部位,本文網(wǎng)絡(luò)比AANet 能夠更清晰地預(yù)測目標邊界,尤其在細小的結(jié)構(gòu)以及邊角處。
2.2.3 在KITTI2012 數(shù)據(jù)集上的結(jié)果分析
本文采用KITTI 數(shù)據(jù)集提供的評價指標進行對 比,KITTI2012 數(shù)據(jù)集的對比指標為2px、3px 以及5px 的非遮擋區(qū)域誤差率(Noc)與所有區(qū)域誤差率(All),對比指標數(shù)值越小效果越好。在KITTI2012 數(shù)據(jù)集上不同網(wǎng)絡(luò)的評價指標對比如表3 所示。
表3 在KITTI2012 數(shù)據(jù)集上不同網(wǎng)絡(luò)的評價指標對比Table 3 Evaluation indexs comparison among different networks on KITTI2012 dataset
從表3 可以看 出,相比DispNetC,DEBGNet 在KITTI2012數(shù)據(jù)集上的誤差率明顯降低,與MC-CNN[24]、FAD-Net[25]、AANet 相比,本文網(wǎng)絡(luò)在速度較快的前提下,2px、3px 以及5px 的對比結(jié)果中,誤差率有良好的表現(xiàn),尤其與AANet 相比,在5px 下Noc 誤差率降低6.7%。
在KITTI2012 數(shù)據(jù)集上本文網(wǎng)絡(luò)與AANet、GC-Net 的對比結(jié)果如圖7 所示。該對比結(jié)果由KITTI 數(shù)據(jù)集提供,圖7 中第1 行為原圖,第2 行為誤差圖,第3 行為預(yù)測視差圖。從圖中黑色邊框標注處可以看出,本文所提網(wǎng)絡(luò)可以較準確地預(yù)測出目標邊緣及細小區(qū)域處的視差。
圖7 在KITTI2012 數(shù)據(jù)集上不同網(wǎng)絡(luò)的可視化結(jié)果對比Fig.7 Visual results comparison among different networks on KITTI2012 dataset
本文提出結(jié)合可變形卷積與雙邊網(wǎng)格的立體匹配網(wǎng)絡(luò)。該網(wǎng)絡(luò)由2D 卷積構(gòu)成,引入注意力特征增強結(jié)構(gòu),同時利用注意力機制與Meta-ACON 激活函數(shù)相結(jié)合的2D 可變形卷積進行代價聚合,通過雙邊網(wǎng)格進行上采樣,提高模型精度。實驗結(jié)果表明,相比PSM-Net、GC-Net,本文網(wǎng)絡(luò)在Scene Flow 數(shù)據(jù)集上的端點誤差分別降低31.1%、70.1%,運行速度分別加快60%、82%,相較于AANet 的端點誤差降低13.8%。后續(xù)將采用遮擋掩碼抑制方式優(yōu)化本文所提的立體匹配網(wǎng)絡(luò)[26-27],以提高遮擋區(qū)域的魯棒性。