论文阅读-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,4fr,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_lIlIrI_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/Ng1<fl,4g(x,y),fr,4g(xd,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)Cii=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=0D1d×Softmax(CG(d))(2-4)
然后从 d0d_0d0 开始,使用三个级别的 ConvGRU 来迭代更新视差(如图2-1所示)。这种设置有助于迭代视差优化的快速收敛。三个级别的 ConvGRU 的隐藏状态是从多尺度上下文特征初始化的。

对于每次迭代,使用当前的视差 dkd_kdk 通过线性插值从组合的几何编码体中进行索引,从而产生一组几何特征GfG_fGfGfG_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=rrConcat{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}hk1 更新
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} xkzkrkhkhk=[Encoderg(Gf),Encoderd(dk),dk]=σ(Conv([hk1,xk],Wz)+ck),=σ(Conv([hk1,xk],Wr)+cr),=tanh(Conv([rkhk1,xk],Wh)+ch),=(1zk)hk1+zkhk(2-6)
其中 ckc_kckcrc_rcrchc_hch 是从上下文网络生成的上下文特征。ConvGRU 处于隐藏状态的 Channel 数为 128,Context 功能的 Channel 数也是 128。EncodergEncoder_gEncodergEncoderdEncoder_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(d0dgt)(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γNi∣∣didgt1(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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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;。程序员在写代码时也…