论文阅读《Learning Adaptive Dense Event Stereo from the Image Domain》

news2024/11/16 20:28:01

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


概述

  事件相机在低光照条件下可以稳定工作,然而,基于事件相机的立体方法在域迁移时性能会严重下降。无监督领域自适应作为该问题的一种解决方法,传统的无监督自适应方法依赖于源域的标签值,但源域的视差标签值难以获取。针对该问题,文中提出一种新的无监督域自适应密集时间立体匹配方法(ADES)用于缓解目标域域源域之间的域偏差导致的模型性能下降问题。首先,文中提出一种自监督模块通过图像重建来训练在目标域的模型。与此同时,在源域上训练一个涂抹预测网络协助去除重建图像中的间歇性伪影。使用一个特征的归一化策略来沿着极线对齐匹配特征。最后,使用一个运动不变的一致性模块来在扰动运动之间实现一致性输出。实验结果表明,该模型在从普通图像域到事件相机图像域立体匹配的适应性上得到提升。
在这里插入图片描述


模型架构

  模型主要包含三个部分:涂抹感知自监督模块、特征正则化、运动不变的一致性模块。涂抹感知自监督模块:该模块利用通过图像重建来利用图像的密集特征,从而在目标域的事件相机数据上训练模型。事件相机的数据是一种稀疏的数据表示,它异步地记录像素级的亮度变化信息(事件),而不是以固定的帧率捕获标准的强度图像。因此,只使用事件数据来重建图像时,在物体的边缘容易产生模糊混和失真的伪影,称之为涂抹效应。这种涂抹效应会影响视差预测的精度。为了预测目标域中的涂抹效应,作者在源域的图像数据引入一个模块来估计和抑制重建图像的涂抹效应。此外,作者在构建代价体之间使用特征归一化对匹配特征进行归一化处理。特征归一化化策略常被用于图像模态的域自适应过程中,由于事件相机成像的特殊性(如天空之类的区域事件的稀疏性),对整个像素区域归一化并不高效,传统的归一化方法可能会误导模型偏向于没有事件发生的区域的值。为了减少源域与目标域之间像素的差异,作者沿着极线方向来对特征进行归一化。针对由事件相机运动引起的域偏差,作者提出运动不变一致性模块来预测一致的视差。
在这里插入图片描述
  给定输入源域的图像对 ( I l t − 1 , I r t − 1 ) , ( I l t , I r t ) (I_l^{t-1}, I_r^{t-1}), (I_l^{t}, I_r^{t}) (Ilt1,Irt1),(Ilt,Irt) 与对应的视差标签 d ~ l t \tilde{d}_l^t d~lt,模型的目标是在目标域中从事件流 E l t ^ , E r t ^ E_{l}^{\hat{t}},E_{r}^{\hat{t}} Elt^,Ert^ 预测 t ^ \widehat{t} t 时刻的视差 D l t ^ D_{l}^{\hat{t}} Dlt^(源域与目标域的样本非匹配),使用体素网格来表示事件流(使用 V l t ^ V_l^{\hat{t}} Vlt^ 来代表 E l t ^ E_l^{\hat{t}} Elt^)。
  ADES(Adaptive Dense Event Stereo)主要包含三个模块:涂抹感知自监督模块、特征归一化模块、运动不变一致性模块。在源域,使用一个预训练好的“视频到事件”重建模型( G I → E \mathcal{G}_{I\to E} GIE)来从左右图像序列中提取事件表征: V l t = G I → E ( I l t − 1 , I l t ) , V r t = G I → E ( I r t − 1 , I r t ) . V_l^t=\mathcal{G}_{I\to E}(I_l^{t-1},I_l^t),V_r^t=\mathcal{G}_{I\to E}(I_r^{t-1},I_r^t). Vlt=GIE(Ilt1,Ilt),Vrt=GIE(Irt1,Irt). 将源域生成的体素网格对 ( V l t , V r t ) (V_{l}^{t},V_{r}^{t}) (Vlt,Vrt) 与目标域中的体素网格对 ( V l t ^ , V r t ^ ) (V_l^{\hat{t}},V_r^{\hat{t}}) (Vlt^,Vrt^) 同时送入权值共享的事件流立体匹配模型,在此过程中,作者使用特征归一化来降低域偏差带来的影响。对源域样本对应的视差标签来计算视差损失,使用涂抹感知自监督模块与运动不变一致性模块来对目标域样本的结果计算损失。

