浙江大学学报(工学版), 2022, 56(5): 1006-1016 doi: 10.3785/j.issn.1008-973X.2022.05.018

计算机与控制工程

结合年龄监督和人脸先验的语音-人脸图像重建

何立,, 庞善民,

西安交通大学 软件学院,陕西 西安 710049

Face reconstruction from voice based on age-supervised learning and face prior information

HE Li,, PANG Shan-min,

School of Software Engineering, Xi’an Jiaotong University, Xi’an 710049, China

通讯作者: 庞善民,男,副教授. orcid.org/0000-0001-7217-864X. E-mail: pangsm@xjtu.edu.cn

收稿日期: 2021-11-19  

基金资助: 国家自然科学基金资助项目(61972312);陕西省重点研发计划一般工业资助项目(2020GY-002)

Received: 2021-11-19  

Fund supported: 国家自然科学基金资助项目(61972312);陕西省重点研发计划一般工业资助项目(2020GY-002)

作者简介 About authors

何立(1996—),男,硕士生,从事计算机视觉研究.orcid.org/0000-0003-1766-6928.E-mail:heliwushi@qq.com , E-mail:heliwushi@qq.com

摘要

针对语音-人脸图像重建方法缺乏来自不同维度的监督约束及未利用人脸先验信息,导致生成图像和真实图像相似度不高的问题,提出结合年龄监督和人脸先验信息的语音-人脸图像重建方法. 通过预训练的年龄评估模型为当前数据集扩充年龄数据,弥补来自年龄监督信息的缺乏. 通过语音-人脸图像跨模态身份匹配方法,为给定语音检索接近真实人脸的面部图像,将得到的图像作为人脸先验信息使用. 该方法通过定义结合交叉熵损失和对抗损失的联合损失函数,从年龄感、低频内容和局部纹理等方面均衡提升重建图像质量. 基于数据集Voxceleb 1,通过人脸检索实验的方式进行测试,与当前主流方法进行比较和分析. 结果表明,该方法能有效提升生成图像与真实图像的相似度,所生成的图像具有更好的主客观评价结果.

关键词: 深度学习 ; 图像重建 ; 卷积神经网络 ; 生成对抗网络 ; 人脸先验信息

Abstract

Previous voice-face image reconstruction methods lack effective supervised constraints from different dimensions and face prior information, which may lead to a low similarity between reconstructed and real images. Thus, a face reconstruction method based on age-supervised learning and face prior information was proposed. Age related data were provided for the present dataset through a pre-trained age estimation model, which strengthened age supervision. For given voice samples, voice-face cross-modal identity matching was applied to retrieve images similar to real speakers, where the retrieved results were considered as face prior information. A joint loss function that consists of the cross entropy loss and the adversarial loss was defined to improve age coincidence, low-frequency content and high-frequency textures of the reconstructed images. Results of face retrieval experiments conducted with dataset Voxceleb 1 showed that the proposed method can improve the similarity between generated and ground truth images. The images generated by the proposed method have better subjective and objective evaluation results than that of the compared methods.

Keywords: deep learning ; image reconstruction ; convolutional neural network ; generative adversarial network ; face prior information

PDF (3274KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

何立, 庞善民. 结合年龄监督和人脸先验的语音-人脸图像重建. 浙江大学学报(工学版)[J], 2022, 56(5): 1006-1016 doi:10.3785/j.issn.1008-973X.2022.05.018

HE Li, PANG Shan-min. Face reconstruction from voice based on age-supervised learning and face prior information. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(5): 1006-1016 doi:10.3785/j.issn.1008-973X.2022.05.018

语音-人脸图像重建,旨在通过人工智能和计算机视觉的相关技术,从给定的一段或多段语音重建与说话人外貌相似的人脸图像.该项技术在诸多方面具备应用价值.例如,在一场网络会议中,若与会者不愿或不能提供真实照片,便可使用该技术制作虚拟头像.执法部门也可以利用此项技术,根据收集到的语音信息生成面部图像,以便识别和追踪可能的嫌疑人.

传统的语音分析技术已经能从语音推断说话人多方面的信息,例如情感[1]、身高体重[2]、健康状况[3]等.生物学的研究证明,人类的知觉隐式地建立了语音与对应人脸的联系[4],人类具备将未知个体的声音与他们的面部图片联系起来的能力[5],根据语音推测说话人的面部特征是可行的. 近年来,以生成对抗网络(generative adversarial network,GAN)[6]为代表的图像生成技术给语音分析的研究带来新的进展,通过语音来直接重建说话人的面部图像得以实现.

GAN自2014年提出至今,已经成为图像生成乃至计算机视觉领域的一种主流方法. 最初的GAN仅根据随机向量来生成真实但无法指定具体内容的图片. 之后出现的条件对抗生成网络(conditional generative adversarial network,CGAN)[7],通过在输入中加入额外的条件信息来控制输出. 深度卷积对抗生成网络(deep convolutional generative adversarial networks,DCGAN)[8]将卷积神经网络(convolutional neural network,CNN)引入生成器和判别器,借助CNN更强的拟合与表达能力,能够生成更复杂清晰的图像. 之后GAN的应用范围不断拓展. 例如pix2pix(image-to-image translation with conditional adversarial networks)[9]将GAN引入了图像转换任务. cycleGAN[10]则打破了“输入和输出图像必须一一对应”的限制,能实现从域到域的图像转换. 王凯等[11]以pix2pix为基础完成图像恢复任务,提高了SLAM(simultaneous localization and mapping)系统的容错能力. 段然等[12]利用GAN完成图像超分辨率重建任务.

目前已有一些语音-人脸图像重建任务的工作. 该任务最早是由Oh等[13]提出的,该工作的主要目的是揭示面部特征和语音在统计学上的相关性. Duarte等[14]将GAN引入该任务,其工作证明GAN在语音-面部图像跨模态生成场景下是适用的. Wen等[15]将带辅助分类器的GAN(auxiliary classifier generative adversarial network,ACGAN)[16],即CGAN的一个变种引入该任务. Choi等[17]将自监督学习的方法引入该任务,即在未使用人工标注身份信息的数据上,实现从语音到对应身份的人脸图像的重建.

上述工作存在以下几点不足之处. 1)与说话人的真实图像具有较高相似度的生成图像,应当在性别、年龄、肤色、脸型等多个维度上也尽可能相似. 但上述工作最多仅利用了身份监督信息,缺乏来自其他维度的有效监督信息,影响了最终的生成效果. 2)在其他相近任务的工作中,如人脸图像超分辨率任务,使用人脸先验信息来弥补2个模态之间的巨大鸿沟、改善生成效果已经是一种很常见的做法,但上述工作没有使用过人脸先验信息.

