論文筆記:Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue(無監督深度預測系列1:naive方法)

一、基本信息

標題:Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue
時間:2016
論文領域:深度預測、深度學習
引用格式:Garg R, BG V K, Carneiro G, et al. Unsupervised cnn for single view depth estimation: Geometry to the rescue[C]//European Conference on Computer Vision. Springer, Cham, 2016: 740-756.

二、研究背景

老生常談問題:需要標籤數據,戶外獲取深度昂貴,所以提出本文無監督的CNN單視圖深度預測
監督學習CNN方法:使用均方根RMS計算損失
合成數據:難以估計真實世界

三、創新點

原理

在這裏插入圖片描述
視差公式:
xb=zfxr;x=zfxl(xlxr)=fbzx-b=\frac{z}{f} * x_{r} ; x=\frac{z}{f} * x_{l} \Rightarrow\left(x_{l}-x_{r}\right)=\frac{f * b}{z}
令:
d=fbzd=\frac{f * b}{z}
由此可得:
d=xlxrxl=d+xrd=x_{l}-x_{r} \Rightarrow x_{l}=d+x_{r}
假設CNN可以預測深度視差(這裏預測右圖):
F(xr)=dxF\left(x_{r}\right)=d_x
那麼就可以用預測視差加上右圖來合成左圖IwI_w(輸入的右圖爲IrI_r):
Iw=Ir(F(xr)+xr)I_w = I_{r}\left(F\left(x_{r}\right)+x_{r}\right)
用預測的左圖減去真實的左圖就得到損失函數:
L=(IwIl)2L = (I_w - I_l)^2
預測到視差d,同時又知道f和b,就可以得到深度z

損失函數

本文損失函數:
Ereconsi=ΩIwi(x)I1i(x)2dx=ΩI2i(x+Di(x)fB/di(x))I1i(x)2dxE_{r e c o n s}^{i}=\int_{\Omega}\left\|I_{w}^{i}(x)-I_{1}^{i}(x)\right\|^{2} d x=\int_{\Omega}\left\|I_{2}^{i}(x+\underbrace{D^{i}(x)}_{f B / d^{i}(x)})-I_{1}^{i}(x)\right\|^{2} d x
上面d爲預測的深度,f和B預設,{I1i,I2i}\left\{I_{1}^{i}, I_{2}^{i}\right\}爲輸入的左右2張圖。

在這裏插入圖片描述
上圖用左圖I1I_1預測視差D,然後用右圖加上這個視差來合成圖(其實就是預測左圖)IwI_w,計算損失,爲啥是在右圖I2I_2加左圖的預測DD視差呢?這其實叫做synthesizing a backward warp image (Iw)(I_w),下面解釋。

backward warp

在這裏插入圖片描述
在這裏插入圖片描述
假如用左圖預測的視差d加上左圖,得到的合成圖像存在以下問題:
多個點可能映射到同一個點p->q
而在II^{'}中有可能有空洞
所以換個思路,用右圖減去左圖預測的視差d,這是合成圖像是用來預測左圖的,那麼損失也可以通過這個合成圖像和左圖來得到,這麼做解決了上述問題,因爲預測圖的目標是用來預測左圖,和真實左圖對比,能夠更好學習(解釋還不是很清楚)。

正則項(防止多個點預測到一個點上)

Esmoothi=Di(x)2E_{\text {smooth}}^{i}=\left\|\nabla D^{i}(x)\right\|^{2}

算梯度吧,要是多個點預測到一個點上,梯度更大。這個會使圖像傾向於平滑

所以最終損失:
E=i=1NEreconsi+γEsmoothiE=\sum_{i=1}^{N} E_{\text {recons}}^{i}+\gamma E_{\text {smooth}}^{i}

提高分辨率

在這裏插入圖片描述
這是跳躍連接
粗分辨率 -> 雙線性插值(4x4 卷積) +
池化 -> 1x1卷積 = 細分辨率

全卷積結構帶來的好處:

  • 使用簡單雙線性插值可以保持CNN參數固定
  • 而使用上一層的信息可以給粗分辨率提供幫助

網絡結構

在這裏插入圖片描述
典型FCN網絡,因爲去了全連接層,所以可接受輸入圖像尺寸變化。
還有就是上面提到到,可以提高分辨率,因爲可以跨層跳躍連接。

四、實驗結果

在這裏插入圖片描述
aug數據增強8倍

基於KITTI數據集對比:
在這裏插入圖片描述
和監督學習對比:
在這裏插入圖片描述

五、結論與思考

作者結論

網絡在不到一半的KITTI數據集上進行了訓練,在單視圖深度估計方面,可以與目前最先進的監督方法媲美。

總結

立體配對基本思想

思考

參考

深度學習之單目深度估計 (Chapter.2):無監督學習篇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章