一种基于条件生成对抗网络的声音预测人脸方法

文档序号:25307328发布日期:2021-06-04 14:48阅读:126来源:国知局
一种基于条件生成对抗网络的声音预测人脸方法

1.本发明涉及深度学习应用技术领域,具体涉及了一种基于条件生成对抗网络的声音预测人脸方法。


背景技术:

2.近年来,深度学习的发展得到了社会各界的广泛关注,其技术应用也已经渗透了生活的方方面面。深度学习的提出得益于神经网络的发展,其根本概念在于模拟人脑进行数据分析,找到输入与输出之间的隐层联系。目前,深度学习技术在图像处理、自然语言处理、音频处理等问题上均显露出令人惊叹的效果,其中尤以在图像处理上的表现最令人瞩目。
3.图像处理问题可以分为:图像检测、图像分类、图像生成等。生成对抗网络就是一种极具发展前景的图像生成模型,其本质是一个“博弈对抗”的过程。生成对抗网络由生成器与鉴别器两部分网络构成,生成器的目的在于合成以假乱真的图片,而鉴别器的目的在于分辨出合成图片与真实图片,两者通过不断较量最终达到平衡。但原始的生成对抗网络的生成结果不可控,为了改善该问题,条件生成对抗网络cgan应运而生,其背后的思想在于给原始网络加入一定的约束条件,使得生成图片符合指定的要求。这一改进大大推动了生成对抗网络在各大领域的融合发展。
4.在条件生成对抗网络的基础上,根据文本生成图片,根据颜色生成图片等技术都已经取得较好的成果,但由音生貌,通过声音预测人脸的语音画像领域发展却始终不如人意。现有的语音画像技术生成图片分辨率低下,难以在实际工作中得到应用,且大多使用声音特征直接作为生成对抗网络的约束条件,增大了网络的学习难度,模型效果不如人意。


技术实现要素:

5.针对上述不足,本发明提出了一种基于条件生成对抗网络的声音预测人脸方法,该方法使用声音分类网络将声音特征转化为one

hot标签编码,以标签编码为条件生成对抗网络的约束条件,进而可以得到分辨率较高的预测人脸图片。
6.本发明采用的技术方案为:
7.一种基于条件生成对抗网络的声音预测人脸方法,该方法包括:数据构建步骤、声音分类网络模型设计与训练步骤、人脸图像生成网络设计与训练步骤、模型预测步骤;数据构建步骤主要通过采集当前主流的common voice音频数据集中汉语(中国大陆)声音数据和utkface数据集中亚裔人脸数据,进行数据清洗并依据数据库相关标注数据,为声音和人脸数据分别建立one

hot编码标签;设计及训练声音分类网络模型步骤利用深度学习技术在分类问题上的处理,设计相应的网络结构,并利用所构建的数据进行训练,获得网络模型;设计及训练人脸图像生成网络步骤利用条件生成对抗网络的相关原理,利用所构建的数据进行训练并获得网络模型;模型预测步骤串联声音分类网络与人脸图像生成网络,实现从声音预测人脸的功能。
8.具体的,该方法的实现步骤如下:
9.s1、数据构建,采集common voice音频数据集中汉语(中国大陆)声音数据和utkface数据集中亚裔人脸数据;对声音数据及人脸图像数据进行数据清理;根据数据集中原始的年龄及性别标注,对声音数据及人脸图像数据建立one

hot编码标签,保持两者编码规则的一致性;
10.s2、设计及训练声音分类网络模型,该网络模型包含三个子网络,分别为梅尔频谱转化网络,预训练的resnet50网络和全连接网络;首先将经过数据处理的声音数据输入梅尔频谱转化网络,获得声音数据的梅尔频谱;接着将梅尔频谱输入预训练的resnet50网络,得到精确度更高的声音特征;最后将resnet50网络的输出经过一定的数据处理后输入全连接网络,输出为预测的one

hot声音分类标签;优化预测的声音分类标签与真实的声音编码标签之间的相似度,更新网络的权重,获得收敛的网络;
11.s3、设计及训练人脸图像生成网络,该网络为预训练的cgan网络,以随机种子作为网络输入,以人脸one

hot编码标签为约束条件,同时训练网络的生成器及鉴别器,使两者在博弈中达到平衡;取网络收敛后的生成器为人脸图像生成网络;
12.s4、模型预测,将待预测的声音经过预处理后输入声音分类网络,获得one

