黃怡潔 朱江平 楊善敏
(四川大學(xué) 四川 成都 610065)
給定一對(duì)極線矯正后的雙目立體圖像,通過立體匹配可預(yù)測(cè)出視差,進(jìn)一步可根據(jù)視差得到深度信息。立體匹配是計(jì)算機(jī)視覺領(lǐng)域中一個(gè)非常重要的課題,廣泛應(yīng)用于自動(dòng)駕駛[1]、三維重建[2]、機(jī)器智能[3]等領(lǐng)域。
傳統(tǒng)的立體匹配算法包含四個(gè)步驟,分別為代價(jià)聚合、視差計(jì)算、視差優(yōu)化和后處理[4]。依據(jù)優(yōu)化理論的不同,主要分為全局立體匹配算法、局部立體匹配算法[5]和半全局立體匹配算法。局部立體匹配算法采用局部?jī)?yōu)化的理論進(jìn)行視差估計(jì),包括SSD(Sum of Squared Differences)、SAD(Sum of Absolute Differences)等算法。全局匹配以全局優(yōu)化理論估計(jì)視差,建立全局能量函數(shù),進(jìn)一步地,通過最小化全局能量函數(shù)得到最優(yōu)視差值,包括GC(Group Cut)[6-7]、BP(Belief Propagation)[8-9]和DP(Dynamic Programming)[10]等算法。半全局立體匹配算法是將局部與全局的方法結(jié)合起來,如SGM[11]算法,先計(jì)算每個(gè)像素點(diǎn)的視差求得視差圖,再設(shè)置一個(gè)與視差圖相關(guān)聯(lián)的全局能量函數(shù),將能量函數(shù)最小化來求解每個(gè)像素的最優(yōu)視差解。
近年來,國內(nèi)外許多研究利用CNN[12]搭建神經(jīng)網(wǎng)絡(luò)來研究立體匹配問題。將極線矯正后的雙目立體圖像對(duì)輸入到神經(jīng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)輸出預(yù)測(cè)的視差圖。Mayer等[13]提出了端到端的網(wǎng)絡(luò)DispNet進(jìn)行視差估計(jì),并創(chuàng)建了大型的合成數(shù)據(jù)集SceneFlow;Pang等[14]對(duì)DispNet[13]進(jìn)一步擴(kuò)展,提出了一個(gè)兩階段的網(wǎng)絡(luò)CRL,網(wǎng)絡(luò)的第一階段產(chǎn)生一個(gè)初始的視差圖,第二階段在不同的尺度上進(jìn)一步對(duì)初始視差圖進(jìn)行優(yōu)化;Kendall等[15]提出了GC-Net,串聯(lián)左圖和右圖的特征構(gòu)建匹配代價(jià)集,并使用3D卷積聚合匹配代價(jià)集;Chang等[16]提出的PSMNet利用pyramid pooling模塊計(jì)算匹配代價(jià),再用stacked hourglass塊聚合匹配代價(jià)集,進(jìn)行視差預(yù)測(cè);曾軍英等[17]提出自適應(yīng)的立體匹配算法,在網(wǎng)絡(luò)中嵌入無監(jiān)督損失模塊與殘差細(xì)化模塊,提高了立體匹配的實(shí)時(shí)性;王玉鋒等[18]的研究將稀疏損失體用于視差維度上進(jìn)行立體匹配;肖進(jìn)勝等[19]提出縮小型網(wǎng)絡(luò)的立體匹配方法,利用左右圖像塊的相似度計(jì)算出立體匹配的匹配代價(jià),提高了匹配的精度。盡管這些方法都取得了不錯(cuò)的精度,但是在遮擋區(qū)域以及反射表面仍然存在誤匹配問題。
因此,本文提出基于注意力機(jī)制的立體匹配網(wǎng)絡(luò)(AMSN)。該網(wǎng)絡(luò)主要包含兩大模塊:注意力機(jī)制模塊[20-21]以及代價(jià)聚合模塊。注意力機(jī)制模塊由通道注意力模塊和空間注意力模塊并行而成,用于獲取大范圍的語境信息,不僅使得提取的特征包含豐富的語境信息,還使特征更具有表示力以更準(zhǔn)確地進(jìn)行視差估計(jì)。代價(jià)聚合網(wǎng)絡(luò),在PSMNet[16]中的stacked hourglass網(wǎng)絡(luò)基礎(chǔ)上的兩點(diǎn)改進(jìn):(1) 在hourglass塊的內(nèi)部結(jié)構(gòu)增加了一個(gè)卷積層,并做了進(jìn)一步的特征融合;(2) 去掉hourglass塊之間的連接,以此提高匹配的精確度并減少內(nèi)存消耗。
近年來,注意力機(jī)制模塊被廣泛應(yīng)用于各個(gè)領(lǐng)域。文獻(xiàn)[22]將注意力機(jī)制應(yīng)用于機(jī)器翻譯領(lǐng)域;SENet[23]利用通道注意力機(jī)制模塊提高特征的表示力;CDANet[20]將注意力機(jī)制應(yīng)用于語義分割;還有學(xué)者將注意力機(jī)制模塊融入到GAN[24]網(wǎng)絡(luò)中,使之成為一個(gè)更好的圖像生成器,
本文將注意力機(jī)制引入立體匹配網(wǎng)絡(luò),用通道注意力模塊和空間注意力模塊捕獲全局信息,使網(wǎng)絡(luò)學(xué)習(xí)到的特征含有豐富語境信息,有助于在視差估計(jì)時(shí)進(jìn)一步確定像素點(diǎn)間的相關(guān)性,提高匹配的準(zhǔn)確度。尤其在弱紋理區(qū)域等,這些區(qū)域含有較少的信息,網(wǎng)絡(luò)提取的語境信息可以更加準(zhǔn)確地預(yù)測(cè)出視差,減少誤匹配的問題。
提出的基于注意力機(jī)制的立體匹配網(wǎng)絡(luò)如圖1所示。該網(wǎng)絡(luò)由特征提取模塊、匹配代價(jià)集構(gòu)建模塊和3D代價(jià)聚合模塊三部分構(gòu)成。
圖1 基于注意力機(jī)制的立體匹配網(wǎng)絡(luò)
特征提取模塊:首先將圖像輸入殘差網(wǎng)絡(luò)提取圖像特征,然后將其結(jié)果分別輸入到通道注意力模塊和空間注意力模塊中,最后將注意力圖與殘差網(wǎng)絡(luò)輸出的特征進(jìn)行融合。
匹配代價(jià)集的構(gòu)建:將極線校正后的圖像對(duì)輸入到特征提取網(wǎng)絡(luò)中,分別得到左圖和右圖的特征圖,將左右特征圖沿著視差的維度串聯(lián)起來,得到D×C×H×W的四維向量,即為匹配代價(jià)集。
代價(jià)聚合模塊:代價(jià)聚合網(wǎng)絡(luò)主要由3D卷積層構(gòu)成。首先經(jīng)過四個(gè)3D卷積層,再通過3個(gè)hourglass塊,每個(gè)hourglass模塊預(yù)測(cè)出一個(gè)視差圖。hourglass塊使用編碼解碼結(jié)構(gòu)很好地解決了遮擋區(qū)域等問題區(qū)域的誤匹配問題?;赑SMNet[16]中提出的代價(jià)聚合網(wǎng)絡(luò),本文做了一些改進(jìn),以提高算法的性能以及推理速度。
現(xiàn)有的立體匹配算法在遮擋區(qū)域以及反射表面易發(fā)生誤匹配。因此,從圖像提取的特征包含豐富的語境信息和大范圍的全局信息對(duì)于后期的視差精確預(yù)測(cè)非常重要。本文通過兩個(gè)注意力模塊來聚合大范圍的語境信息,進(jìn)一步確定像素間的關(guān)系,從而提高特征的表示能力。整個(gè)特征提取網(wǎng)絡(luò)如圖2所示,由三部分構(gòu)成:下采樣模塊、局部特征提取模塊和注意力機(jī)制模塊。
圖2 特征提取網(wǎng)絡(luò)結(jié)構(gòu)
下采樣模塊:使用3個(gè)3×3的卷積層,把圖像的分辨率變?yōu)檩斎雸D像的1/4,減小特征圖的尺寸以降低網(wǎng)絡(luò)負(fù)擔(dān)。
局部特征提取模塊:由四個(gè)殘差層layer1、layer2、layer3和layer4構(gòu)成,四個(gè)殘差層中殘差塊的數(shù)量分別為8、9、8、3。為了使淺層特征中融入更多的信息,在淺層分配更多的塊數(shù),實(shí)現(xiàn)更好的性能,且有利于網(wǎng)絡(luò)生成更加精確的注意力機(jī)制映射。
注意力機(jī)制模塊:受到CDANet[20]中雙注意力機(jī)制模塊的啟發(fā),本文將通道注意力機(jī)制模塊與空間注意力機(jī)制模塊并行。將經(jīng)過殘差模塊產(chǎn)生的特征向量分別輸入到通道注意力模塊和空間注意力模塊中,得到兩個(gè)1/4H×1/4W的特征向量Fs和Fc,將Fs和Fc相加得到向量Fa,進(jìn)一步地,再將layer2、layer4與Fa進(jìn)行特征融合,得到特征提取網(wǎng)絡(luò)的輸出。
1.2.1通道注意力模塊
在深層特征中,通道圖之間是彼此相關(guān)聯(lián)的,網(wǎng)絡(luò)學(xué)習(xí)到通道圖之間的相關(guān)性十分重要。學(xué)習(xí)通道圖之間的依賴關(guān)系,不僅可以增強(qiáng)特征圖內(nèi)部之間的依賴,獲取豐富的語境信息,還可以提高特征的表示能力。因此,本文使用注意力模塊來學(xué)習(xí)通道圖之間的相關(guān)性,將通道圖之間的相關(guān)性作為權(quán)重,把通道圖與權(quán)重相乘再求和作為新的通道圖,實(shí)現(xiàn)通道層面更好的特征融合。如圖3所示,是通道注意力機(jī)制模塊的具體實(shí)現(xiàn)。
圖3 通道注意力模塊結(jié)構(gòu)
局部特征提取網(wǎng)絡(luò)輸出的特征F作為注意力模塊的輸入,該特征分別經(jīng)過兩個(gè)全局平均池化層,得到特征Favg1和Favg2。使用1×1的池化層代替全連接層不僅減小了計(jì)算量,且有助于網(wǎng)絡(luò)推理出更加準(zhǔn)確的注意力映射。
Favg1=Avgpool(F)
(1)
Favg2=Avgpool(F)
(2)
再將Favg1和Favg2相乘并經(jīng)過Softmax層,將權(quán)重值歸一化,得到注意力映射AMchannel。
AMchannel=softmax(Favg1×Favg2)
(3)
同時(shí),F(xiàn)經(jīng)過1×1的卷積層得到F1×1,再將F1×1與注意力機(jī)制映射AMchannel相乘,最后與輸入特征F相加,即得到最終的輸出Fc。
Fc=AMchannel×F1×1+F
(4)
1.2.2空間注意力模塊
在網(wǎng)絡(luò)深層提取的特征對(duì)細(xì)節(jié)信息的感知力較差,含有較少的空間位置信息,而捕獲大范圍的語境信息是提高匹配精度的關(guān)鍵,本文使用空間注意力模塊來解決這一問題。計(jì)算空間中某一像素點(diǎn)與其他位置像素點(diǎn)的特征相似度作為權(quán)重,將權(quán)重與位置信息加權(quán)得到該像素點(diǎn)新的特征。因此,空間中任意位置都聚合了其他位置的信息,特征中包含有豐富的位置信息。空間注意力模塊的具體實(shí)現(xiàn)如圖4所示。
圖4 空間注意力模塊結(jié)構(gòu)
空間注意力模塊的實(shí)現(xiàn)與通道注意力模塊是類似的。輸入特征為F,F(xiàn)先經(jīng)過一個(gè)全局平均池化層再通過1×1的卷積層得到F1與F2,將F1與F2相乘后的特征圖經(jīng)過Softmax層得到注意力機(jī)制映射AMspatial,C表示1×1的卷積操作。
AMspatial=softmax(C(F1)×C(F2))
(5)
此外,F(xiàn)經(jīng)過1×1的卷積得到特征F3,將特征F3與注意力映射AMspatial相乘后再與輸入特征F相加,即為最終通道注意力機(jī)制模塊的輸出Fs。
Fs=AMspatial×F3+F
(6)
在網(wǎng)絡(luò)中加入空間注意力模塊,不僅使特征中融入了豐富的語境信息,還提高了特征內(nèi)部的關(guān)聯(lián)。
1.2.3特征融合
空間注意力模塊的輸出特征Fs和通道注意力模塊輸出特征Fc相加融合后的特征,即為注意力模塊的輸出特征。輸出的特征再與殘差模塊layer2、layer4的特征進(jìn)行特征融合,得到特征提取網(wǎng)絡(luò)提取的特征。該特征中包含豐富的語境信息,有助于推測(cè)出準(zhǔn)確的視差圖。
在MC-CNN[25]和GC-Net[15]中,匹配代價(jià)集的構(gòu)建是直接把特征提取網(wǎng)絡(luò)得到的左圖和右圖特征圖串聯(lián),再利用深度網(wǎng)絡(luò)構(gòu)建匹配代價(jià)集,得到的匹配代價(jià)集是一個(gè)三維向量。本文采用的方法是沿著視差的維度,把左右特征圖串聯(lián)起來,形成一個(gè)4維的向量作為匹配代價(jià)集。
在PSMNet[16]網(wǎng)絡(luò)中,hourglass利用編碼解碼結(jié)構(gòu)使得特征中包含豐富的信息,并將三個(gè)hourglass塊串聯(lián)。同時(shí),在三個(gè)hourglass塊之間用跳層連接。本文在PSMNet[16]工作的基礎(chǔ)上,提出了如圖5所示的代價(jià)聚合網(wǎng)絡(luò)。
圖5 代價(jià)聚合模塊網(wǎng)絡(luò)結(jié)構(gòu)
與PSMNet相比,本文方法對(duì)代價(jià)聚合模塊做了以下幾點(diǎn)改進(jìn):1) 在hourglass的第四個(gè)卷積層后,增加一個(gè)3×3的卷積層Conv5,并把Conv5與Conv3用卷積層連接起來(具體如圖6所示);2) 在尺寸1/4H×1/4W、1/8H×1/8W、1/16H×1/16W的特征層分別進(jìn)行特征融合,以使學(xué)習(xí)到的特征包含更豐富的語境信息;3) 取消三個(gè)hourglass塊與3DConv2之間的連接,以減少計(jì)算代價(jià)。
圖6 hourglass網(wǎng)絡(luò)結(jié)構(gòu)
本文采用的損失函數(shù)為SmoothL1。
(7)
式中:λi表示的是第i個(gè)視差預(yù)測(cè)的權(quán)重;di表示的是預(yù)測(cè)的第i個(gè)視差圖;d*表示視差值的真值。
(8)
式中:x表示預(yù)測(cè)視差值與視差真值之間的差值。
在SceneFlow[13]數(shù)據(jù)集以及KITTI[26-27]數(shù)據(jù)集上,對(duì)本文提出的立體匹配算法進(jìn)行評(píng)估。
Scene Flow[13]數(shù)據(jù)集:用于網(wǎng)絡(luò)的預(yù)訓(xùn)練,是一個(gè)大規(guī)模的合成數(shù)據(jù)集,由Flyingthings 3D、Driving和Monkaa三個(gè)數(shù)據(jù)集構(gòu)成。數(shù)據(jù)集中包含雙目立體圖像對(duì)以及視差圖的真值數(shù)據(jù),共有35 454組訓(xùn)練數(shù)據(jù)和4 370組測(cè)試數(shù)據(jù)。圖像的分辨率為960×540。
KITTI 2012[26]:包含從車上拍攝的街景真實(shí)場(chǎng)景數(shù)據(jù),包含194組訓(xùn)練數(shù)據(jù)以及195組測(cè)試數(shù)據(jù)。訓(xùn)練集中包含雙目立體圖像以及視差圖真值數(shù)據(jù),真值數(shù)據(jù)由Lidar生成,測(cè)試集中無視差圖的標(biāo)簽數(shù)據(jù)。
KITTI 2015[27]:KITTI 2015是KITTI 2012數(shù)據(jù)集的擴(kuò)充,包含200組訓(xùn)練數(shù)據(jù)和200組測(cè)試數(shù)據(jù),訓(xùn)練數(shù)據(jù)中包含雙目立體圖像對(duì)和視差圖的真值數(shù)據(jù),視差的真值數(shù)據(jù)是由Lidar產(chǎn)生,測(cè)試集中僅包含雙目立體圖像對(duì)。圖像的分辨率為1 242×375。
對(duì)于SceneFlow[13]數(shù)據(jù)集,使用EPE(預(yù)測(cè)視差值與該像素點(diǎn)視差真值之差的絕對(duì)值的平均值)作為評(píng)估指標(biāo)。KITTI[26-27]數(shù)據(jù)集評(píng)估指標(biāo)為3-px-error(誤差大于三個(gè)像素點(diǎn)的像素占所有像素的比例)。
本文提出的立體匹配網(wǎng)絡(luò)使用PyTorch搭建,在預(yù)訓(xùn)練和微調(diào)的過程中,均使用Adam[28]優(yōu)化器,具體參數(shù)設(shè)置為β1=0.9,β2=0.999。訓(xùn)練整個(gè)網(wǎng)絡(luò)用一張Nvidia 1080 Ti,batchsize設(shè)置為2。
預(yù)訓(xùn)練使用SceneFlow數(shù)據(jù)集,一共訓(xùn)練17個(gè)epoch,學(xué)習(xí)率固定為0.001。網(wǎng)絡(luò)輸入圖像的分辨率為960×540,經(jīng)過網(wǎng)絡(luò)處理后得到大小為960×540的視差圖,視差最大值設(shè)置為192。使用KITTI數(shù)據(jù)集在預(yù)訓(xùn)練模型的基礎(chǔ)之上進(jìn)行微調(diào),共訓(xùn)練1 000個(gè)epoch,前600個(gè)epoch的學(xué)習(xí)率設(shè)置為0.001,后400個(gè)epoch的學(xué)習(xí)率設(shè)置為0.000 1。KITTI 2015共有200組數(shù)據(jù),其中160組作為訓(xùn)練集,余下的40組數(shù)據(jù)作為測(cè)試集。KITTI 2012 共有194組數(shù)據(jù),160組數(shù)據(jù)作為訓(xùn)練集,另外34組數(shù)據(jù)作為測(cè)試集。
本文提出的方法分別在SceneFlow[13]數(shù)據(jù)集和KITTI數(shù)據(jù)集上進(jìn)行評(píng)估,與已有的一些匹配效果較好的方法如DispNet[13]、CRL[14]、GC-Net[15]、PSMNet[16]等方法進(jìn)行對(duì)比。在SceneFlow[13]數(shù)據(jù)集上,使用EPE作為評(píng)估指標(biāo),幾種方法的評(píng)估結(jié)果如表1所示??梢钥闯?,在SceneFlow[13]合成數(shù)據(jù)集上,本文提出的算法誤差更小,與PSMNet[16]相比,誤差減小了0.2,結(jié)果證明了本文算法的有效性。
表1 不同算法在SceneFlow數(shù)據(jù)集上的誤差
使用KITTI[26-27]測(cè)試集對(duì)本文算法進(jìn)行測(cè)試,把生成的視差圖提交到KITTI[26-27]網(wǎng)站上進(jìn)行評(píng)估,結(jié)果如表2所示,將測(cè)試集在整個(gè)圖像區(qū)域和非遮擋區(qū)域分別進(jìn)行評(píng)估。其中:All表示圖像的整個(gè)區(qū)域;Noc表示圖像中非遮擋區(qū)域;D1-all表示所有區(qū)域;D1-fg表示圖像的前景區(qū)域;D1-bg表示圖像后景區(qū)域。表格的最后一行是生成一幅視差圖算法所耗的時(shí)間。
表2 各種方法在KITTI 2015上的評(píng)估
可以看出,本文方法在一些指標(biāo)上有一定的優(yōu)勢(shì),如在D1-all和D1-bg視差圖誤差更小。本文方法與PSMNet[16]相比,在圖像整個(gè)區(qū)域(All)上,背景區(qū)域的誤差(D1-bg)減少了0.13百分點(diǎn),整個(gè)區(qū)域(D1-all)的誤差減少0.08百分點(diǎn);在非遮擋區(qū)域(Noc),背景區(qū)域(D1-bg)誤差減少了0.12百分點(diǎn),整個(gè)區(qū)域(D1-all)的誤差減少了0.11百分點(diǎn)。但本文算法在前景區(qū)域(D1-fg)誤差較大,主要由于前景區(qū)域中含有車輛、樹木等物體,在物體細(xì)節(jié)處(如樹葉處)立體匹配誤差較大。此外,本文實(shí)驗(yàn)中代價(jià)聚合模塊使用hourglass編碼解碼結(jié)構(gòu),與未使用類似編碼解碼結(jié)構(gòu)的網(wǎng)絡(luò)如CRL[14]相比,在整個(gè)區(qū)域和非遮擋區(qū)域中,D1-all誤差明顯減小,平均誤差減少了0.165,由此證明了hourglass結(jié)構(gòu)有助于解決遮擋區(qū)域等問題區(qū)域的誤匹配問題。因此,本文算法在背景區(qū)域上的匹配有一定的優(yōu)勢(shì),且在含遮擋像素的區(qū)域匹配精度更高,視差圖更精確。
圖7是本文算法與PSMNet[16]實(shí)驗(yàn)結(jié)果對(duì)比圖。從矩形框標(biāo)出的區(qū)域可以看出,本文算法匹配與PSMNet[16]相比,結(jié)果更具健壯性。由于本文算法中加入注意力模塊提取含有豐富語境信息的特征,視差預(yù)測(cè)更加精確,且整個(gè)視差圖的平均誤差更小。
圖7 KITTI 2015實(shí)驗(yàn)效果圖
在KITTI 2012[26]數(shù)據(jù)集上,將本文算法AMSN與一些目前性能較好的算法如GC-Net[15]、PSMNet[16]、iResNet-i2[29]進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果如表3所示。其中:All表示圖像的整個(gè)區(qū)域;Noc表示圖像的非遮擋區(qū)域。
表3 各種方法在KITTI 2012上的評(píng)估(%)
可以看出,本文方法在匹配精度上有一定的優(yōu)勢(shì)。在圖像整個(gè)區(qū)域(All),誤差大于3像素的點(diǎn)占所總像素?cái)?shù)比例為1.78%,與PSMNet[16]相比,精度提升了5.8%;在圖像的非遮擋區(qū)域(Noc),三像素誤差(3-px-error)為1.38%,比PSMNet[16]降低了7.3%的誤差。此外,與iResNet-i2[29]相比,本文算法在代價(jià)聚合網(wǎng)絡(luò)加入hourglass塊,在整個(gè)區(qū)域和非遮擋區(qū)域三像素誤差(3-px-error)分別減少0.33和0.38。由此看出hourglass塊的編碼解碼結(jié)構(gòu)對(duì)于解決遮擋區(qū)域誤匹配問題的有效性。因此,本文算法在遮擋區(qū)域的匹配有一定的優(yōu)勢(shì)。
圖8是本文算法與PSMNet[16]在KITTI 2012數(shù)據(jù)集上的視差圖與誤差圖的對(duì)比??梢钥闯?,本文方法在匹配精確度上具有優(yōu)勢(shì),整個(gè)結(jié)果更具健壯性,在整個(gè)圖像區(qū)域上,本文算法進(jìn)行匹配的平均誤差更小,匹配更加精準(zhǔn)。
圖8 KITTI 2012實(shí)驗(yàn)效果圖
本文在PSMNet[16]的基礎(chǔ)上做了一些改進(jìn),如殘差塊結(jié)構(gòu)的調(diào)整(Layers Rearrange)、增加了注意力模塊(Attention Module)、hourglass塊結(jié)構(gòu)進(jìn)行了調(diào)整(Modified Hourglass1),以及去掉hourglass塊之間的連接(Modified Hourglass2)。實(shí)驗(yàn)分別在KITTI[26-27]和SceneFlow[13]數(shù)據(jù)集上評(píng)估基于注意力機(jī)制的立體匹配算法(AMSN)的性能。對(duì)比實(shí)驗(yàn)結(jié)果如表4所示。
表4 不同設(shè)置對(duì)AMSN的評(píng)估
可以看出,使用注意力機(jī)制模塊的網(wǎng)絡(luò)在KITTI[26-27]和SceneFlow[13]數(shù)據(jù)集上的誤差更小。在對(duì)hourglass塊結(jié)構(gòu)進(jìn)行調(diào)整之后,3-px-error有所減小,去掉hourglass塊之間的連接后3-px-error進(jìn)一步減小。為了使特征中融入更多的淺層信息,在局部特征提取網(wǎng)絡(luò)給淺層的殘差網(wǎng)絡(luò)分配更多的塊數(shù),并在特征提取網(wǎng)絡(luò)中加上注意力機(jī)制模塊捕獲全局信息,使得特征中包含豐富的語境信息。代價(jià)聚合模塊中做了進(jìn)一步的特征融合,有助于更加準(zhǔn)確的視差預(yù)測(cè)。因此,在立體匹配網(wǎng)絡(luò)中對(duì)殘差塊進(jìn)行調(diào)整,融入注意力機(jī)制模塊并對(duì)代價(jià)聚合網(wǎng)絡(luò)進(jìn)行改進(jìn),取得了較好的實(shí)驗(yàn)效果,在KITTI 2015[27]上的誤差為1.80%,超越了已有一些性能較好的算法(如PSMNet[16])。
本文提出基于注意力機(jī)制的立體匹配算法,在特征提取網(wǎng)絡(luò)用注意力模塊探索全局語境信息,為代價(jià)聚合網(wǎng)絡(luò)提供具有含有豐富語境信息的特征。在SceneFlow[13]以及KITTI[26-27]數(shù)據(jù)集上分別進(jìn)行實(shí)驗(yàn),與傳統(tǒng)的匹配算法和部分基于學(xué)習(xí)的性能較好的算法相比,本文提出的基于注意力機(jī)制的立體匹配網(wǎng)絡(luò)有以下幾點(diǎn)優(yōu)勢(shì):1) 將通道和空間注意力模塊融入立體匹配網(wǎng)絡(luò)捕獲全局信息,提取包含豐富語境信息的特征;2) 對(duì)hourglass塊進(jìn)行改進(jìn),提高匹配精度且減少內(nèi)存消耗;3) 在SceneFlow[13]和KITTI[26-27]數(shù)據(jù)集上獲得了較好的效果,提高視差匹配精度,并減少了在遮擋區(qū)域等的誤匹配問題。但其也有不足之處:如在圖像前景區(qū)域,物體細(xì)節(jié)處預(yù)測(cè)出視差的誤差相對(duì)較大。未來,研究重點(diǎn)將放在減小前景區(qū)域誤差以及對(duì)網(wǎng)絡(luò)的進(jìn)一步優(yōu)化。