SC-DepthV3來了!深度解析無監(jiān)督單目深度估計V1到V3的主要變化(2)
之前的SC-DepthV1和MonoDepth2等網(wǎng)絡(luò)主要針對KITTI等室外場景,取得了非常不錯的效果。但SC-Depth系列的作者發(fā)現(xiàn),這些網(wǎng)絡(luò)很難泛化到室內(nèi)場景中,室內(nèi)估計出的深度圖很差。這就很奇怪了,按理說只要經(jīng)過足夠的訓(xùn)練,室內(nèi)和室外場景應(yīng)該是可以取得相似的精度的。這是為什么呢?有一些學(xué)者認(rèn)為,這是因為室內(nèi)場景中有大量的弱紋理區(qū)域,比如白墻。這些區(qū)域很難去提取特征,就更不用說去做特征匹配,是這些弱紋理區(qū)域?qū)е律疃裙烙嫴粶?zhǔn)。看似有一定道理,但要知道室外場景中的天空也是弱紋理區(qū)域啊,并且也占了圖像中的很大一部分。為什么同樣是存在大量弱紋理場景,性能卻差了那么多呢?SC-Depth系列的作者認(rèn)為,室外場景中的相機(jī)運動主要是平移,旋轉(zhuǎn)所占的比重很小,而室內(nèi)場景正好相反。那么是不是室內(nèi)場景中的旋轉(zhuǎn)分量,對單目深度估計結(jié)果造成了影響呢?SC-Depth系列的作者對此進(jìn)行了嚴(yán)密的數(shù)學(xué)推導(dǎo):這個數(shù)學(xué)推導(dǎo)很有意思。SC-Depth系列作者發(fā)現(xiàn)旋轉(zhuǎn)運動和深度估計結(jié)果完全無關(guān)!但平移運動和深度估計結(jié)果卻是相關(guān)的!這個結(jié)論是什么意思呢?也就是說,對于旋轉(zhuǎn)運動來說,就算估計的很準(zhǔn)也不會幫助單目深度估計結(jié)果,但如果估計的不準(zhǔn)就會給深度估計帶來大量噪聲。而對于平移運動來說,如果估計的位姿準(zhǔn)確是可以輔助單目深度估計結(jié)果的。因此,SC-depthV2提出了位姿自修正網(wǎng)絡(luò),這個網(wǎng)絡(luò)只估計旋轉(zhuǎn)運動,并借此剔除場景中的旋轉(zhuǎn)運動。之后將第二幀圖像旋轉(zhuǎn)到第一張圖,這樣兩幀圖像之間的位姿就只剩下的平移運動。自此,自監(jiān)督深度估計網(wǎng)絡(luò)就可以得到很好的訓(xùn)練。此外,SC-depthV2還提出了兩個新的損失約束。這里具體解釋一下:前面我們知道,Ia和Ib通過ARN生成了去除旋轉(zhuǎn)運動的圖像,理論上此時Ia和Ib’之間應(yīng)該是不包含任何旋轉(zhuǎn)的。也就是說Ia和Ib’再進(jìn)行一次ARN得到的Rot2應(yīng)該為0。此外,Ib’和Ib再進(jìn)行一次ARN得到的Rot3應(yīng)該和第一次得到的Rot1是相等的。通過這兩個約束可以完全剔除兩幀之間的旋轉(zhuǎn)運動,得到更好的位姿估計結(jié)果。至于定量結(jié)果,由于作者主要思路就是針對室內(nèi)場景中的旋轉(zhuǎn)運動,因此主要評估的數(shù)據(jù)集是室內(nèi)NYU。結(jié)果顯示,SC-depthV2相較于之前的方法實現(xiàn)了大幅提升,這也驗證了作者的想法。一句話總結(jié):SC-DepthV2解決了旋轉(zhuǎn)位姿對深度估計的影響問題。
4. SC-DepthV3做了什么?至此,其實SC-Depth系列已經(jīng)做的很好了。SC-DepthV1面向室外場景,SC-DepthV2面向室內(nèi)場景,可以說實現(xiàn)了很好的通用性和泛化能力。但SC-DepthV1和SC-DepthV2都是基于靜態(tài)環(huán)境假設(shè)的,雖然作者也利用Mask剔除了一些動態(tài)物體的影響,但當(dāng)應(yīng)用場景是高動態(tài)環(huán)境時,算法很容易崩潰。為了解決動態(tài)物體和遮擋問題,現(xiàn)有網(wǎng)絡(luò)通常是檢測動態(tài)物體,然后在訓(xùn)練時剔除這些區(qū)域。這些方法在訓(xùn)練時效果比較好,但是在推理時往往很難得到高精度。也有一些方法對每個動態(tài)對象進(jìn)行建模,但網(wǎng)絡(luò)會變得非常笨重。因此,SC-Depth系列作者又在近日提出了SC-DepthV3,面向高動態(tài)場景的單目深度估計網(wǎng)絡(luò)!在各種動態(tài)場景中都可以魯棒的運行!具體來說,SC-DepthV3首先引入了一個在大規(guī)模數(shù)據(jù)集上有監(jiān)督預(yù)訓(xùn)練的單目深度估計模型LeReS,并通過零樣本泛化提供單圖像深度先驗,也就是偽深度,同時引入了一個新?lián)p失來約束網(wǎng)絡(luò)的訓(xùn)練。注意,LeReS只需要訓(xùn)練一次,在新場景中不需要進(jìn)行finetune,因此這一網(wǎng)絡(luò)的引入并不會加入額外的成本。LeReS顯示了很好的定性結(jié)果,但偽深度的精度很低,偽深度的誤差圖也說明了這一問題。不過SC-DepthV3認(rèn)為經(jīng)過合適的模塊設(shè)計,偽深度可以很好得促進(jìn)無監(jiān)督單目深度估計的結(jié)果。解決動態(tài)區(qū)域問題的關(guān)鍵是作者提出的動態(tài)區(qū)域細(xì)化(DRR)模塊,該方法的來源是,作者發(fā)現(xiàn)偽深度在任意兩個物體或像素之間保持極好的深度有序度。因此,SC-DepthV3提取動態(tài)和靜態(tài)區(qū)域之間的真值深度序信息,并使用它來規(guī)范動態(tài)區(qū)域的自監(jiān)督深度估計。為了從靜態(tài)背景中分割動態(tài)區(qū)域,SC-DepthV3使用了SC-DepthV1中提出的Mask,并通過計算自監(jiān)督訓(xùn)練中的前后向深度不一致性來生成,因此不需要外部分割網(wǎng)絡(luò)。此外,偽深度顯示了光滑的局部結(jié)構(gòu)和物體邊界。因此SC-DepthV3提出一個局部結(jié)構(gòu)優(yōu)化(LSR)模塊來改進(jìn)深度細(xì)節(jié)的自監(jiān)督深度估計。該模塊包含兩個部分:一方面從偽深度和網(wǎng)絡(luò)預(yù)測深度中提取表面法線,并通過應(yīng)用法線匹配損失來約束;另一方面應(yīng)用相對法向角度損失來約束物體邊界區(qū)域的深度估計。在損失函數(shù)的設(shè)置上,除了之前的幾何一致性損失、光度損失外,SC-DepthV3還提出了邊緣感知平滑損失來正則化預(yù)測的深度圖。在具體的評估上,SC-DepthV3在DDAD、BONN、TUM、KITTI、NYUv2和IBims-1這六個數(shù)據(jù)集進(jìn)行了大量實驗,定性結(jié)果顯示SC-DepthV3在動態(tài)環(huán)境中具有極強(qiáng)的魯棒性。定量結(jié)果也說明了SC-DepthV3在動態(tài)環(huán)境中的性能遠(yuǎn)超Monodepth2和SC-Depth。一句話總結(jié):SC-DepthV3解決了動態(tài)環(huán)境問題。
5. 總結(jié)SC-Depth系列是非常經(jīng)典且先進(jìn)的無監(jiān)督單目深度估計網(wǎng)絡(luò),現(xiàn)在已經(jīng)有了V1、V2、V3三個版本。其中SC-DepthV1主要解決深度圖不連續(xù)的問題,SC-DepthV2主要解決室內(nèi)環(huán)境中旋轉(zhuǎn)位姿對深度估計產(chǎn)生噪聲的問題,SC-DepthV3主要解決動態(tài)環(huán)境中的單目深度估計問題??梢哉f這三個網(wǎng)絡(luò)已經(jīng)可以應(yīng)用于大多數(shù)的場景,這樣在一個方向不斷深耕的團(tuán)隊并不多見。研究單目深度估計網(wǎng)絡(luò)的讀者一定不要錯過。參考文獻(xiàn):[1] 2021 IJCV:Unsupervised Scale-consistent Depth Learning from Video (SC-DepthV1)[2] 2022 TPAMI:Auto-Rectify Network for Unsupervised Indoor Depth Estimation (SC-DepthV2)[3] 2022 TPAMI:SC-DepthV3: Robust Self-supervised Monocular Depth Estimation for Dynamic Scenes (SC-DepthV3)
本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。