【论文简述】SKFlow: Learning Optical Flow with Super Kernels(NeurIPS 2022)

news2025/7/16 13:27:53

一、论文简述

1. 第一作者:Shangkun Sun

2. 发表年份:2022

3. 发表期刊:NeurIPS

4. 关键词:光流、代价体、遮挡区域、大核卷积、跳跃连接

5. 探索动机:遮挡问题是光流最大的挑战之一。

现有的解决方案:One of the potential solutions is to utilize the neighbouring pixels to recover motions of the occluded regions, such as learning the neighbouring relationship by CNNs, or interpolating the hidden motions via smoothness terms in Markov Random Fields. However, both convolution and interpolation are restricted to the local information within the small operation window, which only focus on learning the local evidence. As occlusions get worse, those local evidence would be insufficient to recover the hidden motion and thus severely degrade the performance. Recent works propose to model long-range dependencies between local descriptors via non-local methods to make up the missing local evidence. These methods alleviate the issue to some extent, but still tend to fail since the representative capabilities of local descriptors have been largely weakened when facing severe occlusions.

6. 工作目标:应用大核卷积来估计被遮挡的运动。

Motivated by that larger kernels present an effective way compared to deeper layers for larger receptive fields, using large kernels in optical flow estimation network is arguably a possible solution to handle the occlusion problem.

7. 核心思想:we propose Super Kernel Flow Network (SKFlow), where we introduce a new architecture design that efficiently utilizes the conical connections and hybrid depth-wise convolutions, and accordingly develop an effective optical flow network to handle the occlusions. 

  • We introduce the super kernel schemes to opticalflow task for the first time.
  • We explore three new architecture designs for super kernel designs in the optical flow network and proposed a new network which we named SKFlow.

8. 实验结果:SOTA

SKFlow is better at resolving the ambiguity caused by severe occlusions and obtains compelling performance on standard benchmarks. Besides, SKFlow attains a good trade-off between accuracy and computation cost. On the challenging Sintel final pass test set, SKFlow ranks 1st among all published methods, improving the GMA by 9.72%, and the increase in MACs is less than 8.42%.

不同方法的帧间遮挡和光流误差图。从(a)(b),刀片的大部分移动到帧外(如像素B1移动到像素B2)。但由于感受野较大,遮挡的B1的运动仍可通过A1的非遮挡运动进行远距离恢复。(c)(d)分别表示来自正常卷积(例如GMA)SKFlow方法的预测光流和GT之间的误差。颜色越深,误差越大。SKFlow实现了更低的端点误差(EPE),并且在遮挡状态下表现更好。

9.论文&代码下载:

https://arxiv.org/pdf/2205.14623v2.pdf

https://github.com/littlespray/SKFlow

二、实现过程

1. 超级内核块设计

考虑到以下因素:1. 深层导致优化问题。虽然ResNet在一定程度上解决了深层网络的优化问题,但最近的研究仍然认为它可能表现得像浅层网络,用更深的层获得有限的感受野;2. 有效感受野(ERF)随层数呈亚线性增长,随核大小呈线性增长。因此扩大核尺寸而不是加深层以获得一个大的感受野。

超级核块组件。为了减少由于核尺寸过大而导致的大量计算成本,提出了超级核块,包含三个组成部分:(1)混合深度卷积核,受可分离卷积的启发,首先将一个卷积分割成两个深度卷积。即一个大小为L×L的大深度核和一个大小为S×S的辅助小深度核。在输入形状为N×Cin×H×W的情况下,该混合深度卷积的计算代价为N×Cin×H×W ×(L2+S2)×1。辅助核的设计目的是帮助捕获帧中的小规模模式;(2)残差连接,残差用于(a)合并大核和辅助核;(b)连接深度卷积和点卷积;(3)逐点卷积,在混合深度卷积之后,应用1×1的点卷积,以帮助信息在通道间流动。逐点卷积不改变输入维数,计算代价为:N×Cin×H×W×Cin,输入形状为N×Cin×H×W