为了解决上述工作存在的问题,本研究提出结合年龄监督和人脸先验的语音-人脸图像重建方法. 为了解决缺乏来自不同维度的有效监督信息的问题,使用预训练的年龄评估模型,为现有数据集扩充年龄数据,以引入显式的年龄监督信息. 为了解决缺乏对人脸信息的利用的问题,使用语音-图像跨模态检索技术,为给定的语音检索与说话人图像相似的面部图像,将得到的面部图像作为人脸先验信息使用. 与先前方法相比,本研究方法在客观评估指标和主观感知方面均有更佳的表现.

1. 相关工作

1.1. GAN

目前GAN在图像转换任务上有广泛应用.在一对一图像转换任务上,典型的工作有pix2pix[9]. 该工作将U-Net[18]结构引入生成器,使用跳层连接缓解梯度消失和爆炸问题;判别器使用PatchGAN[19]的结构,在关注图像高频信息的同时,也减小了计算量加快了训练速度.在人脸图像超分辨率任务中,典型的工作有FSRNet[20].该工作充分利用人脸图像的几何先验信息(以面部landmark和热力图的形式)提升图像的生成效果.

1.2. 音频-图像跨模态方法

音频-图像跨模态任务包含诸多子任务,GAN在这些任务上得到不同程度的应用.

音频包括自然界的声音、演奏的音乐和语音,图像也包括人或自然风光的照片. Arandjelovic等[21]通过训练深度神经网络来识别给定的视频和音频是否匹配,从而学习通用的跨模态表示. Castrejon等[22]使用类似的方式学习一种跨模态表示. 这些跨模态表示常被用于跨模态检索任务.

具体到语音-人脸图像的子集,细分任务和相关工作仍有很多. 例如,Yang等[23]完成了语音-人脸图像跨模态身份匹配任务,即对于给定的语音,在人脸图像库里匹配与之身份对应的人脸图像;张晓冰等[24]完成了中文识别唇语任务;Hoover等[25]完成了从出现多人的视频中识别出正在说话/演讲的人的任务.

基于音频的视觉重建(visual reconstruction from audio)从不同类型的音频信号中重建视觉信息,例如talking face任务,即给定一个静态人脸图像和一个语音剪辑,生成一段该人脸说话的视频,其中嘴唇与音频要同步. 唐郅等[26]完成了语音驱动发音器官的运动合成任务. Sun等[27]通过对比学习和课程学习的方法,完成了talking face任务. Zhou等[28]在相同任务里通过低维姿态编码的方式,完成说话人脸的姿态可控生成.

1.3. 语音-人脸图像重建

语音-人脸图像重建任务,最早是由Oh等[13]提出的,模型名称为Speech2Face. 该工作通过预训练的图像编码器将图像编码为图像特征向量,再通过语音编码器将对应的语音编码嵌入到图像特征向量的空间中,最终通过预训练的解码器还原出面部图像. 该方法十分简单,生成的人脸图像是背景和头发模糊的正面像.

Wen等[15]使用了ACGAN[16],即CGAN的一个变种,模型名称为Voice2Face. 该工作通过一个预训练的语音编码器将语音编码为更低维的向量,在加上噪声后作为条件向量送入生成器. 在判别器部分添加了辅助分类器,使用身份监督信息改善生成效果.

Choi等[17]则实现了自监督学习,即在模型训练过程中没有使用显式的身份监督信息. 该工作的整体框架分为2个阶段,推断阶段和生成阶段. 在推断阶段,通过跨模态身份匹配任务训练得到图像编码器和语音编码器. 在生成阶段,使用推理阶段转移来的预训练网络来训练CGAN,即使用推断阶段得到的语音编码器将语音编码为伪条件向量,并将推理阶段得到的图像编码器作为判别器使用.

本研究所提出的方法与上述方法有以下不同之处:1)先前方法没有试图使用除了身份监督信息之外的其他监督信息,但本研究通过预训练的年龄评估模型,为当前数据集扩充年龄数据,给每个身份标注了年龄区间;2)先前方法没有使用人脸先验信息来改善生成效果,本研究通过语音-图像跨模态检索技术,为给定的语音检索与说话人真实图像相似的人脸图像来作为人脸先验信息使用;3)与Wen等[15]的工作相比,本研究能够生成128×128像素的较大尺寸的图片.

2. 基于年龄监督和人脸先验的图像重建方法

2.1. 符号约定

为了考察本研究所提出的方法的泛用性,所使用的数据依据人物身份划分为训练集、验证集、测试集,3个集合的人物身份互不重叠.

