论文阅读《High-frequency Stereo Matching Network》

论文地址:https://openaccess.thecvf.com/content/CVPR2023/papers/Zhao_High-Frequency_Stereo_Matching_Network_CVPR_2023_paper.pdf
源码地址: https://github.com/David-Zhao-1997/High-frequency-Stereo-Matching-Network


概述

   在立体匹配研究领域,当前的方法在估计视差图的细微特征方面表现不足,尤其是在对象的边缘性能方面。此外,弱纹理区域的混淆匹配和细小物体的错误匹配也是模型性能表现不佳的重要因素。在迭代式的方法中,现有的基于GRU的结构存在一定局限性,用于生成视差图更新的信息与GRU的隐藏状态信息耦合在一起,使得在隐藏状态中保持细微的细节变得困难。
  为了解决该问题,本文提出了 DLNR (Stereo Matching Network with Decouple LSTM and Normalization Refinement),改方法可以在迭代过程中保留更多的细节信息。同时,为了进一步提取高频的细节信息,本文提出了一个视差归一化细化模块,将视差值归一化为图像宽度上的视差比例,有效地减轻了模型跨域性能下降的问题。此外,为了克服传统resNet的特征提取瓶颈,本文引入了一个多尺度多层级的特征提取骨干网络,通过通道级自注意力机制来增强模型的特征提取能力。实验结果表明,本文在多个数据集上达到了最先进的水平。


模型架构

Channel-Attention Transformer extractor

   受到 Restormer 的启发,作者设计了一个多阶段、多尺度的通道注意力transformer特征提取结构用于提取像素长程依赖特征与高频细节特征,如图3所示:
在这里插入图片描述

高频细节特征获取

   文中采用 Pixel Unshuffle 来替代池化操作对图像进行下采样至原始大小的1/4,并扩展通道数,同时不丢失任何高频信息。原始图像的形状是 [ C , H ∗ r , W ∗ r ] [C, H * r, W * r] [C,Hr,Wr],经过Pixel Unshuffle后reshape为 [ C ∗ r 2 , H , W ] [C * r^2, H, W] [Cr2,H,W]。这样可以在降低图像分辨率的同时,保留图像中的高频细节信息。

通道注意力机制

   文中提出了CWSA模块(来源于Restromer中的MDTA)用于通道注意力,以减少原始通道注意力带来的计算量激增问题。

多尺度解耦LSTM正则化

   在每次迭代中,迭代单元结合特征提取器从多尺度和多阶段信息 F l F_l Fl F m F_m Fm F h F_h Fh,以及上一次迭代产生的隐藏状态 h i − 1 h_{i-1} hi1 C i − 1 C_{i-1} Ci1 和先前的视差图 D i − 1 D_{i-1} Di1,预测视差图的残差图 Δ D i \Delta D_i ΔDi

多尺度结构

  为了解决立体匹配中弱纹理区域的匹配难题,文中使用多尺度的迭代模块来充分利用1/4,1/8和1/16分辨率下的视图信息。每个子模块都与其余相邻的分辨率进行交互,低分辨率可以获得更大的感受野用于处理弱纹理区域的混淆匹配。高分辨率尺度可以提供更多的高频细节信息,为物体的边缘和角落提供更多细节。

解耦机制

  传统的GRU结构的隐藏层特征 h h h 用于预测视差残差图,同时用于GRU模块之间的状态转移,导致模型无法保留更多的细节信息。为此,文中引入一个新的隐藏特征 C C C,如图4所示。
在这里插入图片描述
  隐藏状态 h h h 用于通过视差头生成更新矩阵,而新引入的隐藏状态 C C C 仅用于在迭代之间传递信息。该设计将更新矩阵和隐藏状态解耦,可以在迭代过程中保留更多有效的语义信息。

视差归一化细化

   为了缓解模型在地分辨率下细化导致的高频细节信息丢失问题,文中引入一个视差细化模块,如图5所示:
在这里插入图片描述
  1/4尺度的视差图经过可学习的上采样模块上采样到原分辨率,继而将右视图根据视差图warp到左视图,用于计算误差图:
D f r = l e a r n e d U p s a m p l e ( D l r , u p M a s k ) I l ′ = w a r p ( I r , d i s p ) E l = I l ′ − I l (1) \begin{aligned} D^{fr}& =learnedUpsample(D^{lr},upMask) \\ I_{l}^{'}& =warp(I_r,disp) \\ E_{l}& =I_{l}^{'}-I_{l} \end{aligned}\tag{1} DfrIlEl=learnedUpsample(Dlr,upMask)=warp(Ir,disp)=IlIl(1)
  上采样后的视差图被缩放到0到1之间,且 D f r D^{fr} Dfr 的最小值通常为0。文中使用图像的宽度来作为最大视差值将所有像素点的视差值归一化:
