淘新聞

UC伯克利聯合穀歌推出無監督深度學習框架,模仿人眼實現視頻中的自我運動認知

雷鋒網AI科技評論:無監督學習可以說是深度學習的未來,本文第一作者Tinghui Zhou是加州大學伯克利分校電氣工程與電腦科學學院的博士生,師從Alexei (Alyosha) Efros教授。本文是他與穀歌的 Matthew Brown、Noah Snavely與 David Lowe一同合作,此論文入選 CVPR 2017 oral paper。以下為雷鋒網AI科技評論據論文內容進行的部分編譯。

論文摘要

為了非結構化視頻順序中的單鏡深度和攝像機移動判斷任務,我們提出了一個無監督學習框架。我們使用了一個端到端視圖合成的學習方法來作為信號監督。和以前的工作相比,我們的方法是完全無監督,只需要單鏡視頻順序的訓練。我們的方法運用了單視圖深度和多視圖姿勢網路和基於目標附近視圖的翹曲損失來計算深度和姿勢。通過來訓練過程中的損失,網路被聯結,但是在測試時可以獨立應用。在KITTI資料組以實驗為依據的評估也證明了我們方法的有效性。1)單鏡深度表現和運用深度訓練或groud-truth(真實值)的監督方法對比。2)在可比較輸入設置下姿勢判斷表現和已建立的SLAM系統比較。

論文概述

人類有能力甚至於在一個很短的時刻就能判斷自我運動和一個場景中的3D結構。例如,穿過街道,我們可以輕鬆識別障礙物並能作出快速反應去繞過它們。多年的電腦幾何視覺研究並沒達到重現真實世界場景的相似的建模能力。

人類為什麼在這個任務上具有優勢呢?一個假設是我們通過過去的視覺經驗進化出了一個豐富的,有結構層次的理解力。大量場景的留心觀察和四處走動和我們發現的在發展中的一致模型。通過數百萬這樣的發現,我們認識到了這個世界的規律性——路是平的,建築是直立的。汽車需要路面的支撐等等。當我們進入一個新場景,甚至是一個單一的單眼圖像,我們可以運用這些認知。

實驗:單視圖深度和多視圖姿勢判斷。

圖1

圖1,對於我們系統訓練資料的無標籤圖像順序捕捉是從不同的角度顯現,圖像的姿勢不提供。我們的訓練程式產生兩個單獨運行的模型,一個是單視圖深度預測,另一個是多視圖攝像機姿勢判斷。

在這個實驗中,我們模仿這個方法,通過訓練一個模型,遵循圖像和目標的順序去解釋他的觀察,我們採用端到端的方法讓模型直接從輸入的圖元繪出一個自我運動的判斷和基礎的圖像結構。我們尤其是受到前期工作的靈感啟發,把視圖合成作為一個單位度量。並且近期在端對端框架多視圖3D案例中解決了標準化問題。我們的方法是無監督的並且只需要使用有先後順序的圖像就可以訓練,不需要手工標記甚至攝像機運動資訊。我們的方法是建立在對幾何視圖綜合系統的深刻見解之上的。只有當幾何場景的中間預測以及攝像機姿勢和物理真實值相一致的時候,系統才能運行流暢。

對於特定類型的場景,當未完成的幾何或姿勢判斷會欺騙合理的綜合視圖。(例如,質感缺失)同樣的模型如果呈現給另一類擁有多樣佈局和外觀結構的場景將會非常失敗。所以,我們的目標是構想出全部的視圖綜合傳遞途徑作為卷積神經網路的推斷程式。所以,為了視圖合成的元任務而基於大規模視頻資料來訓練網路是被強制來學習中間的深度任務,攝像機姿勢判斷是為了想出和視覺世界一致的解釋。單視圖深度和攝像機姿勢判斷研究方法的有效性已在KITTI上證明。

研究方法

為了能使單視圖深度卷積神經網路和攝像機姿勢判斷從未標記視頻序列一起訓練,我們提出了一個框架。儘管是一起訓練,深度模型和姿勢判斷模型可以在測試結論過程中單獨運行。給我們模型的訓練樣本包括由移動攝像機捕捉到的圖片序列。

