尹晨陽(yáng),職恒輝,李慧斌
(西安交通大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,西安 710049)
雙目立體視覺是機(jī)器視覺的一種重要形式,其基于視差原理來(lái)獲取被測(cè)物體的三維幾何信息,在自動(dòng)駕駛[1]、機(jī)器人[2]、工業(yè)檢測(cè)[3]、遙感[4]以及三維重建[5]等諸多方面得到廣泛應(yīng)用,是計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)之一。立體匹配作為雙目立體視覺的關(guān)鍵步驟[6],其匹配精度和匹配效率直接影響整個(gè)雙目立體視覺系統(tǒng)的性能。
立體匹配是指從圖像對(duì)中尋找具有同名特征的像素間對(duì)應(yīng)關(guān)系的過(guò)程,通常可分為稀疏匹配和稠密匹配,本文主要關(guān)注稠密匹配。傳統(tǒng)立體匹配方法通常包含匹配代價(jià)計(jì)算、代價(jià)聚合、視差計(jì)算和視差優(yōu)化4 個(gè)步驟(或其中部分步驟的組合)[7]。傳統(tǒng)立體匹配方法依據(jù)是否含有代價(jià)聚合步驟可分為局部匹配方法[8-9]、全局匹配方法[10-11]以及介于兩者之間的半全局匹配方法[12-13]。
局部匹配方法也稱為基于滑動(dòng)窗口的匹配方法,通常包含立體匹配方法中的所有步驟。在代價(jià)計(jì)算步驟中,局部匹配方法采用像素灰度差絕對(duì)值A(chǔ)D(Absolute intensity Differences)、CT(Census Transform)[14]和歸一化互相關(guān)(Normalized Cross-Correlation,NCC)[15]等度量函數(shù)計(jì)算匹配代價(jià)。在代價(jià)聚合步驟中,局部匹配方法采用的具體方法通常是:對(duì)于左右視圖中的2 個(gè)像素,分別以這2 個(gè)像素為中心取相同大小的窗口(稱為聚合窗口),逐個(gè)計(jì)算2 個(gè)窗口內(nèi)同位置的像素之間的匹配代價(jià)并將其累加作為最終的聚合匹配代價(jià)。對(duì)于視差計(jì)算步驟,局部匹配方法常采用贏家通吃算法(Winner Takes All,WTA)直接進(jìn)行視差搜索。對(duì)于視差優(yōu)化步驟,一般采用左右一致性檢查(Left-Right Check)算法剔除錯(cuò)誤視差,并用中值濾波或雙邊濾波等平滑算法對(duì)初始視差圖進(jìn)行平滑,從而提高視差精度。
與局部匹配方法不同,全局匹配方法不包含代價(jià)聚合步驟,其認(rèn)為視差圖在全局范圍內(nèi)是平滑的,對(duì)于相鄰像素視差值相差較大的情況需要加以懲罰,據(jù)此構(gòu)造全局能量函數(shù)來(lái)代替局部匹配方法中的代價(jià)聚合步驟。在全局匹配方法中,整個(gè)圖像的所有像素同時(shí)進(jìn)行視差值求解,其能量函數(shù)通常包含數(shù)據(jù)約束項(xiàng)和平滑約束項(xiàng)。
半全局立體匹配方法(Semi-Global Matching,SGM)[12]也采用最小化能量函數(shù)的思想,但與全局匹配方法不同,SGM 將二維圖像的優(yōu)化問題轉(zhuǎn)化為多條路徑的一維優(yōu)化(即掃描線優(yōu)化)問題,聚合來(lái)自多個(gè)方向的路徑代價(jià),并利用WTA 算法計(jì)算視差,在匹配精度和計(jì)算開銷之間取得了較好的平衡。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的發(fā)展,傳統(tǒng)立體匹配方法中的代價(jià)計(jì)算、代價(jià)聚合、視差計(jì)算和視差優(yōu)化等步驟均可被整合至深度神經(jīng)網(wǎng)絡(luò)框架中,并表現(xiàn)出了更優(yōu)的性能。立體匹配技術(shù)的研究趨勢(shì)逐漸從傳統(tǒng)方法轉(zhuǎn)向深度學(xué)習(xí)方法,并產(chǎn)生了一系列頗具代表性的研究成果。通??蓪⒒谏疃葘W(xué)習(xí)的立體匹配方法分為非端到端和端到端兩類,其中,非端到端方法的共同特點(diǎn)是嘗試?yán)蒙疃壬窠?jīng)網(wǎng)絡(luò)取代傳統(tǒng)立體匹配方法中的某一步驟,而端到端方法則以左右視圖作為輸入,直接輸出視差圖,利用深度神經(jīng)網(wǎng)絡(luò)直接學(xué)習(xí)原始數(shù)據(jù)到期望輸出的映射。本文總結(jié)近年來(lái)所出現(xiàn)的基于深度學(xué)習(xí)的立體匹配方法,將其歸納為非端到端立體匹配方法和端到端立體匹配方法,對(duì)不同類方法的性能和特點(diǎn)進(jìn)行比較與分析,歸納立體匹配方法當(dāng)前所面臨的挑戰(zhàn),并展望該領(lǐng)域未來(lái)的發(fā)展方向。
早期基于深度學(xué)習(xí)的立體匹配方法較關(guān)注對(duì)傳統(tǒng)匹配方法4 個(gè)步驟中的某一個(gè)或某幾個(gè)單獨(dú)進(jìn)行設(shè)計(jì)優(yōu)化。對(duì)于代價(jià)計(jì)算,非端到端立體匹配方法采用學(xué)習(xí)的特征替換手工設(shè)計(jì)的特征,然后使用相似性度量(如L1損失函數(shù)、L2損失函數(shù),或通過(guò)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)得到的度量函數(shù))得到代價(jià)體。對(duì)于代價(jià)聚合,非端到端方法通常采用學(xué)習(xí)的方式優(yōu)化SGM[12]代價(jià)聚合步驟中人工設(shè)計(jì)的懲罰項(xiàng),從而提升聚合效果。對(duì)于視差優(yōu)化,基于深度學(xué)習(xí)的非端到端方法一般采用多階段策略或引入殘差信息來(lái)優(yōu)化視差計(jì)算步驟得到的初始視差圖。本文將分別從以上3 個(gè)角度介紹基于深度學(xué)習(xí)的非端到端立體匹配方法。
尋找可靠且穩(wěn)健的代價(jià)計(jì)算函數(shù)是保證匹配正確率的首要步驟,因此,對(duì)于匹配代價(jià)計(jì)算步驟,基于深度學(xué)習(xí)的非端到端方法試圖通過(guò)設(shè)計(jì)不同結(jié)構(gòu)的卷積網(wǎng)絡(luò)來(lái)學(xué)習(xí)更有效的特征和度量函數(shù),將其用于代價(jià)計(jì)算從而提高立體匹配方法的精度。
文獻(xiàn)[16]提出的MC-CNN 首次嘗試將深度學(xué)習(xí)引入立體匹配任務(wù)。考慮到人工設(shè)計(jì)的代價(jià)函數(shù)魯棒性不高,在反光、弱紋理等病態(tài)區(qū)域表現(xiàn)不佳,該文設(shè)計(jì)MC-CNN-acrt和MC-CNN-fst這2種網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示,主要思想是通過(guò)深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)圖像塊特征的相似性度量。在MC-CNN 網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,該文構(gòu)建一個(gè)二分類數(shù)據(jù)集(相似的圖像塊對(duì)和不相似的圖像塊對(duì)),以有監(jiān)督的方式進(jìn)行訓(xùn)練。在MC-CNNacrt框架中,利用孿生網(wǎng)絡(luò)(Siamese Network)對(duì)圖像塊進(jìn)行特征提取,然后經(jīng)過(guò)數(shù)個(gè)全連接層來(lái)計(jì)算輸入的2 張圖像塊中心像素的相似性分?jǐn)?shù),以網(wǎng)絡(luò)學(xué)習(xí)的隱式度量代替手工設(shè)計(jì)的顯式度量函數(shù)。MC-CNN-fst 架構(gòu)則采用顯式的相似性度量(以向量?jī)?nèi)積取代MC-CNNacrt的全連接層),從而降低時(shí)間成本,但是其匹配精度略有下降。
圖1 MC-CNN 網(wǎng)絡(luò)架構(gòu)Fig.1 The network architecture of MC-CNN
在MC-CNN 之后,很多研究人員延續(xù)了其孿生網(wǎng)絡(luò)基本架構(gòu),并專注于改進(jìn)特征提取方式從而提高匹配精度。文獻(xiàn)[17]提出的MatchNet 采用更多的卷積層來(lái)提取特征,并引入池化層以減小特征尺寸。文獻(xiàn)[18]提出的Deep Embedding 通過(guò)在2 個(gè)并行的子網(wǎng)絡(luò)中使用不同大小的卷積核進(jìn)行多尺度特征提取,然后融合不同尺度特征并由匹配代價(jià)決策層處理得到匹配代價(jià)。文獻(xiàn)[19]提出的Content CNN 不再采用MC-CNN[16]中的二分類訓(xùn)練方式,而是將立體匹配看作以視差作為類別的多分類問題,從而訓(xùn)練網(wǎng)絡(luò)。文獻(xiàn)[20]在最終的匹配代價(jià)決策層之前插入4P(Per-Pixel Pyramid Pooling)層,使用4 個(gè)不同窗口大小的池化操作將輸出相連接以創(chuàng)建新特征,由于其生成的特征包含從粗到細(xì)的信息,使得網(wǎng)絡(luò)在擴(kuò)大感受野的同時(shí)不會(huì)丟失圖像細(xì)節(jié)。文獻(xiàn)[21]指出文獻(xiàn)[20]中的金字塔池化層需要重新計(jì)算每個(gè)可能的視差,為此引入多尺度且步長(zhǎng)為1 的池化模塊,并將其位置由全連接層末端移至全連接層之前,在保證匹配精度的同時(shí)提高了計(jì)算效率。文獻(xiàn)[22]提出的SDC(Stacked Dilated Convolution)模塊利用4 個(gè)不同擴(kuò)張率的并行空洞卷積來(lái)增加網(wǎng)絡(luò)感受野,從而提取到更加有效的特征。文獻(xiàn)[23]引入一致性和獨(dú)特性2 個(gè)原則改進(jìn)特征提取效果。文獻(xiàn)[24]提出的合并雙向匹配代價(jià)體(Coalesced Bidirectional Matching Volume,CBMV)網(wǎng)絡(luò)架構(gòu),在訓(xùn)練時(shí)使用隨機(jī)森林分類器將由神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的隱式代價(jià)函數(shù)與手工設(shè)計(jì)的顯式代價(jià)函數(shù)相結(jié)合,使學(xué)習(xí)到的匹配代價(jià)函數(shù)在跨域遷移時(shí)泛化性更強(qiáng)。
上述基于代價(jià)計(jì)算網(wǎng)絡(luò)的非端到端方法,其匹配效果表現(xiàn)證明了基于CNN 提取的特征相較手工特征更加準(zhǔn)確有效,且用于特征提取的網(wǎng)絡(luò)越復(fù)雜或訓(xùn)練數(shù)據(jù)集越大,提取的特征在匹配時(shí)性能表現(xiàn)越優(yōu)。此類方法(如MC-CNN 等)盡管在KITTI等數(shù)據(jù)集上取得了遠(yuǎn)超傳統(tǒng)方法的精度,但是由于它們大都采用孿生網(wǎng)絡(luò)結(jié)構(gòu),然后通過(guò)數(shù)個(gè)全連接層(DNN)對(duì)提取的特征進(jìn)行串聯(lián)和進(jìn)一步計(jì)算以獲得最終的匹配代價(jià),因此此類方法普遍存在時(shí)耗較高的問題。例如,假定圖像大小為M×N,最大視差預(yù)設(shè)為D,孿生網(wǎng)絡(luò)一次前向傳播的時(shí)間為T,則代價(jià)體的構(gòu)建就需耗時(shí)M×N×(D+1)×T。如果T值較大,此類方法將具有較低的時(shí)間效率,以MC-CNN 為例,其生成單張KITTI 數(shù)據(jù)集中的圖像(1 226×370 像素)視差圖就需耗時(shí)67 s,因此,此類方法大多因?yàn)闀r(shí)間復(fù)雜度較高而無(wú)法滿足實(shí)際需求。
代價(jià)聚合步驟的輸入是由代價(jià)計(jì)算步驟得到的初始代價(jià)體,輸出是優(yōu)化后的代價(jià)體。在代價(jià)聚合步驟中,像素在不同視差下的匹配代價(jià)值會(huì)根據(jù)其鄰域像素的代價(jià)值來(lái)重新計(jì)算,以此鄰接像素間的聯(lián)系,從而降低異常點(diǎn)的影響,提高信噪比。目前,傳統(tǒng)方法中采用最廣泛的代價(jià)聚合方法是由SGM[12]提出的基于掃描線優(yōu)化的代價(jià)聚合方法,但SGM[12]中代價(jià)聚合的依據(jù)準(zhǔn)則較為依賴先驗(yàn)知識(shí),例如平滑項(xiàng)中不同懲罰參數(shù)的設(shè)置。SGM-Net[25]等基于深度學(xué)習(xí)的非端到端方法試圖利用置信度學(xué)習(xí)和左右一致性原則來(lái)設(shè)計(jì)代價(jià)聚合網(wǎng)絡(luò)以解決此問題。
文獻(xiàn)[26]指出SGM 的代價(jià)聚合步驟中并非所有的像素都應(yīng)具有相同的懲罰項(xiàng),為此根據(jù)左右一致性原則用CNN 處理初始左右視差圖,以得到每個(gè)像素的置信度,并在之后的代價(jià)聚合步驟中減小對(duì)高置信度像素的懲罰。在文獻(xiàn)[26]工作的基礎(chǔ)上,文獻(xiàn)[25]針對(duì)SGM 需要人工調(diào)整懲罰參數(shù)的問題,提出SGM-Net,利用CNN 自動(dòng)學(xué)習(xí)懲罰參數(shù)。如圖2 所示,SGM-Net 的輸入是小圖像塊和其歸一化的位置參數(shù),輸出對(duì)3D 物體結(jié)構(gòu)的懲罰項(xiàng)。在SGM-Net 的訓(xùn)練過(guò)程中,作者設(shè)計(jì)了一個(gè)包含路徑代價(jià)和鄰域代價(jià)的損失函數(shù):路徑代價(jià)考慮掃描線上的像素點(diǎn)視差與實(shí)際視差之間的路徑成本,鄰域代價(jià)則關(guān)注相鄰像素視差之間的過(guò)渡成本。除此之外,SGM-Net 根據(jù)物體之間不同的遮擋關(guān)系,將沿掃描線的視差過(guò)渡分為正視差過(guò)渡和負(fù)視差過(guò)渡,保證其在病態(tài)區(qū)域也能有較好的視差預(yù)測(cè)效果。然而,由于SGM 中懲罰項(xiàng)無(wú)法被準(zhǔn)確標(biāo)記,因此網(wǎng)絡(luò)必須在訓(xùn)練過(guò)程中設(shè)計(jì)包含3 個(gè)步驟的策略以生成懲罰項(xiàng)的弱標(biāo)簽,這就使得整個(gè)方法在訓(xùn)練過(guò)程中變得復(fù)雜且耗時(shí)。
圖2 SGM-Net 網(wǎng)絡(luò)架構(gòu)Fig.2 The network architecture of SGM-Net
文獻(xiàn)[27]指出SGM[12]采取的掃描線優(yōu)化方法會(huì)導(dǎo)致視差圖出現(xiàn)條紋現(xiàn)象,其提出基于置信度的智能聚合策略,使用相應(yīng)的置信度得分對(duì)每個(gè)獨(dú)立路徑計(jì)算的匹配成本進(jìn)行加權(quán)求和。與此類似,文獻(xiàn)[28]提出的SGM-Forest 也不再使用SGM[12]中原始的聚合方式來(lái)簡(jiǎn)單組合來(lái)自多個(gè)一維掃描線的匹配成本,而是訓(xùn)練隨機(jī)森林分類器來(lái)融合多個(gè)方向的一維掃描線優(yōu)化成本,針對(duì)圖像中的每個(gè)位置都選擇效果最優(yōu)的掃描線路徑。
視差優(yōu)化是傳統(tǒng)立體匹配方法流程中的最后一步,目的是剔除初始視差圖中的錯(cuò)誤視差,并得到優(yōu)化后高質(zhì)量的視差圖。在深度學(xué)習(xí)興起后,LRCR等[29]嘗試?yán)没谥眯哦葘W(xué)習(xí)、逐步調(diào)優(yōu)以及殘差校正等思想設(shè)計(jì)深度神經(jīng)網(wǎng)絡(luò),從而進(jìn)行視差優(yōu)化。
文獻(xiàn)[30]提出名為λ-ResMatch 的多階段框架,該框架利用深度殘差網(wǎng)絡(luò)學(xué)習(xí)匹配代價(jià)的度量,并采用SGM[12]中的代價(jià)聚合步驟處理代價(jià)體,再利用全局視差網(wǎng)絡(luò)(Global Disparity Network,GDN)取代贏家通吃(WTA)算法計(jì)算得到視差圖和置信度,而后利用置信度得分修正視差圖,完成視差優(yōu)化。文獻(xiàn)[31]將視差優(yōu)化分解為3 個(gè)子步驟:檢測(cè)不正確的視差;用新視差替換不正確的視差;利用殘差校正的思想對(duì)輸出視差進(jìn)行改善。該文將上述3 個(gè)子步驟嵌入在一個(gè)統(tǒng)一的卷積網(wǎng)絡(luò)框架中,稱為DRR(Detect、Replace、Refine)。由于DRR的輸入是初始視差圖,因此允許多次使用DRR反復(fù)優(yōu)化視差圖,使匹配精度進(jìn)一步提升。然而,在用新視差替代不可靠視差時(shí)會(huì)造成計(jì)算資源浪費(fèi),增加了計(jì)算負(fù)擔(dān)。文獻(xiàn)[21]將視差優(yōu)化分解為4 個(gè)子步驟:利用卷積網(wǎng)絡(luò)對(duì)初始最優(yōu)視差圖和次優(yōu)視差圖進(jìn)行融合;將融合后的視差圖和原始圖像作為輸入,依次進(jìn)行錯(cuò)誤視差檢測(cè)、并行視差替換和殘差優(yōu)化,與文獻(xiàn)[31]不同,在并行視差替換的步驟中,并行的2 個(gè)沙漏狀結(jié)構(gòu)的子網(wǎng)絡(luò)分別用來(lái)處理圖像中的平滑區(qū)域和細(xì)節(jié)區(qū)域,進(jìn)一步提高了視差預(yù)測(cè)的準(zhǔn)確性。受殘差網(wǎng)絡(luò)思想的影響,文獻(xiàn)[32]提出遞歸殘差網(wǎng)絡(luò)RecResNet(Recurrent Residual CNN),通過(guò)估計(jì)在多個(gè)分辨率下計(jì)算的殘差組合來(lái)糾正不同類型的視差錯(cuò)誤,最終生成優(yōu)化后的視差圖。該網(wǎng)絡(luò)可用于優(yōu)化由未知黑盒算法生成的視差圖,并能周期性地應(yīng)用于其自身的輸出以進(jìn)行進(jìn)一步改進(jìn)。與上述完全基于CNN 的視差優(yōu)化方法不同,文獻(xiàn)[29]按照RNN 模式搭建左右比較遞歸模型LRCR(Left-Right Comparative Recurrent),該模型可以同步執(zhí)行視差估計(jì)與左右一致性檢測(cè),在每次重復(fù)的步驟中,模型會(huì)為左右視圖同時(shí)生成視差圖并進(jìn)行左右一致性檢測(cè),以識(shí)別可能出現(xiàn)視差錯(cuò)誤的區(qū)域。此外,LRCR 框架中引入了柔性注意力機(jī)制,用學(xué)習(xí)到的誤差圖引導(dǎo)模型在下個(gè)重復(fù)步驟中有選擇性地關(guān)注不可靠區(qū)域的視差,從而逐步改善視差圖的質(zhì)量。值得注意的是,所有這些基于視差優(yōu)化網(wǎng)絡(luò)的非端到端方法都能取得出色的匹配精度,但是它們會(huì)受到高計(jì)算負(fù)擔(dān)的影響,以最具代表性的LRCR[29]為例,其在當(dāng)時(shí)的KITTI 數(shù)據(jù)榜單上取得了最好的結(jié)果,但處理一張圖片的時(shí)間高達(dá)49.2 s。
上述基于深度學(xué)習(xí)的非端到端立體匹配方法本質(zhì)上并未脫離傳統(tǒng)方法的框架,一般仍需添加手工設(shè)計(jì)的正則化函數(shù)或視差后處理步驟,這意味著非端到端立體匹配方法具有計(jì)算量大和時(shí)間效率低的缺點(diǎn),同時(shí)也未解決傳統(tǒng)立體匹配方法中感受野有限、圖像上下文信息缺乏的問題。隨著MAYER等[33]首次成功地將端到端網(wǎng)絡(luò)結(jié)構(gòu)引入立體匹配任務(wù)并取得良好效果,設(shè)計(jì)更有效的端到端立體匹配網(wǎng)絡(luò)逐漸成為立體匹配的研究趨勢(shì)。從各立體匹配數(shù)據(jù)集的公開排行榜上可以發(fā)現(xiàn),端到端方法在立體匹配任務(wù)中已然占據(jù)了主導(dǎo)地位。
如圖3 所示,當(dāng)前基于深度學(xué)習(xí)的端到端立體匹配網(wǎng)絡(luò)以左右視圖作為輸入,經(jīng)參數(shù)共享的卷積模塊提取特征后按相關(guān)性操作(Correlation)或拼接操作(Concat)構(gòu)建代價(jià)體,最后根據(jù)代價(jià)體的維度進(jìn)行不同的卷積操作以回歸出視差圖。根據(jù)代價(jià)體維度的不同,端到端立體匹配網(wǎng)絡(luò)可分為基于3D 代價(jià)體和基于4D 代價(jià)體的2 種方法,而具有級(jí)聯(lián)視差優(yōu)化效果的2D 編碼器-解碼器和由3D 卷積組成的正則化模塊是當(dāng)下分別用來(lái)處理3D 和4D 代價(jià)體的2 種結(jié)構(gòu)。2D 編碼器-解碼器由一系列堆疊的2D CNN 組成,并帶有跳躍連接,加入殘差信息以提高視差預(yù)測(cè)效果。而3D 正則化模塊的關(guān)鍵點(diǎn)則是在構(gòu)建代價(jià)體時(shí)將提取的左右圖特征沿視差維度進(jìn)行拼接以得到一個(gè)4D 的代價(jià)體,而后使用3D CNN 處理4D 代價(jià)體,以充分利用視差維度信息。
圖3 用于端到端立體匹配的2 種主流架構(gòu)Fig.3 Two mainstream architectures for end-to-end stereo matching
基于3D 代價(jià)體的端到端立體匹配網(wǎng)絡(luò)接近于傳統(tǒng)密集回歸問題(如語(yǔ)義分割、光流估計(jì)等)的神經(jīng)網(wǎng)絡(luò)模型。如圖3(a)所示,受U-Net[34]模型的啟發(fā),該類型端到端網(wǎng)絡(luò)的設(shè)計(jì)中部署了編碼器-解碼器結(jié)構(gòu),以減少內(nèi)存需求并增加網(wǎng)絡(luò)的感受野,從而更好地利用圖像的上下文信息。具體而言,一些研究為提升網(wǎng)絡(luò)的視差預(yù)測(cè)精度,采用多階段學(xué)習(xí)和多網(wǎng)絡(luò)框架或多任務(wù)學(xué)習(xí)的思想設(shè)計(jì)立體匹配網(wǎng)絡(luò),而另外一些研究則著眼于減少網(wǎng)絡(luò)計(jì)算負(fù)擔(dān),采用從粗到精的策略設(shè)計(jì)更高效的結(jié)構(gòu)。
文獻(xiàn)[33]首次引入端到端視差回歸網(wǎng)絡(luò)Disp-Net,其包含快速框架Disp-NetS 和精確框架Disp-NetC。Disp-NetS 借鑒U-Net[34]的框架設(shè)計(jì)一種用于視差回歸的編碼器-解碼器結(jié)構(gòu)。Disp-NetC 則類似于光流估計(jì)中的FlowNetCorr[35]網(wǎng)絡(luò)結(jié)構(gòu)(如圖4 所示),首先利用孿生網(wǎng)絡(luò)提取輸入的左右視圖特征,然后對(duì)提取的左右特征塊進(jìn)行1D 的相關(guān)性(Correlation)操作,得到3D 代價(jià)體(尺寸與特征圖大小相同,通道數(shù)為Dmax,Dmax是預(yù)設(shè)的最大視差值)。Disp-NetC 網(wǎng)絡(luò)的后續(xù)部分則利用2D 編碼器-解碼器處理3D 代價(jià)體并回歸出最終的視差圖。與非端到端方法特征提取模塊常采用孿生網(wǎng)絡(luò)相比,由于Disp-Net 將整個(gè)圖像作為輸入,因此其具有更高的時(shí)間效率,處理KITTI 數(shù)據(jù)集中一張圖片僅需0.06 s,時(shí)間效率是MC-CNN 的1 000 倍,但在圖像的病態(tài)區(qū)域,如遮擋、重復(fù)或無(wú)紋理區(qū)域,Disp-Net 仍然較難找到正確的對(duì)應(yīng)關(guān)系。
圖4 FlowNetCorr 網(wǎng)絡(luò)架構(gòu)Fig.4 The network architecture of FlowNetCorr
考慮到Disp-Net[33]網(wǎng)絡(luò)結(jié)構(gòu)配置的確定過(guò)程經(jīng)過(guò)了多次手工設(shè)計(jì)和調(diào)整,而且無(wú)法確認(rèn)是否為最佳配置,為此,文獻(xiàn)[36]引入自動(dòng)機(jī)器學(xué)習(xí)(AutoML)的思路。該文利用基于梯度的神經(jīng)架構(gòu)搜索和貝葉斯優(yōu)化來(lái)進(jìn)行超參數(shù)搜索,尋找Disp-Net的最佳配置,并提出AutoDispNet-CSS 網(wǎng)絡(luò)結(jié)構(gòu)。文獻(xiàn)[37]為了解決Disp-Net[33]網(wǎng)絡(luò)對(duì)遮擋區(qū)域預(yù)測(cè)效果不佳的問題,提出DispNet-CSS 框架,其包含多個(gè)基于FlowNet[35]的編碼器-解碼器結(jié)構(gòu)和基于FlowNet 2.0[38]的堆棧結(jié)構(gòu),通過(guò)反復(fù)估計(jì)遮擋區(qū)域和運(yùn)動(dòng)邊界來(lái)改善視差估計(jì)效果。
秉承多階段網(wǎng)絡(luò)的思想,文獻(xiàn)[39]提出二級(jí)級(jí)聯(lián)殘差學(xué)習(xí)網(wǎng)絡(luò)CRL(Cascade Residual Learning)。如圖5 所示,CRL 的第一階段結(jié)構(gòu)DispFulNet 由Disp-NetC 網(wǎng)絡(luò)添加額外的反卷積模塊得到,能生成包含細(xì)紋理的初始視差圖;第二階段結(jié)構(gòu)DispResNet利用多尺度殘差信號(hào)修正初始視差圖,采用殘差學(xué)習(xí)的思想實(shí)現(xiàn)更有效的視差精細(xì)化。CRL 在所有立體匹配方法中達(dá)到了當(dāng)時(shí)最高的匹配精度,但復(fù)雜的結(jié)構(gòu)意味著較高的計(jì)算負(fù)擔(dān),因此,其時(shí)間效率比Disp-Net 慢80%。
圖5 CRL 多階段網(wǎng)絡(luò)架構(gòu)Fig.5 Multi-stage network architecture of CRL
文獻(xiàn)[40]認(rèn)為CRL 網(wǎng)絡(luò)的第二階段中采用光度誤差(即色彩空間層次的重構(gòu)誤差)對(duì)視差進(jìn)行調(diào)優(yōu),魯棒性不足。為此,該文提出iResNet 網(wǎng)絡(luò),在特征空間層面計(jì)算重構(gòu)誤差,組合特征空間中的重構(gòu)誤差與特征相關(guān)(feature correlation)作為特征恒量,并在最后的視差優(yōu)化模塊輸入級(jí)聯(lián)的特征恒量和左圖特征,從而輸出調(diào)優(yōu)殘差。這種網(wǎng)絡(luò)設(shè)計(jì)允許反復(fù)使用視差優(yōu)化模塊對(duì)視差圖進(jìn)行調(diào)優(yōu),以網(wǎng)絡(luò)的匹配速度換取匹配精度。事實(shí)上,iResNet 和CRL 具有類似的思想,但iResNet 在提升匹配精度的同時(shí)也實(shí)現(xiàn)了更好的時(shí)間效率,其匹配效率相較CRL 提升了4 倍。從網(wǎng)絡(luò)不同階段間的信息交互情況來(lái)看,CRL[39]方法只有第一階段網(wǎng)絡(luò)結(jié)構(gòu)預(yù)測(cè)的視差信息會(huì)傳遞到第二階段網(wǎng)絡(luò)結(jié)構(gòu),而iResNet則在網(wǎng)絡(luò)的前后兩階段結(jié)構(gòu)間共享更多的信息,這也是CRL[39]采用更復(fù)雜的網(wǎng)絡(luò)架構(gòu)但預(yù)測(cè)效果仍不如iResNet 的主要原因。
盡管采用多階段的網(wǎng)絡(luò)設(shè)計(jì)策略在很大程度上提高了匹配精度,但更復(fù)雜的網(wǎng)絡(luò)意味著更高的計(jì)算負(fù)擔(dān)。因此,文獻(xiàn)[41]采用從粗到精的金字塔策略,提出首個(gè)無(wú)監(jiān)督的實(shí)時(shí)域自適應(yīng)立體匹配網(wǎng)絡(luò)MADNet。為了提升在線自適應(yīng)效率,MADNet在反向傳播時(shí)不對(duì)網(wǎng)絡(luò)的全部參數(shù)進(jìn)行更新,而是采用啟發(fā)式的獎(jiǎng)勵(lì)-懲罰機(jī)制來(lái)動(dòng)態(tài)選擇每次更新的參數(shù)。同樣,為減少計(jì)算成本,文獻(xiàn)[42]利用從粗到精的策略,提出分層離散分布分解立體匹配網(wǎng)絡(luò)HD3(Hierarchical Discrete Distribution Decomposition),將立體匹配視為像素對(duì)應(yīng)的概率問題,以考慮立體匹配中固有的不確定度估計(jì)。HD3將估計(jì)視差等價(jià)轉(zhuǎn)化為估計(jì)離散匹配分布問題,并將圖像分層分解為從粗到細(xì)的多個(gè)尺度,在利用網(wǎng)絡(luò)預(yù)測(cè)出不同尺度上的離散匹配分布后,對(duì)由網(wǎng)絡(luò)計(jì)算得到的不確定度進(jìn)行加權(quán)組合,以得到圖像整體的離散匹配分布。
弱紋理、反射、物體邊緣等病態(tài)區(qū)域會(huì)嚴(yán)重影響立體匹配網(wǎng)絡(luò)的匹配精度,通過(guò)融合不同模型的優(yōu)點(diǎn)或采用多任務(wù)學(xué)習(xí)的方式能有效緩解此問題。文獻(xiàn)[43]提出由CNN 和條件隨機(jī)場(chǎng)(CRF)組成的混合模型,利用CNN 學(xué)習(xí)提取的特征,從而計(jì)算CRF 的一元和二元代價(jià),并將CRF 公式化為最大余量馬爾可夫網(wǎng)絡(luò),實(shí)現(xiàn)CNN+CRF 的聯(lián)合訓(xùn)練。文獻(xiàn)[44-45]提出一種由預(yù)測(cè)視差的主干網(wǎng)絡(luò)和提取邊緣的子網(wǎng)絡(luò)共同組成的多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)EdgeStereo。如圖6 所示,該模型在視差主網(wǎng)中共享子網(wǎng)提取的邊緣特征,并在損失函數(shù)中加入具有邊緣感知的平滑正則化項(xiàng),從而將邊緣信息整合到視差主干網(wǎng)絡(luò)中,達(dá)成邊緣檢測(cè)與視差學(xué)習(xí)相互促進(jìn)的目的。由于加入了邊緣信息,EdgeStereo 在細(xì)薄結(jié)構(gòu)區(qū)域以及物體邊緣處表現(xiàn)較為優(yōu)越,立體匹配方法固有的邊緣肥大缺陷有所緩解,但其仍舊存在訓(xùn)練方式復(fù)雜以及對(duì)距離相機(jī)較遠(yuǎn)的物體結(jié)構(gòu)匹配精度不高的問題。
圖6 EdgeStereo 多任務(wù)網(wǎng)絡(luò)框架Fig.6 Multi-tasking network framework of EdgeStereo
文獻(xiàn)[46]構(gòu)建的網(wǎng)絡(luò)模型SegStereo 用語(yǔ)義信息來(lái)指導(dǎo)病態(tài)區(qū)域的視差學(xué)習(xí),該模型包含視差主干網(wǎng)絡(luò)和語(yǔ)義分支網(wǎng)絡(luò)。SegStereo 在視差主干網(wǎng)絡(luò)中融合來(lái)自語(yǔ)義分支的語(yǔ)義特征,并在網(wǎng)絡(luò)訓(xùn)練的損失函數(shù)中引入語(yǔ)義損失項(xiàng),利用語(yǔ)義信息指導(dǎo)視差估計(jì),提高了反光、遮擋、重復(fù)紋理以及弱紋理等病態(tài)區(qū)域的匹配精度。與文獻(xiàn)[46]中使用2 個(gè)獨(dú)立的編碼模塊來(lái)分別提取語(yǔ)義和視差特征不同,文獻(xiàn)[47]提出的DSNet 是一種輕量級(jí)網(wǎng)絡(luò)架構(gòu),在特征提取時(shí)語(yǔ)義分割分支網(wǎng)絡(luò)與視差估計(jì)共享相同的主干網(wǎng)絡(luò),此外,該文不再直接將語(yǔ)義分支網(wǎng)絡(luò)的特征進(jìn)行拼接,而是設(shè)計(jì)一種具有注意力機(jī)制的匹配模塊提取融合特征從而進(jìn)行視差估計(jì)。與加入邊緣信息的EdgeStereo[44-45]相比,加入語(yǔ)義信息的SegStereo[46]和DSNet[47]在病態(tài)區(qū)域的匹配精度提升效果較為明顯,但它們?cè)诩?xì)薄結(jié)構(gòu)和物體邊緣區(qū)域的匹配精度則顯著低于EdgeStereo[44-45]。
與受傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型啟發(fā)的架構(gòu)不同,基于4D代價(jià)體的端到端立體匹配網(wǎng)絡(luò)架構(gòu)是專門為立體匹配任務(wù)而設(shè)計(jì)的,這一架構(gòu)下的網(wǎng)絡(luò)不再對(duì)特征進(jìn)行降維操作,從而使代價(jià)體能保留更多的圖像幾何和上下文信息,因此,基于4D 代價(jià)體的端到端立體匹配網(wǎng)絡(luò)視差預(yù)測(cè)效果一般優(yōu)于基于3D 代價(jià)體的端到端網(wǎng)絡(luò),但是這種精度上的提升需要消耗更多的計(jì)算時(shí)間和存儲(chǔ)資源。從基于4D 代價(jià)體的端到端網(wǎng)絡(luò)的初始設(shè)計(jì)理念(盡可能降低圖像信息損失)出發(fā),文獻(xiàn)[48-53]致力于讓網(wǎng)絡(luò)在學(xué)習(xí)過(guò)程中考慮更多的圖像上下文信息。而為了緩解該種網(wǎng)絡(luò)架構(gòu)普遍存在的高計(jì)算負(fù)擔(dān)問題,文獻(xiàn)[54-58]嘗試從壓縮4D 代價(jià)體大小、減少3D 卷積數(shù)量等不同角度提高網(wǎng)絡(luò)效率。
文獻(xiàn)[59]提出一種新型深度視差學(xué)習(xí)網(wǎng)絡(luò)GCNet,其創(chuàng)造性地引入4D 代價(jià)體,并在正則化模塊中首次利用3D 卷積來(lái)融合4D 代價(jià)體的上下文信息,開創(chuàng)了專門用于立體匹配的3D 網(wǎng)絡(luò)結(jié)構(gòu)。如圖7所示,GC-Net 包含4 個(gè)步驟:
圖7 GC-Net 網(wǎng)絡(luò)框架Fig.7 Network framework of GC-Net
1)利用權(quán)值共享的2D 卷積層分別提取左、右圖像的高維特征,并在此階段進(jìn)行下采樣將原始分辨率減半以減少內(nèi)存需求。
2)將左特征圖和對(duì)應(yīng)通道的右特征圖沿視差維度逐像素錯(cuò)位串聯(lián)得到4D 代價(jià)體,大小為,其中,H、W分別為圖像的高和寬,Dmax為最大視差,C為特征通道數(shù)。
3)利用由多尺度的3D 卷積和反卷積組成的編碼-解碼模塊對(duì)代價(jià)體進(jìn)行正則化操作,得到大小為H×W×Dmax×1 的代價(jià)體張量。
4)對(duì)代價(jià)體應(yīng)用可微的Soft ArgMax 操作回歸得到視差圖。
GC-Net 取得了當(dāng)時(shí)KITTI 基準(zhǔn)下最高的匹配精度,原因是其構(gòu)建的代價(jià)體包含高度、寬度、視差和特征通道4 個(gè)維度,從而保留了圖像更多的立體幾何信息。但是值得注意的是,由于網(wǎng)絡(luò)中大量使用3D 卷積,因此GC-Net 會(huì)存在計(jì)算時(shí)間方面的局限性,其處理一張分辨率為1 216×352 像素的圖像需要0.9 s,耗時(shí)約為基于3D 代價(jià)體的端到端立體匹配網(wǎng)絡(luò)DispNet 的15 倍。
與基于3D 代價(jià)體的端到端立體匹配網(wǎng)絡(luò)類似,在基于4D 代價(jià)體的網(wǎng)絡(luò)學(xué)習(xí)過(guò)程中加入更多的信息也能提升視差預(yù)測(cè)精度。文獻(xiàn)[48]提出的金字塔立體匹配網(wǎng)絡(luò)PSMNet,主要由空間金字塔池化(Spatial Pyramid Pooling,SPP)模塊和堆疊的沙漏狀3D CNN模塊組成,其中,金字塔池化模塊提取多尺度特征以充分利用全局環(huán)境信息,堆疊的沙漏狀3D 編碼器-解碼器結(jié)構(gòu)對(duì)4D 代價(jià)體進(jìn)行正則化處理以提供視差預(yù)測(cè)。但是,由于SPP 模塊中不同尺度的池化操作固有的信息損失,導(dǎo)致PSMNet 在如物體邊緣等包含大量細(xì)節(jié)信息的圖像區(qū)域的匹配精度較差。在PSMNet 的基礎(chǔ)上,文獻(xiàn)[49]將卷積空間傳播網(wǎng)絡(luò)(Convolutional Spatial Propagation Network,CSPN)模塊擴(kuò)展到3D 情形以處理4D 代價(jià)體,使3D 正則化模塊可以從空間維度和視差維度上對(duì)4D 代價(jià)體進(jìn)行信息聚合。文獻(xiàn)[50]則針對(duì)PSMNet 網(wǎng)絡(luò)前端的代價(jià)計(jì)算部分進(jìn)行改進(jìn),提出多級(jí)上下文超聚合(Multi-level Context Ultra-Aggregation,MCUA)的二級(jí)特征描述方法,通過(guò)將層次內(nèi)和層次間的特征組合(即將淺層、低級(jí)特征與深層、高級(jí)語(yǔ)義特征相結(jié)合),將所有卷積特征封裝成更具區(qū)分性的表示形式,在沒有顯著增加網(wǎng)絡(luò)參數(shù)量的前提下提升了網(wǎng)絡(luò)的匹配性能。受半全局匹配(SGM)的啟發(fā),文獻(xiàn)[51]引入指導(dǎo)代價(jià)聚合的顯式代價(jià)聚合(Explicit Cost Aggregation Sub-Architecture,ECA)模塊。ECA模塊由雙流束網(wǎng)絡(luò)(two-stream network)組成:第一個(gè)流通過(guò)卷積操作沿著代價(jià)體的高度、寬度、視差3 個(gè)維度結(jié)合空間和深度信息,生成3 個(gè)潛在的代價(jià)聚合方式;第二個(gè)流評(píng)估潛在的聚合方式并選出其中最佳的一種,選擇標(biāo)準(zhǔn)由輕量卷積網(wǎng)絡(luò)獲得的低階結(jié)構(gòu)信息所確定。GWC-Net[52]通過(guò)組相關(guān)策略保留基于3D 代價(jià)體的端到端網(wǎng)絡(luò)中代價(jià)體構(gòu)建方式(相關(guān)性操作)的優(yōu)點(diǎn),考慮不同特征通道的關(guān)聯(lián)性從而得到更好的代價(jià)體表示,使網(wǎng)絡(luò)能夠推斷出更準(zhǔn)確的視差圖。根據(jù)多任務(wù)學(xué)習(xí)的思想,DispSegNet[53]通過(guò)分割的方式利用語(yǔ)義信息指導(dǎo)深度估計(jì),提高了網(wǎng)絡(luò)在病態(tài)區(qū)域的匹配精度。
盡管上述基于4D 代價(jià)體的端到端網(wǎng)絡(luò)取得了良好的匹配效果,但由于3D 卷積結(jié)構(gòu)本身的計(jì)算復(fù)雜度,導(dǎo)致網(wǎng)絡(luò)在存儲(chǔ)資源和計(jì)算時(shí)間上成本高昂。以GCNet[59]為例,其處理分辨率為1 216×352 像素的圖像對(duì)大約需要10.4 GB GPU 內(nèi)存[54]。為了解決此問題,壓縮代價(jià)體[54-55]、構(gòu)建更低分辨率的代價(jià)體[56-57]或減少3D卷積層個(gè)數(shù)[58]等多種思路被提出。文獻(xiàn)[55]設(shè)計(jì)的網(wǎng)絡(luò)PDS(Practical Deep Stereo)引入一個(gè)瓶頸匹配模塊,通過(guò)將來(lái)自左、右圖像的級(jí)聯(lián)特征壓縮為更緊湊的匹配表示形式來(lái)壓縮4D 代價(jià)體,從而減少內(nèi)存占用量。文獻(xiàn)[54]提出基于GC-Net[59]的稀疏代價(jià)體網(wǎng)絡(luò)(Sparse Cost Volume Net,SCV-Net),在由左、右圖像特征生成4D 代價(jià)體的步驟中引入步幅參數(shù)使代價(jià)體更緊湊,在不影響性能的情況下大幅減少了內(nèi)存使用量。文獻(xiàn)[56]采用從粗到細(xì)的策略,提出一個(gè)三階段視差估計(jì)網(wǎng)絡(luò)AnyNet:首先以低分辨率特征圖作為輸入,構(gòu)建低分辨率4D 代價(jià)體;其次使用3D 卷積在較小的視差范圍內(nèi)進(jìn)行搜索得到低分辨率視差圖;最后對(duì)低分辨率視差圖上采樣得到高分辨率視差圖。該方法是漸進(jìn)式的,允許隨時(shí)停止來(lái)獲得較粗的視差圖,以匹配精度換取匹配速度。文獻(xiàn)[57]提出實(shí)時(shí)輕量立體匹配網(wǎng)絡(luò)StereoNet,在得到低分辨率的視差圖后通過(guò)2D 卷積網(wǎng)絡(luò)進(jìn)行上采樣和視差優(yōu)化,以降低網(wǎng)絡(luò)的復(fù)雜性,但與采用高分辨率4D 代價(jià)體的方法相比,StereoNet在物體邊緣區(qū)域的匹配精度有所下降。文獻(xiàn)[58]設(shè)計(jì)GA-Net,其采用半全局聚合(Semi-Global Aggregation,SGA)層和局部引導(dǎo)聚合(Local Guided Aggregation,LGA)層替換正則化模塊中的大量3D卷積層,其中:SGA是SGM中代價(jià)聚合方法的可微近似,并且懲罰系數(shù)不再由先驗(yàn)知識(shí)確定,而是由網(wǎng)絡(luò)學(xué)習(xí)得到,因此,對(duì)于圖像的不同區(qū)域具有較好的適應(yīng)性和靈活性;局部引導(dǎo)聚合層LGA 則附加在網(wǎng)絡(luò)末尾以聚合局部代價(jià),旨在細(xì)化薄結(jié)構(gòu)和物體邊緣的視差。
如上所述,許多研究人員嘗試從優(yōu)化4D 代價(jià)體大小和減少3D 卷積個(gè)數(shù)等不同角度設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu),使網(wǎng)絡(luò)在時(shí)間效率上得到改進(jìn)。但是,綜合匹配精度和匹配效率可以看出,如何設(shè)計(jì)更加高效實(shí)用的網(wǎng)絡(luò)結(jié)構(gòu)仍需進(jìn)一步探索。
表1 給出了4 個(gè)常用數(shù)據(jù)集的介紹與比較。KITTI 2012[60]是用于立體匹配的第一個(gè)大型駕駛場(chǎng)景數(shù)據(jù)集,包括靜態(tài)場(chǎng)景的室外圖像,該數(shù)據(jù)集由389 個(gè)灰度圖像對(duì)組成,分為194個(gè)訓(xùn)練圖像對(duì)和195個(gè)測(cè)試圖像對(duì),數(shù)據(jù)集的GT(Ground Truth)由LIDIA 測(cè)量獲得,GT 是半密集的,覆蓋了圖像約1/3 的像素點(diǎn),并經(jīng)過(guò)手工矯正后將其轉(zhuǎn)換為視差。KITTI 2012 數(shù)據(jù)集提供了在線排行榜,可對(duì)全部區(qū)域像素和去除遮擋區(qū)域像素分別進(jìn)行評(píng)估。KITTI 2015[1]數(shù)據(jù)集采集于動(dòng)態(tài)場(chǎng)景,圖像內(nèi)容包含行駛中的汽車,該數(shù)據(jù)集共包含400 對(duì)彩色雙目圖像,訓(xùn)練集和測(cè)試集各200 對(duì)。KITTI 2015 數(shù)據(jù)集的數(shù)據(jù)采集方式與KITTI 2012 相似,評(píng)價(jià)指標(biāo)也為誤匹配率,分為前景(移動(dòng)的目標(biāo))、背景和全部區(qū)域3 種情形。Middlebury 2014[61]數(shù)據(jù)集由33 個(gè)亞像素級(jí)別的室內(nèi)靜態(tài)場(chǎng)景組成,分為訓(xùn)練集(13 對(duì))、附加集(10 對(duì))和測(cè)試集(10 對(duì)),圖像和GT 提供了全分辨率、半分辨率和1/4 分辨率3 種版本,該數(shù)據(jù)集視差范圍在200~800 像素之間,與KITTI 數(shù)據(jù)集相比,Middlebury 2014最大的一個(gè)差異是圖像分辨率非常高,達(dá)到了600萬(wàn)像素。Freiburg SceneFlow[33]數(shù)據(jù)集包含約39 000 對(duì)大小為540×960 像素的虛擬圖像,根據(jù)場(chǎng)景類型又分為FlyingThings3D、Monkaa 和Driving 這3個(gè)子集。FlyingThings3D 數(shù)據(jù)完全由渲染生成,共包含22 872 個(gè)圖像對(duì),其中,4 370 個(gè)圖像對(duì)作為驗(yàn)證集;Monkaa 數(shù)據(jù)從動(dòng)畫片中生成,共包含8 591 對(duì)雙目圖像;Driving的數(shù)據(jù)生成方式與Monkaa相同,提供駕駛場(chǎng)景的數(shù)據(jù),共包含4 392 對(duì)圖像。
表1 立體匹配任務(wù)常用數(shù)據(jù)集Table 1 Common datasets of stereo-matching tasks
綜合近些年的研究結(jié)果來(lái)看,KITTI 數(shù)據(jù)集和Middlebury 數(shù)據(jù)集被廣泛應(yīng)用于訓(xùn)練和測(cè)試基于圖像塊的CNN 網(wǎng)絡(luò)架構(gòu)(如MC-CNN 等),這是因?yàn)閱蝹€(gè)訓(xùn)練圖像對(duì)可以產(chǎn)生數(shù)千對(duì)不同的圖像塊。而在端到端架構(gòu)中,由于其需要大量數(shù)據(jù)集進(jìn)行有效訓(xùn)練,且這種情況下一個(gè)圖像對(duì)僅對(duì)應(yīng)一個(gè)樣本,因此大多數(shù)端到端立體匹配網(wǎng)絡(luò)在遷移到如KITTI 和Middlebury 等真實(shí)數(shù)據(jù)集前,通常選擇在Freiburg SceneFlow 數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練。
立體匹配方法的評(píng)估指標(biāo)有匹配精度與時(shí)間復(fù)雜度。匹配精度的衡量標(biāo)準(zhǔn)有平均絕對(duì)誤差、均方根誤差與誤匹配率,計(jì)算公式分別如下:
其中:dpre(x,y)與dGT(x,y)分別為預(yù)測(cè)視差和真實(shí)視差;δ為指示函數(shù),當(dāng)差值大于設(shè)置的閾值δd時(shí)其取值為1,否則為0;N為參與計(jì)算的像素點(diǎn)總數(shù)。
本文從KITTI 2015 和Middlebury 2014 網(wǎng)站上選取部分方法的量化評(píng)價(jià)結(jié)果,以對(duì)基于深度學(xué)習(xí)的非端到端和端到端立體匹配方法進(jìn)行定量比較。
表2 和表3 分別給出各立體匹配方法在所有區(qū)域(All pixels)和非遮擋區(qū)域(Non-occluded pixels)2 種情形下的誤匹配率,并在表4 中給出不同種類立體匹配方法的定性分析結(jié)果。
表2 KITTI 2015 數(shù)據(jù)集上不同立體匹配方法的性能比較結(jié)果Table 2 Performance comparison results of different stereo-matching methods on KITTI 2015 dataset
表3 Middlebury 2014 數(shù)據(jù)集上不同立體匹配方法的性能比較結(jié)果Table 3 Performance comparison results of different stereo-matching methods on Middlebury 2014 dataset
表4 不同立體匹配方法的特點(diǎn)比較Table 4 Comparison of characteristics of different stereo-matching methods
在表2 中,誤匹配率的誤差閾值限定為3 個(gè)像素,且D1-bg、D1-fg、D1-all 分別代表背景區(qū)域、前景區(qū)域和所有區(qū)域。在表3 中,誤差閾值限定為2 個(gè)像素,F(xiàn)、H、Q 分別代表全分辨率、半分辨率和1/4 分辨率,AVE 代表像素點(diǎn)的平均絕對(duì)誤差。
從表2 和表3 可以看出:在KITTI 數(shù)據(jù)集中,相比于深度學(xué)習(xí)與傳統(tǒng)方法相結(jié)合的非端到端方法,早期基于深度學(xué)習(xí)的端到端方法計(jì)算效率明顯提高,但匹配效果并不理想,隨著后期研究的深入,端到端方法(尤其是基于4D 代價(jià)體的端到端方法)的匹配精度要明顯優(yōu)于非端到端方法;在Middlebury 2014 數(shù)據(jù)集中,大部分基于3D 代價(jià)體的端到端方法的誤匹配率高于非端到端方法,原因是端到端立體匹配網(wǎng)絡(luò)的學(xué)習(xí)效果較為依賴訓(xùn)練集中圖像場(chǎng)景的類型。端到端立體匹配網(wǎng)絡(luò)通常在Freiburg SceneFlow數(shù)據(jù)集中進(jìn)行預(yù)訓(xùn)練,而Middlebury 2014 數(shù)據(jù)集中的圖像與Freiburg SceneFlow 中的圖像在情景內(nèi)容上差距較大,導(dǎo)致網(wǎng)絡(luò)遷移到Middlebury 2014 數(shù)據(jù)集上時(shí)表現(xiàn)較差。而對(duì)于基于4D 代價(jià)體的端到端方法,除受到跨域遷移的影響之外,還因?qū)τ诟叻直媛蕡D像處理能力不足,導(dǎo)致其不僅在Middlebury 2014 數(shù)據(jù)集排行榜中排名靠前的算法數(shù)量較少,而且匹配精度也低于基于3D 代價(jià)體的端到端立體匹配方法。
基于深度學(xué)習(xí)的立體匹配方法已經(jīng)取得了顯著成果,然而,綜合匹配精度和時(shí)間效率來(lái)看,目前的研究工作仍處于起步階段。該領(lǐng)域未來(lái)的發(fā)展方向主要在以下幾個(gè)方面:
1)魯棒性。基于深度學(xué)習(xí)的立體匹配方法在精度上較傳統(tǒng)方法有很大提升,但在弱紋理、重復(fù)紋理、遮擋、透明、鏡面反射、光學(xué)失真等病態(tài)區(qū)域的誤匹配率依舊很高,而這些場(chǎng)景在實(shí)際應(yīng)用中真實(shí)存在且不可避免,因此,設(shè)計(jì)新的立體匹配方法以降低這些區(qū)域的誤匹配率依然會(huì)是未來(lái)的研究重點(diǎn)。從文獻(xiàn)[44-47,53]等研究結(jié)果來(lái)看,將高級(jí)視覺任務(wù)中的目標(biāo)識(shí)別、場(chǎng)景理解與低級(jí)視覺特征學(xué)習(xí)相結(jié)合是解決該問題的一種有效途徑。
2)實(shí)時(shí)性。大多數(shù)端到端方法在構(gòu)建3D 或4D代價(jià)體后分別使用2D 和3D 卷積進(jìn)行正則化處理,這導(dǎo)致它們普遍具有高昂的時(shí)間成本和計(jì)算資源開銷,嚴(yán)重阻礙了此類方法在嵌入式設(shè)備中的實(shí)際應(yīng)用。因此,開發(fā)精度與速度并存的輕量級(jí)端到端網(wǎng)絡(luò)是未來(lái)的一個(gè)重要研究方向。
3)跨域遷移性。深度神經(jīng)網(wǎng)絡(luò)在很大程度上依賴于訓(xùn)練圖像的可用性,其方法性能和泛化能力會(huì)受到訓(xùn)練集較大的影響,且容易出現(xiàn)模型對(duì)特定領(lǐng)域過(guò)擬合的風(fēng)險(xiǎn)。針對(duì)立體匹配問題,大多數(shù)端到端網(wǎng)絡(luò)框架一般都會(huì)選擇在合成數(shù)據(jù)集Freiburg SceneFlow 上進(jìn)行預(yù)訓(xùn)練,而這導(dǎo)致了訓(xùn)練后的模型在遷移到真實(shí)數(shù)據(jù)集上時(shí)效果明顯下降。因此,開發(fā)泛化性較強(qiáng)的立體匹配方法,使其在跨域遷移時(shí)能適應(yīng)新的情景環(huán)境也是需要解決的一大難題。在其他視覺任務(wù)中,常通過(guò)設(shè)計(jì)特定的損失函數(shù)或使用領(lǐng)域自適應(yīng)和遷移學(xué)習(xí)策略來(lái)緩解此問題,這2 種思路也是緩解立體匹配網(wǎng)絡(luò)泛化性問題的潛在對(duì)策。
4)對(duì)高分辨率圖像的處理能力。當(dāng)前大多數(shù)基于深度學(xué)習(xí)的立體匹配方法不能很好地處理高分辨率輸入圖像,通常會(huì)生成低分辨率的深度圖,導(dǎo)致這些方法無(wú)法有效重建如植被、細(xì)桿等細(xì)薄結(jié)構(gòu)以及距離相機(jī)較遠(yuǎn)的結(jié)構(gòu)。對(duì)于高分辨率圖像,當(dāng)下一種有效的思路是采用分層技術(shù),即利用深層、低分辨率的特征信息生成低分辨率深度圖,而后結(jié)合淺層、保留較多空間位置信息的特征生成高分辨率深度圖。但在這種基于由粗到精的策略中,低分辨率深度圖可以實(shí)時(shí)生成,而生成高分辨率深度圖則需要較長(zhǎng)時(shí)間。因此,對(duì)高分辨率圖像實(shí)時(shí)生成精確的深度圖仍是未來(lái)研究的一大趨勢(shì)。
5)學(xué)習(xí)范式。對(duì)訓(xùn)練圖像進(jìn)行逐像素標(biāo)簽標(biāo)注是一項(xiàng)耗時(shí)耗力的工作,已經(jīng)有許多研究人員嘗試采用無(wú)監(jiān)督方法來(lái)緩解標(biāo)注負(fù)擔(dān)。而相比于監(jiān)督學(xué)習(xí)方法,現(xiàn)有的無(wú)監(jiān)督方法匹配精度較低,因此,設(shè)計(jì)效果優(yōu)良的無(wú)監(jiān)督訓(xùn)練算法也具有重要的研究意義。
6)網(wǎng)絡(luò)架構(gòu)搜索。目前基于深度學(xué)習(xí)的立體匹配方法研究大都集中在設(shè)計(jì)新的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練方法,僅有較少的研究人員關(guān)注自動(dòng)學(xué)習(xí)最佳架構(gòu)問題,如AutoDispNet[36]。使用神經(jīng)進(jìn)化理論從數(shù)據(jù)中自動(dòng)學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)、激活函數(shù),可以釋放對(duì)人工網(wǎng)絡(luò)設(shè)計(jì)的需求。因此,對(duì)自動(dòng)學(xué)習(xí)復(fù)雜視差估計(jì)網(wǎng)絡(luò)架構(gòu)進(jìn)行研究也具有較大的發(fā)展前景。
7)不同類型網(wǎng)絡(luò)的應(yīng)用。目前基于深度學(xué)習(xí)的立體匹配方法大都基于卷積神經(jīng)網(wǎng)絡(luò),結(jié)合其他類型網(wǎng)絡(luò)(如循環(huán)神經(jīng)網(wǎng)絡(luò)、生成對(duì)抗網(wǎng)絡(luò)等)的優(yōu)勢(shì)來(lái)進(jìn)一步提高立體匹配的效果,也是一個(gè)潛在的研究方向。
本文對(duì)基于深度學(xué)習(xí)的立體匹配方法進(jìn)行分類和總結(jié)?;谏疃葘W(xué)習(xí)的非端到端方法取得了優(yōu)于傳統(tǒng)方法的性能表現(xiàn),并且相較端到端方法,非端到端方法對(duì)訓(xùn)練數(shù)據(jù)樣本量的要求較低,同時(shí)具有較強(qiáng)的泛化性和跨域遷移性,但是該類方法存在計(jì)算時(shí)間長(zhǎng)、感受野有限、缺乏上下文信息、匹配精度不高等問題。基于深度學(xué)習(xí)的端到端方法具有匹配精度高、網(wǎng)絡(luò)結(jié)構(gòu)易于設(shè)計(jì)、實(shí)時(shí)性高等優(yōu)點(diǎn),但是該類方法訓(xùn)練數(shù)據(jù)量較少、計(jì)算資源成本較高且跨域遷移性較弱。設(shè)計(jì)同時(shí)滿足匹配精度、實(shí)時(shí)性、魯棒性、跨域遷移性等要求的立體匹配方法,將是下一步的研究方向。