張瑞峰 任國明 李鏘 段子陽,2
(1.天津大學(xué) 微電子學(xué)院,天津 300072;2.中國電子科技集團公司 第五十三研究所,天津 300300)
立體匹配,又稱視差估計,是計算機視覺領(lǐng)域的研究熱點之一,廣泛應(yīng)用于自動駕駛、三維重建和增強現(xiàn)實等領(lǐng)域[1- 3]。立體匹配的目標(biāo)是從立體圖像對中尋找像素點之間的匹配關(guān)系,進而生成視差圖。由于自然場景中存在大量的病態(tài)區(qū)域,如遮擋區(qū)域、弱紋理區(qū)域和反光區(qū)域等,因此直接從立體圖像中尋找匹配像素點是一項極具價值和挑戰(zhàn)性的任務(wù)。
立體匹配算法可以歸結(jié)為匹配代價計算、代價聚合、視差計算和視差優(yōu)化4個步驟[4]。近年來,得益于硬件計算能力的提升和大規(guī)模數(shù)據(jù)集的出現(xiàn),卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在計算機視覺領(lǐng)域顯示出了一定的優(yōu)勢;因此,研究人員開始將注意力轉(zhuǎn)向利用CNN處理立體匹配問題,取得了遠優(yōu)于傳統(tǒng)算法的匹配效果。在初期階段,許多研究工作試圖利用CNN構(gòu)建具有特定功能的模塊,用以取代上述4個步驟中的某一項。bontar等[5]率先提出使用CNN計算匹配代價,并設(shè)計連體(Siamese)卷積神經(jīng)網(wǎng)絡(luò)用以度量小圖像塊之間的相似性;針對代價聚合步驟,Seki等[6]提出半全局匹配網(wǎng)絡(luò)(SGM-Nets),該方法利用CNN學(xué)習(xí)半全局匹配(Semi-Global Matching,SGM)算法中的懲罰項參數(shù)。
此類方法與傳統(tǒng)算法相比雖然匹配精度有所提升,但是在圖像的病態(tài)區(qū)域仍然難以獲得準(zhǔn)確的匹配結(jié)果,而且仍需添加人工設(shè)計的后處理步驟,限制了其在實際場景中的應(yīng)用。最近,端對端(End-to-End)深度網(wǎng)絡(luò)模型由于其強大的表征能力和擬合能力在許多計算機視覺任務(wù)中取得顯著成效(如語義分割、目標(biāo)檢測等[7- 8])。受此啟發(fā),端對端立體匹配網(wǎng)絡(luò)應(yīng)運而生。Mayer等[9]首先提出端對端立體匹配網(wǎng)絡(luò)DispNet,該網(wǎng)絡(luò)利用一維相關(guān)層(Correlation Layer)計算匹配代價,并利用帶有短連接的收縮和擴張網(wǎng)絡(luò)來預(yù)測視差;該研究還創(chuàng)建了大規(guī)模合成數(shù)據(jù)集SceneFlow,該數(shù)據(jù)集適用于訓(xùn)練和評估立體匹配網(wǎng)絡(luò),極大地推動了端對端立體匹配方法的發(fā)展。為了使網(wǎng)絡(luò)能夠?qū)W習(xí)完整的表征,Kendall等[10]構(gòu)建了匹配代價卷(Matching Cost Volume),并利用多尺度三維卷積對代價卷正則化以達到優(yōu)化視差的目的。
眾所周知,CNN由于其自身的層級結(jié)構(gòu)從而具備學(xué)習(xí)多層次、多尺度特征的能力[11]。研究表明[12],在尋找立體圖像中像素點之間的匹配關(guān)系時往往需要同時兼顧高層和低層圖像特征;高層特征具有豐富的語義信息,有助于改善弱紋理區(qū)域和遮擋區(qū)域的匹配效果;而低層特征包含更多的局部信息,有助于提高細小結(jié)構(gòu)和物體邊界的匹配精度。所以,如何對多尺度/多層次特征進行有效融合是設(shè)計立體匹配網(wǎng)絡(luò)時需要思考的重要問題之一。Chang等[12]通過引入空間金字塔池化模塊(Spatial Pyramid Pooling,SPP)將局部和全局信息融合到圖像特征中,以此來改善匹配效果。Nie等[13]設(shè)計獨立的子模塊進行多級特征融合,擴大了網(wǎng)絡(luò)的感受野,能夠捕獲更多的上下文信息。
另一方面,如何設(shè)計高效的代價聚合網(wǎng)絡(luò)對于改善立體匹配效果也是至關(guān)重要的。為了改善代價聚合效果可采用級聯(lián)聚合策略,該策略的代價聚合部分是由相同結(jié)構(gòu)的子網(wǎng)絡(luò)模塊級聯(lián)而成的,例如PSMNet[12]、MCUA[13]和GwcNet[14]的子網(wǎng)絡(luò)模塊采用編解碼(Encode-Decode)結(jié)構(gòu),StereoDRNet[15]的子網(wǎng)絡(luò)模塊采用多分支結(jié)構(gòu)。雖然這種聚合方式取得了不錯的效果,但是該方式具有不可忽視的缺陷,即網(wǎng)絡(luò)的參數(shù)量會隨著級聯(lián)子網(wǎng)絡(luò)數(shù)目的增加而急劇增長。網(wǎng)絡(luò)參數(shù)量過大不但會使網(wǎng)絡(luò)出現(xiàn)過擬合問題,而且還會占用大量的存儲空間,導(dǎo)致其難以應(yīng)用于實際場景中。因此,如何權(quán)衡匹配效果和網(wǎng)絡(luò)參數(shù)量之間的矛盾成為設(shè)計立體匹配網(wǎng)絡(luò)時另一個至關(guān)重要的問題。
針對上述兩個存在于端對端立體匹配網(wǎng)絡(luò)的問題,本研究提出一種基于多階融合與循環(huán)聚合的立體匹配網(wǎng)絡(luò)MFRANet(Multi-stage Fusion and Recurrent Aggregation Network),該網(wǎng)絡(luò)在網(wǎng)絡(luò)特征提取階段設(shè)計多階融合模塊用于融合多尺度/多層次特征,對于代價聚合部分,提出循環(huán)代價聚合機制,對匹配代價卷不斷地進行循環(huán)式聚合優(yōu)化;并通過KITTI 2012/2015和SceneFlow兩個公開數(shù)據(jù)集對網(wǎng)絡(luò)進行訓(xùn)練和測試,對該網(wǎng)絡(luò)與其他端對端立體匹配網(wǎng)絡(luò)的性能進行了對比研究。
文中提出的基于卷積神經(jīng)網(wǎng)絡(luò)的端對端立體匹配網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1所示。在該網(wǎng)絡(luò)中,原始立體圖像首先經(jīng)過基于多階特征融合的特征提取網(wǎng)絡(luò)產(chǎn)生左、右兩組特征圖,這兩組特征圖被重構(gòu)為匹配代價卷;然后,利用循環(huán)代價聚合模塊對初始匹配代價卷進行聚合優(yōu)化;最后,經(jīng)優(yōu)化的匹配代價卷由視差計算模塊生成預(yù)測視差圖。
研究表明[11],CNN可以提取多尺度、金字塔型的圖像特征,高分辨率的低層特征聚焦于局部細節(jié)信息,而低分辨率的高層特征包含豐富的語義信息。將不同層次的特征進行融合對于處理許多計算機視覺問題大有脾益,立體匹配任務(wù)亦是如此。文中提出的基于多階特征融合的特征提取網(wǎng)絡(luò)如圖2所示。該網(wǎng)絡(luò)主要由多尺度特征提取和多階段特征融合兩部分構(gòu)成。輸入圖像首先經(jīng)過由2D卷積層堆疊而成的多尺度特征提取模塊,生成多尺度特征。圖中多尺度特征提取部分不同大小的矩形表示不同尺度的特征圖,相鄰尺度的特征之間分辨率相差一倍,即下采樣率為2(利用步幅為2的卷積層實現(xiàn)下采樣)。這些特征具有從高到低的分辨率,代表著由弱到強的語義表達能力。如果僅利用語義信息較強的低分辨率特征圖進行匹配,會導(dǎo)致匹配結(jié)果缺少細節(jié)信息;相反地,僅依靠語義信息較弱但細節(jié)信息豐富的高分辨率特征圖進行匹配,則會降低網(wǎng)絡(luò)對于圖像病態(tài)區(qū)域的匹配精度。因此,文中提出一種多階段特征融合模塊,用于對多尺度特征進行有效融合。
圖2 基于多階特征融合的特征提取網(wǎng)絡(luò)
由于不同尺度的特征之間存在語義鴻溝,特征之間尺度差距越大,語義鴻溝就越明顯,融合就越困難。為了減輕語義鴻溝,文中采用多階段、逐步式的特征融合策略:從高到低依次選擇尺度最鄰近的特征進行兩兩融合,這使得語義信息可以從高層特征流向低層特征,實現(xiàn)多層次多尺度特征的充分融合。特征融合的具體細節(jié)如圖3所示,高層特征首先經(jīng)過3×3卷積層,然后利用上采樣層(利用雙線性插值算法實現(xiàn))將特征分辨率擴大2倍;低層特征經(jīng)過1×1卷積層后與高層特征相加,相加的結(jié)果經(jīng)ReLU函數(shù)激活后,一方面與更低層特征進行融合,另一方面?zhèn)鬟f到特征融合的下一個階段。不斷重復(fù)這一過程,最后得到的特征將會包含所有層次、所有尺度的特征信息。由于GPU內(nèi)存的限制,文中選擇對4個特征尺度進行融合,分別為原始輸入圖像尺寸的1/4、1/8、1/16和1/32,輸出特征尺寸為輸入圖像的1/4。不難發(fā)現(xiàn),若將特征融合的第2、3階段移除,則剩余部分與特征金字塔(Feature Pyramid,FP)結(jié)構(gòu)較為相似[16],因此文中所提出的結(jié)構(gòu)可以視為對特征金字塔結(jié)構(gòu)的改進,在后續(xù)實驗中將對這兩種結(jié)構(gòu)進行對比研究。
圖3 特征融合細節(jié)
與GCNet中構(gòu)建代價卷的方法相同[10],本研究將左、右特征圖沿著視差維度平移并進行拼接(Concatenate),得到4維(長度×寬度×視差值×特征數(shù)目)初始匹配代價卷。
卷積神經(jīng)網(wǎng)絡(luò)生成的特征盡管具有強大的表征能力,但仍需要經(jīng)過代價聚合對初始代價卷進行調(diào)整優(yōu)化以獲得更好的匹配效果。無論是傳統(tǒng)立體匹配算法,還是基于深度學(xué)習(xí)的立體匹配網(wǎng)絡(luò),其代價聚合階段可統(tǒng)一表示為
如何設(shè)計高效的代價聚合函數(shù)F是立體匹配研究的重點。許多立體匹配網(wǎng)絡(luò)使用級聯(lián)聚合策略進行代價聚合,如PSMNet[12]、GwcNet[14]、StereoDRNet[15]等,均取得了不錯的效果。級聯(lián)代價聚合機制可表示為
(1)
各個子網(wǎng)絡(luò)具有相同的拓?fù)浣Y(jié)構(gòu)(常由3維卷積模塊構(gòu)成)和相互獨立的網(wǎng)絡(luò)參數(shù),初始匹配代價卷被級聯(lián)的子網(wǎng)絡(luò)不斷聚合優(yōu)化。在一定范圍內(nèi),聚合的效果隨著級聯(lián)子網(wǎng)絡(luò)數(shù)量的增加而改善。雖然這種方式提高了聚合性能,但是這種方式也帶來相應(yīng)的問題——網(wǎng)絡(luò)的參數(shù)量隨著級聯(lián)子網(wǎng)絡(luò)數(shù)量的增加而急劇增加,這無疑加大了訓(xùn)練和存儲網(wǎng)絡(luò)的難度。而且,由于3維卷積本身就具有參數(shù)量大的特點,這使得級聯(lián)聚合網(wǎng)絡(luò)的參數(shù)量問題更加凸顯。
為了改善聚合效果和降低網(wǎng)絡(luò)的參數(shù)量,文中提出循環(huán)代價聚合機制,以循環(huán)的方式對初始匹配代價卷不斷地進行聚合優(yōu)化,其可表示為以下形式:
(2)
其中,F(xiàn)Δ與θΔ表示結(jié)構(gòu)相同且參數(shù)共享的聚合子網(wǎng)絡(luò)。
不難發(fā)現(xiàn),循環(huán)聚合可以視為級聯(lián)聚合的特殊形式。具體來講,匹配代價卷經(jīng)過聚合網(wǎng)絡(luò)處理后,其輸出繼續(xù)輸入至該聚合網(wǎng)絡(luò),不斷地循環(huán)這一過程以達到聚合優(yōu)化的目的。假設(shè)循環(huán)聚合次數(shù)為N次,那么代價聚合網(wǎng)絡(luò)可以展開為N個子網(wǎng)絡(luò),這些子網(wǎng)絡(luò)具有相同的網(wǎng)絡(luò)結(jié)構(gòu)、共享的網(wǎng)絡(luò)參數(shù)。通常而言,卷積神經(jīng)網(wǎng)絡(luò)具有“Go Deeper Go Better”的特點,即神經(jīng)網(wǎng)絡(luò)層數(shù)越深,網(wǎng)絡(luò)對輸入特征抽象層次越高,擬合能力越強,網(wǎng)絡(luò)性能就越好。而網(wǎng)絡(luò)層數(shù)的加深會引入大量的參數(shù),易產(chǎn)生過擬合問題,降低網(wǎng)絡(luò)的泛化能力,從而導(dǎo)致網(wǎng)絡(luò)性能降低。與級聯(lián)聚合方式相比,循環(huán)聚合網(wǎng)絡(luò)的參數(shù)量不會因網(wǎng)絡(luò)的加深而增加,因此在改善聚合效果的同時不引入過多的參數(shù)量。
文獻[17- 18]研究表明,多尺度信息對代價聚合步驟也具有重要的影響,代價聚合過程中融合不同尺度的代價卷信息可以獲得更準(zhǔn)確的視差預(yù)測結(jié)果。因此,為了使網(wǎng)絡(luò)在聚合階段利用到更多尺度的代價信息,本研究將聚合子網(wǎng)絡(luò)設(shè)置為沙漏型(Hourglass)結(jié)構(gòu),如圖4所示。首先采用從上至下(Top to Down)的方式生成多尺度代價卷,然后采用由下至上(Bottom to Up)的方式對不同尺度的代價卷進行聚合優(yōu)化,因此可以有效地融合不同尺度的代價信息,改善代價聚合的效果,從而提高網(wǎng)絡(luò)的匹配精度。
圖4 循環(huán)聚合網(wǎng)絡(luò)結(jié)構(gòu)圖
此外,如何對循環(huán)聚合網(wǎng)絡(luò)進行訓(xùn)練也是一個重要問題。假如僅對網(wǎng)絡(luò)最后的輸出結(jié)果(也就是最后一次循環(huán)的輸出)施加監(jiān)督,那么整個聚合過程成為“黑盒(Black Box)”,循環(huán)聚合的中間過程將難以控制。為了使循環(huán)聚合網(wǎng)絡(luò)實現(xiàn)逐步式(漸進式)的優(yōu)化效果,將深度監(jiān)督機制整合到循環(huán)聚合網(wǎng)絡(luò)中。具體來說,在訓(xùn)練循環(huán)網(wǎng)絡(luò)時對每次循環(huán)聚合的輸出都施加監(jiān)督,使得每次循環(huán)的結(jié)果都向最優(yōu)目標(biāo)逐步接近,這種方式提高了學(xué)習(xí)過程的直接性和透明性。而且當(dāng)進行反向傳播時,所有中間監(jiān)督損失的梯度將會相加。因此,深度監(jiān)督的引入可以有效地緩解由于網(wǎng)絡(luò)層數(shù)加深而導(dǎo)致的梯度消失問題,降低網(wǎng)絡(luò)訓(xùn)練難度。
為了得到預(yù)測的視差圖,首先利用三維卷積層將聚合優(yōu)化后的四維匹配代價卷轉(zhuǎn)換為三維,然后使用雙線性插值算法對匹配代價進行上采樣,最后使用Soft Argmin算法計算視差值。視差計算模塊結(jié)構(gòu)如圖5所示。
圖5 視差計算模塊結(jié)構(gòu)圖
Soft Argmin算法是由Kendall等[10]在GCNet中提出的,使用該算法可以根據(jù)匹配代價卷計算出具有亞像素(Sub-Pixel)視差值的視差圖,其計算公式如下:
(3)
(4)
其中:d表示視差值,Dmax表示最大視差值,cd,h,w表示像素點(h,w)在視差值d的匹配代價值,S(·)表示Softmax算子,Dh,w表示像素點(h,w)的預(yù)測視差值。
在測試階段,除了最后一個視差計算模塊外,其他所有視差計算模塊將被移除,這有助于提高模型運行速度。
本研究使用平滑的L1損失函數(shù)對網(wǎng)絡(luò)進行監(jiān)督訓(xùn)練,記為Lsmooth。與L2損失函數(shù)相比,Lsmooth損失函數(shù)對離群點、異常值不敏感,且在一定程度上緩解了梯度爆炸問題,使得網(wǎng)絡(luò)訓(xùn)練過程更加穩(wěn)定[19]。Lsmooth損失函數(shù)的數(shù)學(xué)表達式為
(5)
由于深度監(jiān)督機制的引入,最終的損失函數(shù)定義如下:
(6)
本研究采用立體匹配領(lǐng)域主流的KITTI 2012/2015[20- 22]和SceneFlow[9]數(shù)據(jù)集對網(wǎng)絡(luò)進行訓(xùn)練和測試。KITTI 2012/2015是由車載LiDAR獲取的真實街景立體數(shù)據(jù)集,數(shù)據(jù)集中的真實視差值是稀疏的,圖像尺寸為376像素×1 240像素;該數(shù)據(jù)集來源于真實場景,可以有效地提高網(wǎng)絡(luò)的實用性;在實驗中,隨機選取其中的160對立體圖像作為訓(xùn)練集,其余的立體圖像作為測試集。SceneFlow是合成數(shù)據(jù)集,該數(shù)據(jù)集的訓(xùn)練集部分包含22 390對立體圖像,測試集部分包含4 370對立體圖像;數(shù)據(jù)集中的真實視差值為密集的而不是稀疏的;該數(shù)據(jù)集具有大量的訓(xùn)練圖像,可以有效地避免因訓(xùn)練數(shù)據(jù)過少導(dǎo)致的過擬合問題。
本研究采用兩種當(dāng)前通用的評價指標(biāo),用以評估算法的匹配效果。
1)t像素誤差率(tPixel Error,>tPE)
t像素誤差率是指預(yù)測視差值與真實視差值的誤差絕對值大于t的像素數(shù)量占像素總數(shù)量的百分比,其計算公式如下:
(7)
2)終點誤差(End-Point Error,EEP)
終點誤差是指預(yù)測視差值與真實視差值之間的平均歐氏距離,單位為像素(Pixels);其計算公式如下:
(8)
其中:N是圖像像素點總數(shù),d(x,y)是像素點(x,y)的預(yù)測視差值,dGT(x,y)是像素點(x,y)的真實視差值,t是視差誤差閾值。
這兩種評價指標(biāo)數(shù)值越小,意味著預(yù)測視差與真實視差之間的差異越小,算法的匹配效果越佳。
本研究利用深度學(xué)習(xí)平臺Pytorch實現(xiàn)所提出的網(wǎng)絡(luò)模型[23]。在訓(xùn)練開始之前,對數(shù)據(jù)進行預(yù)處理,首先對原始數(shù)據(jù)進行顏色歸一化處理,隨后將圖像隨機裁剪成尺寸為256像素×512像素(高度×寬度)的圖像塊。
在模型訓(xùn)練過程中,使用自適應(yīng)動量(Adaptive Momentum,AdaM)優(yōu)化算法對網(wǎng)絡(luò)進行端對端優(yōu)化。其中,一階矩估計的指數(shù)衰減率β1設(shè)置為0.9,二階矩估計的指數(shù)衰減率β2設(shè)置為0.999。訓(xùn)練過程如下:首先利用SceneFlow數(shù)據(jù)集對網(wǎng)絡(luò)訓(xùn)練10個周期,學(xué)習(xí)率設(shè)置為0.001;隨后在KITTI 2015數(shù)據(jù)集上對模型進行微調(diào)300個周期,學(xué)習(xí)率在前200個訓(xùn)練周期設(shè)置為0.001,之后的100個訓(xùn)練周期設(shè)置為0.000 1。在測試階段,將整張圖像作為網(wǎng)絡(luò)的輸入,目的是直接獲得整張圖像的視差預(yù)測結(jié)果。實驗中視差值上限和批處理大小分別設(shè)置為192和6。
對于特征提取模塊,文中研究了4種不同的網(wǎng)絡(luò)結(jié)構(gòu)對匹配結(jié)果的影響,包括:①GC-Net[10]使用的級聯(lián)殘差模塊結(jié)構(gòu)(每個模塊由兩層卷積核尺寸為3×3的卷積層構(gòu)成,共計8個殘差模塊,該結(jié)構(gòu)沒有進行任何多尺度特征融合操作);②PSMNet[12]使用的級聯(lián)殘差模塊+空間金字塔池化模塊(首先使用25個殘差模塊提取圖像特征,然后利用空間金字塔模塊提取多尺度特征并進行特征融合);③FPNet[16]提出的特征金字塔結(jié)構(gòu)模塊;④本研究提出的多階特征融合模塊。實驗結(jié)果如表1所示。
表1 不同特征提取模塊對匹配結(jié)果的影響
從實驗結(jié)果可以發(fā)現(xiàn),網(wǎng)絡(luò)結(jié)構(gòu)1與網(wǎng)絡(luò)結(jié)構(gòu)2、3、4的匹配效果具有顯著差距,原因在于網(wǎng)絡(luò)結(jié)構(gòu)1沒有進行特征融合,而其余方法采用了不同的特征融合策略,這表明多尺度特征融合對于端對端立體匹配任務(wù)有重要的影響。網(wǎng)絡(luò)結(jié)構(gòu)2采用的特征融合策略是利用拼接方式直接將各個尺度的特征拼接到一起;網(wǎng)絡(luò)結(jié)構(gòu)3與網(wǎng)絡(luò)結(jié)構(gòu)4相似,采用逐步式特征融合策略。實驗結(jié)果表明,相對于網(wǎng)絡(luò)結(jié)構(gòu)2、3,本研究提出的網(wǎng)絡(luò)結(jié)構(gòu)匹配精度更高,其中>3PE分別降低了0.47和0.24個百分點,EEP分別降低了0.07和0.03 Pixels,這表明本研究所提出的多階融合模塊可以有效地改善特征融合,從而提升模型整體性能,得到更為精準(zhǔn)的匹配結(jié)果。
在級聯(lián)聚合網(wǎng)絡(luò)中,子網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)對匹配結(jié)果有重要的影響。因此,本研究分析了在循環(huán)聚合機制下,不同代價聚合子網(wǎng)絡(luò)對模型整體性能的影響。研究的3種子網(wǎng)絡(luò)結(jié)構(gòu)分別為:①3D殘差模塊(其中每個模塊由兩層卷積核尺寸為3×3×3的3D卷積層構(gòu)成);②StereoDRNet[15]提出的3D空洞殘差模塊(即采用多分支結(jié)構(gòu),其中一個分支為殘差連接(即為恒等映射),其余分支為空洞率不同的3D卷積層,實驗中采用的空洞率分別為{1,2,4});③PSMNet[12]中提出的3D編解碼結(jié)構(gòu)。實驗結(jié)果如表2所示。
表2 不同代價聚合子網(wǎng)絡(luò)對匹配結(jié)果的影響
表2所示實驗結(jié)果表明,在循環(huán)聚合機制中,代價聚合子網(wǎng)絡(luò)的結(jié)構(gòu)對模型性能仍有十分重要的影響。3D編解碼模塊相較于其他兩種結(jié)構(gòu)具有更好的代價聚合效果,以>3PE和EEP為例,3D編解碼結(jié)構(gòu)比3D殘差結(jié)構(gòu)降低了1.17個百分點和0.22 Pixels,比3D空洞殘差結(jié)構(gòu)降低了1.02個百分點和0.19 Pixels。
表3 不同監(jiān)督模式對匹配結(jié)果的影響
由表3可見,采用深監(jiān)督方式對網(wǎng)絡(luò)進行訓(xùn)練可以有效地提高模型的匹配精度。相比于無監(jiān)督方式,均衡式監(jiān)督的>3PE降低了0.36個百分點、EEP降低了0.09 Pixels,漸進式監(jiān)督的>3PE降低了0.54個百分點、EEP降低了0.10 Pixels。另一方面,漸進式監(jiān)督的表現(xiàn)優(yōu)于均衡式監(jiān)督,這是由于均衡式監(jiān)督對于每次循環(huán)聚合的監(jiān)督程度是相同的,而漸進式監(jiān)督則是隨著循環(huán)聚合次數(shù)增加而逐漸增大對網(wǎng)絡(luò)的監(jiān)督程度,使得循環(huán)聚合網(wǎng)絡(luò)實現(xiàn)漸進式的聚合優(yōu)化效果,從而提升模型的整體匹配精度。
文中分析了循環(huán)和級聯(lián)兩種代價聚合機制,實驗結(jié)果如表4所示。對于級聯(lián)聚合機制來說,可以通過增加級聯(lián)子網(wǎng)絡(luò)數(shù)量的方式來改善代價聚合的效果,但是隨著子網(wǎng)絡(luò)的增加,模型參數(shù)量也隨之急劇增加,這無疑加大了運行和存儲網(wǎng)絡(luò)模型的難度。而對于循環(huán)聚合機制來說,通過增加循環(huán)代價聚合的次數(shù),網(wǎng)絡(luò)的匹配精度會不斷地提高,但是得益于循環(huán)機制中網(wǎng)絡(luò)參數(shù)共享的特點,網(wǎng)絡(luò)整體參數(shù)量基本不變(模型參數(shù)小幅度增加的原因在于循環(huán)次數(shù)增加,視差計算模塊也會隨之增加,而視差計算模塊中具有一定量的參數(shù),所以模型整體參數(shù)會少量地增加)。除此之外,兩種聚合機制也有相似之處:匹配精度不會隨著級聯(lián)子網(wǎng)絡(luò)數(shù)量/循環(huán)代價聚合次數(shù)的增長而無休止地提高,當(dāng)級聯(lián)/循環(huán)次數(shù)增加到一定程度時,網(wǎng)絡(luò)性能達到飽和,匹配精度不會進一步提升甚至出現(xiàn)下降的趨勢。
表4 不同聚合模式的比較及其對匹配結(jié)果的影響
另一方面,MFRANet所采用的循環(huán)代價聚合策略可以在運行速度與匹配精度之間進行有效權(quán)衡。循環(huán)代價聚合策略下匹配精度、運行時間和循環(huán)代價聚合次數(shù)的關(guān)系如圖6所示。
圖6 循環(huán)代價聚合策略下匹配精度、運行時間與循環(huán)代價聚合次數(shù)的關(guān)系
由圖6可見,隨著循環(huán)代價聚合次數(shù)的增加,運行時間會逐漸增加。匹配精度方面,對于KITTI 2015數(shù)據(jù)集,在循環(huán)代價聚合次數(shù)由1增加至4的過程中,誤匹配率逐漸降低,即匹配精度逐漸提升,當(dāng)循環(huán)次數(shù)增加至5時,誤匹配率升高,匹配精度降低;而對于KITTI 2012數(shù)據(jù)集,在循環(huán)代價聚合次數(shù)由1增加至5的過程中,誤區(qū)配率呈逐漸降低的趨勢。因此針對不同的任務(wù),可根據(jù)不同的需求設(shè)定不同的循環(huán)代價聚合次數(shù),實現(xiàn)精度與速度之間的權(quán)衡:對于要求高精度的任務(wù),可設(shè)置較多的循環(huán)聚合次數(shù)以得到較高精度的匹配結(jié)果;而對于要求實時性的任務(wù),可設(shè)置較少的循環(huán)聚合次數(shù)以實現(xiàn)較快的運行速度。
圖7是關(guān)于SceneFlow和KITTI數(shù)據(jù)集的兩張典型圖像及其預(yù)測視差圖。對于圖7(a),該圖中存在較多具有精細結(jié)構(gòu)的物體,且這些物體包含豐富的邊緣信息,例如位于圖7(a)中的座椅;對于圖7(b),該圖中存在大量難以匹配的病態(tài)區(qū)域,如車窗反光區(qū)域,道路兩旁的樹木、欄桿等。當(dāng)循環(huán)代價聚合次數(shù)為1時(見圖7(c)、7(d)),此時計算得到的視差圖精度較低,物體邊界部分較為模糊,存在較為明顯的誤匹配區(qū)域,但是隨著聚合優(yōu)化次數(shù)的增加,視差圖不斷地被精細化,邊緣逐漸變得整齊鋒利,精細結(jié)構(gòu)逐漸清晰,視差圖整體精度顯著提升。通過上述分析可知,文中提出的循環(huán)代價聚合策略具有漸進式的優(yōu)化效果,隨著循環(huán)次數(shù)的增加,視差預(yù)測結(jié)果不斷改善。
圖7 循環(huán)聚合網(wǎng)絡(luò)生成的視差圖
文中將MFRANet與其他端對端立體匹配網(wǎng)絡(luò)在SceneFlow測試集上的匹配效果進行比較。結(jié)果表明,MFRANet相較于其它網(wǎng)絡(luò)具有更為精準(zhǔn)的立體匹配結(jié)果,EEP值僅為0.92 Pixels;與PSMNet[12]相比,EEP值降低0.17 Pixels;與CRL[24]相比,EEP值降低0.40 Pixels;與GC-Net[10]相比,EEP值降低1.60 Pixels。
對于KITTI 2015數(shù)據(jù)集,使用數(shù)據(jù)集中的所有立體圖像(200對)對網(wǎng)絡(luò)模型進行微調(diào),然后將驗證誤差最小的結(jié)果提交至評估平臺。將文中所提出的方法(MFRANet)與KITTI基準(zhǔn)評估網(wǎng)站上的其他立體匹配方法進行比較,結(jié)果如表5所示。
表5 不同方法在KITTI 2015數(shù)據(jù)集上的立體匹配排行榜1)
由表5可見,與基于深度學(xué)習(xí)的非端對端立體匹配方法DRR[25]、SGM-Net[6]、MC-CNN-acrt[5]相比,MFRANet無論在遮擋區(qū)域還是非遮擋區(qū)域,匹配精度提升明顯。與DRR[25]相比,文中方法在全區(qū)域的背景區(qū)域、前景區(qū)域和全部區(qū)域的3-像素誤差率分別降低了0.80、1.69、0.95個百分點,在非遮擋區(qū)域的背景區(qū)域、前景區(qū)域和全部區(qū)域的3-像素誤差率分別降低了0.71、0.84、0.73個百分點;與當(dāng)前主流的端對端網(wǎng)絡(luò)PSMNet[12]相比,MFRANet在全區(qū)域的背景區(qū)域、前景區(qū)域和全部區(qū)域的3-像素誤差率分別降低0.08、0.27、0.11個百分點,在非遮擋區(qū)域的背景區(qū)域、前景區(qū)域和全部區(qū)域的3-像素誤差率分別降低0.08、0.28、0.11個百分點。
圖8所示為MFRANet、SegStereo[27]和PSM-Net[12]關(guān)于KITTI 2015數(shù)據(jù)集的視差預(yù)測圖及誤差圖,視差預(yù)測圖中的白色方框標(biāo)注的是對比位置。
觀察圖8所示結(jié)果可知,MFRANet對于圖像的病態(tài)區(qū)域、細小結(jié)構(gòu)和物體邊界具有較為準(zhǔn)確的匹配結(jié)果。例如,對于圖8(a)中的車窗反光區(qū)域,SegStereo[27]和PSMNet[12]均有不同程度的誤匹配,而文中方法在該區(qū)域得到精準(zhǔn)的匹配結(jié)果;對于圖8(b)中的樹木,與SegStereo[27]和PSM-Net[12]相比,MFRANet的匹配結(jié)果具有更為清晰整齊的邊界;對于圖8(a)和圖8(b)中的鐵鏈和防護欄等細小結(jié)構(gòu),MFRANet可以獲得連續(xù)平滑的視差圖,而其余兩種方法的匹配結(jié)果均為間斷的、不準(zhǔn)確的。
圖8 不同方法在KITTI 2015數(shù)據(jù)集的視差預(yù)測結(jié)果
文中提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的端對端立體匹配網(wǎng)絡(luò)——MFRANet。該方法在特征提取階段對多層次、多尺度的特征進行逐步式、分階段融合,使得特征具有更為廣泛的上下文信息;在代價聚合階段,摒棄現(xiàn)有的級聯(lián)代價聚合方法,提出了循環(huán)代價聚合策略并在網(wǎng)絡(luò)訓(xùn)練過程加入深監(jiān)督機制,實現(xiàn)了漸進式的聚合優(yōu)化效果,在提高模型匹配精度的同時不引入過多的參數(shù)量。在KITTI 2012/2015和SceneFlow數(shù)據(jù)集上的實驗結(jié)果表明,MFRANet相較于其他端對端立體匹配網(wǎng)絡(luò)具有更為精準(zhǔn)的匹配結(jié)果。