論文筆記:Digging into self-supervised monocular depth estimation

一、基本信息

標題:Digging into self-supervised monocular depth estimation
時間:2019
出版源:ICCV
論文領域:深度學習、深度預測、三維重建
引用格式:Godard C, Mac Aodha O, Firman M, et al. Digging into self-supervised monocular depth estimation[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 3828-3838.

二、研究背景

  • 監督深度預測
    數據難以獲取,儘管可以使用弱監督(知道尺寸、稀疏有序深度、監督外觀匹配項、未配對的合成深度數據),所有這些仍然需要附加深度或其他註釋
    SfM可以使用單目產生深度值來進行訓練,通常SfM作爲預處理,與訓練學習分離
    本文提出模型,可以從SfM結果中剔除噪聲,提高預測精度
  • 自監督深度預測
    利用圖像重建作爲監控信號訓練深度估計模型。
    使用立體配對(雙目),利用視差
    使用單目序列幀,然後類似使用特徵匹配,構建SfM計算深度作爲訓練數據。時間幀提供訓練信號。本文提出方法使得單目訓練可以達到雙目性能
  • 基於外觀的損失
    自監督通常依賴於對幀間物體表面的外觀和材料屬性,與簡單的兩兩像素差相比,包含基於局部結構的外觀損失顯著提高了深度估計性能,將其與反向損失相結合,以鼓勵真實的合成圖像。

三、創新點

自監督訓練

自監督深度估計通過訓練網絡從另一幅圖像的角度預測目標圖像的出現。
光度重投影誤差LpL_p
Lp=tpe(It,Itt)L_{p}=\sum_{t^{\prime}} p e\left(I_{t}, I_{t^{\prime} \rightarrow t}\right)
確定IttI_{t^{\prime} \rightarrow t}
Itt=Itproj(Dt,Ttt,K)I_{t^{\prime} \rightarrow t}=I_{t^{\prime}}\left\langle\operatorname{proj}\left(D_{t}, T_{t \rightarrow t^{\prime}}, K\right)\right\rangle

其中pe比如像素空間中的L1(曼哈頓)距離和SSIM,具體:
pe(Ia,Ib)=α2(1SSIM(Ia,Ib))+(1α)IaIb1p e\left(I_{a}, I_{b}\right)=\frac{\alpha}{2}\left(1-\operatorname{SSIM}\left(I_{a}, I_{b}\right)\right)+(1-\alpha)\left\|I_{a}-I_{b}\right\|_{1}
作者取α=0.85\alpha=0.85
LsL_s:
Ls=xdtexIt+ydteyItL_{s}=\left|\partial_{x} d_{t}^{*}\right| e^{-\left|\partial_{x} I_{t}\right|}+\left|\partial_{y} d_{t}^{*}\right| e^{-| \partial_{y} I_{t}}
其中dt=dt/dtd_{t}^{*}=d_{t} / \overline{d_{t}}

在立體配對中,源圖像ItI_{t^{'}}是配對中ItI_t第二幅圖像,且知道位姿。但是在單目序列中不知道位姿。通過訓練第二個位姿網絡,在projproj中去預測相關位姿TttT_{t \rightarrow t^{\prime}},在訓練期間通過最小化LpL_p同時解決了位置和深度。單目中通過相鄰序列取配對幀,即ItI_tIt{It1,It+1}I_{t^{\prime}} \in\left\{I_{t-1}, I_{t+1}\right\}
在混合訓練(MS)中,ItI_{t^{\prime}}包括了序列相鄰幀(單目)和立體配對幀(多目)

改進自監督深度預測

每像素最小重投影損失(Per-Pixel Minimum Reprojection Loss)

在這裏插入圖片描述
如上圖,在ItII_{t-I}中門的右上角被樹遮擋,導致較高的誤差。
不使用平均投影,而是使用:
Lp=mintpe(It,Itt)L_{p}=\min _{t^{\prime}} p e\left(I_{t}, I_{t^{\prime} \rightarrow t}\right)
提高精度

固定像素自動掩膜

在這裏插入圖片描述
訓練時我們是假設相機動場景不動。但是假如場景也動,比如運動的測,性能就會受到很大影響。這個問題在預測的的時候表現爲無限遠。
因此提出:一種簡單的自動屏蔽方法,過濾掉序列中不會改變外觀的像素。(這樣做的效果是讓網絡忽略與攝像機以相同速度移動的物體,甚至當攝像機停止移動時忽略單眼視頻中的整個幀)

觀察到,在序列中相鄰幀之間保持相同的像素通常表示一個靜態相機。

提出掩膜μ\mu
μ=[mintpe(It,Itt)<mintpe(It,It)]\mu=\left[\min _{t^{\prime}} p e\left(I_{t}, I_{t^{\prime} \rightarrow t}\right)<\min _{t^{\prime}} p e\left(I_{t}, I_{t^{\prime}}\right)\right]

其中IttI_{t^{\prime} \rightarrow t}是異常圖像的重投影錯誤低於原圖的部分,以及ItI_{t^{'}}非是真的圖。
在這裏插入圖片描述
比如上圖,黑色部分是要背過濾掉的,相對相機禁止不動。

多分辨率預測Multi-scale Estimation

在這裏插入圖片描述
由於雙線性採樣器[21]具有梯度局部性,爲了防止訓練目標陷入局部極小點,現有的模型採用多尺度深度預測和圖像重建。

我們觀察到,在低分辨率的中間深度圖中,這有在大的低紋理區域中創建洞的趨勢
受立體重建技術的啓發,我們提出了一個改進的多尺度公式,其中我們解耦的分辨率的視差圖像和彩色圖像用於計算重投影誤差。

我們不是在模糊的低分辨率圖像上計算光度誤差,而是首先對低分辨率深度地圖(從中間層)採樣到輸入圖像的分辨率,然後重新投影、重新採樣,並在這個較高的輸入分辨率下計算誤差pe(圖3 (d))。這個過程類似於匹配patch,因爲低分辨率的視差值會導致高分辨率圖像中像素的整個“patch”發生扭曲。這有效地限制了每個尺度下的深度圖,使其朝着相同的目標工作,即儘可能精確地重建高分辨率輸入目標圖像。

最終訓練損失

L=μLp+λLsL=\mu L_{p}+\lambda L_{s}

附加考慮

深度預測網絡基於U_Net結構,使用ELU非線性激活函數D=1/(aσ+b)D=1 /(a \sigma+b)
在解碼器中,我們使用反射填充來代替零填充,當樣本落在圖像邊界之外時,返回源圖像中最近邊界像素的值。我們發現,這大大減少了在現有方法中發現的邊界僞影。

姿態網絡由ResNet18構成,輸入一對圖片,輸出6自由度

四、實驗結果

(1)與現有的像素平均相比,我們的重投影損失有助於遮擋像素
(2)我們的自動掩蔽改進了結果,特別是在靜態攝像機的場景訓練時
(3)我們的多尺度外觀匹配損失提高了準確性。我們在KITTI 2015立體數據集[13]上評估了名爲Monodepth2的模型,以便與之前發佈的單眼方法進行比較。

五、結論與思考

我們已經提出了一個通用模型的自我監督單眼深度估計,實現了最先進的深度預測。我們引入了三個貢獻:
(i)計算每個像素的最小重投影損失來處理單眼視頻中幀間有遮擋
(ii)自動掩蔽損失,忽略混亂,固定像素
(iii)全分辨率多尺度採樣方法

模型對比:
在這裏插入圖片描述
優化方法對比:
在這裏插入圖片描述
預測結果:
在這裏插入圖片描述

作者結論

總結

思考

參考

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