语音实时驱动虚拟人的方法、系统及存储介质技术方案

技术编号:31513261 阅读:16 留言:0更新日期:2021-12-22 23:55
本申请提供了一种语音实时驱动虚拟人的方法、系统及存储介质,语音实时驱动虚拟人的方法包括:获取人脸RGB图像;对人脸RGB图像进行3D人脸重建,得到人脸RGB图像对应的3D人脸参数;预采集一段语音并经去噪处理后保存至缓存队列中;实时采集语音片段并经去噪处理后保存至缓存队列中;读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段,并利用拼接后的语音片段和预训练的神经网络得到预测的3D人脸表情参数;根据预测的3D人脸表情参数和3D人脸参数得到渲染后的RGB图像。本申请能够在不降低虚拟人质量的基础上,达到整个驱动过程的实时性,从而使得语音驱动虚拟人技术能够用于各类实时应用中。能够用于各类实时应用中。能够用于各类实时应用中。

【技术实现步骤摘要】
语音实时驱动虚拟人的方法、系统及存储介质


[0001]本申请属于信息安全
,具体涉及一种语音实时驱动虚拟人的方法、系统及存储介质。

技术介绍

[0002]语音驱动虚拟人技术是虚拟人驱动技术的一种,其用语音驱动预设的虚拟人模型,从而生成符合语音内容的动态虚拟人形象。近些年来,随着语音驱动虚拟人技术的发展和成熟,语音驱动虚拟人技术衍生出了相当多的应用,例如虚拟主播、虚拟客服和虚拟偶像等。由于虚拟人形象往往需要直接呈现给用户,因此用户对语音驱动结果的真实性和准确性具有较高的要求。
[0003]然而,现有的语音驱动虚拟人技术无法很好地推广到如虚拟会议这样的实时应用中,其主要原因在于:一方面,目前的语音驱动虚拟人技术均使用离线语音作为输入,没有考虑到语音采集、神经网络计算速度、音画延迟等问题,从而无法满足实时性的需要;另一方面,实时场景下的语音驱动虚拟人技术要求输入的语音片段长度尽可能短,从而满足实时性要求。而语音特征计算过程中,较短的语音片段由于缺乏时序信息以及必要的语义信息,在驱动过程中很容易导致虚拟人形象面部运动的准确度降低,进而降低真实感。

技术实现思路

[0004]为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种语音实时驱动虚拟人的方法、系统及存储介质。
[0005]根据本申请实施例的第一方面,本申请提供了一种语音实时驱动虚拟人的方法,其包括以下步骤:获取人脸RGB图像;对人脸RGB图像进行3D人脸重建,得到人脸RGB图像对应的3D人脸参数;预采集一段语音并经去噪处理后保存至缓存队列中;实时采集语音片段并经去噪处理后保存至缓存队列中;读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段,并利用拼接后的语音片段和预训练的神经网络得到预测的3D人脸表情参数;根据预测的3D人脸表情参数和3D人脸参数得到渲染后的RGB图像。
[0006]上述语音实时驱动虚拟人的方法中,所述对人脸RGB图像进行3D人脸重建,得到人脸RGB图像对应的3D人脸参数的过程为:采用多任务卷积神经网络对人脸RGB图像进行人脸识别,并根据人脸检测框对人脸RGB图像进行裁剪,得到裁剪后的人脸图像;采用人脸重建方法DECA对裁剪后的人脸图像进行3D人脸重建,其过程为:通过DECA将人脸RGB图像拟合到人脸参数化模型FLAME上,得到257维的特定于当前图像的一组3D人脸参数;其中,表示FLAME模型的身份参数,
表示FLAME模型的表情参数,表示FLAME模型的光照参数,表示FLAME模型的纹理参数,表示FLAME模型的姿态变换参数,表示257维的向量。
[0007]上述语音实时驱动虚拟人的方法中,所述预采集一段语音并经去噪处理后保存至缓存队列中的具体过程为:通过语音采集设备预采集一段语音,得到带噪的语音片段;采用谱减法去除带噪的语音片段中的加性噪声,得到去噪的语音片段;将去噪的语音片段添加到预设长度的缓存队列中。
[0008]进一步地,所述实时采集语音片段并经去噪处理后保存至缓存队列中的具体过程为:通过语音采集设备实时采集语音片段;采用谱减法去除实时采集的带噪的语音片段中的加性噪声,得到去噪的语音片段;计算缓存队列的长度,并根据缓存队列的长度与预设的缓存队列的最大长度的比较结果更新缓存队列,其过程为:判断缓存队列的长度是否超过预设的缓存队列的最大长度,如果是,则将缓存队列中的队首元素移除,将实时采集的语音片段添加到缓存队列中;其中,缓存队列中的队首元素即相较于当前时间最早的元素。
[0009]更进一步地,所述读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段,并利用拼接后的语音片段和预训练的神经网络得到预测的3D人脸表情参数的具体过程为:读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段;利用开源音频处理工具librosa提取拼接后的语音片段的语音MFCC特征;使用预训练的神经网络将得到的语音MFCC特征映射到3D人脸模型的表情子空间,得到预测的3D人脸表情参数。
[0010]更进一步地,所述预训练的神经网络的训练过程为:选取一段时长为t时间的人物说话视频,其中,需要人物的面部在视频中始终保持完整;获取训练数据,其中训练数据包括3D人脸参数和语音MFCC特征;利用训练数据搭建并训练神经网络。
[0011]更进一步地,所述获取训练数据的具体过程为:利用视频处理工具ffmpeg提取人物说话视频中的图像流和语音流,其中,图像流以25fps以上截取图像,共得到数千帧图像;将语音流单独保存成.aac格式的音频文件;针对每一帧图像,使用多任务卷积神经网络对人脸RGB图像进行人脸识别,并根据人脸检测框将RGB图像进行裁剪;采用人脸重建方法DECA对裁剪后的人脸图像进行3D人脸重建,得到3D人脸参数并保存;对于音频文件,利用开源音频处理工具librosa提取音频文件的13维的语音MFCC特征。
[0012]更进一步地,所述神经网络包括AT

