当前位置: 首页 > news >正文

论文阅读 | Cross-Attention Transformer for Video Interpolation

前言:ACCV2022wrokshop用transformer做插帧的文章,q,kv,来自不同的图像
代码:【here】

Cross-Attention Transformer for Video Interpolation

引言

传统的插帧方法多用光流,但是光流的局限性在于
第一:它中间会算至少两个 cost volumes,它是四维的,计算量非常大
第二:光流不太好处理遮挡(光流空洞)以及运动的边缘(光流不连续)对大的运动的处理也不友好

对于第一点,比如插帧256*256的图片,光流法的推理速度就明显比不同光流的方法的推理速度慢很多
在这里插入图片描述
因此,本文针对插帧任务专门设计了一个跨帧transformer,而不是算图像中区域与区域之间的相似性,并且提出了一个空间注意力图,来计算左右两边插帧的分数并进行融合,更好的处理运动边缘和遮挡
因此,本文的贡献点在于:

  • 提出了一个cross-attention的Transformer,
  • 提出了一个IA模块利用的两边的注意力进行融合
  • 在非光流法上跑到了SOTA

这里想补充一些我个人的看法:
刚看到这个introduction的时候我觉得很不解,感觉没有讲出transformer的最主要的贡献(我认为用transformer可以解决大位移的匹配,并且后文用的图也是插单帧的transformer,数据集是Middlebury,帧间物体的位移也很小,这种小位移的情况应该比较适合用convolution的办法解决)
然后作者更多强调是CAIN的拓展,我个人觉得是个大改动,不算另一篇文章的拓展了,然而看了实验结果我才明白,害,原来是效果不太好啊…只能说在各个数据集都跑赢了CAIN,作为拓展的确是比较成功了…

方法

pipeline
在这里插入图片描述
这里先将图片pixelshuffle,类似于transformer里打成8 * 8的patch,然后两张图片通道concat,过一层卷积,得到transformer中的k,两张原始图片作为左右两边的transformer的k,v,而对于Q和K的映射,作者这里采用的同一个映射网络,即是共享权重的,这和普通的transformer不太一样
这样每一个查询子的各个区域其实都是对原始图像进行特征的重新分配,最后的结果S的计算为
在这里插入图片描述
(由于代码暂时未公开,不知道这里是不是将特征图D进行一个Onehot编码)

最后由于左右两侧都有可以参考的图片特征,因此,对于两侧transformer后的结构进行融合,用于处理遮挡情况
如图片(C)的IA所示,4个输入在特征层堆叠连接,并过两个1 * 1的conv层,最后一层的conv的激活为softmax,两个通道,因此可以实现两个特征图
在这里插入图片描述
(为啥不和superslomo这类文章一样用sigmoid并用1相减,我也不是很懂…)
两个特征图与对应的transformer的cross-attention后得到的结果相乘,最后合并过一个ResGroup
在这里插入图片描述
(这里我认为这个设计最大的问题就是初始conv层找不准初始查询图片的位置,导致最后的插帧有可能出现伪影)

损失函数
损失函数采用图像L1损失和梯度L1损失,并强调了没有用感知损失

实验

这里作者还采用了随机添加边长范围为21 -61遮挡块的增强方式
对比实验的结果
很多方法都没超过,近期的插帧方法基本都能在vimeo上达到一个36的水平,这个结果靴微有些逊色了
在这里插入图片描述
作者这里也说明方法的另一个优势,是在于推理速度,比光流法快了很多倍,但是transformer对于底层图像任务有个致命的缺点就是随着分辨率的提升计算量二次增加,这里只是用256 * 256的图像进行的测试

最后是对cross-attention的可视化,对于这五个不同颜色的位置,有五个attention与之对应,颜色越浅代表相似分数越大
在这里插入图片描述
对于5次堆叠的transformerblock,作者也分别对前4次的cross-attention特征图进行了可视化,蓝色标记位置表示查询位置,红色位置表示相似分数最大的位置在这里插入图片描述

对于融合阶段的attention,作者也进行了可视化,并且这里作者对其中一张图加了一个遮挡块来验证两张特征图的空间权重,明显没有被遮挡的那张图的选中区域分数更高
在这里插入图片描述

