论文阅读《Domain Generalized Stereo Matching via Hierarchical Visual Transformation》

news2024/11/17 20:27:40

论文地址:https://openaccess.thecvf.com/content/CVPR2023/html/Chang_Domain_Generalized_Stereo_Matching_via_Hierarchical_Visual_Transformation_CVPR_2023_paper.html


概述

   立体匹配模型是近年来的研究热点。但是,现有的方法过分依赖特定数据集上的简单特征,导致在新的数据集上泛化能力不强。现有的立体匹配方法在训练过程中容易学习合成数据集中的表面特征(捷径特征 shortcut features)。这些特征主要有两种伪影(artifacts):一是局部颜色统计特征的一致性,二是对局部色度特征的过度依赖。这些特征不能有效地适应不同域之间的迁移。之前的研究主要关注于(1)利用目标域的有标签数据对模型进行微调。(2)同时使用有标签的合成数据集和无标签的真实数据集来训练域自适应立体匹配模型。这些方法在目标数据集的样本可获得时可以取得较好的效果,但在分布外泛化时性能不佳。为了解决这些问题,文中提出了分层视觉变换(Hierarchical Visual Transformation, HVT)网络,其核心思想是通过改变合成数据集训练数据的分布,使得模型不依赖于源域样本的伪影特征(颜色统计、色度特征)来建立匹配关系,而是引导模型学习域不变的特征(语义特征、结构特征)来估计视差图。
  为了解决立体匹配的域泛化问题,本文提出了一种分层的视觉变换网络(Hierarchical Visual Transformation,HVT),它能从合成数据集中学习一种不受捷径特征干扰的特征表示,从而减少域偏移对模型性能的影响。该网络主要包括两个部分:(1)在全局、局部和像素三个层次上,对训练样本进行视觉变换,使其适应新的数据域。(2)通过最大化源域和目标域之间的视觉特征差异,以及最小化跨域特征之间的一致性,来得到域不变的特征。这样可以防止模型利用合成数据集中的伪影信息作为捷径特征,从而有效地学习到鲁棒的特征表示。我们将HVT模块嵌入到主流的立体匹配模型中,在多个数据集上的实验结果表明,HVT可以提高模型从合成数据集到真实数据集之间的域泛化能力。


模型架构

在这里插入图片描述
   给定合成训练数据集 D s \mathcal{D}_{s} Ds ,训练集中的图像对为 { X i l , X i r } i = 1 ∣ D s ∣ \{\mathbf{X}_i^l,\mathbf{X}_i^r\}_{i=1}^{|\mathcal{D}_s|} {Xil,Xir}i=1Ds, 且其对应的视差图为 { Y i g t } i = 1 ∣ D s ∣ \{\mathbf{Y}_i^{gt}\}_{i=1}^{|\mathcal{D}_s|} {Yigt}i=1Ds。模型的目标为训练一个跨域立体匹配模型来预测未知域 D r \mathcal{D}_{r} Dr 的图像对:
Y ^ = F Θ ( X l , X r ) = s ( g ( f ( X l ) , f ( X r ) ) ) , (1) \hat{\mathbf{Y}}=F_\Theta(\mathbf{X}^l,\mathbf{X}^r)=s\big(g\big(f(\mathbf{X}^l),f(\mathbf{X}^r)\big)\big),\tag{1} Y^=FΘ(Xl,Xr)=s(g(f(Xl),f(Xr))),(1)
其中 Θ \Theta Θ 为模型的人全部参数, f ( ⋅ ) f(\cdot) f() 表示特征提取模块, g ( ⋅ ) g(\cdot) g() 表示代价体构建、聚合, s ( ⋅ ) s(\cdot) s() 表示soft-argmin操作,经典的立体匹配模型通过平滑 L 1 L1 L1 损失 L sm- ℓ 1 ( F Θ ( X l , X r ) , Y g t ) L_{\text{sm-}\ell_1}\left(F_\Theta(\mathbf{X}^l,\mathbf{X}^r),\mathbf{Y}^{gt}\right) Lsm-1(FΘ(Xl,Xr),Ygt) 来优化模型。

