点击上方,选择星标置顶,不定期资源大放送

阅读大概需要9分钟

Follow小博主,每天更新前沿干货

本文转载自:机器之心  |  编辑:张倩、小舟、蛋酱

一言不合就被从视频中完全抹掉,要怎么证明你来过?

画面中的人物,骑着白马飞驰,却在跨栏的一瞬间突然消失,这一定是穿越时空才有的情节?

‍在公园中旋转起舞的女孩,转身间消失无踪:

‍街道上行驶的汽车,几秒内驶入虚空:

现实世界中,我们大概率不会亲眼目睹这些场景(太过灵异)。在传统影视制作流程中,「消失」或「隐身」特效需要依靠多段视频叠加处理,工艺相对复杂。

第一次看到哈利波特穿隐身衣的罗恩:惊讶. gif。

近日,弗吉尼亚理工大学和 Facebook 的研究者提出了一种基于流的视频补全新方法,在视频去水印、物体移除、画面扩展等方面均有着出色的表现。该研究已入选 ECCV 2020。

论文链接:https://arxiv.org/pdf/2009.01835.pdf

图灵奖得主 Yann LeCun 也在推特上推荐了这项研究:

视频补全(video completion)任务是用新合成的内容填充给定的时空区域。它有很多具体应用,包括修复(去除划痕)、视频编辑、特效处理(去除不需要的对象)、去水印以及视频稳定化等。新合成的内容应该无缝嵌入视频中,使得更改不被察觉。

视频补全任务是具有挑战性的,需要确保补全后的视频在时间上是连贯的(不会闪烁),同时还要保留动态摄像机的运动和视频中复杂的物体运动。

直到几年前,大多数方法都还使用基于补丁的合成技术。这些方法通常合成速度很慢,并且合成合成新内容的能力有限,因为它们只能重新混合视频中已有的补丁。

近来,基于学习的技术实现了更合理的合成效果。但是由于视频占用的内存较高,基于 3D 时空核的方法存在分辨率上的问题。迄今为止,最成功的方法是基于流的。他们一起合成色彩和流,沿着流的轨迹传播颜色,以提升视频的时间连贯性。从而减轻内存占用问题并实现高分辨率输出。这项新研究也采用了这种通用方法。

使用基于流的方法获得良好结果的关键是准确的流补全,尤其是沿着目标边缘合成高度精确的流边缘。但是,之前的方法都无法做到这一点,常会产生过度平滑的结果。尽管使用这种方法在背景平坦的情况下可以顺利地删除整个目标,但如果情况复杂一点,这些方法就会崩溃。例如,现有的方法难以很好地补全部分可见的动态对象(图 1b–c)。值得注意的是,这种情况在补全静态屏幕空间掩码时经常发生。

在这项新研究中,研究者通过显式地补全流边缘来改进流补全,然后再使用已经补全的流边缘来指导流补全,从而产生具有精确边缘的分段平滑流(piecewise-smooth flow)(图 1d)。

先前基于流的方法的另一个局限性在于,相邻帧之间的相连流向量只能形成连续的时间约束。例如,行走的人腿部是周期性运动,在此情景下,腿部中间的背景是反复可见的,但腿的横扫运动会阻碍形成的连续流轨迹到达(并填充)这些区域。

研究者通过在一组非局部帧中引入额外的流约束来解决这个问题,这就创造了跨越流障碍的捷径,并将颜色传播到视频的更多部分。以往基于流的方法是直接传递颜色值的,但受到光线变化、阴影、自动曝光、白平衡等因素的影响,颜色通常会随着时间的推移而产生微妙的改变。该方法通过也解决了这个问题。

总之,这篇论文通过以下几项改进克服了基于流的视频补全算法的一些局限:

1. 流边缘:通过显式地补全流边缘,研究者得到了分段平滑的流补全。

2. 非局部流:利用非局部流来补全无法通过可传递流(transitive flow)补全的区域;

3. 无缝融合:通过在梯度域中执行融合操作来避免可见的接缝;

4. 内存高效:研究者提出的方法可以处理 4k 分辨率的视频,而其他方法会因为 GPU 内存需求过大而失败。

他们在 DAVIS 数据集上验证了所提方法的有效性。定量和定性结果都表明,本文提出的方法优于 SOTA 方法。

算法概览

在这篇文章描述的方法中,模型的输入是一个彩色视频和一个二元掩码视频,后者用来指示视频的哪些部分需要合成,如图 2a 所示。

图 2:算法概览。

研究者将掩码像素称为缺失区域,其他像素称为已知区域。该方法包含以下三个步骤:

1. 流补全。研究者首先计算了相邻帧以及一组非相邻(non-local)帧之间的前向流和后向流,然后补全这些流场(flow field)的缺失区域。由于边缘通常是流映射中最显著的特征,因此研究者首先提取并补全这些边缘。接下来,他们利用补全之后的边缘来生成分段平滑的流补全(见图 2b)。

2. 时间传播。接下来,研究者沿着流轨迹为每个缺失的像素传播一组候选像素。通过链接前向流向量和后向流向量,他们得到了两个候选像素,最后又得到一个已知的像素。利用非局部流向量,通过对三个时间间隔较大的帧进行检验,研究者又得到了另外三个候选像素。他们为每一个候选像素估计了一个 confidence score 和一个二元有效性指标(见图 2c)。

3. 融合。研究者使用一个置信加权平均将每个缺失像素的候选像素与至少一个有效候选像素融合。他们在梯度域内进行这种融合,以避免可见的颜色接缝(见图 2d)。