总结

看到这个标题就想下载这篇论文,左右两边cross-attention的transformer是我个人觉得很适合插帧领域的一个idea,可以在不用光流warp实现解决大位移的情况,这篇文章没有提到这一点,我想可能是大位移的时候,初始图的中间位置又找不准了,可惜这个想法的结果并不是那么完美

相关文章:

论文阅读 | Cross-Attention Transformer for Video Interpolation

前言:ACCV2022wrokshop用transformer做插帧的文章,q,kv,来自不同的图像 代码:【here】 Cross-Attention Transformer for Video Interpolation 引言 传统的插帧方法多用光流,但是光流的局限性在于 第一&…...

【C++修炼之路】22.哈希

每一个不曾起舞的日子都是对生命的辜负 哈希一.哈希概念及性质1.1 哈希概念1.2 哈希冲突1.3 哈希函数二.哈希冲突解决2.1 闭散列/开放定址法2.2 开散列/哈希桶三.开放定址法代码3.1 插入Insert3.2 查找Find3.3 删除Erase3.4 映射的改良&完整代码四.开散列代码4.1 插入Inser…...

HashMap原理(一):哈希函数的设计

目录导航哈希函数的作用与本质哈希函数设计哈希表初始容量的校正哈希表容量为2的整数次幂的缺陷及解决办法注:为了简化代码,提高语义,本文将HashMap很多核心代码抽出并根据代码含义为代码片段取名,完全是为了方便读者理解。哈希函…...

06--WXS 脚本

1、简介WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML ,可以构建出页面的结构。 注意事项WXS 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。WXS 与 JavaScript 是不同的语言,有自己的…...

【Vue3】vue3 + ts 封装城市选择组件

城市选择-基本功能 能够封装城市选择组件&#xff0c;并且完成基础的显示隐藏的交互功能 &#xff08;1&#xff09;封装通用组件src/components/city/index.vue <script lang"ts" setup name"City"></script> <template><div class…...

C语言if判断语句的三种用法

C if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 语法 C 语言中 if 语句的语法&#xff1a; if(boolean_expression) {/* 如果布尔表达式为真将执行的语句 */ }如果布尔表达式为 true&#xff0c;则 if 语句内的代码块将被执行。如果布尔表达式为 false&…...

React中echarts的封装

做大屏的时候经常会遇到 echarts 展示 在 React &#xff08;^18.2.0&#xff09; 中对 echarts &#xff08;^5.4.0&#xff09; 的简单封装 echarts 封装使用 props 说明 参数说明类型可选值默认值opts初始化传入的 opts https://echarts.apache.org/zh/api.html#echarts…...

IV测试系统3A太阳能模拟器在光伏中应用

一、概述IV测试系统3A太阳能模拟器应具备光束准直、光斑均匀、辐照稳定、且与太阳光谱匹配的特点&#xff0c;使用户可足不出户的完成需要太阳光照条件的测试。科迎法电气提供多规格高品质的太阳模拟器&#xff0c;可适用于单晶硅、多晶硅、非晶硅、染料敏化、有机、钙钛矿等各…...

Vue 中过滤器 filter 使用教程

Vue 过滤器 filter 使用教程文章目录Vue 过滤器 filter 使用教程一、过滤器1.1 过滤器使用的背景1.2 格式化时间的不同实现1.3 过滤器的使用1.4 过滤器总结一、过滤器 1.1 过滤器使用的背景 过滤器提供给我们的一种数据处理方式。过滤器功能不是必须要使用的&#xff0c;因为它…...

源码numpy笔记

参考文章 numpy学习 numpy中的浅复制和深复制的详细用法 numpy中的np.where torch.gather() Numpy的核心数据结构&#xff0c;就叫做array就是数组&#xff0c;array对象可以是一维数组&#xff0c;也可以是多维数组 array本身的属性 shape&#xff1a;返回一个元组&#xf…...

【VUE】六 路由和传值

