鄭秋梅 溫 陽 王風華
(中國石油大學(華東)計算機科學與技術學院 青島 266580)
雙目立體匹配是計算機視覺領域中的一個重要問題,在自動駕駛、三維重建、三維追蹤中發(fā)揮著重要的作用[1~2]。根據(jù)是否使用卷積神經(jīng)網(wǎng)絡的相關理論技術可將其分為傳統(tǒng)算法[3~6]以及基于深度學習的算法[7~9]?;谏疃葘W習的雙目立體匹配算法由于可以直接從網(wǎng)絡所輸入的初始圖像中提取特征,相比于傳統(tǒng)算法具有更好的匹配效果。但是在處理場景中的弱紋理區(qū)域、反光表面(如車窗玻璃等)等容易出現(xiàn)錯誤匹配的區(qū)域,易出現(xiàn)由于特征提取不夠充分而影響匹配精度的問題。
本文在基于空間金字塔池化和3D沙漏網(wǎng)絡的思想上,考慮不同通道上的特征對信息的表達能力不同,提高匹配精度;結合殘差網(wǎng)絡[10]對網(wǎng)絡結構進行優(yōu)化,降低模型參數(shù)數(shù)量,提出基于多卷積核通道特征加權的雙目立體匹配算法(SK?PSM-Net)。最后,在Scene Flow和KITTI2015數(shù)據(jù)集上對所提網(wǎng)絡性能進行測試。實驗結果表明本文所提算法能提高網(wǎng)絡的特征提取能力,從而提高最終獲得的視差圖的精度。
雙目立體匹配的思想是為所給出的一對經(jīng)過校準的雙目圖像中的每個像素計算視差值d。在雙目圖像對中,若像素點p在左圖像中的位置是(x,y),則其在右圖像中的相應位置為(x-d,y),即視差值d是指左右圖像對中相對應位置之間像素值的水平位移。通過相機的焦距以及兩個相機中心之間的基線距離計算還原出像素點p的在場景中的實際位置。
基于深度學習的雙目立體匹配網(wǎng)絡的處理結構如圖1所示。處理框架包括圖像輸入部分、特征提取部分、構造匹配代價部分、視差計算部分以及最終的視差結果輸出部分。根據(jù)雙目立體匹配網(wǎng)絡結構圖可以看出,特征提取部分是影響最終計算得到的視差圖精度的關鍵。
圖1 雙目立體匹配網(wǎng)絡結構圖
該算法將語義分割和圖像級別上的全局信息相結合,利用多個串聯(lián)的卷積層和金字塔池化結構獲取特征并融合,從而構造匹配代價,使用多個相連的編解碼結構處理匹配代價進而計算出視差結果圖。
該算法降低了匹配誤差,但是只通過利用多個卷積層進行特征提取的方式使得網(wǎng)絡容易丟失通道維度上以及不同通道之間的信息,從而在生成的視差圖中容易出現(xiàn)匹配精度降低的問題。
SK-Net[11]初始作為分類網(wǎng)絡獲得了很好的效果,SK-Net在通道維度上設置了具有不同卷積核的支路,可以實現(xiàn)對不同的特征確定合適的感受野,同時使用注意力機制確定所含信息豐富的特征,同時對特征通道之間的相互關系進行建模增強卷積特征,使得網(wǎng)絡對可信息化特征的敏感性更強,從而可以有效地提升了對特征的信息表達的充分性,獲得更加豐富的上下文信息,實現(xiàn)對細節(jié)信息的保留。
金字塔匹配算法作為基于卷積神經(jīng)網(wǎng)絡的立體匹配方法在匹配精度上有一定的提高,能夠獲得較好的匹配效果。但是,金字塔匹配網(wǎng)絡在采用卷積神經(jīng)網(wǎng)絡進行特征提取時,未充分考慮特征在通道維度上的相互依賴關系,因此可能會造成某些信息的丟失。目前,由于大多數(shù)的立體匹配算法在進行特征提取時只固定選擇一種卷積核尺寸,忽視了感受野的尺寸對不同遠近的物體在生成特征時的影響。
因此,本文在金字塔池化和沙漏網(wǎng)絡的基礎上,在生成匹配特征時,通過在通道維度上聚合不同尺寸的卷積核實現(xiàn)根據(jù)不同尺度的輸入信息自適應的調整感受野的大小,以此保留更多的細節(jié)信息,提高立體匹配結果的精度。多卷積核通道特征加權結構(SK-Block)如圖2所示,本文算法匹配網(wǎng)絡結構如圖3所示。
圖2 SK-Block結構
圖3 本文算法網(wǎng)絡結構圖
在匹配網(wǎng)絡的特征提取階段,本文所提算法首先采用傳統(tǒng)卷積對輸入圖像進行初步的特征提取,之后對提取到的特征X∈RH*W*C進行通道維度上的加權處理。具體做法如下。
1)本文算法首先分別設置了3*3和5*5兩種不同尺寸的卷積核處理輸入特征X∈RH*W*C,得到特征圖X1,X2;
2)為了實現(xiàn)根據(jù)不同的特征自適應的調整感受野的大小,將經(jīng)過兩種卷積核處理得到的特征進行初步融合,得到Y=X1+X2,在空間維度上對聚合得到的特征Y進行降維處理,計算公式如下:
其中,Q表示在通道維度上的信息描述符,c表示通道的個數(shù)。之后采用全連接層對特征進行進一步的壓縮f∈Rd*1,如式(2)所示。
其中,δ表示ReLU操作,β表示批歸一化處理,W∈Rd*c。采用r對通道分組數(shù)d進行控制,如式(3)所示。
其中,L表示d的最小值(在本文中設置為16)。
3)由于本文采用兩種支路進行處理,在通道維度上采用軟注意力機制根據(jù)特征描述符f自適應的選擇不同尺度的信息,在不同支路計算的特征權重計算公式如下:
其中,A,B∈Rc*d,Ac∈R1*d表示A中的第c行,ac表示a中的第c個元素。
4)將兩路支路計算得到的權重分別與特征圖X1,X2進行融合,得到最終的特征圖V,計算公式如下:
其中,V=[V1,V2,…,Vc],Vc∈RH*W。
之后,本文將經(jīng)過SK-CNN提取到的特征進行空間金字塔池化處理。在該階段通過設置四種具有不同大小的池化核處理SK-CNN所提取到的特征,最后對得到的不同大小的信息進行聚合構造匹配代價。
本文算法采用多卷積核通道特征加權算法對圖像進行特征提取,通過設置不同的卷積核大小確定不同尺度的感受野,自適應地調整各特征通道之間的關系,通過學習的方式自動地為每個支路的每個特征通道生成權重,之后根據(jù)注意力機制將不同支路得到的特征權重與相應支路的特征融合,實現(xiàn)為每個特征分配合適的權重,突出所含信息豐富的特征,在理論上,可有效提高最終得到的視差圖的精度。
此外,本文在保證視差精度的情況下,采用殘差思想對金字塔匹配網(wǎng)絡的特征提取階段的結構進行優(yōu)化,本文算法對金字塔匹配網(wǎng)絡結構進行壓縮處理,最終的模型體積減少了3.49%。
Menze等在2015年所提出的Scene Flow數(shù)據(jù)集[12]與Mayer等所構建的KITTI2015數(shù)據(jù)集[13]是當前立體匹配領域常用的公開數(shù)據(jù)集。其中,Scene Flow數(shù)據(jù)集具有數(shù)據(jù)量大、場景類型豐富等特點;KITTI2015數(shù)據(jù)集由真實場景中的不同駕駛情境中的行駛中的車輛圖像構成,因此該數(shù)據(jù)集內的場景更加真實復雜。
網(wǎng)絡采用pytorch深度學習框架搭建。整個訓練和測試過程中所涉及到的相關實驗均使用服務器Tesla P100進行。模型訓練過程中,先在所含數(shù)據(jù)量較為豐富的Scene Flow數(shù)據(jù)集上對模型進行初步的預訓練;之后再在含有真實場景圖像的KIT?TI2015數(shù)據(jù)集上對其做出進一步的模型優(yōu)化調整。訓練時使用Adam優(yōu)化算法[14],設置相關參數(shù)β1=0.9,β2=0.999,batchsize=2。在Scene Flow數(shù)據(jù)集上訓練時學習率(learning rate,lr)設為0.001訓練得到預訓練模型,之后再在KITTI2015數(shù)據(jù)集上以0.001的學習率(learning rate,lr)訓練前300個epoch,之后再以0.0001的學習率(learning rate,lr)訓練150個epoch實現(xiàn)模型優(yōu)化。本文將PSM-Net算法作為對比,網(wǎng)絡參數(shù)均與作者論文中設置一致。
同時,為驗證多卷積核對精度提升的有效性,作為對比,本文在實驗時在匹配網(wǎng)絡框架上只采用單一卷積核的通道注意力機制[15]進行特征提取能力改進,得到加權特征通道立體匹配算法(SEPSM-Net),該算法在實驗時的參數(shù)設置與本文所提算法一致。
4.2.1 視差結果分析
1)Scene Flow數(shù)據(jù)集結果分析
Scene Flow數(shù)據(jù)集通過計算預測到像素點的視差值與真實值之間的歐式距離之和的大?。‥PE)評價算法。表1展示了本文算法與基礎算法(PSM-Net)在該數(shù)據(jù)集上的性能(EPE)對比。
表1 Scene Flow數(shù)據(jù)集上算法的性能(EPE)評價
表1中數(shù)據(jù)表明,本文算法(SKPSM-Net)相對于基礎算法(PSM-Net)的誤差(EPE)降低了0.251。
2)KITTI2015數(shù)據(jù)集結果分析
在KITTI2015數(shù)據(jù)集上采用立體匹配常用的評價標準評價改進后的網(wǎng)絡:1像素誤差(1px),3像素誤差(3px),5像素誤差(5px)。1px、3px、5px分別表示端點誤差超過1、3、5的像素所占的百分比。其在KITTI2015數(shù)據(jù)集上結果如表2所示。
表2 KITTI2015數(shù)據(jù)集上算法的性能評價
從表2中可以看出,本文算法在各項誤差率指標上均低于對比算法,其中,在最常用的3px指標上本文性能提高了10.67%。從表1和表2中可以說明本文算法相對于金字塔匹配算法和只采用單一卷積核的通道注意力機制的SEPSM-Net算法在精度上有明顯改進。
本文算法在KITTI2015數(shù)據(jù)集上運行結果及使用KITTI所提供的Matlab處理工具得到的主觀視差結果如圖4所示。
圖4 KITTI2015數(shù)據(jù)集結果對比((a)左視角圖像;(b)PSM-Net算法結果;(c)SEPSM-Net結果;(d)SKPSM-Net(本文算法)結果)
其中,誤差圖表示算法運行得到的預測值與真實值之間的差值絕對值。由圖4看出,相比于金字塔匹配算法(PSM-Net算法),本文所提算法在處理弱紋理區(qū)域(如圖像中的天空和車輛區(qū)域)時均可以保留更多的細節(jié)信息;同時也可以很好地處理不規(guī)則表面和光線較暗的區(qū)域(如樹木、街道等區(qū)域),仍可以獲得較好的匹配效果。
4.2.2 體積分析
表3表明本文算法與基礎算法在進行深度學習訓練后得到的模型體積大小。
表3 算法模型體積表
從表3中可以看出,本文算法得到的網(wǎng)絡模型體積相比于金字塔匹配算法降低了3.49%。但是由于本文算法采用多卷積核的方式處理特征,因此相比于只采用單一卷積核進行通道特征加權的匹配算法體積較大。
綜合對視差結果的誤差率對比分析、視差圖的直觀的可視化對比分析以及網(wǎng)絡體積參數(shù)體積的對比分析,本文所設計的算法可以在保證視差精度的同時降低網(wǎng)絡的計算參數(shù)。
本文算法在特征提取階段充分考慮特征通道之間的關系,同時考慮不同尺度的對象在生成特征時的表達能力不同,根據(jù)輸入自適應的調節(jié)感受野的尺寸為每個特征在通道維度上生成權重,采用注意力機制對權重進行融合,確定含有豐富上下文信息的特征,提高了特征的表達能力,有助于后續(xù)的立體匹配計算,能夠得到更精確的視差結果。同時,本文算法對網(wǎng)絡結構進行優(yōu)化,減少了網(wǎng)絡的計算參數(shù),壓縮了最終訓練得到的模型體積。