論文閱讀-IGEV

文章目錄

  • 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 迭代以獲得令人滿意的性能。
APC和GEV效果對比

圖1-1 APC和GEV效果對比

本文提出的 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 迭代才能獲得優化的結果。
不同模型效果對比

圖1-2 不同模型效果對比

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 的更新運算符中,以進行迭代視差優化。

IGEV整體架構

圖2-1 IGEV整體架構

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,32CiC_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=481632 ,指導成本量激勵表示為:
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=0D?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=?rr?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_kdk? ,然后更新當前的視差
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}WRH×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=1N?γN?i∣∣di??dgt?1?(2-9)
其中,γ=0.9\gamma = 0.9γ=0.9

3 效果

IGEV在Sceneflow數據集上與不同模型的效果對比如下表3-1所示。
Scenflow數據集效果對比

表3-1 Scenflow數據集效果對比

IGEV在KITTI數據集上與不同模型的效果對比如下表3-2所示。
KITTI數據集效果對比

表3-2 KITTI數據集效果對比

參考文獻

[1] Iterative Geometry Encoding Volume for Stereo Matching

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93529.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93529.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93529.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[2025CVPR-圖象分類方向]SPARC:用于視覺語言模型中零樣本多標簽識別的分數提示和自適應融合

1. ?背景與問題定義? 視覺語言模型&#xff08;如CLIP&#xff09;在單標簽識別中表現出色&#xff0c;但在零樣本多標簽識別&#xff08;MLR&#xff09;任務中表現不佳。MLR要求模型識別圖像中多個對象&#xff08;例如&#xff0c;圖像包含“貓”和“沙發”&#xff09;&…

2025創始人IP如何破局?

內容持續更新卻無人點贊&#xff0c;課程精心打磨卻無人報名&#xff0c;直播賣力講解卻無人停留 —— 明明有內容、有經驗、有成果&#xff0c;卻始終難以打動用戶。問題的核心&#xff0c;或許在于你尚未打造出真正的 “創始人IP”。?一、創始人IP&#xff1a;不止標簽&…

告別配置混亂!Spring Boot 中 Properties 與 YAML 的深度解析與最佳實踐

一、Spring配置文件 1.1、什么是Spring配置 Spring配置指的是在Spring框架中定義和管理應用程序組件&#xff08;如Bean&#xff09;及其依賴關系的過程 作用&#xff1a; 配置文件主要用于解決硬編碼問題&#xff0c;它將可能變更的信息集中存放。程序啟動時&#xff0c;會從…

無人機噴灑系統技術要點與難點解析

一、 模塊運行方式1. 任務規劃與加載模塊&#xff1a;輸入&#xff1a;農田邊界、障礙物信息、作物類型、病蟲害信息、所需噴灑量、天氣條件。運行&#xff1a;利用地面站軟件或移動APP&#xff0c;規劃最優飛行路徑&#xff0c;設定飛行高度、速度、噴灑參數、作業區域。將規…

mongodb源代碼分析createCollection命令創建Collection流程分析

MongoDB 提供兩種方式創建集合&#xff1a;隱式創建 和 顯式創建。方式 1&#xff1a;隱式創建&#xff08;推薦&#xff09;當你向不存在的集合中插入文檔時&#xff0c;MongoDB 會自動創建該集合。示例在 db中隱式創建 users 集合&#xff1a;javascriptdb.users.insertOne({…

c++注意點(13)----設計模式(抽象工廠)

創建型模式抽象工廠模式&#xff08;Abstract Factory Pattern&#xff09;是一種創建型設計模式&#xff0c;它提供一個接口&#xff0c;用于創建一系列相關或相互依賴的對象&#xff0c;而無需指定它們具體的類。簡單說&#xff0c;它就像一個 "超級工廠"&#xff…

【大語言模型入門】—— Transformer 如何工作:Transformer 架構的詳細探索

Transformer 如何工作&#xff1a;Transformer 架構的詳細探索Transformer 如何工作&#xff1a;Transformer 架構的詳細探索什么是 Transformer&#xff1f;什么是 Transformer 模型&#xff1f;歷史背景從 RNN 模型&#xff08;如 LSTM&#xff09;到 Transformer 模型在 NLP…

iOS安全和逆向系列教程 第20篇:Objective-C運行時機制深度解析與Hook技術

iOS安全和逆向系列教程 第20篇:Objective-C運行時機制深度解析與Hook技術 引言 在上一篇文章中,我們深入學習了ARM64匯編語言的基礎知識,掌握了從寄存器操作到指令分析的完整技能體系。現在,我們將把這些底層知識與iOS應用的高層邏輯聯系起來,深入探討Objective-C運行時…

IDEA中全局搜索快捷鍵Ctrl+Shift+F為何失靈?探尋原因與修復指南