目录 一、 路由和传值 二、案例 三、案例存在无法刷新问题 一、 路由和传值 当某个组件可以根据某些参数值的不同&#xff0c;展示不同效果时&#xff0c;需要用到动态路由。 例如&#xff1a;访问网站看到课程列表&#xff0c;点击某个课程&#xff0c;就可以跳转到课程详…...

ChatGPT修炼指南和它的电力畅想

近期&#xff0c;ChatGPT刷屏各大社交平台&#xff0c;无疑成为人工智能界最靓的仔&#xff01; 身为一款“会说话”的聊天机器人程序&#xff0c;它与前辈产品Siri、小度、微软小冰等有什么不同&#xff1f;先来听听小伙伴们怎么说。 ChatGPT何以修炼得这么强大&#xff1f;…...

基于vscode开发vue项目的详细步骤教程

1、Vue下载安装步骤的详细教程(亲测有效) 1_水w的博客-CSDN博客 2、Vue下载安装步骤的详细教程(亲测有效) 2 安装与创建默认项目_水w的博客-CSDN博客 目录 五、vscode集成npm开发vue项目 1、vscode安装所需要的插件&#xff1a; 2、搭建一个vue小页面(入门vue) 3、大致理解…...

【C++初阶】1. C++入门

1. 前言 1. 什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的程序&#xff0c;需要高度的抽象和建模时&#xff0c;C语言则不合适。为了解决软件危机&#xff0c; 20世纪80年代&#xff0c; 计算机界提出了OOP(…...

数据结构与算法(二十)快速排序、堆排序(四)

数据结构与算法&#xff08;三&#xff09;软件设计(十九)https://blog.csdn.net/ke1ying/article/details/129252205 排序 分为 稳定排序 和 不稳定排序 内排序 和 外排序 内排序指在内存里&#xff0c;外排序指在外部存储空间排序 1、排序的方法分类。 插入排序&#xff…...

TensorRT量化工具pytorch_quantization代码解析(二)

有些地方看的不是透彻&#xff0c;后续继续补充&#xff01; 继续看张量量化函数&#xff0c;代码位于&#xff1a;tools\pytorch-quantization\pytorch_quantization\tensor_quant.py ScaledQuantDescriptor 量化的支持描述符:描述张量应该如何量化。QuantDescriptor和张量…...

buu [BJDCTF2020]easyrsa 1

题目描述 &#xff1a; from Crypto.Util.number import getPrime,bytes_to_long from sympy import Derivative from fractions import Fraction from secret import flagpgetPrime(1024) qgetPrime(1024) e65537 np*q zFraction(1,Derivative(arctan(p),p))-Fraction(1,Deri…...

taobao.user.openuid.getbyorder( 根据订单获取买家openuid )

&#xffe5;免费不需用户授权 根据订单获取买家openuid&#xff0c;最大查询30个 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 请求示例 TaobaoClient client new DefaultTaobaoClient(url, appkey, secret); UserOpenuidGetbyorderR…...

Mac iTerm2 rz sz

1、安装brew&#xff08;找了很多&#x1f517;&#xff0c;就这个博主的好用&#xff09; Mac如何安装brew&#xff1f;_行走的码农00的博客-CSDN博客_mac brew 2、安装lrzsz brew install lrzsz 检查是否安装成功 brew list 定位lrzsz的安装目录 brew list lrzsz 执…...

高通平台开发系列讲解(Sensor篇)Gsensor基础知识

文章目录 一、什么是SENSOR?二、Sensor的分类及作用三、Gsensor的工作原理及介绍3.1、常见Gsensor3.2、Gsensor的特性沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍 Sensor 基础 一、什么是SENSOR? 传感器(英文名称:sensor )是一种检测装置,能感…...

Python异步I/O终极调优手册(含strace+py-spy+asyncio debug mode三重追踪链路图)

第一章&#xff1a;Python异步I/O性能瓶颈的本质洞察Python的async/await语法虽大幅简化了异步编程模型&#xff0c;但其底层性能瓶颈并非源于语法糖本身&#xff0c;而根植于事件循环调度机制、GIL对CPU密集型任务的制约&#xff0c;以及I/O等待与协程切换之间的隐式开销。事件…...

