将视频插入视频:CVPR2019论文解析

将视频插入视频:CVPR2019论文解析

Inserting Videos into Videos

在这里插入图片描述

论文链接:

http://openaccess.thecvf.com/content_CVPR_2019/papers/Lee_Inserting_Videos_Into_Videos_CVPR_2019_paper.pdf

摘要

在本文中,本文引入了一个新的问题,即通过插入其他视频来操作给定的视频。本文的主要任务是,给定一个对象视频和一个场景视频,在场景视频中用户指定的位置插入对象视频,以使生成的视频看起来逼真。本文的目标是处理不同的物体运动和复杂的背景,而不需要昂贵的分割注释。由于很难收集到这一问题的训练对,本文合成了假训练对,当用未配对的真实数据训练神经网络时,可以提供有用的监控信号。所提出的网络结构可以以真对和假对为输入,在对抗性学习方案中进行有监督和无监督训练。为了合成真实感视频,网络根据当前输入和之前的帧渲染每个帧。在这个框架中,本文观察到在生成当前帧的同时向先前帧中注入噪声可以稳定训练。本文在真实世界的视频中进行了目标跟踪和人识别基准数据集的实验。实验结果表明,该算法能够在给定目标视频的情况下合成长序列的真实感视频。

  1. Introduction

这项工作的主要贡献总结如下:

•本文引入了一个重要且具有挑战性的问题,它将对象插入的领域从图像扩展到视频。

•本文提出了一种合成有监督伪训练对的新方法,该方法可以帮助深层神经网络学习在没有有监督真训练对的情况下插入对象。

•本文开发了一个新的条件GAN模型,以便于无监督真实训练对和监督虚假训练对的联合训练。

•本文证明了所提出的算法可以在挑战现实世界输入视频的基础上合成真实视频。

在这里插入图片描述

  1. Related Work

将对象插入图像。给定一对对象图像和场景图像,ST-GAN方法[16]学习条件于场景的对象的扭曲。基于扭曲,对象将在不更改其外观的情况下转换到新位置。由于它关注的是几何真实感,所以它们使用精心分割的对象作为输入。其他方法旨在通过呈现对象的外观来插入对象。在[10]中,目标类别中的对象被插入到场景中,给定一个位置和一个边界框的大小。它首先预测对象在语义空间中的形状,然后从预测的语义标签映射和输入图像生成输出图像。

文献[19]提出了一种不使用语义标签映射的相似方法。将行人的边界框替换为随机噪声,然后根据周围环境填充新的行人。为了学习新对象的位置和形状,[5]中的方法使用图像绘制算法从场景中移除现有对象。然后,训练一个网络来恢复现有的对象。这种方法的结果很大程度上依赖于所采用的绘画算法中的图像是否表现良好(例如不产生噪声像素)的运行脚本。在[14]中,通过学习基于语义标签映射的对象的位置和形状的联合分布,可以缓解这个问题。该方法的目的是通过学习将单元边界框扭曲到场景中的各种af fi fi变换,找出边界框的合理位置和大小。然后,根据预测的位置和周围环境合成不同形状的物体。与现有方法相比,本文的算法允许用户指定要插入的对象的外观和位置。此外,本文的算法不需要训练或测试分割图。

条件视频合成

未来帧预测任务在先前帧上设定条件以合成图像内容[18、7、32、6、15、29、30]。由于预测过程中的不确定性和累积误差,通常只能生成短视频序列。另一方面,本文通过将一个视频插入到另一个视频中来合成长视频序列。视频的内容可以传输到其他视频以合成新视频。在[3]中,给定一个人的源视频,该方法将一个人的运动传输到目标视频中的另一个人。该方法利用检测到的人体姿态来估计物体的运动,并训练一个网络来呈现一个受姿态影响的人。训练后的网络呈现一个新的视频,就好像目标对象跟随源视频的运动一样。[1]中的方法不是完全遵循相同的运动,而是在目标视频的样式预先设置好的情况下传输源视频的抽象内容服务。提出了一种无监督的循环时空约束方法。它将源帧转换为目标域并预测下一帧。然后,将预测的帧转换回源域。这项工作还形成了一个循环,可以提高视频质量。

视频中的动态内容/纹理也可用于条件视频合成。在[28]中,通过学习双流网络,可以捕捉视频中的动态纹理,如水流或火焰。然后,该工作将输入图像动画到具有真实动态运动的视频中。传输视频的艺术风格以编辑目标视频,同时保留其内容[11,25]。对于更一般的视频到视频的翻译,在[33]中的方案制定了条件生成对抗网络(GANs)来合成真实感视频,给出一系列语义标签地图、草图或人体姿势作为输入。在训练过程中,网络以成对的数据作为输入,例如语义标签映射的序列和相应的RGB图像序列。该网络被约束以保持输出视频中输入序列的内容。

  1. Proposed Algorithm

在这项工作中,本文考虑了用户在视频a中选择一个对象并希望将其插入到视频B中的所需位置的问题,本文假设每个视频在每一帧都有用于边框的注释和对象的id。从A中所选对象的边界框中,本文获得了一个包含裁剪图像的视频uA。本文的目标是将uA转换为vA,这样在插入B时,转换的视频是真实的。本文首先处理这个问题的图像对应项,然后将其扩展到视频。

