1.本发明涉及运动仿真方法,更具体地说是指语音驱动动作生成方法、装置、计算机设备及存储介质。
背景技术:2.当前数字人的动作驱动已卓有成效,但都是依照设定而行,还不够灵活、自然。现实中,人们在讲话时,常常伴随有无意识的手部、头部动作,而在已有的技术中,数字人缺乏这方面的技术呈现。如何让数字人生成连贯、自然的动作,产生类似真人无意识下的动作和姿态,是当前的研究方向之一。
3.中国专利cn202010836241.5公布了一种实时语音驱动虚拟人物动作的方法,为虚拟任务的动作添加对应的变量条件,进行语音识别并将结果匹配到变量条件,进而驱动虚拟任务动作。该方法在实行时受限于变量条件,可能会因语音识别不当而造成动作失误或反复等,而且预先设计的动作非常有限,也极有可能使虚拟人物呆板。中国专利cn202011219858.9公布了一种语音驱动人物手势的方法,提取语音特征作为自回归模型的输入,通过该模型预测关节旋转序列,进一步生成手势。该方法能够同事生成两种手势,且通过设置自回归模型的结构获得连续手势。不过模型预测可能产生抖动、漂浮等现象,而且手势由人为设定产生,同样容易造成呆板、僵硬。
4.现有的技术常采用显式的语音识别结果驱动数字人动作,这在很多实际应用比如授课、直播中不可实施,另外,数字人的动作幅度和时间等均由人专门指定,不仅耗费时间,也很容易影响动作的稳定性,十分影响动作的自然度。
5.因此,有必要设计一种新的方法,实现语音驱动的人体动作生成时耗时短,动作的稳定性高,且生成的人体动作较为自然。
技术实现要素:6.本发明的目的在于克服现有技术的缺陷,提供音驱动动作生成方法、装置、计算机设备及存储介质。
7.为实现上述目的,本发明采用以下技术方案:语音驱动动作生成方法,包括:
8.获取语音以及动作风格;
9.根据所述语音判断是否需要生成相应的人体动作;
10.若需要生成相应的人体动作,则根据所述语音以及所述动作风格计算人体动作的动作参数;
11.根据所述动作参数生成数字人动作。
12.其进一步技术方案为:所述动作风格包括动作幅度、动作速度以及动作频率。
13.其进一步技术方案为:所述根据所述语音判断是否需要生成相应的人体动作,包括:
14.采用分类模型结合所述语音判断是否需要生成相应的人体动作。
15.其进一步技术方案为:所述采用分类模型结合所述语音判断是否需要生成相应的人体动作,包括:
16.将所述语音转化为带韵律的拼音;
17.将带韵律的拼音转化为词牌;
18.计算所述语音的梅尔频谱;
19.将所述词牌和所述语音的梅尔频谱合并,以形成特征;
20.将所述特征输入所述分类模型内,以得到分类结果;
21.判断所述分类结果是否是需要生成相应的人体动作的类别;
22.若所述分类结果是需要生成相应的人体动作的类别,则确定当前需要生成相应的人体动作;
23.若所述分类结果不是需要生成相应的人体动作的类别,则确定当前不需要生成相应的人体动作。
24.其进一步技术方案为:所述分类模型包括循环神经网络、卷积神经网络、注意力机制中至少一个。
25.其进一步技术方案为:所述根据所述语音以及所述动作风格计算人体动作的动作参数,包括:
26.将所述特征与所述动作风格合并,以形成特征量;
27.将所述特征量随机丢弃部分内容,以形成新特征集合;
28.将所述新特征集合以及白噪声输入至神经网络lstm进行动作序列的生成,以得到人体动作的动作参数。
29.其进一步技术方案为:所述人体动作的动作参数包括过去的动作、当前的动作、未来的动作对应的坐标、角度以及方向。
30.本发明还提供了语音驱动动作生成装置,包括:
31.获取单元,用于获取语音以及动作风格;
32.判断单元,用于根据所述语音判断是否需要生成相应的人体动作;
33.参数计算单元,用于若需要生成相应的人体动作,则根据所述语音以及所述动作风格计算人体动作的动作参数;
34.动作生成单元,用于根据所述动作参数生成数字人动作。
35.本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
36.本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
37.本发明与现有技术相比的有益效果是:本发明通过获取语音和动作风格,利用监督分类任务确定是否需要生成相应的人体动作,当需要时,利用神经网络lstm结合语音以及动作风格计算动作参数,以生成数字人动作,采用分类模型和神经网络lstm快速确定是否需要生成人体动作以及快速计算动作参数,实现语音驱动的人体动作生成时耗时短,动作的稳定性高,且生成的人体动作较为自然。
38.下面结合附图和具体实施例对本发明作进一步描述。
附图说明
39.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1为本发明实施例提供的语音驱动动作生成方法的应用场景示意图;
41.图2为本发明实施例提供的语音驱动动作生成方法的流程示意图;
42.图3为本发明实施例提供的语音驱动动作生成方法的子流程示意图;
43.图4为本发明实施例提供的语音驱动动作生成方法的子流程示意图;
44.图5为本发明实施例提供的动作序列示意图;
45.图6为本发明实施例提供的语音驱动动作生成装置的示意性框图;
46.图7为本发明实施例提供的语音驱动动作生成装置的判断单元的示意性框图;
47.图8为本发明实施例提供的语音驱动动作生成装置的参数计算单元的示意性框图;
48.图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
51.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
52.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
53.请参阅图1和图2,图1为本发明实施例提供的语音驱动动作生成方法的应用场景示意图。图2为本发明实施例提供的语音驱动动作生成方法的示意性流程图。该语音驱动动作生成方法应用于服务器,该服务器与终端进行数据交互,通过终端输入语音和动作风格,首先判断是否需要生成相应的动作,若需要,则计算相应的动作参数,最后生成人体动作,主要是根据动作参数借助已有软件自动驱动数字人动作,数字人动作包括手部、头部和腿部,姿态与语音高度匹配,该姿态与现实世界人们交谈时产生的姿态类似,展现数字人自然流畅的感知力和高度逼真的拟人形象。
54.图2是本发明实施例提供的语音驱动动作生成方法的流程示意图。如图2 所示,该方法包括以下步骤s110至s140。
55.s110、获取语音以及动作风格。
56.在本实施例中,语音是指用于指示是否要生成人体动作的音频;动作风格是指控
制数字人的动作的相关内容,具体地,所述动作风格包括动作幅度、动作速度以及动作频率。
57.语音和动作风格,前者为音频,后者为可选输入,用于人为控制数字人的动作风格。动作风格包括动作幅度、动作速度和动作频率三个参数,默认均为1。取值0~1时,减小相应的幅度、速度和频率;大于1时,动作幅度、速度和频率变快。三个参数的取值范围均为[0,10],即大于等于0,小于等于10。每个参数单独控制。
[0058]
s120、根据所述语音判断是否需要生成相应的人体动作。
[0059]
具体地,采用分类模型结合所述语音判断是否需要生成相应的人体动作。
[0060]
对于输入语音,首先计算该语音下是否生成人体动作,其实质是有监督分类任务,在本实施例中采用循环神经网络,语音韵律为输入,输出二进制标识,二进制标识的两个数值代表两个类别,分别是需要生成相应的人体动作类别以及不需要生成相应的人体动作类别。若输出为1,表示需要生成人物动作;若输出为0,则不需要生成人物动作。
[0061]
在一实施例中,请参阅图3,上述的步骤s120可包括步骤s121~s128。
[0062]
s121、将所述语音转化为带韵律的拼音。
[0063]
在本实施例中,利用已有的自然语言处理工具,将语音转化为带韵律的拼音。
[0064]
s122、将带韵律的拼音转化为词牌;
[0065]
s123、计算所述语音的梅尔频谱;
[0066]
s124、将所述词牌和所述语音的梅尔频谱合并,以形成特征;
[0067]
s125、将所述特征输入所述分类模型内,以得到分类结果;
[0068]
s126、判断所述分类结果是否是需要生成相应的人体动作的类别;
[0069]
s127、若所述分类结果是需要生成相应的人体动作的类别,则确定当前需要生成相应的人体动作;
[0070]
s128、若所述分类结果不是需要生成相应的人体动作的类别,则确定当前不需要生成相应的人体动作。
[0071]
将词牌和梅尔频谱合并作为特征,输入到卷积神经网络中,做出判断,循环神经网络可以设计不同的结构和参数,也可替换为卷积神经网络或添加注意力机制,均可以达到近似效果,循环神经网络的结构如表1所示。
[0072]
表1.循环神经网络的结构
[0073]
神经网络核跨度激活函数卷积层1
×
31
×
2relu卷积层1
×
31
×
2relu卷积层1
×
31
×
2relu卷积层1
×
31
×
2relu卷积层1
×
31
×
2relu卷积层1
×
31
×
2relu卷积层1
×
21
×
2relu输出层
‑‑
softmax
[0074]
在本实施例中,所述分类模型包括循环神经网络、卷积神经网络、注意力机制中至少一个。
[0075]
s130、若需要生成相应的人体动作,则根据所述语音以及所述动作风格计算人体动作的动作参数。
[0076]
在本实施例中,人体动作的动作参数是指动作序列以及对应的参数,可用于生成数字人动作。
[0077]
在一实施例中,请参阅图4,上述的步骤s130可包括步骤s131~s133。
[0078]
s131、将所述特征与所述动作风格合并,以形成特征量。
[0079]
在本实施例中,特征量是指由所述词牌和所述语音的梅尔频谱合并形成的特征与动作风格合并形成的结果。
[0080]
s132、将所述特征量随机丢弃部分内容,以形成新特征集合。
[0081]
在本实施例中,新特征集合是指将所述特征量随机丢弃部分内容后剩下的内容,丢弃的量的比例取值范围在0~1,一般取0.5。
[0082]
s133、将所述新特征集合以及白噪声输入至神经网络lstm进行动作序列的生成,以得到人体动作的动作参数。
[0083]
所述人体动作的动作参数包括过去的动作、当前的动作、未来的动作对应的坐标、角度以及方向。
[0084]
对于需要生成人体动作的语音,进一步计算动作参数,其输入为语音、动作风格和白噪声,三种输入信号在时间上同步。,语音的词牌和梅尔频谱合并后,再和动作风格合并,作为总的特征量χ。该特征量在随机丢弃一部分特征后,变成新的特征集合丢弃比例取值范围在0~1,一般取0.5。特征和白噪声z输入到神经网络lstm(长短时记忆,long short-term memory)中,输出动作序列 p。这里的动作序列包含过去、当前和未来的动作,每个动作为一系列动作参数,包括坐标、角度和方向。
[0085]
如图5所示,数字人的动作是一个变化过程,因此系统输出的动作是与时间对应的序列,并且每一个当前序列均由过去的动作序列、特征集和白噪声计算而来,其中,当前时刻t的动作序列为p
t
,由lstm生成,而lstm的输入包含四个参数:过去时刻的动作序列p
t-1
和p
t-2
;t-2、t-1、t、t+1、t+2时刻的特征集合当前时刻的白噪声z
t
。
[0086]
s140、根据所述动作参数生成数字人动作。
[0087]
若不需要生成相应的人体动作,则执行所述步骤s110。
[0088]
根据所述动作参数借助已有软件自动驱动数字人动作,属于现有技术,此处不再赘述。
[0089]
本实施例赋予虚拟数字人讲话时伴随的无意识动作,产生与真人交流相似的结果,并允许用户在此基础上指定特定的动作。
[0090]
上述的语音驱动动作生成方法,通过获取语音和动作风格,利用监督分类任务确定是否需要生成相应的人体动作,当需要时,利用神经网络lstm结合语音以及动作风格计算动作参数,以生成数字人动作,采用分类模型和神经网络lstm快速确定是否需要生成人体动作以及快速计算动作参数,实现语音驱动的人体动作生成时耗时短,动作的稳定性高,且生成的人体动作较为自然。
[0091]
图6是本发明实施例提供的一种语音驱动动作生成装置300的示意性框图。如图6
所示,对应于以上语音驱动动作生成方法,本发明还提供一种语音驱动动作生成装置300。该语音驱动动作生成装置300包括用于执行上述语音驱动动作生成方法的单元,该装置可以被配置于服务器中。具体地,请参阅图6,该语音驱动动作生成装置300包括获取单元301、判断单元302、参数计算单元303 以及动作生成单元304。
[0092]
获取单元301,用于获取语音以及动作风格;判断单元302,用于根据所述语音判断是否需要生成相应的人体动作;参数计算单元303,用于若需要生成相应的人体动作,则根据所述语音以及所述动作风格计算人体动作的动作参数;动作生成单元304,用于根据所述动作参数生成数字人动作。
[0093]
在一实施例中,所述判断单元302用于采用分类模型结合所述语音判断是否需要生成相应的人体动作。
[0094]
在一实施例中,如图7所示,所述判断单元302包括第一转化子单元3021、第二转化子单元3022、计算子单元3023、合并子单元3024、输入子单元3025、结果判断子单元3026、第一确定子单元3027以及第二确定子单元3028。
[0095]
第一转化子单元3021,用于将所述语音转化为带韵律的拼音;第二转化子单元3022,用于将带韵律的拼音转化为词牌;计算子单元3023,用于计算所述语音的梅尔频谱;合并子单元3024,用于将所述词牌和所述语音的梅尔频谱合并,以形成特征;输入子单元3025,用于将所述特征输入所述分类模型内,以得到分类结果;结果判断子单元3026,用于判断所述分类结果是否是需要生成相应的人体动作的类别;第一确定子单元3027,用于若所述分类结果是需要生成相应的人体动作的类别,则确定当前需要生成相应的人体动作;第二确定子单元3028,用于若所述分类结果不是需要生成相应的人体动作的类别,则确定当前不需要生成相应的人体动作。
[0096]
在一实施例中,如图8所示,所述参数计算单元303包括特征量生成子单元3031、丢弃子单元3032以及序列生成子单元3033。
[0097]
特征量生成子单元3031,用于将所述特征与所述动作风格合并,以形成特征量;丢弃子单元3032,用于将所述特征量随机丢弃部分内容,以形成新特征集合;序列生成子单元3033,用于将所述新特征集合以及白噪声输入至神经网络lstm进行动作序列的生成,以得到人体动作的动作参数。
[0098]
需要说明的是,所属领域的技术人员可以清楚地了解到,上述语音驱动动作生成装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
[0099]
上述语音驱动动作生成装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
[0100]
请参阅图9,图9是本技术实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
[0101]
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器 504。
[0102]
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种语音驱动动作生成方
法。
[0103]
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
[0104]
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种语音驱动动作生成方法。
[0105]
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0106]
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
[0107]
获取语音以及动作风格;根据所述语音判断是否需要生成相应的人体动作;若需要生成相应的人体动作,则根据所述语音以及所述动作风格计算人体动作的动作参数;根据所述动作参数生成数字人动作。
[0108]
其中,所述动作风格包括动作幅度、动作速度以及动作频率。
[0109]
在一实施例中,处理器502在实现所述根据所述语音判断是否需要生成相应的人体动作步骤时,具体实现如下步骤:
[0110]
采用分类模型结合所述语音判断是否需要生成相应的人体动作。
[0111]
其中,所述分类模型包括循环神经网络、卷积神经网络、注意力机制中至少一个。
[0112]
在一实施例中,处理器502在实现所述采用分类模型结合所述语音判断是否需要生成相应的人体动作步骤时,具体实现如下步骤:
[0113]
将所述语音转化为带韵律的拼音;将带韵律的拼音转化为词牌;计算所述语音的梅尔频谱;将所述词牌和所述语音的梅尔频谱合并,以形成特征;将所述特征输入所述分类模型内,以得到分类结果;判断所述分类结果是否是需要生成相应的人体动作的类别;若所述分类结果是需要生成相应的人体动作的类别,则确定当前需要生成相应的人体动作;若所述分类结果不是需要生成相应的人体动作的类别,则确定当前不需要生成相应的人体动作。
[0114]
在一实施例中,处理器502在实现所述根据所述语音以及所述动作风格计算人体动作的动作参数步骤时,具体实现如下步骤:
[0115]
将所述特征与所述动作风格合并,以形成特征量;将所述特征量随机丢弃部分内容,以形成新特征集合;将所述新特征集合以及白噪声输入至神经网络 lstm进行动作序列的生成,以得到人体动作的动作参数。
[0116]
其中,所述人体动作的动作参数包括过去的动作、当前的动作、未来的动作对应的坐标、角度以及方向。
[0117]
应当理解,在本技术实施例中,处理器502可以是图形处理器(graphicsprocessing unit,gpu)或/和中央处理单元(central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor, dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常
规的处理器等。
[0118]
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
[0119]
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
[0120]
获取语音以及动作风格;根据所述语音判断是否需要生成相应的人体动作;若需要生成相应的人体动作,则根据所述语音以及所述动作风格计算人体动作的动作参数;根据所述动作参数生成数字人动作。
[0121]
其中,所述动作风格包括动作幅度、动作速度以及动作频率。
[0122]
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述语音判断是否需要生成相应的人体动作步骤时,具体实现如下步骤:
[0123]
采用分类模型结合所述语音判断是否需要生成相应的人体动作。
[0124]
其中,所述分类模型包括循环神经网络、卷积神经网络、注意力机制中至少一个。
[0125]
在一实施例中,所述处理器在执行所述计算机程序而实现所述采用分类模型结合所述语音判断是否需要生成相应的人体动作步骤时,具体实现如下步骤:
[0126]
将所述语音转化为带韵律的拼音;将带韵律的拼音转化为词牌;计算所述语音的梅尔频谱;将所述词牌和所述语音的梅尔频谱合并,以形成特征;将所述特征输入所述分类模型内,以得到分类结果;判断所述分类结果是否是需要生成相应的人体动作的类别;若所述分类结果是需要生成相应的人体动作的类别,则确定当前需要生成相应的人体动作;若所述分类结果不是需要生成相应的人体动作的类别,则确定当前不需要生成相应的人体动作。
[0127]
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述语音以及所述动作风格计算人体动作的动作参数步骤时,具体实现如下步骤:
[0128]
将所述特征与所述动作风格合并,以形成特征量;将所述特征量随机丢弃部分内容,以形成新特征集合;将所述新特征集合以及白噪声输入至神经网络 lstm进行动作序列的生成,以得到人体动作的动作参数。
[0129]
其中,所述人体动作的动作参数包括过去的动作、当前的动作、未来的动作对应的坐标、角度以及方向。
[0130]
所述存储介质可以是u盘、移动硬盘、只读存储器(read-only memory, rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
[0131]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0132]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其
它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0133]
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
[0134]
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等) 执行本发明各个实施例所述方法的全部或部分步骤。
[0135]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。