原文作者:Derrick Mwiti
翻譯:慄峰
校對:Camel
原文標題:Research Guide for Depth Estimation with Deep Learning
雷鋒網 AI 科技評論編者按:這篇文章介紹了幾篇具有指導意義的論文,助你深入了解何為深度估計。深度估計是一種計算機視覺任務,旨在從2D圖像中估計深度。這個任務輸入RGB圖像,輸出深度圖。深度圖包含了從視圖看圖像中的被攝物體距離的信息。
深度估計的應用包括:平滑圖像的模糊部分、更好地渲染3D場景、自動駕駛、機器人抓取、機器人輔助手術、電影中的2D到3D的自動轉換以及3D計算機圖形學中的陰影映射等。
在這篇指南中,我們將介紹幾篇通過深度學習來解決這些問題的論文。雷鋒網
1、基於全卷積殘留網絡的深度預測(IEEE 2016)
論文標題:Deeper Depth Prediction with Fully Convolutional Residual Networks
論文地址:https://arxiv.org/abs/1606.00373v2
這篇論文提出了一種完全卷積架構,以解決在給定RGB圖像的情況下對場景深度圖進行估計的問題。通過殘留學習對單目圖像和深度圖之間的模糊映射進行建模。反向Huber loss被用來做優化。這個模型可在圖像或視頻上實時運行。
這篇論文提出的方法是使用CNN進行深度估計。該模型是完全卷積的,並包含跟蹤高維回歸問題的有效殘留向上採樣模塊(向上投影)。
網絡的第一部分基於ResNet50,並使用預訓練的權值進行初始化。第二部分是卷積和解池層的序列,利用它們來指導網絡學習其 upscaling 。然後應用Dropout,進行最後的卷積,得到最終的預測。
解池層可提高特徵圖譜的空間解析度。通過將每個條目映射到2 x 2內核的左上角實現解池層,從而使大小加倍。每個這樣的層後面是一個5×5的卷積。這個模塊被稱為上卷積。在上卷積之後添加了一個簡單的3×3卷積。投影連接從較低解析度的特徵圖添加到結果中。
這篇文章還對上卷積運算進行了重新校準,使網絡的訓練時間減少了至少15%。如下圖所示,在左上角,原始的特徵圖譜未被合併,並由一個5x5濾波器對其進行卷積。
與其他模型相比,文中提出的模型在NYU Depth v2數據集上的表現如下。
2、基於影像的深度無監督學習和自我運動(CVPR 2017)
論文標題:Unsupervised Learning of Depth and Ego-Motion from Video (CVPR 2017)
論文連結:https://arxiv.org/abs/1704.07813v2
這篇論文的作者提出了一種無監督的學習框架,用於完成從非結構化視頻序列中進行單目深度和攝像頭 移動估計的任務。這種方法採用單視圖深度和多視圖姿態網絡。損失函數是基於使用計算出的深度和姿態將附近的視圖變形到目標上的結果。
作者提出了一種用於聯合訓練未標記視頻序列中的單視圖深度CNN和攝像頭姿態估計CNN的框架。監督通道基於視圖合成。深度網絡將目標視圖作為輸入,並輸出每個像素的深度圖。給定圖像中每個像素深度以及附近視圖中的姿態和可見性,可以合成目標視圖。這種合成可以使用CNN作為幾何和姿態估計模塊以完全可區分的方式來實現。
作者採用DispNet架構,這種架構是一個具有跳過連接和多尺度側面預測的編碼-解碼的設計。除了預測層外,其他所有卷積層都使用ReLU激活函數。
與所有原視圖連接的目標視圖構成了姿態估計網絡的輸入。輸出是目標視圖和每個原視圖之間的相對姿態。該網絡由7個stride-2卷積以及緊隨其後的1 x 1卷積和 6 (N -1)個輸出通道組成,這些對應於每個源的3個歐拉角和3D平移。全局平均值應用於所有空間位置的合成預測。除了最後的卷積層(其中應用了非線性激活)之外,所有其他卷積層之後都帶有ReLU激活函數。
可解釋性預測網絡與姿態網絡共享前五個特徵編碼層。隨後是具有多尺度側面預測的5個反卷積層。除預測層外,所有所有conv 或deconv層後均跟隨ReLU激活函數。
與其他模型相比,這個模型的性能如下所示:
3、具有左右一致性的無監督單目深度估計(CVPR,2017)
論文標題:Unsupervised Monocular Depth Estimation with Left-Right Consistency
論文連結:https://arxiv.org/abs/1609.03677v3
這篇論文提出了一種不需要基準深度數據就能進行單個圖像深度估計的卷積神經網絡。作者提出了一種網絡體系結構,該體系結構執行端到端的無監督單目深度估計,而訓練損失函數會強制網絡內部左右深度的一致性。
網絡通過推斷使左邊圖像變形,匹配右邊圖像的視覺差異,從而來估計深度。左邊輸入的圖像用於推斷左向右和右向左的視覺差異。該網絡使用雙線性採樣器生成具有向後映射的預測圖像。這就形成了一個完全可區分的圖像形成模型。
這種卷積的結構的靈感來源於DispNet。它由兩個部分組成,編碼器和解碼器。解碼器使用來自編碼器激活模塊的跳過連接(skip connections)來解析更高解析度的細節。該網絡預測了兩種視覺差異圖,從左到右和從右到左。
在訓練過程中,網絡通過從相反的立體圖像中採樣像素來生成圖像。圖像形成模型使用來自 spatial transformer網絡(STN)的圖像採樣器並結合視差圖對輸入圖像進行採樣。這裡使用的雙線性樣本是局部可區分的。
以下是在 KITTI 2015 stereo 200 訓練集視差圖像上獲得的結果:
4、基於3D幾何約束的單目視頻深度無監督學習和自我運動(2018)
論文標題:Unsupervised Learning of Depth and Ego-Motion from Monocular Video Using 3D Geometric Constraints
論文連結:https://arxiv.org/abs/1802.05522v2
這篇論文的作者提出了一種從單個攝像頭拍攝的視頻中進行深度無監督學習和自我運動(Ego-Motion)的方法。它考慮了推斷出的整個場景的3D幾何形狀,並在連續的幀之間增強了估計的3D點雲和自我運動的一致性。這篇文章還採用了反向傳播算法來對齊3D結構。該模型在KITTI數據集上進行了測試,並在手機攝像頭上捕獲了視頻數據集。
無監督的學習深度取決於視頻中是否存在自我運動。該網絡根據視頻中的兩個連續幀產生單視圖深度估計。自我運動的估計也是從這兩個連續的幀中產生的。
訓練模型的監督任務是通過要求相鄰幀的深度和自我運動估計值保持一致實現的。作者提出了一種在不依賴於圖像重建進行反向傳播的情況下懲罰估計深度不一致性的損失函數。
這是在KITTI 特徵測試集上得到的結果。
5、無傳感器的深度預測:利用單目視頻實現的無監督學習結構(AAAI 2019)
論文標題:Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos
論文連結:https://arxiv.org/abs/1811.06152v1
這篇論文研究的是場景深度和機器人自我運動的無監督學習任務,其中監督是由單目視頻提供的,其實現則是在學習過程中引入幾何結構。它包括對場景和單個被攝物體、攝像頭的自我運動和從單目視頻輸入中獲悉的被攝物體的移動數據進行建模。在文中作者還介紹了一種在線優化的方法。
作者介紹了一種與自我運動網絡具有相同體系結構的被攝物體運動模型。不過,它的作用則是專門用來預測3D中單個被攝物體運動的。這個模型以RGB圖像序列作為輸入,由預先計算的實例分割掩模作為補充。運動模型的工作就是學習預測3D空間中每個被攝物體的變換向量,這將能夠在相應的目標幀中創建觀察到的被攝物體外觀。
下圖顯示了使用這個模型得到的結果:
6、PlaneNet:基於單個RGB圖像進行分段平面重建(CVPR 2018)
論文標題:PlaneNet: Piece-wise Planar Reconstruction from a Single RGB Image
論文連結:https://arxiv.org/abs/1804.06278v1
本文提出了一種用於從單個RGB圖像進行分段重建平面深度圖的深度神經網絡——PlaneNet。
PlaneNet能夠學習從單個RGB圖像中推斷出一組平面參數和相應的平面分割掩模。這裡定義的損失函數與平面的順序無關。此外,這個網絡可以在一個非平面的表面上進行深度圖的推斷,其損失函數為了允許反向傳播,採用了概率分割掩模。
PlaneNet是建立在擴展殘留網絡(DRN)上的。給定DRN的高解析度最終特徵圖,可以組成三個預測任務的三個輸出分支,分別為平面參數、非平面深度圖和分割掩模。平面參數分支具有全局平均池,可以將特徵圖的大小減小到1x1。然後是一個完全連接的層,以生成K×3平面參數,這裡K是預測的恆定平面數。最後定義了基於Chamfer距離度量回歸平面參數的不可知順序損失函數(order-agnostic loss function)。
平面分割分支從金字塔池模塊開始,然後是卷積層(用來生成平面和非平面表面的通道似然圖)。在快速推理算法的基礎上,再增加一個密集條件DCRF模塊。DCRF模塊是與上述各層聯合訓練的。隨後使用標準的Softmax交叉熵損失對分割訓練進行監督。
非平面深度分支共享相同的金字塔池化模塊,後面跟著一個產生單通道深度圖的卷積層。
下面是對NYUv2數據集深度精度的比較:
7、具有結構和語義的無監督單目深度和自我運動學習(AAAI 19)
論文標題:Unsupervised Monocular Depth and Ego-motion Learning with Structure and Semantics
論文連結:https://arxiv.org/abs/1906.05717v1
這篇論文所提出的方法結合了深度無監督單目學習和自我運動學習的結構和語義。
這篇論文所提出的方法能夠通過對被攝物體運動進行建模來對動態場景進行建模,並且還可以適應可選的在線優化技術。對單個被攝物體運動的建模使這種方法能夠處理高度動態的場景。這主要是通過在模型中引入的第三個組件實現的,該組件可以預測被攝物體在3D場景中的運動,它使用了與自我運動網絡中相同的網絡結構,不同的地方在於,它進行了權值的訓練。運動模型預測了3D空間中每個被攝物體的變換向量。當應用於攝像頭時,這將在相應的目標幀中創建所觀察到的被攝物體的外觀。最後的變形結果是運動被攝物體的個體變形與自我運動的結合。其中自我運動則是先掩蓋圖像中的對象運動計算得來的。
以下是在 KITTI數據集上得到的結果:
8、通過觀看《冰雪奇緣》了解移動人物的深度(CVPR 2019)
論文標題:Learning the Depths of Moving People by Watching Frozen People
論文連結:https://arxiv.org/abs/1904.11111
這篇論文介紹的方法可預測在單目攝像頭和場景中的人在自由移動的情況下的密集深度。這種方法首先從模仿人體模特的網絡視頻中學習人類的深度,它能夠利用場景靜態區域的運動視差線索來指導深度預測。
作者從YouTube中獲得3D數據,並用它們進行監督訓練;這些視頻構成了新的人體模型挑戰數據集(Mannequin Challenge (MC) dataset)。作者設計了一種以RGB圖像、人類區域掩模和環境初始深度為輸入的深度神經網絡。
然後,它在整個圖像上輸出密集的深度圖。這個模型生成的深度圖可用於產生3D效果,如合成景深效果、深度感知修補、將虛擬被攝物體正確遮擋插入到3D場景中等。
本文的深度預測模型本質上是以有監督(MC數據集)的方式建立的。網絡的完整輸入包括參考圖像、人體區域的二進位掩模、運動視差估計的深度圖、置信度圖和可選的人體關鍵點圖。利用這些輸入,網絡可以預測整個場景的完整深度圖。該網絡的架構是沙漏網絡(hourglass network)的一個變體,其中的最近鄰上採樣層被雙線性上採樣層所取代。
下面是從這個模型得到的結果:
via:https://heartbeat.fritz.ai/research-guide-for-depth-estimation-with-deep-learning-1a02a439b834
雷鋒網報導。
【封面圖片來源:網站名deviantart,所有者:deviantart】