码迷,mamicode.com
首页 > 其他好文 > 详细

论文阅读-Hierarchical Cross-Modal Talking Face Generation with Dynamic Pixel-Wise Loss

时间:2020-06-18 16:28:16      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:针对   工作   rbo   抖动   info   com   任务   对象   cheng   

论文阅读-Hierarchical Cross-Modal Talking Face Generation with Dynamic Pixel-Wise Loss

技术图片

论文链接: http://openaccess.thecvf.com/content_CVPR_2019/html/Chen_Hierarchical_Cross-Modal_Talking_Face_Generation_With_Dynamic_Pixel-Wise_Loss_CVPR_2019_paper.html

概述

关键词: 高级空间, 像素抖动, GAN模型

作者在本文中不由音频直接生成talking face, 而是将音频映射到高级空间, 也就是人脸的landmarks上, 再通过landmarks生成人脸. 这是个还不错的想法. 作者生成这种方法相比于直接生成, 有助于模型不会学习到视听信号和音频的伪相关性.

此外, 在对像素抖动和图像清晰度方面作者也给出了贡献.

本文是为数不多的相关论文里面在第一段就给出任务定义的:

"本文考虑了这样一个任务:给定目标脸部图像和任意语音录音,生成目标对象的逼真的有声面部,说出具有自然唇同步的语音,同时保持面部图像随时间的平稳过渡。"

这是talking face生成任务的经典定义.

作者提出了本文克服了这个领域的两个挑战:

  1. 视频帧之间的不流畅(伪影, 不连续), 并选择了GAN模型处理这种不流畅性

  2. 模型需要推断与视听信号无关的相机角度, 头部姿势等特征, 而这些特征是无法直接从音频中获得的. 因此作者选择将音频先转化为landmarks, 再转化为人脸的方法.

方法

技术图片

模型示意, 左半边转化, 右半边生成.

1 整体结构

论文提出的模型输入为, 一个音源序列\(a_{1:T}\), 一个样例帧\(i_p\)和这个帧的landmarks\(p_p\). 模型会针对音源序列\(a_{1:T}\)生成其landmarks序列\(\hat{p}_{1:T}\)并生成连续的帧

\(\hat{v}_{1:T}\). 用公式表示就是:

\[\begin{array}{l} \hat{p}_{1: T}=\Psi\left(a_{1: T}, p_{p}\right) \\hat{v}_{1: T}=\Phi\left(\hat{p}_{1: T}, i_{p}, p_{p}\right) \end{array} \]

AT-net是一个encoder-decoder模型, VG-net则是一个多媒体CNN-RNN网络.

AT-net的任务是接受\(a_{1:T}\)\(p_p\)并生成\(\hat{p}_{1:T}\). 公式定义为:

\[\begin{aligned} \left[h_{t}, c_{t}\right] &=\varphi_{\text {lmark }}\left(\mathrm{LSTM}\left(f_{\text {audio }}\left(a_{t}\right), f_{\text {lmark }}\left(h_{p}\right), c_{t-1}\right)\right), \\hat{p}_{t} &=\mathrm{PCA}_{\mathrm{R}}\left(h_{t}\right)=h_{t} \odot \omega * \mathrm{U}^{T}+\mathrm{M} \end{aligned} \]

其中, \(a_t\)是音频的MFCC特征. \(f_{audio}\), \(f_{lmark}\)和$$\varphi_{\text {Imark }}$$分别为audio的encoder, landmarks的encoder和decoder. \(h_p\)\(h_t\)分别为输入图片和输出的landmarks PCA.

\(PCA_R\)是PCA重构,而ω是增强PCA功能的升压矩阵。 U对应于最大特征值,M对应于训练集landmarks的平均形状。

VG-net是一个应用注意力机制的CRNN, 公式定义为:

\[\begin{array}{l} v_{t}^{\prime \prime}=f_{\operatorname{img}\left(i_{p}\right)} \oplus\left(f_{\text {lmark }}\left(p_{t}\right)-f_{\text {Imark }}\left(p_{p}\right)\right) \a t t_{p_{t}}=\sigma\left(f_{\text {Imark }}\left(p_{t}\right) \oplus f_{\text {lmark }}\left(p_{p}\right)\right) \v_{t}^{\prime}=\left(\operatorname{CRNN}\left(v_{t}^{\prime \prime}\right)\right) \odot \text { att }_{p_{t}}+i_{p}^{\prime} \odot\left(1-\operatorname{att}_{p_{t}}\right) \end{array} \]

2 基于注意力的动态像素级loss

现有工作, 不管是基于GAN还是encoder-decoder, 都会出现像素抖动问题:

技术图片

如图所示, 相邻的帧之间, 同区域的像素出现了明显的不连贯, 而人对这种不连贯是非常敏感的. 一般的GAN loss或者L1/L2 loss都不能解决这个问题. 这也是本文着重解决的一个问题.

本文最终生成的帧要符合如下公式约束:

\[\hat{v}_{t}=\boldsymbol{\alpha}_{t} \odot m_{t}+\left(\mathbf{1}-\boldsymbol{\alpha}_{t}\right) \odot i_{p} \]

\(\alpha_t\)是在\(v‘_t\)上进行卷积和sigmod激活之后获得的, \(m_t\)\(v‘_t\)上卷积和进行hyperbolic tangent activation(其实就是tanh). 这样会约束模型在于音频无关的区域(头发, 背景等)持续的生成统一的像素点.

3 基于回归的判别器 Regression-Based Discriminator

技术图片

结构不是很难, 原始图片和生成图片或者和ground truth作为输入, 通过LSTM预测landmarks, 并给整个序列给出一个分数\(s\):

\[\begin{aligned} \hat{p}_{t} &=\mathrm{D}_{p}\left(p_{p}, v_{t}\right) \&=p_{p}+\mathrm{L} \mathrm{S} \operatorname{TM}\left(f_{\text {lmark }}\left(p_{p}\right) \oplus f_{\text {img }}\left(v_{t}\right)\right) \end{aligned} \]

\[\begin{aligned} s &=\mathrm{D}_{s}\left(p_{p}, v_{1: T}\right) \&=\sigma\left(\frac{1}{T} \sum_{t=1}^{T}\left(\mathrm{LSTM}\left(f_{\text {Imark }}\left(p_{p}\right) \oplus f_{\text {img }}\left(v_{t}\right)\right)\right)\right) \end{aligned} \]

总结

本文比较让我眼前一亮的是:

  1. 将音频转化为高级特征表示而不是直接生成, 这相当于预处理了一波特征, 相当有效.

  2. 连续帧之间的像素抖动解决.

论文阅读-Hierarchical Cross-Modal Talking Face Generation with Dynamic Pixel-Wise Loss

标签:针对   工作   rbo   抖动   info   com   任务   对象   cheng   

原文地址:https://www.cnblogs.com/Xuang/p/13157828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!