ICCV 2021 | R-MSFM: 用于單目深度估計的循環(huán)多尺度特征調制
標題:R-MSFM: Recurrent Multi-Scale Feature Modulation for Monocular Depth Estimating(ICCV-2021)
作者:Zhongkai Zhou, Xinnan Fan, Pengfei?, Yuanxue Xin
單位:College of Internet of Things Engineering; Hohai University, Changzhou, China
鏈接:https://openaccess.thecvf.com/content/ICCV2021/papers/Zhou_R-MSFM_Recurrent_Multi-Scale_Feature_Modulation_for_Monocular_Depth_Estimating_ICCV_2021_paper.pdf
代碼:https://github.com/jsczzzk/R-MSFM來自河海大學物聯(lián)網(wǎng)工程學院的周仲凱博士發(fā)表在ICCV2021上的工作,該方案在單目無監(jiān)督深度估計中取得了SOTA結果。
作者:飛翔的荷蘭人 文章來源:微信公眾號「3D視覺工坊」
摘要
RMSFM提取每像素特征,構建多尺度特征調制模塊,并通過固定分辨率的參數(shù)共享解碼器迭代更新逆深度(深度的倒數(shù),高斯分布)。這種結構使我們的R-MSFM能夠在空間上更精確的同時保持更豐富的表示,并避免了在該領域廣泛使用的傳統(tǒng)u-net類粗到細結構造成的錯誤傳播,從而產(chǎn)生強泛化和高效的參數(shù)計數(shù)。實驗結果證明了我們提出的R-MSFM在模型大小和推理速度方面都具有優(yōu)越性,并在KITTI基準上顯示了最新的結果。
01引言
深度估計的目的是確定圖像中每個像素的深度。從計算機視覺的早期階段開始,對圖像的深度估計就一直是研究者面臨的主要挑戰(zhàn)之一。深度估計作為一項低級任務,需要完成高級任務,包括三維重建[23]、自動駕駛[6]、三維目標檢測[36]、水下圖像恢復[43]等。深度估計傳統(tǒng)上被認為是左右圖像之間的立體匹配問題,主要是一種手工制作的優(yōu)化[18]、監(jiān)督[4]或自監(jiān)督方式[24]。盡管幾十年的發(fā)展已經(jīng)顯著提高了其準確性,但耗時的匹配過程不可避免地限制了部署的范圍。受傳統(tǒng)結構領域的啟發(fā),來自于運動(SFM)[38]已經(jīng)證明了使用自監(jiān)督的光度重建損失從單個圖像估計深度作為視覺合成問題的可行性。遵循這種成功的新設計范式,最近的工作主要集中在特定損失函數(shù)[28,14]的設計,以及對目前廣泛使用的U-Net的改進,如從粗到細的體系結構[19,15]。本文受光流[37]領域的啟發(fā),我們引入了循環(huán)多尺度特征調制(RMSFM),這是一種新的有效的輕量級深度學習體系結構,以擴展單目深度估計的體系結構選擇。R-MSFM最大的三個最顯著的優(yōu)勢如下:
輕量級架構:R-MSFM將Monodepth2的參數(shù)減少了73%,從14.3M減少到3.8M,適用于內存有限的場景。
最先進的精度:R-MSFM實現(xiàn)了最先進的性能,在KITTI特征分割測試集上比Monodepth2(4.701)低4.470RMSE。
合理的推理速度。:R-MSFM在RTX2060GPU上以每秒44幀的速度處理640×192個視頻。它可以靈活地選擇更新號,并在速度和精度之間進行權衡,占總更新的一半,以每秒72幀的速度運行,但仍然優(yōu)于Monodepth2。
R-MSFM由四個主要組件組成:i)一個深度編碼器,從ResNet18中提取每像素表示,產(chǎn)生多尺度特征;ii)參數(shù)共享深度解碼器,迭代更新初始化為零的逆深度,避免粗糙級的空間不精度傳播到精細部分;iii)一個參數(shù)學習的上采樣模塊,它自適應地對估計的逆深度進行上采樣,保持其運動邊界;iv)一個多尺度特征調制模塊,跨多尺度特征圖調制內容,為每個迭代更新保持語義更豐富,同時空間更精確的表示。在每次迭代更新中,R-MSFM在固定的1/8輸入分辨率下維護和細化一個單一的逆深度,然后用學習到的掩模將其直接上采樣到全分辨率。這與傳統(tǒng)的U-Net不同,比如之前的粗到細的架構,首先以粗分辨率(1/32輸入分辨率)估計深度,然后逐步上采樣和細化,直到完全分辨率。通過在固定的精細分辨率下的逐步細化,R-MSFM克服了從粗到細的體系結構的幾個限制:從粗分辨率到細分辨率的誤差傳播,描繪小對象的困難,多尺度解碼器的獨立性。實驗結果表明,RMSFM在合理的推理速度下,在精度和模型尺寸上都取得了最先進的性能。
02相關工作
深度估計是理解三維世界的重要組成部分,它對機器人系統(tǒng)和許多視覺任務[29,16,7,1]有重大影響。對于傳統(tǒng)的計算機視覺方法,從單個圖像的深度估計是一個不適定問題,而不依賴于第二個輸入幀。然而,人類可以通過與現(xiàn)實世界的互動,學習到大量關于3D場景理解的先驗知識。因此,即使只有一只眼睛,他們仍然可以得到場景的絕對深度。隨著模擬人腦機制的深度學習技術的發(fā)展,許多工作都致力于從單目圖像中提取場景深度。我們將在下一節(jié)中回顧這些相關的方法。
2.1 全監(jiān)督的單目深度估計
全監(jiān)督的單目深度估計網(wǎng)絡采用激光雷達的標簽真實值作為監(jiān)督信號進行深度回歸。在訓練過程中,該網(wǎng)絡可以在真實標簽的引導下學習深度信息。Eigen等人[9]首先利用深度學習技術構建了單目深度估計器,從單個輸入圖像中推斷出相應的深度。該估計器由一個全局估計層和一個局部細化層組成。因此,該估計器保留了圖像邊緣的深度值,并在那一年的紐約大學深度[35]和KITTI[11]基準測試上取得了最先進的結果。但是,全局估計層和局部細化層需要單獨訓練,這增加了訓練過程的難度。為了解決上述問題,Evan等[33]將專門為語義分割設計的全卷積網(wǎng)絡[25]擴展到單目深度估計任務,使訓練過程能夠端到端進行,同時提高精度。由于深度殘差學習在圖像識別[17]中的成功,Laina等[21]將其引入單目深度估計領域,用反向Huber損失[47]代替L2損失,從而進一步穩(wěn)定了訓練過程,提高了網(wǎng)絡的精度。雖然使用真實標簽訓練的單目深度估計網(wǎng)絡具有較高的精度,但從不同場景獲得真實標簽仍然限制了這些方法在現(xiàn)實世界中的應用。
2.2 自監(jiān)督的單目深度估計
調整在全監(jiān)督方法中使用的真實標簽的限制,許多工作集中于由在現(xiàn)實世界中普遍存在的攝像機,在幀之間的幾何約束作為監(jiān)督信號。R.Garg等人,[10]首先以自監(jiān)督的方式使用立體訓練對從單個圖像中推斷出相應的深度。他們合成了一種新的視圖來獲得一個監(jiān)督信號,其中包括在左輸入圖像和扭曲的右圖像之間的光度損失。Clement Godard等人[13]通過引入一種新的網(wǎng)絡架構,提高了單目深度估計的訓練損失,包括左右視差一致性損失和單尺度SSIM項[41],進一步提高了單目深度估計的精度。由于在現(xiàn)實世界中,連續(xù)的圖像比立體的圖像對更容易獲得,因此適合直接使用它們作為單目深度估計網(wǎng)絡的訓練集。Zhou等人[46]首先聯(lián)合訓練了一個單獨的姿態(tài)網(wǎng)絡和一個深度估計網(wǎng)絡,使用由光度損失自監(jiān)督的連續(xù)圖像和一個額外的運動解釋掩模。雖然這項工作證明了從單個圖像中估計深度的可行性,但其魯棒性仍然存在遮擋和移動目標的影響。經(jīng)過仔細分析,Godard等[14]表明,設計良好的損失函數(shù)比復雜的體系結構更有效。他們提出了i)一種策略,將光度損失最小,而不是對每個像素進行平均,以解決單目訓練中連續(xù)圖像中的遮擋。ii)一種在連續(xù)幀之間自動將像素標記為靜態(tài)或相對靜態(tài)的方法。iii)多尺度光度損失,對中間層的所有深度進行采樣,以獲得全分辨率,以便更好的監(jiān)督。受[40,20]的啟發(fā),AdrianJohnston等人[19]將自注意機制和離散視差預測引入單目深度估計領域,使網(wǎng)絡在非相鄰區(qū)域和運動邊界上更具有魯棒性。雖然自監(jiān)督單目深度估計的精度有了顯著的提高,但仍遠非完全監(jiān)督的方法。在本工作中,我們證明了基于多尺度特征調制模塊和參數(shù)共享解碼器在固定分辨率下的迭代深度細化的優(yōu)越性。
03方法