在軟件開發中&#xff0c;高效地查找和管理代碼是提升生產力的關鍵。IntelliJ IDEA&#xff0c;作為一款功能強大的集成開發環境&#xff08;IDE&#xff09;&#xff0c;提供了豐富的搜索功能&#xff0c;幫助開發者迅速定位代碼、資源、甚至是IDE功能本身。 在 IntelliJ IDE…

【學習筆記】Lean4 定理證明 ing

文章目錄概述Lean4 定理證明初探示例&#xff1a;證明 1 1 2示例&#xff1a;證明 2 * (x y) 2 * x 2 * yLean4 定理證明基礎命題與定理命題&#xff08;Proposition&#xff09;定理&#xff08;Theorem&#xff09;量詞策略概述 Lean證明是指在Lean環境中&#xff0c;通…

墨者:SQL注入漏洞測試(HTTP頭注入)

墨者學院&#xff1a;SQL注入漏洞測試(HTTP頭注入)&#x1f680; 1. 什么是HTTP頭注入&#xff1f;&#x1f50d; HTTP頭注入是指攻擊者通過篡改HTTP請求頭部的字段&#xff08;如User-Agent、Referer、Cookie、Host等&#xff09;&#xff0c;將惡意SQL代碼插入到后端數據庫查…

linux_前臺,后臺進程

*在用戶訪問端口時&#xff0c;操作系統會形成對應的session,在其的內部進一步形成bash等進程 *一個會話只有一個前臺進程&#xff0c;可以有多個后臺進程&#xff0c;前臺與后臺進程的區別在于誰擁有鍵盤的使用權*前臺與后臺進程都可以訪問顯示器但是后臺無法訪問標準輸入獲取…

spring data mongodb 入門使用手冊

<!--pom.xml引入依賴--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>文檔映射類Student.java import lombok.Data; import lombok.NoArgsCons…

Fastjson2常用操作大全:對象、字符串、集合、數組、Map與JSON互轉實戰

高性能&#xff1a; 核心解析器和生成器經過深度優化&#xff0c;性能遠超許多同類庫。 功能豐富&#xff1a; 支持標準JSON、JSONPath查詢、泛型處理、日期格式化、自定義序列化/反序列化等。 易用性&#xff1a; API 設計簡潔直觀&#xff0c;JSON 工具類提供了最常用的 toJS…

大模型——字節Coze重磅開源!Dify何去何從

大模型——字節Coze重磅開源!Dify何去何從 想必很多人盼了很久,就在昨晚,字節Coze終于開源了!Coze Studio 是字節跳動新一代 AI Agent 開發平臺扣子(Coze)的開源版本。 提供 AI Agent 開發所需的全部核心技術:Prompt、RAG、Plugin、Workflow,使得開發者可以聚焦創造 A…

NaVid——基于單目RGB捕獲的視頻讓VLM規劃「連續環境中VLN」的下一步:無需地圖/里程計/深度信息(含MP3D/R2R/RxR,及VLN-CE的詳解)

前言 因為我司「七月在線」準備于25年7月底復現下NaVILA&#xff0c;而在研究NaVILA的過程中&#xff0c;注意到了這個NaVid 雖然NaVid目前已經不是VLN sota了&#xff0c;但其首次展示了VLM在無需地圖、里程計或深度輸入的情況下&#xff0c;能夠實現優秀的導航性能且對后來…

【Vue2】結合chrome與element-ui的網頁端條碼打印

所有文章都是免費查看的&#xff0c;如果有無法查看的情況&#xff0c;煩請聯系我修改哈~ 序言 為什么要做這個呢&#xff1f;因為所需要的條碼打印功能比較簡單&#xff0c;符合需要即可&#xff0c;但是呢網上查看了發現并沒有合適的開源項&#xff0c;其他成熟的軟件收費又超…

循環神經網絡——動手學深度學習7

環境&#xff1a;PyCharm python3.8 &#x1f449;【循環神經網絡】(recurrent neural network&#xff0c;RNN) RNN通過 引入狀態變量存儲過去的信息和當前的輸入&#xff0c;從而可以確定當前的輸出。狀態變量捕捉序列的時序依賴&#xff0c;是處理文本、時間序列等數據的…

Java面試寶典:MySQL8新特性底層原理

一、降序索引的革新 1.1 降序索引的核心概念 MySQL 8.0 實現了真正的降序索引(Descending Index) 支持,這是數據庫引擎層面的重大改進: 存儲引擎支持:僅 InnoDB 存儲引擎支持降序索引,且僅適用于 B+Tree 索引結構 語法顯式聲明:通過 DESC 關鍵字顯式指定字段的排序方向…

前端-html+CSS基礎到高級(三)html基礎和開發工具

一、html語法規范什么是注釋?在同學上課學習時&#xff0c;我們會在書本段落間記錄內容的注解&#xff0c;方便下次看到此處理解。問題&#xff1a;我們在書本段落間記錄下的注解是為了給誰看的&#xff1f; 下次的閱讀課本者&#xff08;自己&#xff09;。程序員在寫代碼時也…