羅會蘭,周逸風
江西理工大學信息工程學院, 贛州 341000
從場景中獲取深度信息是計算機視覺的基礎(chǔ)問題,在智能汽車(胡云峰 等,2019)和機器人定位(Cadena等,2016)等領(lǐng)域應用廣泛。獲取深度信息的傳統(tǒng)方法是激光雷達。激光雷達通過測量激光的折返時間精確地獲取深度信息,但由于價格等原因很難大規(guī)模應用。與傳統(tǒng)方法相比,基于圖像的深度估計沒有過高的硬件要求,只需要拍攝圖像就能得到深度信息。因此,基于圖像的深度估計具有更廣泛的應用范圍和使用人群。基于圖像的深度估計分為基于單目視覺的深度估計方法和以立體視覺技術(shù)為代表的多目視覺深度估計方法。測試時,單目視覺從單幅圖像中獲取場景深度信息,而立體視覺技術(shù)類似于人眼的成像原理,需要使用兩個攝像頭獲取同一場景的兩幅圖像,然后對兩幅圖像進行匹配,利用匹配信息得到深度信息。在立體視覺技術(shù)中,左右兩圖像的基線距離和相機的焦距已知,已知的相機參數(shù)信息有助于精度的提高,但左右匹配問題受到設(shè)備的限制,從而使得雙目視覺應用范圍有較大局限性。相較而言,單目深度估計只需單幅場景圖像即可估計深度信息,不需要額外的信息,所以具有更廣泛的應用價值和重要的研究意義,逐漸成為當前計算機視覺領(lǐng)域的研究熱點之一。
從圖像中獲得深度信息的本質(zhì)是構(gòu)建一個關(guān)聯(lián)圖像信息和深度信息的模型(Saxena等,2005),隨著深度學習的迅速發(fā)展,深度卷積神經(jīng)網(wǎng)絡在單目視覺中的應用成為研究熱點。深度學習在解決目標識別、圖像分割等問題中性能優(yōu)異,這些方法也大量遷移應用于深度估計。從Eigen等人(2014)首次將神經(jīng)網(wǎng)絡應用于深度估計至今,隨著VGG(Visual Geometry Group)(Simonyan和Zisserman,2015)、ResNet(He等,2016)等網(wǎng)絡框架和空洞卷積(Yu和Koltun,2016)等卷積結(jié)構(gòu)相繼提出,出現(xiàn)了大量性能優(yōu)異的深度估計網(wǎng)絡。普通相機在拍攝時只記錄場景的色彩信息,深度信息的丟失導致在不同場景下拍攝的圖像可能是相同的,所以單目深度估計是一個病態(tài)問題。由于單目深度估計中圖像與深度圖的對應關(guān)系存在一對多的可能性,引入輔助信息提升深度估計精度是眾多科研者的思路。
已經(jīng)訓練好的單目深度估計模型在測試或?qū)嶋H使用時,只需要輸入單幅圖像就可以得到深度估計結(jié)果。但在訓練學習時,有些模型只需要使用單幅圖像訓練(Eigen等,2014;Laina等,2016)。也有許多研究者為了提升模型性能,使用立體圖像對(Godard等,2017;孫蘊瀚 等,2020)、圖像序列(Yin和Shi,2018;Zhou等,2017;Zou等,2018)和深度范圍(Fu等,2018;Lee等,2019)來訓練模型。目前,深度估計最常用的數(shù)據(jù)集是NYU depth v2(Silberman等,2012)數(shù)據(jù)集和KITTI(Karlsruhe Institute of Technology and Toyota Technological Institute at Chicago)(Geiger等,2012)數(shù)據(jù)集。NYU depth v2是美國紐約大學Silberman團隊使用Kinect深度相機創(chuàng)建的室內(nèi)深度估計數(shù)據(jù)集,包含464個室內(nèi)場景的彩色圖像和對應的深度圖,有效深度范圍為0.5 10 m。KITTI數(shù)據(jù)集由數(shù)據(jù)采集車沿途采集的彩色圖像、深度圖和GPS(global positioning system)位置等信息組成,包括城市街道和鄉(xiāng)間小道等道路場景,是常用的室外場景深度估計數(shù)據(jù)集。單圖像訓練模型采用特征提取主干網(wǎng)絡和上采樣網(wǎng)絡獲取深度圖,網(wǎng)絡結(jié)構(gòu)簡單,易于針對特定任務調(diào)整結(jié)構(gòu),并且對硬件要求低,但是需要像素級的深度真值圖進行訓練。多圖像訓練模型分為視差模型和運動結(jié)構(gòu)重建模型。視差模型分別估計輸入圖像的左右視差圖,并通過視差圖學習圖像的深度圖;運動結(jié)構(gòu)重建模型由深度估計模塊和相機軌跡估計模塊組成。多圖像訓練單目深度估計模型使用圖像間的空間關(guān)系或時序關(guān)系構(gòu)造監(jiān)督信息,在訓練時不需要圖像的深度真值,訓練數(shù)據(jù)很容易獲得,所以在大數(shù)據(jù)量上訓練得到的模型的泛化性能也較好。深度范圍也可以用來訓練模型,一些單目深度估計模型先將深度范圍離散化,然后根據(jù)卷積神經(jīng)網(wǎng)絡提取的特征估計每一個像素點的深度范圍。
與傳統(tǒng)的深度獲取方法和多目深度估計方法相比,單目深度估計只需一張照片就能獲得場景的深度信息,應用范圍更廣泛,是計算機視覺的研究熱點。2014年以來,許多研究者從事單目深度估計的研究,提出了不同的單目深度估計模型。Khan等人(2020)和Zhao等人(2020)以模型使用監(jiān)督學習、無監(jiān)督學習或半監(jiān)督學習為依據(jù),對單目深度估計研究進行了分類綜述。與上述綜述不同,本文從單目深度估計模型采用訓練數(shù)據(jù)類型的角度,對近年來基于深度學習的單目深度估計研究進行綜述,將單目深度估計方法分為單圖像訓練模型、多圖像訓練模型、語義及數(shù)據(jù)集深度范圍優(yōu)化深度估計,旨在為根據(jù)獲得的訓練數(shù)據(jù)類型和輔助信息選擇和設(shè)計模型提供參考。
單圖像輸入的訓練模型以單幅彩色圖像為輸入,參考深度信息為監(jiān)督信息,訓練網(wǎng)絡模型實現(xiàn)深度估計。在使用卷積神經(jīng)網(wǎng)絡擬合得到深度圖后,還可以通過一些優(yōu)化方法對深度圖進行優(yōu)化以提高預測精度。
卷積神經(jīng)網(wǎng)絡擬合深度圖的方法是使用卷積神經(jīng)網(wǎng)絡提取圖像特征后,采用全連接或上采樣的方法獲取圖像的深度圖。此類方法性能的提升依賴于深度卷積神經(jīng)網(wǎng)絡的學習能力。隨著深度學習技術(shù)的發(fā)展,出現(xiàn)了AlexNet(Krizhevsky等,2017)、VGG(Simonyan和Zisserman,2015)和ResNet(He等,2016)等網(wǎng)絡結(jié)構(gòu)。新型網(wǎng)絡結(jié)構(gòu)提高了網(wǎng)絡的深度,更深的網(wǎng)絡模型可以提取更豐富的特征信息,有利于提高擬合深度圖的精度。Eigen等人(2014)將AlexNet應用于深度估計,并提出由粗到細的兩步策略。網(wǎng)絡中使用粗細兩個尺度的神經(jīng)網(wǎng)絡,其中粗尺度網(wǎng)絡獲取全局深度,細尺度網(wǎng)絡在粗尺度網(wǎng)絡輸出的基礎(chǔ)上豐富局部細節(jié)。粗尺度網(wǎng)絡使用AlexNet網(wǎng)絡作為主干網(wǎng)絡,輸入的彩色圖像經(jīng)過AlexNet網(wǎng)絡提取特征,這些特征通過全連接層映射為分辨率是輸入圖像1/4的粗略深度圖。在細尺度網(wǎng)絡中,使用卷積提取原圖像的局部特征并與全局深度圖拼接,經(jīng)過卷積獲得最終的深度圖。但Eigen等人(2014)提出的網(wǎng)絡缺少上采樣層,使得網(wǎng)絡輸出的深度圖分辨率較小,細尺度網(wǎng)絡的優(yōu)化效果也不太理想,深度估計的精度有所欠缺。2014年,牛津大學提出了VGG網(wǎng)絡(Simonyan和Zisserman,2015),使用多個小卷積核的疊加替代AlexNet中的大卷積核,加深了網(wǎng)絡,從而提高了網(wǎng)絡性能。在Eigen等人(2014)的基礎(chǔ)上,Eigen和Fergus(2015)采用VGG網(wǎng)絡提取圖像的特征,并在Eigen等人(2014)提出的網(wǎng)絡結(jié)構(gòu)的基礎(chǔ)上加入第三尺度網(wǎng)絡,進一步優(yōu)化細節(jié),同時網(wǎng)絡中增加上采樣層,使輸出深度圖的尺寸提高,為輸入圖像的1/2。
Eigen等人(2014)使用全連接層生成深度圖,全連接層巨大的參數(shù)量限制了深度圖分辨率的提高。Shelhamer等人(2015)在為解決語義分割問題提出的全卷積網(wǎng)絡(fully convolutional networks,F(xiàn)CN)中使用特征圖取代全連接的結(jié)果,經(jīng)過上采樣將特征圖還原到輸入圖像的尺寸,在更少參數(shù)量的情況下獲得了原圖像同樣分辨率的輸出。在此基礎(chǔ)上,Laina等人(2016)將ResNet和FCN網(wǎng)絡應于單目深度估計。網(wǎng)絡在特征提取端使用ResNet50提取彩色圖像的深層特征,特征圖通過4次上采樣輸出分辨率為原圖像1/2的深度圖,并使用reverse Huber(Owen,2007;Zwald和Lambert-Lacroix,2012)函數(shù)替代L2范數(shù)為損失函數(shù)提高深度估計精度。由于ResNet有效緩解了梯度消失問題,相比Eigen等人(2014)提出的模型,Laina等人(2016)的模型的全局誤差顯著降低,深度估計的精度明顯提高。
Laina等人(2016)提出的網(wǎng)絡模型存在物體形狀扭曲、小物體缺失和物體邊界模糊等問題,一些研究者對此提出新的網(wǎng)絡模型。Hu等人(2019)認為不同尺度的特征圖包含不同的深度信息,基于這個觀點, Hu等人(2019)采用與Laina等人(2016)類似的主干網(wǎng)絡,不同尺度的特征圖上采樣后與主干網(wǎng)絡的輸出融合生成最終的深度圖,嘗試使用ResNet、DenseNet(Huang等,2017)和SENet(Hu等,2020)提取特征,其中SENet的深度估計效果最為優(yōu)異。網(wǎng)絡充分融合多尺度特征,有效增強了深度圖局部細節(jié),提高了深度估計的精度。與Hu等人(2019)方法不同, Zhao等人(2019)使用Shi等人(2016)提出的亞像素卷積融合多尺度特征,提高模型對細節(jié)的深度預測能力。為了提高物體邊界處的深度估計精度,謝昭等人(2020)基于編解碼結(jié)構(gòu)提出了一種采樣匯集網(wǎng)絡模型,在上采樣和下采樣層中加入局部匯集模塊,通過采樣匯集跨層的上采樣網(wǎng)絡提高特征圖分辨率,局部匯集模塊的使用減少了物體邊界定位誤差對深度估計的影響,提升了估計的精確度。
在卷積網(wǎng)絡模型估計得到深度圖后,可以利用輸入圖像的區(qū)域相似性和梯度等圖像自身的特征進一步優(yōu)化深度圖,其中利用圖像相似性優(yōu)化深度圖的方法主要有條件隨機場(conditional random field,CRF)(Lafferty等,2001)。Liu等人(2015)認為圖像中相似區(qū)域的深度相近,根據(jù)圖像的區(qū)域相似性使用連續(xù)條件隨機場優(yōu)化深度圖。首先,將圖像劃分為多個區(qū)域塊,即超像素,然后通過神經(jīng)網(wǎng)絡估計超像素的深度值,并根據(jù)相鄰超像素生成相似矩陣優(yōu)化深度估計。在CRF模型中,超像素作為圖模型的節(jié)點,每個超像素的深度映射函數(shù)用U表示,節(jié)點間的連線用二元項V表示,二元項反映節(jié)點間的相似度,卷積神經(jīng)網(wǎng)絡通過優(yōu)化U和V這兩個函數(shù),使得相似度高的超像素有相近的深度值。輸入圖像分為N個超像素,以超像素的質(zhì)心為中心在原圖中截取圖像塊作為一元項U的訓練圖像,經(jīng)過卷積層和全連接操作后輸出超像素質(zhì)心對應的深度值。N個超像素有K組相鄰超像素對,K組超像素對的相似度組成相似性矩陣。一元項部分的網(wǎng)絡以L2范數(shù)為損失函數(shù),二元項以CRF損失進行優(yōu)化。但網(wǎng)絡模型需要計算超像素的深度和超像素間的相似性,計算量大,耗時嚴重,而且深度估計的結(jié)果以超像素為單位降低了深度估計的精度。在此基礎(chǔ)上,Liu等人(2016)提出使用掩膜層加快計算,將圖像分割成多個超像素作為超像素掩膜層。彩色圖像經(jīng)過卷積和最近鄰插值得到與輸入圖像分辨率相同的深度圖,深度圖與超像素掩膜層結(jié)合,將同一超像素中的深度值平均后作為超像素的深度值,再進行條件隨機場優(yōu)化。由于神經(jīng)網(wǎng)絡不需要重復估計超像素的深度值,網(wǎng)絡的運行速度得到提升。
Xu等人(2017)將條件隨機場作為獨立的網(wǎng)絡分支,設(shè)計了一個由卷積神經(jīng)網(wǎng)絡和條件隨機場組成的深度估計網(wǎng)絡,卷積神經(jīng)網(wǎng)絡使用全卷積網(wǎng)絡產(chǎn)生深度圖,在上采樣網(wǎng)絡中將不同尺度特征圖生成的深度圖逐層輸入條件隨機場,得到精度逐步提高的深度圖。與使用條件隨機場優(yōu)化深度圖的方法不同, Li等人(2017)利用圖像梯度信息優(yōu)化深度估計,設(shè)計了一個獨立分支充分提取輸入圖像的梯度特征,并與深度估計融合,達到優(yōu)化深度圖的目的。Lee等人(2018)提出一種在頻域中分析候選深度圖以提高深度圖精度的深度學習網(wǎng)絡,使用裁剪率不同的裁剪圖像得到多個深度預選圖,在頻域中學習各深度預選圖的分量,并通過2維傅里葉逆變換產(chǎn)生最后的深度圖。由于不同裁剪率生成的深度預選圖在全局和局部的表現(xiàn)不同,深度學習模型充分學習了全局分量和局部細節(jié),使得深度估計的精度得到提高。
典型的單圖像輸入訓練模型的網(wǎng)絡結(jié)構(gòu)都比較簡單。FCN網(wǎng)絡提出前都使用卷積層加全連接層來產(chǎn)生深度值,F(xiàn)CN網(wǎng)絡提出后深度估計模型大多采用了編解碼結(jié)構(gòu)。與卷積神經(jīng)網(wǎng)絡擬合深度圖的方法相比,雖然深度圖優(yōu)化的方法預測深度更精確,但在訓練時多采用分步訓練,網(wǎng)絡需要更多迭代次數(shù),時間復雜度更高。隨著性能更好的新型骨干網(wǎng)絡框架的提出,單圖像訓練模型更傾向于采用卷積神經(jīng)網(wǎng)絡擬合的方法。典型單圖像訓練模型的概要如表1所示。
表1 典型單圖像訓練模型概要總結(jié)Table 1 Summary of typical single image training models
多圖像輸入訓練模型分為使用立體圖像對訓練的方法和使用圖像序列訓練的方法。以立體圖像對作為訓練數(shù)據(jù)的單目深度估計模型通過視差圖來學習場景的深度,而以圖像序列為訓練數(shù)據(jù)的單目深度估計模型,需要結(jié)合學習深度估計和相機姿態(tài),通過場景重建來優(yōu)化深度估計。多圖像輸入單目深度估計與立體視覺有顯著不同,在測試時,單目深度估計只需單幅圖像,而立體視覺還需要立體圖像對。
Mayer等人(2016)在FlowNet(Dosovitskiy等,2015)的基礎(chǔ)上,提出了用于視差估計的DispNet模型,在FlowNet的解碼端增加了卷積層和上采樣層,獲得了更平滑、分辨率更高的視差圖。Godard等人(2017)將視差法應用單目深度估計,網(wǎng)絡結(jié)構(gòu)如圖1所示。
圖1 MonoDepth網(wǎng)絡結(jié)構(gòu)示意圖(Godard等,2017)Fig.1 The framework of MonoDepth(Godard et al.,2017)
基于視差估計深度的網(wǎng)絡模型,其效果嚴重依賴于視差估計結(jié)果。所以一些研究者致力于視差估計模型的研究,GA-Net(guided aggregation net)(Zhang等,2019)和Bi3DNet(Badki等,2020)等視差預測模型有效提高了深度估計的效果?;贕odard等人(2017)的網(wǎng)絡模型和損失函數(shù),孫蘊瀚等人(2020)通過DenseNet(Huang等,2017)提取特征后使用特征金字塔結(jié)構(gòu)(Lin等,2017)估計多尺度深度圖,并在損失函數(shù)中使用多尺度損失,深度估計精度有所提高。在Godard等人(2017)的方法中,右視差圖dr是左視圖Il生成的,造成右視圖Ir與右視差圖dr不匹配,從而影響了深度圖的精度。Repala和Dubey(2019)使用雙流網(wǎng)絡并行處理左右視圖,估計左右視差圖,使左右視差圖與對應視圖匹配,得到了更精確的深度圖。
Kendall等人(2015)提出了PoseNet網(wǎng)絡模型,通過分析圖像序列獲得相機的運動軌跡,實現(xiàn)相機姿態(tài)估計。在此基礎(chǔ)上,Zhou等人(2017)提出了運動結(jié)構(gòu)重建模型SfMLearner(structure from motion learner),在假定沒有運動物體和場景物體是理想反射以及相機參數(shù)已知的條件下,將深度估計與相機姿態(tài)估計結(jié)合,使用運動結(jié)構(gòu)重建來學習圖像中的深度信息。網(wǎng)絡結(jié)構(gòu)如圖2所示,以圖像序列作為輸入,It為目標圖像,It-1和It+1表示目標圖像的前后幀圖像,將它們輸入相機姿態(tài)估計網(wǎng)絡中,分別估計從It到It-1和從It到It+1的相機運動軌跡。深度估計網(wǎng)絡估計輸入圖像It的深度圖,然后圖像It的深度圖結(jié)合相機運動軌跡和相機參數(shù)將圖像It中所有點的位置映射到It+1和It-1中,最后根據(jù)映射關(guān)系使用It+1和It-1中像素點的亮度值重建圖像It。網(wǎng)絡以重建后的圖像和原圖像間的誤差作為損失函數(shù),同時優(yōu)化深度估計網(wǎng)絡和姿態(tài)估計網(wǎng)絡。訓練時,網(wǎng)絡以圖像序列作為訓練數(shù)據(jù),預測時只需輸入單幅圖像估計圖像的深度圖。
圖2 SfMLearner網(wǎng)絡結(jié)構(gòu)示意圖(Zhou等,2017)Fig.2 The framework of SfMLearner(Zhou et al.,2017)
考慮到圖像序列間的亮度差異會影響深度估計的精確度,Yang等人(2020)在Zhou等人(2017)的基礎(chǔ)上,使用亮度轉(zhuǎn)換函數(shù)和亮度不確定參數(shù)來減少匹配圖像序列間的亮度誤差,提高了深度估計的整體精度。一些研究者在SfMLearner基礎(chǔ)上,通過優(yōu)化姿態(tài)估計網(wǎng)絡和深度估計網(wǎng)絡提高深度估計模型的性能。梁欣凱等人(2019)在姿態(tài)估計網(wǎng)絡中加入長短期記憶網(wǎng)絡,并在深度估計網(wǎng)絡中使用空洞特征金字塔網(wǎng)絡(Chen等,2018)提取特征,提升了深度估計的精度。同樣的,Johnston和Carneiro(2020)使用自注意力(Wang等,2018)和離散差異體積卷積(Kendall等,2017)增強深度估計模塊的性能。SfMLearner模型隱含地假定了目標圖像幀與其相鄰幀間不存在遮擋或分離現(xiàn)象,為了克服此局限性,Godard等人(2019)采用U-Net(Ronneberger等,2015)網(wǎng)絡作為特征提取主干網(wǎng)絡來估計圖像的深度,重建損失項中使用最小重投影損失取代平均重投影損失降低遮擋物對深度估計的影響,從而提高了深度圖的精確性。
為了處理存在運動物體的場景,Yin和Shi(2018)結(jié)合FlowNet(Dosovitskiy等,2015)提出了GeoNet模型,采用分治策略,根據(jù)場景中物體是否存在相對移動,將場景中的物體分為靜態(tài)和動態(tài)物體,深度估計和姿態(tài)估計網(wǎng)絡處理靜態(tài)物體,光流網(wǎng)絡計算場景中運動物體的光流。首先使用運動結(jié)構(gòu)重建的思想實現(xiàn)場景重建,然后將重建后的場景圖輸入后續(xù)的光流網(wǎng)絡中,通過前后向光流一致性優(yōu)化深度估計網(wǎng)絡、相機姿態(tài)估計網(wǎng)絡和光流網(wǎng)絡,很好地解決了運動結(jié)構(gòu)重建無法處理運動物體的問題。同樣地,為了解決運動物體問題,Zou等人(2018)提出DF-Net模型,使用光流網(wǎng)絡,通過前后向一致性生成掩膜層來明確靜態(tài)與動態(tài)物體的區(qū)域。而Ranjan等人(2019)使用運動分割的方法明確靜態(tài)與動態(tài)區(qū)域。這兩種方法使得動態(tài)物體的區(qū)域更為明確,進一步提升了網(wǎng)絡應對運動物體的能力。
相機將3維場景映射為2維圖像時,2維圖像丟失了圖像中物體尺寸與實際物體尺寸的比例關(guān)系,因此無法準確估計單幅圖像中物體的長度。立體圖像對中,由于兩視圖間的基線距離已知,根據(jù)基線距離能夠準確計算圖像與實際物體尺寸的比例,所以使用立體圖像訓練的深度模型能夠準確估計圖像的深度值。與立體圖像對不同,圖像序列間缺少相機移動的實際度量尺度,度量尺度的缺失引起的尺度模糊問題會影響深度估計的效果。Zhan等人(2018)考慮到圖像序列中存在的尺度模糊問題,提出使用立體圖像序列訓練單目深度估計的網(wǎng)絡模型。在立體圖像序列中,左視圖到右視圖的相機運動軌跡已知,網(wǎng)絡分別估計左視圖序列和右視圖序列中的相機運動軌跡,然后結(jié)合相機運動軌跡與深度圖重建視圖??紤]到重建圖與原圖間存在亮度差,而這種亮度差會影響深度估計的效果,因此重建圖像的同時還重建了圖像的特征,在圖像重建損失的基礎(chǔ)上增加了原圖與重建圖的特征匹配損失項,降低了原圖與重建圖像間亮度不同對網(wǎng)絡性能的影響。使用立體圖像序列降低了圖像序列中尺度模糊的影響,同時立體圖像序列在圖像序列中增加了左右視圖間的空間約束,提升了深度估計的精確性。
視差法深度估計模型和運動結(jié)構(gòu)重建模型作為多圖像訓練的典型模型,與單圖像訓練模型相比,網(wǎng)絡結(jié)構(gòu)復雜度明顯提高。但是多圖像訓練模型在訓練時不需要深度真值作為監(jiān)督,極大降低了訓練數(shù)據(jù)的獲取難度,增加的訓練數(shù)據(jù)提高了網(wǎng)絡的泛化性能。相對于視差法深度估計模型,運動結(jié)構(gòu)重建模型的結(jié)構(gòu)更為復雜,網(wǎng)絡包括深度估計和相機軌跡估計兩個前端模塊和光流網(wǎng)絡等后端處理模塊,訓練過程更復雜,收斂速度更慢。典型多圖像訓練模型的概要如表2所示。
表2 典型多圖像訓練模型概要總結(jié)Table 2 Summary of typical multi-image training models
單幅圖像單目深度估計方法根據(jù)神經(jīng)網(wǎng)絡提取的圖像特征擬合深度圖,多圖像單目深度估計通過視差圖和運動結(jié)構(gòu)重建計算圖像的深度。為了進一步提高深度估計的精度,許多研究者結(jié)合語義標簽和數(shù)據(jù)集深度范圍等信息來獲得更好的深度估計效果。
語義分割與深度估計是計算機視覺中的兩項基本任務,都是對圖像場景的理解,語義分割中物體邊緣普遍存在深度跳躍而分割物體內(nèi)部的深度大多連續(xù),兩項任務具有非常高的相關(guān)性,結(jié)合進行訓練可以學習到額外的信息,從而提高深度估計的性能。而且兩項任務可以共享一個主干網(wǎng)絡,減少訓練兩項任務的參數(shù)量。因此,許多研究者通過結(jié)合語義分割與深度估計來提高深度估計效果。
Wang等人(2015)首次提出在網(wǎng)絡框架中聯(lián)合利用語義和深度信息,旨在提升深度估計和語義分割的效果。網(wǎng)絡結(jié)構(gòu)如圖3所示,全局卷積神經(jīng)網(wǎng)絡以整個圖像作為輸入,同時估計整幅圖像的深度圖和語義概率圖。而區(qū)域卷積神經(jīng)網(wǎng)絡以over-segmentation(Liu等,2011)算法分割的圖像塊為輸入,估計歸一化相對深度模板和語義標簽。然后利用像素點的深度與語義標簽、圖像塊的深度與語義標簽以及圖像塊與像素間的包含關(guān)系組成分層條件隨機場。最后聯(lián)合利用像素級深度信息和區(qū)域級深度信息,使用循環(huán)置信傳播(loopy belief propagation, LBP)算法估計每個圖像塊的語義標簽,再使用最大后驗概率算法估計圖像塊中每個像素點的語義標簽。在獲得語義標簽后,通過LBP算法估計圖像塊中心深度和深度變化尺度,結(jié)合區(qū)域卷積網(wǎng)絡估計的歸一化模板,獲得圖像塊的絕對深度。模型通過最小化雙層CRF聯(lián)合估計語義標簽和深度圖,充分利用了圖像中語義與深度信息的關(guān)聯(lián)性,精度得到了一定提升。
圖3 分層條件隨機場網(wǎng)絡結(jié)構(gòu)示意圖(Wang等,2015)Fig.3 The framework of hierarchical conditional random field(Wang et al.,2015)
Jiao等人(2018)通過分析數(shù)據(jù)集中深度值的分布,提出使用語義信息和注意力驅(qū)動損失來優(yōu)化深度圖。圖像在提取特征后分別輸入深度估計和語義分割兩個分支網(wǎng)絡,兩個分支網(wǎng)絡間采用橫向共享單元將同尺度下的特征相互拼接實現(xiàn)特征共享,同時每個分支中使用跳躍連接將各上采樣層融合,得到最后的深度圖和語義分割圖。網(wǎng)絡同時進行深度估計和語義分割,橫向共享單元使兩項任務的效果協(xié)同提高,有效提高了深度估計的精度。
Chen等人(2019)提出采用立體視圖同時預測圖像的深度信息和語義分割,將左視圖生成的語義分割圖通過視差圖轉(zhuǎn)化為右視圖的語義分割圖,右視圖生成的語義分割圖通過同樣的操作獲得左視圖的語義分割圖,然后使用相對應語義分割圖差值之和優(yōu)化網(wǎng)絡,相比Godard等人(2017)單純使用立體圖像對進行深度估計,精度獲得了顯著提升。
有些研究者將實例分割和全景分割等新型的圖像分割任務與深度估計結(jié)合。Wang等人(2020)將深度估計、語義分割和實例分割三者結(jié)合,提出了SDC-DepthNet(semantic divide-and-conquer network)模型,采用分治策略先對圖像進行語義分割和實例分割,再結(jié)合分割結(jié)果估計圖像深度。語義分割圖促使圖像中相同語義類別的物體有相近的深度值;實例分割圖明確界定了同種物體中不同個體的邊界,使圖像中同類物體的不同個體在深度圖中存在明顯的深度差。SDC-DepthNet模型利用語義分割和實例分割的特點,提升了深度估計的精確度。
常用的深度估計數(shù)據(jù)集有NYU depth和KITTI數(shù)據(jù)集,NYU depth數(shù)據(jù)集的深度范圍是0 10 m,KITTI數(shù)據(jù)集的最大深度是120 m。在數(shù)據(jù)集的有效深度范圍已知條件下,一些研究者采用像素級分類的方法實現(xiàn)深度估計。
Cao等人(2018)將數(shù)據(jù)集深度范圍離散化后對每個像素點進行深度分類,實現(xiàn)深度估計。網(wǎng)絡通過ResNet152提取圖像特征,并控制輸出特征圖的通道數(shù)與深度范圍離散個數(shù)相同。然后,特征經(jīng)過softmax層后生成概率圖,獲得像素點的深度范圍,以深度范圍的中值作為像素點的深度值。最后,將每個像素點深度值的對數(shù)損失作為一元項,使用高斯核函數(shù)衡量輸入圖像中像素點對間的顏色和位置相似度,高斯核函數(shù)與對應像素點對的深度絕對差之積作為二元項來構(gòu)造條件隨機場,分類器估計深度范圍后使用條件隨機場優(yōu)化深度圖,最終得到的精確度比Laina等人(2016)的方法更高。
Fu等人(2018)在數(shù)據(jù)集深度范圍已知的條件下,將深度估計看做是一個分類問題,采用順序回歸的方法實現(xiàn)單目深度估計。網(wǎng)絡以整幅圖像作為輸入,輸入圖像經(jīng)過密集特征提取后輸入場景理解模塊,最后通過有序回歸實現(xiàn)深度估計。場景理解模塊由空洞特征金字塔網(wǎng)絡(Chen等,2018)和全圖編碼器組成,空洞特征金字塔網(wǎng)絡充分融合多尺度特征,特征經(jīng)過編碼進行有序回歸。有序回歸時需要多個間隔遞增離散化標簽,考慮到深度估計誤差隨著圖像深度的增大而增大,在對數(shù)域中將數(shù)據(jù)集深度范圍平均離散化作為有序回歸的類別。網(wǎng)絡通過有序回歸獲得每個像素點的深度區(qū)間后,將深度區(qū)間的中點作為像素點的深度值,取得了2018年KITTI深度估計的最優(yōu)效果。
Su和Zhang(2020)同樣將深度估計作為分類任務,提出了SSE-Net(scale-sernantic exchange network)模型,使用與Fu等人(2018)相同的方法對數(shù)據(jù)集深度范圍離散化。SSE-Net網(wǎng)絡以ResNet101為主干網(wǎng)絡提取多尺度特征,多尺度特征輸入信息交換網(wǎng)絡充分融合,然后經(jīng)過卷積產(chǎn)生類別概率圖,最后使用軟回歸網(wǎng)絡獲得深度圖。在軟回歸網(wǎng)絡中,考慮到數(shù)據(jù)集深度范圍嚴格離散化會對深度的連續(xù)性和模型處理歧義的性能產(chǎn)生影響,引入了尺度項和偏移項對生成的類別概率圖進行修正。信息交換網(wǎng)絡和軟回歸的使用有效提升了深度估計的效果。
與上述像素級分類方法不同,Lee等人(2019)利用數(shù)據(jù)集深度范圍提出新型的場景重建網(wǎng)絡,以數(shù)據(jù)集深度范圍作為輔助信息,提出使用局部平面指導層解決下采樣過程中的信息丟失問題。輸入圖像通過DenseNet(Huang等,2017)提取特征,接著使用空洞特征金字塔網(wǎng)絡(Chen等,2018)充分融合特征圖的上下文信息,然后通過局部平面指導層重建場景,最后結(jié)合多尺度的場景重建圖生成深度圖。局部平面指導層進行場景重建時,數(shù)據(jù)集深度范圍與特征圖結(jié)合,將特征圖上每個位置的特征值轉(zhuǎn)換為包含方位信息的特征向量。然后,根據(jù)射線平面交叉的原理得到場景重建圖。通過數(shù)據(jù)集深度范圍,將每個尺度下的特征圖映射為反映場景信息的場景重建圖,充分利用了各尺度的特征信息,深度估計的精度有很大提升。
輔助信息的加入提高了深度估計的精確度,但是使用輔助信息會使網(wǎng)絡更復雜,訓練需要的時間更長。語義信息不僅使網(wǎng)絡更復雜,而且增加了訓練難度,一些結(jié)合語義分割的深度估計模型不得不采用分步訓練的方法。與語義信息相比,在深度估計網(wǎng)絡中加入深度范圍更靈活,深度范圍不僅應用于像素級分類深度估計模型,還可以加強網(wǎng)絡對輸入圖片場景的理解能力,并且使用深度范圍作為輔助信息的深度估計模型采用統(tǒng)一訓練的方法,訓練簡單。典型輔助信息訓練模型的概要如表3所示。
單目深度估計模型常用的性能評價指標有絕對值相對誤差(AR)、平方相對誤差(SQ)、對數(shù)平均誤差(ML)、均方根誤差(RMS)、對數(shù)均方根誤差(LRMS)以及閾值準確率(fcorrect)(Zhuo等,2015),計算方法為
(1)
(2)
(3)
(4)
(5)
(6)
(7)
表4、表5和表6分別比較了單圖像輸入單目深度估計模型、多圖像輸入單目深度估計模型和利用輔助信息優(yōu)化深度模型在NYU數(shù)據(jù)集和KITTI數(shù)據(jù)集上的測試性能。表中數(shù)據(jù)取自各方法的測試結(jié)果,KITTI數(shù)據(jù)集的深度范圍采用0 80 m,表5中訓練網(wǎng)絡使用的數(shù)據(jù)類型M和S分別表示圖像序列和立體圖像對。
從表4可以看出,Eigen等人(2014)方法與Hu等人(2019)方法的結(jié)果相比,單圖像單目深度估計模型的性能在5年時間內(nèi)提升了近一倍。多圖像單目深度估計模型是2017年出現(xiàn)的,雖然模型出現(xiàn)較晚,但發(fā)展勢頭強勁。從表5可以看出,Johnston和Carneiro(2020)方法與Zhou等人(2017)方法的結(jié)果相比,預測誤差明顯降低。從表6的數(shù)據(jù)可以發(fā)現(xiàn),通過利用輔助信息優(yōu)化深度估計后,性能相比表4和表5中模型有較大提升。表6中Chen等人(2019)的RMS與表5中Repala和Dubey(2019)模型相比,降低了2.198。Wang等人(2015)模型與表4中Eigen等人(2014)模型相比,RMS降低了0.162。
表4 部分單圖像訓練模型的評估函數(shù)值Table 4 Quantitative evaluation of some single image training models
表5 部分多圖像訓練模型的評估函數(shù)值Table 5 Quantitative evaluation of some multi-image training models
表6 部分輔助信息優(yōu)化深度模型的評估函數(shù)值Table 6 Quantitative evaluation of some auxiliary information training models
深度估計的應用領(lǐng)域?qū)文可疃裙烙嫷木_度、估計速度和泛化性等方面有很高的要求。本文根據(jù)網(wǎng)絡輸入數(shù)據(jù)的類型對單目深度估計模型進行了分類綜述,分別介紹了單圖像輸入、多圖像輸入和結(jié)合輔助信息3類方法中的典型網(wǎng)絡結(jié)構(gòu)。以單幅圖像作為訓練數(shù)據(jù)的模型具有網(wǎng)絡結(jié)構(gòu)簡單的特點,但泛化性能較差。采用多圖像訓練的深度估計網(wǎng)絡有更強的泛化性,但網(wǎng)絡的參數(shù)量大、網(wǎng)絡收斂速度慢、訓練耗時長。引入輔助信息的深度估計網(wǎng)絡的深度估計精度得到了進一步提升,但輔助信息的引入會造成網(wǎng)絡結(jié)構(gòu)復雜、收斂速度慢等問題。單目深度估計研究還存在許多的難題和挑戰(zhàn),未來的研究趨勢包含如下兩個方面:
1)多圖像訓練模型成為研究熱點。雖然采用單幅圖像作為訓練數(shù)據(jù)的網(wǎng)絡模型具有模型簡單的特點,但是訓練所需的精確密集深度信息難于獲得,訓練數(shù)據(jù)的場景種類和樣本數(shù)量非常有限,導致單圖像訓練單目深度估計模型的泛化性較差。而多圖像訓練單目深度估計網(wǎng)絡模型在訓練時不需要精確的深度信息,訓練數(shù)據(jù)的成本更低,所以可以獲得更大量的訓練數(shù)據(jù),從而使得模型的泛化性能得到提高,所以多圖像輸入單目深度估計逐漸成為單目深度估計的研究熱點。
2)單目深度估計中加入約束信息。由于單目深度估計的病態(tài)性,僅從彩色圖像中獲取的場景信息很難提高深度估計的精確度。在這種情況下,在單目深度估計網(wǎng)絡中加入輔助信息是提升單目深度估計的有效方法。語義標簽與深度估計聯(lián)系緊密,常用來提升深度估計的效果。特定領(lǐng)域約束信息的加入在解決特定問題中也能取得不錯效果,如Chen等人(2016)在野外深度估計任務中加入相對深度信息提高深度估計的精度。