圖1 整體架構 (a):輸入幀由ResNet18(沒有最后兩個塊)進行編碼,以產(chǎn)生具有1/2、1/4和1/8輸入分辨率的多尺度特征圖。然后,將這些特征圖統(tǒng)一為相同的大小,并按順序輸入到一個參數(shù)共享的深度解碼器,以迭代地更新一個逆深度。此外,我們使用MSFM模塊來在迭代更新期間保持語義更豐富,同時空間上更精確的表示。最后,我們學習了一個凸掩模,在每次更新中對估計的逆深度進行上采樣到全分辨率。(b)輸入幀的連接由PoseNet計算,得到一個單一的6自由度相對姿態(tài)。
在本一節(jié)中,我們描述了我們提出的R-MSFM的細節(jié),該RMSFM使用單個RGB圖像來產(chǎn)生相應的深度,以及讓我們的網(wǎng)絡從未標記的單目視頻中學習的自監(jiān)督策略。我們的模型的概述如圖1所示。
3.1深度編碼器

3.2深度解碼器
我們的深度解碼器采用了一個參數(shù)共享結構,它在固定的1/8輸入分辨率下工作,以避免傳統(tǒng)的粗到精細結構造成的錯誤傳播。深度解碼器通過五個連續(xù)的卷積層輸出逆深度(輸出處用Sigmoid激活函數(shù),其他地方LeakyReLU)。特別地,我們對估計的逆深度映射本身應用兩個卷積層來生成深度特征映射。因此,第三個卷積層的輸入是來自前一個卷積層的輸出和深度特征映射的連接。
3.3參數(shù)-學習式上采樣模塊
我們采用參數(shù)學習的上采樣模塊[37],而不是雙線性插值,在固定的1/8輸入分辨率下自適應地將估計的逆深度上采樣到全分辨率。上采樣模塊將每個像素的全分辨率逆深度視為1/8輸入分辨率下鄰近的3×3網(wǎng)格的凸組合。它從深度解碼器中的第三個卷積層獲取特征映射,然后利用兩個連續(xù)的卷積層產(chǎn)生一個凸掩模。然后在Softmax上執(zhí)行凸掩模,以1/8輸入分辨率控制9個鄰域的權值,并用于檢索全分辨率下檢索逆深度。
3.4 迭代更新