老牌CMS的隐痛:从DedeCMS漏洞看开源系统会员模块的安全设计误区

DedeCMS会员模块漏洞剖析&#xff1a;开源系统安全设计的深层反思 当一款拥有百万级安装量的老牌CMS系统曝出前台任意密码修改漏洞时&#xff0c;我们看到的不仅是一个具体的技术缺陷&#xff0c;更是开源项目在安全架构设计上的系统性隐忧。2018年那场影响广泛的DedeCMS漏洞事…...

离网逆变器下垂控制实战:从公式推导到MATLAB仿真(附资源下载)

离网逆变器下垂控制实战&#xff1a;从公式推导到MATLAB仿真 在新能源发电系统中&#xff0c;离网逆变器的稳定运行至关重要。传统电压电流双闭环控制虽然简单直接&#xff0c;但在面对复杂负载变化时&#xff0c;往往会出现电压跌落、频率失稳等问题。下垂控制技术通过模拟同…...

5V与3.3V MCU串口电平转换电路设计

不同工作电压MCU间的串口电平转换电路设计1. 项目概述1.1 问题背景在现代嵌入式系统设计中&#xff0c;经常遇到不同工作电压的微控制器(MCU)之间需要进行串口通信的场景。例如&#xff1a;MCU1工作电压&#xff1a;5VMCU2工作电压&#xff1a;3.3V若直接将两个MCU的TX、RX引脚…...

告别模糊人像:AI驱动的面部增强新方案

告别模糊人像&#xff1a;AI驱动的面部增强新方案 【免费下载链接】DZ-FaceDetailer a node for comfyui for restore/edit/enchance faces utilizing face recognition 项目地址: https://gitcode.com/gh_mirrors/dz/DZ-FaceDetailer 在数字图像处理领域&#xff0c;人…...

省流量秘籍:ESP32+LittleFS构建超轻量级物联网WEB界面(附低功耗配置)

ESP32物联网低功耗WEB界面开发实战&#xff1a;从LittleFS优化到移动端适配 在野外环境或移动场景中部署物联网设备时&#xff0c;每毫安的电流消耗和每KB的流量都值得精打细算。ESP32作为一款高性价比的Wi-Fi/蓝牙双模芯片&#xff0c;其灵活的网络配置和丰富的外设接口使其成…...

不止于公式:用国民技术N32G45x定时器实现精准时间片调度(附代码)

不止于公式&#xff1a;用国民技术N32G45x定时器实现精准时间片调度&#xff08;附代码&#xff09; 在嵌入式系统开发中&#xff0c;定时器是最基础也最强大的外设之一。对于国民技术N32G45x系列微控制器而言&#xff0c;其丰富的定时器资源&#xff08;TIM2/3/4等&#xff09…...

手把手教你用Matlab Simulink搭建闭环Buck电路:从PID调参到负载突变分析

从零构建闭环Buck电路&#xff1a;Simulink实战与PID调参全解析 电力电子工程师的日常工作中&#xff0c;Buck降压电路的设计与调试是基础中的基础。但真正让一个新手头疼的&#xff0c;往往不是电路拓扑本身&#xff0c;而是如何通过仿真快速验证设计&#xff0c;特别是当引入…...

P15801 [GESP202603 六级] 完全二叉树

[GESP202603 六级] 完全二叉树 https://www.bilibili.com/video/BV1jQAEz3Eir/ 1.4满二叉树与完全二叉树 https://www.bilibili.com/video/BV1T44y1P7Xx/ 数据结构合集 - 二叉树&完全二叉树(定义, 性质) https://www.bilibili.com/video/BV1eQ3RzxEoS/ 202603GESP六级C第2题…...

Cosmos-Reason1-7B企业应用案例:研发团队用它做内部技术文档逻辑校验与补全

Cosmos-Reason1-7B企业应用案例&#xff1a;研发团队用它做内部技术文档逻辑校验与补全 1. 引言&#xff1a;技术文档的“逻辑陷阱”与AI解法 想象一下这个场景&#xff1a;你所在的研发团队刚刚完成了一个新模块的开发&#xff0c;需要撰写一份详细的技术设计文档。文档洋洋…...