ICASSP2022论文阅读记录3 - TalkingFlow
文章目录
- 论文: TalkingFlow: Talking facial landmark generation with multi-scale normalizing flow network
- 论文标题
- Abstract
- 1. 说话面部标志生成(talking facial landmarks generation)领域的两种模型
- 2. 本文工作:提出了基于流的概率网络TalkingFlow,以从语音数据中生成自然的、带有头部运动的说话面部标志。
- 3. 实验结果表明TalkingFlow可以有效地从语音数据中生成多样化和自然的面部标志
- Introduction
- 1. 什么是说话面部标志生成(talking facial landmarks generation)
- 2. 先前的说话面部标志生成工作
- 3. 序列生成的三种概率生成模型
- 4. 本文的主要工作
- TalkingFlow
- 1.利用归一化流(NF)对p(x∣c)p(x|c)p(x∣c)进行建模
- 2. 加权多尺度架构:用于实现ϕ\phiϕ
- 3. ConditionTCN模块
- 4. 损失函数
- Experiments
- 1. 定量结果
- 2. 定性结果
- 3. 消融实验
- Discussion
论文: TalkingFlow: Talking facial landmark generation with multi-scale normalizing flow network
原文地址: TalkingFlow. 本文是在阅读原文时的简要总结和记录。
Abstract
1. 说话面部标志生成(talking facial landmarks generation)领域的两种模型
- 确定性模型:目前占主导地位;它以一种有监督的方式将语音信号直接映射到特定的唇形同步的面部标志序列,是一类回归问题。但它可能导致回归到“均值脸”的问题。
- 概率生成模型:更有利于处理复杂的数据空间和生成多样化的样本。
2. 本文工作:提出了基于流的概率网络TalkingFlow,以从语音数据中生成自然的、带有头部运动的说话面部标志。
通过以下两部分实现:
- 加权多尺度架构:提高模型表示能力
- 条件时间卷积网络(Conditional Temporal Convolutional Network, ConditionTCN):融合语音数据。
3. 实验结果表明TalkingFlow可以有效地从语音数据中生成多样化和自然的面部标志
Introduction
1. 什么是说话面部标志生成(talking facial landmarks generation)
说话面部标志生成任务旨在从语音信号中合成面部标志。面部标志是一种高级面部表示,包括语音相关信息(例如嘴唇运动和表情)和与语音无关的信息(例如身份和头部姿势)。
2. 先前的说话面部标志生成工作
大多数工作都基于确定性模型,即从一个语音片段中预测特定的面部标志序列。
- Eskimez等人:提出了一个多层LSTM网络用来从语音中生成面部标志,并在数据预处理时事先将面部标志与固定的头部姿势和眼部坐标对齐。
- Chen等人:提出了ATNet,将语音数据转换到用PCA成分表示的面部标志序列上,并进一步添加了一个额外的头部姿势learner
- Ji等人:将上述工作拓展到一个EVP模型,利用语音的内容编码和情感编码生成面部标志序列
上述方法不能捕捉到自然的具有头部运动的面部标志。
3. 序列生成的三种概率生成模型
确定性模型存在一些问题和局限。概率生成模型可以更好地建模整个空间。用于序列生成的概率生成模型通常有3种:
- GAN:对数据流形建模很有效,但经常遭受模式崩溃并且无法正确泛化
- VAE:通常使用自回归框架对序列数据进行建模,但仍会受到后向崩溃的影响
- Normalizing Flows(NF):由一串反函数组成,直接最大化数据似然性,避免了上述缺点,便于训练 。
4. 本文的主要工作
TalkingFlow:将基于流的生成模型扩展到说话面部标志生成的任务中,这是第一个用于说话面部标志生成任务的概率流模型。
- 采用加权多尺度架构设计,对不同尺度数据分布的方差进行建模,其中每个尺度的网络包括多个归一化流步骤
- 在每个流步骤中引入条件时间卷积网络(ConditionTCN)模块,以逐次融合语音信号和隐变量,提高模型的表示能力。
TalkingFlow
TalkingFlow的模型模型结构如上图1所示。模型的主体由包含一系列归一化流(NF)步骤的加权多尺度架构构成;其中每个NF都采用Glow网络;此外在每个Glow网络中都集成了一个ConditionTCN模块,用于融合语音信号和隐变量。通过结合Glow和ConditionTCN,在模型中建立了将多尺度高斯噪声映射到想要的说话面部标志的分层双射(bijection),这使得模型能够从语音数据中生成自然的具有头部运动的唇形同步的说话面部标志。
考虑给定语音序列c={c1,c2,…,cT}c=\{c_1,c_2,\dots,c_T\}c={c1,c2,…,cT},其对应的面部标志序列为x={x1,x2,…,xT}x=\{x_1,x_2,\dots,x_T\}x={x1,x2,…,xT},ttt时刻的面部标志xtx_txt与ttt时刻前的面部标志x<tx_{<t}x<t及t时刻及之前的语音信号c≤tc_{\leq t}c≤t有关,因此从ccc生成xxx的概率可以表示为p(x∣c)=∏t=1Tp(xt∣x<t,c≤t)p(x|c)=\prod_{t=1}^Tp(x_t|x_{<t},c_{\leq t})p(x∣c)=∏t=1Tp(xt∣x<t,c≤t)。
1.利用归一化流(NF)对p(x∣c)p(x|c)p(x∣c)进行建模
NF可以将一个未知的复杂分布映射到一个简单的分布。首先假设存在一个双向映射ϕ:Rd→Rd\phi:R^d \rightarrow R^dϕ:Rd→Rd,它可以从随机变量z∼p(z)z\sim p(z)z∼p(z)中生成x=ϕ(z,c)x=\phi(z,c)x=ϕ(z,c);它的逆映射可以恢复z=ϕ−1(x,c)z=\phi^{-1}(x,c)z=ϕ−1(x,c)。因此,在此假设下有xt∣x<t,c≤t=ϕ(zt,c≤t)x_t|_{x<t,c\leq t}=\phi(z_t,c_{\leq t})xt∣x<t,c≤t=ϕ(zt,c≤t),从而当p(zt)p(z_t)p(zt)与语音信号独立的条件时有:p(xt∣x<t,c≤t)=p(zt)∣det∂ϕ∂zt∣−1p(x_t|x_{<t},c_{\leq t})=p(z_t)|det\frac{\partial\phi}{\partial z_t}|^{-1}p(xt∣x<t,c≤t)=p(zt)∣det∂zt∂ϕ∣−1。
在实际中ϕ\phiϕ由K步可逆变换复合而成,因此x,zx,zx,z之间的关系可以被表示为xt=ϕK(ϕK−1(…ϕ1(zt,0,c≤t)))x_t=\phi_K(\phi_{K-1}(\dots\phi_1(z_{t,0},c_{\leq t})))xt=ϕK(ϕK−1(…ϕ1(zt,0,c≤t))) zt,0=ϕ1−1(ϕ2−1(…ϕK−1(x<t,c≤t)))z_{t,0}=\phi^{-1}_1(\phi_2^{-1}(\dots\phi_K^{-1}(x_{<t}, c_{\leq t})))zt,0=ϕ1−1(ϕ2−1(…ϕK−1(x<t,c≤t)))
其中zt,0z_{t,0}zt,0表示第0步时刻t的隐变量,定义zk=ϕk(zk−1,c)z_k=\phi_k(z_{k-1},c)zk=ϕk(zk−1,c),则zt,0=zt,zt,K=xtz_{t,0}=z_t, z_{t,K}=x_tzt,0=zt,zt,K=xt。由此p(xt∣x<t,c≤t)p(x_t|x_{<t,c_{\leq t}})p(xt∣x<t,c≤t)可以重新表示为logp(xt∣x<t,c≤t)=logp(zt,0)−∑k=1K∣logdet∂ϕk∂zt,k−1∣\log p(x_t|x_{<t},c_{\leq t})=\log p(z_{t,0})-\sum_{k=1}^K|\log \det\frac{\partial \phi_k}{\partial z_{t,k-1}}|logp(xt∣x<t,c≤t)=logp(zt,0)−k=1∑K∣logdet∂zt,k−1∂ϕk∣
2. 加权多尺度架构:用于实现ϕ\phiϕ
如上图(A)所示,隐变量z=cat[z(1),z(2),…,z(L)]z=cat[z^{(1)},z^{(2)},\dots,z^{(L)}]z=cat[z(1),z(2),…,z(L)]由不同尺度的变量z(l)z^{(l)}z(l)堆叠而来,每个尺度lll的变量z(l)z^{(l)}z(l)通过klk_lkl步的NF网络生成;z(l)z^{(l)}z(l)在给定语音条件的情况下编码了说话人脸标志的一部分分布,这是从每个尺度网络最后的仿射耦合层获得的。由此z(l)z^{(l)}z(l)的概率可以写作p(z(l)∣c)=∏t=1Tp(zt(l)∣z<t(<l),c≤t)p(z^{(l)}|c)=\prod_{t=1}^Tp(z_t^{(l)}|z_{<t}^{(<l)},c_{\leq t})p(z(l)∣c)=∏t=1Tp(zt(l)∣z<t(<l),c≤t)。与WaveGlow和VideoGlow不同之处在于,本方法为每个尺度的分布引入了加权方差p(z(l))∼N(0,λlI)p(z^{(l)})\sim N(0,\lambda_lI)p(z(l))∼N(0,λlI),以提高其表示能力,其中λl\lambda_lλl是尺度lll的隐变量z(l)z^{(l)}z(l)分布的方差。
在每一个NF步骤中,都采用了如图(B)所示的Glow模型,以使用条件神经网络ConditionNetConditionNetConditionNet将条件语音信号合并到仿射耦合层中(即图中的ConditionTCN)。 在仿射耦合层中,D维输入zt,k(l)z_{t,k}^{(l)}zt,k(l)被分为两部分zt,k1:dz_{t,k}^{1:d}zt,k1:d和zt,kd:Dz_{t,k}^{d:D}zt,kd:D,其中d=D2d=\frac{D}{2}d=2D,zt,k+1(l)z_{t,k+1}^{(l)}zt,k+1(l)按照如下步骤更新:
[zt,k1:d,zt,kd:D]=split(zt,k(l))[z_{t,k}^{1:d}, z_{t,k}^{d:D}]=split(z_{t,k}^{(l)})[zt,k1:d,zt,kd:D]=split(zt,k(l)) [st,k,tt,k]=ConditionNet(zt,k1:d,ct)[s_{t,k},t_{t,k}]=ConditionNet(z_{t,k}^{1:d}, c_t)[st,k,tt,k]=ConditionNet(zt,k1:d,ct) zt,k+1(l)=[zt,k1:d,exp(st,k)⊙zt,kd:D+tt,k]z_{t,k+1}^{(l)}=[z_{t,k}^{1:d}, \exp(s_t,k)\odot z_{t,k}^{d:D}+t_{t,k}]zt,k+1(l)=[zt,k1:d,exp(st,k)⊙zt,kd:D+tt,k]
其中⊙\odot⊙为哈达玛积,ConditionNetConditionNetConditionNet是将语音数据融合到主干的条件神经网络。在尺度lll的最后一个仿射耦合层中,zt,k+1(l)z_{t,k+1}^{(l)}zt,k+1(l)将被划分为2部分:一个更高尺度的变量zt,k+1(l+1)z_{t,k+1}^{(l+1)}zt,k+1(l+1)作为下一个 Glow 步骤的输入,和一个新的高级变量zt(l+1)z_{t}^{(l+1)}zt(l+1)用于建模加权方差分布, 可以表述为[zt,k+1(l+1),zt(l+1)]=[zt,k1:d,exp(st,k)⊙zt,kd:D+tt,k][z_{t,k+1}^{(l+1)}, z_{t}^{(l+1)}]=[z_{t,k}^{1:d}, \exp(s_t,k)\odot z_{t,k}^{d:D}+t_{t,k}][zt,k+1(l+1),zt(l+1)]=[zt,k1:d,exp(st,k)⊙zt,kd:D+tt,k]
3. ConditionTCN模块
Glow模型中仿射耦合层的数学性质logdet(∂ϕk∂zk)=sum(log(∣s∣))\log \det(\frac{\partial\phi_k}{\partial z_k})=sum(\log(|s|))logdet(∂zk∂ϕk)=sum(log(∣s∣))使得ConditionNetConditionNetConditionNet不必是可逆的,这意味着它可以是任何神经网络。在本方法中,通过条件时间卷积网络(ConditonTCN)作为ConditionNetConditionNetConditionNet来融合条件语音数据和潜在变量,如上图(C)所示。 该模块沿时间轴堆叠四个1-D膨胀卷积层,分别具有1、2、4 和8的膨胀因子,并集成因果卷积以确保输出hth_tht独立于任何未来的面部标志和语音信息。在每一层中,通过类似于PixelCNN和WaveGlow的门控激活单元将隐变量与条件语音数据时间步长合并。
4. 损失函数
本方法的损失函数设计为min−logp(x∣c)=−1L×T∑t=1T[∑l=1Llogp(zt(l))+∑k=1K∑l=1L∣logdet∂ϕk(l)∂zt,k−1(l)∣]\min -\log p(x|c)=-\frac{1}{L\times T}\sum_{t=1}^T[\sum_{l=1}^L\log p(z_t^{(l)})+\sum_{k=1}^K\sum_{l=1}^L|\log \det \frac{\partial \phi_k^{(l)}}{\partial z_{t,k-1}^{(l)}}|]min−logp(x∣c)=−L×T1t=1∑T[l=1∑Llogp(zt(l))+k=1∑Kl=1∑L∣logdet∂zt,k−1(l)∂ϕk(l)∣],其中p(zt(l))∼N(0,λlI)p(z_t^{(l)})\sim N(0,\lambda_lI)p(zt(l))∼N(0,λlI)是每个尺度lll输出的分布。
Experiments
本模型是在Obama数据集(17h)上训练,并在Obama数据集和GRID数据集上评估。在数据预处理阶段,首先提取每个视频帧的2D面部标志,然后将数值归一化为0∼1以进行稳定的训练。同时,从每个视频中分离出同步的音频信号,并提取其梅尔谱特征作为条件语音数据。通过hype-parameters grid search实验,将多尺度架构的尺度数量LLL设置为4,四个尺度的权重λ1∼λ4\lambda_1 \sim \lambda_4λ1∼λ4分别设置为0.25、0.5、0.75和1.0。
1. 定量结果
- Baseline
- Eskimez等人:多层LSTM网络,将语音对数梅尔谱映射到面部标志,参考论文
- Chen等人:AT-Net,将MFCC特征转移到面部标志的PCA组成,参考论文
- Ji等人:EVP网络,生成具有语音内容和情感潜码的运动的面部标志,参考论文
- Lu等人:一个实时系统来生成个性化的逼真的说话的头部动画,参考论文
- 评价指标
- MOS:评估唇音同步性和生成动作的质量
- SyncNet Score,由SyncNet模型修改而来,通过计算唇部面部标志嵌入与其相应语音信号嵌入的相似性来衡量面部唇-音频同步性的指标
- 张嘴率距离(LMORL_{MOR}LMOR),即每帧推断的张嘴率与真实值之间的距离
- 结果
- Obama数据集上的比较结果下表1所示,这表明本方法在所有三个指标上都取得了最佳性能
- 在GRID数据集上的比较结果如下表2所示。在LMORL_{MOR}LMOR上较差的原因可能可能是其他Baseline在GRID数据集上进行训练,但本方法在Obama数据集上进行训练。这实际上反映了本方法良好的泛化能力。
- Obama数据集上的比较结果下表1所示,这表明本方法在所有三个指标上都取得了最佳性能
2. 定性结果
定性结果如下图所示,这表明本方法能够生成具有更好的唇同步性和自然头部运动的高质量说话面部标志。很明显,本方法的唇形最接近基本事实。 具体来说,只有本方法可以反映t=43处所示的噘嘴动作。
3. 消融实验
进行了定量消融研究以探索加权多尺度架构和ConditionTCN模块的意义,结果如上表1所示。Baseline模型没有多尺度架构和ConditionTCN模块,+ConditionTCN只包括ConditionTCN模块。结果表明,即使是Baseline也已经获得了比某些Baseline更好的性能。这证明了归一化流NF在此任务上的有效性。此外,+ConditionTCN显着降低了SyncNet分数,这表明ConditionTCN在模型中起着更重要的作用。
Discussion
从语音信号中生成说话面部标志是talking-head研究领域的核心问题。现有的方法将其作为一个有监督的回归问题来解决,但经常遭受回归到平均人脸的问题,并且无法正确处理与语音无关的信息。本文是第一个使用基于流方法的概率生成模型来解决此问题的,它在训练阶段比GAN和VAE更具优势。
多尺度架构是最近基于流方法的常见做法,例如Real-NVP、WaveGlow和VideoFlow。Real-NVP让一半的变量使用挤压操作直接建模为高斯;WaveGlow使用早期输出运算符实现多尺度架构,以提前输出一些维度以在多个时间尺度上添加信息;VideoFlow为每个尺度的变量添加了一个潜在的先验。这些作品将每个尺度的变量建模为正态分布。因此,本方法为每个尺度增加了权重,以增加模型的表示能力。尽管此操作带来了额外的超参数,但可以在未来的工作中通过自适应多尺度加权对其进行优化。
ICASSP2022论文阅读记录3 - TalkingFlow相关推荐
- Life Long Learning论文阅读记录之LwF
Life Long Learning论文阅读记录之LwF 写在前面 获取原文 问题 难点 目标 符号说明 现有方法 不使用旧数据集的方法 Learning without Forgetting(LwF ...
- MapReduce论文阅读记录
本文为阅读MapReduce论文的记录,内容主要是论文的第三部分--实现.方便本人今后查看. 1. 运行概述 下图展示了 MapReduce 过程的整体情况 当用户程序执行 MapReduce 时,会 ...
- MVS学习(一):综述论文阅读记录
MVS学习(一):综述论文Multi-View Stereo: A Tutorial阅读记录 Abstract Introduction SfM简介 Openmvs简介和安装 Multi-view P ...
- Deep Depth Completion of a Single RGB-D Image论文阅读记录以及quicktest
(一)论文简要说明 这是一篇2018年CVPR的最新论文,可以直接通过输入RGB图以及相对应的Depth图,然后可以直接补全任意形式深度图的缺失. 论文地址:https://arxiv.org/abs ...
- ICLR2022论文阅读记录 - AVHuBERT
文章目录 论文(AV-HuBERT):LEARNING AUDIO-VISUAL SPEECH REPRESENTATION BY MASKED MULTIMODAL CLUSTER PREDICTI ...
- 【项目小结】英语语法错误检测(GEC)开题论文阅读记录
毕业论文准备尝试一下GEC,虽然没有过这方面的经验,但做老生常谈的课题实在是亏待宝贵的最后一年.其实最主要的原因是莫名奇妙被一个从来没上过课的教授加微信翻了牌子,我看了一下他给出的题目:英语句法分析. ...
- 3D Multi-Object Tracking: A Baseline and New Evaluation Metrics论文阅读记录
复现: ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录_ng_T的博客-CSDN博客https://blog.csdn.net/weixin_45650071/article ...
- 论文阅读记录-基于深度神经网络的nilm系统家电识别
记录一下关于非侵入负荷分解相关的论文文献 1.原文 <HOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NE ...
- 【论文阅读记录】基于视觉SLAM建图的无人机路径规划 作者:王海
目录 一.论文前瞻问题 二.论文内容概述 1.SLAM建图与路径规划综述 2.关键问题 3.SLAM中前后端设计部分 4.三维路径规划 三.拓展 一.论文前瞻问题 智能体在陌生环境中的一次自主导航任务 ...
最新文章
- xmpp关于后台挂起的消息接收,后台消息推送,本地发送通知
- python 单一进程实例 实现
- cogs 539. 牛棚的灯
- Spring + Struts + Hibernate联合开发(多对一关系)
- 关于Ubuntu20.04 sudo vi找不到命令解决方法
- UVA 10054 the necklace 欧拉回路
- bootstrap使用中遇到的坑
- Oracle 修改 MEMORY_TARGET
- webbuilder mysql tomcat 安装心得
- 安装debian 9.1后,中文环境下将home目录下文件夹改为对应的英文
- MatConvNet训练自己的网络
- 1148 - 【入门】数数小木块
- S-8254A------3节/4节电池串联用电池保护IC
- DNA甲基化数据分析专题
- java Base64加密解密中文乱码处理
- python怎么读汉字翻译拼音_Python 返回汉字的汉语拼音
- 服务器微软whql认证,什么是WHQL认证?
- EBS查询某公司某科目的科目余额明细SQL
- 如何创建mysql分区表_mysql分区表创建思路
- 1214. 波动数列
热门文章
- c语言排列组合还可以这样求
- 关于数据库连接池满了的问题详解
- hive通过经纬度计算两地距离
- Maven更换远程仓库
- Figma#4:图片填充
- 新浪微博-表情键盘的显示
- 基于LQR的倒立摆控制——python代码——dlqr步骤推导
- 【算法】从一组数中找出和为指定值的任意组合
- android studio新手吧,Android studio新手使用常见一些问题及解决方法
- UniVL: A Unifified Video and Language Pre-Training Model for Multimodal Understanding and Generation