将训练集中的人物身份标签记为 $ Y=\{{y}_{1},{y}_{2},\cdots , $ $ {y}_{K}\} $K为训练集中人物身份的个数. 使用预训练的年龄评估模型为该数据集扩展每个身份标签对应的年龄数据. 由于身份标签和年龄标签是一对一的关系,年龄数据记为 $ A = \{ {a_1},{a_2},\cdots ,{a_K}\} $ai表示对应身份人物所属的年龄区间. 本研究在训练阶段采取小批量训练方式. 每一批量的音频数据记为 $ V = \{ {v_1},{v_2},\cdots ,{v_N}\} $N为训练集中音频数据的个数. 音频对应的身份标签记为 $ {Y^{\text{v}}} = \{ y_1^{\text{v}},y_2^{\text{v}},\cdots ,y_N^{\text{v}}\} $,且 ${y_i^{\text{v}}} \in Y$. 音频对应的年龄标签记为 $ {A^{\text{v}}} = \{ a_1^{\text{v}},a_2^{\text{v}},\cdots , $ $ a_N^{\text{v}}\} $,且 ${a_i^{\text{v}}} \in A$. 每一批量的人脸图像数据记为 $ F = \{ {f_1},{f_2},\cdots ,{f_M}\} $M为训练集中人脸图像数据的个数. NM可以不相等. 人脸图像对应的身份标签记为 ${Y^{\text{f}}} = \{ {{y}}_1^{\text{f}},y_2^{\text{f}},\cdots ,y_M^{\text{f}}\}$,且 ${y_i^{\text{f}}} \in Y$. 人脸图像对应的年龄标签记为 $ {A^{\text{f}}} = \{ a_1^{\text{f}},a_2^{\text{f}},\cdots ,a_M^{\text{f}}\} $,且 ${a_i^{\text{f}}} \in A$.

2.2. 整体结构

图1所示,本研究的框架由检索模块、生成模块、融合模块3个模块组成.

图 1

图 1   结合年龄监督和人脸先验的语音-人脸图像重建方法示意图

Fig.1   Illustration of face reconstruction from voice based on age-supervised learning and face prior information


首先是检索模块.利用训练集的数据,预训练一个语音-图像跨模态身份匹配模型. 通过训练该模型,得到一个语音编码器和一个图像编码器. 接着从训练集中抽取部分图片输入图像编码器,得到这些图片的高维特征表示. 将原始图片、对应图片的高维特征表示存储起来,作为图像检索库以待使用. 最后将原始语音输入语音编码器,得到语音的高维特征表示,再通过跨模态身份匹配的方法,得到图像检索库里与该语音匹配程度最高的人脸图像. 检索模块的实质是一个预训练的语音-图像跨模态身份匹配模块,通过语音-图像跨模态检索,对给定的语音嵌入,在图像检索库里进行相似度检索,输出检索图像.

接着是生成模块. 利用训练集的数据,预训练一个生成对抗网络模型. 通过训练该模型,得到所需的生成器. 该部分的模型复用检索模块得到的语音编码器,将原始语音编码成高维特征表示,再将该表示作为条件向量,输入生成器(一种使用逆卷积结构的深度神经网络). 判别器组根据ACGAN的结构改进而来,包括ACGAN具有的真假判别器和身份判别器,以及本研究新增的年龄判别器. 生成模块的实质是一个预训练的生成器,由给定的语音嵌入生成面部图像.

在得到预训练完毕的检索模块和生成器模块后,将它们加入整体模型,最后开始训练融合模块.融合模块及判别器的结构参考pix2pix[9],改进之处在于不使用pix2pix原本结构的判别器,而是使用本研究通过ACGAN[16]的结构改进而来的判别器. 融合模块接收检索模块输出的检索图像和生成模块输出的生成图像,融合两者信息,输出最终图像.

2.3. 检索模块结构与损失函数

在参与模型的整体训练之前,检索模块须先完成预训练. 检索模块的具体结构如图2所示.

图 2

图 2   使用交叉熵损失的跨模态匹配网络结构图

Fig.2   Architecture of cross-modal matching network with cross-entropy loss


本研究设置检索模块是用于提供人脸先验信息的. 语音-图像跨模态身份匹配任务的原本目的是,为给定语音检索对应身份的人脸图像. 但在待检索的面部图像里没有与给定语音身份相符的面部图像的情况下,检索得到的面部图像依然与该身份的真实面部图像有一定相似性,在性别、年龄、种族等属性上有较高相关性. 这是由于一个人的身份信息,在与他的语音具备相关性的同时,和他的性别、年龄、种族、面部轮廓等信息也是具备相关性的. 如此得到的检索图像可以提供大致人脸轮廓、肤色纹理、发色等先验信息,以改善生成效果.

检索模块由语音编码器和图像编码器两部分组成. 图像编码器在预训练的ResNet-50的基础上微调得到. 语音编码器在Wen等[15]的工作所提供的语音编码器的基础上微调得到,该语音编码器以处理成Mel频谱的语音特征作为输入. 语音编码器是一个卷积神经网络,详细结构如图3所示. 图中,IO分别为输入和输出频道数. 除了最后一层外,在语音编码器的每层卷积操作后都进行批量归一化(batch-normalization),并使用线性修正单元(rectified linear units,ReLU)作为激活函数. 2个编码器都通过各自最后一层的线性层,将对应模态的表示嵌入到同一特征空间中. 图像检索库由从训练集中抽取每个身份的部分图片得到. 图像检索库中的人脸图像数据记为 $ {F^{\text{r}}} = \{ f_1^{\text{r}},f_2^{\text{r}},\cdots ,f_L^{\text{r}}\} $L为检索库中人脸图像数据的个数,且 $ {f_i^{\text{r}}} \in F $. 库中图像对应的身份标签记为 $ {Y^{\text{r}}} = \{ y_1^{\text{r}},y_2^{\text{r}},\cdots ,y_L^{\text{r}}\} $,且 $ {y_i^{\text{r}}} \in Y $. 对于语音 $ {v_{{i}}} $和库中图像 $ f_j^{\text{r}} $,它们在身份上匹配的概率如下:

图 3

图 3   语音编码器网络结构图

Fig.3   Architecture of speech encoder network