Net网络和audio2exp网络,所述AT

Net网络为骨干网络,其用于提取音频的时序性特征;audio2exp网络为特征映射网络,其用于将AT

Net网络输出的隐变量映射到特定3D人脸模型的参数空间上。
[0013]根据本申请实施例的第二方面,本申请还提供了一种语音实时驱动虚拟人的系统,其包括图像获取模块、图像重建模块、预采集语音处理模块、实时语音处理模块、语音拼接模块和3D渲染模块;所述图像获取模块,用于获取人脸RGB图像;所述图像重建模块,用于采用3D人脸模型对人脸RGB图像进行重建,得到人脸RGB图像对应的3D人脸参数;所述预采集语音处理模块,用于预采集一段语音并进行去噪处理后保存至缓存队列中;所述实时语音处理模块,用于实时采集语音片段并进行去噪处理后保存至缓存队列中;所述语音拼接模块,用于读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段,并利用拼接后的语音片段和预训练的神经网络得到预测的3D人脸表情参数;所述3D渲染模块,用于根据预测的3D人脸表情参数和3D人脸参数得到渲染后的RGB图像。
[0014]根据本申请实施例的第三方面,本申请还提供了一种存储介质,其存储有可执行程序,当可执行程序被调用时,执行上述任一项所述的语音实时驱动虚拟人的方法。
[0015]根据本申请的上述具体实施方式可知,至少具有以下有益效果:本申请提供的语音实时驱动虚拟人的方法通过采用实时语音驱动人脸模型框架,能够解决传统离线语音驱动人脸模型无法达到实时性要求的问题;通过采用语音预采集策略以及音频缓存队列,能够解决短语音条件下语音特征准确度降低的问题。本申请能够在不降低虚拟人质量的基础上,达到整个驱动过程的实时性,从而使得语音驱动虚拟人技术能够用于各类实时应用中。
[0016]应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。
附图说明
[0017]下面的所附附图是本申请的说明书的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种语音实时驱动虚拟人的方法,其特征在于,包括以下步骤:获取人脸RGB图像;对人脸RGB图像进行3D人脸重建,得到人脸RGB图像对应的3D人脸参数;预采集一段语音并经去噪处理后保存至缓存队列中;实时采集语音片段并经去噪处理后保存至缓存队列中;读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段,并利用拼接后的语音片段和预训练的神经网络得到预测的3D人脸表情参数;根据预测的3D人脸表情参数和3D人脸参数得到渲染后的RGB图像。2.根据权利要求1所述的语音实时驱动虚拟人的方法,其特征在于,所述对人脸RGB图像进行3D人脸重建,得到人脸RGB图像对应的3D人脸参数的过程为:采用多任务卷积神经网络对人脸RGB图像进行人脸识别,并根据人脸检测框对人脸RGB图像进行裁剪,得到裁剪后的人脸图像;采用人脸重建方法DECA对裁剪后的人脸图像进行3D人脸重建,其过程为:通过DECA将人脸RGB图像拟合到人脸参数化模型FLAME上,得到257维的特定于当前图像的一组3D人脸参数;其中,表示FLAME模型的身份参数,表示FLAME模型的表情参数,表示FLAME模型的光照参数,表示FLAME模型的纹理参数,表示FLAME模型的姿态变换参数,表示257维的向量。3.根据权利要求1所述的语音实时驱动虚拟人的方法,其特征在于,所述预采集一段语音并经去噪处理后保存至缓存队列中的具体过程为:通过语音采集设备预采集一段语音,得到带噪的语音片段;采用谱减法去除带噪的语音片段中的加性噪声,得到去噪的语音片段;将去噪的语音片段添加到预设长度的缓存队列中。4.根据权利要求3所述的语音实时驱动虚拟人的方法,其特征在于,所述实时采集语音片段并经去噪处理后保存至缓存队列中的具体过程为:通过语音采集设备实时采集语音片段;采用谱减法去除实时采集的带噪的语音片段中的加性噪声,得到去噪的语音片段;计算缓存队列的长度,并根据缓存队列的长度与预设的缓存队列的最大长度的比较结果更新缓存队列,其过程为:判断缓存队列的长度是否超过预设的缓存队列的最大长度,如果是,则将缓存队列中的队首元素移除,将实时采集的语音片段添加到缓存队列中;其中,缓存队列中的队首元素即相较于当前时间最早的元素。5.根据权利要求4所述的语音实时驱动虚拟人的方法,其特征在于,所述读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段,并利用拼接后的语音片段和预训练的神经网络得到预测的3D人脸表情参数的具体过程为:读取缓存队列中的所有语音片段并进行拼接,得到拼接后的语音片段;利用开源音频处理工具librosa提取拼接后...

【专利技术属性】
技术研发人员:徐迪马宜祯张彦博常友坚毛文涛蔡宝军
申请(专利权)人:北京影创信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1