超级核块结构。超级核块共有三种结构设计。如图所示,b, c, d列的设计来自于a列的直接设计,L和S分别表示大的和辅助深度卷积的核大小。PW是逐点卷积。SKFlow模型中使用了划线的设计。其中(1):Parallel((b))是在大深度卷积层中采用并行小核的层块。逐点卷积之后是并行运算VGG式与跳跃连接相结合的卷积。(2):Funnel(图2 (c)),是一个ResNet风格的块层,其中核大小从大核L减小到辅助核s。(3):Conical(图2 (c)),类似于漏斗设计,但以相反的顺序应用混合卷积。实验结果表明,这三种大核设计都优于普通小核卷积层,计算量的增加非常有限,其中圆锥块的性能最好,最终的设计采用了锥形块,可以表述为:

其中x和o分别表示输入和输出特征图。ConvdwS×S、ConvdwL×L分别是大核和小核的深度卷积。Convpw1×1是逐点卷积,σ是激活函数。对于每个块,都有一组1×1的卷积层来匹配维度,并增加更多的非线性变换。计算代价为(N×H×W)[D×αCin×(Cin+Cout)],其中D为卷积层深度,α为信道缩放因子。超级核块的总计算代价为N×H×W×Cin×[Cin+L2+S2+αD(Cin+Cout)]。超级核块与普通卷积的计算成本之比为:

其中α,D,S,CinCout是常数。与普通的大核相比,超级核的计算成本降低到O(1/L2),也实现了令人信服的性能

2. 超级核光流网络(SKFlow)

除了由超级核块组成的超级核模块,其他与GMA框架相似。

全对相关代价体。全对相关体用于建模所有可能位移的相关性。来自两帧的特征进行点积,然后可以建立不同层级的匹配相关性c,即:

其中x1x2为从输入帧中提取的特征图,l为相关层级。

全局运动聚合(GMA)模块。GMA模块采用自注意机制对局部描述符之间的远程连接进行建模。延续GMA之后,将该模块应用到光流解码器中。给定高HW的输入运动特征x,则输出o定义为:

其中qyky表示来自上下文特征图的查询和关键向量。Vm是由x导出的值向量,f是点积注意力函数,γ是可学习系数。

超级核模块。超级核模块包括(1)超级核运动编码器,它与GMA具有相似的结构,但应用了超级核块。由代价体向量c和预测光流f得到运动特征,即:

其中SKBlock表示超级核块,Concat是连接操作。(2)超级核更新器。与RAFTGMA中使用的ConvGRU不同,直接采用超级核块作为更新器,对预测的残差光流∆f进行改进,可表示为:

其中xm, xc表示运动特征和上下文特征。xgGMA模块的全局运动特征。

SKFlow的整个结构如下图所示。值得注意的是,在解码器中应用超级核块只是出于以下考虑:由于其相对较小,应用在解码器中效率更高。考虑到对于大多数库中的大型深度核,像3×3核,缺乏正常的有效执行,使用这两个大的编码器中的超级内核会在推理和训练中花费大量额外的时间。虽然这个问题可能会在未来更快的实现中得到解决,但目前在较小的解码器部分应用超级核会带来适度的时间增加,并实现显著的性能改进。

SK MoE.和SK Upd.分别表示超核运动编码器和更新器,GMA非局部方法。

3. 监督

采用以下损失函数来监督参数更新,对每次改进后预测光流的l1损失进行指数递增系数加权:

λ表示不同预测光流的权重,在我们的实验中设置为0.8

4. 实验

4.1. 数据集

FlyingThings、Sintel、KITTI-2015、HD1K

4.2. 实现

通过PyTorch实现,2张Tesla V100 GPUs。

4.3. 基准结果:SOTA

4.4. 遮挡分析

结果如表2所示,其中“Noc”表示未遮挡像素,“Occ”表示被遮挡像素,“All”表示整体像素。大核卷积确实大幅改善了遮挡区域的光流估计。

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

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

