單目深度估計中的LOSS構造【未完待續】

Stellar stream發表於2020-10-25

本文內容:對單目無監督深度估計相關損失函式的構造進行梳理介紹

目錄

Appearance based reprojection loss (也稱photometric loss)

Appearance based reprojection loss 改進

1. Per-pixel Minimum reprojection loss

2. mask

3. full-resolution multi-scale loss

edge-aware smoothness loss


Appearance based reprojection loss (也稱photometric loss)

 

0. 無監督單目深度估計問題被轉化為影像重建問題。既然是影像重建,就有重建源source image和重建目標target image,我們用It’It表示

1.Monocular sequence 訓練時,source It’ 不止1,損失函式是各It’損失函式之和

2.對於某Scale的影像損失函式為:  α一般0.85。SSIM: 結構相似性structural similarity

Appearance based reprojection loss 改進

1. Per-pixel Minimum reprojection loss

Monocular sequence 訓練時,source It’ 不止1張,每個pixel的損失函式值由 各It’損失函式之和 改為 取min

為什麼這麼修改?:解決occlusionout of view pixels問題

2. mask

Maskpixel-wise mask,顧名思義,計算損失函式的時候要“遮掉”一些畫素點,也就是說,為損失函式中畫素分配權重來決定該畫素對損失函式的貢獻程度。權重可以是連續值,也可以是離散的、二值化的[0,1]

具體到不同的論文中,mask的物件和實現方式有所不同。

2.1 Auto-Masking Stationary Pixels

1Mask的物件:遮掉相對相機靜止的場景,保留運動物體。對靜止相機,相對靜止點為靜止的場景;對運動的相機,相對靜止為與相機接近相同速度運動的物體。如圖

2)為什麼遮掉靜止場景?:解決單目深度估計中moving objects問題,即不能很好估計移動物體景深,估計結果經常為無限遠,稱作infinite depth “holes”。如上圖。出現黑洞的原因可以認為是網路損失函式未足夠關注移動物體,使得網路沒有判斷這部分的能力

3)如何判斷靜止?靜止的物體相鄰兩幀的畫素相同/相近

 

3. full-resolution multi-scale loss

深度估計網路通常會先輸出低解析度的depth map,然後再恢復到高解析度。即輸出是multi-scale的。

部分paper中,每個解析度的輸出都計算一個損失函式,總的損失函式是 multi-scale損失函式和,如[1][2][3]

具體到損失函式使用 的GroundTruth尺寸有所不同,如圖所示

1)有的down sample target,將其作為GT

2)有的up sample muti-scale的輸出到與input同尺寸,稱作 full-resolution multi-scale

哪種方式好?2)能學習到更細節的資訊  ,減少artifact

edge-aware smoothness loss

[1]【2016】Unsupervised CNN for single view depth estimation: Geometry to the rescue

[2]【2017】Unsupervised monocular depth estimation with left-right consistency

[3]【2019】Digging into Self-Supervised Monocular Depth Prediction

相關文章