點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達
題目:Monocular Depth Estimation: A Thorough Review
單目深度估計:全面綜述
作者:Vasileios Arampatzakis; George Pavlidis; Nikolaos Mitianoudis; Nikos Papamarkos
摘要
在計算機視覺領(lǐng)域,對二維圖像中深度的估計是一個具有挑戰(zhàn)性的主題。這是一個長期被深入研究且定義不明確的問題,一直是密集研究的焦點。本文是對這一主題的深入回顧,呈現(xiàn)了兩個方面:一方面考慮人類深度感知的機制,另一方面包括各種深度學(xué)習(xí)方法。這些方法以緊湊和結(jié)構(gòu)化的方式呈現(xiàn),概述了主題,并根據(jù)近十年的研究線索對方法進行了分類。盡管在這一主題上取得了顯著進展,但似乎沒有任何與人類深度感知及其潛在益處的聯(lián)系。
關(guān)鍵詞
人工智能
計算機視覺
深度學(xué)習(xí)
深度估計
圖像處理
機器學(xué)習(xí)
單目深度估計
第一部分 引言
場景的空間結(jié)構(gòu)識別是機器視覺感知中的一個基本問題,通常被稱為深度估計或重建。當(dāng)一個三維(3D)場景投影到一個平面上時,就會產(chǎn)生一個二維(2D)圖像。深度估計的目標(biāo)是解決逆問題,即重構(gòu)由于投影而丟失的與觀察位置相對應(yīng)的場景對象間距離的維度。迄今為止提出的表示空間結(jié)構(gòu)和3D場景與其對應(yīng)2D圖像之間映射的方法都屬于深度估計領(lǐng)域[1]。
形式上,給定一幅單個圖像
,其中包含三個顏色通道,尺寸為
,目標(biāo)是估計一幅深度圖
。將這個問題作為圖像重建問題來處理,需要一個函數(shù)
,以映射場景的深度。
在這一主題上的研究對廣泛的應(yīng)用領(lǐng)域有著直接的影響,例如圖像分割[2]、自主導(dǎo)航[3],并隨著目標(biāo)檢測的進一步增強[4]、機器人輔助手術(shù)[5]、檢測機器人抓取[6]、人體姿態(tài)估計[7]、自動將2D影片轉(zhuǎn)換為3D[8]、圖像的合成性聚焦模糊[9]以及在圖像中合成對象的插入[10]。盡管由于機器學(xué)習(xí)和人工智能的進步,這些應(yīng)用近年來取得了巨大改進,但獲得的視覺感知能力仍然遠遠落后于人類的技能。
我們目前對人類深度感知的理解是,它依賴于從視覺線索中提取的信息[11]、[12]、[13]。深度的視覺線索可以被看作是由復(fù)雜的人類視覺感知產(chǎn)生的差異化信息,這種感知不斷地比較來自眼睛的視覺輸入。
盡管人類天生具有感知空間結(jié)構(gòu)的能力,但大多數(shù)技術(shù)方法仍然發(fā)現(xiàn)很難獲得一般性的深度感知。如今,存在幾種深度估計方法,這些方法依賴于有限數(shù)量的深度線索,如立體視覺[14]、單目視覺(例如,紋理變化、紋理梯度、霧、物體的相對大小和遮擋)[15]、運動視差[16]和焦點[17]。此外,方法之間存在基本的區(qū)別,即它們是否能夠理解觀察場景的絕對測量或相對深度估計。在某些應(yīng)用中,相對深度估計可能就足夠了,而在其他應(yīng)用中,絕對深度測量被認為是必需的。因此,在大多數(shù)情況下,應(yīng)用領(lǐng)域決定了要使用的方法類型。最近,計算資源、能力、內(nèi)存的可用性,以及深度學(xué)習(xí)技術(shù)的進步,成為重新審視深度估計問題的因素。
在基于深度學(xué)習(xí)的單目深度估計領(lǐng)域,已經(jīng)發(fā)表了幾篇綜述,突出了新方法、挑戰(zhàn)和未來方向。Xiaogang等人[18]進行了一項綜述,重點關(guān)注性能評估和未來方向。他們基于評估指標(biāo)比較了少量方法,并討論了自適應(yīng)方法、使用高效網(wǎng)絡(luò)架構(gòu)進行高密度圖像深度估計以及在復(fù)雜場景中準(zhǔn)確深度估計的挑戰(zhàn)的潛力。Masoumian等人[19]討論了卷積神經(jīng)網(wǎng)絡(luò)(CNN)架構(gòu)以及在單目深度估計中需要進步的必要性。他們強調(diào)了有限數(shù)據(jù)集和真實深度數(shù)據(jù)的普遍問題,并提出了未來研究的六個目標(biāo):準(zhǔn)確性、計算時間、分辨率質(zhì)量、實時推理、可轉(zhuǎn)移性和輸入數(shù)據(jù)形狀。Ming等人[20]確定了當(dāng)前方法的共同特征,即多層結(jié)構(gòu)和編碼器-解碼器架構(gòu)中固有的信息丟失問題。他們概述了未來方法面臨的五個主要挑戰(zhàn),包括網(wǎng)絡(luò)框架的集成和優(yōu)化、數(shù)據(jù)集構(gòu)建、處理動態(tài)對象和遮擋、生成高分辨率深度圖和實現(xiàn)實時性能。Poggi等人[21]專注于基于立體視覺的雙目方法。他們總結(jié)了最近的成就,并強調(diào)了兩個未來的發(fā)展方向:跨不同領(lǐng)域的泛化和方法對高分辨率圖像的適用性。Zhao等人[22]討論了單目深度估計的未來發(fā)展,沿著三個主要軸:準(zhǔn)確性、可轉(zhuǎn)移性和實時性能。他們還強調(diào)了對基于深度學(xué)習(xí)的單目深度估計方法的基礎(chǔ)機制缺乏研究,例如了解它們利用哪些深度線索以及網(wǎng)絡(luò)學(xué)到了什么。
這項工作的動機是,盡管單目深度估計取得了快速進展,但進展似乎是遵循試錯模式,沒有關(guān)注可解釋性以及與人類深度感知機制的聯(lián)系。為此,我們回顧、分類并討論了相關(guān)研究,提供了雙重貢獻:(a) 詳細描述問題并編目當(dāng)前的最新技術(shù),(b) 強調(diào)需要進一步研究,以了解方法能夠提供什么以及如何提供(可解釋性[23])。在各種AI領(lǐng)域?qū)崿F(xiàn)可解釋性的最典型方法包括(a) 特征可視化[24],(b) 顯著性圖[25],(c) 注意力機制[26],(d) LIME(局部可解釋模型無關(guān)解釋)[27],(e) SHAP(Shapley可加性解釋)[28],和 (f) Grad-CAM(梯度加權(quán)類激活映射)[29]。此外,必須注意解釋方法在簡單性和準(zhǔn)確性之間的權(quán)衡,一些方法是特定于模型的,而另一些方法是模型無關(guān)的,并且需要驗證解釋并確保它們反映真實的模型行為。在單目深度估計中,對此進行的研究有限,如第IV節(jié)所討論的。在這項研究中,我們還提議將可解釋性(在這一領(lǐng)域)定義為理解AI系統(tǒng)深度預(yù)測與人類深度估計機制之間的聯(lián)系,并建議未來在這個方向上的研究可能是有益的。
本文首先介紹人類視覺深度線索,然后轉(zhuǎn)向研究傳統(tǒng)的和先進的深度估計方法,總結(jié)相關(guān)的基準(zhǔn)數(shù)據(jù)集和適用的評估指標(biāo)。本文最后以評論結(jié)束,強調(diào)處理單目深度估計的未來視角。
第二部分 背景與相關(guān)工作
深度感知對于機械系統(tǒng)來說一直是一個重大挑戰(zhàn)。在他的論文《光學(xué)》中,歐幾里得是最早為這個主題提出定理的人之一;“等大小的物體,如果距離不相等,則看起來大小不一,而且離眼睛更近的物體總是看起來更大”,以及“當(dāng)物體以相同的速度移動時,那些更遠的物體似乎移動得更慢”只是其中兩個定理[30]。毫無疑問,歐幾里得意味著相對大小和運動視差是人類深度感知中的兩個重要視覺深度線索,正如以下文本所述。從那時起,特別是對于單目深度感知,已經(jīng)提出了各種深度線索,例如透視、相對尺度、在受控照明和陰影下的呈現(xiàn)、陰影的形狀以及遮擋的存在[31]。本綜述遵循了Cutting和Vishton[11]的研究,如II-A節(jié)所述。
A. 人類深度感知
早在1995年,Cutting和Vishton[11]就發(fā)表了他們關(guān)于人類深度感知的詳細研究和結(jié)論。他們描述并分類了Nagata[12]先前提出的視覺深度線索。他們識別了九個主要的視覺深度線索,如圖1所示,并定義如下:
-
相對大小 (RS) 指的是在視網(wǎng)膜上,物理大小相似的物體的投影所占面積的表觀差異。換句話說,在兩個相似的物體之間,看起來更小的那個更遠。
-
相對密度 (RD) 在觀察到一群相似的物體或紋理時被檢測到。隨著觀察者距離的增加,物體看起來更接近彼此,紋理變得更密集。
-
視覺場中的高度 (H) 與物體基座的關(guān)系有關(guān),假設(shè)存在地平面和沒有天花板[32]。具體來說,距離觀察者更遠的物體傾向于更接近地平線。
-
大氣透視 (AP) 當(dāng)空氣中有高濃度的水分、污染或兩者兼有時出現(xiàn),遠處的物體與前景物體相比變得更藍、對比度更低或兩者都有。
-
運動透視 (MP) 是當(dāng)觀察者和被觀察物體之間存在相對運動時出現(xiàn)的現(xiàn)象。看起來移動得更快的物體更接近觀察者。
-
收斂 (C) 與兩只眼睛的光學(xué)軸線之間的角度有關(guān)。如果物體遠離觀察者,光學(xué)軸線趨于平行,它們之間的角度接近零度。隨著物體距離的減少,兩個軸線匯聚到物體上的一個點。
-
調(diào)節(jié) (A) 是眼睛的功能,其中晶狀體(本質(zhì)上是一個不對稱的雙凸透鏡)改變其形狀以實現(xiàn)在不同距離上的聚焦。
-
雙眼差異 (BD) 是立體視覺的基礎(chǔ),是兩個眼睛中觀察到的物體位置的差異,只有在多個觀察傳感器(在這種情況下是眼睛)可用時才有意義。
這些視覺深度線索的組合似乎與人類對完整場景的理解有關(guān)。此外,Cutting和Vishton[11]提到了次要線索,例如紋理梯度、線性透視、亮度和陰影、運動深度、運動遮擋和重力。根據(jù)他們的說法,這些線索是“次要的”,因為它們要么是主要線索的組合,要么被錯誤地考慮了。
圖2是Cutting和Vishton關(guān)于深度辨別能力與兩個物體之間距離的另一個著名圖形表示的再現(xiàn),其中df表示遠物體,dn表示近物體的距離。在這個圖中,對數(shù)水平軸表示兩個物體之間的平均深度
,定義為:
這個圖的另一個顯著特點是對數(shù)垂直軸的遞減。在這個軸上,深度對比度的值隨著高度降低。給定物體的距離,那些深度線索在閾下曲線以下的是有效的深度辨別。圖2中的閾下曲線下方的陰影強調(diào)了每個線索在深度辨別中的作用。因此,被多個線索的陰影覆蓋的區(qū)域是深度感知可以被認為是多因素函數(shù)的區(qū)域,或者深度辨別是由多個深度線索輔助的。盡管完全理解這個圖是有挑戰(zhàn)性的,可以說,對于給定的平均深度(x軸的值),深度辨別的興趣區(qū)域由線索閾下曲線界定。Cutting和Vishton定義了深度對比度的實用下限為
。不管深度線索如何,使用Cutting和Vishton的定義估計深度對比度
:
會導(dǎo)致一些有趣的觀察。顯然,隨著觀察者距離的增加,深度辨別能力顯著下降,因為物體彼此靠近。很容易計算出公式2,并發(fā)現(xiàn)為了保持深度對比度的最大值,遠物體的距離應(yīng)該是近物體的三倍。由于這種關(guān)系是恒定的,物體離觀察者越遠,它們就應(yīng)該越分開,以便觀察者能夠辨別它們的深度。如圖2所示,當(dāng)近物體在100米處,遠物體在300米處時,平均深度是200米,深度對比度是1,提供反饋的深度線索是多方面的,幾乎所有的線索除了收斂和調(diào)節(jié)之外,在10米的平均距離處停止貢獻。在另一個例子中,當(dāng)近物體再次在100米處,遠物體在110.5米處,那么平均深度是105.25米,對比度是
,這意味著深度辨別不再受雙眼差異、運動透視、視覺場中的高度和大氣透視的支持了。
B. 3D數(shù)字化中的深度估計
深度估計是任何3D數(shù)字化方法的基本目標(biāo),即記錄3D物理對象的幾何結(jié)構(gòu),通常還包括光譜特征[33]。最初,采用了傳統(tǒng)的計算機視覺技術(shù),如短程激光束三角測量、時間飛行(LiDAR)掃描、基于相位的掃描、結(jié)構(gòu)光形狀(如微軟Kinect)、光度形狀、陰影形狀、輪廓形狀、陰影梯度形狀、立體形狀、紋理深度、聚焦/散焦深度以及運動結(jié)構(gòu)(SFM)。這些方法利用圖像對應(yīng)關(guān)系、幾何關(guān)系和其他手工制作的特征來估計深度。一些方法是單目的,其他是雙目的,其他依賴于多視圖幾何。可以在[33]、[34]中找到各種方法的詳細回顧。盡管3D數(shù)字化方法重建了場景的完整3D結(jié)構(gòu),但深度估計可以僅限于從觀察者重建距離。這是大多數(shù)最近在單目深度估計研究中的情況。因此,3D數(shù)字化方法在這里僅以信息性方式引用,并沒有進一步討論。
C. 基準(zhǔn)數(shù)據(jù)集
在深度估計研究中,只有少數(shù)基準(zhǔn)數(shù)據(jù)集可以自由獲取并廣泛使用。這些數(shù)據(jù)集是為各種應(yīng)用創(chuàng)建的,盡管大多數(shù)是由自動駕駛汽車研究的當(dāng)前趨勢驅(qū)動的。深度估計基準(zhǔn)數(shù)據(jù)集的一個共同要求是,場景圖像應(yīng)該有密集的深度數(shù)據(jù),形成所謂的地面真實情況。深度數(shù)據(jù)可以用作最小化深度誤差估計的參考點。然而,大多數(shù)數(shù)據(jù)集在這方面是不完整的。正如以下段落所示,通常提供有關(guān)其配對場景的稀疏深度值。
在其他情況下,深度圖完全缺失,因為為自監(jiān)督方法提供了立體圖像或視頻幀對。盡管如此,研究人員一直在使用可用的基準(zhǔn)數(shù)據(jù)集,要么訓(xùn)練他們的新方法(例如,通過使用單一增強數(shù)據(jù)集),要么估計新方法的泛化能力(例如,在數(shù)據(jù)集A上訓(xùn)練并在數(shù)據(jù)集B上測試)。無論哪種方式,使用多個數(shù)據(jù)集并不罕見。
表I列出了最常用的數(shù)據(jù)集,報告了每個數(shù)據(jù)集中的數(shù)據(jù)量、數(shù)據(jù)特征、數(shù)據(jù)集的創(chuàng)建方式以及它們的原始目的,無論是室內(nèi)還是室外應(yīng)用。除了表I中列出的之外,還開發(fā)了許多其他數(shù)據(jù)集用于單目深度估計,包括DIW[35]、ETH3D[36]、Sintel[37]和TUM-RGBD[38]。研究人員還結(jié)合了數(shù)據(jù)集以滿足要求更高的應(yīng)用,例如Ranftl等人[39],他們提出了一個連接12個數(shù)據(jù)集的模型:ReDWeb[40]、DIML[41]、Movies[42]、MegaDepth、WSVD[43]、TartanAir[44]、HR-WSI[45]、ApolloSpace[46]、BlendedMVS、IRS[47]、KITTI和NYU-v2。
D. 評估指標(biāo)
評估深度圖預(yù)測時使用了眾所周知的誤差函數(shù)和深度準(zhǔn)確性指標(biāo)。Eigen[49]是第一個推薦這項任務(wù)最常用的評估指標(biāo)的人。顯然,一個成功的方法應(yīng)該獲得高準(zhǔn)確性和低誤差。在總共N個像素中,每個像素i的真實深度表示為di,其預(yù)測深度值為
。使用的指標(biāo)如下:
在這個類別的實驗中,使用了一個特定的準(zhǔn)確度指標(biāo),即delta指標(biāo),也稱為閾值內(nèi)的準(zhǔn)確度。這是一個有價值的定量度量,它評估了預(yù)測深度值正確落在特定閾值以下的像素百分比。通過計算δx,可以確定算法預(yù)測在多大程度上偏離真實值。通過改變閾值(通常為1.25、1.252和1.253),我們可以改變估計的嚴格性,并了解測試算法的性能。此外,值得注意的是,在這種情況下,定義了相對指標(biāo)(AbsRel、SqRel),它們需要與真實值歸一化。
為了展示為什么這些指標(biāo)是可取的,我們使用了一個玩具實驗。假設(shè)我們有50幅圖像,每幅圖像都填充在50到100之間的單一灰度值。通過在所有50幅圖像的可能組合中計算誤差指標(biāo),我們得到了如圖3(a)所示的指標(biāo)的整體統(tǒng)計數(shù)據(jù),以箱線圖的形式展示。箱線圖揭示了計算誤差值的分布,顯然不同的指標(biāo)結(jié)果在完全不同的統(tǒng)計數(shù)據(jù)。此外,圖3(b)和(c)顯示了相對和相應(yīng)絕對指標(biāo)之間的比較,在這種情況下,AbsRel與其相應(yīng)的平均絕對誤差(MAE)和SqRel與其相應(yīng)的均方誤差(MSE)。顯然,絕對指標(biāo)導(dǎo)致非常大的誤差分布,這可能看起來更可取。然而,深度估計方法的規(guī)模模糊性,這些方法產(chǎn)生預(yù)測在一個任意(相對)空間與真實值空間脫節(jié),需要對誤差估計進行縮放,使它們獨立于規(guī)模,從而可用。在某種程度上,RMSE(lin)、RMSE(log)、sRMSE(log)中平方根和對數(shù)的使用對預(yù)測誤差分布有類似的效果。
值得注意的是,結(jié)構(gòu)相似性指數(shù)SSIM[61]、深度圖邊緣以及從深度圖像提取的法線圖之間的平均余弦距離也被用作結(jié)果的定性度量[62]。此外,Cadena等人[63]提出了基于迭代最近點(ICP)算法的預(yù)測深度和真實值在3D空間中最近點誤差的度量。然而,尚未建立專門針對深度估計任務(wù)需求的特定設(shè)計指標(biāo)。
第三部分 基于深度學(xué)習(xí)的單目深度估計
傳統(tǒng)上,深度估計方法依賴于各種假設(shè)、限制和優(yōu)化來提供密集的深度估計。然而,基于傳感器的方法,如利用RGB-D和LiDAR傳感器的方法,面臨著測量范圍有限、對戶外光照條件敏感、校準(zhǔn)要求以及高能耗等限制。在處理高復(fù)雜性的深度計算任務(wù)時,幾乎不可能應(yīng)用傳統(tǒng)的模式識別方法,因此,這個問題需要被構(gòu)建為一個學(xué)習(xí)問題,需要對每個像素的深度值進行回歸。與此相反,現(xiàn)代的深度學(xué)習(xí)方法在從單目圖像估計密集深度圖方面取得了有希望的性能。
深度學(xué)習(xí)深度估計方法的一種分類方式是考慮它們的學(xué)習(xí)范式:監(jiān)督學(xué)習(xí)、自監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)。
監(jiān)督學(xué)習(xí)方法依賴于標(biāo)記過的訓(xùn)練數(shù)據(jù),即需要成對的圖像和相應(yīng)的深度圖。在訓(xùn)練圖像中每個像素的深度注釋為監(jiān)督信號,允許網(wǎng)絡(luò)學(xué)習(xí)輸入圖像與其對應(yīng)的每個像素深度值之間的映射。監(jiān)督方法的優(yōu)勢在于,當(dāng)在豐富注釋的數(shù)據(jù)集上訓(xùn)練時,它們能夠?qū)崿F(xiàn)高準(zhǔn)確性。然而,獲取大規(guī)模的像素級深度注釋數(shù)據(jù)集可能既耗時又昂貴。
另一方面,自監(jiān)督方法利用未標(biāo)記數(shù)據(jù)中存在的內(nèi)在結(jié)構(gòu)和信息來學(xué)習(xí)深度估計。這些方法利用具有已知攝像機運動或場景幾何形狀的圖像對或圖像序列來創(chuàng)建用于訓(xùn)練的監(jiān)控信號。通過將任務(wù)描述為重建問題或相對深度排序問題,自監(jiān)督方法可以學(xué)習(xí)在沒有顯式深度注釋的情況下估計深度。這種方法減少了對大量手動標(biāo)記的需要,但它可能仍然需要仔細的設(shè)計選擇和關(guān)于輸入數(shù)據(jù)的其他假設(shè)。
半監(jiān)督方法的目的是在監(jiān)督和自我監(jiān)督方法的優(yōu)勢之間取得平衡。他們在培訓(xùn)期間利用已標(biāo)記和未標(biāo)記數(shù)據(jù)的組合。通過使用少量的標(biāo)記數(shù)據(jù)和大量的未標(biāo)記數(shù)據(jù),半監(jiān)督方法可以獲得與完全監(jiān)督方法相比具有競爭力的性能,同時減少了標(biāo)注工作量。然而,在聯(lián)合學(xué)習(xí)框架中有效地利用標(biāo)記和未標(biāo)記的數(shù)據(jù)可能是具有挑戰(zhàn)性的,并且需要仔細的設(shè)計考慮。
近年來,各種網(wǎng)絡(luò)結(jié)構(gòu)被應(yīng)用于單目深度估計,包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)、全卷積神經(jīng)網(wǎng)絡(luò)(FCNs)、編解碼器(ED)、自動編碼器(AES)、生成對抗網(wǎng)絡(luò)(GANS),以及最近的Transformers。每種架構(gòu)都在準(zhǔn)確性、效率和計算要求方面提供了獨特的優(yōu)勢和折衷。在接下來的幾節(jié)中,我們將更詳細地介紹每種類型的學(xué)習(xí)模式。
A. 監(jiān)督學(xué)習(xí)方法
在監(jiān)督單目深度估計方法中,主要特點是真實深度圖D和估計深度圖
之間的距離。將此視為一個回歸問題,這些深度神經(jīng)網(wǎng)絡(luò)的目標(biāo)是學(xué)習(xí)從單個圖像預(yù)測深度圖的規(guī)則。真實深度信息
通常是通過基于傳感器的方法捕獲的。為此目的應(yīng)用了簡單的誤差度量,例如L2損失,應(yīng)該被最小化:
值得注意的是,盡管L2損失在許多網(wǎng)絡(luò)中常用,但其適用性和有效性可能因特定任務(wù)和數(shù)據(jù)集而異。因此,不能保證其作為所有場景下最優(yōu)損失函數(shù)的普遍有效性。然而,由于其簡單性和成熟性,許多單目深度估計領(lǐng)域的網(wǎng)絡(luò)在其訓(xùn)練過程中通常采用這種損失函數(shù)。
表II和表III總結(jié)了在KITTI和NYU-v2數(shù)據(jù)集上測試的單目深度估計的監(jiān)督方法。這些方法按發(fā)表年份排序,并用粗體數(shù)字表示在各種度量和指標(biāo)中的“最佳”方法。
Eigen等人[49]引入了一種使用單圖像的深度預(yù)測技術(shù)。他們的方法結(jié)合了全局和局部細化,并專注于規(guī)模不變的錯誤處理。通過整合表面法線并擴展深度圖到原始輸入分辨率來提升性能。在隨后的工作中,他們展示了一種跨尺度的漸進式細化方法,保留了圖像細節(jié),而無需超像素或低級分割[81]。
Li等人[82]引入了一種聯(lián)合深度和表面法線估計的兩步方法。初始階段使用多尺度深度CNN進行超像素級預(yù)測。隨后,使用條件隨機場(CRFs)[84]進行像素級細化,通過包含數(shù)據(jù)、平滑性和自回歸項的能量函數(shù)建立了超像素到像素的映射。增強的性能與增加的圖像補丁和上下文數(shù)據(jù)相關(guān)。強調(diào)了10個為最佳超像素大小。進一步的改進包括數(shù)據(jù)增強、更深層次的CNN架構(gòu)以及可能結(jié)合語義標(biāo)記。
Liu等人[74]采用了深度CNN和連續(xù)CRF的融合,用于單目深度估計。該模型通過最大后驗推斷集成了超像素分割和深度預(yù)測。網(wǎng)絡(luò)包括三個部分:構(gòu)成能量函數(shù)的一元和成對部分,以及用于負對數(shù)似然最小化的連續(xù)CRF損失層。一個創(chuàng)新的補充是超像素池化技術(shù),它在加速訓(xùn)練的同時保持結(jié)果并實現(xiàn)更廣泛的應(yīng)用。
Wang等人[83]引入了一種用于室內(nèi)單目深度和語義預(yù)測的雙層層次條件隨機場(HCRF)模型。該方法利用兩個CNN,一個用于全局深度和分割,另一個用于局部深度和分割。全局預(yù)測CNN的損失函數(shù)整合了深度和語義標(biāo)簽信息。相反,依賴于過度分割[85]的局部預(yù)測CNN更為復(fù)雜。HCRF模型的訓(xùn)練最小化了提出的能量函數(shù),產(chǎn)生了上層圖像分割和下層深度值預(yù)測。
Laina等人[78]引入了一種高效的全卷積殘差網(wǎng)絡(luò)(FCRN),采用修改后的ResNet-50架構(gòu),并優(yōu)化了特征圖的上采樣。該方法將RGB圖像(304×228像素)轉(zhuǎn)換為低分辨率深度圖(128×160像素)。展示了reverse Huber(berHu)損失函數(shù)[86]、[87]相對于L2的優(yōu)勢,他們還在同時定位和地圖構(gòu)建的背景下評估了該技術(shù)的準(zhǔn)確性。
Mousavian等人[79]解決了同時進行的語義分割和深度估計問題,使用了多尺度深度CNN。一個單一的損失函數(shù),包含Eigen的尺度不變損失[49]和語義分割損失,促進了同時學(xué)習(xí)。通過結(jié)合一個全連接的CRF模塊實現(xiàn)了性能提升。
Roy等人[80]提出了神經(jīng)回歸森林(NRF),將二元卷積回歸樹(CRT)節(jié)點與淺層CNN相結(jié)合。圖像以并行方式進行分析,將補丁轉(zhuǎn)發(fā)到基于伯努利概率的CRT子節(jié)點。CRT葉作為弱深度估計器,輔以標(biāo)準(zhǔn)雙邊濾波[88]以確保深度預(yù)測的平滑性。
Jung等人[77]引入了一種用于單目深度估計的生成對抗網(wǎng)絡(luò)(GAN)方法,包括生成器和鑒別器網(wǎng)絡(luò)。生成器包括全局和細化段:全卷積編碼器-解碼器預(yù)測全局深度,而局部深度通過圖像補丁進行估計。鑒別器在訓(xùn)練期間活躍,評估預(yù)測的真實性。經(jīng)過最小-最大訓(xùn)練后,生成器產(chǎn)生忠實的深度圖像,其特點是與真實情況的相似性。
Alhashim和Wonka[62]提出了一個帶有跳躍連接的編碼器-解碼器網(wǎng)絡(luò),用于從RGB圖像(640×480)估計高分辨率(320×240)深度圖。編碼器在DenseNet-169[89]上預(yù)訓(xùn)練,解碼器由卷積層和雙線性上采樣塊組成,形成了架構(gòu)。該方法強調(diào)在編碼器預(yù)訓(xùn)練期間控制下采樣以保留空間信息。他們引入了一種新的損失函數(shù),結(jié)合了逐點L1損失、圖像梯度和SSIM[61]。方法的魯棒性擴展到了Unreal-1k數(shù)據(jù)集,數(shù)據(jù)增強包括水平翻轉(zhuǎn)和顏色通道交換。
Fu等人[71]引入了一種深度序數(shù)回歸網(wǎng)絡(luò)(DORN),用于高分辨率深度圖,結(jié)合了間距增加離散化(SID)策略和序數(shù)回歸訓(xùn)練損失。網(wǎng)絡(luò)架構(gòu)整合了密集特征提取、多尺度特征學(xué)習(xí)者(ASPP)、跨通道信息學(xué)習(xí)、全圖像編碼器和序數(shù)回歸優(yōu)化。DORN的多功能性通過在室內(nèi)和室外圖像中成功應(yīng)用得到了證明。
Guo等人[72]引入了一種獨特的管道,用于單目深度估計,克服了監(jiān)督和非監(jiān)督方法的挑戰(zhàn)。他們使用深度立體匹配網(wǎng)絡(luò)從合成數(shù)據(jù)中學(xué)習(xí)深度,為訓(xùn)練單目深度估計器提供了密集的監(jiān)督。該管道具有增強代理立體網(wǎng)絡(luò)微調(diào)的策略,從而實現(xiàn)了更清晰的邊界、改進的遮擋預(yù)測和整體性能的提升。
Xu等人[73]在他們的編碼器-解碼器設(shè)置中引入了一個結(jié)構(gòu)化注意力引導(dǎo)的CRF模型。注意力模塊在編碼器尺度間控制特征,使用ResNet-50[90]作為CNN組件。CRF模型采用一個三項能量函數(shù),整合了多尺度特征圖、估計表示和注意力變量。
Zhang等人[76]提出了一種任務(wù)遞歸學(xué)習(xí)模型,用于同時預(yù)測深度和語義標(biāo)簽。ResNet-50[90]構(gòu)成了模型的初始部分,隨后是連接的任務(wù)注意力模塊和卷積層,實現(xiàn)了在不同尺度上的深度和語義預(yù)測。
Lee等人[68]在編碼器-解碼器設(shè)置的解碼階段引入了增強,采用局部平面引導(dǎo)層以獲得更清晰的深度邊界。該方法結(jié)合了密集特征提取、上下文信息提取(ASPP)和密集連接的局部平面引導(dǎo)層。盡管邊界清晰度有所提高,但在場景的上部區(qū)域存在問題,并且需要額外的光度重建。
Rosa等人[69]通過提出一種利用Hilbert Maps方法[91]進行單目深度估計中的稀疏化處理的監(jiān)督框架,解決了深度圖稀疏性問題。受Laina等人[78]啟發(fā)的FCRN模型采用殘差上采樣塊代替全連接層。該方法雖然不需要額外的數(shù)據(jù),但在訓(xùn)練期間每連續(xù)深度圖會產(chǎn)生額外的計算成本,并且結(jié)果受Hilbert Maps重建能力的影響。值得注意的增強包括架構(gòu)優(yōu)化、補充技術(shù)和顏色失真利用。
Yin等人[70]提出了一種監(jiān)督方法,在深度預(yù)測后計算高階3D幾何特征,并重建3D點云。他們采用編碼器-解碼器網(wǎng)絡(luò)進行深度預(yù)測,并引入了一個名為Virtual Norm (VN)的損失項,對深度噪聲具有魯棒性。VN項突出了在深度估計中結(jié)合額外的3D幾何信息的價值。
Ranftl等人[42]引入了一種方法,通過多種數(shù)據(jù)集融合實現(xiàn)全面的單目深度估計。他們提倡原則性多目標(biāo)學(xué)習(xí),提高在深度范圍和尺度變化上的魯棒性。重點是對編碼器進行額外任務(wù)的預(yù)訓(xùn)練。他們使用五個訓(xùn)練數(shù)據(jù)集和3D電影數(shù)據(jù),通過結(jié)合另外五個數(shù)據(jù)集擴展了他們的方法[39]。開發(fā)的架構(gòu)名為“密集預(yù)測變換器”,并與全卷積模型進行了對比。
Aich等人[92]提出了一種名為BANet的雙向注意力網(wǎng)絡(luò),作為單目深度估計的端到端框架。他們的方法通過利用神經(jīng)機器翻譯的見解,解決了在卷積神經(jīng)網(wǎng)絡(luò)中整合局部和全局信息的挑戰(zhàn)。結(jié)果,他們開發(fā)了一種輕量級的自適應(yīng)計算控制機制,類似于循環(huán)神經(jīng)網(wǎng)絡(luò)的動態(tài)特性。雙向注意力模塊被引入,利用前饋特征圖來整合全局上下文并減少歧義。
Bhat等人[66]引入了基于transformers的AdaBins構(gòu)建塊。AdaBins將預(yù)測的深度范圍劃分為自適應(yīng)確定的bin,并通過對bin中心進行線性組合來計算最終的深度值。通過在CNN之后使用transformer編碼器作為構(gòu)建塊,該方法旨在整合非局部處理并實現(xiàn)對場景的全面理解。
Chen 等人 [67] 提出了基于注意力的上下文聚合網(wǎng)絡(luò) (ACAN),旨在解決單目深度估計中的密集標(biāo)記問題。該網(wǎng)絡(luò)由編碼器、解碼器 (上下文聚合模塊 - CAM) 和軟序數(shù)推理模塊組成,利用 ResNet 架構(gòu) [90] 進行密集特征提取。通過收集圖像和像素級上下文信息,CAM 可以細化預(yù)測。注意力和序數(shù)損失推動模型訓(xùn)練,而軟序數(shù)推理將概率轉(zhuǎn)換為連續(xù)深度值。該方法減少了先前基于 ASPP 方法觀察到的網(wǎng)格偽影,如在裁剪和調(diào)整大小的圖像上的結(jié)果所示。
Miangoleh 等人 [95] 關(guān)注輸入分辨率和場景結(jié)構(gòu)對深度估計性能的影響,確定了一致場景結(jié)構(gòu)和高頻細節(jié)之間的權(quán)衡。為解決此問題,作者提出了一種結(jié)合低分辨率和高分辨率估計的方法,由預(yù)訓(xùn)練模型 [42] 生成。低分辨率估計獲得了具有一致結(jié)構(gòu)的基本估計,而納入的局部 (高頻) 估計增強了細節(jié)。作者還展示了他們的方法在通過簡單的深度閾值分割進行邊界定位方面的有效性。
Qiao 等人 [96] 提出了 ViP-DeepLab,這是一個統(tǒng)一模型,旨在解決視覺中的逆投影問題,這涉及到從透視圖像序列中恢復(fù)點云,同時為每個點提供實例級語義解釋。被稱為深度感知視頻全景分割的這項聯(lián)合任務(wù)結(jié)合了單目深度估計和視頻全景分割。作者引入了一個新的評估指標(biāo),深度感知視頻全景質(zhì)量 (DVPQ),并提供了兩個衍生數(shù)據(jù)集,以支持未來在這一領(lǐng)域的研究。
Yin 等人 [97] 處理單圖像單目3D場景形狀恢復(fù),解決了深度偏移和相機焦距不確定性問題。他們的兩階段框架最初預(yù)測了未知比例和偏移的深度,然后通過3D點云編碼器估計缺失的深度偏移和焦距。他們引入了圖像級歸一化回歸和基于法線的幾何損失,以增強在混合數(shù)據(jù)集上訓(xùn)練的深度預(yù)測模型。
Patil 等人 [64] 提出了 P3Depth,這是一種監(jiān)督方法,它結(jié)合了分段平面先驗,強調(diào)了整合幾何先驗以實現(xiàn)準(zhǔn)確深度估計的有效性。作者利用真實3D場景的高規(guī)律性,選擇性地利用共面像素的信息,旨在提高深度預(yù)測的準(zhǔn)確性。他們提出的網(wǎng)絡(luò)架構(gòu)由兩個頭組成:一個輸出像素級平面系數(shù),另一個生成密集偏移向量場以識別種子像素。通過使用種子像素的平面系數(shù),為每個位置進行深度預(yù)測。為解決與精確局部平面度的潛在偏差,初始預(yù)測使用學(xué)習(xí)到的置信度量與基于平面系數(shù)的預(yù)測自適應(yīng)融合。
Wu 等人 [75] 提出了 DistDepth,這是一種結(jié)構(gòu)蒸餾方法,通過自監(jiān)督學(xué)習(xí)提高單目深度估計的準(zhǔn)確性。通過利用現(xiàn)成的相對深度估計器 [39] 和左右一致性,DistDepth 蒸餾深度域結(jié)構(gòu)知識以獲得無需策劃深度注釋的深度圖。該框架專注于復(fù)雜的室內(nèi)場景,通過結(jié)合結(jié)構(gòu)蒸餾和學(xué)習(xí)度量的分支。作者收集了 SimSIN,一個大規(guī)模室內(nèi)模擬數(shù)據(jù)集,和 UniSIN,一個真實數(shù)據(jù)集,以促進學(xué)習(xí)和評估。
Yuan 等人 [65] 探索了條件隨機場 (CRFs) 的優(yōu)化。他們引入了一種基于窗口的方法,通過將輸入圖像分割成子窗口并在每個窗口內(nèi)執(zhí)行優(yōu)化。這種基于窗口的策略降低了計算復(fù)雜性,同時使全連接 CRFs 成為可能。為了有效地捕獲圖節(jié)點之間的關(guān)系,作者采用了多頭注意力機制來計算多頭勢函數(shù)。這個神經(jīng) CRFs 模塊作為他們提出的自頂向下網(wǎng)絡(luò)架構(gòu)的解碼器,而視覺變換器被用作編碼器。
與其他學(xué)習(xí)類型的方法相比,有監(jiān)督深度估計的主要優(yōu)勢在于它的性能。然而,地層深度信息很難獲得。因此,有監(jiān)督深度估計方法的范圍受到地面實況數(shù)據(jù)可用性的限制。
B. 自監(jiān)督學(xué)習(xí)方法
由于在設(shè)計學(xué)習(xí)方法時深度信息并不總是可用,在許多情況下采用了無監(jiān)督/自監(jiān)督方法。這些方法自身產(chǎn)生監(jiān)督信號。通常,它們使用立體圖像或視頻幀中的數(shù)據(jù)。因此,“無監(jiān)督”這個術(shù)語在相關(guān)文獻中并不明確,而“自監(jiān)督”這個術(shù)語更準(zhǔn)確。訓(xùn)練過程的范圍是學(xué)習(xí)圖像之間的圖像重建規(guī)則,由損失函數(shù)指導(dǎo)。單目圖像序列可以被利用來從幀中提取幾何約束。
設(shè)
表示目標(biāo)視圖中像素的齊次坐標(biāo)。然后,
被投影到源視圖
作為
:
其中 K 是已知的相機內(nèi)參矩陣,
是
處的深度值,
是從
到
的空間變換矩陣。注意,即使沒有給出,也可以估計
和
,意味著:
例如,Zhou 等人 [98] 使用單視圖 CNN 估計
,并使用姿態(tài)網(wǎng)絡(luò)估計
。這類神經(jīng)網(wǎng)絡(luò)的訓(xùn)練基于光度誤差。換句話說,給定在時間 t 捕獲的目標(biāo)視圖
及其 N 個附近的源視圖
(1 ≤ s ≤ N,s ≠ t),目標(biāo)是最小化光度損失,也稱為視圖合成目標(biāo):
Zhou 等人 [98] 提出,合成視圖
可以通過 4 個投影坐標(biāo) ps 的鄰近點的雙線性插值以可微方式估計。由于梯度信號應(yīng)該非常局部,他們提出了一個多尺度預(yù)測機制。這樣,梯度從更高的尺度上的較大區(qū)域中派生,并逐漸傳播到較低的尺度。
損失函數(shù)也可以通過結(jié)構(gòu)相似性指數(shù) (SSIM) [61] 增強,稱為剛性變形損失 [99]:
此外,錯誤的預(yù)測可以通過邊緣感知深度平滑度損失 [99]、[100]、[101] 被過濾掉,并且保留清晰的細節(jié):
其中 p 表示幀 I 中像素的齊次坐標(biāo),Dp 對應(yīng)的深度值,? 是向量微分算子,| · | 表示逐元素絕對值。
由于尺度歧義、尺度不一致和遮擋問題,基于同步圖像對的方法被提出。沒有真實深度數(shù)據(jù),學(xué)習(xí)過程基于左右圖像對。這類神經(jīng)網(wǎng)絡(luò)的目標(biāo)是學(xué)習(xí)視差圖,它表示立體對中相應(yīng)像素之間的水平偏移,提供關(guān)于場景深度或3D結(jié)構(gòu)的信息。訓(xùn)練損失基于原始 I 和合成圖像
之間的比較,利用學(xué)習(xí)到的視差信息:
其中 Il, Ir 分別是原始的左右圖像,
是基于原始右圖像重建的左圖像。
表IV總結(jié)了在單目深度估計中使用KITTI數(shù)據(jù)集的無監(jiān)督/自監(jiān)督方法。這些方法按發(fā)表年份排序,并用粗體數(shù)字表示在各種度量和指標(biāo)中的“最佳”方法。
-
圖像序列:Zhou 等人 [98] 使用基于CNN的方法,集成了單目深度網(wǎng)絡(luò)和多視圖姿態(tài)網(wǎng)絡(luò)。該方法采用基于變形的視圖合成,并允許在測試期間獨立網(wǎng)絡(luò)操作。然而,該方法忽略了場景動態(tài)、遮擋,并將相機內(nèi)參視為固定輸入。
Kumar 等人 [124] 引入了一種基于GAN的方法,用于使用視頻序列進行深度和姿態(tài)估計。生成器包括深度和姿態(tài)網(wǎng)絡(luò),預(yù)測連續(xù)幀的深度圖和旋轉(zhuǎn)/平移參數(shù)。靈感來自 [98],深度從當(dāng)前圖像預(yù)測,而姿態(tài)從三個連續(xù)幀(前一幀、當(dāng)前幀和下一幀)估計。深度圖和姿態(tài)參數(shù)形成圖像對,遵循 [143]。鑒別器區(qū)分真實和生成的圖像,導(dǎo)致涉及光度一致性、對抗性和深度項的三重損失函數(shù),用于網(wǎng)絡(luò)訓(xùn)練。
Mahjourian 等人 [125] 引入了一種無監(jiān)督方法,用于深度和自我運動估計。他們的方法采用基于迭代最近點(ICP)方法 [144] [145] [146] 的3D損失項,包括3D場景幾何。損失函數(shù)還包括光度一致性、結(jié)構(gòu)相似性和平滑度項。原則性的遮擋和不遮擋掩模處理相鄰幀的不一致性。還評估了對未校準(zhǔn)手機相機數(shù)據(jù)的泛化。
Wang 等人 [122] 引入了單圖像深度網(wǎng)絡(luò)和視頻幀自我運動估計姿態(tài)網(wǎng)絡(luò)。該方法采用掩模來考慮幀間的遮擋像素,消除錯誤的匹配像素。這些信息有助于提出的損失函數(shù)項。
Yin 和 Sin [99] 在一個系統(tǒng)中統(tǒng)一了深度、光流和自我運動。他們將靜態(tài)和動態(tài)對象分為兩個子網(wǎng)絡(luò):第一個名為剛性結(jié)構(gòu)重建器,包括深度和相機運動模塊;第二個名為非剛性運動定位器,生成最終的光流圖。幾何一致性強化解決了遮擋和紋理歧義。
Zou 等人 [127] 共同訓(xùn)練了能夠獨立操作的深度、姿態(tài)和光流估計網(wǎng)絡(luò)。受到 Zhou 等人 [98] 架構(gòu)的啟發(fā),引入了跨任務(wù)一致性損失,證明了性能提升。值得注意的是,光流預(yù)測在光流估計、深度和姿態(tài)網(wǎng)絡(luò)之間實現(xiàn)了一致性。總損失函數(shù)整合了光度、平滑度、前后向和交叉一致性項。
Almalioglu 等人 [115] 引入了一種用于同時姿態(tài)和深度估計的對抗學(xué)習(xí)方法,使用視頻序列。該方法采用多視圖姿態(tài)回歸器和單視圖深度生成器,輸入到視圖重建模塊,生成合成圖像。鑒別器區(qū)分重建和原始圖像,當(dāng)接近相似性時停止訓(xùn)練。姿態(tài)估計模塊結(jié)合了CNN和循環(huán)網(wǎng)絡(luò),而深度估計需要在生成器網(wǎng)絡(luò)前使用編碼器。
Bian 等人 [116] 通過利用幾何一致性損失,在長視頻序列中實現(xiàn)了全局尺度一致的深度預(yù)測。他們的方法通過自發(fā)現(xiàn)掩模處理移動對象和遮擋。深度和姿態(tài)網(wǎng)絡(luò)發(fā)揮關(guān)鍵作用,DispResNet [120] 在深度估計方面的表現(xiàn)優(yōu)于 DispNet [98]。PoseNet [98] 被用作姿態(tài)網(wǎng)絡(luò)。
Casser 等人 [101] 通過視頻序列解決了單目深度和自我運動問題。在 Zhou 等人 [98] 和 Godard 等人 [132] 的基礎(chǔ)上,他們的算法增強了運動估計、自我運動,并引入了針對未知數(shù)據(jù)性能的在線細化。訓(xùn)練需要至少三張圖像作為編碼器-解碼器深度網(wǎng)絡(luò)的輸入。
Chen 等人 [117] 使用深度估計、光流和相機姿態(tài)神經(jīng)網(wǎng)絡(luò),在單目視頻中進行多任務(wù)處理。該方法的貢獻在于適應(yīng)性光度一致性和幾何約束,這些被包含在損失函數(shù)中。該方法還在沒有明確信息的情況下預(yù)測相機內(nèi)參。通過結(jié)合兩個在線細化過程,實現(xiàn)了對新環(huán)境的改進泛化。
Gordon 等人 [118] 引入了兩個基于Unet的網(wǎng)絡(luò)。第一個估計單圖像深度,而第二個使用兩個圖像幀預(yù)測自我運動、對象運動和相機內(nèi)參。兩個網(wǎng)絡(luò)共同訓(xùn)練,該方法包括一個關(guān)鍵貢獻,即遮擋感知一致性損失。
Guizilini 等人 [58] 使用未標(biāo)記的單目視頻訓(xùn)練了他們的PackNet深度網(wǎng)絡(luò),并引入了Dense Depth for Automated Driving (DDAD) 數(shù)據(jù)集,該數(shù)據(jù)集具有廣泛的200米范圍深度圖。編碼器-解碼器架構(gòu)采用打包-解包塊、跳躍連接 [147] 和尺度感知的結(jié)構(gòu)從運動 (SfM) 訓(xùn)練方法,整合了外觀匹配、深度平滑度和速度監(jiān)督損失。
Li 等人 [119] 引入了一種深度估計和視覺里程計的順序方法。光流 [148] 緊湊地編碼了過去幀信息,由 LSTM [149] 在生成模塊中管理深度和姿態(tài)估計。鑒別器區(qū)分真假圖像,訓(xùn)練損失結(jié)合了四個組成部分:外觀、深度正則化、軌跡一致性和GAN損失。
Ranjan 等人 [120] 通過競爭性協(xié)作解決了深度估計、相機運動、光流和運動分割的挑戰(zhàn)。包括深度和相機運動的競爭者以及運動分割的調(diào)解者在內(nèi)的子網(wǎng)絡(luò),通過競爭和合作相互加強。第一階段,調(diào)解者指導(dǎo)競爭者;第二階段涉及聯(lián)合訓(xùn)練。提出的損失函數(shù)結(jié)合了用于一致子網(wǎng)絡(luò)訓(xùn)練的單獨損失。
Sun 等人 [121] 結(jié)合了 Zhou 等人 [98] 和 Godard 等人 [142] 的深度和相機運動估計,并在代價函數(shù)中引入了新術(shù)語。他們的函數(shù)通過最小化投影光度差異,強調(diào)了雙向視圖重建一致性。
Wang 等人 [126] 將直接視覺里程計 (DVO) [150] 整合到他們的方法中,用于從視頻序列中進行單目深度估計,解決了這類方法固有的尺度歧義問題,通過提出的規(guī)范化策略進行了處理。他們用可微DVO的實現(xiàn)替換了傳統(tǒng)的姿預(yù)測網(wǎng)絡(luò),從而提高了深度估計性能。
Wu 等人 [123] 在為基于視頻的深度估計設(shè)計的生成對抗網(wǎng)絡(luò)中引入了空間對應(yīng)模塊,受到 Flownet 框架 [151] 的啟發(fā)。他們使用 Smolyak 的稀疏網(wǎng)格 [152] 有效下采樣和比較特征圖,實現(xiàn)了有效的空間對應(yīng)。為考慮各個方向,他們引入了一種基于方向的注意力機制,類似于 DSC (Directional Spatial Context) [153] 和 Squeeze-and-Excitation Blocks [154] 中提出的方法。此外,通過專用的細化子網(wǎng)絡(luò)提高了深度圖的分辨率。
Guizilini 等人 [155] 提出了一種利用語義信息指導(dǎo)深度特征生成的方法。架構(gòu)中結(jié)合了一個固定的預(yù)訓(xùn)練語義分割網(wǎng)絡(luò),通過像素自適應(yīng)卷積促進語義依賴的幾何表示學(xué)習(xí)。作者還引入了一個兩階段訓(xùn)練過程,以解決對動態(tài)對象的偏見,并實現(xiàn)更準(zhǔn)確的預(yù)測。
Johnston 等人 [112] 提出了一種結(jié)合自注意力和離散視差預(yù)測的方法。自注意力機制允許模型從非連續(xù)的圖像區(qū)域捕獲上下文信息,而離散視差預(yù)測增強了深度估計的清晰度、模型的魯棒性,并使深度不確定性估計成為可能。
Klingner 等人 [113] 提出了 SGDepth,一種解決場景中動態(tài)類別 (DC) 對象挑戰(zhàn)的方法。為了克服訓(xùn)練期間靜態(tài)世界假設(shè)的限制,作者引入了一種跨域訓(xùn)練方法,結(jié)合了監(jiān)督語義分割和自監(jiān)督深度估計。實現(xiàn)了一種語義掩模方案,以防止移動的 DC 對象影響光度損失。此外,引入了一種檢測方法,以識別包含非移動 DC 對象的幀,使這類對象的深度學(xué)習(xí)成為可能。
Tosi 等人 [114] 提出了一個全面框架,用于從單目視頻中理解場景,包括深度估計、光流、語義和運動分割。他們的新穎網(wǎng)絡(luò)架構(gòu) ΩNet 能夠在高端 GPU 和低功耗嵌入式平臺上實現(xiàn)實時預(yù)測。作者引入了一種訓(xùn)練協(xié)議,利用自監(jiān)督、知識蒸餾和多任務(wù)學(xué)習(xí),其中代理語義標(biāo)簽和自蒸餾發(fā)揮了關(guān)鍵作用。
Lyu 等人 [106] 解決了高分辨率單目深度估計的限制,并提出了 HR-Depth,一種改進的 U-net 架構(gòu)。作者確定了大梯度區(qū)域中不準(zhǔn)確的深度估計作為核心問題,并引入了兩種有效策略來提高性能。首先,他們重新設(shè)計了跳躍連接,以獲得高分辨率的語義特征圖。其次,提出了一個特征融合 Squeeze-and-Excitation (fSE) 模塊,以提高特征融合的效率和有效性。HR-Depth 有兩種版本:一種使用 ResNet-18 [90],另一種輕量級版本使用 MobileNetV3 [156] 作為編碼器。
Sun等人。[108]提出了一種動態(tài)環(huán)境下單目深度和視覺里程(VO)估計的混合掩模方法。作者介紹了兩種類型的口罩:蓋口罩和過濾口罩。覆蓋掩碼通過掩蔽潛在的離群點來關(guān)注VO估計的準(zhǔn)確性,而過濾器掩碼在視圖重建過程中過濾掉離群點。此外,為了解決不同訓(xùn)練樣本之間的尺度不一致問題,引入了深度-姿勢一致性損失。
嚴等人[109]介紹了CADepth-Net,這是一個包含兩個創(chuàng)新模塊的網(wǎng)絡(luò):結(jié)構(gòu)感知模塊和細節(jié)重點模塊,前者利用自我注意來捕獲遠程依賴關(guān)系并增強場景理解,后者重新校準(zhǔn)特征圖以選擇性地強調(diào)信息性特征,以提高深度預(yù)測精度。該框架將完全卷積U網(wǎng)結(jié)構(gòu)與ResNet編碼器、結(jié)構(gòu)感知模塊和細節(jié)強調(diào)模塊相結(jié)合,以獲得更清晰的深度估計結(jié)果。
Watson等人。[110]提出了一種自適應(yīng)單眼深度估計方法ManyDepth,該方法利用測試時的序列信息進行自監(jiān)督單眼深度估計。與忽略序列信息或依賴于計算代價高昂的測試時間精化或遞歸網(wǎng)絡(luò)的現(xiàn)有方法不同,ManyDepth利用了一種基于深度端到端成本量的方法。該網(wǎng)絡(luò)使用自我監(jiān)督進行訓(xùn)練,并引入了一種新的一致性損失,以忽略不可靠的深度估計,例如受移動對象影響的深度估計。此外,還引入了一種增強方案來處理靜態(tài)攝像頭。
周等人。[111]介紹了DIFFNet,這是從HRNet語義分割模型[157]衍生出來的編解碼器網(wǎng)絡(luò)。DIFFNet在解碼器中加入了特征融合和注意力機制,以在下采樣和上采樣階段有效地利用語義信息。
Guizilini等人。[102]提出了一種多幀自監(jiān)督單目深度估計方法DepthFormer。關(guān)鍵的貢獻是交叉注意模塊,它通過解決傳統(tǒng)的基于外觀的相似性度量的局限性來改進圖像之間的特征匹配。采用深度離散化的核極采樣來選擇匹配候選者,一系列的自我和交叉注意層提高了匹配概率,克服了模糊性和局部極小值。然后,精煉的成本量被解碼為深度估計,并且僅使用光度學(xué)物鏡對整個管道進行端到端的訓(xùn)練。
Hanet等人。[103]介紹了TransDSSL,一種結(jié)合了變換和自監(jiān)督學(xué)習(xí)的單目深度估計方法。通過利用轉(zhuǎn)換器對遠程空間相關(guān)性進行編碼的能力,所提出的模型解決了在深度估計任務(wù)中采用轉(zhuǎn)換器所帶來的挑戰(zhàn)。作者提出了像素智慧跳過注意(PWSA)模塊,該模塊增強了特征映射中的細節(jié),同時保留了來自變換編碼器的全局上下文。此外,為了提高訓(xùn)練的穩(wěn)定性和增強中間表示,引入了自蒸餾損失。
Ma等人。[104]解決了深度估計和語義分割任務(wù)之間未得到充分認識的區(qū)別。他們的解決方案涉及一個基于注意力的模塊,以增強特定任務(wù)的特征,同時保持跨任務(wù)的空間一致性。此外,他們引入了一種基于度量學(xué)習(xí)的方法來分離特征空間中的實例。該流水線以DepthSegNet和PoseNet組件為特色,在特定任務(wù)解碼器之間放置了新穎的任務(wù)內(nèi)/跨任務(wù)多頭注意模塊。訓(xùn)練損失包括光度損失、光滑度損失、邊界三元組損失、語義交叉熵損失和提出的“非邊界三元組”損失。
趙等人。[105]提出了一種結(jié)合神經(jīng)網(wǎng)絡(luò)和視覺轉(zhuǎn)換器(VITS)的自監(jiān)督單目深度估計框架MonoViT。通過將變壓器塊與卷積層一起集成到主干中,MonoViT實現(xiàn)了局部和全局推理,超越了具有受限感受域的CNN的限制。同時,利用輕量級PoseNet進行時間相鄰圖像間的位姿估計。
Poggi等人。[158]介紹了一項關(guān)于自我監(jiān)督單目深度估計中不確定性估計的綜合研究,涉及該領(lǐng)域一個重要但尚未探索的方面。通過評估不同的不確定度估計方法和調(diào)查不同的自我監(jiān)督訓(xùn)練范例的影響,作者論證了不確定性建模在實際應(yīng)用中的重要性。他們引入了一種新的自學(xué)范式,可以提高深度精度,特別是在訓(xùn)練過程中姿勢未知的情況下。
Garg等人。[14]介紹了一種早期的立體圖像無監(jiān)督深度估計方法。該方法也適用于具有少量已知攝像機運動的圖像對。該體系結(jié)構(gòu)由一個自動編碼器組成。編碼器是一個帶有堆疊卷積和合并的CNN,它從左邊的圖像預(yù)測深度。解碼器使用逆扭曲,其中右圖像和深度圖產(chǎn)生獲獎圖像,最小化與左圖像的重建誤差。實驗結(jié)果表明,通過所提出的上采樣增強了深度預(yù)測。
戈達爾等人。[142]提出了一種編解碼器網(wǎng)絡(luò),通過從左到右和從右到左的計算從單目圖像中獲得視差。該方法在損失函數(shù)中引入了左、右一致性項以及光滑性和重構(gòu)項。后來,戈達爾等人。[132]提出了從視頻或立體數(shù)據(jù)估計單目深度的改進措施。其中包括用于遮擋處理的每像素最小光度學(xué)誤差、用于檢測靜止像素的自動遮罩,以及用于減少瑕疵的全分辨率多比例上采樣技術(shù)。
Alleotietal. [138]介紹了使用立體圖像對進行深度估計的生成性對抗網(wǎng)絡(luò)(GANS)的早期實例。他們的GAN包括一個產(chǎn)生新圖像的生成器和一個經(jīng)過訓(xùn)練以區(qū)分真實圖像和生成(扭曲)圖像的鑒別器。這些網(wǎng)絡(luò)參與由目標(biāo)函數(shù)控制的最小-最大博弈。
Luo等人。[139]將單目深度估計分解為視點合成和立體匹配子問題。他們的方法包括一個視圖合成網(wǎng)絡(luò),從原始的左圖像生成合成的右圖像,然后使用立體匹配網(wǎng)絡(luò)進行相關(guān)性計算和深度圖推導(dǎo)。DispNet[159]處理相關(guān)性,而DispFullNet[160]生成全分辨率深度圖。
Pilzer等人。[140]引入了用于單目深度估計的循環(huán)生成網(wǎng)絡(luò)。兩個對稱子網(wǎng)絡(luò)從多個視角合成圖像,結(jié)合用于深度預(yù)測的信息。第一個生成器使用左右圖像來預(yù)測視差,增強它們以計算視差圖并合成右視圖。第二個生成器使用合成圖像和原始左側(cè)圖像遵循相同的過程。鑒別器區(qū)分原始輸入和合成輸入。訓(xùn)練損失包括重建、對抗性和一致性(視差圖相似性)術(shù)語。
Poggi等人。[141]通過估計參考中心圖像來利用雙目圖像中的三眼假設(shè)。他們的方法優(yōu)化了中央-左、左-中、中-右和右-中心圖像之間的差異,需要兩個編解碼子網(wǎng)絡(luò)之間的協(xié)作。
Andraghetti等人。[130]使用最初通過立體視覺里程計獲得的稀疏深度點來增強單眼深度估計。這些點是用自動編碼器加密的,并被Godard等人的現(xiàn)有深度估計方法所結(jié)合。[142]和Poggi等人。[161]
馮等人[131]介紹了一種使用層疊GaN層和視頻序列進行深度和自我運動估計的無監(jiān)督神經(jīng)網(wǎng)絡(luò)。底層處理每個時間步的深度和運動估計,而上層捕獲空間和時間動態(tài)特征。每一層都包括導(dǎo)致相應(yīng)損耗的發(fā)電機-鑒別器單元。該方法需要當(dāng)前幀的左圖像和右圖像用于訓(xùn)練,最終的損失是各層之間的加權(quán)和。
古德曼等人。[133]引入了一種使用共享權(quán)的暹羅網(wǎng)絡(luò),用于自監(jiān)督單目深度估計,類似于Godard等人。[142][曉雨-0920交稿]每個子網(wǎng)絡(luò)使用定義的損失函數(shù)預(yù)測來自單個左側(cè)或右側(cè)圖像的視差圖。建立在DispNet架構(gòu)[159]、ResNet[90]和VGG變體[166]的基礎(chǔ)上,其具有跳過連接的編解碼器網(wǎng)絡(luò)由于對稱數(shù)據(jù)使用而在訓(xùn)練期間需要時間和內(nèi)存。盡管如此,在測試階段只使用了一個子網(wǎng)絡(luò)。
Pilzer等人。[134]提出了一種三子網(wǎng)絡(luò)單目深度估計方法。第一個子網(wǎng)絡(luò)產(chǎn)生從右到左的視差并合成左圖像,而第二個子網(wǎng)絡(luò)預(yù)測從左到右的視差用于右圖像的重新合成。第三個子網(wǎng)絡(luò)利用原始圖像和重建的右圖像之間的不一致來改進深度圖。知識蒸餾將學(xué)習(xí)從第三子網(wǎng)絡(luò)轉(zhuǎn)移到第一子網(wǎng)絡(luò),提高了深度預(yù)測性能。
Tosi等人。[135]推出了MonResMatch,這是一個自我監(jiān)督的端到端網(wǎng)絡(luò)。它包括多尺度特征提取、初始視差估計和細化,利用圖像和與虛擬右圖像對齊的合成特征進行深度估計。立體匹配使用半全局匹配(SGM)[167],為最終的左視圖對齊視差圖生成準(zhǔn)確的代理標(biāo)簽。
Wang等人。[136]同時使用三個輕量級CNN進行統(tǒng)一的光流和立體深度估計。立體圖像提供深度網(wǎng)絡(luò),而視頻幀驅(qū)動攝像機自我運動和光流網(wǎng)絡(luò)。攝像機運動細化采用剛性感知的直接視覺里程計模塊,該模塊計算剛性遮罩,影響損失函數(shù)項。
Watson等人。[137]引入深度提示以克服自監(jiān)督單目深度估計中的局部極小值。這些提示增強了光度損失函數(shù),提高了訓(xùn)練算法的性能,特別是對于捕捉薄結(jié)構(gòu)和尖銳邊界。
Choi等人。[128]提出了一種新的單目深度估計框架,該框架利用自監(jiān)督立體匹配方法產(chǎn)生的偽深度標(biāo)簽。該方法包括估計偽地面真實深度圖的置信度圖,以減輕不準(zhǔn)確的偽深度圖造成的退化。為了解決置信度圖預(yù)測誤差的問題,引入閾值網(wǎng)絡(luò)動態(tài)學(xué)習(xí)以偽深度圖為條件的閾值。然后,使用過濾后的偽深度標(biāo)簽來監(jiān)督單目深度網(wǎng)絡(luò)。此外,提出了一種基于像素自適應(yīng)卷積(PAC)層的概率求精模塊,利用單目深度圖的不確定性圖對其進行求精。
彭等人[129]討論了對具有成本效益的深度估計方法的需要,并探討了如何在不增加計算負擔(dān)的情況下充分利用自我監(jiān)督方法的潛力。作者提出了三個關(guān)鍵貢獻:(1)數(shù)據(jù)增強技術(shù),稱為數(shù)據(jù)嫁接,旨在適當(dāng)削弱深度和垂直圖像位置之間的關(guān)系;(2)探索性自餾損失,利用選擇性后處理生成增強的自餾標(biāo)簽;(3)全規(guī)模網(wǎng)絡(luò)結(jié)構(gòu),旨在增強深度估計任務(wù)的專業(yè)性,提高模型的代表性。
C. 半監(jiān)督學(xué)習(xí)方法
當(dāng)只有少量標(biāo)記數(shù)據(jù)可用且存在大量未標(biāo)記數(shù)據(jù)時,可以通過半監(jiān)督方法進行深度估計。標(biāo)記數(shù)據(jù)可以通過深度傳感器提供,如 [165] 中所述,或通過合成數(shù)據(jù)人工提供,如 [162] 中所述,或通過外部語義代理標(biāo)簽,如 [164] 中所述。然而,額外的深度信息通常在一般情況下并不總是可用的。
表V總結(jié)了單目深度估計中半監(jiān)督方法的綜述。這些方法按發(fā)表年份排序,并用粗體數(shù)字表示在各種度量和指標(biāo)中的“最佳”方法。
Kuznietsov 等人 [165] 提出了一種基于稀疏真實深度的新的學(xué)習(xí)模型,而他們提出的深度網(wǎng)絡(luò)則產(chǎn)生光度一致的密集深度圖。一個建議的未來方向是將單目和立體深度線索結(jié)合起來。
He 等人 [163] 提出了一種適用于可穿戴設(shè)備的從立體圖像進行單目深度估計的系統(tǒng)。所提出的損失函數(shù)是左右一致性損失,加上稀疏 LiDAR 數(shù)據(jù)。
Ramirez 等人 [164] 證明,整合語義信息有助于單目深度估計。他們通過添加語義分割解碼器擴展了 Godard 等人 [142] 的架構(gòu)。他們的損失函數(shù)結(jié)合了深度、語義和跨域不連續(xù)性項,特別是在物體邊緣附近的深度預(yù)測方面進行了增強。
Zhao 等人 [162] 利用圖像風(fēng)格轉(zhuǎn)換將合成數(shù)據(jù)整合到他們的單目深度估計方法中。基于 CycleGAN[168] 的圖像風(fēng)格轉(zhuǎn)換在真實和合成圖像之間進行轉(zhuǎn)換。這種合成數(shù)據(jù)的整合補充了未標(biāo)記方法未捕獲的深度信息。
IV. 討論和結(jié)論
單目深度估計與立體方法相比,面臨獨特的挑戰(zhàn),正如 Smolyanskiy 等人 [169] 所證明的。盡管單目算法因缺乏立體信息而掙扎,但立體方法利用多張圖像進行準(zhǔn)確的深度恢復(fù)。盡管如此,科學(xué)界對單目深度估計表現(xiàn)出了極大的興趣,這從過去十年中提出的眾多和多樣化的方法中可以看出。本綜述評估了80多種最新技術(shù)方法,涵蓋了這一領(lǐng)域取得的進展。根據(jù)學(xué)習(xí)方式,這些方法被分為三個主要組:監(jiān)督學(xué)習(xí)、自監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)。這些方法被單獨描述,并且它們的性能在比較表中進行了展示。早期的方法,如可以追溯到2014年的那些,主要依賴于傳統(tǒng)的CNN架構(gòu)。范式轉(zhuǎn)向監(jiān)督領(lǐng)域的編碼器-解碼器架構(gòu),這種轉(zhuǎn)變促進了更豐富的特征提取和上下文建模。同時,自監(jiān)督技術(shù)采用了GANs的集成,因為它們實現(xiàn)了更高的性能。多年來,融合多個任務(wù),如表面法線估計與語義標(biāo)記,一直效果很好,盡管這通常包括不同類型的數(shù)據(jù)和集成多個網(wǎng)絡(luò)。現(xiàn)在,一個新興的趨勢是將視覺變換器應(yīng)用于監(jiān)督和自監(jiān)督方法。
A. 挑戰(zhàn)和限制
然而,一個關(guān)鍵發(fā)現(xiàn)是,目前尚不清楚相關(guān)模型是如何估計深度的,因為深度學(xué)習(xí)方法的行為在經(jīng)典術(shù)語或有關(guān)人類深度估計的已知理論中都不具備可解釋性。由此延伸出的問題是,神經(jīng)網(wǎng)絡(luò)識別的特征與人類識別的相應(yīng)特征(深度線索)之間是否存在關(guān)系,這仍然是一個未解答的問題。盡管注意力圖和基于梯度的方法可以提供洞察,說明圖像的哪些部分對特定預(yù)測有貢獻,但深度學(xué)習(xí)模型的黑箱特性可能使其難以實現(xiàn)與人類感知深度線索方式直接對應(yīng)的人類級別的可解釋性。對上述主題的研究可能揭示當(dāng)前方法的弱點和局限性,為具有更高性能(準(zhǔn)確性、泛化能力和實時性能)的新型創(chuàng)新方法鋪平道路。此時,值得一提的是 Dijk 等人 [170] 的工作,他們研究了神經(jīng)網(wǎng)絡(luò)如何從單目圖像中估計深度。對四個神經(jīng)網(wǎng)絡(luò)的測試表明,物體的垂直位置,而不是表觀大小,在估計中起著重要作用。此外,泛化似乎受到非常特定因素的限制,如物體的陰影。同樣,Hu 等人 [171] 提出了一種關(guān)于CNN的可視化方法,用于圖像上的高重要區(qū)域。將這種方法應(yīng)用于最新的CNN架構(gòu)表明,定義場景幾何的邊緣、單個物體的內(nèi)部區(qū)域以及消失點周圍的區(qū)域?qū)τ谏疃裙烙嬛陵P(guān)重要。然而,上述觀察結(jié)果還遠遠不能說明神經(jīng)網(wǎng)絡(luò)識別的特征與視覺深度線索之間的關(guān)系。直接相關(guān)的是訓(xùn)練數(shù)據(jù),它具有一些但并非全部的深度線索。其他方法,如 Tang 等人 [172] 的方法,專注于通過散焦提取信息。另一個關(guān)鍵挑戰(zhàn)在于數(shù)據(jù)的多樣性和質(zhì)量。數(shù)據(jù)驅(qū)動方法固有的局限性在于它們依賴于訓(xùn)練數(shù)據(jù),這些數(shù)據(jù)可能缺乏對新的和復(fù)雜場景的泛化。此外,單目深度估計方法的內(nèi)在局限性在容易出現(xiàn)光學(xué)幻覺、反射/半透明物體和抽象表現(xiàn)的場景中尤為突出,引入了深度預(yù)測的歧義。這些問題雖然固有于單目深度估計,但強調(diào)了在現(xiàn)實世界應(yīng)用中的魯棒性和可靠性的重要性。這些挑戰(zhàn)強調(diào)了需要大型、多樣化和良好注釋的數(shù)據(jù)集,以確保在廣泛的現(xiàn)實世界場景中進行健壯和準(zhǔn)確的深度估計。
B. 未來方向
視覺變換器和注意力機制與解決單目深度估計挑戰(zhàn)高度相關(guān) [39]。可能的是,視覺變換器的自注意力機制可以捕獲傳統(tǒng)CNNs經(jīng)常忽略的復(fù)雜深度線索,例如紋理梯度和遮擋模式,但這需要證明。此外,注意力機制通過關(guān)注信息豐富的區(qū)域來提高準(zhǔn)確性,有助于捕獲對象之間的長期依賴關(guān)系。這些技術(shù)預(yù)計通過注意力圖提供更好的可解釋性,揭示神經(jīng)網(wǎng)絡(luò)的深度感知過程及其與人類視覺線索的一致性。通過整合這些方法,單目深度估計可以實現(xiàn)在多樣化場景中的增強準(zhǔn)確性、可解釋性和魯棒性。未來的研究方向還涉及改進損失函數(shù)、超參數(shù)學(xué)習(xí)以及內(nèi)在矩陣估計。除了變換器,圖卷積 [173]、知識蒸餾 [174]、3D卷積 [175] 和注意力機制 [176] 也有前景。幾何和語義整合,如多任務(wù)訓(xùn)練和幾何約束,可以提高性能 [132]。
總之,單目深度估計是一個具有持續(xù)挑戰(zhàn)和有希望的方向的領(lǐng)域。本綜述旨在有助于繪制該領(lǐng)域的地圖并確定前進的道路。
聲明
本文內(nèi)容為論文學(xué)習(xí)收獲分享,受限于知識能力,本文對原文的理解可能存在偏差,最終內(nèi)容以原論文為準(zhǔn)。本文信息旨在傳播和學(xué)術(shù)交流,其內(nèi)容由作者負責(zé),不代表本號觀點。文中作品文字、圖片等如涉及內(nèi)容、版權(quán)和其他問題,請及時與我們聯(lián)系,我們將在第一時間回復(fù)并處理。
下載1:OpenCV-Contrib擴展模塊中文版教程
在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。
下載2:Python視覺實戰(zhàn)項目52講
在「小白學(xué)視覺」公眾號后臺回復(fù):Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。
在「小白學(xué)視覺」公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~