【论文简述】Cross-Attentional Flow Transformer for Robust Optical Flow(CVPR 2022)

news2024/12/22 22:20:58

一、论文简述

1. 第一作者:Xiuchao Sui、Shaohua Li

2. 发表年份:2021

3. 发表期刊:arxiv

4. 关键词:光流、Transformer、自注意力、交叉注意力、相关体

5. 探索动机:由于卷积的局部性和刚性权重,有限的上下文信息被纳入到像素特征中,并且计算出的相关性具有很高的随机性,以至于大多数高相关性值都是虚假匹配,因此难以处理带有运动模糊的大位移。

  1. Although newest methods are very accurate on benchmark data, under certain conditions, such as large displacements with motion blur , flow errors could still be large.
  2. The current paradigm computes the pairwise pixel similarity as the dot product of two convolutional feature vectors. Due to the locality and rigid weights of convolution, limited contextual information is incorporated into pixel features, and the computed correlations suffer from a high level of randomness, such that most of the high correlation values are spurious matches. Noises in the correlations increase with noises in the input images, such as loss of texture, lighting variations and motion blur. Naturally, noisy correlations may lead to unsuccessful image matching and inaccurate output flow. This problem becomes more prominent when there are large displacements. Reducing noisy correlations can lead to substantial improvements of flow estimation.

6. 工作目标:通过ViT解决上述问题。

An important advantage of Vision Transformers (ViTs) over convolution is that, transformer features better encode global context, by attending to pixels with dynamic weights based on their contents. For the optical flow task, useful information can propagate from clear areas to blurry areas, or from non-occluded areas to occluded areas, to improve the flow estimation of the latter. A recent study suggests that, ViTs are low-pass filters that do spatial smoothing of feature maps. Intuitively, after transformer self-attention, similar feature vectors take weighted sums of each other, smoothing out irregularities and high-frequency noises.

7. 核心思想:提出了“交叉注意力光流变换器”(CRAFT),一种新的光流估计结构。CRAFT采用了两个新颖的组件,简化了相关体的计算。此外,为了测试不同模型对大型运动的鲁棒性,设计了一种图像移动攻击,通过移动输入图像来生成大型人工运动。

  1. A semantic smoothing transformer layer fuses the features of one image, making them more global and semantically smoother.
  2. A crossframe attention layer replaces the dot-product operator for correlation computation. It provides an additional level of feature filtering through the Query and Key projections, so that the computed correlations are more accurate.

8. 实验结果:SOTA

  1. On Sintel (Final) and KITTI(foreground) benchmarks, CRAFT has achieved new stateof-the-art (SOTA) performance.
  2. In addition, to test the robustness of different models on large motions, we designed an image shifting attack that shifts input images to generate large artificial motions. As the motion magnitude increases, CRAFT performs robustly, while two representative methods, RAFT and GMA, deteriorate severely.

9.论文下载:

https://openaccess.thecvf.com/content/CVPR2022/papers/Sui_CRAFT_Cross-Attentional_Flow_Transformer_for_Robust_Optical_Flow_CVPR_2022_paper.pdf

https://github.com/askerlee/craft

二、实现过程

1. CRAFT概述

网络继承了RAFT的管道。 主要贡献是通过两个新的组件来恢复相关体计算部分(虚线绿色矩形):帧2特征上的语义平滑转换器和跨帧注意力层来计算相关体,两个新颖的组件被突出显示为带红色边框的框。 这两个组件有助于抑制相关体中的虚假相关。底部的GMA模块是全局运动聚合模块。

2. 语义平滑转换器

给定两幅连续的图像帧1和帧2作为输入,光流管道的第一步是使用卷积特征网络提取帧特征。为了增强具有更好全局上下文的帧特征,使用语义平滑变换器(简称SSTrans)对帧2特征进行变换。为了更好地适应不同的特征,采用扩展注意力作为SSTrans,而不是常用的多头注意力(MHA)。 扩展注意力是一种具有更高的容量的混合系统,在图像分割任务中显示出优于MHA的优势。

扩展的注意力(EA)层由N个模式(子转换器)组成,计算N个特征集,这些特征集使用动态模式注意力聚集成一个集合:

​式中B(k)为模式注意力得分,模式注意力概率G为所有B(k)沿模式维数的softmax。输出特征EA(X)是所有模式特征的线性组合。为了更好地保留帧的原始特征,我们添加了一个可学习的权重为w1的加权跳跃连接:

为了施加空间偏置,我们发现传统的位置嵌入不会形成有意义的偏置,而是使用相对位置偏置。偏置是一个矩阵B∈(2r+1)×(2r+1),添加到计算出的注意力,其中r是指定偏置局部范围的半径。

具体地说,假设将原来的注意力矩阵重塑为一个四维张量A∈H×W×H×W,其中H、W是帧特征的高度和宽度。 对于i,j处的每个像素,A(i,j)是一个矩阵,指定像素(i,j)与同一帧中的所有像素之间的注意力权重。 将相对位置偏置b添加到像素(i,j)的半径r的邻域:

在实现中,选择模式数为4,相对位置偏置的半径r为7。下图可视化CRAFT在Sintel训练时的相对位置偏置。观察到两个有趣的模式: 

  1. 最小的偏置值在2左右,位于(0,0)处,这意味着,当计算像素(i,j)的新特征时,该偏置项将使其自身特征的权重减少2。如果没有这一项,像素(i, j)对自身的注意力权重可能会主导其他像素的权重,因为特征向量与自身最相似。这一项减少了一个像素的旧特征在组合输出特征中的比例,有效地鼓励了来自其他像素的新信息的流入。
  2. 最大的权重在距离中心像素2 ~ 3像素处,这意味着这些周围像素的特征最常被用来补充中心像素的特征。

这两个观察结果在下图中得到了证实。下图为查询点(红色矩形)和同一图像中的所有像素之间SS转换器的自注意力关注的热图。最密集的区域是查询点注意力最高的地方,并提取特征来丰富自己。将位置偏置设置为0会导致性能下降。

在两个帧的特征上应用变换器是很有诱惑力的。 然而,在实验中,这样做会导致性能下降。 假设是基于一个普遍的信念,即图像匹配严重依赖于局部和结构的高频(HF)特征。 同时,大量的高频噪声会污染信息特征,阻碍匹配。 SSTrans作为一种低通滤波器来抑制短波噪声,但同时可以减少HF特征而增强低频(LF)特征。 因此,该模型学习在帧2中的LF和HF分量之间进行折衷,以与帧1匹配。在两个帧上应用SSTrans后,两个帧都包含较少的HF和较多的LF分量。 对它们进行匹配可能会产生许多虚假的相关关系,并损害光流的准确性。 这种直觉在下图中得到了证实。在Sintel (Final pass)测试集上帧2和第1帧上查询点之间的相关性。图像被裁剪。标准CRAFT设置(“单个SSTrans”)具有最小的噪声相关性。“双SSTrans”产生了更多的噪声相关性。

3. 相关体的跨帧注意力

在目前的范例中,相关体是跨帧像素匹配的基础。计算出帧特征f1和f2后,将相关体计算为4D张量∈H×W×H×W。传统上,相关体计算为f1和f2的成对点积:

从概念上讲,相关体本质上是变换器中没有通过查询和键投影进行特征变换的交叉注意力。查询/键投影可以被视为特征过滤器,这些特征过滤器为相关选出最有信息的特征。此外,为了获得不同的相关性,可以使用多个查询和键投影,就像扩展注意力(EA)一样。在具有多个通道的VCN中追求类似的多方面的相关。 这些好处促使本文用一个简化的EA来取代点积:

其中Qk、Kk分别是第k个查询和键投影;Ck(i,j,m,n)是用第k个模式计算的相关。Softmax算子沿k个模态取,并聚合k个相关。通过去除值投影和前馈网络,这里的EA被简化了。Qk和Kk的权重共享,因为两个帧之间的相关性是对称的。

全局相关归一化。有时会在相关体中出现极值,这可能会扰乱像素匹配。为了匹配一个像素,直观地说,候选像素的相关的相对顺序比绝对相关值更重要。 基于此,对整个相关体执行层归一化,以稳定相关。 从经验上看,这导致性能略有改善。

4. 损失函数

与RAFT相同,采用加权的多重迭代L1损失。

5. 实验

5.1. 实现细节

通过热图评价注意力权重和相关体的相关性很有说服性。此外还设计了Shifting Attack对位移进行大移动,以证明网络的优越性。

5.2. 与先进技术的比较

5.3. 消融实验

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

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

相关文章

Flutter 中使用 Widgetbook 管理你的组件

Flutter 中使用 Widgetbook 管理你的组件 前言 Flutter 界面开发中我们有几个痛点 : 与设计师协作复用一套设计规范(figma) 可视化的管理你的组件代码(基础组件、业务组件) 不同设备尺寸测试你的组件 实时修改你的测试…

【事务】在spring中事务不生效的场景总结

在开发过程中会遇到事务失效的问题,所以在开发中要特别注意,下面我自己总结了事务不生效的场景,提醒自己。 一般出现问题分为几大类: 配置问题spring aop代理问题底层数据库不支持事务问题Transactional 配置错误开发过程中使用错…

Go有序map:orderedmap

有序映射 与传统的无序映射(Map)不同,orderedmap包中的有序映射(OrderedMap)可以记录键值对的插入顺序。orderedmap提供了一些有用的API,用来存储、删除、查询和遍历键值对。 获取OrderedMap 你可以通过Ord…

地面分割--Fast Segmentation of 3D Point Clouds for Ground Vehicles论文阅读与源码分析

文章目录 1写在前面的话2点云投影分块3地面点云分割4核心代码阅读投影分块直线拟合代码分割地面点云 5实验效果参考 1写在前面的话 这篇文章属于地面分割领域非常经典的一篇论文,论文具有速度快,在一定程度能适应有坡度的地形,文章主要分为两…

学习使用ansible自动化运维工具