如果经过这个过程之后还有缺失的像素,就意味着它们不能通过时间传播来填充(比如在整个视频中都被挡住的像素)。为了解决这一问题,研究者选择了一个关键帧(包含大部分仍旧缺失的像素)并利用一种单张图像补全的技术来补全这些像素。他们利用得到的结果作为上述流程新一轮迭代的输入。这种空间补全步骤保证他们在每次迭代中都取得进展,而且每一次得到的结果都会被传播到视频的其余部分,以便在下一个迭代中强制保持时间一致性。

实验结果

下表 1 展示了静态掩码图像补全方法和目标掩码图像补全方法在视频补全任务中的结果。研究者所提出的方法在 3 项指标中都显著超越了之前的 SOTA 方法。

下图 7 展示了两种掩码图像补全技术的定性结果。

关于论文的完整介绍可以参见以下视频:

重磅!DLer-计算机视觉交流2群已成立!

大家好,这是DLer-计算机视觉微信交流2群!首先非常感谢大家的支持和鼓励,我们的计算机视觉交流群正在不断扩大人员规模!希望以后能提供更多的资源福利给到大家!欢迎各位Cver加入DLer-计算机视觉微信交流大家庭 。

本群旨在学习交流图像分类、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。希望能给大家提供一个更精准的研讨交流平台!!!

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

???? 长按识别添加,即可进群!

这个视频「橡皮擦」让你瞬间消失,头发丝都不留 | ECCV 2020相关推荐

  1. 本周AI热点回顾:GPT-3开始探索付费使用;这个视频「橡皮擦」让你瞬间消失;英伟达最强消费级显卡RTX 3090出炉

    点击左上方蓝字关注我们 01 服贸会来了!百度飞桨发布最新成果,获"科技创新服务示范案例" 这周末要被"黑科技"十足的服贸会承包了!今年服贸会以"科技 ...

  2. Final Cut Pro导出视频「下」

    本文截上期文章Final Cut Pro导出视频「上」,大家可以到cherry_Lilith主页查看哦❤ 单个片段导出成视频 在素材窗口中选中单个片段,可以看到有黄色高亮,按快捷键cmd+e调出导出窗 ...

  3. Final Cut Pro中文新手教程 (八) 如何导出视频「下」

    大家好,欢迎来学习Final Cut Pro的基础教程,我是Mac小伯通,本期视频讲解--如何导出视频「下」. 本教程基于Final Cut Pro10.4.10,但是适用于整个Final Cut P ...

  4. iphone刷linux教程视频,「干货」 iPhone 刷 Android10 详细教程来了

    这不稀罕.我要是三星旗舰刷入iOS如果安卓机能刷苹果,就好了当初索尼要是答应了乔帮主让索尼手机搭载ios就好了,索尼防水加上ios流畅,那就是我梦想中手机方法来源于网络,如有侵权,联系小编删除.ID锁 ...

  5. 音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适配非标 TS 文件

    如果看到一个需要播放的视频链接显示是一张图片,你会不会感觉有点懵?如果这张图片写着 png,然后实际格式是 bmp ,你会不会更懵了?如果这个 bmp 还做了加密篡改呢?今天我们要聊的就是这样一个充满 ...

  6. 深度学习准「研究僧」预习资料:图灵奖得主Yann LeCun《深度学习(Pytorch)》春季课程...

    视学算法报道 编辑:蛋酱 转载自公众号:机器之心 开学进入倒计时,深度学习方向的准「研究僧」们,你们准备好了吗? 转眼 2020 年已经过半,又一届深度学习方向的准研究生即将踏上「炼丹」之路.对于这一 ...

  7. 「递归」第9集 | 我在腾讯做研究

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  8. 「递归」第8集 | 当敲代码的手开始写歌,玩跨界的程序员有多野?

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

  9. 「递归」第7集 | 腾讯开源联盟出征!

    我们为什么叫「递归」 "递归" (recursion) 是一种在程序设计语言中被广泛使用的算法.它有两大特点,一是调用自己,二是化繁为简.我们当中那些优秀的技术人又何尝不是如此?他 ...

最新文章

  1. Java获取当前路径和读取文件
  2. DBMS_SQL系统包的使用
  3. js:进一步关闭(范围:下一个)
  4. 把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘
  5. Pycharm中代码自动换行(亲测)
  6. 项目管理系统Redmine安装
  7. 苹果:确认开始在印度生产iPhone 13
  8. Bailian2720 大象喝水【模拟】
  9. Mac小白必备技巧4—Mac文件管理器需要的快捷键有什么?
  10. PDF 文件如何转换从可以编辑的文本和word
  11. 微信语音技术原理_玩人工智能的你必须知道的语音识别技术原理
  12. 速卖通API + 奇门 + 聚石塔 完整流程
  13. 关闭键盘按键声音和使用筛选键
  14. cmak(kafka Manager) 编译教程
  15. TANRIC:肿瘤相关lncRNA数据库
  16. 学习笔记之09for循环8个小练习
  17. 分布式数据库系统之【结构】
  18. 微信小程序如何封装api接口
  19. echart自定义图分享之自定百分比的(箱线图/盒须图)
  20. linux给音乐添加封面,linux系统获取MP3的专辑封面图片

热门文章

  1. cocos2dx+java部落战争全套游戏源码资源策划文档
  2. 神舟 mini pc Android,轻巧小机身 神舟mini PC/PCS明日爆款
  3. 安卓开发之apk自动安装代码
  4. android 组件的id,Android@id和@+id的区别 - 泡在网上的日子
  5. TFLearn入门实例
  6. python 谱聚类
  7. 继i.MX 6、i.MX 8之后,NXP发布性能强劲的i.MX 9
  8. 现代化交通难题处理,智慧停车系统建设刻不容缓
  9. web3j监听合约logs事件
  10. 与Bosun一起监控