论文: 《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−τt−1。生成器常规设计如式2,
m
~
t
,
w
~
t
−
1
,
h
~
t
\tilde m_t,\tilde w_{t-1},\tilde h_t
m~t,w~t−1,h~t学习过程如式3,4,5,
m
~
t
\tilde m_t
m~t为遮挡区域,
w
~
t
−
1
\tilde w_{t-1}
w~t−1为光流,
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}
αk∈RC×N,及当前输入语义图
s
t
s_t
st,得到关键向量
α
t
∈
R
C
×
N
\alpha_t \in R^{C \times N}
αt∈RC×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}
αk∈RN×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、当分割及关键点估计不准确时,生成效果比较差;