Smudge-aware Self-supervision Module (SSM):涂抹感知自监督模块

   该模块旨在使用光度一致性重建的自监督的子任务来提高模型的域自适应能力,如图3下方所示。在这里插入图片描述
  使用一个预训练好的“事件到图像”的网络来将目标域的体素网格映射到图像空间,而在此过程中在图像中的物体边缘会出现模糊,称之为涂抹现象。为此,在目标域训练一个涂抹感知自监督模块来预测涂抹的区域。
  在源域中,如图3上方所示,作者通过随机扭曲域模糊对图像进行增强来模拟涂抹效应的影响。为了模拟由传感器噪声在物体边缘产生的涂抹影响,作者使用超像素算法来解析区域而不是随机选取的矩形区域进行模糊增强 (因为超像素的边缘通常位于物体的边界上,从而更好地反映了由于传感器噪声而在物体边界处产生的涂抹效果)。继而使用一个轻量化的U-Net来预测预测涂抹区域,并使用二元交叉熵损失来计算损失: L s o u r c e m a s k = ∑ i ∈ { l , r } B C E ( M i t , M ~ i t ) . \mathcal{L}_{source}^{mask}=\sum_{i\in\{l,r\}}BCE(M_{i}^{t},\tilde{M}_{i}^{t}). Lsourcemask=i{l,r}BCE(Mit,M~it).
  在目标域,如图3下方所示,作者使用权值共享的涂抹区域预测网络来从重建图像 I ^ l t ^ , I ^ r t ^ \hat{I}_{l}^{\hat{t}},\hat{I}_{r}^{\hat{t}} I^lt^,I^rt^ 预测涂抹区域 M l t ^ , M r t ^ ∈ [ 0 , 1 ] M_{l}^{\hat{t}},M_{r}^{\hat{t}}\in[0,1] Mlt^,Mrt^[0,1],将 I ^ r t ^ \hat{I}_{r}^{\hat{t}} I^rt^ 根据目标域预测的视差图 D l t ^ D_{l}^{\hat{t}} Dlt^来warp到左视图得到 W ˉ r → l ( I ^ r t ^ ) \bar{W}_{r\to l}(\hat{I}_r^{\hat{t}}) Wˉrl(I^rt^)。考虑到左右驶入的涂抹mask图像,光度一致性误差定义为:
L t a r g e t r e c o n = α 1 − SSIM ( I ^ l t ^ ⊙ M t ^ , W r → l ( I ^ r t ^ ) ⊙ M t ^ ) 2 + ( 1 − α ) ∥ I ^ l t ^ ⊙ M t ^ − W r → l ( I ^ r t ^ ) ⊙ M t ^ ∥ 1 , (1) \begin{aligned} \mathcal{L}_{target}^{recon}& =\alpha\frac{1-\text{SSIM}(\hat{I}_{l}^{\hat{t}}\odot M^{\hat{t}},W_{r\to l}(\hat{I}_{r}^{\hat{t}})\odot M^{\hat{t}})}{2} +(1-\alpha)\|\hat{I}_{l}^{\hat{t}}\odot M^{\hat{t}}-W_{r\to l}(\hat{I}_{r}^{\hat{t}})\odot M^{\hat{t}}\|_{1}, \end{aligned}\tag{1} Ltargetrecon=α21SSIM(I^lt^Mt^,Wrl(I^rt^)Mt^)+(1α)I^lt^Mt^Wrl(I^rt^)Mt^1,(1)
其中, M t ^ = 1 − ( M l t ^ ⊙ W r → l ( M r t ^ ) ) , \begin{aligned}M^{\hat{t}}=1-(M_{l}^{\hat{t}}\odot W_{r\to l}(M_{r}^{\hat{t}})),\end{aligned} Mt^=1(Mlt^Wrl(Mrt^)), ⊙ \odot 表示逐元素相乘。SSIM 表示结构一致性损失, α = 0.85 \alpha=0.85 α=0.85

