视频生成方法、电子设备、存储介质和数字人服务器与流程

文档序号:29207297发布日期:2022-03-12 02:08阅读:90来源:国知局
视频生成方法、电子设备、存储介质和数字人服务器与流程

1.本技术涉及计算机技术领域,更具体地,涉及一种视频生成方法、电子设备、存储介质和数字人服务器。


背景技术:

2.随着科技的发展,人机交互技术渗透到日常生活中的方方面面。数字人视频可以呈现如同真人交互的效果。在实时交互场景中,数字人视频通常是根据数据生成的,这种方式通过确定文本或语音数据对应的预设动作,以生成呈现该预设动作的数字人视频。但这种方式中预设动作一般是从固定的模板中选择的,动作比较僵硬,难以呈现自然的数字人视频。


技术实现要素:

3.鉴于上述问题,本技术提出了一种视频生成方法、电子设备、存储介质和数字人服务器,能够解决上述问题。
4.第一方面,本技术实施例提供了一种视频生成方法,包括:获取文本;将文本转换为语音,并根据语音的声学特征生成对应于语音时间轴的嘴形关键点序列;将文本进行分词处理得到词序列,根据词序列生成对应于语音时间轴的动作链,并确定动作链的动作关键点序列;根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列;及基于目标关键点序列生成图像帧序列,图像帧序列用于在播放时显示数字人视频。
5.可选地,词序列包括多个依次排列的词语,根据词序列生成对应于语音时间轴的动作链包括:以词序列的第一个词语为起点,依次将词序列中的每个词语作为当前词语,获取当前词语对应的至少一个候选动作;若当前词语不是词序列的最后一个词语,则获取下一个词语对应的至少一个候选动作;根据语音时间轴确定由当前词语对应的每个候选动作分别指向下一个词语对应的每个候选动作的候选路径;及根据每两个相邻的词语之间的候选路径确定动作链。
6.可选地,获取当前词语对应的至少一个候选动作,包括:从多个预设词语和多个预设动作之间的对应关系中,查找当前词语对应的至少一个预设动作和每个预设动作的概率值;根据每个预设动作的概率值,对至少一个预设动作进行降序排序,得到至少一个预设动作的排列顺序;及将排列顺序中的前m个预设动作确定为当前词语对应的至少一个候选动作,m为大于0的自然数。
7.可选地,根据语音时间轴确定由当前词语对应的每个候选动作分别指向下一个词语对应的每个候选动作的候选路径,包括:根据语音时间轴,确定当前词语对应的每个候选动作和下一个词语对应的每个候选动作的起始时间和结束时间;若当前词语对应的候选动作的结束时间早于下一个词语对应的候选动作的开始时间,则将当前词语对应的候选动作指向下一个词语对应的候选动作确定为候选路径。
8.可选地,在根据语音时间轴确定由当前词语对应的每个候选动作分别指向下一个
词语对应的每个候选动作的候选路径之后,方法还包括:确定候选路径的数量是否大于n,若是,则基于预设约束条件确定每个候选路径的分值,将候选路径更新为分值最高的n个候选路径,n为大于0的自然数;及根据得到的n个候选路径更新当前词语对应的至少一个候选动作和下一个词语对应的至少一个候选动作。
9.可选地,动作链包括每个词语对应的目标动作,根据每两个相邻的词语之间的候选路径确定动作链,包括:若所述当前词语是所述词序列的最后一个词语,则确定由所述第一个词语指向所述最后一个词语的多个所述候选路径的组合方式;及根据每两个相邻的所述词语之间的候选路径的分值,将分值总和最大的组合方式中每个所述词语的所述候选动作确定为所述目标动作,以得到所述动作链。
10.可选地,约束条件由候选路径中每个候选动作的概率,每个候选动作的运动轨迹,每个词语的持续时间中的至少一项确定。
11.第二方面,本技术实施例提供了一种数字人服务器,包括:文本获取模块,用于获取文本;语音转换模块,用于将文本转换为语音;嘴形配置模块,用于根据语音的声学特征生成对应于语音时间轴的嘴形关键点序列;动作配置模块,用于将文本进行分词处理得到词序列,根据词序列生成对应于语音时间轴的动作链,并确定动作链的动作关键点序列;关键点合成模块,用于根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列;及图像处理模块,用于基于目标关键点序列生成图像帧序列,图像帧序列用于显示数字人视频。
12.可选地,动作配置模块还包括第一动作获取子模块、第二动作获取子模块、路径确定子模块和动作链确定子模块。其中,第一动作获取子模块,用于以词序列的第一个词语为起点,依次将词序列中的每个词语作为当前词语,获取当前词语对应的至少一个候选动作;第二动作获取子模块,用于若当前词语不是词序列的最后一个词语,则获取下一个词语对应的至少一个候选动作;路径确定子模块,用于根据语音时间轴确定由当前词语对应的每个候选动作分别指向下一个词语对应的每个候选动作的候选路径;及动作链确定子模块,用于根据每两个相邻的词语之间的候选路径确定动作链。
13.可选地,第一动作获取子模块包括:关系查找单元,动作排序单元和动作筛选单元。其中,关系查找单元,用于从多个预设词语和多个预设动作之间的对应关系中,查找当前词语对应的至少一个预设动作和每个预设动作的概率值;动作排序单元,用于根据每个预设动作的概率值,对至少一个预设动作进行降序排序,得到至少一个预设动作的排列顺序;及动作筛选单元,用于将排列顺序中的前m个预设动作确定为当前词语对应的至少一个候选动作,m为大于0的自然数。
14.可选地,路径确定子模块包括:时间确定单元和时间判断单元。其中,时间确定单元用于根据语音时间轴,确定当前词语对应的每个候选动作和下一个词语对应的每个候选动作的起始时间和结束时间;时间判断单元用于若当前词语对应的候选动作的结束时间早于下一个词语对应的候选动作的开始时间,则将当前词语对应的候选动作指向下一个词语对应的候选动作确定为候选路径。
15.可选地,数字人服务器还包括分值确定子模块和路径更新子模块。其中,分值确定子模块用于确定候选路径的数量是否大于n,若是,则基于预设约束条件确定每个候选路径的分值,将候选路径更新为分值最高的n个候选路径,n为大于0的自然数;及路径更新子模
块用于根据得到的n个候选路径更新当前词语对应的至少一个候选动作和下一个词语对应的至少一个候选动作。
16.可选地,路径确定子模块还包括组合方式确定单元和目标动作确定单元。其中,组合方式确定单元,用于若所述当前词语是所述词序列的最后一个词语,则确定由所述第一个词语指向所述最后一个词语的多个所述候选路径的组合方式;及目标动作确定单元,用于根据每两个相邻的所述词语之间的候选路径的分值,将分值总和最大的组合方式中每个所述词语的所述候选动作确定为所述目标动作,以得到所述动作链。
17.可选地,约束条件由候选路径中每个候选动作的概率,每个候选动作的运动轨迹,每个词语的持续时间中的至少一项确定。
18.第三方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中一个或多个程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行上述第一方面的方法。
19.第四方面,本技术实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行如上述第一方面的方法。
20.本技术实施例提供了一种视频生成方法、电子设备、存储介质和数字人服务器,涉及计算机技术领域。该方法包括:获取文本;将文本转换为语音,并根据语音的声学特征生成对应于语音时间轴的嘴形关键点序列;将文本进行分词处理得到词序列,根据词序列生成对应于语音时间轴的动作链,并确定动作链的动作关键点序列;根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列;及基于目标关键点序列生成图像帧序列,图像帧序列用于在播放时显示数字人视频,能够提高数字人的自然度。
附图说明
21.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1示出了一种适用于本技术实施例的应用环境示意图;
23.图2示出了本技术一个实施例提供的视频生成方法的流程示意图;
24.图3示出了本技术又一个实施例提供的视频生成方法的流程示意图;
25.图4示出了本技术一实施例提供的图3中s240的流程示意图;
26.图5示出了本技术一实施例提供的图3中s260的流程示意图;
27.图6示出了本技术一实施例提供的确定候选路径的应用场景示意图;
28.图7示出了本技术一实施例提供的图3中s260之后步骤的流程示意图;
29.图8示出了本技术一实施例提供的更新候选路径的应用场景示意图;
30.图9示出了本技术一实施例提供的确定动作链的应用场景示意图;
31.图10示出了本技术实施例提供的数字人服务器的结构框图;
32.图11示出了本技术实施例的用于执行根据本技术实施例的视频生成方法的电子设备的结构框图;和
33.图12示出了本技术实施例的用于保存或者携带实现根据本技术实施例的视频生
成方法的程序代码的存储单元。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.近年来,随着科技的进步,智能化的人机交互方式已逐渐成为国内外研究的热点,一些智能设备或者应用中设置有数字人,通过数字人实现与用户的可视化交互,可以充分模拟人与人之间真实可感的对话交互过程。从而提高用户的人机交互体验。
36.数字人视频通常可以由真人驱动或者数据驱动的方式来生成。真人驱动的方式通过动作捕获设备捕捉真人演员的身体和表情的数据或者人工绘制真人演员的数字模型来生成数字人视频,这种方式效果更逼真,但无法实时进行交互。数据驱动的方式能够通过文本或语音数据确定预设动作,以生成呈现该预设动作的数字人视频。然而,这种方式中预设动作一般是从固定的模板中选择的,动作比较僵硬,人为驱动痕迹明显。特别是在同步播报语音的情况下,数字人的表情或肢体动作与播报的语音匹配不足,难以控制数字人呈现类似真人的行为。
37.发明人经过长期研究发现并提出了本技术实施例提供的视频生成方法、电子设备、存储介质和数字人服务器,可以将获取的文本转换成语音,根据语音的声学特征生成对应于语音生成对应语音时间轴的嘴形关键点序列,根据文本的词序列生成对应于语音时间轴的动作链,并确定动作链的关键点序列,进而根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列,并基于目标关键点序列用于显示数字人视频的图像帧序列。本技术能够得到动作和嘴形都与语音相对应的数字人视频,使得数字人更生动灵活,提高用户的交互体验。具体的视频生成方法在后续的实施例中进行详细的说明。
38.请参阅图1,图1示出了一种适用于本技术实施例的应用环境示意图。本技术实施例提供的视频生成方法可应用于图1所示的交互系统10。交互系统10包括终端设备101以及服务器102。服务器102与终端设备101之间通过无线或者有线网络连接,以基于该网络连接实现终端设备101与服务器102之间的数据传输,传输的数据包括但不限于音频、视频、文字、图像等。
39.其中,服务器102可以是单独的服务器,也可以是服务器集群,还可以是多台服务器构成的服务器中心,在此不做具体限定。服务器102可以具有对数字人图像数据进行处理的系统,例如,该系统可以将生成文本对应的关键点序列,根据关键点序列生成图像帧序列,进而处理图像帧,得到数字人的视频等等。
40.在一些实施方式中,终端设备101可以是具有显示屏且支持数据输入的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和可穿戴式电子设备等。具体地,数据输入可以是基于智能终端设备101上具有的语音模块输入语音、字符输入模块输入字符、图像输入模块输入图像、视频输入模块输入视频等,还可以是基于智能终端设备101上安装有的手势识别模块,使得用户可以实现手势输入等交互方式。
41.在一些实施方式中,终端设备101上可以安装有客户端应用程序,用户可以基于客
户端应用程序(例如app等)与服务器102进行通信。具体地,终端设备101可以获取用户的输入信息,基于终端设备101上的客户端应用程序与服务器102进行通信。
42.服务器102可以对接收到的用户输入信息进行处理,服务器102还可以根据该信息返回对应的输出信息至终端设备101,终端设备101可执行输出信息对应的操作。其中,用户的输入信息可以是语音信息、基于屏幕的触控操作信息、手势信息、动作信息等,输出信息可以是视频、音频、文字、图像等,在此不做限定。
43.在一些实施方式中,终端设备101在获取与用户输入的信息对应的输出信息后,可以在终端设备101的显示屏或与其连接的其他图像输出设备上显示输出信息对应的数字人。数字人是通过将计算机视觉、语音识别、自然语言处理等ai技术深度融合得到的二维形象或三维形象。数字人可以是根据用户自身或其他人的形态建立的形似真人的仿真数字人形象,也可以是动漫效果式的机器人,例如动物形态或卡通人物形态的机器人。可选地,在显示数字人的同时,可以通过终端设备101的扬声器或与其连接的其他音频输出设备播放与仿真数字人图像对应的音频,还可以在终端设备101的显示屏上显示与该回复信息对应的文字或图形,实现在图像、语音、文字等多个方面上与用户的多态交互。
44.在一些实施方式中,对用户输入信息进行处理的装置也可以设置于终端设备101上,使得终端设备101无需依赖与服务器102建立通信即可实现与用户的交互,实现基于数字人的人机交互,此时交互系统10可以只包括终端设备101。
45.上述的应用环境仅为方便理解所作的示例,可以理解的是,本技术实施例不仅局限于上述应用环境。
46.下面将通过具体实施例对本技术实施例提供的视频生成方法、装置、电子设备及介质进行详细说明。
47.请参阅图2,图2为本技术一实施例提供的视频生成方法的流程示意图,该方法包括s110至s150。
48.s110:获取文本。
49.作为一种方式,文本可以是在获取用户的输入信息后,得到的对该输入信息的答复文本。例如,获取用户的输入信息“如何办卡”后,通过智能对话模块对输入信息进行意图识别,得到包含办卡步骤的答复文本。作为另一种方式,文本可以是用户输入信息所对应的文本。例如,文本可以是由用户输入的讲稿内容。
50.s120:将文本转换为语音,并根据语音的声学特征生成对应于语音时间轴的嘴形关键点序列。
51.语音合成技术可以合成语音,例如文语转换技术(text to speech,tts)可以将文本转换生成对应的语音,进而能够通过对语音进行声学提取得到语音的声学特征。其中,语音的声学特征能够表征语音的内容信息。例如,声学特征可以包括以下几种音频特征中的一种或多种:能量特征、发音帧数特征、基音频率特征、共振峰特征、谐波噪声比特征以及梅尔倒谱系数特征等。
52.根据语音的声学特征和说出语音时嘴形之间的对应关系,能够基于预先训练得到的嘴形参数模型生成该对应于语音时间轴的嘴形关键点序列。语音时间轴用于表征语音和时间的关系,即语音播报过程中每个时间点对应的语音帧。嘴形关键点序列包括对应于语音时间轴的多组嘴形关键点参数,每组嘴形关键点参数用于表征一个时间点的语音帧所对
应的数字人嘴形姿态,各组嘴形关键点参数的顺序与其对应的语音的各个时间点顺序是一致的,从而根据嘴形关键点序列显示数字人能够得到呈现数字人播报语音的嘴部动作。
53.具体地,嘴型姿态可以是上下唇的间距、左右嘴角的间距、左右嘴角的角度等等。可选地,嘴形关键点参数可以是嘴唇上各个关键点的位置坐标,例如,左右嘴角的横纵坐标;也可以是驱动嘴唇上各个关键点变化的参数,例如上下唇间距等等。在此不对关键点的具体位置和数量进行限定。
54.所述嘴形参数模型是基于语音的声学特征与嘴形特征的对应关系进行训练得到的模型,该模型以语音信息为输入数据,嘴形关键点参数为输出数据。通过将语音信息输入该模型,能够输出对应于语音时间轴的嘴形关键点序列。例如,预先获取真人演员说话的视频,以视频中的语音信息和视频图像中真人演员的嘴形特征作为训练样本进行模型训练。可以理解的是,嘴型参数模型的输入可以是语音帧或者语音的声学特征。在此不对嘴形参数模型以及获取嘴形关键点序列的具体方式进行限定。
55.作为一种方式,在将文本转换为语音前,还可以获取视频的预设帧率,根据视频的预设帧率和文本长度确定语音的目标帧数,即得到文本所对应的语音时长。通过数字人视频每秒播放帧数确定语音片段的时长,可以使得图像显示的数字人嘴形和语音播报更加同步。例如,视频包含的每一个图像帧均对应于一个语音帧,并且该图像帧的显示时间与该语音片段的播放时间相对应。
56.s130:将文本进行分词处理得到词序列,根据词序列生成对应于语音时间轴的动作链,并确定动作链的动作关键点序列。
57.词序列可以通过对文本进行分词处理来得到。词序列包括沿着所述文本的阅读顺序依次排序的多个词语,需要说明的是,这里的词语可以是一个字,也可以是几个字组成的词。所述文本的阅读顺序指的是,从文本的第一个字到最后一个字的顺序。当然,所述文本的阅读顺序也是所述文本的语音播放顺序。也就是说,所述词序列是按照所述语音时间轴依次排序的。
58.作为一种方式,词序列中依次排序的多个词语能够组成完整的文本。例如,“你周六来公司吗”对应的词序列为“你”、“周六”和“来公司吗”。作为另一种方式,在对文本进行切词划分后,还可以对文本筛选预设词,将依次排列的预设词确定为词序列。例如,预设词可以是实体词,“你周六来公司吗”对应的词序列为“你”、“周六”和“公司”。
59.动作链包括依次排列的多个动作,动作链中的每个动作都用于表征数字人除嘴形变化以外其他的动态行为,可以是表情动作、肢体动作或其组合等。例如,动作可以是招手、点头等某个部位的动作,也可以是点头同时招手这样的组合动作。作为一种方式,可以对词序列进行语义识别以得到文本的语义信息,从而根据文本的语义信息确定数字人所呈现的行为,即得到动作链。作为另一种方式,根据词序列可以确定词序列中每个词语对应的动作,将词序列中各个词语对应的动作按照词序列的顺序连在一起,从而得到词序列的动作链。具体地,请参阅后续实施例。
60.可以理解的是,数字人是基于文本来做出对应的表情或动作,因此,不仅需要基于文本来确定数字人呈现的行为,还需要确定数字人是在播放到文本的哪一个字或者词所对应的音频时,呈现相应的行为。根据语音时间轴,能够得到文本与语音的对应关系,即词序列在语音时间轴上的分布,能够确定语音播报过程中播报每一个字的起始时间点、结束时
间点,从而能够将词序列中每个词语对应在语音时间轴上,即确定每个词语在语音时间轴的起始时间点、结束时间点和该词语的持续时间。文本与语音各个时间点的对应关系也可以称为文本时间轴。
61.词语和动作的对应关系不但包括词语所对应的动作,还可以包括动作与词语在时间上的对应关系,即动作在该词语的开始时间、动作的持续时间等。例如,在对应关系中,词语“好好学习,天天向上”对应于敬礼的动作,该动作在语音播报到第一个“天”字时被触发,持续三秒结束。根据语音时间轴,在确定语音与词语在时间上的对应关系后,还可以根据进一步地根据动作与词语在时间上的对应关系,确定每个动作在在语音时间轴上的起始时间和结束时间,得到对应于该语音时间轴的动作链,即能够确定动作链中的每个动作在语音时间轴上的起始时间和结束时间。
62.进一步地,在确定动作链后,能够确定动作链的动作关键点序列。类似于嘴形关键点序列,动作关键点序列包括对应于语音时间轴的各个时间点的多组动作关键点参数,每组动作关键点参数用于表征一个时间点的语音帧所对应的数字人动作姿态,各组动作关键点参数的顺序与其对应的语音的时间点顺序是一致的。动作关键点参数可以是肢体或面部关键点的位置坐标或者用于驱动肢体或表情变化的参数,在此不对关键点的具体位置和数量进行限定。
63.动作链中的每个动作可以对应一组或多组动作关键点参数,根据动作顺序结合各个动作对应的关键点参数能够得到动作链的动作关键点序列。具体地,可以基于预先训练得到的动作参数模型确定每个动作对应的动作关键点参数。例如,可以预先获取真人演员做出各个动作的视频或图像,将动作标签以及动作的视频或图像作为训练数据作为训练样本进行模型训练,以得到该动作参数模型。在此不对动作参数模型以及获取动作关键点序列的具体方式进行限定。
64.s140:根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列。
65.嘴形关键点序列中每组动作关键点参数对应于语音时间轴上一个时间点的嘴形姿态,动作关键点序列中每组动作关键点参数对应于语音时间轴上一个时间点的动作姿态。可以理解的是,每组嘴形关键点参数和每组动作关键点参数在语音时间轴上是一一对应的。对语音时间轴上的每个时间点,通过合并处理该时间点对应的一组嘴形关键点参数和一组动作关键点,能够得到该时间点对应的一组目标关键点参数。将多组目标关键点参数按照语音时间轴上各时间点顺序结合起来,能够得到目标关键点序列。
66.每组目标关键点参数都包括用于呈现数字人行为所需要的全量的关键点信息。例如,文本“你好”所对应的嘴形关键点序列用于表征数字人说出你好这两个字的嘴形姿态,其对应的动作关键点序列用于表征数字人招手的动作姿态,目标关键点序列能够同时呈现数字人说出“你好”的嘴形姿态和同时招手的动作姿态。
67.可以理解的是,嘴形关键点参数、动作关键点参数和目标关键点参数可应用于不同的数字人,例如,可以通过选择不同的数字人模型,同一组目标关键点的参数可以驱动一个仿真数字人或者一个卡通虚拟形象。可选地,这些参数也可以是针对某个特定的数字人模型的参数。
68.s150:基于目标关键点序列生成图像帧序列,图像帧序列用于在播放时显示数字
人视频。
69.作为一种方式,在获取目标关键点序列后,可以基于预先训练得到的图像生成模型,得到每组目标关键点参数对应的数字人的图像帧,从而得到目标关键点序列对应的图像帧序列。该图像生成模型是通过真人视频或图像训练得到的目标关键点参数与图像之间的映射关系,能够在输入关键点参数时,输出目标关键点参数对应的图像,并且该图像中数字人呈现该目标关键点参数所表征的行为姿态。在此不对图像生成模型进行具体限定。
70.作为另一种方式,当目标关键点参数是用于驱动数字人模型动作的参数,例如是控制变形器的blendshape参数时,可以通过输入目标关键点参数控制预设的数字人模型变形,得到变形后的数字人模型的图像,从而得到目标关键点序列对应的图像帧序列。
71.图像帧序列中各个图像帧的顺序与目标关键点序列中各组目标关键点的顺序相同,也就是说图像帧序列中各个图像帧的顺序与语音时间轴上各个时间点的顺序相一致,每个时间点对应一个图像帧。图像帧序列用于在被逐帧播放时,显示数字人视频,该数字人的动作和嘴形都与语音相对应。作为一种方式,可以在生成图像帧序列后,基于视频编码器对图像帧序列进行编码以得到数字人视频,并向终端设备发送数字人视频和语音,终端设备可以在显示数字人视频时,同步播报语音。
72.本实施例提供的视频生成方法,获取文本;将文本转换为语音,并根据语音的声学特征生成对应于语音时间轴的嘴形关键点序列;将文本进行分词处理得到词序列,根据词序列生成对应于语音时间轴的动作链,并确定动作链的动作关键点序列;根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列;及基于目标关键点序列生成图像帧序列,图个像帧序列用于显示数字人视频,能够生成动作和嘴形都与语音所匹配的数字人视频,使得数字人更加自然,提高用户的交互体验。
73.请参阅图3,图3为本技术一实施例提供的一种视频生成方法的流程示意图,该方法包括s210至s280。
74.s210:获取文本。
75.s220:将文本转换为语音,并根据语音的声学特征生成对应于语音时间轴的嘴形关键点序列。
76.s230:将文本进行分词处理得到词序列。
77.s240:以词序列的第一个词语为起点,依次将词序列中的每个词语作为当前词语,获取当前词语对应的至少一个候选动作。
78.词序列包括多个依次排列的词语,以词序列中的第一个词语为起点,依次处理每个词序,即依次将词序列中的每个词语作为当前词语。可以预先设定词语和动作之间对应关系,从而基于对应关系确定词序列中每个词语对应的至少一个候选动作。可以理解的是,每个候选动作可以是某个部位的动作,例如,点头、伸手、眨眼等,每个候选动作也可以是一个组合动作,例如,点头后招手,或点头的同时招手。通过确定每个词语对应的至少一个候选动作,能使不同词语所形成的动作链具有更多种组合的可能,从而适用于多种应用场景,并且提高数字人动作的自然程度。
79.在一些实施方式中,如图4所示,s240可以包括s241-s243。
80.s241:从多个预设词语和多个预设动作之间的对应关系中,查找当前词语对应的至少一个预设动作和每个预设动作的概率值。
81.所述对应关系中包括每个预设词语对应的至少一个预设动作,以及每个预设动作对应于该预设词语的概率值。基于对应关系,能够查找当前词语对应的至少一个预设动作和每个预设动作的概率值。概率值可用于表征期待由该词语呈现该预设动作的可能性。具体地,概率值可以是人工设定的,也可以是基于模型学习得到的真人行为中词语和动作的对应关系,由该对应关系所确定的。
82.作为一种方式,预设动作的概率值与该预设词语表达的情感有关。例如,当人表示歉意地说“抱歉”时表情大多会是真诚的,而偶尔嘲讽地说“抱歉”时表情会是洋洋得意的,词语“抱歉”可以对应有真诚的表情和得意的表情这两个预设动作,真情的表情概率设定为0.7,得意的表情的概率设定为0.3。作为另一种方式,预设动作的概率值与应用场景有关,不同的应用场景可以设定不同的概率值。例如,与小朋友的交互场景中,活泼的预设动作概率值更高,而客户服务的交互场景中,沉稳的动作概率值更高。
83.s242:根据每个预设动作的概率值,对至少一个预设动作进行降序排序,得到至少一个预设动作的排列顺序。
84.在确定当前词语对应的至少一个预设动作后,根据每个预设动作的概率值,可以对至少一个预设动作进行降序排序,得到至少一个预设动作的排列顺序。即将概率值高的预设动作排列在前面。
85.s243:将排列顺序中的前m个预设动作确定为当前词语对应的至少一个候选动作,m为大于0的自然数。
86.选取概率值较高的预设动作作为当前词语对应的至少一个候选动作。当预设动作的数量大于m时,可以将排列顺序中的前m个预设动作确定为当前词语对应的至少一个候选动作,即得到当前词语对应的m个候选动作。当预设动作的数量小于m时,可以基于对应关系,直接将至少一个预设动作确定为至少一个候选动作。
87.在一些实施方式中,可以对不同的词语设定不同的m的数值。例如,可以获取每个词语的重要性,对重要性较高的词语设定较大的m值,对重要性较低的词语设定较小的m值。从而对关键的词语具有更丰富的表达。
88.通过预先设定一个词语和多个动作之间的对应关系,能够得到更多的动作组合,但同时也增加了计算量。通过在一个词语对应于多个预设动作时,将概率最高的m个预设动作确定为候选动作,能够在得到更多的动作组合的同时,提高计算效率。
89.s250:若当前词语不是词序列的最后一个词语,则获取下一个词语对应的至少一个候选动作。
90.若当前词语不是词序列的最后一个词语,则获取下一个词语对应的至少一个候选动作。获取每个词语的至少一个候选动作的具体实施方式请参阅s240。若当前词语是词序列的最后一个词语,可以跳转至s270。
91.s260:根据语音时间轴确定由当前词语对应的每个候选动作分别指向下一个词语对应的每个候选动作的候选路径。
92.在获取当前词语对应的至少一个候选动作和下一个词语对应的至少一个候选动作后,可以确定当前词语和下一个词语之间的候选路径,每个候选路径都是由当前词语对应的一个候选动作指向下一个词语对应的一个候选动作。例如,当前词语a对应动作1和动作2,下一个词语b对应动作3和动作4,则候选路径包括“动作1-》动作3”、“动作1-》动作4”、“动作2-》动作3”和“动作2-》动作4”,其中“动作1-》动作3”表征数字人执行动作1后执行动作3。在确定了候选路径之后,可以以下一个词语作为当前词语执行s240。
93.在一些实施方式中,如图5所示,s260可以包括s261和s262。
94.s261:根据语音时间轴,确定当前词语对应的每个候选动作和下一个词语对应的每个候选动作的起始时间和结束时间。
95.根据词语与动作的对应关系,可以确定每个候选动作与词语之间的时间关系,即候选动作在相对于该词语的开始时间以及动作的持续时间。候选动作相对于词语的开始时间可以是根据词语发音的音节来预先设定的,例如,词语“我喜欢你”,在发音“喜”字的时候触发比心动作。而候选动作的持续时长可以是根据音节来确定的,例如,在发音“欢”时结束动作;也可以是由预设动作持续的时间长度所确定的,例如,比心动作被触发后持续3秒。
96.当候选动作的持续时长是由预设动作持续的时间长度来确定的时,可能出现词语的语音结束了,但是动作还持续的情况,导致和下一个词语的候选动作时间上发生重叠,需要获取每个候选动作在语音时间轴上的起始时间和结束时间来进一步判断。由于每个词语在语音时间轴的起始时间点、结束时间点能够通过语音时间轴得到,根据候选动作与词语之间的时间关系,能够确定每个候选动作在语音时间轴上的起始时间和结束时间,即得到当前词语对应的每个候选动作和下一个词语对应的每个候选动作的起始时间和结束时间。
97.s262:若当前词语对应的候选动作的结束时间早于下一个词语对应的候选动作的开始时间,则将当前词语对应的候选动作指向下一个词语对应的候选动作确定为候选路径。
98.若当前词语对应的候选动作的结束时间早于下一个词语对应的候选动作的开始时间,则将当前词语对应的候选动作指向下一个词语对应的候选动作确定为候选路径。具体地,可以根据当前词语的每一个候选动作的结束时间来筛选下一个词语的每个候选动作,得到下一个词语中开始时间晚于该结束时间的候选动作,进而得到由当前词语的候选动作指向下一个词语的候选动作的候选路径。
99.若当前词语对应的候选动作的结束时间不早于下一个词语对应的候选动作的开始时间,则由当前词语对应的候选动作指向下一个词语对应的候选动作的路径将被认为是不可能的路径,不会被确定为候选路径。
100.图6示出了一个示例中确定候选路径的应用场景示意图。如图6所示,词序列包含词语1、词语2和词语3,横轴用于表示语音时间轴,各个词语在语音时间轴上的开始时间和结束时间分别为,to-t1、t1-t2和t2-t3。词语1对应的候选动作为点头1和点头2,词语2对应的候选动作为伸手1、伸手4和伸手5。候选动作的矩形在横轴方向上的投影可以表示候选动作在语音时间轴上的开始时间和结束时间。
101.由于词语2所对应的伸手1、伸手4和伸手5的开始时间均不早于词语1中点头1的结束时间,可以将“点头1-》伸手1”、“点头1-》伸手4”和“点头1-》伸手5”确定为候选路径。而伸手5的开始时间早于点头2的结束时间,可以确定“点头2-》伸手4”和“点头2-》伸手1”为候选路径,即词语1和词语2之间共计5个候选路径。
102.如图7所示,在s260之后,视频生成方法还可以包括s263和s264。
103.s263:确定所述候选路径的数量是否大于n,若是,则基于预设约束条件确定每个所述候选路径的分值,将所述候选路径更新为所述分值最高的n个候选路径。
104.获取当前词语和下一个词语之间的候选路径的数量,若该数量大于n,则基于预设约束条件确定每个所述候选路径的分值,将所述候选路径更新为所述分值最高的n个候选路径,即舍弃分值较低的其他候选路径,其中,n为大于0的自然数。
105.约束条件可以由候选路径中每个候选动作的概率,每个候选动作的运动轨迹,每个词语的持续时间中的至少一项确定。预设的约束条件用于确定该候选路径的性能,根据约束条件确定的候选路径的分值越高,表示该候选路径越好,即候选路径对应的动作与文本和语音的匹配度更高。
106.在一些实施方式中,每个候选路径的分值可以由动作路径分值、运动路径分值、自然度分值中的至少一项确定。
107.动作路径的分值可以由当前词语的候选动作的概率以及由当前词语的候选动作到下一个词语的候选动作的转移概率得到,概率值越高动作路径的分值也越高。动作路径的分值用于描述由当前词语的候选动作变化到下一个词语的候选动作的可能性,分值越高,可能性越高。作为一种方式,每个候选动作的概率的初始值是基于词语与文本的对应关系所预先设定的,在筛选候选路径的过程中,随着一些候选路径被舍弃,该候选动作的概率值也会随之改变。
108.运动路径分值可以由词语对应的候选动作的运动轨迹和词语的持续时间来确定。可以理解的是,候选动作用于表征连续变化动作姿态,在该候选动作的持续时间,或者说在词语的持续时间中,各个关键点的位置是不断变化的,运动轨迹就是用于表征这种变化。例如,候选动作为招手时,手臂是由自然下垂变化到举起状态的,上臂的各个关键点与人体垂直方向的夹角是从0逐渐变成135度的。
109.进一步地,动作路径分值可以包括动作特征分值和特征路径分值。动作特征分值是根据当前词语的候选动作在当前词语的各个时刻上关键点特征的分值得到的。例如,词语“再见”对应的候选动作为招手告别,当“再见”这个词语出现在文本的句首时,数字人直接招手告别可能会给人突兀的感觉,将得到较低的动作特征分值,也就是说,动作特征分值可以表征该候选动作与整段语音的合适程度。特征路径分值是根据当前词语的候选动作在当前词语的各个时刻上关键点特征,以及下一个词语的候选动作在下一个词语的各个时刻上关键点特征来确定的。特征路径分值可以表示两个动作连接的自然程度。其中,各个时刻可以是语音时间轴上等间隔设置的时刻。
110.自然度分值可以是由当前词语对应的动作关键点参数和嘴形关键点参数在当前词语的各个时刻的匹配程度来确定的,匹配程度用于表征当数字人同时执行该肢体或表情动作和该嘴形动作时的自然程度。也就是说,在获取嘴形关键点序列后,动作关键点序列是根据嘴形关键点序列和词序列来确定的,从而使得最终呈现的数字人的动作与嘴形更加自然。
111.每个候选路径的分值可以由动作路径分值、运动路径分值、自然度分值来确定,每项的分值越高,则候选路径的分值越高。每项分值都可以由使用马尔科夫链、条件随机场、深度学习模型等方法得出,在此不做具体限定。
112.图8示出了一个示例中更新候选路径的应用场景示意图。如图8所示,在计算词语1和词语2之间的候选路径时,可以分别计算五条候选路径的分值。例如,“点头1-》伸手5”的分值可以由点头1的概率,点头1到伸手5的转移概率,点头1的动作特征分值,点头1到伸手5
的特征路径分值,以及点头1的自然度分值中至少一项来确定,例如,通过加权求和等方式得到该候选路径的分值。以n=3为例,将按照候选路径的分值确定分值较高的三个候选路径,舍弃其他的候选路径,即图中所示的被删除的“点头1-》伸手1”和“点头2-》伸手1”。
113.s264:根据得到的n个候选路径更新当前词语对应的至少一个候选动作和下一个词语对应的至少一个候选动作。
114.通过得到的n个候选路径,能够定在这n个候选路径中当前词语对应的候选动作和下一个词语对应的候选动作,进而将当前词语对应的至少一个候选动作更新为n条路径中当前词语对应的候选动作,将下一个词语对应的候选动作更新为n条路径中下一个词语对应的候选路径,从而在将下一个词语作为当前词语,计算候选路径时,不必计算已被舍弃的候选路径的下一个候选路径。基于预设约束条件在动态规划确定动作链的过程中,舍弃分值较低的路径,避免过大的计算量,进一步地提高视频生成效率。
115.如图8所示,在舍弃“点头1-》伸手1”和“点头2-》伸手1”时,词语1没有任何候选路径指向词语2中的“伸手”,将词语2对应的候选动作更新为“伸手5”和“伸手4”,在计算词语2和词语3之间的候选路径时,不必再计算由“伸手1”指向其他动作的候选路径。
116.s270:根据每两个相邻的词语之间的候选路径确定动作链,并确定动作链的动作关键点序列。
117.基于动态规划算法,当两个相邻词语之间确定唯一的候选路径时,可以得到该候选路径中两个词语分别对应的候选动作,将该候选动作作为目标动作,进而能够确定文本所对应的动作链,该动作链包括每个词语对应的一个目标动作。
118.在一些实施方式中,若当前词语是词序列的最后一个词语,则确定由第一个词语指向最后一个词语的多个候选路径的组合方式;根据每两个相邻的词语之间的候选路径的分值,将分值总和最大的组合方式中每个词语的候选动作确定为目标动作,以得到动作链。
119.具体地,若当前词语是词序列的最后一个词语,说明已经确定了每两个相邻词语之间的候选路径,进而可以确定由第一个词语指向最后一个词语的多个候选路径得到的多个组合方式,每个组合方式中相邻词语之间只有一条候选路径,组合方式可以表征第一个词语经过哪些候选路径能够到达最后一个词语。根据每两个相邻的词语之间的候选路径的分值,可以计算每个组合方式对应的分值总和,得到分值总和最大的组合方式,进而根据分值最大的组合确定每两个相邻的词语之间唯一的候选路径,从而确定每个词语对应的目标动作,得到整个动作链。确定动作链的动作关键点序列的具体实施方式请参见s130。
120.图9出了一个示例中确定动作链的应用场景示意图。如图9所示,在词组1和词组2之间有三个候选路径,在词组2和词组3之间有3个候选路径,由词组1到达词组3一共有5种候选路径的组合方式,即“点头1-》伸手5-》握拳3”、“点头1-》伸手4-》握拳7”、“点头1-》伸手4-》握拳7”、“点头2-》伸手4-》握拳7”和“点头2伸手4握拳15”。通过候选路径的分值能够计算这些组合方式的总分值,得到总分值最高的组合方式。例如,“点头1-》伸手5-》握拳3”的总分值可以通过“点头1-》伸手5”的分值和“伸手5-》握拳3”的分值求和得到,当这个组合方式是分值最高的组合方式时,可以将其作为动作链。
121.作为一种实施方式,也可以通过迭代的方式来确定动作链,以减少计算量。例如,将指向最后一个词语的分值最高的候选路径确定为最后一个词语的目标候选路径,将目标候选路径中最后一个词语对应的候选动作确定为最后一个词语对应的目标动作,以最后一
个词语为起点,依次确定词序列中每个词语对应的目标候选路径中另一个词语对应的目标动作,以得到动作链。
122.s280:根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列。
123.s290:基于目标关键点序列生成图片帧序列。
124.需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
125.本实施例提供的视频生成方法,相较于图2所示的方法,通过以词序列的第一个词语为起点,依次将词序列中的每个词语作为当前词语,获取当前词语对应的至少一个候选动作;若当前词语不是词序列的最后一个词语,则获取下一个词语对应的至少一个候选动作;根据语音时间轴确定由当前词语对应的每个候选动作分别指向下一个词语对应的每个候选动作的候选路径;及根据每两个相邻的词语之间的候选路径确定动作链。通过对每个词语预设至少一个动作,能够根据文本灵活地组合不同动作,使得呈现的数字人具有更丰富的动作,显示效果更自然。通过动态规划算法来确定动作链,在确定动作链的过程中实现算法时间复杂度的优化,提高生成视频的时效性。
126.可以理解的是,上述示例仅为本技术实施例提供的方法在一种具体场景进行应用的示意性说明,并不对本技术实施例构成限定。基于本技术实施例提供的方法还可实现更多不同的应用。
127.请参阅图10,其示出了本技术实施例提供的数字人服务器的结构框图。下面将针对图11所示的框图进行阐述,该数字人服务器400包括:文本获取模块410、语音转换模块420、嘴形配置模块430、动作配置模块440和图像处理模块450。其中,文本获取模块410,用于获取文本;语音转换模块420,用于将文本转换为语音;嘴形配置模块430,用于根据语音的声学特征生成对应于语音时间轴的嘴形关键点序列;动作配置模块440,用于将文本进行分词处理得到词序列,根据词序列生成对应于语音时间轴的动作链,并确定动作链的动作关键点序列;关键点合成模块450,用于根据语音时间轴合成嘴形关键点序列和动作关键点序列,从而获得目标关键点序列;及图像处理模块460,用于基于目标关键点序列生成图像帧序列,图像帧序列用于显示数字人视频。
128.在一些实施方式中,动作配置模块440还可以获取语音转换模块420返回的语音时间轴,以及嘴形配置模块440返回的嘴形参数序列。
129.数字人服务器400可以与终端设备通信。在一些实施方式中,数字人服务器400还可以包括有视频生成模型,将图像帧序列生成数字人视频,并进一步地将数字人视频和语音发送至终端设备以在显示数字人视频时,同步播报语音。在一些实施方式中,文本获取模块410可以是智能对话模块,获取的文本是根据用户在终端设备上的输入信息所确定应答文本。
130.进一步地,动作配置模块440还包括第一动作获取子模块、第二动作获取子模块、路径确定子模块和动作链确定子模块。其中,第一动作获取子模块,用于以词序列的第一个词语为起点,依次将词序列中的每个词语作为当前词语,获取当前词语对应的至少一个候选动作;第二动作获取子模块,用于若当前词语不是词序列的最后一个词语,则获取下一个词语对应的至少一个候选动作;路径确定子模块,用于根据语音时间轴确定由当前词语对
应的每个候选动作分别指向下一个词语对应的每个候选动作的候选路径;及动作链确定子模块,用于根据每两个相邻的词语之间的候选路径确定动作链。
131.进一步地,第一动作获取子模块包括:关系查找单元,动作排序单元和动作筛选单元。其中,关系查找单元,用于从预设的多个词语和多个预设动作之间的对应关系中,查找当前词语对应的至少一个预设动作和每个预设动作的概率值;动作排序单元,用于根据每个预设动作的概率值,对至少一个预设动作进行降序排序,得到至少一个预设动作的排列顺序;及动作筛选单元,用于将排列顺序中的前m个预设动作确定为当前词语对应的至少一个候选动作,m为大于0的自然数。
132.进一步地,路径确定子模块包括:时间确定单元和时间判断单元。其中,时间确定单元用于根据语音时间轴,确定当前词语对应的每个候选动作和下一个词语对应的每个候选动作的起始时间和结束时间;时间判断单元用于若当前词语对应的候选动作的结束时间早于下一个词语对应的候选动作的开始时间,则将当前词语对应的候选动作指向下一个词语对应的候选动作确定为候选路径。
133.进一步地,数字人服务器400的动作配置模块440还包括分值确定子模块和路径更新子模块。其中,分值确定子模块用于确定候选路径的数量是否大于n,若是,则基于预设约束条件确定每个候选路径的分值,将候选路径更新为分值最高的n个候选路径,n为大于0的自然数;及路径更新子模块用于根据得到的n个候选路径更新当前词语对应的至少一个候选动作和下一个词语对应的至少一个候选动作。
134.可选地,路径确定子模块还包括组合方式确定单元和目标动作确定单元。其中,组合方式确定单元,用于若所述当前词语是所述词序列的最后一个词语,则确定由所述第一个词语指向所述最后一个词语的多个所述候选路径的组合方式;及目标动作确定单元,用于根据每两个相邻的所述词语之间的候选路径的分值,将分值总和最大的组合方式中每个所述词语的所述候选动作确定为所述目标动作,以得到所述动作链。
135.进一步地,约束条件由候选路径中每个候选动作的概率,每个候选动作的运动轨迹,每个词语的持续时间中的至少一项确定。
136.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述数字人服务器中各个模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述
137.请参考图11,其示出了本技术实施例提供的一种电子设备的结构框图。该电子设备500可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本技术中的电子设备500可以包括一个或多个如下部件:处理器510、存储器520以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器520中并被配置为由一个或多个处理器510执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
138.处理器510可以包括一个或者多个处理核。处理器510利用各种接口和线路连接整个电子设备500内的各个部分,通过运行或执行存储在存储器520内的指令、程序、代码集或指令集,以及调用存储在存储器520内的数据,执行电子设备500的各种功能和处理数据。可选地,处理器510可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器510可集成中央处理器(centralprocessingunit,cpu)、视频生成器(graphicsprocessingunit,gpu)和调制
解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器510中,单独通过一块通信芯片进行实现。
139.存储器520可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器520可用于存储指令、程序、代码、代码集或指令集。存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备500在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
140.请参阅图12,其示出了本技术实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质1000中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
141.计算机可读取存储介质1100可以是诸如闪存、电可擦除可编程只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质1100包括非易失性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读取存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
142.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1