专栏首页我爱计算机视觉ICCV 2019 | Adobe 无需大量数据训练,内部学习机制实现更好的视频修补

ICCV 2019 | Adobe 无需大量数据训练,内部学习机制实现更好的视频修补

今天跟大家分享一篇 ICCV 2019 的文章An Internal Learning Approach to Video Inpainting,该文在CVPR 2018 非常有意思的论文 Deep Image Prior(DIP)的启发下,使用视频内部学习(Internal Learning)的方式,同时建模表观与光流,解决视频修补中不连续的情况。

什么是内部学习?即网络在训练过程中完全不使用外部数据,对某一视频修补的过程就是一个仅利用该视频数据从头开始训练的过程。

该文作者信息:

作者来自斯坦福大学、Adobe研究院、萨里大学。

何为视频修补?

视频修补是指在视频中每帧存在目标mask的前提下,对mask遮掩区域进行修补的技术。

下图展示了两种之前的方法和该文方法在同一段视频中给出的结果。

我们可以很明显的看出,视频中存在的目标被遮挡后,该文提出的算法能较好的保留目标,而且在mask遮挡区域能很好的保留直线目标。

Deep Image Prior(DIP)

首先我们要先理解DIP是什么。

DIP 来自论文:

https://sites.skoltech.ru/app/data/uploads/sites/25/2018/04/deep_image_prior.pdf

DIP 是说,当我们用卷积神经网络从噪声图像学习如何映射到一幅被破坏的(比如污损的)图像时,网络首先会学习如何从噪声图像重建一幅好的图像,而后再学习如何破坏(污损)这幅图像。

深度卷积网络先天就拥有一种能力:首先建模图像符合自然规律的部分。

DIP 进行图像修补的过程是:学习“正常图像块+白噪声”到正常图像的映射,然后对有污损的图像块进行变换,即得到修补后的图像。

算法思想

该文作者是在DIP基础上加入了对视频修补更多的Loss约束,使得仅使用视频内部数据训练的模型,可以得到在时序上连贯的视频修补效果。

最主要的改进是,不仅建模了图像重建误差(表观),还建模相邻帧光流相关误差。

下图展示了作者的算法思想:

作者使用经典的编码器-解码器生成网络,对于视频每一帧,随机生成一个与其对应的大小一致的噪声图,网络训练时最小化视频帧重建误差、相邻帧的光流预测误差,和图像光流卷曲后的表观误差、感知误差。

损失函数如下:

其中

Lr图像生成损失Image Generation Loss,代表视频帧重建误差,Mi为Mask,故此重建误差是不考虑被破坏区域的。

Lf 光流生成损失 Flow Generation Los ,代表使用视频帧计算得来的光流和预测的光流的误差,同样不考虑被破坏区域,并且包含光流的前后向检查(Oi,j)。

Lc 连贯性损失 Consistency Loss,代表生成的光流将图像卷曲后和对应图像相比的误差。

Lp 感知损失,作者使用VGG 16网络特定层提取特征,衡量重建后图像和视频帧提取的特征之间的误差。

以上即是作者的创新点,其实想想也很简单,就是如何将光流信息合理加入到生成模型的多任务训练中。

网络训练完成后,每幅噪声图像对应的生成图像,即修补后的视频帧。

实验结果

作者收集并整理了多个数据集,下图为对于该数据集中某四帧,原始的DIP、作者实现的DIP-vid、DIP-Vid-3DCN和本文提出的算法DIP-vid-Flow视频修补视觉效果的比较:

可见,本文提出的算法对于被遮挡的物体处理的最自然、干净,不会出现不正常的扭曲。

下图为作者对修补视频中的两帧,单看某一行的重建结果:

可见本文提出的考虑光流的图像修补方法DIP-Vid-Flow,可使结果更加平滑自然。

下图为对某些特定图案纹理的修补结果:

发现本文提出的方法能更好保存那些具有直线特征的图案和建筑。

下表为使用客观评价指标对算法的评价:

可见,该文算法比大部分之前算法要好,且在复杂运动的视频中表现更好。

最后,让我们看看作者制作的视频Demo:

结论:

该文在DIP基础上引入光流建模视频修补,取得了更好的视觉效果。值得一提的是,这种内部学习机制,在低级图像处理领域,应该还可以有更多应用。

论文地址:

https://arxiv.org/pdf/1909.07957.pdf

项目地址:

https://cs.stanford.edu/~haotianz/publications/video_inpainting/#

作者称代码将开源。


本文分享自微信公众号 - 我爱计算机视觉(aicvml),作者:CV君

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实用教程!使用YOLOv3训练自己数据的目标检测

    昨天LearnOpenCV网站博主又发福利,post了一个清晰明了的教程,一步一步示例,如何使用快速实时的YOLOv3算法,训练某种特定类别目标的检测器。

    CV君
  • ICCV2019 | 腾讯优图13篇论文入选,其中3篇被选为Oral

    两年一度的国际计算机视觉大会 (International Conference on Computer Vision,ICCV) 将于 2019 年 10 月...

    CV君
  • ECCV18 Oral | MIT&谷歌视频运动放大让计算机辅助人眼“明察秋毫”

    本文来自ECCV 2018 选为Oral的论文《Learning-based Video Motion Magnification》,代码已开源,作者信息:

    CV君
  • DevOps中的测试工程师

    DevOps需要在各个阶段进行协作,因此,使开发人员和测试人员从敏捷孤岛式转变为一个在各个阶段中所有成员不断参与的运营已变得非常具有挑战性。

    FunTester
  • ccx

    DuncanZhou
  • Tensorflow入门教程(十七)——动手实现多GPU训练医学影像分割案例

    在之前的Tensorflow入门教程(九)中我简单介绍了Tensorflow数据并行多GPU处理的思路,今天我将结合具体的例子来详细说一说如何去实现...

    用户7498388
  • IO之Formatted IO

    Taishan3721
  • 【死磕 Java 并发】—– J.U.C 之 Java并发容器:ConcurrentHashMap

    HashMap是我们用得非常频繁的一个集合,但是由于它是非线程安全的,在多线程环境下,put操作是有可能产生死循环的,导致CPU利用率接近100%。为了解决该问...

    芋道源码
  • 不会Object.defineProperty你就out了

    Object.defineProperty ,顾名思义,为对象定义属性。在js中我们可以通过下面这几种方法定义属性

    IMWeb前端团队
  • 1142 奖学金 sort做法

    个人博客:doubleq.win 1142 奖学金 2007年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白...

    attack

扫码关注云+社区

领取腾讯云代金券