当前位置:网站首页>DaGAN论文解读
DaGAN论文解读
2022-07-06 11:32:00 【‘Atlas’】
论文: 《Depth-Aware Generative Adversarial Network for Talking Head Video Generation》
github: https://github.com/harlanhong/CVPR2022-DaGAN
解决问题
现有问题:
现有视频生成方案主要利用2D表征,人脸3D信息实际上对于此任务至关重要,然后标注需要大量成本;
解决方法:
本文作者提出一种自监督方案,自动从人脸视频中生成稠密3D几何信息,不需要任何标注数据;依据此信息,进一步估计稀疏人脸关键点,用于捕获人头重要移动;深度信息也用于学习3D跨模态(外观与深度)attention机制,引导生成用于扭曲原图的运动场;
本文提出的DaGAN可生成高逼真人脸,且在未见过人脸上取得不错效果;
本文贡献主要包括以下三点:
1、引入自监督方式从视频中拟合深度图,并将其用于提升生成效果;
2、提出新颖的关注深度的GAN,通过深度引导的面部关键点估计及跨模态(深度及图像)attention机制,将深度信息引入生成网络;
3、充分实验展示人脸图片的准确深度拟合,同时生成效果超越SOTA;
算法
DaGAN方法如图2,由生成器和判别器构成;
生成器由三部分组成:
1、自监督深度信息学习子网络 F d F_d Fd,从视频中两个连续帧自监督学习深度估计;然后固定 F d F_d Fd进行整个网络训练;
2、深度信息引导的稀疏关键点检测子网络 F k p F_{kp} Fkp;
3、特征扭曲模块利用关键点生成变化区域,其将扭曲源图特征已将外观信息与运动信息结合,得到扭曲特征 F w F_w Fw;为确保模型关注细节及面部微表情,进一步学习关注深度信息的attention map,其精细化 F w F_w Fw得到 F g F_g Fg,用于生成图像 I g I_g Ig;
自监督Face Depth Learning
作者借鉴SfM-Learner,做出优化,使用连续帧 I i + 1 I_{i+1} Ii+1作为源图和 I i I_i Ii作为目标图,学习集合元素,深度图 D I i D_{I_i} DIi,相近内参矩阵 K I i − > I i + 1 K_{ {I_i}->I_{i+1}} KIi−>Ii+1,相关相机姿态 R I i − > I i + 1 R_{ {I_i}->I_{i+1}} RIi−>Ii+1及变换 t I i − > I i + 1 t_{ {I_i}->I_{i+1}} tIi−>Ii+1,与SfM-Learner不同的是相机内参K需要学习;
流程如图3:
1、 F d F_d Fd提取目标图 I i I_i Ii的深度图 D I i D_{I_i} DIi;
2、 F p F_p Fp提取可学习参数 R 、 t 、 K R、t、K R、t、K;
3、根据等式3、4将源图 I i + 1 I_{i+1} Ii+1进行几何变换得到 I i ′ I'_i Ii′
q k q_k qk表示源图 I i + 1 I_{i+1} Ii+1上扭曲的像素;
p j p_j pj表示目标图 I i I_i Ii上原像素;
损失函数 P e P_e Pe如式5所示,使用L1损失和SSIM损失
稀疏关键点运动建模
1、将RGB与 F d F_d Fd提取深度图进行concat;
2、通过关键点估计模块 F k p F_{kp} Fkp获取人脸稀疏关键点,如式6,由于引入深度图,使得预测关键点更加准确;
特征扭曲策略,如图4
1、如式7,计算原图与驱动图之间初始偏移 O n {O_n} On;
2、生成2D坐标map z;
3、将O应用于z,得到运动区域 w m w_m wm;
4、使用 w m w_m wm扭曲降采样后的图片得到初始扭曲的特征图;
5、遮挡估计器 τ \tau τ通过扭曲的特征图预测运动流mask M m M_m Mm及遮挡图 M o M_o Mo;
6、使用 M m M_m Mm扭曲 I s I_s Is经过编码器 ϵ I \epsilon_I ϵI获得的外观特征图,将其与 M o M_o Mo融合生成 F w F_w Fw,如式8。 F w F_w Fw既保留原图信息又提取两张脸之间运动信息。
跨模态attention机制
为了有效利用学习到的深度图提升生成能力,作者提出跨模态attention机制,如图5.
1、通过深度编码器 ϵ d \epsilon_d ϵd提取深度图 D s z D_{sz} Dsz特征图 F d F_d Fd;
2、 分别通过三个1X1卷积层将 F d F_d Fd、 F w F_w Fw映射为3个隐特征层 F q F_q Fq、 F k F_k Fk、 F v F_v Fv;
3、如式9,通过attention生成 F g F_g Fg。
4、通过解码器精细化 F g F_g Fg生成最终图像 I g I_g Ig。
训练
训练过程中原图与驱动图是相同的,损失函数如式10,
L P L_P LP为感知损失;
L G L_G LG使用最下二乘损失;
L E L_E LE等变损失,确保原图进行图像变换时,关键点进行相应变换;
L D L_D LD通过距离损失,防止面部关键点聚集到一起;
实验
SOTA方法比较
在VoxCeleb1数据集上与SOTA比较试验结果如表1、2
在VoxCeleb1数据集上,跨身份重现效果如图6
在CelebV数据集上,与SOTA方法比较试验如表3,跨身份重现效果如图7
消融实验
FDN:面部深度网络;
CAM:跨模态attention机制
结果如表4,
生成效果如图8
DaGAN效果视频
结论
DaGAN使用自监督方式学习面部深度图,一方面将其用于更准确面部关键点估计;另一方面设计跨模态(深度图与RGB)机制获取微表情变化。因此DaGAN生成更加逼真自然的结果。
边栏推荐
- Qlabel marquee text display
- Simple application of VBA script in Excel
- 第五期个人能力认证考核通过名单公布
- Interface test tool - postman
- [translation] a GPU approach to particle physics
- USB host driver - UVC swap
- 助力安全人才专业素养提升 | 个人能力认证考核第一阶段圆满结束!
- GCC【7】- 编译检查的是函数的声明,链接检查的是函数的定义bug
- ACTF 2022圆满落幕,0ops战队二连冠!!
- [depth first search] Ji suanke: a joke of replacement
猜你喜欢
Openmv4 learning notes 1 --- one click download, background knowledge of image processing, lab brightness contrast
Benefit a lot, Android interview questions
[matlab] Simulink the input and output variables of the same module cannot have the same name
Reptiles have a good time. Are you full? These three bottom lines must not be touched!
Understanding disentangling in β- VAE paper reading notes
Pychrm Community Edition calls matplotlib pyplot. Solution of imshow() function image not popping up
[depth first search] Ji suanke: find numbers
包装行业商业供应链管理平台解决方案:布局智慧供应体系,数字化整合包装行业供应链
受益匪浅,安卓面试问题
ROS custom message publishing subscription example
随机推荐
黑马--Redis篇
pychrm社区版调用matplotlib.pyplot.imshow()函数图像不弹出的解决方法
保证接口数据安全的10种方案
A popular explanation will help you get started
Use of deg2rad and rad2deg functions in MATLAB
Computer network: sorting out common network interview questions (I)
关于图像的读取及处理等
五金机电行业智能供应链管理系统解决方案:数智化供应链为传统产业“造新血”
Interface test tool - postman
The dplyr package of R language performs data grouping aggregation statistical transformations and calculates the grouping mean of dataframe data
Simple application of VBA script in Excel
数学知识——高斯消元(初等行变换解方程组)代码实现
Tensorflow and torch code verify whether CUDA is successfully installed
Characteristic colleges and universities, jointly build Netease Industrial College
A full set of teaching materials, real questions of Android interview of 7 major manufacturers including Alibaba Kwai pinduoduo
R language ggplot2 visualization: use ggviolin function of ggpubr package to visualize violin diagram
R language ggplot2 visual time series histogram: visual time series histogram through two-color gradient color matching color theme
Openmv4 learning notes 1 --- one click download, background knowledge of image processing, lab brightness contrast
Dark horse -- redis
GCC [7] - compilation checks the declaration of functions, and link checks the definition bugs of functions