demon: depth and motion network for learning monocular stereo
taylor guo, 2023年05月20日
本文將運動恢復結構問題表示為乙個深度學習問題。我們訓練了乙個端到端的卷積神經網路從連續的無約束的影象對中計算深度和相機運動。這個架構由多個堆疊的編碼器-解碼器網路組成,其核心部分作為乙個迭代網路可以增強**功能。這個網路不僅可以估計深度和運動,還可以估計表面法線,影象和可靠匹配間的光流。這個方法的關鍵部分是基於空間相關差異的訓練損失函式。與傳統的兩幀運動恢復結構方法相比,結果更精確、更魯棒。與通常的單影象恢復深度網路相反,demon學習匹配的思路,因此可以更好地泛化那些在訓練階段沒有看到的結構。
運動恢復結構是計算機視覺中經久不衰的工作。大部分現有的系統,尤其是最近的工作,都是由幾個連續的處理步驟組成的小心處理的工程管道流程。這些流程的乙個基本模組是從兩幅影象中計算結構和運動。這一步驟當前的實現方式有其天然侷限。比如,通常在用稠密匹配搜尋進行場景結構推導之前,從相機的運動估計開始。因此,對相機運動不正確的估計會導致錯誤的深度**。還有,就是從用關鍵點檢測和描述子匹配中計算的稀疏匹配中估計相機運動。低階估計中通常都會出現異常點,無法在無紋理的區域工作。最後,所有的運動恢復結構方法都會在相機小範圍平移中失效。這是因為在這些退化情況下無法獲得可以提供合理方案的先驗資訊。
本文,我們第一次成功地訓練卷積神經網路從一對無約束的影象中估計深度和相機運動。這個方法在傳統的運動恢復結構流程處理運動和稠密深度估計問題中非常困難。我們無法針對大規模運動恢復結構提供乙個基於深度學習方法的系統,但是兩幀情況是這個目標非常重要的第一步。長期來看,學習方法具有非常大的潛力,它天然地從各種潛在未知方案中整合各種方法:多檢視,輪廓,紋理,陰影,失焦,霧化。還有,關於物體和結構的強有力的先驗資訊可以從資料中有效地學習,並在退化狀況下對問題進行歸一化處理;如圖6所示的案例。這種潛力在兩檢視場景中從我們的實驗結果中可以看到,學習方法明顯由於傳統方法。
圖6:demon增加兩輸入影象之間的基線獲得的定性結果。深度圖用左上角的參考和下面第二排的影象分別生成的。第乙個輸出結果用兩個一樣的影象作為輸出得到的,這在傳統的運動恢復結構中是退化情況。
卷積神經網路最近在單影象深度估計中表現突出,如**7,8,24。通過學習物體和它們外形,這些網路可以在一些具有限制約束的評估場景中,比如室內和駕駛場景中,取得非常好的效能。但是,單影象方法在對之前沒有看到過的影象型別進行泛化時還是有很多問題。這是因為它們沒有使用立體視覺。圖9就是乙個例子,單影象深度估計失敗,因為網路之前沒有看到過類似的結構。我們的網路,學習使用了運動視差,沒有這種立體視覺約束,無法很好地泛化到新場景。
圖9:demon對之前沒有見過場景泛化能力的視覺化效果。單幀方法在這種情況下遇到嚴重的問題,深度估計的點雲視覺化中可以清晰看到上乙個例子留下的拖影。
為了利用運動視差,網路必須放入兩個輸入影象用於匹配。我們發現乙個簡單的編碼器-解碼器網路無法利用立體視覺:當網路訓練用於從兩幅影象中計算深度時,如果只用一張圖,它就會結束。單一影象的深度計算是一條捷徑可以完成訓練目標而不用放兩張影象用來匹配,再從這些匹配中推導相機運動和深度。
本文我們提供了一種方法來避免這種捷徑,用這個方法來獲得精確的深度地圖和相機運動估計。這個問題的關鍵是設計乙個架構交替估計光流和相機運動、深度估計;如圖3所示。為了處理光流,網路必須使用兩張影象。我們使用了flownet架構。我們的網路架構由乙個迭代部分與遞迴網路類似,共享權重。與通常在實踐中訓練遞迴網路時進行展開不同,我們增加了對當前minibatch追加前一次訓練迭代結果的**。這種訓練方法可以節省大量記憶體,在訓練過程中包含更多迭代結果。本文的另乙個技術貢獻是乙個特別的梯度損失函式可以處理運動恢復結構中的尺度模糊問題。網路是在kinect相機拍的真實影象上的乙個混合集上進行訓練的,包括sun3d資料集,和乙個我們為這個工作渲染的乙個場景。
從一對影象中估計深度和運動的工作可以追溯到longuet-higgins的**25兩射影重構結構。3d幾何是乙個傳統領域,在教材多檢視幾何和3維計算機視覺中有涵蓋。最新的系統可以做大規模場景包括整個城市的場景重建。它們是由大量方法組成的流程,
圖2:網路架構圖。demon使用乙個影象對作為輸入,**第乙個影象的深度圖和第二個相機的相對位姿。網路由一系列編碼器-解碼器網路組成,在光流,深度圖,自身位姿估計上迭代;圖3是詳細結構。優化後的網路可以增強最終深度圖的解析度。
圖3:提公升和迭代網路中的編碼器-解碼器的結構框圖表示。灰色字型輸入部分只用於迭代網路。第乙個編碼器-解碼器估計光流和它在影象對和前一估計的置信度。第二個編碼器-解碼器估計深度圖和表面法線。在編碼器後面增加全連線網路估計相機運動r,t和深度尺度因子s。尺度因子s是深度相對於相機運動的尺度。
深度估計方法的介紹
目前大多數深度估計方法是通過2d的到2.5d的表面形狀 場景深度 比較成功的基於幾何影象方法包括 structure from motion,shape from x,monocular stereo,binocular stereo和multi view stereo 其中shape from x...
深度網路pre train對於深度網路的意義
1 pre train 帶來更好的優化還是更好的泛化?pre train是乙個尋網路權值初值的過程,將pre train的結果作為bp演算法的權值的初值,能夠解決深度網路在非凸目標函式上陷入區域性最優的問題。從這個角度理解更象是帶來更好的優化能力。在帶有pre train的深度網路的泛化表現上不僅僅...
深度網路的訓練過程與方法
這一步是網路引數初始化得過程,區別於傳統神經網路初值隨機初始化,深度學習模型通過無監督學習輸入資料進行初始化,因此這個初值更接近全域性最優,從而能夠取得更好的效果。逐層構建單層神經元,每層採用wake sleep演算法進行調優,每次僅調整一層,逐層調整 這個過程看作是乙個feature learni...