$ \begin{split} {P_{ij}} =\;& P\left(y_i^{\text{v}} = y_j^{\text{r}}|\{ {E_{\text{s}}}\left({v_i}\right),{E_{\text{f}}}\left(f_j^{\text{r}}\right){\text{ }}\} _{j = 1}^{L}\right)\;=\; \hfill \\ & P\left(y_i^{\text{v}} = y_j^{\text{r}}|\{ {\bf{ve}}{_i},{\bf{fe}}_j^{\text{r}}\} _{j = 1}^{L}\right)\;=\; \hfill \\ &{\exp \;\left(\cos \;\left({\bf{v}}{{\bf{e}}_i},{\bf{fe}}_j^{\text{r}}\right)\right)} \left/{{\sum\nolimits_{j = 1}^{ L} {\exp\; \left(\cos\; \left({\bf{v}}{{\bf{e}}_i},{\bf{fe}}_j^{\text{r}}\right)\right)} }}\right.. \end{split} $

式中: $ {E_{\text{s}}} $表示语音编码器, $ {E_{\text{f}}} $表示图像编码器, ${{\bf{ve}}}$表示语音嵌入向量, ${{\bf{fe}}}$表示图像嵌入向量. 这里在计算概率时使用了softmax函数进行处理. 使用余弦相似度作为计算相似度的方法. 在训练时使用的损失函数是交叉熵损失,对应的损失函数如下:

$ {L_{{\text{ret}}}} = - \frac{1}{N}\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^L {y_{ij}^{\text{r}}\ln \;({P_{ij}})} } . $

式中: $ y_{ij}^{\text{r}} $为布尔量,表示音频 $ v_i^{} $和图像 $ f_j^{\text{r}} $是否属于同一身份,若 $ y_i^{\text{v}} = y_j^{\text{r}} $,则 $ y_{ij}^{\text{r}} $取1,否则取0.

2.4. 生成模块结构与损失函数

在参与模型的整体训练之前,生成模块须先完成预训练. 生成模块的细节如图4所示.

图 4

图 4   使用辅助分类器的生成对抗网络结构图

Fig.4   Architecture of generative adversarial network with auxiliary classifiers


生成模块的训练模型根据Wen等[15]的工作改进而来,与其主要差别在于,判别器组除了原有的身份分类器和真假判别器外,新增了年龄分类器. 生成模块的预训练须复用检索模块的语音编码器,在训练生成模块时,语音编码器的权重固定. 将原始语音输入语音编码器,得到语音的高维特征表示,该表示也可以作为生成器G的条件向量,在加上高斯噪声后将其送入生成器G.

生成器G是由多层转置卷积层构成的卷积神经网络. 语音的表示作为条件向量送入生成器G,输出中间图像. 生成器G的网络结构如图5所示. 图中,KSP分别为感知核大小、步长、边缘填充方式. 除了最后一层转置卷积层外,在每一层转置卷积层后都使用ReLU激活函数.

图 5

图 5   生成网络结构图

Fig.5   Architecture of generative network


判别器组由三部分组成,分别为真假判别器D、身份分类器C、年龄分类器A. 判别器D用于判断给定图片的真假,该给定图片可能来自数据集里的真实图片,也可能是生成器产生的虚假图片. 身份分类器C用于判断给定图片的对应身份,年龄分类器用于判断给定图片的年龄对应区间. 在训练时,生成器G会根据给定语音的条件向量生成人脸图像,该图像会分别送入判别器D、身份分类器C和年龄分类器A,判定该图片的真假和对应身份. DCA也是卷积神经网络,它们共享卷积层的权重,仅在最后分别通过各自的线性层输出结果. DCA使用的损失函数都是交叉熵损失函数. 判别器组的网络结构如图6所示. 图中,Q为身份数量. 除了最后一层卷积层外,每一层卷积层后都使用带泄漏的整流函数(leaky rectified linear units,Leaky ReLU).

图 6

图 6   带有身份分类器和年龄分类器的判别器组结构图

Fig.6   Architecture of discriminator module with identity classifier and age classifier


添加年龄作为监督信息,并且在训练生成模块时添加年龄判别器的目的是,为模型的训练添加来自年龄维度的有效监督. 人的年龄是和其面部特征高度相关的属性,一张根据此人的语音重构的人脸,在年龄这一属性上也应和此人的真实年龄相近. 现有的年龄评估模型已经足够成熟,给数据集扩充年龄信息并不困难,年龄判别器对整体计算开销的影响也是可以接受的.

作为一种生成对抗网络,生成模块的训练是两阶段的.每次先固定生成器的参数,更新判别器(包括DCA)的参数,损失函数如下:

$ {L_{D}} = \sum\nolimits_{i = 1}^N {\ln\; (1 - D(\hat f_i^{\text{G}})) + \sum\nolimits_{i = 1}^M {\ln\; D({f_i})} } , $

$ {L_{C}} = \sum\nolimits_{i = 1}^M {\sum\nolimits_{j = 1}^K {{y_{ij}}\ln \;C({f_i})} } , $

$ {L_{A}} = \sum\nolimits_{i = 1}^M {\sum\nolimits_{j = 1}^K {{{{a}}_{ij}}} \ln\; A({f_i})} . $

式中: $\hat f_i^{{G}} = G({E_{\text{s}}}({v_i}))$,表示生成模块G生成的图像; $ y_{ij}^{} $为布尔量,表示图像 $ f_i^{} $的身份标签是否等于 $ y_j^{} $,如果 $ y_i^{\text{f}} = y_j^{} $,则 $ y_{ij}^{} $取1,否则取0; $ a_{ij}^{} $为布尔量,表示图像 $ f_i^{} $的年龄标签是否等于 $ a_j^{} $,如果 $ a_i^{\text{f}} = a_j^{} $,则 $ a_{ij}^{} $取1,否则取0.

再固定判别器的参数,更新生成器的参数,损失函数如下:

$ \begin{split} {L_{G}} =\;& \sum\nolimits_{i = 1}^N {\sum\nolimits_{{{j = 1}}}^K {{{\hat y}_{{{ij}}}}\ln \;C(\hat f_i^{G})} } + \hfill \\ \;&\sum\nolimits_{i = 1}^N {\sum\nolimits_{{{j = 1}}}^K {{{\hat a}_{{{ij}}}}\ln\; A(\hat f_i^{G})} } + \sum\nolimits_{i = 1}^M {\ln \;D(\hat f_i^{G})} . \end{split}$

式中: $ {\hat y_{ij}} $为布尔量,表示音频 $ v_i^{} $的身份标签是否等于 $ y_j^{} $,如果 $ y_i^{\text{v}} = {y_j} $,则 $ {\hat y_{ij}} $取1,否则取0; $ {\hat a_{ij}} $为布尔量,表示音频 $ v_i^{} $的年龄标签是否等于 $ {a_j} $,如果 $ a_i^{\text{v}} = {a_j} $,则 $ {\hat a_{ij}} $取1,否则取0.

2.5. 融合模块结构与损失函数

在完成检索模块和生成模块的预训练后,对整体模型进行训练. 检索模块和生成模块的参数均固定,此时主要训练的是融合模块. 融合模块是一个由卷积和转置卷积层组成的神经网络,其结构如图7所示. 除了最后一层反卷积层外,每层卷积或反卷积层后都使用实例归一化(instance normalization,IN)和ReLU激活函数.

图 7

图 7   使用跳层连接的图像融合网络结构图

Fig.7   Architecture of image fusion network with skip connection


检索模块输出的图像和生成器G输出的图像,在频道维度上拼接(concatenate)后送入融合模块,产生最终的生成图像. 融合模块的结构借鉴自pix2pix[9]的生成器,使用U-Net[18]结构,一种引入了跳层连接的编码-解码器. 使用U-Net结构的理由是,融合模块的输入和输出都是人脸图像(尽管维度不同),所以输入和输出具有相似的底层结构. 如果使用传统的编码-解码器结构,输入的信息会经过一系列下采样层、瓶颈层、上采样层后才传达至最终的输出,一些低层信息在这个过程中可能会损失. 而U-Net的跳层连接让输入的信息可以更直接地传达至输出端.

和生成模块的训练过程相似,生成图像同样要送入真假判别器D′、身份分类器C′和年龄分类器A′,D′、C′和A′的结构和使用的损失函数与上文中的DCA相似.

由于整体模型是生成对抗网络的结构,整体模型的训练是两阶段的. 在对整体模型进行训练时,检索模块和生成模块的参数均是固定的. 每次先固定融合模块的参数,更新判别器(包括D′、C′、A′)的参数,损失函数如下:

$ {L_{{{D}\text{f}}}} = \sum\nolimits_{i = 1}^N {\ln \;(1 - D'({{\hat f}_i})) + \sum\nolimits_{i = 1}^M {\ln \;D'({f_i})} }, $