hot声音分类标签;将分类标签输入人脸图像生成网络,获得预测的人脸图像。
13.进一步地,步骤s1中,对数据进行数据清理步骤如下:
14.s11、清除无声声音片段;
15.s12、清除标注残缺的声音数据及人脸图像数据;
16.s13、将声音数据统一裁剪至时间长度5s;
17.进一步地,步骤s1中,对声音及人脸数据建立one

hot编码标签,该标签根据标注共分为八种情况,分别为:男性小于19岁、男性19

29岁、男性30

39岁、男性大于40岁、女性小于19岁、女性19

29岁、女性30

39岁、女性大于40岁,将其分别编码为(00000001,00000010,00000100,00001000,00010000,00100000,01000000,10000000);
18.进一步地,步骤s2中,声音分类网络的具体训练步骤如下:
19.s21、将经过处理的声音数据输入梅尔频谱转换网络,该网络采用librosa工具包中的封装函数实现;
20.s22、将提取的梅尔频谱输入预训练的resnet50网络,得到精确度更高的声音特征;
21.s23、将resnet50网络的输出经过最大值池化后输入全连接层,得到预测的one

hot标签;
22.s24、根据预测的one

hot标签与真实的one

hot标签计算交叉熵损失函数,更新resnet50网络及全连接层的参数;
23.s25、重复s21至s24步骤,直至达到训练次数,完成训练并保存此时的分类网络;
24.进一步地,步骤s3中,人脸图像生成网络的具体训练步骤为:以随机种子及人脸one

hot编码标签为cgan网络生成器的输入,输出为生成的随机人脸图片;将该随机人脸图片、人脸one

hot编码标签及真实人脸图片输入cgan网络鉴别器,输出值用于判断生成器的合成图片是否真实以及是否符合标签约束;同时训练生成器及鉴别器,通过优化损失函数更新网络权重,使网络达到平衡;取收敛的cgan生成器为人脸图像生成网络;
25.综上所述,本发明公开了一种基于条件生成对抗网络的声音预测人脸方法。其有益效果为:本发明基于深度学习中声音分类及人脸图像技术,弥补了语音画像领域的空白。通过将声音特征转化为分类标签,再将分类标签作为生成对抗网络的约束条件,减小了网络学习的难度,提高了生成图片的质量。
附图说明
26.图1为一种基于条件生成对抗网络的声音预测人脸方法的整体设计框图
27.图2为一种基于条件生成对抗网络的声音预测人脸方法的数据构建流程图
28.图3为一种基于条件生成对抗网络的声音预测人脸方法中声音分类网络的训练流程图
29.图4为一种基于条件生成对抗网络的声音预测人脸方法的模型预测流程图
具体实施方式
30.下面将结合附图和具体实施例对本发明进行进一步的详细说明,显然,所描述的实施例仅为部分实施例,而非全部实施例。
31.在图像生成领域,现有的音频画像技术存在着生成图片质量低下,模型学习效果不如人意等问题。本发明公开了一种基于条件生成对抗网络的声音预测人脸方法,将由音生貌问题分解为由声音预测分类标签,根据分类标签生成人脸图像两个阶段,减小了模型学习难度,可以获得分辨率较高的人脸图像。
32.本实施例基于tensorflow框架和pycharm开发环境:tensorflow是一个开源的python机器学习库,包含各种适用于深度学习算法的工具包,可高效灵活地搭建神经网络模型,是目前主流的编程框架之一。
33.本实施例公开了一种基于条件生成对抗网络的声音预测人脸方法,如图一所示,其主要设计流程为:
34.s1、构造训练数据,采集common voice音频数据集中汉语(中国大陆)声音数据和utkface数据集中亚裔人脸数据,对声音数据和人脸图像数据分别进行数据处理,并根据原始的年龄、性别标注制作one

hot编码标签;
35.s2、设计及训练声音分类网络,该网络共分为三个子网络,分别为梅尔频谱转化网络,预训练resnet50网络,全连接分类网络;将经过处理的声音数据作为网络输入,通过优化预测的分类标签与one

hot编码标签之间的相似度,更新网络权重进行训练;
36.s3、设计及训练人脸图像生成网络,该网络为预训练的cgan网络,共分为生成器和鉴别器两部分;以随机种子和人脸one

hot编码标签为生成器输入,输出为随机人脸图像;以随机人脸图像、人脸one

