文章目錄
- 1 概述
- 2 模塊
- 2.1 總體說明
- 2.2 特征抽取器
- 2.3 CGEV
- 2.4 基于Conv-GRU的更新算子
- 2.5 空間上采樣
- 2.6 損失函數
- 3 效果
- 參考文獻
1 概述
在雙目深度估計中,有一類是基于3D卷積的方法,代表就是PSMNet,它應用 3D 卷積編碼器-解碼器來聚合和正則化 4D 代價體,然后使用 soft argmin 從正則化代價體中回歸視差圖。這種基于 4D 成本體積濾波的方法可以有效地探索立體幾何信息,并在多個基準測試中實現令人印象深刻的性能。但是,它通常需要大量的 3D 卷積來進行成本聚合和正則化,進而產生高昂的計算和內存成本。因此,它幾乎不能應用于高分辨率圖像和/或大尺度場景。
另一類是基于迭代的方法,代表就是RAFT-Stereo ,它利用多級卷積門控循環單元 (ConvGRU) 使用從全對相關性 (all-pairs correlations) 中檢索到的局部成本值來循環更新視差。
然而,如果沒有成本聚合,原始成本量缺乏非局部幾何和上下文信息,見圖1-1(b)。因此,現有的迭代方法難以解決不適定區域中的局部歧義,例如遮擋、無紋理區域和重復結構。盡管基于 ConvGRU 的更新器可以通過整合來自上下文特征和隱藏鋪層的上下文和幾何信息來改善預測的視差,但原始相關體的這種限制極大地限制了每次迭代的有效性,進而需要大量的 ConvGRU 迭代以獲得令人滿意的性能。
本文提出的 IGEV-Stereo 在準確性和效率方面都優于 RAFT-Stereo。性能提升來自兩個方面:
(1)提出了CGEV模塊。本文的 CGEV 為 ConvGRU 提供了更全面而簡潔的信息進行更新,從而在每次迭代中產生更有效的優化,從而可以顯著減少 ConvGRU 迭代的數量。如圖1-2所示,本文的方法僅使用 3 次 ConvGRU 迭代(即EPE=0.58,100 毫秒用于推理)就實現了比使用 32 次 ConvGRUs 迭代的 RAFT-Stereo 更小的 EPE(即 EPE=0.61,440 毫秒用于推理)。
(2)本文的方法通過 soft argmin 從 GEV 回歸初始視差圖,這可以為基于 ConvGRU 的更新算子提供準確的起點,進而產生快速收斂。相比之下,RAFT-Stereo 從初始起點 d0=0d_0=0d0?=0 開始視差預測,這需要大量的 ConvGRUs 迭代才能獲得優化的結果。
2 模塊
2.1 總體說明
作者聲稱基于代價過濾的方法和基于迭代優化的方法具有互補的優點和局限性。前者可以在代價體中編碼足夠的非局部幾何和上下文信息,這對于視差預測至關重要,尤其是在具有挑戰性的區域。后者可以避免 3D 成本聚合的高計算和內存成本,但在僅基于全對相關性的不適定區域中功能較差。
為了結合兩種方法的互補優勢,作者提出了迭代幾何編碼體 (IGEV-Stereo),這是一種立體匹配的新范式,如圖2-1所示。整個IGEV由一個多尺度特征提取器、一個組合幾何編碼體、一個基于 ConvGRU 的更新算子和一個空間上采樣模塊組成。
為了解決不適定區域引起的歧義,作者通過使用極輕量級的 3D 正則化網絡聚合和正則化代價體來計算幾何編碼體積 (GEV)。與 RAFT-Stereo 的全對相關性相比,本文的 GEV 在聚合后編碼了更多的幾何圖形和場景上下文,如圖1-1?所示。GEV 的一個潛在問題是,由于 3D 正則化網絡,它可能會在邊界和微小細節處出現過度平滑。為了補充局部相關性,作者將 GEV 和 全對相關性(all-pairs correlations)組合在一起,形成一個組合幾何編碼體 (CGEV),并將 CGEV 輸入到基于 ConvGRU 的更新運算符中,以進行迭代視差優化。
2.2 特征抽取器
特征提取器包含兩部分:
1) 特征網絡
提取多尺度特征用于代價體構建和代價聚合指導。
給定左和右圖 Il(r)∈R3×H×WI_{l(r)}∈R^{3×H×W}Il(r)?∈R3×H×W ,首先應用在 ImageNet 上預訓練的 MobileNetV2 將 Il(r)I_{l(r)}Il(r)? 縮小到原始大小的 1/321/321/32 ,然后使用帶有跳躍連接的上采樣塊將它們恢復到 1/4 的比例,從而產生多尺度特征 {fl,i(fr,i)∈RCi×H/i×W/i}\{f_{l,i}(f_{r,i})∈R^{C_i×H/i×W/i}\}{fl,i?(fr,i?)∈RCi?×H/i×W/i} ,其中i=4,8,16,32i=4, 8, 16, 32i=4,8,16,32 且 CiC_iCi? 為特征通道。
fl,4f_{l,4}fl,4? 和 fr,4f_{r,4}fr,4? 用于構造代價體。fl,i(i=4,8,16,32)f_{l, i}(i=4, 8, 16, 32)fl,i?(i=4,8,16,32) 用作 3D 正則化網絡的指導。
2) 上下文網絡
提取多尺度上下文特征,用于 ConvGRU 的隱藏狀態初始化和更新。
遵循RAFT-Stereo ,上下文網絡由一系列殘差塊和下采樣層組成,以 128 個通道在輸入圖像分辨率的 1/4、1/8 和 1/16 下產生多尺度上下文特征。多尺度上下文功能用于初始化 ConvGRU 的隱藏狀態,并在每次迭代時插入到 ConvGRU 中。
2.3 CGEV
給定從 IlI_lIl? 和 IrI_rIr? 中提取的左側特征 fl,4f_{l,4}fl,4? 和右側特征 fr,4f_{r,4}fr,4? ,作者構建了一個分組相關體,該體沿通道維度將特征fl,4f_{l,4}fl,4?( fr,4f_{r,4}fr,4?)拆分為 NgN_gNg? (Ng=8N_g=8Ng?=8) 組,并逐組計算相關圖
Ccorr(g,d,x,y)=1Nc/Ng<fl,4g(x,y),fr,4g(x?d,y)>(2-1)C_{corr}(g,d,x,y) = \frac{1}{N_c/N_g} <f^g_{l, 4}(x, y), f^g_{r,4}(x-d, y)> \tag{2-1} Ccorr?(g,d,x,y)=Nc?/Ng?1?<fl,4g?(x,y),fr,4g?(x?d,y)>(2-1)
其中 ??,???·, ·???,?? 是內積,d 是視差序號, NcN_cNc? 表示特征通道數。僅基于特征相關性的代價體 CcorrC_{corr}Ccorr? 無法捕獲全局幾何結構。為了解決這個問題,使用輕量級 3D 正則化網絡 R 進一步處理CcorrC_{corr}Ccorr? ,以獲得幾何編碼體積 CGC_GCG?
CG=R(Ccorr)(2-2)C_G = R(C_{corr}) \tag{2-2} CG?=R(Ccorr?)(2-2)
3D 正則化網絡 R 基于輕量級 3D UNet,該 UNet 由三個下采樣塊和三個上采樣塊組成。每個下采樣塊由兩個 3 × 3 ×3 的 3D 卷積組成。三個下采樣模塊的通道數分別為 16、32、48。每個上采樣塊由一個 4 × 4 × 4 的 3D 轉置卷積和兩個 3 × 3 × 3的 3D 卷積組成。作者遵循 CoEx,它使用從左圖特征計算的權重來激發代價體通道以進行代價聚合。對于代價聚合中的 D/i×H/i×W/iD/i × H/i × W/iD/i×H/i×W/i 代價體 Ci(i=4、8、16、32)C_i(i=4、8、16、32)Ci?(i=4、8、16、32) ,指導成本量激勵表示為:
Ci′=σ(fl,i)⊙Ci(2-3)C'_i = \sigma(f_{l, i}) ⊙ C_i \tag{2-3} Ci′?=σ(fl,i?)⊙Ci?(2-3)
其中 σ 是 sigmoid 函數,⊙ 表示 Hadamard 乘積。3D 正則化網絡插入引導成本體積激勵操作,可以有效地推斷和傳播場景幾何信息,從而產生幾何編碼體積。作者還計算了相應的左特征和右特征之間的全對相關性,以獲得局部特征相關性。
通過看代碼,式2-3包括在3D正則化網絡內部。
https://github.com/gangweiX/IGEV/blob/main/IGEV-Stereo/core/igev_stereo.py#L171
https://github.com/gangweiX/IGEV/blob/main/IGEV-Stereo/core/igev_stereo.py#L69
https://github.com/gangweiX/IGEV/blob/main/IGEV-Stereo/core/submodule.py#L226
為了增加感受野,作者使用 1D 平均池化將視差維度匯集在一起,內核大小為 2,步幅為 2,形成兩級 CGC_GCG? 金字塔和全對相關體 CAC_ACA? 金字塔。然后,將 CGC_GCG? 金字塔和 CAC_ACA? 金字塔組合起來,形成一個組合的幾何編碼體。
2.4 基于Conv-GRU的更新算子
作者應用 soft argmin 根據式2-4從幾何編碼體 CGC_GCG? 回歸初始起始視差d0d_0d0?。
d0=∑d=0D?1d×Softmax(CG(d))(2-4)d_0 = \sum_{d=0}^{D-1} d \times Softmax(C_G(d)) \tag{2-4} d0?=d=0∑D?1?d×Softmax(CG?(d))(2-4)
然后從 d0d_0d0? 開始,使用三個級別的 ConvGRU 來迭代更新視差(如圖2-1所示)。這種設置有助于迭代視差優化的快速收斂。三個級別的 ConvGRU 的隱藏狀態是從多尺度上下文特征初始化的。
對于每次迭代,使用當前的視差 dkd_kdk? 通過線性插值從組合的幾何編碼體中進行索引,從而產生一組幾何特征GfG_fGf? 。GfG_fGf?的計算公式為
Gf=∑i=?rrConcat{CG(dk+i),CA(dk+i),CGp(dk/2),CAp(dk/2+i)}(2-5)G_f = \sum_{i = -r}^r Concat\{ C_G(d_k + i), C_A(d_k+i), C_G^p(d_k / 2), C_A^p(d_k/2 + i) \} \tag{2-5} Gf?=i=?r∑r?Concat{CG?(dk?+i),CA?(dk?+i),CGp?(dk?/2),CAp?(dk?/2+i)}(2-5)
其中 dkd_kdk? 是當前視差,rrr 是索引半徑,ppp 表示池化操作。幾何特征和當前視差預測 dkd_kdk? 通過兩個編碼器層,然后與 dkd_kdk? 連接形成 xkx_kxk? 。然后使用 ConvGRU 將隱藏狀態 hk?1h_{k?1}hk?1? 更新
xk=[Encoderg(Gf),Encoderd(dk),dk]zk=σ(Conv([hk?1,xk],Wz)+ck),rk=σ(Conv([hk?1,xk],Wr)+cr),h~k=tanh(Conv([rk⊙hk?1,xk],Wh)+ch),hk=(1?zk)⊙hk?1+zk⊙h~k(2-6)\begin{aligned} x_k &= [Encoder_g(G_f), Encoder_d(d_k), d_k] \\ z_k &= \sigma(Conv([h_{k-1}, x_k], W_z) + c_k), \\ r_k &= \sigma(Conv([h_{k-1}, x_k], W_r) + c_r), \\ \widetilde{h}_k &= tanh(Conv([r_k ⊙ h_{k-1}, x_k], W_h) + c_h), \\ h_k &= (1-z_k) ⊙ h_{k-1} + z_k ⊙ \widetilde{h}_k \end{aligned} \tag{2-6} xk?zk?rk?hk?hk??=[Encoderg?(Gf?),Encoderd?(dk?),dk?]=σ(Conv([hk?1?,xk?],Wz?)+ck?),=σ(Conv([hk?1?,xk?],Wr?)+cr?),=tanh(Conv([rk?⊙hk?1?,xk?],Wh?)+ch?),=(1?zk?)⊙hk?1?+zk?⊙hk??(2-6)
其中 ckc_kck? 、crc_rcr? 、chc_hch? 是從上下文網絡生成的上下文特征。ConvGRU 處于隱藏狀態的 Channel 數為 128,Context 功能的 Channel 數也是 128。EncodergEncoder_gEncoderg? 和 EncoderdEncoder_dEncoderd? 分別由兩個卷積層組成。基于隱藏狀態 hkh_khk?,通過兩個卷積層解碼一個殘差 △dk△d_k△dk? ,然后更新當前的視差
dk+1=dk+Δdk(2-7)d_{k+1} = d_k + \Delta d_k \tag{2-7} dk+1?=dk?+Δdk?(2-7)
2.5 空間上采樣
作者通過預測的視差 dkd_kdk? 的加權組合以 1/4 分辨率輸出全分辨率視差圖。與以 1/4 分辨率從隱藏狀態 hkh_khk? 預測權重的 RAFT-Stereo 不同,作者利用更高分辨率的上下文特征來獲得權重。本文卷積隱藏狀態以生成特征,然后將它們上采樣到 1/2 分辨率。上采樣的特征與左圖中的 fl,2f_{l,2}fl,2? 連接,以產生權重 W∈RH×W×9W∈R^{H×W×9}W∈RH×W×9。作者通過它們的粗分辨率鄰居的加權組合來輸出全分辨率視差圖。
2.6 損失函數
本文計算從 GEV 回歸的初始視差 d0d_0d0? 的平滑 L1 損失
Linit=SmoothL1(d0?dgt)(2-8)L_{init} = Smooth_{L_1}(d_0 - d_{gt}) \tag{2-8} Linit?=SmoothL1??(d0??dgt?)(2-8)
作者計算所有更新的差異 {di}i=1N\{d_i\}^N_{i=1}{di?}i=1N? 的 L1 損失。并以指數方式增加權重,總損失定義為
Lstereo=Linit+∑i=1NγN?i∣∣di?dgt∣∣1(2-9)L_{stereo} = L_{init} + \sum_{i=1}^N \gamma^{N - i} || d_i - d_{gt} ||_1 \tag{2-9} Lstereo?=Linit?+i=1∑N?γN?i∣∣di??dgt?∣∣1?(2-9)
其中,γ=0.9\gamma = 0.9γ=0.9。
3 效果
IGEV在Sceneflow數據集上與不同模型的效果對比如下表3-1所示。
IGEV在KITTI數據集上與不同模型的效果對比如下表3-2所示。
參考文獻
[1] Iterative Geometry Encoding Volume for Stereo Matching