其中ConvH和ConvR分別是可分離卷積,不共享參數(shù)權重。由于深度編碼器有三個尺度的特征圖,我們自然地更新了逆深度三次。特別是,我們可以在每個尺度上對由MSFM模塊調制的特征映射應用一個額外的卷積層,從而對逆深度進行6次更新。
3.5 自監(jiān)督



04實驗
我們使用Eigen等人[8]的數(shù)據(jù)分割來訓練和評估我們的模型。在訓練之前,我們按照Zhou等人的[46]從訓練集中刪除靜態(tài)圖像。這些結果是39810個訓練序列,其中包括三個連續(xù)幀的單目訓練和一個額外的立體計數(shù)器的混合訓練,以及4424個驗證序列。為了恢復尺度信息,我們采用了每幅圖像的中值標簽尺度[46]。在評估我們的模型時,我們將深度估計限制在0米到80米之間的固定深度范圍內,并通過[9]中提出的五個廣泛使用的評估指標將其與其他最先進的方法進行性能:AbsRel、SqRel、RMSE、RMSElog和精度進行比較,公式如下:

我們用不同的學習集(單目triplets(M)和單目+立體quadruplets(MS))、更新和輸入分辨率,以自我監(jiān)督學習的方式訓練我們的模型,從而導致我們的模型的不同變體。我們將我們的模型與其他最先進的方法進行了比較,并發(fā)現(xiàn)它們以最少的模型參數(shù)獲得了令人滿意的結果,如表1所示。
4.1 部署細節(jié)

4.2 KITTI結果

表1. 將我們的模型與現(xiàn)有的在KITTI特征分割[8]上的方法進行了比較。每個度量的最佳結果以粗體顯示,第二個結果用下劃線表示。表中記錄了使用Train列中看到的兩種不同策訓練模型的結果:M表示模型只使用自監(jiān)督單目監(jiān)督訓練,MS表示模型同時使用自監(jiān)督單目和立體監(jiān)督訓練。