3.1. Inserting images into images

请注意,这与现有的图像到图像转换任务[12、13、17、35、36]不同,因为它们的目的是在将输入图像的内容更改为不同的属性或样式的同时保留输入图像的内容,例如,将语义映射转换为具有相同语义布局的RGB图像。相反,本文需要将两个不同的图像转换为一个图像,同时学习每个图像中的哪一部分内容应该被保留。如图2所示。

本文使用图3(c)中用伪对训练的网络来呈现真实对的结果。虽然有些部分模糊,但插入对象的整体形状和外观仍保持不变。此外,A中的大部分背景像素被移除并替换为rB,这表明伪对向网络提供有意义的信号以插入未看到的对象。因此,本文期望网络能够很好地训练出真假对。

然而,如图3(d)所示,当本文天真地使用(2)和(3)训练网络时,合成结果变得不稳定。本文把这归因于伪对和真对的不同分布。尽管它们的相似分布使得将网络推广到看不见的图像成为可能,但是当网络实际学习到两种类型时,它能够区分它们,从而限制了推广。本文通过使网络更难区分这些对来解决这个问题。特别是,本文使输入不确定是从伪对还是真对采样。

图3(e)显示了使用(6)中的损失函数插入的对象是尖锐和真实的。

3.2. Inserting videos into videos

然而,由于帧的映射独立于相邻帧,因此产生的序列在时间上变得不一致。因此,本文让GV在从混合输入合成每个帧时额外查找N个先前的帧。这种马尔可夫假设对于生成长序列视频是有用的[33]。图4显示了拟议的U-net[24]式编码器网络架构。

结果,生成的序列在若干帧之后包含严重的伪影。为了解决这个问题,本文在渲染当前帧之前使用随机噪声来降级以前的帧。通过阻止这种容易作弊的路径,网络必须学习两个输入之间的语义关系,而不是依赖于一方。它使网络在训练期间非常稳定。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. Experimental Results

本文在DukeMTMC[23]、TownCenter[2]和UA-DETRAC[34]等多目标跟踪或人员再识别数据库上评估了本文的方法,以证明本文的算法在实际例子中的适用性。这些数据集记录了行人或汽车自然移动的具有挑战性的场景。本文将20%的数据作为测试集进行分割,并在测试集上展示实验结果。附加结果,包括样本生成的视频和用户研究,都包含在补充材料中。

实施细节。对于所有的实验,网络结构、参数和初始化都类似于DCGAN[21]。本文使用64的转置卷积层作为发生器和鉴别器的滤波器基数。批大小设置为1,使用实例规范化而不是批规范化。输入视频的大小调整为1024×2048像素。本文从视频中裁剪u(·)和r(·),并调整为256×128像素。然后,本文在256×128像素的补丁上渲染一个对象。转换成512×256像素的图像或视频进行可视化。对于每个迭代,本文在中选择一个随机位置放置一个新对象,因为本文希望覆盖用户的各种位置和大小输入。

尽管该公式有可能学习未配对映射,但它仍然不能指导网络在平移图5(h)所示的图像时保留相同的对象。此外,本文观察到这使得网络在训练期间不稳定。与此相反,该算法插入了一个形状锐利的物体,并呈现出噪声较小的背景像素,如图5(i)所示。

图6显示了带有基线比较的视频对象插入结果。本文使用商业视频编辑软件(Adobe Premier CC Pro)的自动混合模式作为基准。另一个基线使用DeepLabv3+[4]沿帧复制和粘贴预测的段。实验结果表明,该算法能够合成出比其他基线方法更真实的视频。此外,如图7所示,本文的算法能够跨数据库和不同对象(如汽车)插入视频。

本文使用YOLOv3检测器[22]来确定它是否能够正确检测插入的对象。本文确定了检测阈值,并通过计算插入对象和检测边界框之间的交并(IoU)来测量检测器的召回率,使用IoU阈值为0.5。表1显示了使用经过五次不同迭代训练的网络的平均召回率。对于每个实验,本文随机抽取1000张图像。结果表明,该算法的平均召回率最高。另外,本文偶然发现了这个实验的一个有趣的角落案例。当(9)以如图5(e)所示的类似模式生成非真实图像时,该方法一旦达到最高的召回值。

本文根据随机生成的1000个样本计算得分,并使用DeepLabv3+[4]方法获得分割掩模。表2显示,与其他基线算法相比,该算法获得了最高的OIS。本文还注意到基于(9)的基线模型的OIS是最低的。

在这里插入图片描述
在这里插入图片描述

  1. Conclusion

在本文中,本文引入了一个新的算法来解决一个新的问题:通过插入其他视频来操作给定的视频。这是一个具有挑战性的任务,因为它本质上是一个无监督(无配对)的问题。与现有的方法不同,本文提出了一种通过合成假训练对和相应的损失函数将问题转化为成对问题的算法。本文在真实视频上进行了实验,证明了该算法能够在插入给定目标视频的情况下渲染长的真实视频。作为未来的工作,使插入的对象与新视频交互是有趣的,例如路径导航或遮挡处理。