圖2

圖2,基於視圖綜合的監督途徑的概述。深度網路只需將目標視圖作為輸入,然後在深度地圖上輸出相應的圖元點Dˆ t (p)。姿勢網路要提取目標視圖(It )和目標附近的視圖(e.g., It−1 and It+1 )作為輸入,並且輸出相關的攝像機姿勢(Tˆt→t−1 , Tˆt→t+1 ).兩種網路的輸出使原始視圖發生倒轉。 重建目標視圖,光度測定的重建損失用來訓練卷積神經網路。通過利用視圖合成作為監督,我們能夠以一種無監督方式從視頻中來訓練剩餘框架。

我們先假設我們感興趣的是大多數不動的場景。跨越不同的框架,場景外觀隨著變化,最終由攝像機運動主宰場景變化。

對深度卷積神經網路和姿勢預測的關鍵監督信號來自于異常視圖合成:給一個視圖場景的輸入,從不同的攝像機姿勢合成一個場景的新圖像。我們可以合成一個目標視圖,在新圖像上給出圖元深度,在視圖附近附加上姿勢和清晰度。正如我們下一步要展示的,這個合成過程伴隨著卷積神經網路以一種完全可辨的方式運行。清晰度可以隨著非剛性和其他非模型因素被控制。

圖3

圖3,可辨的圖形翹曲過程如圖所示。對於目標視圖的每一個點Pt,我們首先把它投射到基於預知深度和攝像機姿勢的原始視圖,然後利用雙線性插值在目標位置Pt得出翹曲值。

實驗結論

1)單視圖深度判斷

我們把連續的圖片分為三部分畫面,並把中間的畫面作為目標視圖,前後的畫面作為原始視圖。我們使用彩色相機一起捕捉這些圖像,但是當形成訓練序列時,要對他們單獨處理。結果一共是44540張序列圖片,我們使用其中的40109張來訓練,4431張用來確認。單鏡視頻中用無監督學習方式來學習單視圖深度判斷,我們是第一個。這裡我們提供和之前採用深度監督的學習方法以及最近採用標準立體圖片來訓練的方法對比。因為採用我們方法的深度預測由刻度因素來確定。

圖4

圖4提供了視覺對比的例子,我們的結果和基於大規模樣本的監督學習之間的對比,其中可以看到的是通過無監督方式訓練,我們得到的結果和監督學習得到的結果是相當的。其中在保存深度界限和弱結構上,比如樹和街燈,表現的更好。

最後兩排我們的模型表現出了典型的錯誤,在巨大的空曠場景和目標物離攝像機太近時,表現的很吃力。

圖5

在圖5,我們展示了通過我們最初的Cityscapes模型和最終模型的得到的樣本預測。由於在這兩個資料集中存在功能變數名稱間隙,Cityscapes模型有時在還原汽車或灌木叢的完整形狀有點困難,並且目標太遠就會判斷錯誤。

2)姿勢判斷

為了評估我們的姿勢判斷網路的表現,我們將我們的系統應用到官方KITTI測程法(包括11次駕駛序列通過IMU/GPS讀取的真實測程值)使用00-08來訓練,使用09-10序列來測試。在這次試驗中,我們把輸入到我們系統中圖像固定為5部分。我們把自我運動判斷和兩種單鏡ORB-SLAM(一個廣為大家接受的SLAM系統)的變體相比較,1)ORB-SLAM(全)使用了駕駛序列的全部片段來還原里程。2)ORB-SLAM(短)只使用了5小段(和我們輸入設置一樣)。

圖6

圖6 當側旋角小的時候,我們的方法是明顯優於ORB-SLAM(short)的,和ORB-SLAM(FULL)整個過程的效果是相當的。我們的方法和ORB-SLAM(short)大的表現差距說明我們的自我學習運動在單鏡SLAM系統中的局部判斷模組很用潛力被運用。

作者Tinghui Zhou也將實驗代碼在GitHub開源:

https: //github.com/tinghuiz/SfMLearner 

via 

berkeley

,雷鋒網編譯