论文原文:
Ting-Chun Wang, Ming-Yu Liu, Andrew Tao, Guilin Liu, Jan Kautz, and Bryan Catanzaro. "Few-shot Video-to-Video Synthesis", in NeurIPS, 2019.
https://nvlabs.github.io/few-shot-vid2vid/main.pdf
论文地址:
https://nvlabs.github.io/few-shot-vid2vid/
目录
摘要
1. Introduction
2. Related Work
3. Few-shot Vid2vid Synthesis 少样本视频-视频合成
3.1 传统的video to video
3.2 few-shot video to video
3.2.1 整体网络结构
3.2.2 网络权重生成模块(E)
3.2.3 SPADE
3.2.4 训练与测试
4. Experiments
实现细节:
数据集
Baselines
评估指标:
主要结果:
limitations
总结
当前vid2vid(输入视频,输出另一个视频,如输入人体骨架的运动,输出某个真实的人的运动)任务存在两点不足:
本文完成了vid2vid任务的小样本学习,即对于一个新的物体,只需要测试时利用该样本的几张图片,就可以合成该样本的video;
原理:基于注意力机制的网络权重生成模型;
在如下3个数据集上进行了验证:
前两段主要说要做的few-shot vid2vid是什么:即在几张相同属性image的指导下,完成该属性下视频到视频的转换,如图*所示:
后两段讲文章是怎么做的:
GANs:
Image-to-image synthesis:
Video generative models:
视频生成模型分为三类:
本文是vid2vid,但是是能够适用于没见过的场景的few-shot的研究;
Adaptive networks:
指网络的部分权重会随输入数据的改变而改变;
Human pose transfer:
输入:人的一个姿势;输出:同一个人的之前没有出现过的姿势。
现有方法基于人体先验,如身体部分建模/人体表面坐标映射。
本文的方法仅仅使用了输入的语义信息,不使用特定的人体先验,因此泛化能力更强。同时,本文方法可以用于视频。
: 输入视频序列,比如是语义分割帧的序列或者边缘图序列;
:真实场景的(目标)视频序列;
普通的vid2vid任务的目标:找到从到重建视频的映射。从而使二者的条件分布相同:
为了对上述条件分布进行建模,常常使用如下的基于Markov假设的序列生成模型:
通过假设马尔可夫过程来简化图像生成任务,即认为条件分布可以分解为
也就是说视频仅仅通过部分的帧序列即可还原,并且第t帧只与下面3个有关:
(1) 当前输入帧;
(2) 之前的L个输入帧;
(即共计L+1个输入帧)
(3)之前的L个生成帧。
通过训练一个网络F,来使用第t帧建模条件分布.
通过递归使用F来得到最终的输出,即重建的视频。
不同的研究给出了序列生成器F的不同的构建方法,一种常见的构造方法(即vid2vid中的构造方法)如下:
其中,表示element-wise操作,1表示全1图像。这样,第一部分就是考虑到光流估计的前一帧;第二部分即为合成的有新像素的图片。上式中各项的含义为
图2(a)给出了vid2vid的结构,相当于是对上式的图示。
为了使模型能够根据unseen domain中的几张example images就给出在unseen domain下的结果,few-shot vid2vid使用了如下方法:
第t帧不再只与之前的L+1个输入帧和L个生成帧有关,同时和目标domain的K个样例图片{} 和这K张图片对应的语义图片.即:
从而使序列模型F能够利用测试时给出的样例图片去提取unseen domain合成的视频中的有用特征。
具体而言,设计网络E来提取给出的example images的特征,并使用E计算图像合成网络H的权重:
网络E不会改变M和W的权重,因为W是光流估计网络,M是遮挡估计网络,在不同的domain中(例如,不同的人脸,不同的人),这两个网络是相同的。
H的网络结构则是SPADE的网络结构。
SPADE生成器主要包括两个部分:
在本文中,用于调整权重的网络E仅仅调整H中几个空间调制分支的权重。(如图2(c)所示)这样做的原因是:
E的作用:学习并提取能够通过控制权重而被用于视频合成分支的模式;
首先考虑只有1个example image的情况(K=1):
将E分为两个部分:
具体过程为:
令网络H有L层,分别为
则设计E同样有L层,每一层生成用于对应的的权重。具体而言,为了生成的权重,文章将:
数学上的解释为,若定义,则:
,
输出的权重被用于卷积输入的语义图st,从而得到SPADE中的归一化参数。(如图2(c)所示)
对K>1的情况(即输入多张Example images):
对k张example images,样本特征提取器共计会得到k个特征:. 文章使用了注意力机制来整合这些特征。
具体而言,定义一个新的注意力网络,得到权重
再得到注意力权重:
对SPADE中主要的generator的每一层,文章使用来计算反归一化系数。
也就是说,在普通的SPADE中,是从输入语义图中得到的固定系数;
而在这篇文章中,则通过动态生成。
共包括了三个部分的权重:
其中,是用于提取共同特征的共享层;其输出经生成。计算方法为:
可选:warping example images:
为了减小负担,可以选择将example image和合成的帧相结合。方法如下:
该技巧对example images和target images非常相近的情况有效。(如姿态合成任务,背景一样)
损失函数
与vid to vid相同;
训练时:使用和监督训练,example images则通过从x中随机采K个样本获得。
T的选择
刚开始T=1, 后来过几个epoch增大一倍,从而变为视频。
测试阶段
能够输入任意多个example images.
ADAM, lr=0.0004, ( β1;β2) = (0:5; 0:999), 8 * 32GB V100
(尚无few-shot vid2vid的研究,故使用别的baseline提取特征并生成类似的泛化结果)
依旧是泛化能力,当目标domain和训练集中的domain差别太大时,如使用计算机动画,则效果会很差。
除此之外,当语义图不准确的时候,结果也会不准确。
本文的few-shot特点能够使用unseen domain的example image(s)指导视频合成,且效果较好。
======================================================================================================
本文为阅读笔记,阅读的论文是:
Ting-Chun Wang, Ming-Yu Liu, Andrew Tao, Guilin Liu, Jan Kautz, and Bryan Catanzaro. "Few-shot Video-to-Video Synthesis", in NeurIPS, 2019.
本阅读笔记原载于 我的博客
如有错误,请联系 [email protected]
======================================================================================================