Feature Normalization 特征归一化

  为了减小源域与目标域之间的域偏差,作者使用了特征级归一化方法来对特征增强。但考虑到不同区域事件的稀疏性(在图像上方的天空区域事件较少,而在图像下方的建筑的事件较多)以及极线校正图像的特殊性,作者只沿着极线方向在事件发生的区域进行特征归一化,先沿着通道维度进行归一化:
F ( k , i , j ) = F ( k , i , j ) ∑ c = 0 C − 1 ∥ F ( c , i , j ) ∥ 2 + ε ⋅ (2) F(k,i,j)=\frac{F(k,i,j)}{\sqrt{\sum_{c=0}^{C-1}\left\|F(c,i,j)\right\|^2+\varepsilon}}\cdotp \tag{2} F(k,i,j)=c=0C1F(c,i,j)2+ε F(k,i,j)(2)
继而沿着极线方向归一化:
F ( k , i , j ) = F ( k , i , j ) ∑ w = 0 W − 1 ∥ F ( k , i , w ) ∥ 2 + ε . (3) \begin{aligned}F(k,i,j)&=\frac{F(k,i,j)}{\sqrt{\sum_{w=0}^{W-1}\left\|F(k,i,w)\right\|^2+\varepsilon}}.\end{aligned}\tag{3} F(k,i,j)=w=0W1F(k,i,w)2+ε F(k,i,j).(3)

Motion-invariant Consistency Module (MCM) 运动不变的一致性模块

   该模块旨在解决由不同相机运动引起的域偏差和增强模型对扰动与噪声的鲁棒性。将 T T T 时间内累积的事件 V l t ^ , T , V r t ^ , T V_l^{\hat{t},T},V_r^{\hat{t},T} Vlt^,T,Vrt^,T 送入视差预测模型中得到视差图 D l t ^ . D_{l}^{\hat{t}}. Dlt^. 由于现有的数据集中运动是固定且无法改变的,作者引入一个时间扰动参数 τ \tau τ 来增强快事件流。若事件数据在 T + τ T+\tau T+τ 时间内积累,将其沿着时间通道归一化到0-1,并转换为体素网格后可以模仿快速运动中的事物的事件体素网格。若事件数据在 T − τ T-\tau Tτ 时间内积累,则与慢速运动产生的体素网格相同,如图5所示:
在这里插入图片描述
   将 V l t ^ , T ^ , V r t ^ , T ^ V_l^{\hat{t},\hat{T}},V_r^{\hat{t},\hat{T}} Vlt^,T^,Vrt^,T^ 送入事件立体匹配模型中得到视差图 D ~ l t ^ . \tilde{D}_l^{\hat{t}}. D~lt^.,使用 L 1 L_1 L1 损失来约束增强前后生成的视差图:

L t a r g e t c o n s i s t e n c y = ∥ D l t ^ − D ~ l t ^ ∥ 1 (4) \mathcal{L}_{target}^{consistency}=\|D_l^{\hat{t}}-\tilde{D}_l^{\hat{t}}\|_1\tag{4} Ltargetconsistency=Dlt^D~lt^1(4)


