CVPR2023|SEDNet:視差和不確定性聯(lián)合評估的新方法
論文題目:Learning the Distribution of Errors in Stereo Matching for Joint Disparity and Uncertainty Estimation
作者:Liyan Chen ;Weihan Wang; Philippos Mordohai;
作者機構(gòu):Stevens Institute of Technology(斯蒂文斯理工學(xué)院)
論文鏈接:https://arxiv.org/pdf/SEDNet.pdf
項目代碼:https://github.com/lly00412/SEDNet(論文中提到的開源代碼,用的是Pytorch框架)
在公眾號「3D視覺工坊」后臺回復(fù)「原論文」,可獲取對應(yīng)論文pdf文件。
本文提出了一種新的深度立體匹配中用于聯(lián)合視差和不確定性估計的損失函數(shù)。在神經(jīng)網(wǎng)絡(luò)中加入KL散度項,要求不確定性分布匹配視差誤差分布,以實現(xiàn)精確的不確定性估計。使用可微的軟直方圖技術(shù)來近似分布,并在損失函數(shù)中使用。該方法在大型數(shù)據(jù)集上獲得了顯著的改進。作為cvpr2023最新的文章,非常值得閱讀一下。
本文提出了SEDNet,一種用于視差和基礎(chǔ)不確定性聯(lián)合估計的深度網(wǎng)絡(luò)。SEDNet包括一個新穎的、輕量級的不確定性估計子網(wǎng)絡(luò),將不確定度的分布與視差誤差的分布相匹配。為了生成這個新的損失函數(shù)的輸入,作者使用可微的軟直方圖技術(shù)以可微分的方式近似分布。在具有真實值的大型數(shù)據(jù)集上對SEDNet的視差估計和不確定度預(yù)測的性能進行了廣泛的實驗驗證。SEDNet優(yōu)于具有相似架構(gòu)但沒有提出的損失函數(shù)的基線。
主要貢獻是:
一個新穎的不確定性估計子網(wǎng)絡(luò),從視差子網(wǎng)絡(luò)生成的中間多分辨率視差圖中提取信息。
一種可微的軟直方圖技術(shù),用于近似視差誤差和估計不確定性的分布。
一種基于KL散度的損失,應(yīng)用于使用上述技術(shù)獲得的直方圖。
立體匹配網(wǎng)絡(luò)在一種稱為成本體積(cost volume)的體積上運行,該體積在每個像素處匯聚每個可能視差處的二維特征,并可以通過相關(guān)或串聯(lián)來構(gòu)建。DispNetC、iResNet和SegStereo等基于相關(guān)的網(wǎng)絡(luò)生成兩個視圖中提取的特征的單通道相關(guān)地圖,在各視差層中,利用有效的計算流程犧牲結(jié)構(gòu)和語義信息在特征表示中。GCNet、PSMNet和GANet等基于串聯(lián)的網(wǎng)絡(luò)在成本體積的對應(yīng)元素所指定的視差處組裝兩個視圖的特征。這有助于學(xué)習(xí)上下文特征,但需要更多的參數(shù)以及一個后續(xù)的聚合網(wǎng)絡(luò)。在置信度估計方面,將置信度和不確定度區(qū)分開來,包括置信度CNN、PBCP、EFN、LFN和MMC等方法,以及ConfNet、LGC和LAF等利用圖像和視差圖作為輸入的方法。KL散度用于測量變分推斷估計的網(wǎng)絡(luò)參數(shù)分布的近似和精確后驗分布之間的距離。(需要注意的是,在分配離散度誤差的分布上,作者使用了KL散度來實現(xiàn)完全不同的目的。)
本文旨在聯(lián)合估計視差和不確定性,通過最小化預(yù)測不確定性和實際視差誤差之間的差異來訓(xùn)練網(wǎng)絡(luò)。其中,預(yù)測模型的損失函數(shù)為KL散度損失,用于匹配誤差分布和不確定性分布。立體匹配網(wǎng)絡(luò)通過學(xué)習(xí)聯(lián)合公式預(yù)測比單獨的視差估計器更準確的視差。
為了預(yù)測不確定性并降低噪聲的影響,Kendall和Gal通過最小化模型輸出的負對數(shù)似然來實現(xiàn)像素級的預(yù)測。模型假設(shè)輸出服從高斯分布。Ilg等人的后續(xù)工作表明,預(yù)測的分布可以分別模擬為拉普拉斯分布或高斯分布,具體取決于是對視差估計采用L1損失還是L2損失。由于作者采用的是前者,因此可以將預(yù)測模型表示為:
為了模擬算法不確定性,Kendall和Gal引入了像素特定的噪聲參數(shù)σ(i)。作者采用了Ilg等人在構(gòu)建拉普拉斯模型時使用的方法,并獲得了以下像素級損失函數(shù):
該式可以被視為魯棒損失函數(shù),其中像素的殘差損失受其不確定性的影響而減弱,而第二項則作為正則化項。訓(xùn)練網(wǎng)絡(luò)來預(yù)測觀測噪聲標量的對數(shù)s,以保證數(shù)值穩(wěn)定性。
這部分作者討論了調(diào)整不確定性分布以匹配誤差分布的問題。采用KL散度作為衡量二者之間差異的度量,但直接最小化KL散度需要兩個分布的歸納公式。為此作者使用直方圖來表示分布,同時采用軟直方圖使其可微分。對于每個批次訓(xùn)練,基于誤差值的統(tǒng)計量創(chuàng)建一個直方圖。作者對獨立的不確定性采用相同的直方圖參數(shù),并使用反比例權(quán)重的softmax函數(shù)來計算每個誤差值或不確定性貢獻的直方圖值。最后,該直方圖的KL損失用于網(wǎng)絡(luò)的訓(xùn)練。
SEDNet是一個包括視差估計和不確定性估計子網(wǎng)絡(luò)的網(wǎng)絡(luò)體系結(jié)構(gòu)。其中視差估計子網(wǎng)絡(luò)采用GwcNet,GwcNet子網(wǎng)絡(luò)使用類似ResNet的特征提取器從圖像中提取特征,生成代價體積,并使用soft-argmax運算符為像素分配視差。視差預(yù)測器的輸出模塊在不同分辨率下生成K個視差圖。不確定性估計子網(wǎng)絡(luò)學(xué)習(xí)預(yù)測每個像素的觀測噪聲標量的對數(shù)誤差。為了計算不確定性圖像,作者提出了使用像素對差分向量(PDV)的多分辨率視差預(yù)測的新方法。視差估計器輸出的視差圖首先進行上采樣處理,然后進行成對差分以形成PVD。其中,PVD表示像素對之間的視差差異。
本文所使用的損失函數(shù)由兩部分組成:對數(shù)似然損失和KL散度損失。其中對數(shù)似然損失用于優(yōu)化誤差和不確定性,KL散度損失用于匹配不確定性分布和誤差??倱p失將所有視差和不確定性圖像考慮在內(nèi),上采樣到最高分辨率,并通過每個分辨率級別的系數(shù)對不同分辨率級別的對數(shù)似然損失和KL散度損失進行加權(quán)計算。
這部分作者介紹了多個用于立體圖像深度估計的數(shù)據(jù)集和評估指標。其中SceneFlow、Virtual KITTI 2和DrivingStereo是當前被廣泛使用的三個數(shù)據(jù)集。作者使用端點誤差(EPE)和異常值百分數(shù)(D1)來評估視差估計的準確度,并使用密度-EPE ROC曲線和曲線下的面積(AUC)來評估不確定性估計。本文還比較了SEDNet和三個基線:原始GwcNet、LAF-Net和僅使用對數(shù)似然損失的SEDNet。
作者在PyTorch中實現(xiàn)了所有網(wǎng)絡(luò),并對所有實驗使用了Adam優(yōu)化器,其中β1 = 0.9,β2 = 0.999。在所有模型過擬合之前停止訓(xùn)練。
在VK2數(shù)據(jù)集上的實驗是在兩個NVIDIA RTX A6000 GPU上執(zhí)行的,每個GPU都帶有48GB的RAM。對于此數(shù)據(jù)集,使用初始學(xué)習(xí)率為0.0001從頭訓(xùn)練了所有模型,在每10個epoch后降低了5個。在訓(xùn)練過程中,從圖像中隨機裁剪了512×256的補丁。在測試期間,在VK2的完整分辨率上評估。
歡迎關(guān)注微信公眾號「3D視覺工坊」,加群/文章投稿/課程主講,請加微信:dddvisiona,添加時請備注:加群/投稿/主講申請
方向主要包括:3D視覺領(lǐng)域各細分方向,比如相機標定|三維點云|三維重建|視覺/激光SLAM|感知|控制規(guī)劃|模型部署|3D目標檢測|TOF|多傳感器融合|AR|VR|編程基礎(chǔ)等。
對于DrivingStereo數(shù)據(jù)集(DS),坐這兒也在兩個NVIDIA RTX A6000 GPU上進行了實驗。對于此數(shù)據(jù)集,使用在VK2上預(yù)訓(xùn)練的模型進行了兩個實驗:(1)在DS訓(xùn)練集上進行微調(diào),學(xué)習(xí)率從0.0001開始,在第10個epoch后每3個epoch降低2次學(xué)習(xí)率,然后在DS測試集上進行領(lǐng)域內(nèi)評估;(2)跳過微調(diào)步驟,并在DS-Weather子集上進行跨域評估。在訓(xùn)練期間,作者隨機裁剪了與VK2實驗相同大小的輸入。在測試期間,作者對測試樣本進行了填充,使其分辨率與VK2相同。
在SceneFlow數(shù)據(jù)集上的實驗是在一臺具有24 GB內(nèi)存的Nvidia TITAN RTX GPU上進行的。作者從半分辨率圖像中裁剪了256×128的補丁來限制內(nèi)存消耗,并將初始學(xué)習(xí)率設(shè)置為0.001,在第10個epoch后每2個epoch降低2次學(xué)習(xí)率。
作者進行了視差估計和不確定性估計的定量和定性分析,并展示了針對不同實驗設(shè)置的SEDNet的性能優(yōu)于基線結(jié)果。使用自適應(yīng)閾值的內(nèi)點過濾器使模型在視差和不確定性估計方面表現(xiàn)更好。SEDNet還具有在極端天氣下預(yù)測視差的能力,不受糟糕照明和模糊影響。此外,作者還發(fā)現(xiàn)使用自適應(yīng)閾值進行內(nèi)點過濾可以提高網(wǎng)絡(luò)的性能。
作者提出的能夠更好匹配真實分布的視差估計和不確定性估計方法SEDNet,表明其在精度和魯棒性方面具有優(yōu)勢。在誤差分布匹配方面,通過比較APE的結(jié)果,驗證了SEDNet的匹配能力。
視差匹配網(wǎng)絡(luò)通常在合成數(shù)據(jù)上進行訓(xùn)練,并在目標域的少量真實數(shù)據(jù)上進行微調(diào),因為獲取帶有真實深度信息的真實數(shù)據(jù)成本高且難度大。在本節(jié)中,作者將VK2-S6和DS-Weather的實驗擴展到所有僅在合成數(shù)據(jù)上進行訓(xùn)練的方法在看不見的真實域上的泛化性能進行比較。
本文提出了一種新的視差和不確定性聯(lián)合評估的方法,其中關(guān)鍵思想是使用基于KLD散度的獨特損失函數(shù)來比較視差誤差和不確定性估計的分布情況,通過一種可微的直方圖方案實現(xiàn),同時引入了僅有190個參數(shù)的不確定性估計子網(wǎng)絡(luò)。實驗表明,該方法在視差和不確定性預(yù)測方面都取得了比較有效的結(jié)果。和GwcNet相比,即使基本上具有相同的容量和幾乎相同的架構(gòu),SEDNet在視差估計方面表現(xiàn)更好,這歸因于微小的不確定性估計子網(wǎng)絡(luò)。未來研究計劃將該方法同樣應(yīng)用于其他逐像素回歸任務(wù)。
該篇論文介紹了一種視差和不確定性聯(lián)合評估的方法SEDNet,提出了一種可微的直方圖方案來實現(xiàn)KL散度損失函數(shù),通過匹配視差誤差和不確定性分布來實現(xiàn)精確的不確定性估計。實驗表明,該方法在視差和不確定性預(yù)測方面都取得了有效的結(jié)果,并且在視差估計方面表現(xiàn)更好,相比于GwcNet,這歸因于微小的不確定性估計子網(wǎng)絡(luò)。該文章的主要貢獻是引入了一種新穎的不確定性估計子網(wǎng)絡(luò)和使用KL散度的損失函數(shù)來對比視差誤差和不確定性估計的分布情況。SEDNet的實現(xiàn)對于視覺和深度學(xué)習(xí)領(lǐng)域的研究也有一定的參考意義。
添加小助理微信dddvisiona, 即可加入「立體匹配」微信群(https://mp.weixin.qq.com/s/cYCcK7E46RZDa2Z2rMpLtw)。