$ {L_{{{C}\text{f}}}} = \sum\nolimits_{i = 1}^M {\sum\nolimits_{j = 1}^K {{y_{ij}}\ln\; C'({f_i})} } , $

$ {L_{{{A}\text{f}}}} = \sum\nolimits_{i = 1}^M {\sum\nolimits_{j = 1}^K {{{{a}}_{ij}}} \ln\; A'({f_i})} . $

式中: ${\hat f_i} = F(f_i^{\text{r}},\hat f_i^{G})$,表示融合模块F生成的图像.

再固定判别器的参数,更新生成器的参数,损失函数如下:

$ \begin{split} \begin{split} {L_{{{G}\text{f}}}} =\;& \sum\nolimits_{i = 1}^N {\sum\nolimits_{{{j = 1}}}^K {{{\hat y}_{ij}}\ln \;C'({{\hat f}_i})} }+ \hfill \\ \;&\sum\nolimits_{i = 1}^N {\sum\nolimits_{{{j = 1}}}^K {{{\hat a}_{ij}}\ln \;A'({{\hat f}_i})} } + \sum\nolimits_{i = 1}^M {\ln\; D'({{\hat f}_i})} . \end{split} \end{split} $

3. 实 验

3.1. 数据集与参数设置

Voxceleb 1数据集[29]包含来自1251个不同身份的说话人的超过15万条语音片段. 每个语音片段的平均长度为8.2 s. 对应身份的人脸图像可以从VGG face数据集[30]中获取,数量与语音片段相当.根据先前工作[31]的划分方式,依照说话人的姓名首字母将数据集划分为训练集/验证集/测试集,验证集的首字母为A、B,测试集的首字母为C、D、E,其余为训练集. 将语音数据提前处理成Mel频谱的形式,人脸图像裁剪缩放为128×128像素的大小.

使用年龄评估模型[32]给各个身份标注年龄区间. 每个身份随机取10张图片,取预测结果的平均值. 将年龄划分为10个区间,≤20岁为一组,>60岁为一组,20~60岁之间每5岁一组.

选取Speech2Face[13]和Voice2Face[15]作为对比模型. 所有模型在训练和测试时均使用8 s长度的音频数据. 本研究的数据处理方式和特征提取手段与Voice2Face的相同. 对于人脸图像,使用人脸检测模型提取VGGface数据集中的图像,通过相似变换后得到尺寸为3×64×64和3×128×128像素的RGB人脸图像,分别供Voice2Face和本研究的模型使用.使用预训练的ResNet-50[33]模型作为图像编码器提取图像特征. 将图像中的每个像素减去127.5后再除以127.5进行归一化处理. 对于音频片段,均提取64维的梅尔频谱图,窗口宽度为25 ms,帧间距为10 ms,再进行均值和方差归一化处理. Speech2Face的数据处理方式略有不同. 对于人脸图像,使用基于Dlib[34]的人脸检测器,从视频中裁剪人脸区域,经相似变换得到3×224×224像素的面部图像,通过预训练的VGG模型提取图像特征. 对于音频片段,Speech2Face的处理方式与Ephrat等[35]的工作相同.

本研究采用 PyTorch 框架搭建模型,在NVIDIA GEFORCE GTX 2080 GPU 服务器上进行训练.对检索模块、生成模块和整体模型的训练,均使用Adam优化器,学习率为0.0002,β1=0.5,β2=0.999.

本研究和对比算法均采用小批量训练方式. 对比算法的批量大小和训练次数均和原文记录保持一致. 对Speech2Face[13],批量大小设置为8,迭代30000次. 对Voice2Face[15],使用已公开的模型作为对比模型,不需要另外训练. 对本研究中的生成模块,批量大小设置为128,共迭代6250次. 对本研究中的整体模型,批量大小设置为64,共迭代6875次.

3.2. 评估指标

为了衡量图像生成质量,使用FID(Fréchet inception distance)[36]作为评估指标. FID越小,图像生成质量越佳.

为了衡量生成图像与对应说话人的真实图像的相似度,通过人脸检索实验的方式比较各个模型的表现. 即使用根据说话人的语音重建的人脸图像作为查询,比较从图像检索库中检索出说话人的真实图像的概率,来比较各个模型的生成图像与真实图像的相似度.

为了构建图像检索库,分别从测试集的每个不同身份的面部图片里抽取20张,作为图像检索库.使用基于VGGface数据集上预训练的ResNet-50模型的最后一层特征和VGG-16模型的最后一层特征作为图像特征,通过比较生成图像和待检索图像的特征的度量距离来比较图像间的相似度.使用余弦距离cos和L1距离(连接2个向量顶点的线段在坐标轴上的投影长度之和)作为距离度量方法.

3.3. FID评测与人脸检索实验结果

实验结果如表1所示. 为了避免特征提取器对最终结果造成影响,分别使用ResNet-50和VGG-16进行特征提取. 表中,Top-N表示“与重建图像相似度最高的前N张检索图像中,至少有一张图像的身份和说话人相同”的实验占实验总次数的比例. 可以看出,本研究所提出的模型,无论是生成模块还是整体模型,在检索的Top-N指标和FID指标上的表现都显著优于2个对比模型. 说明所提出的模型根据说话人的语音所重建的图像具备较好的图像质量,与说话人的真实图像也具备更高相似度.

表 1   本研究方法与主流方法实验结果对比

Tab.1  Experimental results of proposed method compared with popular methods

模型 距离度量 ResNet-50 VGG-16 FID
Top-1/% Top-5/% Top-10/% Top-1/% Top-5/% Top-10/%
random 0.53 1.30 2.17 0.53 1.30 2.17
Speech2Face[13] L1 0.61 2.59 4.44 0.58 2.96 5.45 233.92
cos 0.56 2.59 4.60 0.69 3.31 5.93
Voice2Face[15] L1 1.88 5.21 8.47 1.30 6.06 10.79 51.45
cos 1.98 5.58 8.33 1.32 5.66 10.90
仅生成模块 L1 2.30 5.71 8.33 1.38 6.46 11.08 38.60
cos 2.25 5.77 8.49 1.69 6.48 11.53
本研究方法 L1 2.59 5.98 9.20 1.75 6.60 11.60 40.32
cos 2.32 5.81 9.17 1.71 6.56 11.58

新窗口打开| 下载CSV


对比模型和本模型生成图像的样例如图8所示. 可以看出,无论是生成模块生成的图像,还是模型整体生成的图像,均比对比模型的图像更接近原图,在性别、种族、肤色、年龄等属性上与真实图像更接近,图像质量也更出色.

图 8

图 8   本研究方法与主流方法实验图像细节对比

Fig.8   Experimental image details of proposed method compared with popular methods


3.4. 对年龄评估和检索模块的消融实验与结果分析

为了证明引入年龄作为监督信息的影响,通过人脸检索实验的方式,进行对比实验. 由表1可知,特征提取器的选择对实验结果的影响不大,因此本节实验仅使用ResNet-50作为特征提取器. 实验结果如表2所示. 可以看出,引入年龄对于检索指标的提升是明显的,对FID的影响较轻微. 这说明来自除了身份外其他维度的监督信息,如年龄,有利于引导模型更好地重构人脸. 尽管此处使用的年龄信息并非来自数据集本身,而是使用基于其他数据集预训练的年龄评估模型得到的,仍然能对促进生成图像和真实图像的相似度起到积极作用. 部分生成样例的对比如图9所示. 可以看出,年龄监督信息修正了生成图片的“年龄感”.

表 2   消融实验中不同年龄设置的结果对比

Tab.2  Comparison results of different settings about age in ablation study

模型 距离度量 Top-1/% Top-5/% Top-10/% FID
random 0.53 1.30 2.17
不用年龄数据 L1 1.80 4.89 7.86 37.17
cos 1.80 4.84 7.65
使用年龄数据 L1 2.30 5.71 8.33 38.60
cos 2.25 5.77 8.49

新窗口打开| 下载CSV


图 9

图 9   使用不同年龄设置的网络的生成图片对比

Fig.9   Comparison of generated images of networks using different settings about age


上述主客观实验证实了添加年龄监督信息的有效性. 为了证明引入检索模块的影响,同样通过人脸检索实验的方式,进行对比实验. 由于检索模块和融合模块的添加增大了模型复杂度,为了排除模型复杂度带来的影响,验证检索模块的有效性,实验共分为4组. 其中去除检索模块的模型,因为少了检索图像的输入,融合模块的输入维度降低为3. 随机检索的模型,所使用的检索图像从图像检索库中随机抽取. 本研究所提出的模型即为完整模型.

实验结果如表3所示. 可以看出,去除检索模块的模型,尽管比单纯的生成模块拥有更大的模型复杂度,在Top-N指标上并不比生成模块出色,在FID指标上的表现甚至更为恶劣. 说明单纯添加融合模块,增大模型复杂度未必会改善模型表现. 随机检索模块的模型表现同样不出色,说明低质量的检索图像反而可能会破坏生成效果. 有检索模块的模型,即完整的模型在Top-N指标上提升明显,对FID指标的影响较轻微.

表 3   消融实验中不同检索模块设置的结果对比

Tab.3  Comparison results of different settings about retrieval module in ablation study

模型 距离度量 Top-1/% Top-5/% Top-10/% FID
random 0.53 1.30 2.17
仅生成模块 L1 2.30 5.71 8.33 38.60
cos 2.25 5.77 8.49
去除检索模块 L1 1.67 4.55 7.25 54.87
cos 1.77 4.63 7.28
随机检索模块 L1 1.53 4.95 7.67 57.85
cos 1.53 4.81 7.65
完整模型 L1 2.59 5.98 9.20 40.32
cos 2.32 5.81 9.17

新窗口打开| 下载CSV


部分生成样例的对比如图10所示. 可以看出,去除检索模块的模型和随机检索模块的模型所生成的图片,色泽较怪异. 这是因为生成器没有收到有效信息,会受噪声的影响修改图像的色调. 而仅有生成模块的模型所生成的图片,尽管色泽更加正常,但五官和人脸轮廓存在瑕疵. 例如,第1行左起第3张图片,下巴轮廓不自然;第3行左起第3张图片,嘴部略显模糊. 而完整模型生成的图片较好地修正了上述的错误,且在肤色上显得更加自然红润,也更接近真实图片. 这是检索模块提供的人脸先验信息起效的表现.

图 10

图 10   使用不同检索模块设置的网络的生成图片对比

Fig.10   Comparison of generated images of networks using different settings about retrieval module


上述主客观实验证实了检索模块的有效性.

4. 结 论

本研究提出添加了年龄监督信息、利用人脸监督信息的语音-人脸图像重建模型,在先前相关工作的基础上进行了改进. 首先,成功地使用预训练的年龄评估模型,为现有数据集扩充了年龄监督信息,提供了来自除了身份和图像本身外其他维度的监督,让生成图像在年龄这一属性上与真实人脸更加契合. 接着,通过语音-图像跨模态身份匹配,为给定语音检索与真实图像相似的面部图像,为后续的图像生成提供人脸先验信息,改善模型的生成效果. 最后,整理和复现了先前的相关工作,并通过FID指标评测和人脸检索实验证明本研究提出的模型的表现优于先前工作的.

后续将在改进人脸图像先验信息的提供方式、改进生成网络结构上继续展开基于语音的人脸图像重建的相关工作,并尝试将提供人脸先验信息的方式扩展到类似的跨模态生成任务上,以期取得更大的进步.

参考文献

孙颖, 胡艳香, 张雪英, 等

面向情感语音识别的情感维度PAD预测

[J]. 浙江大学学报:工学版, 2019, 53 (10): 2041- 2048

[本文引用: 1]

SUN Ying, HU Yan-xiang, ZHANG Xue-ying, et al

Prediction of emotional dimensions PAD for emotional speech recognition

[J]. Journal of Zhejiang University: Engineering Science, 2019, 53 (10): 2041- 2048

[本文引用: 1]

SINGH R, RAJ B, GENCAGA D. Forensic anthropometry from voice: an articulatory-phonetic approach [C]// 2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). Opatija: IEEE, 2016: 1375-1380.

[本文引用: 1]

李江, 赵雅琼, 包晔华

基于混沌和替代数据法的中风病人声音分析

[J]. 浙江大学学报:工学版, 2015, 49 (1): 36- 41

[本文引用: 1]

LI Jiang, ZHAO Ya-qiong, BAO Ye-hua

Voice processing technique for patients with stroke based on chao theory and surrogate data analysis

[J]. Journal of Zhejiang University: Engineering Science, 2015, 49 (1): 36- 41

[本文引用: 1]

BELIN P, FECTEAU S, BEDARD C

Thinking the voice: neural correlates of voice perception

[J]. Trends in Cognitive Sciences, 2004, 8 (3): 129- 135

[本文引用: 1]

KAMACHI M, HILL H, LANDER K, et al

Putting the face to the voice’: matching identity across modality

[J]. Current Biology, 2003, 13 (19): 1709- 1714

[本文引用: 1]

GOODFELLOW I J, POUGET A J, MIRZA M, et al

Generative adversarial networks

[J]. Advances in Neural Information Processing Systems, 2014, 3: 2672- 2680

[本文引用: 1]

MIRZA M, OSINDERO S. Conditional generative adversarial nets [EB/OL]. (2014-11-06). https://arxiv.org/pdf/1411.1784.pdf.

[本文引用: 1]

YU Y, GONG Z, ZHONG P, et al. Unsupervised representation learning with deep convolutional neural network for remote sensing images [C]// International Conference on Image and Graphics. Shanghai: Springer, 2017: 97-108.

[本文引用: 1]

ISOLA P, ZHU J Y, ZHOU T, et al. Image-to-image translation with conditional adversarial networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Hawaii: IEEE, 2017: 1125-1134.

[本文引用: 4]

ZHU J Y, PARK T, ISOLA P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks [C]// Proceedings of the IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 2223-2232.

[本文引用: 1]

王凯, 岳泊暄, 傅骏伟, 等

基于生成对抗网络的图像恢复与SLAM容错研究

[J]. 浙江大学学报: 工学版, 2019, 53 (1): 115- 125

[本文引用: 1]

WANG Kai, YUE Bo-xuan, FU Jun-wei, et al

Image restoration and fault tolerance of stereo SLAM based on generative adversarial net

[J]. Journal of Zhejiang University: Engineering Science, 2019, 53 (1): 115- 125

[本文引用: 1]

段然, 周登文, 赵丽娟, 等

基于多尺度特征映射网络的图像超分辨率重建

[J]. 浙江大学学报: 工学版, 2019, 53 (7): 1331- 1339

[本文引用: 1]

DUAN Ran, ZHOU Deng-wen, ZHAO Li-juan, et al

Classification and detection method of blood cells images based on multi-scale conditional generative adversarial network

[J]. Journal of Zhejiang University: Engineering Science, 2019, 53 (7): 1331- 1339

[本文引用: 1]

OH T H, DEKEL T, KIM C, et al. Speech2face: learning the face behind a voice [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 7539-7548.

[本文引用: 5]

DUARTE A C, ROLDAN F, TUBAU M, et al. WAV2PIX: speech-conditioned face generation using generative adversarial networks [C]// International Conference on Acoustics, Speech, and Signal Processing. Brighton: IEEE, 2019: 8633-8637.

[本文引用: 1]

WEN Y, RAJ B, SINGH R

Face reconstruction from voice using generative adversarial networks

[J]. Advances in Neural Information Processing Systems, 2019, 32: 5265- 5274

[本文引用: 8]

ODENA A, OLAH C, SHLENS J. Conditional image synthesis with auxiliary classifier gans [C]// International Conference on Machine Learning. Sydney: ICML, 2017: 2642-2651.

[本文引用: 3]

CHOI H S, PARK C, LEE K. From inference to generation: end-to-end fully self-supervised generation of human face from speech [C]// International Conference on Learning Representations. Addis Ababaa: ICLR, 2020.

[本文引用: 2]

RONNEBRGER O, FISCHER P, BROX T. U-Net: convolutional networks for biomedical image segmentation [C]// International Conference on Medical Image Computing and Computer Assisted Intervention. Munich: Springer, 2015: 234–241.

[本文引用: 2]

LI C, WAND M. Precomputed real-time texture synthesis with markovian generative adversarial networks [C]// European Conference on Computer Vision. Amsterdam: Springer, 2016: 702-716.

[本文引用: 1]

CHEN Y, TAI Y, LIU X, et al. FSRNet: end-to-end learning face super-resolution with facial priors [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake: IEEE, 2018: 2492-2501.

[本文引用: 1]

ARANDJELOVIC R, ZISSERMAN A. Look, listen and learn [C]// Proceedings of the IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 609-617.

[本文引用: 1]

CASTREJON L, AYTAR Y, VONDRICK C, et al. Learning aligned cross-modal representations from weakly aligned data [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 2940-2949.

[本文引用: 1]

YANG D W, ISMAIL M A, LIU W Y, et al. Disjoint mapping network for crossmodal matching of voices and faces [C]// International Conference on Learning Representations. Addis Ababaa: ICLR, 2018.

[本文引用: 1]

张晓冰, 龚海刚, 杨帆, 等

基于端到端句子级别的中文唇语识别研究

[J]. 软件学报, 2020, 31 (6): 1747- 1760

[本文引用: 1]

ZHANG Xiao-bing, GONG Hai-gang, YANG Fan, et al

Chinese sentence-level lip reading based on end-to-end model

[J]. Journal of Software, 2020, 31 (6): 1747- 1760

[本文引用: 1]

HOOVER K, CHAUDHURI S, PANTOFARU C, et al. Putting a face to the voice: fusing audio and visual signals across a video to determine speakers [EB/OL]. (2017-5-31) [2021-10-24]. https://arxiv.org/pdf/1706.00079.pdf.

[本文引用: 1]

唐郅, 侯进

基于深度神经网络的语音驱动发音器官的运动合成

[J]. 自动化学报, 2016, 42 (6): 923- 930

[本文引用: 1]

TANG Zhi, HOU Jin

Speech driven articulator motion synthesis with deep neural networks

[J]. Acta Automatica Sinica, 2016, 42 (6): 923- 930

[本文引用: 1]

SUN Y, ZHOU H, LIU Z, et al. Speech2Talking-Face: inferring and driving a face with synchronized audio-visual representation [C]// International Joint Conference on Artificial Intelligence. Montreal: IJCAI, 2021: 1018-1024.

[本文引用: 1]

ZHOU H, SUN Y, WU W, et al. Pose-controllable talking face generation by implicitly modularized audio-visual representation [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Virtual reality: IEEE, 2021: 4176-4186.

[本文引用: 1]

NAGRANI A, ALBANIE S, ZISSERMAN A. Seeing voices and hearing faces: cross-modal biometric matching [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 8427-8436.

[本文引用: 1]

OMKAR M P, ANDREA V, ANDREW Z, et al. Deep face recognition [C]// British Machine Vision Conference. Swansea: BMVC, 2015: 1, 6.

[本文引用: 1]

NAGRANI A, ALBANIE S, ZISSERMAN A. Seeing voices and hearing faces: cross-modal biometric matching [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake: BMVC, 2018: 8427-8436.

[本文引用: 1]

ROTHE R, TIMOFTE R, VAN GOOL L

Deep expectation of real and apparent age from a single image without facial landmarks

[J]. International Journal of Computer Vision, 2018, 126 (2): 144- 157

[本文引用: 1]

HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770-778.

[本文引用: 1]

KING D E

Dlib-ml: a machine learning toolkit

[J]. The Journal of Machine Learning Research, 2009, 10: 1755- 1758

[本文引用: 1]

EPHRAT A, MOSSERI I, LANG O, et al

Looking to listen at the cocktail party: a speaker-independent audio-visual model for speech separation

[J]. ACM Transactions on Graphics (TOG), 2018, 37 (4): 1- 11

[本文引用: 1]

HEUSEL M, RAMSAUER H, UNTERTHINER T, et al. Gans trained by a two time-scale update rule converge to a local nash equilibrium [C]// Advances in Neural Information Processing Systems. Long Beach: NIPS, 2017, 30.

[本文引用: 1]

/