损失函数

   在源域,使用平滑 L 1 L1 L1 损失来约束视差估计模型: L s o u r c e t a s k =  smooth L 1 ( d ~ l t − d l t ) \mathcal{L}_{source}^{task}=\text{ smooth}_{L_1}(\tilde{d}_l^t-d_l^t) Lsourcetask= smoothL1(d~ltdlt), 使用二元交叉熵损失来约束涂抹区域: L s o u r c e m a s k = ∑ i ∈ { l , r } B C E ( M i t , M ~ i t ) . \mathcal{L}_{source}^{mask}=\sum_{i\in\{l,r\}}BCE(M_{i}^{t},\tilde{M}_{i}^{t}). Lsourcemask=i{l,r}BCE(Mit,M~it).

  
L t o t a l = L s o u r c e t a s k + λ 1 L s o u r c e m a s k + λ 2 L t a r g e t r e c o n + λ 3 L t a r g e t c o n s i s t e n c y , \begin{aligned}\mathcal{L}^{total}=\mathcal{L}_{source}^{task}+\lambda_1\mathcal{L}_{source}^{mask}+\lambda_2\mathcal{L}_{target}^{recon}+\lambda_3\mathcal{L}_{target}^{consistency},\end{aligned} Ltotal=Lsourcetask+λ1Lsourcemask+λ2Ltargetrecon+λ3Ltargetconsistency,


实验结果

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

在这里插入图片描述

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

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

相关文章

Redis KEY*模糊查询导致速度慢、阻塞其他 Redis 操作

Redis KEY*模糊查询导致交互速度慢、阻塞其他 Redis 操作 查询速度慢的原因 在Redis中,使用通配符 KEYS 命令进行键的模糊匹配(比如 KEYS key*)可能会导致性能问题,尤其是在数据集较大时。这是因为 KEYS 命令的实现需要遍历所有…

盘古信息牵手时信集团,IMS-MOM护航制造企业海外工厂高效管理

在当前全球化经济背景下,制造企业海外工厂布局的趋势日益凸显。布局全球多工厂制造基地在管理方面需要直面多方面的挑战,包含复杂的全球供应链管理、跨地域资源协同合作、远程监测运营等等。在这种背景下,数字化智能制造系统被业内广泛应用&a…

多段图问题-动态规划解法

一、多段图问题 问题描述:设图G(V, E)是一个带权有向图,如果把顶点集合V划分成k个互不相交的子集Vi (2≤k≤n, 1≤i≤k),使得对于E中的任何一条边(u, v),必有u∈Vi,v∈Vim (1≤i≤k, 1<im≤k),…

因小失大,一个普通的postman多接口顺序执行,让项目瘫痪了一天

Runner的使用 postman不仅可以单独运行某个接口,postman的 Runner模块可以运行多个接口,可以实现真正意义上的自动化接口测试 Runner的主要功能如下 按顺序调用接口,执行用例; 批量发送请求; 对接口数据进行参数化…

Termux+Hexo结合内网穿透轻松实现安卓手机搭建博客网站发布公网访问

文章目录 前言 1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址 前言 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并结合…

C++STL的string模拟实现

文章目录 前言string的成员变量成员函数构造函数拷贝构造赋值重载 模拟实现string各种接口print迭代器普通迭代器const迭代器 string比较大小push_backinsert 和 eraseinserterase reserve和resizereserveresize swapfindcout和cincoutcin 前言 今天要讲string的底层实现&…

c语言实例:计算并输出一个整数数组的平均值

大家好,今天给大家介绍一个c语言实例:计算并输出一个整数数组的平均值,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 以下是一个使用C语言实现的实例&am…

SMART PLC系统时间功能块

有时需要进行和系统时间相关的一些控制应用,所以PLC的系统时间对于此时的工程应用显得尤为重要。下面我们介绍系统时间功能块,这里的功能块我们可以对系统时间进行读取,还可以对系统时间进行修改。 1、系统时间 2、修改系统时间 功能块利用指针和指针运算完成系统时间读取和…

探索鸿蒙 TextInput组件

TextInput 根据组件名字,可以得知他是一个文本输出框。 声明代码👇 TextInput({placeholder?:ResourceStr,text?:ResourceStr}); placeholder: 就是提示文本,跟网页开发中的placeholder一样的 text:输入框当前的文本内容 特殊属…