圖2 KITTI特征分割[8]檢驗集的定性結果。我們的模型可以穩(wěn)健地估計在反射和顏色飽和區(qū)域的復雜物體的更清晰的深度。在KITTI Eigen特征測試集[8])上的實驗結果如表1所示。與其他采用自監(jiān)督訓練策略的最先進的方法相比,我們的方法在顯著降低模型參數(shù)的同時產(chǎn)生了類似的結果。從表1中可以看出,我們的方法使用四分之一的參數(shù)就顯著優(yōu)于基線Monodepth2[14],并且僅使用3%的參數(shù)就接近當前最先進的PackNet-SfM[15]。此外,我們在之前的工作[14]之后進行了高分辨率(1024×320)的訓練,該操作導致我們的模型在相同的訓練計劃[14]下優(yōu)于所有現(xiàn)有的方法。此外,我們還可以得到與特征深度[34]類似的結果,它利用了魯棒的特征度量自監(jiān)督監(jiān)督和更強的ResNet50編碼器。總體的定性結果如圖2所示??梢钥闯觯覀兊姆椒▽θN方法及其變體的弱紋理區(qū)域(第1和第4列)和薄結構(第2列、第3和第4列)得到了滿意的結果。這些定量和定性的結果證明了我們的方法的優(yōu)越性。此外,這意味著我們的RMSFM從迭代更新中獲益更多,這迫使網(wǎng)絡從高級特征圖中學習粗糙的逆深度,然后從低級特征圖中細化其邊界區(qū)域。然而,當場景中有移動的物體時,我們的R-MSFM無法學習良好的深度,就像所有自監(jiān)督深度估計方法一樣,如圖4所示。這受到自我監(jiān)督損失的限制,它在與移動物體一起的區(qū)域斷裂。
4.3 KITTI消融研究

表2 對我們的R-MSFM體系結構的消融研究,在640×192分辨率的KITTI特征[8]測試集上。我們評估了參數(shù)共享深度解碼器、多尺度特征調制(MSFM)和迭代更新的影響。開始和中間表示我們嵌入MSFM模塊的位置。所有的模型都在相同的設置下進行訓練。

表3迭代更新的量化。在KITTI特征分割測試集上不同迭代更新下模型的每次更新結果[8]。

圖3 迭代更新的可視化。我們展示了從第一次更新的估計深度和從后續(xù)更新的剩余改進。像素的亮度值表示細化的幅度,其中像素越亮,細化的程度越大。紅框區(qū)域中的像素表明,細化隨著更新次數(shù)的增加而減少,并在五次更新后趨于飽和。表2顯示了我們提出的R-MSFM的消融研究,其中我們首先從基線Monodepth2[14](第一行)開始。接下來,通過刪除其深度編碼器中的最后兩個塊,并使用參數(shù)共享深度解碼器對逆深度執(zhí)行三次更新,我們得到了我們的R-MSFM3-A模型(第二行)。然后,通過應用一個額外的MSFM模塊,我們分別得到了我們的模型的三個變體:R-MSFM3-B、R-MSFM3-C、R-MSFM3-D,它們只在應用該模塊的位置上有所不同。R-MSFM3-B模型(第三行)在深度解碼器的第三層之后應用模塊,R-MSFM3-C模型(第4行)在深度解碼器開始應用模塊,R-MSFM3-D模型(第5行)在兩個位置應用模塊。最后,通過對R-MSFM3-C進行三次額外的更新,我們得到了我們的R-MSFM6-C模型。與基線模型Monodepth2相比,上述所有模型都顯示出其優(yōu)越性。
參數(shù)共享深度解碼器的優(yōu)點:基線Monodepth2[14]采用粗到細的架構,逐漸降低輸入圖像的分辨率聚合強大的低級表示深度編碼器,然后相應地提高其分辨率,直到全分辨率推斷多尺度深度的幾個深度解碼器。這種體系結構在大多數(shù)情況下都工作得很好,但是,它受到過多的參數(shù)和錯誤傳播的限制。由于參數(shù)共享深度解碼器,我們的R-MSFM-A獲得了與Monodepth2相似的結果,但其參數(shù)僅為Monodepth2的20%,證明了我們的體系結構的有效性。MSFM模塊的優(yōu)點:將我們的MSFM模塊應用于R-MSFM-A模型總是能提高性能。如表2所示,R-MSFM3-C, 它在深度解碼器的開始嵌入MSFM模塊,以最低的計算成本提供最大增量的性能增益。此外,添加一個額外的MSFM模塊并不會導致性能改進,因為它的結構復雜性。迭代更新的好處:?更多的更新總是會導致我們的模型的性能改進,如表1所示。特別是在輸入高分辨率輸入圖像時,模型的精度顯著提高。一個原因是,使用高分辨率特征圖進行額外的更新比低分辨率的能為解碼器提供更多的信息。表3和圖3說明了迭代更新的好處,表明第一次更新負責粗估計,而其余的更新負責逐步細化,特別是在包含復雜對象的區(qū)域。然而,應該注意的是,在更新6時,精度是飽和的,這主要集中在小的邊界上,而不是大的目標。最后,運行比訓練的模型更多的迭代會降低性能。由于其余的多尺度特征圖并不直接參與參數(shù)共享解碼器和基于GRU的MSFM模塊的優(yōu)化過程。
4.4成分分析

