本文提出MotionGAN,给定source image sss及其landmark lll,还有一段target landmark序列 l1T=[l1,l2,⋯ ,lT]l_1^T=\left [ l_1, l_2, \cdots, l_T \right ]l1T=[l1,l2,⋯,lT],生成的一段video f~1T=[f~1,f~2,⋯ ,f~T]\tilde{f}_1^T=\left [ \tilde{f}_1, \tilde{f}_2, \cdots, \tilde{f}_T \right ]f~1T=[f~1,f~2,⋯,f~T]
将2D landmark转换为 heatmap image,如Figure 1所示

如Figure 2所示,整个framework包括4个子网络:生成器GGG、image
frame discriminator DfD_fDf、video discriminator DvD_vDv、verification network VVV
3.2.1 Image Reconstruction Loss
对于生成器GGG,采用pixel-wise ℓ1\ell_1ℓ1 norm 作为reconstruction loss
LimgG=1T∑t=1T∥G(s,l,lt)−ft∥(2) L_{img}^G=\frac{1}{T}\sum_{t=1}^{T}\left \| G\left ( s, l, l_t \right ) - f_t \right \| \qquad(2) LimgG=T1t=1∑T∥G(s,l,lt)−ft∥(2)
其中ftf_tft是ground truth image,ltl_tlt是ground truth landmark
3.2.2 Adversarial Loss
Frame Adversarial Loss:图像级别的对抗损失函数,作用在video的每一帧上
LadvDf=1T∑t=1TEft[log(Df(s,l,ft,lt))]+Eft[log(1−Df(s,l,G(s,l,lt),lt))](3)
𝐿𝐷𝑓𝑎𝑑𝑣=1𝑇∑𝑡=1𝑇𝔼𝑓𝑡[log(𝐷𝑓(𝑠,𝑙,𝑓𝑡,𝑙𝑡))]+𝔼𝑓𝑡[log(1−𝐷𝑓(𝑠,𝑙,𝐺(𝑠,𝑙,𝑙𝑡),𝑙𝑡))](3) L a d v D f = 1 T ∑ t = 1 T E f t [ log ( D f ( s , l , f t , l t ) ) ] + E f t [ log ( 1 − D f ( s , l , G ( s , l , l t ) , l t ) ) ] ( 3 ) LadvDf=T1t=1∑TEft[log(Df(s,l,ft,lt))]+Eft[log(1−Df(s,l,G(s,l,lt),lt))](3)
Video Adversarial Loss:视频级别的对抗损失函数,作用于一个TTT帧序列
LadvDv=Ef1T[log(Dv(f1T))]+El1T[log(1−Dv(G(s,l,l1T)))](4)
𝐿𝐷𝑣𝑎𝑑𝑣=𝔼𝑓𝑇1[log(𝐷𝑣(𝑓𝑇1))]+𝔼𝑙𝑇1[log(1−𝐷𝑣(𝐺(𝑠,𝑙,𝑙𝑇1)))](4) L a d v D v = E f 1 T [ log ( D v ( f 1 T ) ) ] + E l 1 T [ log ( 1 − D v ( G ( s , l , l 1 T ) ) ) ] ( 4 ) LadvDv=Ef1T[log(Dv(f1T))]+El1T[log(1−Dv(G(s,l,l1T)))](4)
Pairwise Feature Matching Loss:使用文献[4]中的feature matching loss增加训练的稳定性,以及增强生成图像的质量
LadvG=1T∑t=1T∥IDf(G(s,l,lt))−IDf(ft)∥22+∥IDv(G(s,l,l1T))−IDv(f1T)∥22(5)
𝐿𝐺𝑎𝑑𝑣=1𝑇∑𝑡=1𝑇‖‖𝐼𝐷𝑓(𝐺(𝑠,𝑙,𝑙𝑡))−𝐼𝐷𝑓(𝑓𝑡)‖‖22+‖‖𝐼𝐷𝑣(𝐺(𝑠,𝑙,𝑙𝑇1))−𝐼𝐷𝑣(𝑓𝑇1)‖‖22(5) L a d v G = 1 T ∑ t = 1 T ‖ I D f ( G ( s , l , l t ) ) − I D f ( f t ) ‖ 2 2 + ‖ I D v ( G ( s , l , l 1 T ) ) − I D v ( f 1 T ) ‖ 2 2 ( 5 ) LadvG=T1t=1∑T∥∥IDf(G(s,l,lt))−IDf(ft)∥∥22+∥∥IDv(G(s,l,l1T))−IDv(f1T)∥∥22(5)
其中IDf,IDvI_{D_f}, I_{D_v}IDf,IDv分别表示Df,DvD_f, D_vDf,Dv的中间层
3.2.3 Landmarks Reconstruction Loss
DvD_vDv同时也对图像的landmark进行预测,使用ℓ2\ell_2ℓ2损失
LlmsDv=∥Dvl(f1T)−l1T∥22(6) L_{lms}^{D_v}=\left \| D_v^l\left ( f_1^T \right )-l_1^T \right \|_2^2 \qquad(6) LlmsDv=∥∥Dvl(f1T)−l1T∥∥22(6)
GGG也要使得生成图像的landmark具有最小的loss
LlmsG=∥Dvl(G(s,l,l1T))−l1T∥22(7) L_{lms}^G=\left \| D_v^l\left ( G\left ( s, l, l_1^T \right ) \right )-l_1^T \right \|_2^2 \qquad(7) LlmsG=∥∥Dvl(G(s,l,l1T))−l1T∥∥22(7)
GGG的目标函数:λ1LimgG+λ2LadvG+λ3LlmsG+λ4LidG\lambda_1L_{img}^G+\lambda_2L_{adv}^G+\lambda_3L_{lms}^G+\lambda_4L_{id}^Gλ1LimgG+λ2LadvG+λ3LlmsG+λ4LidG
DfD_fDf的目标函数:LadvIDfL_{adv}I^{D_f}LadvIDf
DvD_vDv的目标函数:λ5LadvDv+λ6LlmsDv\lambda_5L_{adv}^{D_v}+\lambda_6L_{lms}^{D_v}λ5LadvDv+λ6LlmsDv
超参数设置:λ1=1,λ2=0.01,λ3=10,λ4=0.1,λ5=1,λ6=100\lambda_1=1, \lambda_2=0.01, \lambda_3=10, \lambda_4=0.1, \lambda_5=1, \lambda_6=100λ1=1,λ2=0.01,λ3=10,λ4=0.1,λ5=1,λ6=100
受限于memory size,设置T=4T=4T=4
【总结】
本文着重解决人脸视频的生成问题,指定一个face image,再指定一系列landmark,就可以生成一段新的视频, 技术 上没有新的idea,都是一些已有技术的组合,生成效果上由于没有看到作者提供的视频,仅从文章中的每一帧图像来看,效果尚可
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删