D N o r m f r = D f r − m i n ( D f r ) w i d t h ( I l ) (2) D_{Norm}^{fr}=\frac{D^{fr}-min(D^{fr})}{width(I_l)}\tag{2} DNormfr=width(Il)Dfrmin(Dfr)(2)
  将归一化视差图 D N o r m f r D_{Norm}^{fr} DNormfr,误差图 E l E_{l} El 与左视图 I l I_l Il 送入视差细化模块中得到正则化后的视差图 D f r ′ D^{fr'} Dfr:
I e r r = C o n v 3 × 3 ( [ E l , I l ] ) D f r ′ = h o u r g l a s s ( [ I e r r , C o n v 3 × 3 ( D N o r m f r ) ] ) (3) \begin{aligned}I_{err}&=Conv_{3\times3}([E_l,I_l])\\D^{fr'}&=hourglass([I_{err},Conv_{3\times3}(D_{Norm}^{fr})])\end{aligned}\tag{3} IerrDfr=Conv3×3([El,Il])=hourglass([Ierr,Conv3×3(DNormfr)])(3)
最后根据归一化视差图计算原始视差图:
D r e f i n e d = D f r ′ × w i d t h ( I l ) + m i n ( D f r ′ ) (4) D_{refined}=D^{fr^{\prime}}\times width(I_l)+min(D^{fr^{\prime}})\tag{4} Drefined=Dfr×width(Il)+min(Dfr)(4)


损失函数

L = ∑ i = 1 n − 1 γ n − i L 1 + L r e f i n e , w h e r e γ = 0.9. L 1 = ∣ ∣ d g t − d i ∣ ∣ 1 L r e f i n e = ∣ ∣ d g t − d r e f i n e d ∣ ∣ 1 (5) \begin{aligned} \text{L}& =\sum_{i=1}^{n-1}\gamma^{n-i}L_1+L_{refine},where\gamma=0.9. \\ L_{1}& =\left|\left|d_{gt}-d_i\right|\right|_1 \\ L_{refine}& =\left|\left|d_{gt}-d_{refined}\right|\right|_1 \end{aligned}\tag{5} LL1Lrefine=i=1n1γniL1+Lrefine,whereγ=0.9.=dgtdi1=dgtdrefined1(5)


实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/215816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web漏洞原理与防御策略,web漏洞怎么挖掘

目录 Web安全的重要性 ​编辑常见的Web漏洞类型及其原理: 1、跨站脚本攻击(XSS): 2、SQL注入: 3、跨站请求伪造(CSRF): 4、远程文件包含(RFI)和本地文件包含(LFI):…

Spring Boot实现接口幂等

Spring Boot实现接口幂等 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http:…

大创项目推荐 协同过滤电影推荐系统

文章目录 1 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …

【软件安装】VMware安装Centos7虚拟机并且设置静态IP,实现Windows和Centos7网络互相访问

这篇文章&#xff0c;主要介绍VMware安装Centos7虚拟机并且设置静态IP&#xff0c;实现Windows和Centos7网络互相访问。 目录 一、VMware安装Centos7 1.1、下载Centos7镜像 1.2、安装Centos7系统 二、设置静态IP地址 2.1、查看虚拟机网络IP 2.2、禁用NetworkManager服务 …

每天五分钟计算机视觉:VGG网络相对于AlexNet网络有哪些不同?

本文重点 在前面的课程中&#xff0c;我们已经学习了VGG网络模型&#xff0c;也学习了AlexNet网络模型&#xff0c;AlexNet模型先于VGG网络模型产生&#xff0c;所以VGG在一定程度上要优于AlexNet模型&#xff0c;二者来看一下&#xff0c;二者究竟有什么不同&#xff1f; 深度…

Qt的坐标系系统 - 3个坐标系,2个变换

参考&#xff1a; https://zhuanlan.zhihu.com/p/584048811https://www.zhihu.com/tardis/zm/art/634951149?source_id1005 小谈Qt的坐标系系统 Qt中有三个坐标系 设备坐标系窗口坐标系逻辑坐标系 设备坐标系: 即Device坐标系。也是物理坐标系。即真实的的物理坐标系。 …

给鼠标描述符打上注释防止忘记

static uint8_t g_mouse_hid_desc[] { //通用桌面设备 0x05, 0x01, // USAGE_PAGE (Generic Desktop) //鼠标设备 0x09, 0x02, // USAGE (Mouse) //应用集合 0xa1, 0x01, // COLLECTION (Application) //指针设备 0x09, 0x01, // USAGE (Pointer) //物理集合 0xa1, 0x00, // C…

【Linux】free命令使用

free命令 ​free是指查看当前系统内存的使用情况&#xff0c;它显示系统中剩余及已用的物理内存和交换内存&#xff0c;以及共享内存和被核心使用的缓冲区。 作者 作者&#xff1a;Brian Edmonds。 语法 free [参数] free 命令 -Linux手册页 命令选项及作用 执行令 &am…

【二分查找】【滑动窗口】LeeCode2528:最大化城市的最小电量

作者推荐 【动态规划】【广度优先】LeetCode2258:逃离火灾 本文涉及的基础知识点 二分查找算法合集 滑动窗口 题目 给你一个下标从 0 开始长度为 n 的整数数组 stations &#xff0c;其中 stations[i] 表示第 i 座城市的供电站数目。 每个供电站可以在一定 范围 内给所有城…

Java学习总结

1. Java集合体系框架 java.util中包含 Java 最常用的the collections framework。 Java集合类主要由两个根接口Collection和Map派生出来的。 Collection 接口派生出了三个子接口List、Set、Queue。Map 接口 因此Java集合大致也可分成List、Set、Queue、Map四种接口体系。 …

CDH6.3.2安装

文章目录 [toc]一、CM简介1、ClouderaManager的概念2、ClouderaManager的功能3、ClouderaManager的架构 二、准备清单1、部署步骤2、集群规划3、软件环境准备 三、安装清单1、操作系统iso包2、JDK包3、MySQL包4、CM和CDH包5、部署ansible 四、基础环境准备1、配置网络2、配置ho…

Java项目开发,业务比较复杂如何减少bug

Java项目开发&#xff0c;业务比较复杂如何减少bug 当Java开发工作涉及复杂业务时&#xff0c;可以采取以下方法来减少bug的数量&#xff1a; 1、深入了解业务需求 充分了解业务需求&#xff0c;与业务人员进行充分的沟通和交流&#xff0c;确保对需求的理解正确。在需求分析…

el-collapse 默认展开第一个(实测有效)

<el-collapse accordion v-model"activeCollapse"> <el-collapse-item v-for"(item, index) in assetList" :name"index" :key"item.id" > 我这个是通过循环, 只需要v-model 绑定的值和 name 相等,就可以实现展开 然后就…

重新认识Word——给图、表、公式等自动编号

重新认识Word——给图、表、公式等自动编号 给图增加题注题注失败的情况给图添加“如图xx-xx所示” 给公式插入题注第一步——先加题注第二步——设置两个制表符 解决题注“图一-1”的问题 前面我们已经学习了如何引用多级列表自动编号了&#xff0c;现在我们有第二个问题&…

大数据湖体系规划与建设方案:PPT全文51页,附下载

关键词&#xff1a;大数据解决方案&#xff0c;数据湖解决方案&#xff0c;数据数仓建设方案&#xff0c;大数据湖建设规划&#xff0c;大数据湖发展趋势 一、大数据湖体系规划与建设背景 在传统的企业信息化建设中&#xff0c;各个业务系统通常是独立建设的&#xff0c;导致…

学习笔记10——Mysql的DDL语句

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/197161.html 数据库创建&#xff1a; CREATE DATABASE books&#xff1b; CREATE DATABASE IF NOT EXISTS books;更改字符集 ALTER DATABASE books CHARACTER SET gbk;库的删…

FFmpeg之AVFilterLink

这个结构体主要是用来link两个filter的,它存在于每个AVFilterContext中 struct AVFilterContext {const AVClass *av_class; ///< needed for av_log() and filters common optionsconst AVFilter *filter; ///< the AVFilter of which this is an inst…

XX.push is not a function

错误通常发生在尝试在非数组类型的变量上使用push方法 问题&#xff1a;定义了数组类型&#xff0c;用push方法一直报错&#xff0c;感觉哪里都没毛病 原因&#xff1a;虽然刚开始定义了数组类型&#xff0c;但可能是因为在代码的某个地方将其重新赋值为了非数组类型的值。 …

【计算机网络基础2】IP地址和子网掩码

1、IP地址 网络地址 IP地址由网络号&#xff08;包括子网号&#xff09;和主机号组成&#xff0c;网络地址的主机号为全0&#xff0c;网络地址代表着整个网络。 广播地址 广播地址通常称为直接广播地址&#xff0c;是为了区分受限广播地址。 广播地址与网络地址的主机号正…

Mybatis-Plus基础之框架基础

文章目录 Mybatis-Plus 框架基础引入 maven 依赖定义实体类&#xff0c;并标注注解定义 Mapper 接口&#xff0c;要求继承自特定父接口使用 MapperScan 注解&#xff0c;扫描 mapper 接口所在位置验证 Mybatis-Plus 框架基础 MyBatis-Plus 是 MyBatis 的一种增强框架&#xff…