发明内容
为了解决生成的虚拟人的肢体动作、表情不够流畅以及动作、表情、声音较为割裂的问题,提供一种虚拟人动作表情优化方法与系统。
第一方面,本申请提供一种虚拟人动作表情优化方法,包括:
获取若干包含特定动作声音的真实用户的视频数据并进行预处理,将处理后数据划分为训练数据和测试数据;
预先训练好多个特征提取模型;所述多个特征提取模型包括面部表情特征提取模型、肢体动作特征提取模型以及声音特征提取模型;
将训练数据输入多个特征提取模型进行对应特征提取,获得若干特定面部表情特征、若干特定肢体动作特征、若干特定声音特征;
分别对同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行线性拟合,对应获得多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线;
将测试数据输入多个特征提取模型,结合多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线获得符合相应特征拟合曲线的多种特定面部表情特征序列、多种特定肢体动作特征序列、多种特定声音特征序列;
根据用户交互需求选择相应的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列生成特定面部表情、特定肢体动作、特定声音。
通过采用上述技术方案,利用训练好的特征提取模块训练数据中的若干特定面部表情特征、若干特定肢体动作特征、若干特定声音特征,将同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行线性拟合生成对应的特征拟合曲线,结合对应特征拟合曲线剔除测试数据中提取到的不准确的特征序列,从而使生成特定面部表情、特定肢体动作、特定声音更加的流畅、准确。
可选的,所述方法还包括:
根据获得的符合相应特征拟合曲线的多种特定面部表情序列、多种特定肢体动作序列、多种特定声音序列,随机选择一种特定面部表情特征序列、一种特定肢体动作特征序列、一种特定声音特征序列;分别计算选择的特定面部表情序列、选择的特定肢体动作序列、选择的特定声音序列与真实特征序列之间的相似度,对应获得第一相似度值、第二相似度值、第三相似度值;
分别将第一相似度、第二相似度、第三相似度与预设阈值进行大小比较,若大于预设阈值,则保留对应的特定面部表情序列、特定肢体动作序列、特定声音序列;若小于对应预设阈值,则采用优化器对对应特征提取模型的损失函数进行优化,使用具有优化后的特征提取模型对测试数据重新进行特征提取;
所述的真实特征序列为测试数据中真实用户的特定面部表情序列、特定肢体动作序列与特定声音序列;所述多个特征提取模型中每个特征提取模型均包含有损失函数。
通过采用上述技术方案,计算特定面部表情序列、特定肢体动作序列、特定声音序列与真实特征序列之间的相似度并与预设阈值进行比较,由此判定当前生成的动作是否满足动作流畅度的要求,生成的表情、声音是否准确传达了预期的情感。若未满足要求,则使用优化器优化特征提取模型中的损失函数,利用优化后的特征提取模型对测试数据重新进行特征提取,从而保证生成的特定面部表情序列、特定肢体动作序列、特定声音序列满足要求。
可选的,所述方法还包括:
将根据用户交互需求选择的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列进行数据关联,具体包括:按照用户交互需求自特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列中选择对应的特征序列进行时间同步或者空间对齐。
通过采用上述技术方案,将不同的特征序列进行时间同步或者空间同步,从而满足虚拟人在动作、表情以及声音的一致性要求。
可选的,所述按照用户交互需求具体为:获取用户语音或者文字指令,对用户语音或文字指令进行关键词识别;根据识别的关键词选择与关键词对应关联的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列。
通过采用上述技术方案,识别指令中的关键词并关联特定的特征序列,使得虚拟人可以根据用户指令生成对应的特征序列,做出对应的表情、动作或发出对应的声音。
可选的,所述方法还包括:
分别对同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行线性拟合前,先对属于同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行数据处理;具体数据处理包括:分别将同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征与对应预设特征范围进行比较,筛选并保留处于预设特征范围内的同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征。
通过采用上述技术方案,在进行特征拟合前,对于数据进行进一步的处理,保证拟合曲线拟合的准确性。
第二方面,本申请提供一种虚拟人动作表情优化系统,包括:
训练与测试数据获取模块,用于获取若干包含特定动作声音的真实用户的视频数据并进行预处理,将处理后数据划分为训练数据和测试数据;
特定特征获取模块:用于预先训练好多个特征提取模型,所述多个特征提取模型包括面部表情特征提取模型、肢体动作特征提取模型以及声音特征提取模型;将训练数据输入多个特征提取模型进行对应特征提取,获得若干特定面部表情特征、若干特定肢体动作特征、若干特定声音特征;
特征拟合曲线获取模块,用于分别对同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行线性拟合,对应获得多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线;
特定特征序列获取模块,用于将测试数据输入多个特征提取模型,结合多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线获得符合相应特征拟合曲线的多种特定面部表情特征序列、多种特定肢体动作特征序列、多种特定声音特征序列;
虚拟人动作声音生成模块,用于根据用户交互需求选择相应的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列生成特定面部表情、特定肢体动作、特定声音。
第三方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的方法。
第四方面,本申请还提供一种计算机设备,存储器、处理器及在所述存储器上存储并可运行的程序,所述程序被处理器执行时实现如上述方法的步骤。
综上所述,本申请包括以下至少一种有益技术效果:
1、利用深度学习,通过预先训练好的特征提取模块对训练数据进行特征提取,基于提取的训练数据的特征进行特征曲线拟合,根据特征曲线拟合过滤掉测试数据中不符合特征曲线的特征序列,保证获得的特征序列的准确性,进而生成流畅度好、准确度高的动作声音;2、对所要生成的肢体动作、表情以及声音分别设置特征提取模型,并选取包含特定动作、特定表情以及特定声音的视频数据作为训练数据,从而直接获取特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列,满足与用户交互过程中虚拟人生成肢体动作、表情以及声音的多种要求。
具体实施方式
下面结合附图对提供的一种虚拟人动作表情优化方法与系统作进一步的说明。
如图1所示,本申请实施例公开一种虚拟人动作表情优化方法,包括:
S1、获取若干包含特定动作声音的真实用户的视频数据并进行预处理,将处理后数据划分为训练数据和测试数据。
具体的,选取若干包含特定动作声音的真实用户的视频数据。所述特定动作声音具体包括三大类:属于肢体动作的:挥手、叉腰、下蹲、张开双臂、歪头、侧踢等;属于面部表情的:微笑、哭泣、大笑、皱眉、眨眼等;属于声音的:声调、音色、声速等。
对获取的真实用户的视频数据进行预处理。所述预处理包括抽帧、增强、去噪、平衡、标注分类等。按照6:4的比例对处理后的图像音频数据划分为训练数据集与测试数据集。本实施例中选取的单个视频仅包含一种特定面部表情或特定肢体动作或特定音色。
S2、预先训练好多个特征提取模型
构建多个深度学习模型;如采用卷积神经网络对面部表情、声音进行特征提取与识别,利用长短期记忆网络(LSTM)或变换器(Transformer)对肢体动作进行特征提取与姿态识别。
针对构建的多个深度学习模型进行模型训练,获得多个训练好的多个特征提取模型。多个特征提取模型包括面部表情特征提取模型、肢体动作特征提取模型以及声音特征提取模型。
S3、将训练数据输入多个特征提取模型进行对应特征提取,获得若干特定面部表情特征、特定肢体动作特征、特定声音特征。
由于训练数据本身是若干特定肢体动作、若干特定面部表情、若干特定声音等不同特定动作声音的数据,故采用多个特征提取模型对训练数据进行特征提取,最终获得若干特定面部表情特征、若干特定肢体动作特征、若干特定声音特征。
例如:根据面部表情特征提取模型提取到微笑表情特征X、哭泣表情特征Y等。根据肢体动作特征提取模型提取到挥手动作特征Z、下蹲动作特征E、歪头动作特征F。根据声音特征提取模型提取到音色特征H、音调特征G。
S4、分别对同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行线性拟合。
具体的,将同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行聚类。
如:微笑表情特征集{X1,X2,…Xn};挥手动作特征集{Z1,Z2,…Zn};音色特征集{H1,H2,…Hn}。
对获取的特定面部表情特征数据集、特定肢体动作特征数据集以及特定声音特征数据集进行数据处理;所述具体数据处理为:分别将同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征与对应预设特征范围进行比较,筛选并保留处于预设特征范围内的同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征。
如:本实施例中X为微笑表情系数,将{X1,X2,…Xn}中每一个特征数据与预设的特征范围(XA,XB)。若XA<X2<XB,则保留该特征X2。
分别对数据处理后的同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行线性拟合,获得多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线。
如:挥手动作特征集{Z1,Z2,…Zn}拟合的挥手动作特征拟合曲线:
其中,本实施例中Z为肘关节角度。具体的,挥手动作特征可为各骨骼关节的位置坐标、关节角度或者上述特征组合等。
S5、将测试数据输入多个特征提取模型,结合拟合曲线获得多种特定面部表情特征序列、多种特定肢体动作特征序列、多种特定声音特征序列。
具体的,将测试数据输入多个特征提取模型,提取到多种特定面部表情特征集、多种特定肢体动作特征集、多种特定声音特征集;例如:提取到挥手动作特征集、下蹲动作特征集、微笑表情特征集、大哭表情特征集等。
根据S4中获得的多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线对测试数据提取的特征集进行筛选,保留符合相应拟合曲线的特定面部表情特征、特定肢体动作特征、特定声音特征;最终获取筛选后的多种特定面部表情特征序列、多种特定肢体动作特征序列、多种特定声音特征序列。
如:剔除本实施例中将测试数据中不符合挥手动作特征拟合曲线的挥手动作特征,最终的挥手动作特征序列中每个特征均符合挥手动作特征拟合曲线,由此避免出现不正常的肘关节角度使得生成的挥手动作不流畅。
S6、计算第一相似度值、第二相似度值、第三相似度值,分别比较相似度是否大于预设阈值。
具体的,针对获得多种特定面部表情特征序列、多种特定肢体动作特征序列、多种特定声音特征序列,随机选择一种特定面部表情特征序列、一种特定肢体动作特征序列、一种特定声音特征序列;分别计算选择的特定面部表情特征序列、选择的特定肢体动作特征序列、选择的特定声音特征序列与真实特征序列之间的相似度,对应获得第一相似度值、第二相似度值、第三相似度值。其中,所述的真实特征序列为测试数据中真实用户的特定动作特征序列、声音特征序列。常见的相似度的计算采用欧式距离、汉明距离、余弦距离、余弦相似度。分别比较第一相似度D1、第二相似度D2、第三相似度D3与预设阈值D大小。若小于对应预设阈值,则转至S7;若大于预设阈值,则保留对应的特定面部表情、特定肢体动作、特定声音,转至S8。
如:D1>D,则保留对应的特定面部表情特征序列;D2>D,则保留对应的特定肢体动作特征序列;D3>D,则保留对应的特定声音特征序列。
S7、采用优化器对特征提取模型的损失函数进行优化。
采用优化器对对应特征提取模型的损失函数进行优化,使用具有优化后的特征提取模型对测试数据重新进行特征提取。具体的,多个特征提取模型均包含有损失函数。
如:D1<D,则采用优化器对面部表情特征提取模型的损失函数进行优化,利用优化后面部表情特征提取模型对测试数据重新进行特定面部表情特征提取,即重复S5至S6,最终获得相似度满足预设阈值的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列。
S8、虚拟人根据用户交互需求选择相应的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列生成特定面部表情、特定肢体动作、特定声音。
虚拟人根据用户交互需求选择相应的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列生成特定面部表情、特定肢体动作、特定声音。
如:用户下达挥手的指令,虚拟人获取该指令并选择挥手动作的特征序列,将获取挥手动作的特征序列映射至虚拟人,由此生成相应挥手动作。
此外,本申请实施例公开的虚拟人动作表情优化方法,还包括:
在生成特定面部表情、特定肢体动作、特定声音之前,将虚拟人根据用户交互需求选择的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列进行数据关联。同时,将特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列与特定的关键词进行关联。
具体的:按照用户交互需求自特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列中选择对应的特征序列进行时间同步或者空间对齐。其中,按照用户交互需求具体为:获取用户语音或者文字指令,对文字指令进行关键词识别;根据识别的关键词选择与关键词对应关联的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列。
如:用户通过文字指令下达:“小I,能否用派蒙的声音为我阅读游戏规则”或者“小I,要和你说再见了,对我挥挥手吧”;接受到指令后对该指令信息进行解析,获得关键词“派蒙的声音、阅读规则”;搜索与该关键词关联的特征序列,并同时将“派蒙的声音”关联的音色特征序列与“阅读规则”关联的嘴部动作特征序列进行时间同步;由此,最终虚拟人用“派蒙”的音色为用户阅读游戏规则的动作。
本申请实施例还公开一种虚拟人动作表情优化系统,包括:
训练与测试数据获取模块101,用于获取若干包含特定动作声音的真实用户的视频数据并进行预处理,将处理后数据划分为训练数据和测试数据;
特定特征获取模块102:用于预先训练好多个特征提取模型,所述多个特征提取模型包括面部表情特征提取模型、肢体动作特征提取模型以及声音特征提取模型;将训练数据输入多个特征提取模型进行对应特征提取,获得若干特定面部表情特征、若干特定肢体动作特征、若干特定声音特征;
特征拟合曲线获取模块103,用于分别对同种特定面部表情特征、同种特定肢体动作特征、同种特定声音特征进行线性拟合,对应获得多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线;
特定特征序列获取模块104,用于将测试数据输入多个特征提取模型,结合多种特定面部表情特征拟合曲线、多种特定肢体动作特征拟合曲线、多种特定声音特征拟合曲线获得符合相应特征拟合曲线的多种特定面部表情特征序列、多种特定肢体动作特征序列、多种特定声音特征序列;
虚拟人动作声音生成模块105,用于根据用户交互需求选择相应的特定面部表情特征序列、特定肢体动作特征序列、特定声音特征序列生成特定面部表情、特定肢体动作、特定声音。
使用上述虚拟人动作表情优化系统,可获得虚拟人生成动作流畅且动作声音不割裂的表达,提高了用户与虚拟人交互的体验。
本申请实施例还公开一种计算机设备。
具体来说,该计算机设备包括存储器和处理器,存储器上存储有能够被处理器加载并执行上述用于虚拟人的动作表情优化的计算机程序。
本申请实施例还公开一种计算机可读存储介质。
具体来说,该计算机可读存储介质,其存储有能够被处理器加载并执行如上述用于虚拟人的动作表情优化的计算机程序,该计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。