目录 一、虚拟机环境 二、yum方式部署 三、ansible使用 (一)将ansible服务器上文件分发给各节点 1. 创建一个要复制的文件,并复制到Ansible管理主机上 2.编辑Ansible的playbook文件,将copy模块添加到任务列表中 3. 运行play…

【c++迭代器模拟实现】

目录: 前言一、STL初始二、六大组件之迭代器迭代器初始迭代器的模拟实现(1)victor正向迭代器反向迭代器1反向迭代器2反向迭代器3 (2)list正向迭代器反向迭代器 总结 前言 打怪升级:第52天 一、STL初始 什…

和chatgpt一样的大模型LLaMA可以运行在pc上?

未来已来,大模型依据压缩模型的方式,可以在普通的PC上运行. LLaMA Facebook的LLaMA 模型和Georgi Gerganov 的llama.cpp的结合。 LLaMA,这是一组包含 7B 到 65B 参数的基础语言模型。我们在数万亿个令牌上训练我们的模型,并表明可以仅使用公开可用的数…

【Android入门到项目实战-- 9.1】—— 传感器的使用教程

目录 传感器的定义 三大类型传感器 1、运动传感器 2、环境传感器 3、位置传感器 传感器开发框架 1、SensorManager 2、Sensor 3、SensorEvent 4、SensorEventListener 一、使用传感器开发步骤 1、获取传感器信息 1)、获取传感器管理器 2)、获取设备的传感器对象列…

Java红黑树

概述 红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构。1972年出现的,当时被称之为平衡二叉B树。在1978年被修改为红黑树。红黑树是一种特殊的二叉查找树,红黑树上的每一个节点都有存储位表示节点的颜色。每一个节点可以是…

Java枚举:为什么它是单例模式的最佳选择?

前言 单例模式,是工作中比较常见的一种设计模式,通常有两种实现方式,懒汉式和饿汉式。但是这两种实现方式存在一些问题。懒汉式需要在多线程环境下使用同步锁机制来保证只有一个实例被创建,这会影响程序的性能。而饿汉式在类加载时…

《发展心理学——儿童与青少年》读书笔记

这是我读的第一本关于育儿教育类的书,该书的作者是David R. Shaffer,由北京师范大学博士生导师邹泓审校,由其底下的博士生们翻译。我看的是中文第九版。下面是我在阅读此书时做的关键摘录和部分感想: 第1章 导论:发展心理学及其研…

Java基础(二十一):集合源码

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

耗时2.5h含泪打造windows10家庭版docker安装

文章目录 一、事出有因二、安装流程Problem1Problem2Problem3 三、胜利的曙光 一、事出有因 由于最近需要跑通github上的一个代码,那个github上的代码需要通过docker部署到本地,但是我的电脑上并没有docker,真的是含泪历时2.5h才把docker在我的windows电…

【Python成长之路】基于Flask-admin库,结合html+vue,实现前后端数据传递

一、前言 前面已经做了Flask-admin库的基本介绍和几个库常用功能如何使用,若不了解请移步到以下博客: 1、?《【Python成长之路】基于Flask-admin库,编写个人工作平台代码详述》 2、?《【Python成长之路】基于Flask-admin库,编…

DP练习题

1.减操作(ACWING) 若有 a b c d e f g 几个数, 先对位置d操作 变成 a b c d - e f g 再对c操作 变成 a b c - (d-e) f g 仔细分析后得出结论:对于第一个数如a, 它一定为正数,第二个数b,一定为负数&#…

Java并发(四)----线程运行原理

1、线程运行原理 1.1 栈与栈帧   Java Virtual Machine Stacks (Java 虚拟机栈 JVM) 我们都知道 JVM 中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟机就会为其分…

java 解密springboot的WEB端口是谁启动的之内嵌tomcat

找到项目的 pom.xml 看到下面的spring-boot-starter-web 我们按住 Ctrl 点击进去 里面就有一个 tomcat 简单说 我们的程序能启动起tomcat端口 就是靠的这个东西 简单说 就是在程序中嵌了一个tomcat服务器 这里 可能就有小伙伴蒙了 不是把程序放在服务器上运行吗&#xff1f…

Linux Driver 和Device匹配过程分析(2)

Linux Driver 和Device匹配过程分析(2) 1 device注册流程2,driver注册匹配过程:2.1 pci_register_driver2.1.1 nvme_init2.1.2 pci_register_driver2.1.3 __pci_register_driver2.1.4 driver_register2.1.5 bus_add_driver2.1.6 d…

读书笔记——《2001太空漫游》

阿瑟克拉克神作,任何一个科幻迷都绕不开的一部作品。很早就听说过其大名,因为之前看过电影版的,总感觉少了点新鲜感,这本书就一直在书架上没有拿出来看。但是看过这本书后,我可以很负责任的说,全书都充满新…

【递推专题】常见的递推“模型”总结

目录 1.斐波那契数列分析:代码: 2.平面分割问题分析: 3.汉诺塔问题分析: 4.卡特兰数分析: 5.第二类斯特林数总结: 1.斐波那契数列 分析: 斐波那契数列又称兔子数列,其原理来源于兔子…