Depth Anything | 致敬SAM,港大&字節(jié)提出用于任意圖像的深度估計(jì)...

https://arxiv.org/abs/2401.10891
https://github.com/LiheYoung/Depth-Anything
https://depth-anything.github.io/
本文提出一種用于單目深度估計(jì)(Monocular Depth Estimation, MDE)的高度實(shí)用方案Depth Anything「致敬Segment Anything」,它旨在構(gòu)建一種可以處理任務(wù)環(huán)境下任意圖像的簡(jiǎn)單且強(qiáng)力的基礎(chǔ)深度模型。為此,作者從三個(gè)維度進(jìn)行了探索:
- 數(shù)據(jù)集維度,設(shè)計(jì)了一種數(shù)據(jù)引擎用于數(shù)據(jù)收集與自動(dòng)標(biāo)注,構(gòu)建了~62M的大規(guī)模無(wú)標(biāo)注數(shù)據(jù),這極大程度提升了數(shù)據(jù)覆蓋率、降低泛化誤差;
- 通過(guò)利用數(shù)據(jù)增廣工具構(gòu)建了一種更具挑戰(zhàn)性的優(yōu)化目標(biāo),促使模型主動(dòng)探索額外的視覺(jué)知識(shí),進(jìn)而提升特征魯棒性;
- 設(shè)計(jì)了一種輔助監(jiān)督信息以迫使模型從預(yù)訓(xùn)練Encoder中繼承豐富語(yǔ)義先驗(yàn)信息。
作者在六個(gè)公開(kāi)數(shù)據(jù)集與隨機(jī)拍攝圖片上評(píng)估了模型的zero-shot能力;通過(guò)度量深度信息微調(diào)達(dá)成新的SOTA;更優(yōu)的深度模型進(jìn)而引申出更優(yōu)的深度引導(dǎo)ControlNet。更多Demo示例建議前往該項(xiàng)目主頁(yè):https://depth-anything.github.io
本文方案
上圖給出了所提方案架構(gòu)圖,本文采用有標(biāo)簽與無(wú)標(biāo)簽圖像訓(xùn)練更優(yōu)的單目深度估計(jì)。假設(shè)分別表示有標(biāo)簽與無(wú)標(biāo)簽數(shù)據(jù)集。
- 首先,基于數(shù)據(jù)集學(xué)習(xí)一個(gè)老師模型T;
- 然后,利用T為數(shù)據(jù)集賦予偽標(biāo)簽;
- 最后,基于兩個(gè)數(shù)據(jù)訓(xùn)練一個(gè)學(xué)生模型S。
大規(guī)模數(shù)據(jù)集
上表給出了本文所構(gòu)建的有標(biāo)簽與無(wú)標(biāo)簽數(shù)據(jù)集,相比于MiDaS v3.1,該方案使用的有標(biāo)簽數(shù)據(jù)集更少(6 vs 12)。
- 未用NYUv2與KITTI以確保zero-shot評(píng)估;
- Movies與WSVD不再可獲??;
- 某些數(shù)據(jù)質(zhì)量比較差,如RedWeb;
盡管實(shí)用了更少的有標(biāo)簽數(shù)據(jù),但更易獲取且多樣性的無(wú)標(biāo)簽數(shù)據(jù)足以補(bǔ)償數(shù)據(jù)覆蓋率并極大提升模型的泛化能力與魯棒性。此外,為進(jìn)一步增強(qiáng)老師模型,作者采用DINOv2預(yù)訓(xùn)練權(quán)值進(jìn)行初始化。
釋放無(wú)標(biāo)簽數(shù)據(jù)的能量
受益于互聯(lián)網(wǎng)的發(fā)展,我們可以比較容易的構(gòu)建一個(gè)多樣性的大規(guī)模無(wú)標(biāo)簽數(shù)據(jù)集,同時(shí)也可以借助于預(yù)訓(xùn)練MDE模型為這些無(wú)標(biāo)簽圖像生成稠密深度圖。這要比立體匹配、SfM重建更方便且高效。
給定預(yù)訓(xùn)練MDE老師模型T,我們可以將無(wú)標(biāo)簽數(shù)據(jù)集轉(zhuǎn)換為偽標(biāo)簽數(shù)據(jù)集:
基于組合數(shù)據(jù),我們就可以訓(xùn)練學(xué)生模型S咯~但是,不幸的是:通過(guò)上述自訓(xùn)練方案,我們難以取得性能改善。
作者猜想:當(dāng)有足夠的有標(biāo)簽數(shù)據(jù)后,從無(wú)標(biāo)簽數(shù)據(jù)中獲取的額外知識(shí)相當(dāng)受限。針對(duì)此,作者為學(xué)生模型制定了更難的優(yōu)化目標(biāo)以從額外無(wú)標(biāo)簽數(shù)據(jù)中學(xué)習(xí)額外的視覺(jué)知識(shí)。
在訓(xùn)練過(guò)程中,作者為無(wú)標(biāo)簽數(shù)據(jù)注入強(qiáng)擾動(dòng),這種處理有助于學(xué)生模型主動(dòng)探尋額外的視覺(jué)知識(shí)并從中學(xué)習(xí)不變性表征。在具體實(shí)現(xiàn)方面,主要有以下兩種擾動(dòng):
- 強(qiáng)色彩失真,包含顏色抖動(dòng)、高斯模糊;
- 強(qiáng)空域畸變,如CutMix。
盡管上述操作比較簡(jiǎn)單,但它們有助于大規(guī)模無(wú)標(biāo)簽數(shù)據(jù)大幅改善有標(biāo)簽圖像的基線。
語(yǔ)義輔助感知
盡管已有一些研究通過(guò)語(yǔ)義分割任務(wù)輔助改善深度估計(jì)模型性能,但不幸的是:經(jīng)過(guò)嘗試,RAM+GroundDINO+HQ-SAM組合方案無(wú)法進(jìn)一步提升原始MDE模型的性能。
作者推測(cè):將圖像解碼到離散類別空間會(huì)損失太多寓意信息,這些語(yǔ)義Mask帶有的有限信息難以進(jìn)一步提升深度模型性能(尤其是該模型已經(jīng)極具競(jìng)爭(zhēng)力)。
因此,作者從DINOv2方案中探尋更強(qiáng)語(yǔ)義信息以輔助監(jiān)督該深度估計(jì)任務(wù),即將DINOv2強(qiáng)語(yǔ)義能力通過(guò)輔助特征對(duì)齊損失方式遷移到所提深度模型中。損失函數(shù)定義如下:
特征對(duì)齊的一個(gè)關(guān)鍵在于:DINOv2的語(yǔ)義編碼器傾向于為同一目標(biāo)不同部件生成相似特征。但是,在深度估計(jì)中,不同部件可能具有不同的深度。因此,沒(méi)有必要要求深度模型生成與凍結(jié)編碼器嚴(yán)格相同的特征。
為解決該問(wèn)題,作者為特征對(duì)齊設(shè)置了一個(gè)冗差參數(shù):當(dāng)之間的相似度高于該閾值時(shí),該像素不被包含在上述損失中。這就使得該方案同時(shí)具備DINOv2的語(yǔ)義感知表征與深度監(jiān)督的部件判別表征能力。
本文方案
上表對(duì)比了當(dāng)前相對(duì)深度估計(jì)SOTA方案MiDaS v3.1與所提方案在不同數(shù)據(jù)集上的性能,可以看到:
- 在兩個(gè)指標(biāo)方面,所提方案均優(yōu)于最強(qiáng)MiDaS模型;
- 在DDAD數(shù)據(jù)集上,AbsRel指標(biāo)從0.251改善到了0.230,指標(biāo)從0.766提升到了0.789;
- ViT-B模型甚至已經(jīng)明顯優(yōu)于MiDaS模型,更小的ViT-S甚至都可以在幾個(gè)未見(jiàn)數(shù)據(jù)集上優(yōu)于MiDaS。
上兩表域內(nèi)與域外度量深度估計(jì)角度進(jìn)行了對(duì)比,很明顯:所提方案取得了非常優(yōu)異的微調(diào)性能。
最后,作者還驗(yàn)證了所提MDE編碼器在語(yǔ)義分割任務(wù)上的遷移能力,見(jiàn)上表。
---------- ? THE END ----------
整理不易,請(qǐng)點(diǎn)贊和在看