相关文章

JavaDoc生成API文档(powernode CD2207)(内含教学视频+源代码)

JavaDoc生成API文档(powernode CD2207)(内含教学视频源代码) 教学视频源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87473419 目录JavaDoc生成API文档(powernode CD2207)(内含教学视频源代…

robotiq 2f 140安装在UR3机械臂后面在gazebo仿真中散架、抖动

robotiq 2f 140安装在UR3机械臂后面在gazebo仿真中散架、抖动 搭建环境: ubuntu: 20.04 ros: Nonetic sensor: robotiq_ft300 gripper: robotiq_2f_140_gripper UR: UR3 通过上一篇博客配置好ur3、力传感器和robotiq夹爪的gazebo仿真环境后,夹爪看起来…

操作系统作业

1、下列关于线程的描述中,错误的是A.内核级线程的调度由操作系统完成B.操作系统为每个用户级线程建立一个线程控制块C.用户级线程间的切换比内核级线程间的切换效率高D.用户级线程可以在不支持内核级线程的操作系统上实…

07- 图像上下采样及图像直方图显示 (OpenCV基础) (机器视觉)

知识重点 高斯金字塔pyrDown向下采样: dst cv2.pyrDown(img) # 每次处理后, 结果图像是原来的1/4.pyrUp 向上采样: dst cv2.pyrUp(img) # 放大图片拉普拉斯金字塔 保留的就是残差: img- PyrUp(PyrDown(img))统计直方图: hist cv2.calcHist([img], [0], None, [25…

element/tree的使用(树的多选以及回显)

获取和设置各有两种方式&#xff1a;通过 node 或通过 key。如果需要通过 key 来获取或设置&#xff0c;则必须设置node-key。 <el-tree:data"data"show-checkboxdefault-expand-allnode-key"id"ref"tree"highlight-current:props"defa…

Oracle格式化五位数字格式时间

首先五位的时间格式一般出现在Excel批量导入时&#xff0c;年月日的时间格式读取时出现可以在excel文件中复现出来&#xff0c;在Excel文件中填写时间格式2023/02/21&#xff0c;然后右键设置单元格格式就选择常规就可以显示为5位的时间格式&#xff0c;也就是说2023/02/21对应…

不要对chatgpt过度反思 第二部分

如果未来&#xff0c;它真的可以引爆下一轮科技革命&#xff0c;只要双方不存在科技代差&#xff0c;就无法阻止科技扩散。 打个比方&#xff0c;如果你本身没有网络基础&#xff0c;没有大数据&#xff0c;她确实和你无关&#xff0c;反之&#xff0c;捅破了那层窗户纸&#x…

5.9 BGP属性-local_pref

配置BGP LOCAL_PREF属性控制选路 1. 实验目的 熟悉BGP LOCAL_PREF属性控制选路的应用场景掌握BGP LOCAL_PREF属性控制选路的配置方法2. 实验拓扑 实验拓扑如图5-9所示: 图5-9:配置BGP LOCAL_PREF属性控制选路 3. 实验步骤 (…

html笔记(一)

一、html简介 什么是HTML&#xff1f; Hyper Text Markup Language 超文本标记语言 超文本&#xff1f;超级文本&#xff0c;例如流媒体&#xff0c;声音、视频、图片等。 标记语言&#xff1f;这种语言是由大量的标签组成。 任何一个标签都有开始标签和结束标签&…

Datawahle组队学习——妙趣横生大数据 Day3

妙趣横生大数据 Day3四、HBase1. 背景2. HBase 概述3. HBase 数据模型相关概念数据坐标概念视图物理视图面向列的存储4. HBase 实现原理HBase 功能组件表和 RegionRegion 定位5. HBase 运行机制系统架构Region服务器的工作原理Store工作原理HLog工作原理实验Datawhale 大数据技…

Redis学习之Jedis(五)

这里写目录标题一、Jedis简介二、Jedis代码实现2.1 新建java工程2.2 导入jar包2.3 编写代码2.4 这里可以换用maven项目三、Jedis简易工具类开发3.1 添加jar包3.2 封装连接参数3.3 加载配置信息3.4 获取连接一、Jedis简介 Jedis提供了Java与Redis的连接服务。 二、Jedis代码实…

Sigmoid和Softmax共通与区分

一、共同点 Softmax以及Sigmoid这两者都是神经网络中的激活函数&#xff0c;将输入非线性化。 都作为神经网络的最后一层&#xff0c;将输出数值转换为概率值。 二、不同点 1、Softmax Softmaxexi∑j1nexjSoftmax \frac{e^{x_{i}}}{\sum_{j1}^{n}e^{x_{j}}} Softmax∑j1n​…

第一章 操作系统概述

目录一、什么是操作系统&#xff1f;1、操作系统的概念2、计算系统的构成3、主要作用二、操作系统有哪些功能&#xff1f;1、操作系统的目标2、操作系统的功能三、操作系统有哪些特征&#xff1f;1、并发性2、共享性3、虚拟性4、异步性四、操作系统的运行机制是怎样的&#xff…

uniapp 实时定位(高德、后台运行、支持息屏、坐标转换、距离计算) Ba-LocationAMap

简介&#xff08;下载地址&#xff09; Ba-LocationAMap 是一款基于高德的定位插件。支持实时定位、后台运行、息屏运行等&#xff1b;支持逆地理地址信息&#xff1b;支持坐标转换&#xff1b;支持坐标转换&#xff1b;支持距离计算&#xff1b;支持电池优化白名单。 本插件…

Pod容器

1、Pod基础概念Pod是kubernetes中最小的资源管理组件&#xff0c;Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的&#xff0c;例如&#xff0c;用于管理Pod运行的StatefulSet和…

如何在jmeter中把响应中的数据提取出来并引用

jmeter做接口测试过程中&#xff0c;经常遇到请求需要用到token的时候&#xff0c;我们可以把返回token的接口用后置处理器提取出来&#xff0c;但是在这种情况下&#xff0c;只能适用于当前的线程组&#xff0c;其他线程组无法引用到提取的token变量值&#xff0c;所以必须要生…

数据库三大范式

目录 1.什么是范式 2.为什么使用范式 3.数据库范式类型 4.第一范式 5.第二范式 6.第三范式 1.什么是范式 一些约束、规范、规则 来优化数据库表的设计和存储&#xff0c;这些规则就称为范式。 2.为什么使用范式 遵从不同的规范要求&#xff0c;设计出合理的关系型数据库…

vue中go.js的使用教学(三:创建零部件)

目录 1.介绍 2.创建零部件 一.复杂版 二.简洁版 a.(小复杂版)重写上方复杂版代码&#xff1a; b.&#xff08;优化版&#xff09;重写上方小复杂版 c.这边在加一个扩展&#xff08;GraphObject.make 构建一个 Brush&#xff09; 1.介绍 这边的零部件&#xff0c;指的是每…

破解遗留系统快速重构的5步心法(附实例)

前两天和一个架构师朋友闲聊&#xff0c;说到了 「重构」 这个话题&#xff0c;他们公司早年间上线的项目系统&#xff0c;因一直没专人在演进过程中为代码质量负责&#xff0c;导致现在代码越来越混乱&#xff0c;逐渐堆积成“屎山”&#xff0c;目前的维护成本已远高于重新开…

#贴改色膜前,你必须要知道的事情

关于汽车改色&#xff0c;大多数人都会觉得简单的改个颜色&#xff0c;只是上一层膜而已。但是事实不是这样&#xff0c;改色膜真的不只是看价格和颜色这么简单。最近也有车主来吐槽自己踩过的坑&#xff0c;这篇给大家科普一下&#xff0c;怎么才能避坑&#xff01;一&#xf…