Learning Joint Spatial-Temporal Transformation for Video Inpainting

在这里插入图片描述
ECCV2020的文章,中山大学和微软亚研院
把transformer应用于video inpainting,解决逐帧修复造成的时序不一致的问题。
paper地址
github地址

文章目录

总述

SOTA方法采用注意力模块在reference帧中寻找缺失区域进行逐帧的内容填充,但是这种方法可能会在空间和时间维度上受到不一致的注意力结果的困扰,导致视频中出现模糊和时间伪影。这篇论文提出STTN(spatial temporal transformer network),同时填充所有输入帧的缺失区域。
Motivation:使用3D卷积的方法受限于时间窗口的大小。使用attention机制的方法可以避免以上问题,能从相距较远的帧获取有效信息。但这种方法是建立在全局简单变换或者同类型运动的假设上,所以在处理复杂运动时会出现每帧/步之间的不一致匹配,并且补全是逐帧进行的,没有特地为保证时序一致设计优化。虽然后处理过程可以对生成的video进行稳定处理,但对于虚影过多的情况会失效。
本论文把视频补全建模成一个“multi-to-multi” 的问题,把相邻帧和远距离帧作为输入,同时补全所有输入帧的缺失区域。

Network

整体网络由三部分构成,
frame-level encoder: 提取每帧的深层特征
spatial-temporal transformer: 核心部分,在深层特征空间,联合学习缺失区域的spatial-temporal transformation
frame-level decoder: 从特征decode回frame

spatial-temporal transformer
沿空间和时间维度用基于patch的多头注意力模块寻找coherent contents。transformer的不同head计算不同尺度的空间块attention。这样就可以处理由复杂运动引起的外观变化。
For example, on one hand, attentions for patches of large sizes (e.g., frame size H × W) aim at completing stationary backgrounds. On the other hand, attentions for patches of small sizes (e.g., H/10 × W/10 ) encourage capturing deep correspondences in any locations of videos for moving foregrounds.
多头transformer并行地对不同尺寸的块多次执行“Embedding-Matching-Attending”步骤。
Embedding:每帧的特征映射为query和memory(key-value对)
Matching:分块后,按attention的方法处理就可以了(矩阵乘法计算针对patch的query和key相似度,softmax处理权重)
Attending:计算相关patches的value加权和得到输出patch的query。得到所有patch的query后,重新拼接并且reshape回T个frame和原始的空间尺寸。不同头输出的特征进行拼接后经过一个2D残差块。
通过叠加层可以增强transformer的能力

优化目标

逐像素重建损失:简单的L1 loss(缺失区域和有效区域分开计算,权重不同)
perceptual和时空一致:训练T-patchGAN作为discriminator

实验

inference速度在单卡上达到24.3fps
数据集用Youtube-VOS和DAVIS
定量实验 定性试验对比VINet DFVI LGTSM CAP
消融实验:验证multi-head multi-layers的有效性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值