论文阅读《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.rhkb.cn/news/215506.html

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

相关文章

HDFS Java API 基本操作实验

文章目录 一、实验环境二、实验内容(一)数据准备(二)编程环境准备(三)使用Hadoop API操作HDFS文件系统(四)使用Hadoop API Java IO流操作HDFS文件系统 三、实验步骤(一&…

CSS import 规则

导入 “navigation.css” 样式到当前的样式表: import “navigation.css”; /* 使用字符串 / 或者 import url(“navigation.css”); / 使用 url 地址 */ 属性定义及使用说明 CSS import 用于从其他样式表导入样式规则。 import 规则必须在 CSS 文档的头部&#xff…

数据结构:栈(Stack)的各种操作(入栈,出栈,判断栈非空,判断栈已满,附源码)

前言:在前面的文章中,我们讲解了顺序表,单链表,双向链表。而我们今天要分享的栈则是基于之前的数据结构上搭建的,但是相较于顺序表和链表来说,栈的实现就非常简单了。 目录 一.栈(Stack)的概念 二.栈的数…

【算法题】数字字符串组合倒序 (js)

解法: const str "I am an 20-years out--standing * -stu- dent";function solution(str) {const arr str.split(" ");const newArr arr.map((str) > {if (/[a-zA-Z0-9-]/.test(str)) {if (/-{2}/g.test(str)) {return str.replace(/-…

Tair(2):Tair安装部署

1 安装相关依赖库 yum install -y gcc gcc-c make m4 libtool boost-devel zlib-devel openssl-devel libcurl-devel yum:是yellowdog updater modified 的缩写,Linux中的包管理工具gcc:一开始称为GNU C Compiler,也就是一个C编…

持续集成交付CICD:使用Maven命令上传Nexus制品

目录 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) 2.使用Maven命令上传Nexus制品(第二种方式) 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) (1)指定一个 hoste…

11--常用类和基础API--01

1、API概述 1.1 什么是API API(Application Programming Interface),应用程序编程接口。 Java API是一本程序员的字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的&#x…

屏幕分辨率修改工具SwitchResX mac功能特点

SwitchResX mac是可用于修改和管理显示器的分辨率和刷新率。 SwitchResX mac功能和特点 支持多种分辨率和刷新率:SwitchResX可以添加和管理多种分辨率和刷新率,包括自定义分辨率和刷新率。 自动切换分辨率:SwitchResX可以根据应用程序和窗口…

Tomcat从认识安装到详细使用

文章目录 一.什么是Tomact?二.Tomcat的安装1.下载安装包2.一键下载3.打开Tomcat进行测试4.解决Tomcat中文服务器乱码 三.Tomcat基本使用1.启动与关闭Tomcat2.Tomcat部署项目与浏览器访问项目 四.Tomcat操作中的常见问题1.启动Tomcat后,启动窗口一闪而过&#xff1f…

微信小程序-uniapp 仿豆瓣评分 (附源码)

微信小程序由于适用性强、逻辑简要、开发迅速的特性,叠加具有海量活跃用户的腾讯公司背景,逐渐成为了轻量级单一功能应用场景的较佳承载方式,诸如电影购票、外卖点餐、移动商城、生活服务等场景服务提供商迅速切入了。 效果图 主页 更多页…

jsp 动物疾病诊断管理系Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 动物疾病诊断管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysq…

千梦网创:肚子基础决定脑子建筑

我每个星期都要跟魔鬼实战训练营的铁铁们唠嗑。 他们中,混得好的都喜欢找我聊天,可能比较有成就感吧。 不知道为什么没怎么做出成绩的学员很少找我聊天,要是你偷摸着发财也就算了,如果你真的没做出来什么我觉得你更要来找我聊天…

物联网后端个人第十四周总结

物联网方面进度 1.登陆超时是因为后端运行的端口和前端监听的接口不一样,所以后端也没有报错,将二者修改一致即可 2.登录之后会进行平台的初始化,但是初始化的时候会卡住,此时只需要将路径的IP端口后边的内容去掉即可 3.阅读并完成了jetlinks…

[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........

文章目录 一、完整代码二、论文解读2.1 介绍2.2 架构2.3 输入端2.4 结果 三、过程实现四、整体总结 论文:Unified Language Model Pre-training for Natural Language Understanding and Generation 作者:Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xia…

OpenCV-Python:DevCloud CodeLab介绍及学习

1.Opencv-Python演示环境 windows10 X64 企业版系统python 3.6.5 X64OpenCV-Python 3.4.2.16本地PyCharm IDE线上注册intel账号,使用DevCloud CodeLab 平台 2.DevCloud CodeLab是什么? DevCloud是一个基于云端的开发平台,提供了强大的计算…

ArcGIS Pro中怎么设置标注换行

在ArcGIS Pro中进行文字标注的时候,如果标注的字段内容太长,直接标注的话会不美观,而且还会影响旁边的标注显示,这里为大家介绍一下在ArcGIS Pro中设置文字换行的方法,希望能对你有所帮助。 数据来源 本教程所使用的…

数据结构之----逻辑结构、物理结构

数据结构之----逻辑结构、物理结构 目前我们常见的数据结构分别有: 数组、链表、栈、队列、哈希表、树、堆、图 而它们可以从 逻辑结构和物理结构两个维度进行分类。 什么是逻辑结构? 逻辑结构是指数据元素之间的逻辑关系,而逻辑结构又分为…

使用torch解决线性回归问题

数据处理 import torch import numpy as np import pandas as pd import matplotlib.pyplot as pltdatapd.read_csv(./datasets/Income1.csv) #数据准备data.head(5)#展示数据 #以上所有的代码都是用jupyter notebook写,形成了阶段性的结果展示 查看数据信息 dat…

SSM整合——Springboot

1.0 概述 1.1 持久层: DAO层(mapper) DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此 DAO层的设计首先是设计DAO的接口, 然后在spring-mapper.xml的配置文件中定义此接…

混合预编码(Hybrid Precoding)的全连接结构与子连接结构

A Survey on Hybrid Beamforming Techniques in 5G: Architecture and System Model Perspectives 全连接结构的混合预编码 子连接结构的混合预编码 Alternating Minimization Algorithms for HybridPrecoding in Millimeter Wave MIMO Systems