Few-shot Video-to-Video(NeurIPS 2019)视频生成论文解读


论文: 《Few-shot Video-to-Video Synthesis
Ting-Chun》

github: https://github.com/NVlabs/few-shot-vid2vid

解决问题

尽管vid2vid(参见上篇文章Video-to-Video论文解读)已经取得显著进步,但是存在两个主要限制;
1、需要大量数据。训练需要大量目标人体或目标场景数据;
2、模型泛化能力有限。只能生成训练集中存在人体,对于未见过人体泛化能力差;
为解决上述问题,作者提出few-shot vid2vid,在推理时利用几张目标域样例,学习生成之前未见过目标或场景视频。通过运用attention机制的网络权重生成模块提升模型泛化能力;

算法

在这里插入图片描述

vid2vid方案

vid2vid结构如图2a,公式如式1,
在这里插入图片描述
生成图像 X ~ t \tilde X_t X~t,基于过去的 τ + 1 \tau+1 τ+1个分割图 s t − τ t s^t_{t-\tau} stτt以及过去的 τ \tau τ个生成图 X ~ t − τ t − 1 \tilde X^ {t-1}_{t-\tau} X~tτt1。生成器常规设计如式2,
在这里插入图片描述
m ~ t , w ~ t − 1 , h ~ t \tilde m_t,\tilde w_{t-1},\tilde h_t m~t,w~t1,h~t学习过程如式3,4,5,
在这里插入图片描述
m ~ t \tilde m_t m~t为遮挡区域, w ~ t − 1 \tilde w_{t-1} w~t1为光流, h ~ t \tilde h_t h~t为生成中间图像;

Few-shot vid2vid

但是vid2vid方法不能生成未见过域的视频,比如只能生成训练集中出现的人。为了使得 F F F适应于未见过域,增加额外输入,因此 F F F有两个输入:K个目标域样例图 e 1 , e 2 , . . . , e K e_1, e_2, ..., e_K e1,e2,...,eK,及对应语义图 s e 1 , s e 2 , . . . , s e K s_{e_1} , s_{e_2} , ..., s_{e_K} se1,se2,...,seK,如式6
在这里插入图片描述模型允许 F F F使用输入样例模态生成视频,因此作者使用网络权重生成模块 E E E提取样例模态,利用样例模态信息计算网络参数 θ H \theta_H θH,如式7。
在这里插入图片描述
E E E未用于 θ M \theta_M θM θ W \theta_W θW,是因为 θ M \theta_M θM θ W \theta_W θW基于过去生成图像缠身,本身已经跨域共享;
E E E仅为空间调节分支生成权重,该设计有两个优势:
1、减少 E E E生成参数量,避免过拟合;
2、避免样例与输出图像shotcut,因为生成参数仅用于空间调节模块

网络权重生成模块

E E E通过学习参数提取外观模态,引入视频生成分支;
考虑仅输入1个样例(k=1)及多个样例情况(k>1);
当输入样例为1,即k=1时,(image animation任务) E E E解耦为两个子网络:特征提取器 E F E_F EF及多层感知机 E P E_P EP
特征提取器 E F E_F EF包括几个卷积层,提取到外观表征 q q q,应用于多层感知机 E P E_P EP生成权重 θ H \theta_H θH,用于中间图像生成网络 H H H H H H L L L层, E E E同样有 L L L层,如图2c所示;

当输入样例多于1时,即K>1,想要 E E E能够提取任意数量样例的外观模态,由于不同输入样例有不同角度相关性,因此作者设计attention机制 E A E_A EA,聚合提取到的外观模态;
E A E_A EA应用于每个样例语义图 s e k s_{e_k} sek,得到关键向量 α k ∈ R C × N \alpha_k \in R^{C \times N} αkRC×N,及当前输入语义图 s t s_t st,得到关键向量 α t ∈ R C × N \alpha_t \in R^{C \times N} αtRC×N,进而通过 α k = ( α k ) T ⨂ α t \alpha_k = (\alpha_k)^T \bigotimes \alpha_t αk=(αk)Tαt,得到attention权重 α k ∈ R N × N \alpha_k \in R^{N \times N} αkRN×N,应用于外观表征 q q q。如图2b,在生成阶段attention map有助于捕获相关身体部件,如图7c。

为减轻图像生成网络负担,可以wrap样例,将其与生成中间图像 h ~ t ′ \tilde h'_t h~t结合,如式11,
在这里插入图片描述
估计额外光流 w ~ e t \tilde w_{e_t} w~et及mask m ~ e t \tilde m_{e_t} m~et,当输入多个样例时, e 1 e_1 e1为attention weight α k \alpha_k αk中与当前帧具有最大相似性的样例;实验发现,在背景区域不变时,对生成pose有帮助;

实验

作者比较不同方法达到目标域泛化能力,如表1;
Encoder表示编码样例为分风格向量;
ConcatStyle表示编码样例为分风格向量,将其与输入分割图concat,生成增强的分割输入;
AdaIN在H每个空间调制模块后加入AdaIN归一化层。
实现细节如图9所示,
在这里插入图片描述
在这里插入图片描述

图3为人体生成不同结果
在这里插入图片描述
图4为各种方法比较在这里插入图片描述
图5为街道场景生成结果在这里插入图片描述
图6为面部生成结果
在这里插入图片描述
图7a比较不同训练样本数量对结果影响,图7b比较不同样例数量对结果影响,图7c可视化attention map结果;
在这里插入图片描述

结论

few-shot vid2vid可生成未见过域视频,归因于基于样例图片的动态生成权重机制。
但目前仍存在两个限制:
1、当测试域与训练域差异特别大时,生成效果比较差;
2、当分割及关键点估计不准确时,生成效果比较差;

猜你喜欢

转载自blog.csdn.net/qq_41994006/article/details/125826572