持續(xù)在榜的RAFT-Stereo,你確定不來了解嗎?
論文題目:RAFT-Stereo: Multilevel Recurrent Field Transforms for Stereo Matching
作者:Lahav Lipson ;Zachary Teed; Jia Deng等人
作者機(jī)構(gòu):Princeton University(普林斯頓大學(xué))
項目代碼:https://github.com/princeton-vl/RAFT-Stereo(論文中提到的開源代碼,用的是Pytorch框架)
1 前言RAFT-Stereo是一種用于立體匹配的算法,它使用多層循環(huán)場變換(Multilevel Recurrent Field Transforms)來精確定位左右兩幅圖像中的對應(yīng)點。它包括一個RAFT網(wǎng)絡(luò)和一個立體匹配分支,能夠幫助解決深度估計中的一些挑戰(zhàn),如紋理缺失、遮擋和低紋理等問題。RAFT-Stereo能夠有效地利用循環(huán)場變換來捕捉像素之間的長程依賴性,從而提高立體匹配的準(zhǔn)確性。其次,它還使用了多個尺度和不同的分辨率,使算法對多尺度立體匹配具有良好的適應(yīng)性。此外,RAFT-Stereo算法還采用了門控循環(huán)單元(GRU)來進(jìn)一步提高處理速度??偟膩碚f,RAFT-Stereo是一種有潛力的立體匹配算法,能夠在多種深度估計應(yīng)用中發(fā)揮作用。RAFT-Stereo也是作為middleburry排行榜中前五名中,唯一一個2021年就提出的算法,持續(xù)至今依然名列前茅。
立體深度估計是一個基本的視覺問題,應(yīng)用范圍廣泛。早期的研究集中在特征匹配和正則化兩個關(guān)鍵部分。在處理中使用3D卷積神經(jīng)網(wǎng)絡(luò)計算代價體是主流方法,但代價較大,需要特殊方法才能操作高分辨率的圖像。而光流問題則通常使用迭代精化的方法。光流和矯正立體鏡頭是緊密相關(guān)的問題,但兩個任務(wù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)卻有很大差異。這里,作者提出了RAFT-Stereo,一種新的雙視立體結(jié)構(gòu)體系,利用了RAFT特有的3D體積和迭代細(xì)化法。RAFT-Stereo僅使用2D卷積和一個輕量級的成本體積,相比之前的立體網(wǎng)絡(luò),具有更好的泛化能力且不需要復(fù)雜的損失項。RAFT-Stereo在KITTI、ETH3D和Middlebury等真實數(shù)據(jù)集上表現(xiàn)非常出色,且具有更好的跨數(shù)據(jù)集泛化能力。
2 相關(guān)背景在計算機(jī)視覺領(lǐng)域,立體匹配一直是一個關(guān)鍵性的問題,早期方法集中在設(shè)計更好的匹配成本和高效的推斷算法上,而深度學(xué)習(xí)被應(yīng)用于改進(jìn)立體匹配的成本函數(shù)。目前的方法更注重于端到端可訓(xùn)練的3D神經(jīng)網(wǎng)絡(luò)架構(gòu),該架構(gòu)包括用于從圖像塊計算成本的2D卷積網(wǎng)絡(luò),構(gòu)建3D成本體,以及3D卷積層用于處理該成本體。這些方法在一些數(shù)據(jù)集上表現(xiàn)出色,但3D卷積的計算成本很高,往往不能泛化到其被訓(xùn)練的領(lǐng)域之外。因此,盡管一些努力已經(jīng)集中在提高它們的泛化能力上,但許多工作仍然需要通過替換更輕量級的模塊來提高計算效率。RAFT-Stereo是一種內(nèi)存效率更高的算法,能夠在百萬像素圖像上預(yù)測全分辨率的立體。
3 方法給定一對矯正后的圖像(IL, IR),目標(biāo)是估計一個視差場d,使每個IL中的像素都有水平的位移。與RAFT類似,RAFT-Stereo的方法由三個主要組件組成:特征提取器、相關(guān)金字塔和基于GRU的更新運(yùn)算符,如圖1所示。更新運(yùn)算符迭代地從相關(guān)金字塔中檢索特征并對視差場進(jìn)行更新。
3.1 Feature Extraction - 特征提取作者介紹了一種基于特征編碼器和上下文編碼器的特征提取方法。特征編碼器應(yīng)用于左右圖像并生成密集的特征圖,用于構(gòu)造相關(guān)體積。上下文編碼器與特征編碼器結(jié)構(gòu)相同,但采用批量歸一化替代實例歸一化,僅在左圖像上應(yīng)用。在作者的方法中,上下文特征用于初始化更新運(yùn)算符的隱藏狀態(tài),并在每次迭代中注入GRU。
3.2 Correlation Pyramid - 相關(guān)金字塔作者提出了相關(guān)金字塔,用于提高矯正立體視覺的精度和魯棒性。相關(guān)體積基于特征向量之間的點積,用于計算圖像之間的相似性;相關(guān)金字塔通過對最后一個維度進(jìn)行平均池化構(gòu)建,它具有增加的接受野,但僅通過對最后一個維度進(jìn)行池化,可以保留原始圖像中的高分辨率信息,從而允許恢復(fù)非常細(xì)微的結(jié)構(gòu);為了從相關(guān)金字塔中檢索像素,作者使用相關(guān)查找算法,它利用一個類似于 RAFT 中定義的查找算子和線性插值來實現(xiàn)檢索。該方法具有高效性和魯棒性,并且易于實現(xiàn)。
3.3 Multi-Level Update Operator - 多級更新運(yùn)算符作者從一個初始的起點d0 = 0開始預(yù)測一系列視差場{d1、…、dN}。在每次迭代中,作者使用目前的視差估計來索引相關(guān)體積,產(chǎn)生一組相關(guān)特征。這些特征經(jīng)過了2個卷積層。同樣地,目前的視差估計也經(jīng)過了2個卷積層。然后將相關(guān)特征、視差和上下文特征連接起來并注入到GRU中。GRU更新隱藏狀態(tài),新的隱藏狀態(tài)然后用于預(yù)測視差更新。
多個隱藏狀態(tài):原始的RAFT完全在固定的高分辨率上進(jìn)行更新。這種方法的一個問題是,隨著GRU更新次數(shù)的增加,接受域的增加非常緩慢。這可能對紋理較大、局部信息較少的場景有影響。作者通過提出一個同時在1/8、1/16和1/32分辨率上操作特征映射的多分辨率更新運(yùn)算符來解決這個問題。
上采樣:預(yù)測的視差場分辨率為輸入圖像的1/4或1/8。為了輸出全分辨率的視差圖,作者使用了和RAFT相同的凸上采樣方法。RAFT-Stereo將全分辨率的視差值視為其粗略分辨率鄰居3x3網(wǎng)格的凸組合。最高分辨率的GRU預(yù)測凸組合權(quán)重。
3.4 Slow-Fast GRU - Slow-Fast遞歸神經(jīng)網(wǎng)絡(luò)模型在這個部分中,作者介紹了Slow-Fast GRU的方法,針對隱藏狀態(tài)的1/8分辨率進(jìn)行GRU更新所需的FLOPs大約是更新1/16分辨率隱藏狀態(tài)的4倍。為了加快推理速度,在RAFT-Stereo的一個版本中,每次更新1/8分辨率的隱藏狀態(tài)時都會多次更新1/16分辨率和1/32分辨率的隱藏狀態(tài)。這種修改將運(yùn)行時間降低了52%,但是不顯著降低性能,使得RAFT-Stereo能夠在實時運(yùn)行中得到高效的計算結(jié)果。
3.5 Supervision - 監(jiān)督在整個預(yù)測序列中,作者監(jiān)督預(yù)測和地面真相差距之間的距離l1, {d1,…, dN},權(quán)值呈指數(shù)增長。給定地真差dgt,損失定義為:
4 實驗4.1 數(shù)據(jù)集和評估指標(biāo)作者在ETH3D、Middlebury 和KITTI-2015上評估了RAFT-Stereo的性能。遵循以前的工作,使用合成Sceneflow數(shù)據(jù)集對模型進(jìn)行預(yù)訓(xùn)練。在ETH3D和Middlebury的排行榜上,RAFT-Stereo取得了較為先進(jìn)的性能,并且RAFT-Stereo在ETH3D、KITTI和Middlebury的零樣本泛化設(shè)置中優(yōu)于其他的方法。
4.2 實施細(xì)節(jié)RAFT-Stereo使用Pytorch實現(xiàn),并使用兩個RTX 6000 GPU進(jìn)行訓(xùn)練。所有模塊都從頭開始隨機(jī)初始化。在訓(xùn)練期間,使用AdamW優(yōu)化器。在訓(xùn)練計劃中進(jìn)行32次視差場更新后評估RAFT-Stereo:最終模型使用批量大小為8的合成數(shù)據(jù)進(jìn)行200k步的訓(xùn)練,而去除實驗使用批量大小為6進(jìn)行100k步的訓(xùn)練。在訓(xùn)練過程中運(yùn)行消融實驗,使用16個視差場更新,最終結(jié)果使用22個更新進(jìn)行訓(xùn)練。作者使用一個單周期學(xué)習(xí)率計劃,學(xué)習(xí)率最小值為。所有RAFT-Stereo實驗都在隨機(jī)選擇的360x720裁剪上進(jìn)行訓(xùn)練(不包括基準(zhǔn)提交),所有實驗,除了消融實驗外,都使用數(shù)據(jù)增強(qiáng)。具體來說:圖像飽和度在0(灰度)和1.4之間調(diào)整;右圖被擾動以模擬常見于ETH3D和Middlebury等數(shù)據(jù)集中的不完美矯正;作者通過在范圍內(nèi)使用隨機(jī)因子來拉伸圖像和視差,以模擬一系列可能的視差分布。
4.3 Ablations - 消融RAFT-Stereo使用了多個隱藏狀態(tài)和單獨的backbone來提高性能。在運(yùn)行時間和內(nèi)存使用方面做了權(quán)衡,并通過簡化成本體積和Slow-Fast技術(shù)進(jìn)一步加快了運(yùn)行時間。在視差估計上保持更高的分辨率可以提高性能,但會增加運(yùn)行時間和內(nèi)存使用。最優(yōu)分辨率視場大小的選擇需要在準(zhǔn)確性和計算代價之間進(jìn)行權(quán)衡。
4.4 Real-time Inferences - 實時推理RAFT-Stereo在KITTI分辨率下可實現(xiàn)實時推理,可與DSMNet相媲美。Slow-Fast雙級GRU和單個backbone的使用是實現(xiàn)實時推理的關(guān)鍵。RAFT-Stereo實現(xiàn)的雙線性采樣器可以進(jìn)一步優(yōu)化成像質(zhì)量。
5 總結(jié)RAFT-Stereo利用多級GRUs擴(kuò)展了RAFT,實現(xiàn)了雙視圖立體結(jié)構(gòu)。它在跨數(shù)據(jù)集上的表現(xiàn)達(dá)到了先進(jìn)水平,并且在Middlebury基準(zhǔn)測試中排名持續(xù)位列前五,在ETH3D上表現(xiàn)也非常優(yōu)秀。
RAFT-Stereo是一種基于RAFT的深度圖估計算法。是一種稠密光流算法,能夠在輸入圖像之間估計像素之間的運(yùn)動。RAFT-Stereo的主要思想是將光流作為控制變量來解決輸入圖像的深度圖估計問題。該算法在流形空間中優(yōu)化存儲著光流場和深度圖的全局能量函數(shù)。這種方法既可以考慮全局的能量函數(shù),又可以在局部優(yōu)化,具有高準(zhǔn)確性和穩(wěn)定性。
相比傳統(tǒng)的基于視差的立體匹配算法,RAFT-Stereo在場景中具有更高的魯棒性和魯棒性。此外,RAFT-Stereo還支持在多GPU上進(jìn)行訓(xùn)練和推理,并且速度非???。總之,RAFT-Stereo是一種強(qiáng)大的深度估計算法,具有高準(zhǔn)確性和魯棒性。它可以用于許多應(yīng)用程序,例如3D場景重建、自動駕駛汽車、虛擬現(xiàn)實和增強(qiáng)現(xiàn)實等。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。