圖4 失敗情況。移動物體對于單眼深度估計一直具有挑戰(zhàn)性,它通常會正確地接近地面,隨著它的上升精度會下降。單目深度估計系統(tǒng)的靈活性使其具有實際部署。因此,有必要對其復雜性進行分析。與現(xiàn)有的基于類似unet的粗到細架構的模型[14,15,45]不同,我們的R-MSFM具有傳統(tǒng)編碼器的一小部分(不包括最后兩個計算量很大的塊),如ResNet18和一個參數(shù)共享解碼器。表4詳細說明了我們模型的每個部分的狀態(tài),包括推理速度、浮點操作(FLOPs)和所使用的參數(shù),并將它們與其他最先進的方法進行了比較??梢钥闯觯瑥腞esNet18中排除最后兩個計算重塊顯著減少了使用的參數(shù),與Monodepth2[14]相比減少了94%。另一方面,ResNet中的殘差加法不可避免地限制了推理速度,導致其加速度比Monodepth2提高了48%。當涉及到解碼器部分時,迭代更新的過程不可避免地會增加計算開銷(FLOPs)。但是,我們的解碼器的普通拓撲沒有殘差加法使推理計算高效,每次更新大約需要4.75B FLOP和3ms。最后,參數(shù)經(jīng)濟、計算高效和準確的架構使我們的 R-MSFM 適合在嵌入式平臺上部署。
05總結
我們提出了R-MSFM-循環(huán)多尺度特征調制-一種新的端到端可訓練的自監(jiān)督單目深度估計模型。它利用從深度編碼器中提取的多尺度特征圖,通過參數(shù)共享深度解碼器迭代更新反向深度,避免了從低分辨率到高分辨率的誤差傳播。此外,R-MSFM在深度解碼器的開始處嵌入了一個多尺度特征調制(MSFM)模塊,在迭代更新期間保持語義上更豐富,同時在空間上更精確的表示。此外,它采用參數(shù)學習上采樣器代替雙線性插值對估計的逆深度進行上采樣,保持其運動邊界。高精度和輕量級的特性表明,我們的R-MSFM適用于實際應用。
參考文獻


本文僅做學術分享,如有侵權,請聯(lián)系刪文。
3D視覺精品課程推薦:
1.面向自動駕駛領域的多傳感器數(shù)據(jù)融合技術
2.面向自動駕駛領域的3D點云目標檢測全棧學習路線!(單模態(tài)+多模態(tài)/數(shù)據(jù)+代碼)
3.徹底搞透視覺三維重建:原理剖析、代碼講解、及優(yōu)化改進
4.國內首個面向工業(yè)級實戰(zhàn)的點云處理課程
5.激光-視覺-IMU-GPS融合SLAM算法梳理和代碼講解
6.徹底搞懂視覺-慣性SLAM:基于VINS-Fusion正式開課啦
7.徹底搞懂基于LOAM框架的3D激光SLAM: 源碼剖析到算法優(yōu)化
8.徹底剖析室內、室外激光SLAM關鍵算法原理、代碼和實戰(zhàn)(cartographer+LOAM +LIO-SAM)
9.從零搭建一套結構光3D重建系統(tǒng)[理論+源碼+實踐]
10.單目深度估計方法:算法梳理與代碼實現(xiàn)
11.自動駕駛中的深度學習模型部署實戰(zhàn)
12.相機模型與標定(單目+雙目+魚眼)
13.重磅!四旋翼飛行器:算法與實戰(zhàn)
14.ROS2從入門到精通:理論與實戰(zhàn)
15.國內首個3D缺陷檢測教程:理論、源碼與實戰(zhàn)
更多干貨
歡迎加入【3D視覺工坊】交流群,方向涉及3D視覺、計算機視覺、深度學習、vSLAM、激光SLAM、立體視覺、自動駕駛、點云處理、三維重建、多視圖幾何、結構光、多傳感器融合、VR/AR、學術交流、求職交流等。工坊致力于干貨輸出,為3D領域貢獻自己的力量!歡迎大家一起交流成長~
添加小助手微信:dddvision,備注學校/公司+姓名+研究方向即可加入工坊一起學習進步。