Hierarchical Visual Transformation 分层视觉转换(核心为图像增强)

  分层视觉转换模块旨在学习到域不变的匹配特征,如语义特征与结构特征,为此,在不同层次学习一系列视觉转换 T = { T 1 , ⋯   , T M } \mathcal{T}=\{T_1,\cdots,T_M\} T={T1,,TM} 来将输入图像映射到域不变的特征空间 ( T ( X l ) , T ( X r ) ) \left(T(\mathbf{X}^l),T(\mathbf{X}^r)\right) (T(Xl),T(Xr)),视觉转换应该具有以下的要求:

  • T ( ⋅ ) T(\cdot) T() 应使得转换前后的图像具有较大的视觉差异,以扩充训练域的多样性。
  • T ( ⋅ ) T(\cdot) T() 不应改变原始图像对应的视差图。当输入左右图像时候,仍然应优化 L sm- ℓ 1 ( F Θ ( T ( X l ) , T ( X r ) ) , Y g t ) L_{\text{sm-}\ell_1}(F_\Theta(T(\mathbf{X}^l),T(\mathbf{X}^r)),\mathbf{Y}^{gt}) Lsm-1(FΘ(T(Xl),T(Xr)),Ygt) 目标。
  • f ( T ( X ) ) f(T(\mathbf{X})) f(T(X)) f ( X ) f(\mathbf{X}) f(X) 应该具有一致性,以获得域不变的特征。

为此,作者在全局、局部、像素三个层级设计了视觉不变转换。

全局转换

  全局视觉转换 T G ( ⋅ ) T_{G}(\cdot) TG() 旨在以一个全局的视角改变立体图像的视觉特征分布,包括亮度、对比度、饱和度和色调 { T G B , T G C , T G S , T G H } \{T_G^B,T_G^C,T_G^S,T_G^H\} {TGB,TGC,TGS,TGH}. 其中, { T G B , T G C , T G S ˉ } \{T_{G}^{B},T_{G}^{C},T_{G}^{\bar{S}}\} {TGB,TGC,TGSˉ} 可以表示为:
T G I ( X ) = α G I X + ( 1 − α G I ) o I ( X ) , (2) T_G^I(\mathbf{X})=\alpha_G^I\mathbf{X}+(1-\alpha_G^I)o^I(\mathbf{X}),\tag{2} TGI(X)=αGIX+(1αGI)oI(X),(2)
其中 I ∈ { B , G , S } I\in\{B,G,S\} I{B,G,S} α G I \alpha_{G}^I αGI 为随机在 [ τ min ⁡ I , τ max ⁡ I ] [\tau_{\min}^I,\tau_{\max}^I] [τminI,τmaxI] 选择的对比度参数:
{ τ m i n I = 1 − ( μ σ ( ϱ l I ) + β ) τ m a x I = 1 + ( μ σ ( ϱ h I ) + β ) , (3) \left.\left\{\begin{array}{c}\tau_\mathrm{min}^I=1-\left(\mu\sigma(\varrho_l^I)+\beta\right)\\\tau_\mathrm{max}^I=1+\left(\mu\sigma(\varrho_h^I)+\beta\right)\end{array}\right.\right.,\tag{3} {τminI=1(μσ(ϱlI)+β)τmaxI=1+(μσ(ϱhI)+β),(3)
其中 σ ( ⋅ ) \sigma(\cdot) σ() 代表 Sigmoid函数。 ϱ l I ∈ R 1 , ϱ h I ∈ R 1 \varrho_l^I\in\mathbb{R}^1, \varrho_h^I\in\mathbb{R}^1 ϱlIR1ϱhIR1 为两个可学习的参数。 μ , β \mu,\beta μ,β 为两个正的超参数。公式2中的 o I ( ⋅ ) o^{I}(\cdot) oI() 的定义为 (1)对于亮度转换: o B ( X ) = X ⋅ O o^B(\mathbf{X})=\mathbf{X}\cdot\mathbf{O} oB(X)=XO ,其中 O \mathbf{O} O 为全0的矩阵。(2)对于对比度变换: o C ( X ) = Avg ⁡ ( Gray ⁡ ( X ) ) o^C(\mathbf{X})=\operatorname{Avg}(\operatorname{Gray}(\mathbf{X})) oC(X)=Avg(Gray(X)) ,其中  Gray ( ⋅ ) \text{ Gray}(\cdot)  Gray() 表示将图像转换为灰度图像, Avg ⁡ ( ⋅ ) \operatorname{Avg}(\cdot) Avg() 表示整张图像的灰度平均值。(3)对于饱和度转换, o S ( X ) = G r a y ( X ) o^S(\mathbf{X})=\mathrm{Gray}(\mathbf{X}) oS(X)=Gray(X)

  对于色调转换,有:
T G H ( X ) = R g b ( [ h + α G H , s , v ] ) , (4) T_G^H(\mathbf{X})=\mathrm{Rgb}([\mathbf{h}+\alpha_G^H,\mathbf{s},\mathbf{v}]),\tag{4} TGH(X)=Rgb([h+αGH,s,v]),(4)
其中 [ h , s , v ] = H s v ( X ) \left[\mathbf{h},\mathbf{s},\mathbf{v}\right]=\mathrm{Hsv}(\mathbf{X}) [h,s,v]=Hsv(X) 表示将图像转换到HSV空间的表示。 Rgb ⁡ ( ⋅ ) \operatorname{Rgb}(\cdot) Rgb()表示从HSV空间转换到RGB空间。 α G H ∈ R 1 \alpha_{G}^{H}\in\mathbb{R}^{1} αGHR1 表示从 [ τ m i n H ˉ , τ m a x H ] [\tau_{\mathrm{min}}^{\bar{H}},\tau_{\mathrm{max}}^{H}] [τminHˉ,τmaxH] 随机采样的参数,且 τ m i n H = − μ σ ( ϱ l H ) − β , τ m a x H = μ σ ( ϱ h H ) + β \tau_{\mathrm{min}}^{H}=-\mu\sigma(\varrho_{l}^{H})-\beta , \tau_{\mathrm{max}}^{H}=\mu\sigma(\varrho_{h}^{H})+\beta τminH=μσ(ϱlH)β,τmaxH=μσ(ϱhH)+β。此外, { T G B , T G C , T G S , T G H } \{T_G^B,T_G^C,T_G^S,T_G^H\} {TGB,TGC,TGS,TGH} 的顺序是随机的。

局部级变换

  局部视觉转换 T L ( ⋅ ) T_{L}(\cdot) TL()旨在在局部范围改变训练图像的分布。将图像分为 N ′ × N ′ N^{\prime}\times N^{\prime} N×N 个不重叠的块 { x 1 p , ⋯   , x N ′ × N ′ p } \{\mathbf{x}_1^p,\cdots,\mathbf{x}_{N^{\prime}\times N^{\prime}}^p\} {x1p,,xN×Np},将每个块视为独立的图像,使用随机参数的局部转换 T L p ( ⋅ ) T_{L}^{p}(\cdot) TLp() 分别进行转换后拼接回原图大小:
T L ( X ) = M e r g e ( [ T L p ( x 1 p ) , ⋯   , T L p ( x N ′ × N ′ p ) ] ) , (5) T_L(\mathbf{X})=\mathsf{Merge}\left([T_L^p(\mathbf{x}_1^p),\cdots,T_L^p(\mathbf{x}_{N^{\prime}\times N^{\prime}}^p)]\right),\tag{5} TL(X)=Merge([TLp(x1p),,TLp(xN×Np)]),(5)
其中局部变换模块可以利用现有的风格迁移网络来实现,或者基于傅里叶的方法,为了与全局变换模块相配合,局部变换模块采用了与全局模块一样的变换函数。

像素级变换

  像素级的视觉变换旨在像素层级进行随机变换:
T P ( X ) = X + ( μ σ ( W ) + β ) P (6) T_P(\mathbf{X})=\mathbf{X}+\begin{pmatrix}\mu\sigma(\mathbf{W})+\beta\end{pmatrix}\mathbf{P}\tag{6} TP(X)=X+(μσ(W)+β)P(6)
其中 P ∈ R H × W × 3 \mathbf{P}\in\mathbb{R}^{H\times W\times3} PRH×W×3 为随机生成均值为0,方差为1的的高斯矩阵。 W ∈ R H × W × 3 \mathbf{W}\in\mathbb{R}^{H\times W\times3} WRH×W×3 为可学习的矩阵。


损失函数

跨域视觉差异最大化:该方法的目的是使数据在变换后的视觉特征分布与变换前的分布有明显的差异,同时保持变换前后的匹配特征表示的一致性,从而学习到不受域影响的特征。这样,立体匹配网络就可以忽略数据中的伪影,更有效地利用学习到的鲁棒特征表示来估计视差:
max ⁡ L d i s c ( X ) = 1 3 ∑ J d ( T J ( X ) , X ) (7) \max L_{\mathrm{disc}}(\mathbf{X})=\frac13\sum_{J}d(T_J(\mathbf{X}),\mathbf{X})\tag{7} maxLdisc(X)=31Jd(TJ(X),X)(7)
其中 J ∈ { G , L , P } J\in\{G,L,P\} J{G,L,P} , d ( ⋅ ) d(\cdot) d() 是域差异度量,作者引入一个神经网络模块 ϕ ( ⋅ ) \phi(\cdot) ϕ() 来提取域差异特征,则式7可以表示为:
min ⁡ L sin ⁡ ( X ) = 1 3 ∑ J C o s ( ϕ ( T J ( X ) ) , ϕ ( X ) ) , (8) \min L_{\sin}(\mathbf{X})=\frac13\sum_J\mathrm{Cos}\left(\phi(T_J(\mathbf{X})),\phi(\mathbf{X})\right),\tag{8} minLsin(X)=31JCos(ϕ(TJ(X)),ϕ(X)),(8)
为了进一步提升域差异,使用交叉熵损失来优化模型:
min ⁡ L c e ( X ) = C E ( { ϕ ( T J ( X ) ) , ϕ ( X ) } , Y d ) , (9) \min L_{\mathfrak{ce}}(\mathbf{X})=\mathrm{CE}\left(\left\{\phi(T_J(\mathbf{X})),\phi(\mathbf{X})\right\},\mathcal{Y}_d\right),\tag{9} minLce(X)=CE({ϕ(TJ(X)),ϕ(X)},Yd),(9)
其中 Y d \mathcal{Y}_d Yd 表示四个变换域的域标签。

跨域特征一致性最大化:为了增强模型的泛化能力,模型需要获取域不变的匹配特征,这要求变换 T ( ⋅ ) T(\cdot) T() 不改变原图的语义与结构特征。因此,最小化以下的损失:

min ⁡ L d i s t ( X ) = 1 3 ∑ J ∥ f ( T J ( X ) ) − f ( X ) ∥ 2 , (10) \min L_{\mathrm{dist}}(\mathbf{X})=\frac13\sum_J\left\|f\left(T_J(\mathbf{X})\right)-f\left(\mathbf{X}\right)\right\|_2,\tag{10} minLdist(X)=31Jf(TJ(X))f(X)2,(10)

总的损失函数:
min ⁡ L = L s m − ℓ 1 ( Y ^ , Y g t ) + 1 2 ( λ 1 L d i s t ( X ) + λ 2 L s i m ( X ) + λ 3 L c e ( X ) ) , (11) \begin{aligned}\min\mathcal{L}=&L_{\mathrm{sm-}\ell_1}(\hat{\mathbf{Y}},\mathbf{Y}^{gt})+\frac12\left(\lambda_1L_{\mathrm{dist}}(\mathbf{X})+\lambda_2L_{\mathrm{sim}}(\mathbf{X})+\lambda_3L_{\mathrm{ce}}(\mathbf{X})\right),\end{aligned}\tag{11} minL=Lsm1(Y^,Ygt)+21(λ1Ldist(X)+λ2Lsim(X)+λ3Lce(X)),(11)

其中 L sm- ℓ 1 L_{\text{sm-}\ell_1} Lsm-1 同时在 { X l , X r } \{\mathbf{X}^l,\mathbf{X}^r\} {Xl,Xr} { T J ( X l ) , T J ( X r ) } \{T_J(\mathbf{X}^l),T_J(\mathbf{X}^r)\} {TJ(Xl),TJ(Xr)} 作为模型输入时计算。


实验结果

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

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

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

相关文章

使用 PyTorch FSDP 微调 Llama 2 70B

通过本文,你将了解如何使用 PyTorch FSDP 及相关最佳实践微调 Llama 2 70B。在此过程中,我们主要会用到 Hugging Face Transformers、Accelerate 和 TRL 库。我们还将展示如何在 SLURM 中使用 Accelerate。 完全分片数据并行 (Fully Sharded Data Paral…

游戏中小地图的制作__unity基础开发教程

小地图的制作 Icon标识制作制作摄像机映射创建地图UI效果“不一样的效果” 在游戏中经常可以看到地图视角的存在,那么地图视角是如何让实现的呢? 这一期教大家制作一个简易的小地图。 💖点关注,不迷路。 老样子,我们还…

使用MfgTool烧写前需准备的文件

一. 简介 本文我们就来学习,如何将我们编译的 uboot,zImage(内核镜像),xxx.dtb设备树文件,还有制作的根文件系统,这四个文件烧写到开发板中,最后 开发板能正常启动。 本文这里使用…

Linux实用操作篇-下篇

Linux实用操作篇-上篇:Linux实用操作-上篇-CSDN博客 一、网络传输 1.1 ping命令 网络是否可联通 可以通过ping命令,检查指定的网络服务器是否是可联通状态 语法: ping [-c num] ip或主机名 选项:-c,检查的次数,…

# 一些视觉-激光、加速度传感器类的铣削振动测试方法案例

一些视觉-激光类的铣削振动测试方法 1. 基于激光测振仪的振动测试2. 切削加工的 加速度传感器实测信号2.1 x轴向信号2.2 Y轴向信号2.3 第二次廊坊实验3. 关于数值频域积分1. 基于激光测振仪的振动测试 【1】舜宇LDV|激光测振—机床铣刀寿命预测 新刀具为100hz主频 旧刀具为800…

多源异构数据融合是什么,在进行故障预测、诊断、辨识的时候有什么有优点和缺点!

文章目录 1、多源异构数据融合是什么2、多源异构数据融合的优点主要包括:3、多源异构数据融合进行故障辨识的缺点 1、多源异构数据融合是什么 多源异构数据融合是将来自于不同设备、传感器、系统或网络等多个数据源的数据进行整合并综合分析处理的一种技术。这种数…

AcWing 95. 费解的开关(递推)

题目链接 活动 - AcWing 本活动组织刷《算法竞赛进阶指南》,系统学习各种编程算法。主要面向有一定编程基础的同学。https://www.acwing.com/problem/content/97/ 题解 只要第一行开关的状态确定,则所有开关的状态都可以被推出来。第一行开关总共有种操…

了解 git rebase

了解 git rebase 大多数人习惯使用 git merge 将更改从功能分支合并到主分支,但还有其他方法。我们是否曾经遇到过 git rebase 这个术语并想知道它是什么?或者我们可能听说过 rebase 和 merge ,但不确定何时使用哪个?不用担心&am…

Axure的安装及基本功能介绍

目录 一. Axure概述 二. Axure安装 2.1 安装包下载 2.2 安装步骤 三. Axure功能介绍​ 3.1 工具栏介绍 3.1.1 复制,剪切及粘贴 3.1.2 选择模式和连接 3.1.3 插入形状 3.1.4 点(编辑控点) 3.1.5 置顶和置底 3.1.6 组合和取消组合 …

论文笔记:A review on multi-label learning

一、介绍 传统的监督学习是单标签学习,但是现实中一个实例可能对应多个标签。这篇文章介绍了多标签分类的定义和评价指标、多标签学习的算法还有其他相关的任务。 二、问题相关定义 2.1 多标签学习任务 假设 X R d X R^d XRd,表示d维的输入空间&am…

LabVIEW开发矿井排水监控系统

LabVIEW开发矿井排水监控系统 针对矿井水害对煤矿安全生产构成的威胁,设计了一种基于嵌入式PLC和LabVIEW的矿井排水监控系统。该系统结合了PLC的可靠控制与单片机的应用灵活性,有效克服了传统排水方法中的不足,如测量不准确、效率低下等问题…

Panalog 日志审计系统 sprog_deletevent.php SQL 注入漏洞复现

0x01 产品简介 Panalog大数据日志审计系统定位于将大数据产品应用于高校、 公安、 政企、 医疗、 金融、 能源等行业之中,针对网络流量的信息进行日志留存,可对用户上网行为进行审计,逐渐形成大数据采集、 大数据分析、 大数据整合的工作模式…

PairLIE论文阅读笔记

PairLIE论文阅读笔记 论文为2023CVPR的Learning a Simple Low-light Image Enhancer from Paired Low-light Instances.论文链接如下: openaccess.thecvf.com/content/CVPR2023/papers/Fu_Learning_a_Simple_Low-Light_Image_Enhancer_From_Paired_Low-Light_Instan…

IO函数及应用

1.实现登录功能。自定义- -个usr.txt,手动输入账户密码,格式如下:账户密码 例如: zhangsan 12345 lisi abcde wangwu abc123 需求如下: a.从终端获取账户密码,与文件中的账户密码比较 b.若终端输入的账户不存在,则输出账户不存在 c.若终端输入…

【文心一言】使用飞桨 AI Studio 快速搭建,看图识猜成语应用

目录 一、背景二、实践三、创建应用3.1、零代码开发3.2、应用名称3.2、模型训练3.3、开始训练 四、应用部署4.1、发布项目4.2、搜索应用4.3、应用部署4.4、获取令牌4.4、导入依赖4.5、配置CORS4.6、使用测试API4.7、运行4.8、测试API接口4.9、前端API接口 五、启动前端5.1、模块…

读书笔记 | 自我管理的关键是提高执行力

哈喽啊,你好,我是雷工! 有句话说,能管好自己才是真的本事。 自我管理,管好自己很重要。 我们之所以懂得这么多的道理,却依然过不好这一生? 很大部分原因是因为管不住自己,做不到。 …

UART设备

UART简介 UART(Universal Asynchronous Receiver/Transmitter)通用异步收发传输器,UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。 是在应用程序开发过程中使用频率最高的数据总线。 UART串…

linux7安装redis7.2.3以及使用ssh方式远程连接redis教程

1.下载redis.tar.gz包 地址:Download | Redis 2. 上传到linux服并解压 cd /home/local tar -zxvf redis-7.2.3.tar.gz 3.编译并设置安装目录 安装前先安装python3:linux7安装python3.12.1教程-CSDN博客 yum install gcc-c # 安装编译所需环境 cd redi…

stm32学习:DHT11+0.96寸oled屏

目录 材料 接线 步骤 stm32clube配置 配置gpio口 配置IIC,OLED 生成项目 打开项目编辑 加入dht11和oled文件到项目中 将.c文件加入到项目中,然后编译 修改main代码 烧录后就会在oled上出现温湿度 注意 材料 stmf103c8t6dht11oled(IIC&…

智能外呼是什么意思?智能外呼的工作原理是什么?

智能外呼是什么意思? 智能外呼是指利用人工智能技术实现对电话外呼的优化和自动化,以提高外呼效率和质量。智能外呼可以根据客户的需求和行为进行智能化的拨号、语音识别、语音合成、自动化问答等操作,从而实现更高效、更准确的客户沟通和营…