hot编码标签和真实人脸图像为鉴别器输入,输出值用于判断生成器所生成的图像是否真实以及是否符合约束要求;同时训练生成器与鉴别器,待网络收敛后,取生成器为人脸图像生成网络;
37.s4、模型预测,将s2中训练的到的声音分类网络与s3中训练得到的人脸图像生成网络串联,以待预测声音为输入,经过一定的数据预处理后输入声音分类网络,得到声音分类标签;将分类标签作为人脸生成网络的约束条件,得到预测的人脸图像;
38.具体的,如图二所示,该声音预测人脸方法的数据构建流程为:
39.步骤一,采集commonvoice音频数据集中汉语(中国大陆)声音数据共计78小时,采集utkface数据集中亚裔人脸数据共3440张图像;
40.步骤二,清除声音数据中的无声声音片段;
41.步骤三,清除声音数据以及人脸图像数据中标注残缺的数据;
42.步骤四,将声音数据的时间长度统一裁剪为5s;
43.步骤五,根据数据集的原始标注构造声音数据与人脸数据的one

hot编码标签,该标签根据标注共分为八种情况,分别为:男性小于19岁、男性19

29岁、男性30

39岁、男性大于40岁、女性小于19岁、女性19

29岁、女性30

39岁、女性大于40岁,将其分别编码为(00000001,00000010,00000100,00001000,00010000,00100000,01000000,10000000);
44.具体的,如图三所示,该声音预测人脸方法的声音分类网络的训练流程为:
45.步骤一,将经过数据处理的声音数据作为网络输入。需要说明的是,由于声音数据数量较大,按照100:1的比例将声音数据划分为训练集和测试集,将训练集数据作为网络输入;
46.步骤二,提取声音数据的梅尔频谱特征。需要说明的是,梅尔频谱的转化网络由librosa工具包中的封装函数构成;
47.步骤三,将提取得到的梅尔频谱输入预训练的resnet50网络,输出为精确度更高的声音特征。需要说明的是,预训练的resnet50网络可引用tensorflow2.0中keras模块封装的网络架构得到;
48.步骤四,将resnet50网络的输出进行最大值池化;
49.步骤五,将步骤四处理后的数据作为全连接网络的输入,得到预测的分类编码标签。需要说明的是,该分类标签的标签规则与数据构建的one

hot编码规则保持一致;
50.步骤六,根据预测的分类编码标签与真实的one

hot编码标签计算损失函数,优化网络参数并保存网络模型。需要说明的是,每训练200轮次进行一次网络性能测试,将测试集数据作为测试时的输入,获得网络的精确度;网络训练过程中采用的损失函数为交叉熵损失函数;
51.步骤七,重复步骤二至步骤六,直至达到训练次数后结束训练,保存此时的网络为声音分类器;
52.具体的,该声音预测人脸方法中人脸图像生成网络为预训练cgan网络的生成器,可从github开源代码库下载官方开源的cgan网络,将经过处理的人脸图像数据与人脸one

hot编码标签作为训练数据,同时训练网络的生成器与编码器,待网络收敛后,取生成器为本实施例人脸图像生成网络;
53.具体的,如图四所示,该声音预测人脸方法的模型预测流程为:
54.步骤一,将待预测的声音数据进行数据预处理。需要说明的是,预处理包括检验声音数据是否有效,对无声声音数据进行报错提醒;对声音数据进行裁剪,确保时间长度为5s;
55.步骤二,将处理后的声音数据输入训练完毕的声音分类网络,输出声音分类标签。需要说明的是,该分类标签为one

hot编码,代表声音的年龄及性别属性;
56.步骤三,将声音分类标签输入人脸图像生成网络,输出预测的人脸图像;
57.基于上述的声音预测人脸方法,由于声音数据与人脸数据均采用亚裔相关数据,
因此该方法的适用范围仅为语言类型为汉语的亚裔人。根据实际运用场景的需要,采用不同的训练数据,该方法可推广到任何语言类型的任何人脸预测问题上。
58.对所公开的实施例的上述说明,使得本领域的专业人员可以使用本发明并实现本发明的功能。对本实施例的多种修改对本领域的专业技术人员是显而易见的,本发明所定义的一般原理可以在不脱离本发明精神的前提下,在其他实例中实施。因此,本发明不局限于本文中提及的实施例,在没有做出创造性劳动前提下所获得的其他具体实施例都属于本发明保护的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1