人工智能从 DeepMind 到 ChatGPT ,从 2012 - 2024

本心、输入输出、结果 文章目录 人工智能从 DeepMind 到 ChatGPT ,从 2012 - 2024前言2010年:DeepMind诞生2012~2013年:谷歌重视AI发展,“拿下”Hinton2013~2014年:谷歌收购DeepMind2013年&…

Linux常用命令——arpwatch命令

在线Linux命令查询工具 arpwatch 监听网络上ARP的记录 补充说明 arpwatch命令用来监听网络上arp的记录。 语法 arpwatch(选项)选项 -d&#xff1a;启动排错模式&#xff1b; -f<记录文件>&#xff1a;设置存储ARP记录的文件&#xff0c;预设为/var/arpwatch/arp.d…

IOday6作业

1>使用有名管道&#xff0c;完成两个进程的相互通信 //create.c #include<myhead.h>int main(int argc, const char *argv[]) {if((mkfifo("myfifo1",0664)) -1){perror("mkfifo");return -1;}if((mkfifo("myfifo2",0664)) -1){perror…

MySQL 教程 2.1

MySQL 插入数据 MySQL 表中使用 INSERT INTO 语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据&#xff0c;或者通过PHP脚本来插入数据。 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法&#xff1a; INSERT INTO table_name (colu…

Vue 核心 数据监听 computed | watch

Vue 核心 数据监听 computed | watch 一、今日学习目标 1.指令补充 指令修饰符v-bind对样式增强的操作v-model应用于其他表单元素 2.computed计算属性 基础语法计算属性vs方法计算属性的完整写法成绩案例 3.watch侦听器 基础写法完整写法 4.综合案例 &#xff08;演示&…

【ArcGIS Pro微课1000例】0053:基于SQL Server创建与启用地理数据库

之前的文章有讲述基于SQL Server创建企业级地理数据库,本文讲述在SQL Server中创建常规的关心数据库,然后在ArcGIS Pro中将其启用,转换为企业级地理数据库。 1. 在SQL Server中创建数据库** 打开SQL Server 2019,连接到数据库服务器。 展开数据库连接,在数据库上右键→新…

一个不错的文章伪原创系统程序源码

一款文章伪原创系统程序源码免费分享&#xff0c;程序是站长原创的。 一共花了站长几天时间写的这个文章伪原创平台&#xff0c;程序无需数据库。 程序前端采用BootStrap框架搭建&#xff0c;后端采用PHP原生书写。 前端伪原创采用Ajax无刷新提交&#xff0c;Ajax转换到词库…

时域频域(学习记录1)

1 小伙伴们&#xff0c;今天让我们一起来聊聊Something about DATA 系列。我们先回顾一下本系列对NVH测试中的数据采集做的整体介绍&#xff1a; A 数据采集过程&#xff1b; B 硬件设备&#xff1b; C 数采软件&#xff1b; D ATOM中的数据采集&#xff1b; 接下来的几篇文章…

zotero关闭翻译自动创建标签

zotero中文社区&#xff1a;https://plugins.zotero-chinese.com/#/

代码去除注释Remove Comments、合并行Join Lines、代码压缩Minify等vscode功能

1. 去除注释 通过vscode商店扩展 Remove Comments 移除注释。 Just copy-pasted some code from somewhere and it’s obscenely documented with unnecessary comments everywhere? Remove Comments will help you undocument the code and remove all the comments present…

AUTOSAR CP Int-Watchdog简介

Int Watchdog 1 简介2 EB 中配置 TC39X3 Wdg 在代码中使用1 简介 内部看门狗驱动[sws_Wdg_00161]要访问内部看门狗硬件,对应的 Wdg 模块实例应该直接访问看门狗服务的硬件。提示:内部看门狗驱动程序是微控制器抽象层的一部分,它允许直接的硬件访问。注意:内部看门狗的日常服…