[讀論文] Single-Image Depth Perception in the Wild

論文傳送門

1.簡介

這篇文章主要研究了在室外如何做單張圖的深度感知,就是在unconstrained setting里從單張圖恢復深度。作者也做了一個數據集 Depth in the Wild包括室外圖像和其對應的 兩個隨機點對的相對深度的標註。作者也做了用標註的relative depth學習估計metric depth的方法。跟現在的state-of-the-art比,作者的方法更簡單而且表現更好。作者實驗表明和現有的RGB-D數據結合,作者方法可以提升單張圖像深度感知。

在自然環境下是否可以採集到ground-truth depth呢?在unconstrained setting用深度感測器是不可行的。人類不擅長估計metric depth或者3D metric structure。實際上從單張圖上恢復metric depth是不確定的。在兩個物體之間的絕對距離差是不能唯一確定的。在一些情況下人類可以估計metric depth,但是如何提取這個值是不確切的。

但是人類在判斷相對距離上是很擅長的。A點比B點遠?是很容易回答的。作者做了兩個貢獻:

  1. 建了一個數據集 Depth in the Wild, 495K個圖片,都做了隨機兩點的標定
  2. 提出了一個新方法估計metric depth.

作者方法的novelty是兩點:

  1. multi-scale網路產生像素級預測的metric depth
  2. 用相對距離構造一個loss function

2.數據集

作者用Flickr獲得數據,數據標註的時候就讓標註員回答兩個點哪個遠或者一樣遠。然後點對的選擇也有講究,作者用了在隨機的橫線上採集兩個點,這樣就使其不能夠在圖像y坐標作為一個線索。但是作者又發現如果一個演算法僅僅分類靠近中心的點在深度中更靠近是不行的。所以作者改進了方法,強行採集隨機橫線中兩個關於中心對稱的點。作者最後的數據集包括大概一半一半的unconstrained pairs和symmetric pairs,這樣在就在表達自然場景的統計和性能區別上的需求上有了一個平衡。

3.學習相對深度

如何從只有相對深度標註中學習一個metric depth.

Zoran的方法:

  1. 首先學習一個分類器預測超像素中心的順序關係。
  2. 然後用能量最小化調節關係來恢復深度。
  3. 最後在超像素之間插值產生像素級的深度。

而作者的方法更簡單。主要的idea就是所以方法都是構造一個函數(image-to-depth)映射 原圖到像素級深度圖上。作者就做了一個端對端的網路。而主要兩個點就是:

  1. 一個輸出跟原圖一樣解析度的圖的網路
  2. 用相對深度的數據標註來訓練網路

網路設計:

作者用了hourglass 網路的一個變體。它包含一系列的卷積下採樣,之後接著反卷積和上採樣,交錯著connection,從更高的解析度加入特徵。這種對稱的形狀形成了沙漏。這種網路選擇不是essential的,因為不同的設計主要是如何從不同尺度提取信息,以及如何分散和集中。

損失函數:

如何只用ordinal標註來訓練網路。作者要做的就是形成一個損失函數,讓預測的深度圖能夠與ground-truth ordinal關係一致。考慮一個訓練圖像 I 和它的 K個queries R= { (i_k,i_k,r_k) } ,k=1,2,...,K 其中 i_k 是第k個query的第一個點的坐標, j_k 是第二個點的坐標,而

r_kin { +1,-1,0 }是兩個的深度相對關係的groud-truth。更近+1,更遠-1,難以判斷 0。

z 是預測的深度圖, z_{i_k} ,z_{j_k} 是在兩個點的深度。作者定義了一個損失函數

L(I,R,Z) = sum_{k=1}^Kpsi_k(I,i_k,j_k,r,z)

其中 psi(I,i_k,j_k,z) 是第k個query

這本質上是一個ranking loss:如果gt是相等的,它鼓勵小的誤差;不然就鼓勵大的誤差。

作者還在Kitti上做了實驗,就不詳細說明了。


推薦閱讀:

論文推薦:GAN,信息抽取,機器閱讀理解,對話系統 | 本周值得讀 #35
模型壓縮那些事(一)
深度學習實踐:使用Tensorflow實現快速風格遷移
2017 ICCV 行人檢索/重識別 接受論文匯總
TensorFlow小試牛刀(2):GAN生成手寫數字

TAG:深度学习DeepLearning | 计算机视觉 | 图像处理 |