【论文阅读】CVPR2023 IGEV-Stereo

2023-11-05 03:20

本文主要是介绍【论文阅读】CVPR2023 IGEV-Stereo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用于立体匹配的迭代几何编码代价体

【cvhub导读】【paper】【code_openi】

代码是启智社区的镜像仓库,不需要魔法,点击这里注册

🚀贡献

1️⃣现有主流方法

基于代价滤波的方法基于迭代优化的方法

  • 基于代价滤波的方法可以在cost volume中编码足够的非局部几何和上下文信息,这对于具有挑战性的区域中的视差预测至关重要。

  • 基于迭代优化的方法可以避免进行3D代价聚合所需的高计算和内存成本,但是仅基于All-pairs Correlations的方法在病态区域(如遮挡、重复纹理、低纹理、高反等区域)的能力较弱。

2️⃣本文贡献

思想:结合这两种方法的互补优势,提出一种新的立体匹配范式——迭代几何编码代价体(IGEV)

  • 解决病态区域引起的模糊性问题:使用一个极轻量级的3D正则化网络对cost volume进行聚合和正则化,得到一个几何编码体(GEV),与RAFT-Stereo的All-pairs Correlations相比,GEV在聚合后编码了更多的场景几何和上下文信息。

  • 解决边界和微小细节处出现过度平滑的情况将GEV和RAFT中的All-pairs Correlations相结合,形成了组合几何编码体 (Combined Geometry Encoding Volume, CGEV),并输入到 ConvGRU-based update operator 中进行迭代视差图优化。

⚛️方法

1️⃣整体架构

在这里插入图片描述

IGEV-Stereo由四部分组成:

  • 多尺度特征提取器 (Multi-Scale Feature Extractor)

  • 组合几何编码代价体 (Combined Geometry Encoding Volume)

  • 基于ConvGRU的迭代更新器 (ConvGRU-based Update Operator)

  • 空间上采样模块 (Spatial Upsampling Module)

2️⃣特征提取器

特征提取网络上下文提取网络

特征提取网络

提取多尺度特征用于cost volume构建和指导代价聚合,论文使用在ImageNet上预训练的MobileNet V2将输入图降采样到1/32,然后通过上采样得到多尺度特征:

{ f l , i ( f r , i ) ∈ R C i × H i × W i ( i = 4 , 8 , 16 , 32 ) \{\boldsymbol{f}_{l,i}(\boldsymbol{f}_{r,i}) \in \mathbb{R}^{C_i\times\frac{H}{i}\times\frac{W}{i}}(i=4,8,16,32) {fl,i(fr,i)RCi×iH×iW(i=4,8,16,32)

f l , 4 \boldsymbol{f}_{l,4} fl,4 f r , 4 \boldsymbol{f}_{r,4} fr,4用于构建代价体

上下文提取器

提取多尺度上下文特征用于ConvGRUs隐藏状态初始化和更新,同RAFT-Stereo一样,上下文网络由一系列残差块和下采样层组成,在输入128个通道图像分辨率的1/4、1/8和1/16处产生多尺度上下文特征。多尺度上下文特征用于初始化基于ConvGRU的更新操作符的隐藏状态,并在每次迭代时插入到ConvGRU中。

3️⃣组合几何编码代价体

CGEV = GEV + APC

GEV几何编码代价体
  • 构建分组相关代价体:将 f l , 4 \boldsymbol{f}_{l,4} fl,4 f r , 4 \boldsymbol{f}_{r,4} fr,4按照通道维度分成 N g = 8 N_g=8 Ng=8组,并计算各组的相关映射,形成一个4维的相关代价体:

C c o r r ( g , d , x , y ) = 1 N c / N g ⟨ f l , 4 g ( x , y ) , f r , 4 g ( x − d , y ) ⟩ \boldsymbol{C}_{corr}(g,d,x,y)=\frac{1}{N_c/N_g}\langle \boldsymbol{f}_{l,4}^{g}(x,y),\boldsymbol{f}_{r,4}^{g}(x-d,y)\rangle Ccorr(g,d,x,y)=Nc/Ng1fl,4g(x,y),fr,4g(xd,y)⟩

⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ,为向量内积;d为视差索引; N c N_c Nc为通道数; C c o r r \boldsymbol{C}_{corr} Ccorr仅使用特征相关性构建,缺乏全局几何信息,需要进行代价聚合

  • 轻量3D正则化网络 R \boldsymbol{R} R进行代价聚合

C G = R ( C c o r r ) \boldsymbol{C}_G=\boldsymbol{R}(\boldsymbol{C}_{corr}) CG=R(Ccorr)

正则化网络基于3D UNet,包含3个下采样模块和3个上采样模块,下采样模块包含两个 3 × 3 × 3 3\times3\times3 3×3×3的3D卷积,通道数分别为16,32,48,上采样模块包含一个 4 × 4 × 4 4\times4\times4 4×4×4的转置卷积和两个 3 × 3 × 3 3\times3\times3 3×3×3的3D卷积。

  • 参考CoEx,在3D正则化网络中插入引导代价体激励操作:在代价聚合过程中,对于一个 D i × H i × W i \frac{D}{i}\times\frac{H}{i}\times\frac{W}{i} iD×iH×iW的代价体 C i ( i = 4 , 8 , 16 , 32 ) \boldsymbol{C}_i(i=4,8,16,32) Ci(i=4,8,16,32),引导代价体激励可以描述为:

C i ′ = σ ( f l , i ) ⊙ C i \boldsymbol{C}^{'}_{i}=\sigma(\boldsymbol{f}_{l,i})\odot\boldsymbol{C}_{i} Ci=σ(fl,i)Ci

σ \sigma σ是sigmoid函数, ⊙ \odot 是哈达玛积,上面式子的思想是将左特征图计算得到的权重作为激励作用于代价体 C i \boldsymbol{C}_i Ci疑问: C i \boldsymbol{C}_i Ci到底是哪个层的?

该三维正则化网络插入了引导代价体激励操作,可以有效地推断和传播场景几何信息,得到几何编码体(GEV),也就是 C G \boldsymbol{C}_G CG

融合GEV和APC获得CGEV
  • 计算All-Pairs Correlations(APC),获得局部特征关联代价体 C A \boldsymbol{C}_A CA

  • 扩大感受野:使用1D平均池化,大小为2,步长为2,获得两个层次的 C G \boldsymbol{C}_G CG金字塔和 C A \boldsymbol{C}_A CA金字塔。

  • 结合这两个代价体金字塔,获得组合几何编码代价体(CGEV)

4️⃣基于ConvGRU的更新操作

计算初始视差

使用soft argmin从 C G \boldsymbol{C}_G CG中回归初始视差:

d 0 = ∑ d = 0 D − 1 d × S o f t m a x ( C G ( d ) ) \boldsymbol{d}_0=\sum^{D-1}_{d=0}d\times Softmax(\boldsymbol{C}_G(d)) d0=d=0D1d×Softmax(CG(d))

得到1/4分辨率的初始视差。

ConvGRU更新

使用3级ConvGRU从初始视差进行更新,这种设置有助于迭代视差优化的快速收敛。

  • 利用多尺度上下文特征来初始化ConvGRU的隐藏状态;

  • 每次迭代,使用当前视差dk通过线性插值从CGEV中进行索引,产生一组几何特征 G f \boldsymbol{G}_f Gf

G f = ∑ i = − r r C o n c a t { C G ( d k + i ) , C A ( d k + i ) , C G p ( d k / 2 + i ) , C A p ( d k / 2 + i ) } \boldsymbol{G}_f=\sum^{r}_{i=-r}Concat\{\boldsymbol{C}_G(\boldsymbol{d}_k+i),\boldsymbol{C}_A(\boldsymbol{d}_k+i),\boldsymbol{C}^p_G(\boldsymbol{d}_k/2+i),\boldsymbol{C}^p_A(\boldsymbol{d}_k/2+i)\} Gf=i=rrConcat{CG(dk+i),CA(dk+i),CGp(dk/2+i),CAp(dk/2+i)}

其中, d k \boldsymbol{d}_k dk是当前视差,r是索引半径,p表示池化操作。

  • ConvGRU更新隐藏状态,这些几何特征和当前视差 d k \boldsymbol{d}_k dk通过两个编码器层,然后与 d k \boldsymbol{d}_k dk级联以形成 x k x_k xk,然后使用ConvGRU将隐藏状态 h k − 1 h_{k-1} hk1更新:

x k = [ E n c o d e r g ( G f ) , E n c o d e r d ( ( d ) k ) , d k ] , z k = σ ( C o n v ( [ h k − 1 , x k ] , W z ) + c k ) , r k = σ ( C o n v [ C o n v ( [ h k − 1 , x k ] , W r ) + c r ) , h ~ k = t a n h ( C o n v ( r k ⊙ h k − 1 , x k ] , W h ) + c h ) , h k = ( 1 − z k ) ⊙ h k − 1 + z k ⊙ h ~ k x_k=[Encoder_g(\boldsymbol{G}_f),Encoder_d(\boldsymbol(d)_k),d_k], \\ z_k=\sigma(Conv([h_{k-1},x_k],W_z)+c_k), \\r_k=\sigma(Conv[Conv([h_{k-1},x_k],W_r)+c_r), \\ \tilde{h}_k=tanh(Conv(r_k\odot h_{k-1},x_k], W_h)+c_h), \\ h_k=(1-z_k)\odot h_{k-1}+z_k\odot \tilde{h}_k xk=[Encoderg(Gf),Encoderd((d)k),dk],zk=σ(Conv([hk1,xk],Wz)+ck),rk=σ(Conv[Conv([hk1,xk],Wr)+cr),h~k=tanh(Conv(rkhk1,xk],Wh)+ch),hk=(1zk)hk1+zkh~k

c k , c r , c h c_k,c_r,c_h ck,cr,ch是双下文特征,隐藏状态的维度为128,上下文特征维度同样为128, E n c o d e r g , E n c o d e r d Encoder_g, Encoder_d Encoderg,Encoderd分别包含两个卷积

基于隐藏状态 h k h_k hk,通过两个卷积层解码得到 △ d k \bigtriangleup \boldsymbol{d}_k dk更新视差:

d k + 1 = d k + △ d k \boldsymbol{d}_{k+1}=d_k+\bigtriangleup \boldsymbol{d}_k dk+1=dk+dk

5️⃣空间上采样

通过在1/4分辨率下的预测视差 d k \boldsymbol{d}_{k} dk的加权组合来输出全分辨率视差图,对隐藏状态进行卷积生成特征,然后将它们上采样到1/2分辨率。将上采样的特征与来自左图像的 f l , 2 \boldsymbol{f}_{l,2} fl,2级联来产生权重 W ∈ R H × W × 9 \boldsymbol{W}\in \mathbb{R}^{H\times W\times 9} WRH×W×9,通过它们的原始分辨率邻居的加权组合来输出全分辨率视差。

这篇关于【论文阅读】CVPR2023 IGEV-Stereo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/347067

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

软件架构模式:5 分钟阅读

原文: https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2 软件架构模式:5 分钟阅读 当有人潜入软件工程世界时,有一天他需要学习软件架构模式的基础知识。当我刚接触编码时,我不知道从哪里获得简要介绍现有架构模式的资源,这样它就不会太详细和混乱,而是非常抽象和易

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

【阅读文献】一个使用大语言模型的端到端语音概要

摘要 ssum框架(Speech Summarization)为了 从说话人的语音提出对应的文本二题出。 ssum面临的挑战: 控制长语音的输入捕捉 the intricate cross-mdoel mapping 在长语音输入和短文本之间。 ssum端到端模型框架 使用 Q-Former 作为 语音和文本的中介连接 ,并且使用LLMs去从语音特征正确地产生文本。 采取 multi-st