论文阅读:Few-shot Video-to-Video Synthesis

没想到 寒假在家两个月了!寒假过得有了暑假的感觉…很多东西都因为疫情开始搁置,小李又来更新了。今日依旧是论文阅读系列。

论文名称:《Few-shot Video-to-Video Synthesis》
论文地址:https://arxiv.org/abs/1910.12713
论文翻译:https://blog.csdn.net/a312863063/article/details/102895889
代码地址:https://github.com/NVlabs/few-shot-vid2vid
友情参考:https://tech.sina.cn/2019-12-27/detail-iihnzahk0323975.d.html?from=wap

本篇文章只记录个人阅读论文的笔记,具体翻译、代码等不展开,详细可见上述的连接

Background

Task(what to do?)
Video-to-video synthesis (vid2vid) aims at converting an input semantic video,such as videos of human poses or segmentation masks, to an output photorealisticvideo.
简单来说就是,视频到视频之间的转换合成,目标在于将输入的语义视频转换成输出为具有真实感的视频。
具体效果如下所示:


Limitations/Challenges
a.First, they are data-hungry
b.Second, a learned model has limited generalization capability.
主要局限在于,数据需求量太大,合成模型表达能力有限。首先,对合成某人真人运动视频要求模型有大量目标对象的图像来完成训练,对数据量的要求巨大,其次单个姿态到真人视频合成 vid2vid 模型通常只能合成训练集里包括的人体个体,无法生成任何不处于训练集中的人的运动视频。

Some relevant methods
GANs.: The proposed few-shot vid2vid model is based on GANs . Specifically, we usea conditional GAN framework. Instead of generating outputs by converting samples from some noise distribution , we generate outputs based on user input data, which allowsmore flexible control over the outputs.(具体来说,我们使用条件 GAN(CGAN) 框架。不是通过转换来自某些噪声分布的样本来生成输出,而是根据用户输入数 据生成输出,从而可以更灵活地控制输出。)
Image-to-image synthesis, which transfers an input image from one domain to a corresponding image in another domain , is the foundation of vid2vid.For videos, the new challenge lies in generating sequences of frames that are not only photorealistic individually but also temporally consistent as a whole.(将输入图像从一个域转移到另一个域中的对应图像是 vid2vid 的基础。对于视频而言,在于生成基于帧 的序列图,这些帧序列不仅要具有真实感,而且总体上要与时间保持吻合)
Video generative modelsthree main categories, including 1)unconditional videosynthesis models 2) future video prediction models 3) vid2vid models (分为三大类,包括 1)无条件视频合成模型,该模型将随机噪声 样本转换为视频片段; 2)未来视频预测模型,它们基于观察到的视频帧生成未来的视频帧,3)vid2vid 模型,它将语义输入视频转换为具有真实感的视频。我们工作属于第三类)
Adaptive networks refer to networks where part of the weights are dynamically computed basedon the input data.
Human pose transfer synthesizes a human in an unseen pose by utilizing an image of the human in a different pose

Work

Do
a.we propose a few-shot vid2vid framework, which learns to synthesize videos of previously unseen subjects or scenes by leveraging few example images of the target at test time.
b.Our model achieves this few-shot generalization capability via a novel
network weight generation module utilizing an attention mechanism.
c.We conduct extensive experimental validations with comparisons to strong baselines usingseveral large-scale video datasets including human-dancing videos, talking-headvideos, and street-scene videos.
1.我们提出了一个简单的 vid2vid 框架,该框架通过在测试时利用目标的少量示例图像来学习合成以前没见过的主题或场景的视频。除了人体姿态的语义视频,额外增加了少量目标真人的图片作为模型测试阶段的额外输入。
2.模型利用注意力机制的新型网络权重生成模块实现了快速的泛化能力。
3.进行了广泛的实验验证,并使用几个大型视频数据集(包括人类跳舞视频,头部 说话视频和街头现场视频)与基线模型进行了比较。

Model
简化地说,vid2vid 任务旨在学习转换语义图像序列的映射函数,例如输入图像序列 到输出图像序列。故,学习目标就是模拟一个映射函数 F将语义视频的输入序列 S 映射转换为合成视频输出序列 X,同时使得合成结果 X的条件分布令其跟真实目标 X 的条件分布尽可能接近(简单说输出目标视觉上应该与真实目标是一致的)。为了学习这个条件分布,现有工作通过一个简单的马尔科夫假设(Markov assumption),构建了一个序列生成模型 F来学习生成我们的目标输出序列。

换句话说,它是基于观察到的个输入语义图像和过去生成的图像来生成输出图像
公式1的序列生成模型可以通过训练将语义图像进行转化,但是不能对没有见过的域图像进行合成。例如,使用特定某人训练好的模型仅能用于生成相同人物的视频。为了使得F能够适用于未见过的域,我们让 F依赖两个额外的输入参数:一个是来自目标域的K个示例图像(sample e),一个是相应的语义图像(sample se),公式变为:
生成模型 F 通常有几种不同的建模方式,在文章里沿用了大多数 vid2vid 工作采用的图像提取方程:
其中符号 1 是所有图像,⊙是逐元素乘积运算符, 是软掩盖图, 是从 到 的光 流, 是合成的中间图像。其中 、 、 都是通过神经网络模型学习得到的。
要得到目标输出的合成结果 ,函数计算的核心模块为软掩盖图 m(soft occlusion map),多帧图像构成的光流 w(optical flow),以及半合成图像 h(synthesized intermediate image),三个模块带入到深度学习,又可以被表示为一个个神经网络参数化后的计算函数(计算模块)为 M,W,H,其涉及的参数都可以被网络学习并且在完成训练之后固定:

先看一下 模型的框架图
该图显示了,模型是将最后生成的图像的光流wrap版本与合成的中间图像进行组合来生成输出图像。 软遮挡图m指示在每个像素位置如何组合这两个图像。 直观地,如果先前生成的帧中观察到像素,则将有利于从变形图像中复制像素值。
Few-shot vid2vid 在整体上仍然沿用了目前的方法,保留光流预测模块子网络 W 以及软掩盖图预测模块子网络 M(W和M被设计用于使最后生成的图像变形,并且变形(image warping)本身就是在域之间自然共享的机制)。
考虑到我们的额外少量目标图片输入,few-shot vid2vid 集中优化了中间图像合成的模块 H(Fig b, c),用一个语义图像合成模型 SPADE 作为图片生成器取代了原先工作中的生成模型,SPADE 模型包含多个空间微调分支(spatial modulation branch)以及一个主要的图像合成分支。
这样做,首先,大大减少了网络 E(后面展开叙述) 必须生成的参数数量,从而避免 了过拟合问题。其次,它避免了从示例图像到输出图像的快捷通道,因为所生成的权重仅在空间调制模块中使用,空间调制模块会为主图像合成分支生成调制值。
这种建模允许 F 利用测试时提供的示例图像来提取一些有用的模式,以合成未见过的域的视频。这里,提出一个额外的网络参数生成模块 E(network weight generation module),使用该模块 E 作用于每个空间微调分支,来抽取一些视频内存在的有用模式,从而使得生成器能够合成未训练过的场景的视频结果。具体来说,E 的设计是为了从提供的示例图像中提取模式,并使用它们来计算中间图像合成网络 H 的网络权重

接下来,详细说明网络E:E分别由 EA,EP,EF 三个子网络模块构成。
EF一个示例特征提取网络,由几个卷积 层组成,并应用于示例图像上以提取外观表示q。
我们希望 E 能够从任意数量的示例图像中提取图案。由于不同的示例图像可能带有不同的外观模式,并且它们与不同的输入图像具有不同的相关性,因此我们设计了一种注意力机制来聚合提取的外观模式 ——构建了一个新的注意力网络EA ,它由几个完全卷积层组成,应用于示例图像 的每个语义图像,产生关键向量
我们通过采用矩阵乘积来计算注意力权重 。然后,将注意力权重用于计算外观表示
然后将其馈送到多层感知器网络EP 中以生成网络权重( )。不同的示例图像包含主题的不同部时,此聚合机制很有用。如,当示例图像同时包含目标人物的正面和背面时,注意力图可帮助捕获合成过程中相应的身体部位。
简单概括,EF 由多个卷积层组织起来进行图像特征抽取,EA 模块则通过预测软注意力图和加权平均操作将多张图像抽得的特征进行糅合,最终得到的糅合表征输入到子网络 EP 当中,使得我们可以得出改良后的 SPADE 生成模块分支,产生生成模型需要学习到的参数。
一个补充

Experiment

Dataset
a.YouTube dancing videos.
b.Street-scene videos.
c.Face videos.
Implementation details:Our training procedure follows the procedure from the vid2vid work .We use the ADAM optimizer with lr = 0.0004 and (β1, β2) = (0.5, 0.999). Training was conducted using an NVIDIA DGX-1 machine with 8 32GB V100 GPUs

Baseline
a.Encoder: 编码器。 在这种基线方法中,我们将示例图像编码为样式矢量,然后使用 H 中的图像合成分支 对特征进行解码以生成
b.ConcatStyle:在这种基线方法中,将示例图像编码为样式矢量。 但是,不是使用 H 中 的图像合成分支直接解码样式矢量,而是将矢量与每个输入语义图像连接起来以生成增强的语义输入图像。 然后将该图像用作H 中空间调制分支的输入,以生成中间图像
c.AdaIN:。在此基线中,在 H 的图像合成分支中的每个空间调制层之后插入一个 AdaIN 归 一化层。我们通过将示例图像馈送到编码器来生成AdaIN 归一化参数,类似于 FUNIT

Evaluation metrics
a.FID:测量实际数据的分布与生成的数据之间的距离。它通常用于量化 合成图像的保真度。
b.Pose error
c.Segmentation accuracy
d.Human subjective score:使用 Amazon Mechanical Turk(AMT)评估生成的视频的质量

Result

视觉合成效果上直观来看,无论是人体姿态动作和成,街道场景合成,或者人脸合成任务,few-shot vid2vid 都实现了一个直观而清晰的合成结果,对比其他方法,有比较高的准确度和辨识度。
综合英伟达之前出的一系列生成模型相关论文,这篇 few-shot vid2vid 从少样本学习的角度切入,着眼于生成模型优化并巧妙加入少量目标图像为辅助信息学习条件分布,针对视频合成的高级视觉任务而非目前占比例较高的分类识别任务,最终在几个数据集上结果呈现很不错


Ending~

你可能感兴趣的:(论文阅读:Few-shot Video-to-Video Synthesis)