CN116051688A - 过渡动画生成方法及装置、计算机可读存储介质、终端 - Google Patents
过渡动画生成方法及装置、计算机可读存储介质、终端 Download PDFInfo
- Publication number
- CN116051688A CN116051688A CN202211732310.3A CN202211732310A CN116051688A CN 116051688 A CN116051688 A CN 116051688A CN 202211732310 A CN202211732310 A CN 202211732310A CN 116051688 A CN116051688 A CN 116051688A
- Authority
- CN
- China
- Prior art keywords
- frame
- key frame
- animation
- transition
- motion data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007704 transition Effects 0.000 title claims abstract description 199
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000009471 action Effects 0.000 claims abstract description 134
- 239000013598 vector Substances 0.000 claims description 133
- 210000000988 bone and bone Anatomy 0.000 claims description 127
- 238000012549 training Methods 0.000 claims description 78
- 238000006073 displacement reaction Methods 0.000 claims description 70
- 230000011218 segmentation Effects 0.000 claims description 19
- 230000004927 fusion Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 15
- 239000012634 fragment Substances 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 description 88
- 239000011159 matrix material Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 241001282135 Poromitra oscitans Species 0.000 description 1
- 206010048232 Yawning Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种过渡动画生成方法及装置、计算机可读存储介质、终端,方法包括:获取起始关键帧及结束关键帧;获取起始关键帧及结束关键帧之间的空白时间段的空白时长;根据空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置;计算得到各过渡帧的动作数据,其中,第一个过渡帧的动作数据根据起始关键帧的动作数据、结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据起始关键帧的动作数据、结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,1≤i≤N‑1;基于N个过渡帧的动作数据以及位置,生成过渡动画。上述方案能提高过渡动画的生成效率并能够满足实时运行场景的需求。
Description
技术领域
本发明实施例涉及计算机动画领域,尤其涉及一种过渡动画生成方法及装置、计算机可读存储介质、终端。
背景技术
随着人民生活水平的提升,人民群众对于文化娱乐方面的需求日益增长。影视动画、游戏等领域占了文化娱乐的很大一部分,在动画游戏的制作过程中,动画师的制作流程一般是手k动画,然后使用插值方法将这些关键动画进行连接,其中,手k指从无到有全靠动画师人工制作得到关键帧动画。传统的插值方法只能插值很小时间间隔的动画(如0.1s~0.3s左右)。如果需要一些生动自然地过渡动画,则需要大量的手k动画。
以往动画的制作是一个费时费力的工作,并且与动画师的经验相关。动画师需要手k大量的关键帧,调整某一关键帧后,还需要对其前后相邻的一些关键帧进行更改。传统方法下的动画制作,流程相当缓慢。
综上所述,传统动画制作中存在需要动画师大量手k动作的场景,并且在某些关键帧改变后,需要大量修改相邻帧的情况,传统的方法无法满足实时运行的场景且过渡动画的生成效率较低。
发明内容
本发明实施例解决的技术问题是传统的过渡动画的生成效率较低且无法满足实时运行场景的需求。
为解决上述技术问题,本发明实施例提供一种过渡动画的生成方法,包括:获取起始关键帧及结束关键帧;获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长;根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置,N为正整数;计算得到各过渡帧的动作数据,其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,1≤i≤N-1,i为正整数;基于N个过渡帧的动作数据以及位置,生成所述过渡动画。
可选的,所述第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,包括:第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i-j至第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,j为自然数,i>j。
可选的,所述计算得到各过渡帧的动作数据,包括:采用动作数据生成网络模型计算得到各过渡帧的动作数据;其中,所述动作数据生成网络模型根据所述起始关键帧的动作数据对应的起始向量、所述结束关键帧的动作数据对应的结束向量以及第一个过渡帧的位置向量和第零隐变量,生成第一隐变量以及第一个过渡帧的第一向量,所述第一向量用于指示所述第一个过渡帧的动作数据;所述动作数据生成网络模型根据第i隐变量、第i个过渡帧的对应的第i向量、所述结束向量以及第i+1个过渡帧的位置向量,得到第i+1个过渡帧的第i+1向量。
可选的,所述动作数据生成网络模型采用如下方式训练得到:获取训练样本集,所述训练样本集包括多个训练样本,所述训练样本为动画序列片段;针对每个训练样本,从所述训练样本的每帧动作中提取出动作数据;将每个训练样本的第一帧作为起始帧,将最后一帧作为结束帧,根据所述起始帧与所述结束帧之间的时间间隔,确定待预测的过渡动画的总帧数;在第m次迭代训练过程中,基于有监督学习的训练方式,将所述训练样本集中的部分或全部训练样本输入至第m-1次迭代训练得到的网络模型,基于预测的预测结果与真实结果的偏差得到第一损失,基于无监督学习的训练方式,将所述训练样本集中的部分或全部训练样本输入所述第m-1次迭代得到的网络模型,得到对抗损失;根据所述第一损失以及所述对抗损失,调整所述第m-1次迭代得到的网络模型的参数,得到第m次迭代得到的网络模型,以此迭代训练,直至第m+p次迭代得到的网络模型满足收敛条件,将所述第m+p次迭代得到的网络模型作为所述动作数据生成网络模型,其中,当m=1时,初始网络模型视为第0次迭代训练得到的网络模型,m≥1,p≥0,m及p均为整数。
可选的,所述动作数据包括骨骼的位移及骨骼的旋转角,所述预测结果包括骨骼的预测位移及骨骼的预测旋转角,所述真实结果包括骨骼的真实位移及骨骼的真实旋转角,所述基于预测的预测结果与真实结果的偏差得到第一损失包括以下任一种:计算骨骼的预测位移与所述骨骼的真实位移的第一偏差,所述骨骼的预测旋转角与所述骨骼的真实旋转角的第二偏差,将所述第一偏差及所述第二偏差之和作为所述第一损失;或者,计算骨骼的预测位移与所述骨骼的真实位移的第一偏差,所述骨骼的预测旋转角与所述骨骼的真实旋转角的第二偏差,根据所述骨骼的预测位移及骨骼的预测旋转角确定骨骼的预测位置,计算所述骨骼的预测位置与骨骼的真实位置的第三偏差,将所述第一偏差、所述第二偏差以及所述第三偏差之和,作为所述第一损失。
可选的,所述获取起始关键帧及结束关键帧,包括:获取第一动画序列及第二动画序列,其中,所述第一动画序列在所述空白时间段之前,所述第二动画序列在所述空白时间段之后;将所述第一动画序列的结束帧作为所述起始关键帧,将所述第二动画序列的开始帧作为所述结束关键帧。
可选的,所述获取第一动画序列及第二动画序列,包括:获取文本;对所述文本进行分词处理,得到初始集合,所述初始集合包括一个或多个词;判断所述初始集合中的每个词是否为目标词,如果是,则将该目标词加入目标集合,所述目标词指的是与预设标签集中至少一个标签的相似度值大于等于设定相似度阈值的词,所述预设标签集包括多个预设的标签;根据所述目标集合中各个目标词对应的标签,从预设的动作数据库中获取各个目标词的动作数据,所述动作数据库用于存储各个标签对应的动作数据,每个标签对应至少一组动作数据;基于获取到的各个目标词匹配的动作数据,生成所述文本对应的动作集合;基于所述动作集合生成所述文本对应的动画;从所述文本对应的动画中获取所述第一动画序列及所述第二动画序列。
可选的,所述获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长,包括:将所述文本转换成语音,并确定各个目标词在所述语音中的位置;基于所各个目标词在所述语音中的位置,确定所述起始关键帧的位置以及所述结束帧的位置;根据所述起始关键帧的位置及所述结束关键帧的位置,确定所述空白时间段的空白时长。
可选的,所述获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长,包括:根据所述第一动画序列中的两相邻帧中骨骼的位移偏差以及两相邻帧的时间间隔,计算第一速度;根据所述第二动画序列中两相邻帧中骨骼的位移偏差以及两相邻帧的时间间隔,计算第二速度;根据所述起始关键帧中骨骼的位移及所述结束关键帧中骨骼的位移,计算所述结束关键帧及所述起始关键帧中骨骼的位移偏差;根据所述第一速度、所述第二速度以及所述结束关键帧及所述起始关键帧中骨骼的位移偏差,计算得到所述空白时长。
可选的,所述获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长,包括:获取第一动画序列及第二动画序列,其中,所述第一动画序列在所述第二动画序列之前;将第一动画序列及第二动画序列与预设数据库中融合的动画片段进行相似度比对;根据相似度值大于设定阈值的融合的动画片段所对应的融合时长,得到所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长。
可选的,所述第一动画序列及所述第二动画序列基于文本得到,所述生成方法还包括:将所述第一动画序列、所述过渡动画及所述第二动画序列进行组合,得到所述文本对应的动画。
本发明实施例还提供一种过渡动画的生成装置,包括:第一获取单元,用于获取起始关键帧及结束关键帧;第二获取单元,用于获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长;计算单元,用于根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置,N为正整数;动作数据生成单元,用于计算得到各过渡帧的动作数据,其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,1≤i≤N-1,i为正整数;过渡动画生成单元,用于基于N个过渡帧的动作数据以及位置,生成所述过渡动画。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种过渡动画的生成方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种过渡动画的生成方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明实施例中,通过获取起始关键帧及结束关键帧,以及获取起始关键帧及结束关键帧之间空白时间段的空白时长,根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置。其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到。由此,基于N个过渡帧的动作数据以及位置,生成所述过渡动画。从而实现根据起始关键帧及结束关键帧以及两者之间空白时间段的空白时长,确定过渡动画的总帧数N以及各过渡帧的位置,进而实现过渡动画的自动生成,以提高过渡动画的生成效率并能够满足实时运行场景的需求。
附图说明
图1是本发明实施例中的一种过渡动画的生成方法的流程图;
图2是本发明实施例中的一种基于文本生成动画的流程图;
图3是图2中步骤23的一个具体实施方式的流程图;
图4是图1中步骤12的一个具体实施方式的流程图;
图5是图1中步骤12的另一个具体实施方式的流程图;
图6是图1中步骤14的一个具体实施方式的流程图;
图7是本发明实施例中的一种动作数据的生成原理图;
图8是本发明实施例中的一种动作数据生成网络模型的训练流程图;
图9是本发明实施例中的一种过渡动画的生成装置的结构示意图。
具体实施方式
如上所述,以往动画的制作是一个费时费力的工作,并且与动画师的经验相关。动画师需要手k大量的关键帧,调整某一关键帧后,还需要对其前后相邻的一些关键帧进行更改。传统方法下的动画制作,流程相当缓慢。
综上所述,传统动画制作中存在需要动画师大量手k动作的场景,并且在某些关键帧改变后,需要大量修改相邻帧的情况,传统的方法无法满足实时运行的场景且过渡动画的生成效率较低。
为解决上述问题,在本发明实施例中,通过获取起始关键帧及结束关键帧,以及获取起始关键帧及结束关键帧之间空白时间段的空白时长,根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置。其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到。由此,基于N个过渡帧的动作数据以及位置,生成所述过渡动画。从而实现根据起始关键帧及结束关键帧以及两者之间空白时间段的空白时长,确定过渡动画的总帧数N以及各过渡帧的位置,进而实现过渡动画的自动生成,以提高过渡动画的生成效率并能够满足实时运行场景的需求。
为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供一种过渡动画的生成方法,过渡动画的生成方法可以由终端执行,或者用于终端的芯片或芯片模组等。终端可以为手机、电脑、云平台等各种合适的设备。
参照图1,给出了本发明实施例中的一种过渡动画生成方法的流程图,具体可以包括如下步骤11至步骤15:
步骤11,获取起始关键帧及结束关键帧;
步骤12,获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长;
步骤13,根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置,N为正整数;
步骤14,计算得到各过渡帧的动作数据,其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,1≤i≤N-1,i为正整数;
步骤15,基于N个过渡帧的动作数据以及位置,生成所述过渡动画。
在具体实施中,步骤11中获取起始关键帧以及结束关键帧,可以通过多种方式获取得到。步骤11还可以同时获取到起始关键帧的动作数据以及结束关键帧的动作数据。
在一些非限制性实施例中,起始关键帧以及结束关键帧可以预先给出。例如,在动画编辑场景中,给出两个动作对应的图像帧,按照两个动作帧出现的先后顺序,将先出现动作对应的图像帧作为起始关键帧,将后出现的动作对应的图像帧作为结束关键帧。作为一个举例,给出两个动作“走”和“跑”对应的图像帧,期望先走后跑,则将动作“走”对应的图像帧作为起始关键帧,将动作“跑”对应的图像帧作为结束关键帧。
在另一些非限制性实施例中,获取第一动画序列及第二动画序列,其中,所述第一动画序列在所述空白时间段之前,所述第二动画序列在所述空白时间段之后;将所述第一动画序列的结束帧作为所述起始关键帧,将所述第二动画序列的开始帧作为所述结束关键帧。
其中,第一动画序列及第二动画序列可以通过多种方式获取得到。第一动画序列包括至少一个动作。第二动画序列包括至少一个动作。一个动作可以包括至少一帧动作数据。
第一动画序列及第二动画序列可以选自基于文本生成的动画。关于基于文本生成动画的具体流程,下面结合图2给出的本发明实施例中的一种基于文本生成动画的流程图进行说明,具体可以包括如下步骤:
步骤21,获取文本;
步骤22,对所述文本进行分词处理,得到初始集合,所述初始集合包括一个或多个词;
步骤23,判断所述初始集合中的每个词是否为目标词,如果是,则将该目标词加入目标集合,所述目标词指的是与预设标签集中至少一个标签的相似度值大于等于设定相似度阈值的词,所述预设标签集包括多个预设的标签;
步骤24,根据所述目标集合中各个目标词对应的标签,从预设的动作数据库中获取各个目标词的动作数据,所述动作数据库用于存储各个标签对应的动作数据,每个标签对应至少一组动作数据;基于获取到的各个目标词匹配的动作数据,生成所述文本对应的动作集合;
步骤25,基于所述动作集合生成所述文本对应的动画;
步骤26,从所述文本对应的动画中获取所述第一动画序列及所述第二动画序列。
进一步,还可以将所述第一动画序列、所述过渡动画及所述第二动画序列进行组合,得到所述文本对应的动画。
在具体实施中,步骤21中的文本可以为输入的文本,也可以为基于语音得到的文本。其中,文本可以来自于观众,直播对象或者视频编辑者、虚拟人讲解员等。
在一些实施例中,根据文本生成动画视频场景中,文本可以为虚拟人讲解用的台词。关于台词的具体内容可以根据实际需求场景进行预先设置。
在直播领域,文本可以为直播中常用的台词。关于台词的具体内容可以根据实际直播场景进行预先设置或者实时输入。
在一些实施例中,在直播场景中,可以通过人机交互界面输入文本。
在另一些实施例中,预设有常用的文本,并存储,所获取的文本可以为用户选中的文本。
在又一些实施例中,在人机交互界面设置有多种类型的操作键,不同的操作按键分别关联有对应的文本。当点击或触摸操作键时,获取得到对应的文本。例如,操作键为问好键,当点击或触摸问好键时,得到问好文本。又如,操作键为比心键,当点击或触摸比心键时,得到比心文本。
在步骤22的具体实施中,对文本进行分词处理,得到分词结果,对分词结果进行词配对,基于词配对结果得到初始集合。
在一个非限制性实施例中,可以以字符为单位对文本中的句子进行断开,得到分词结果。以文本“你好,我是小明。”为例,对文本进行分词处理,获得的分词结果为“你/好/,我/是/小/明。”。也可以以词为单位对文本中的句子进行断开,得到分词结果,获得的分词结果为:“你/好/,我/是/小明。”。需要说明的是,本发明实施例中的分词指广义的分词,指将文本分成多个片段,以字符为单位,得到的各个片段均是字符;以词为单位,各个片段则为词,词可以由一个字符组成,也可以由多个字符组成。
进一步,为了得到准确的词边界,通过词配对可以将细粒度的分词变成粗粒度的分词,以得到合适粒度的分词结果,如此,可以有助于匹配法得到准确的词边界,以准确的触发动作时间轴位置,也即目标词在时间轴的位置。
在一个非限制性实施例中,可以通过采用如下方式得到初始集合。具体而言,将所述文本输入一个预先训练好的语言模型中,获得每个字符对应的向量,字符的数目与向量的数目相同,也即有几个字符就有几个向量。对于中文而言,一个字记为一个字符,一个标点符号也可以作为一个字符。其中,语言模型可选择任何输出字向量的基于transformer的语言模型,例如roformer模型、BERT模型以及albert模型等。
其中,BERT模型的全称是基于Transformer的双向编码器(BidirectionalEncoder Representations from Transformer,简称BERT),是一个与训练的语言模型。
例如,文本“你好,我是小明。”,“你”对应向量T1,“好”对应向量T2……“。”对应向量T8,以此类推,具有T1-T8共8个向量。
上述语言模型可以基于自监督在大规模语料上训练得到。训练任务主要是完型填空,遮住一个字符/词,通过上下文预测遮住的是什么,于是语言模型能学到语言的规律,以及它的输出本来设定好就是对于每个输入单元(若文本的语言为中文,则往往是字符)输出一个向量。
例如,向语言模型输入为“()好,我是小明。”。输出结果是:“(你)好,我是小明。”。然后将输出的结果与正确的比较,调整语言模型,对语言模型进行训练。待语言模型训练完成之后,向语言模型输入“你好,我是小明。”,则可以得到T1-T8共8个向量。其中,语言模型输出是向量,输出的向量和输入的字符存在对应关系。
生成输入文本对应的长度是N’的字节片段序列(N-gram)。N-gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N’的滑动窗口操作,形成了长度是N’的字节片段序列。每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,关键gram列表中的每一种gram就是一个特征向量维度。
常用的是二元的Bi-Gram和三元的Tri-Gram。二元的Bi-Gram为二元分词,把句子从头到尾每两个字符/词组成一个词语。三元的Tri-Gram为三元分词,把句子从头到尾每三个字符/词组成一个词语。通过词配对可以得到词配对,基于词配对得到初始集合。初始集合包括一元分词、二元分词、……、N元分词。
以文本“你好,我是小明。”为例。例如,若对文本分词时按字符分开,对分词后的词向量T1-T8生成词配对,假设N=3,则得到的词配对为:<你好,>,<好,我>,<我是小>,<是小明>,<小明。>。初始集合包括<你好,>,<好,我>,<我是小>,<是小明>,<小明。>。
又如,若对文本以词为单位进行分词,得到的分词结果为:你/好/,我/是/小明,假设N=3,则得到的词配对为:<你好,>,<好,我>,<我是小明>,<是小明。>。初始结合包括:<你好,>,<好,我>,<我是小明>,<是小明。>。
在步骤23的具体实施中,针对初始集合中的每个词,将每个词的向量与每个标签的向量分别进行相似度比较,来判断每个词是否为目标词。
针对初始集合中的每个词,可以采用如下方式得到每个词的向量:针对每个词,获取每个词中所包含的所有字符的向量,将每个词中所有字符对应的向量进行加权平均,将加权平均后的向量作为每个词的向量。
例如,“你好,”,“你”对应的字符向量为T1,“好”对应的字符向量为T3,“,”对应的字向量为T3,则“你好,”的词向量为(T1+T2+T3)/3。
又如,“是小明”,“是”对应的字符向量为T5,“小明”对应的词向量为T9,,则“是小明”的词向量为(T4+T9)/2,T9可以等于(T6+T7)/2。
在具体实施中,预设标签集可以包括多个预设的标签。标签是产品事先定义的。标签用于描述语言的语义,不同的标签代表不同语义,同时标签与动作预先配对,所谓的标签与动作进行配对,可以为标签与对应的动作数据的配对,从而通过标签可以查找得到对应的动作数据。标签可以为问好,告别,点赞,感谢等。可以理解的是,还可以为其他标签,具体根据需求进行配置即可。
每个标签可以对应于一组动作数据,也可以对应多组动作数据。例如,问好标签可以对应的动作数据可以为单手挥手问好的动作数据,也可以双手挥手问好的动作数据。一组动作数据可以包括一帧的动作数据,也可以包括多帧的动作数据。
在具体实施中,可以采用如下方式得到所述标签的向量:获取每个标签对应的关键词;根据每个标签对应的关键词的向量,得到每个标签的向量。
在具体实施中,标签可以对应一个关键词,也可以对应多个关键词。当标签对应一个关键词时,标签的向量则为该关键词的向量。当标签对应多个关键词时,标签的向量为多个,分别是多个关键词对应的向量。标签对应的向量的数目与关键词的数目相同。
例如,问好标签对应的关键词可以包括:你好,你好呀,中午好,晚上好等。则问好标签的向量为四个。又如,感谢标签对应的关键词可以包括:谢谢,非常感谢等。感谢标签的向量为两个。
进一步,为了提高词与标签匹配的准确度,可以为标签对应的关键词提供对应的例句,其中例句中包括关键词。通过为标签配置例句,可以有效地消除歧义,提高匹配的准确性。
当标签的关键词对应有例句时,可以将例句输入至语言模型中,得到例句中关键词对应的向量,并将关键词在例句中的向量作为标签的向量。
在判断初始集合中的词是否为目标词时,针对每个词,将该词与各个标签进行相似度比较。具体而言,将该词的向量与各个标签的向量进行相似度比较。若标签对应多个向量,则将该词的向量与标签的多个向量依次进行相似度比较。
例如,预设标签集包括两个标签,问好标签和感谢标签。问好标签对应四个向量,感谢标签对应两个向量。对于初始集合中的每个词,分别需要与六个向量(问好标签对应的四个向量和感谢标签对应的两个向量)进行相似度比较。
对初始集合中的每个词与预设标签集中的每个标签进行相似度计算时,可以采用矩阵计算的方式进行计算,也可以采用一个词与标签的一个向量进行逐个计算的方式,此处不作限定。
在一些实施例中,将所述初始集合中与标签的相似度值大于等于所述相似度阈值的词,作为目标词,将所得到的目标词加入目标集合,目标集合中的词均是与标签相匹配的词。
上述方式得到的目标集合中可以存在某个标签对应的目标词可以为多个,且多个目标词中存在一些字符上的重叠。此时需要从多个词中选择出一个与标签最匹配的词。为此,在本发明另一些实施例中,可以采用如下方式得到目标集合。可以基于非最大化抑制(Non Maximum Suppression)得到目标集合。具体而言,参照图3,给出了图2中步骤23的一个具体实施方式的流程图,步骤23具体包括:
S1,将所述初始集合中与标签的相似度值大于等于所述相似度阈值的词加入候选集合。
在具体实施中,可以采用余弦相似度计算目标词与标签的相似度,也可以采用欧几里得距离计算目标词与标签的相似度,还可以采用曼哈顿距离计算目标词与标签的相似度。可以理解的是,还可以采用其他合适的算法计算计算目标词与标签的相似度,此处不再一一举例。
S2,将所述候选集合中相似度值最大的词作为参照词,并放入成功匹配集合中,将所述候选集合中的剩余词与所述参照词进行比较。
将所述候选集合中的剩余词与所述参照词进行比较,包括相似度值的比较以及剩余词的词的开始至词的结束之间与参照词是否有重叠字的词。
S3,从所述候选集合中剔除相似度值小于所述参照词,且与所述参照词之间存在重叠字的词,并更新所述候选集合。
S4,重复上述S2及S3,直至所述候选集合为空集,将所述成功匹配集合作为所述目标集合。
进一步,在一些非限制性实施中,还可以对初始集合做如下处理:将所述初始集合中的每个词与第一特定集合中的第一特定词进行匹配,所述第一特定词为不进行标签匹配的词,从所述初始集合中剔除与所述第一特定词相同或者属于所述第一特征词的子集的词。
进一步,在另一些非限制性实施例中,还可以对目标集合做如下处理:将所述目标集合中的每个词与第一特定集合中的第一特定词进行匹配,所述第一特定词为不进行标签匹配的词,从所述目标集合中剔除与所述第一特定词相同或者属于所述第一特征词的子集的词。
其中,第一特定集合中的第一特定词为不想匹配的词,任何属于这个词的子集都不匹配。子集为当下这个词里出现的子集。例如,第一特定次为“要不要”,那么“不要”作为“要不要”的子集,则也不与标签进行匹配。
进一步,在又一些非限制性实施例中,还可以对初始集合或者所述目标集合做如下处理:利用正则匹配方式,将所述文本与第二特定集合中的第二特定词进行匹配,得到强制匹配集合,所述强制匹配集合包括一个或多个强制匹配词,所述第二特定词为强制匹配词;若所述强制匹配词与所述初始集合或者所述目标集合中的词具有字重叠,将具有字重叠的强制匹配词覆盖所述初始集合或者所述目标集合中的词。
其中,第二特定集合中的第二特定词为流行语或者网络语言。这种流行语或者网络语言通常模型匹配不上,采用正则匹配方式,可以提高得到的初始集合或者所述目标集合中的词的准确性。一般来说,现在有很多的网络用语会用带有一定的歧义性,例如旧的词新的用法,还有一些不具有正式中文语义的或者一些省略的用法和错误的用法,另外还存在一些新造的词语,训练预料中没有,这三种情况会导致匹配遗漏或者匹配错误。
动作数据库可以根据实际应用场景需求预先设定。各个标签对应的动作数据可以预先设置。当目标词符合某个标签时,则从动作数据库中获取所符合标签对应的动作数据,将获取的动作数据作为目标词对应的动作数据。一个标签可以对应一组动作数据,也可以对应多组动作数据。
当目标词对应的标签对应多组动作数据时,可以根据从多组动作数据中随机选择一组动作数据作为该目标词对应的动作数据,也可以基于其他目标词的类型或者所选的动作数据来确定该目标词的动作数据,也可以基于该目标词在一定时长出现或者曾经选择的动作数据,确定本次选择的动作数据。例如,本次可以选择与曾经选择的动作数据不同的动作数据。然后根据选择的动作数据生成动画序列。
在步骤12的一个具体实施中,可以采用如下方式获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长。参照图4,给出了图1中步骤12的一个具体实施方式的流程图。具体而言,步骤12可以包括如下步骤:
步骤41,将所述文本转换成语音,并确定各个目标词在所述语音中的位置。
步骤42,基于所述各个目标词在所述语音中的位置,确定所述起始关键帧的位置以及所述结束关键帧的位置。
步骤43,根据所述起始关键帧的位置及所述结束关键帧的位置,确定所述空白时间段的空白时长。
其中,各个目标词在所述语音中的位置为各个目标词在语音中的时间位置,时间位置也可以为时刻点。在语音中,说完一个目标词通常会占用一定的时长,从而,各个目标词在语音中具有开始时刻及结束时刻,也即在语音的整段时长中,目标词的实际位置对应为时间段。
在本发明实施例中,目标词在语音中的位置可以为目标词在语音中的开始时刻至目标词的结束时刻,还可以为目标词在语音中的开始时刻至目标词的结束时刻之间的任一时刻(如取开始时刻至目标词的结束时刻之间的中间时刻)。
在一些非限制性实施例中,当目标词在语音中的位置可以为目标词在语音中的开始时刻至目标词的结束时刻时,起始关键帧的位置可以为起始关键帧对应的目标词的结束时刻,结束关键帧的位置可以为结束关键帧对应的目标词的开始时刻。此时,起始关键帧对应的目标词的结束时刻与结束关键帧对应的目标词的开始时刻之间的时间段即为空白时间段,该时间段对应的时长即为空白时长。
在一个非限制性实施例中,起始关键帧的位置可以为起始关键帧对应的目标词的对应的动作的结束时刻,结束关键帧的位置可以为结束关键帧对应的目标词的开始时刻。此时,起始关键帧对应的目标词的对应的动作的结束时刻与结束关键帧对应的目标词的开始时刻之间的时间段即为空白时间段,该时间段对应的时长即为空白时长。
当目标词的位置为目标词在语音中的开始时刻至目标词的结束时刻之间的任一时刻时,起始关键帧的位置为起始关键帧对应的目标词的时刻,结束关键帧的位置可以为结束关键帧对应的目标词的时刻。此时,起始关键帧对应的目标词的时刻与结束关键帧对应的目标词的时刻之间的时间段即为空白时间段,该时间段对应的时长即为空白时长。
在一个实施例中,起始关键帧和结束关键帧的数目为多帧时,起始关键帧的位置,即起始时刻,为第一帧起始关键帧对应的时刻,结束关键帧的位置,即结束时刻,为最后一帧结束关键帧对应的时刻,如此可以提高所得到的过渡动画的动作过渡比较自然顺畅。
在步骤12的另一个非限制性实施中,可以采用如下方式获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长。
预设数据库中存储有多个动画片段,每个动画片段具有起始帧及结束帧,以及融合的两个动画片段之间的融合时长。其中,每个融合的两个动画片段可以分别记为前一动画片段和后一动画片段,其中,前一动画片段在后一动画片段之前。
将第一动画序列及第二动画序列与预设数据库中融合的动画片段进行相似度比对。即将第一动画序列的结束关键帧与融合的动画片段中前一动画片段的结束帧进行相似度比对,将第二动画序列的起始关键帧与融合的动画片段中后一动画片段的起始帧进行相似度比较。根据相似度值大于设定阈值的融合的动画片段所对应的融合时长,得到起始关键帧及所述结束关键帧之间的空白时长。
例如,当相似度值大于设定阈值的融合的动画片段的数目为一个时,将相似度值大于设定阈值的动画片段对应的融合时长作为起始关键帧及所述结束关键帧之间的空白时长。
又如,当相似度值大于设定阈值的融合的动画片段的数目为多个时,将多个相似度值大于设定阈值的融合的动画片段对应的融合时长的均值作为起始关键帧及所述结束关键帧之间的空白时长。
再如,当相似度值大于设定阈值的融合的动画片段的数目为多个时,获取多个相似度值大于设定阈值的融合的动画片段的起始帧的位置和旋转角、结束帧的位置和旋转角以及对应的融合时长,建立矩阵方程Px+Q=T,其中,P及Q为未知数,x为位置和旋转角,T为融合时长。通过根据相似度值大于设定阈值的融合的动画片段的起始帧的位置及旋转角,结束帧的位置和旋转角以及动画片段之间的融合时长,可以求解得到P及Q。将起始关键帧的位置和旋转角以及所述结束关键帧的位置和旋转角代入Px+Q=T中,即可得到T的取值,T即为起始关键帧及所述结束关键帧之间的空白时长。
在具体实施中,上述起始帧的数目可以为一帧,也可以为多帧。上述结束帧的数目可以为一帧,以可以为多帧。当起始帧为一帧时,起始关键帧为一帧,当起始帧为多帧时,起始关键帧为多帧,当结束帧为一帧时,结束关键帧为一帧,当结束帧为多帧时,结束关键帧为多帧。
例如,建立一个数据库,数据库中的每一个动画序列由若干个动画片段串接形成,以及人工标识出的每两个动画片段之间动作融合的融合时长。例如,数据库中有动画片段A、B、C、D、E,F。动画片段A的起始帧As,结束帧为Ae,其他同理。动画片段A的结束帧Ae→动画片段B的起始帧Bs的融合时长t1,动画片段B的结束帧Be→动画片段C的起始帧Cs的融合时长t2,动画片段C的开始帧Ce→动画片段D的起始帧Ds的融合时长t3,动画片段D的开始帧De→动画片段E的起始帧Es融合时长t4,动画片段E的开始帧Ee→动画片段F的起始帧Fs融合时长t5。
若现有动画片段A’→B’需要进行动作融合,起始关键帧为A’e,结束关键帧为B’s,要获取动画片段A’→B’的空白时长。在数据库中寻找与起始关键帧A’e相似的结束帧,与结束关键帧B’s相似的开始帧,相似的个数K可以根据需求进行设置,例如为3个。假设,找到最为相似的三个为(Ae,Bs,t1),(Ce,Ds,t3),(Ee,Fs,t5)。
动画片段A’→B’的空白时长t可以取时间均值,t=(t1+t3+t5)/3。
动画片段A’→B’的空白时长t也可以采用建立矩阵Px+Q=T的方式得到。
x1为Ae帧和Bs帧中的位置和旋转角建立的矩阵,T1为t1。
x2为Ce帧和Ds帧中的位置和旋转角建立的矩阵,T2为t3。
x3为Ee帧和Fs帧中的位置和旋转角建立的矩阵,T3为t5。
根据上述方程求解出P和Q,根据求解出的P和Q,计算A’e与B’s之间的时间间隔,也即得到空白时长。
在步骤12的另一个具体实施中,可以采用如下方式获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长。参照图5,给出图1中步骤12的另一个具体实施方式的流程图。具体而言,步骤12可以包括如下步骤:
步骤51,根据所述第一动画序列中的两相邻帧中骨骼的位移偏差以及两相邻帧的时间间隔,计算第一速度。
步骤52,根据所述第二动画序列中两相邻帧中骨骼的位移偏差以及两相邻帧的时间间隔,计算第二速度。
步骤53,根据所述起始关键帧中骨骼的位移及所述结束关键帧中骨骼的位移,计算所述结束关键帧及所述起始关键帧中骨骼的位移偏差。
步骤54,根据所述第一速度、所述第二速度以及所述结束关键帧及所述起始关键帧中骨骼的位移偏差,计算得到所述空白时长。
在具体实施中,动画序列是一段动作,连续的每一帧动作数据成为动画序列。动画序列与每秒传输的帧数(fps)相关,如fps=60,即每秒传输的帧数为60帧,则1s的动画序列有60帧的动作数据。起始帧是动画序列的开始,结束帧是动画序列的结束。
在一些实施例中,每一帧动作数据可以通过骨骼的位移与骨骼的旋转角进行表示。骨骼是预先定义的,可以采用根骨骼与其他骨骼进行表示,其中根骨骼无父节点,除了根骨骼,其他骨骼均有父节点,这些父子关系定义了骨骼间的层级关系。根骨骼的位置信息为在世界坐标系的位置信息,其他骨骼有自己的局部坐标系,局部坐标系定义了骨骼与世界坐标系的转换关系。
所有骨骼的位移与旋转角构成了每一帧动作数据,也即每一帧动作数据可以通过所有骨骼的位移与旋转角进行表示。其中,骨骼的位移指的是骨骼相对于父节点的位置变化。旋转角指的是每一个骨骼在其局部坐标系下的旋转变化。位移与旋转角需要与骨骼相关联才能够有意义,也即通过位移与旋转角的结合确定动作。对于每个骨骼,其有一些属性可以改变,属性可以包括位移和旋转角,也即不同动作对应的骨骼的位移和旋转角不同。
在步骤51中,在计算第一速度时,可以取第一动画序列中的两相邻帧,根据相邻帧中的骨骼的位移,计算两相邻帧的骨骼的位移偏差,根据第一动画序列的帧率可以确定两相邻帧的时间间隔,将位移偏差与时间间隔做除法运算,得到的商记为第一速度。
进一步,为了提高第一速度确定的精确度,在一些实施例中,可以选取多组相邻帧,将每两个相邻帧作为一个分组,采用上述步骤51提供的方式计算第一速度,得到每个分组分别对应的第一速度。将第一速度的平均值作为第一动画序列的第一速度。
进一步,为了提高第一速度确定的精确度,在另一些实施例中,可以从第一动画序列的后半部分选取两相邻帧。由于第一动画序列的后半部分与结束关键帧相对较近,从而可以提高第一速度预估的精确性,提高所得到的过渡动画的平滑性和流畅性。
在步骤52中,在计算第二速度时,可以取第二动画序列中的两相邻帧,根据相邻帧中的骨骼的位移,计算两相邻帧的骨骼的位移偏差,根据第二动画序列的帧率可以确定两相邻帧的时间间隔,将位移偏差与时间间隔做除法运算,得到的商记为第二速度。
进一步,为了提高第二速度确定的精确度,在一些实施例中,可以选取多组相邻帧,将每两个相邻帧作为一个分组,采用上述步骤52提供的方式计算第二速度,得到每个分组分别对应的第二速度。将第二速度的平均值作为第二动画序列的第二速度。
进一步,为了提高第二速度确定的精确度,在另一些实施例中,可以从第二动画序列的前半部分选取两相邻帧。由于第二动画序列的前半部分与开始关键帧相对较近,从而可以提高第二速度预估的精确性,提高所得到的过渡动画的平滑性和流畅性。
在步骤54中,在计算空白时长时,可以有多种计算方式。
例如,根据所述结束关键帧及所述起始关键帧中骨骼的位移偏差以及第一速度,计算第一时长。根据所述结束关键帧及所述起始关键帧中骨骼的位移偏差与第二速度,计算第二时长。空白时长处于第一时长与第二时长之间。若第一时长小于第二时长,则空白时长大于等于第一时长,且小于等于第二时长。若第一时长大于第二时长,则空白时长大于等于第二时长,且小于等于第一时长。若第一时长等于第二时长,则空白时长等于第一时长。
进一步,可以对第一时长与第二时长进行加权,得到加权时长,将加权时长作为空白时长。第一时长与第二时长对应的加权权重可以根据对空白时长的长短需求、第一动画序列对应动作的类型、第二动画序列对应的动作类型等确定。
又如,对第一速度和第二速度进行加权,得到加权速度,将结束关键帧及所述起始关键帧中骨骼的位移偏差与加权速度进行除法运算,具体而言,将所述结束关键帧及所述起始关键帧中骨骼的位移偏差除以加权速度,将得到的商作为空白时长。
可以理解的是,在上述给出的计算空白时长实施例的基础上,还有其他变形实施例,均属于本发明实施例的保护范围,此处不再一一举例。
由上可知,在本发明实施例中,通过获取起始关键帧及结束关键帧,以及获取起始关键帧及结束关键帧之间空白时间段的空白时长,根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置。其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到。由此,基于N个过渡帧的动作数据以及位置,生成所述过渡动画。从而实现根据起始关键帧及结束关键帧以及两者之间空白时间段的空白时长,确定过渡动画的总帧数N以及各过渡帧的位置,进而实现过渡动画的自动生成,以提高过渡动画的生成效率并能够满足实时运行场景的需求。
在具体实施中,步骤14中,可以采用动作数据生成网络模型计算得到各过渡帧的动作数据。具体而言,参照图6,给出了图1中步骤14的一个具体实施方式的流程图,步骤14具体可以包括如下步骤:
步骤141,所述动作数据生成网络模型根据所述起始关键帧的动作数据对应的起始向量、所述结束关键帧的动作数据对应的结束向量以及第一个过渡帧的位置向量和第零隐变量,生成第一隐变量以及第一个过渡帧的第一向量,所述第一向量用于指示所述第一个过渡帧的动作数据。
其中,每一帧的位置向量用于表征每一帧的序号。具体可以将每一帧的序号转化为数学表达的向量,成为每一帧的位置向量。
在一些实施例中,每一帧动作数据可以通过骨骼的位移与骨骼的旋转角进行表示,骨骼的位移与骨骼的旋转角可以用向量表示。
步骤142,所述动作数据生成网络模型根据第i隐变量、第i个过渡帧的第i向量、所述结束向量以及第i+1个过渡帧的位置向量,得到第i+1个过渡帧的第i+1向量。
为便于理解,下面结合图7给出的本发明实施例中的一种动作数据的生成原理图,下面结合图6及图7,对动作数据的生成过程进行说明。
将起始关键帧的动作数据以及结束关键帧的动作数据输入至动作数据生成网络模型(图7中简称为生成网络),其中,过渡动画的总帧数N以及各过渡帧的位置可以通过参数配置的方式告知生成网络。
生成网络根据起始关键帧的动作数据对应的起始向量(图7中简称为起始向量)、结束关键帧的动作数据对应的结束向量(图7中简称为结束向量)以及第一个过渡帧的位置向量(图7中简称为第一帧位置向量)和第零隐变量,得到第一个过渡帧的第一向量以及第一隐变量;
生成网络根据第一隐变量、第一向量、结束向量以及第二个过渡帧的位置向量(图7中简称为第二帧位置向量),得到第二过渡帧的第二向量以及第二隐变量。
生成网络根据第二隐变量、第二向量、结束向量以及第三个过渡帧的位置向量(图7中简称为第三帧位置向量),得到第三过渡帧的第三向量以及第三隐变量。
以此类推,生成网络根据第N-1隐变量、第N-1向量、结束向量以及第N个过渡帧的位置向量(图7中简称为第N帧位置向量),得到第N过渡帧的第N向量。相应地,同时得到第N隐变量。
以此,得到各个过渡帧的向量,从而得到各个过渡帧的动作数据。
在另一实施例中,上述步骤14中的第i+1个过渡帧的动作数据可以采用如下方式得到:第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i-j至第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,j为自然数,i>j。
在一些实施例中,起始关键帧可以为一帧,也可以为多帧。结束关键帧可以为一帧,也可以为多帧。
当j的取值为零时,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到。
当j大于零时,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i-j个过渡帧的动作数据、……第i-1个过渡帧的动作数据、第i个过渡帧的动作数据、以及第i+1个过渡帧的位置得到。
在一些实施例中,j的取值可以等于起始关键帧的帧数,也可以不等于起始关键帧的帧数。
在一些实施例中,j的取值可以等于结束键帧的帧数,也可以不等于结束关键帧的帧数。
在一些实施例中,起始关键帧的帧数与结束关键帧的帧数相同。
在一些实施例中,j的取值、起始关键帧的帧数以及结束关键帧的帧数相同。
例如,以j=3为例,对动作数据的生成过程进行说明。起始关键帧为3帧,结束关键帧为3帧,生成网络根据3帧起始关键帧的动作数据分别对应的第-2起始向量、第-1起始向量以及第0起始向量、3帧结束关键帧的动作数据对应的结束向量以及第一个过渡帧的位置向量和第零隐变量,得到第一个过渡帧的第一向量以及第一隐变量;
生成网络根据第一隐变量、第-1起始向量,第0起始向量,第一向量、3帧结束向量以及第二个过渡帧的位置向量,得到第二过渡帧的第二向量以及第二隐变量。
以此类推,生成网络根据第N-1隐变量、第N-3向量,第N-2向量,第N-1向量、结束向量以及第N个过渡帧的位置向量,得到第N过渡帧的第N向量。相应地,同时得到第N隐变量。
在具体实施中,参照图8,给出了本发明实施例中的一种动作数据生成网络模型的训练流程图,关于动作数据生成网络模型的训练具体可以包括如下步骤:
步骤81,获取训练样本集,所述训练样本集包括多个训练样本,所述训练样本为动画序列片段。
在具体实施中,关于训练样本集中的各个训练样本可以由多种方式获取得到。例如,由运动捕捉系统或者动画师制作不同关键动作之间的过渡动画序列数据,为0.5-5s左右的动画序列片段。关键动作可以为:拍手、比心、向左指、向右指、点赞、走、跑、跳等。关键动作还可以根据实际应用场景需求进行配置,此处不再一一举例。数据库中有多段动画序列片段。
各个训练样本所对应的动作数据可以通过如下方式获取得到。关于动作数据中的骨骼可以由模型师、绑定师建立。动作数据中的旋转角可以通过演员表演获取得到,也可以通过动画师手k(手工制作关键帧)获取得到。
步骤82,针对每个训练样本,从所述训练样本的每帧动作中提取出动作数据。
在具体实施中,在动画序列片段中的每一帧动作中提取出动作数据。以动作数据包括骨骼的位置和骨骼的旋转角为例,可以采用向量来表示动作数据中的骨骼的位移和骨骼的旋转角。
步骤83,将每个训练样本的第一帧作为起始帧,将最后一帧作为结束帧,根据所述起始帧与所述结束帧之间的时间间隔,确定待预测的过渡动画的总帧数。
在具体实施中,若帧率为30fps,某一训练样本的时长为2秒(s),则该训练样本共60帧,训练样本的第一帧作为起始帧,将最后一帧(第60帧)作为结束帧,预测第2帧至第59帧预测帧的动作数据。
步骤84,在第m次迭代训练过程中,基于有监督学习的训练方式,将所述训练样本集中的部分或全部训练样本输入至第m-1次迭代训练得到的网络模型,基于预测的预测结果与真实结果的偏差的得到第一损失,基于无监督学习的训练方式,将所述训练样本集中的部分或全部训练样本输入所述第m-1次迭代得到的网络模型,得到对抗损失。
在具体实施中,所述动作数据包括骨骼的位移及骨骼的旋转角,所述预测结果包括每个预测帧的骨骼的预测位移及每个预测帧的骨骼的预测旋转角,所述真实结果包括标注帧的骨骼的真实位移及骨骼的真实旋转角。
在一些实施例中,计算骨骼的预测位移与所述骨骼的真实位移的第一偏差,所述骨骼的预测旋转角与所述骨骼的真实旋转角的第二偏差,将所述第一偏差及所述第二偏差之和作为所述第一损失。
在另一些实施例中,计算骨骼的预测位移与所述骨骼的真实位移的第一偏差,所述骨骼的预测旋转角与所述骨骼的真实旋转角的第二偏差,根据所述骨骼的预测位移及骨骼的预测旋转角确定骨骼的预测位置,计算所述骨骼的预测位置与骨骼的真实位置的第三偏差,将所述第一偏差、所述第二偏差以及所述第三偏差之和,作为所述第一损失。
在一些非限制性实施例中,可以基于预测的预测结果与真实结果的偏差得到第一损失。具体而言,计算每个预测帧的骨骼的预测位移与骨骼的真实位移的偏差,每个预测帧的骨骼的预测旋转角与骨骼的真实旋转角的偏差,对所有预测帧的骨骼的预测位移与骨骼的真实位移的偏差求和得到第一偏差,对所有预测帧的骨骼的预测旋转角与骨骼的真实旋转角的偏差求和得到第二偏差,将所述第一偏差及所述第二偏差之和作为所述第一损失。
在另一些非限制性实施例中,计算所有预测帧的骨骼的预测位移与所述骨骼的真实位移的第一偏差,所有预测帧的骨骼的预测旋转角与所述骨骼的真实旋转角的第二偏差,根据所述骨骼的预测位移及骨骼的预测旋转角确定骨骼的预测位置,根据骨骼的真实位移和骨骼的真实旋转角确定骨骼的真实位置,计算所有预测帧骨骼的预测位置与骨骼的真实位置的第三偏差,将所述第一偏差、所述第二偏差以及所述第三偏差之和,作为所述第一损失。
其中,可以采用曼哈顿距离计算第一偏差、第二偏差或者第三偏差。也可以采用欧式距离计算第一偏差、第二偏差或者第三偏差。
在一些实施例中,第一损失可以为参与有监督学习的训练的各个训练样本的第一偏差与第二偏差的和。第一损失也可以为参与有监督学习的训练的各个训练样本的第一偏差的加权结果与第二偏差的加权结果的和。
在另一些实施例中,第一损失可以为参与有监督学习的训练的各个训练样本的第一偏差、第二偏差以及第三偏差的和。第一损失也可以为参与有监督学习的训练的各个训练样本的第一偏差的加权结果、第二偏差的加权结果以及第三偏差的加权结果的和。
步骤85,根据所述第一损失以及所述对抗损失,调整所述第m-1次迭代得到的网络模型的参数,得到第m次迭代得到的网络模型,以此迭代训练,直至第m+p次迭代得到的网络模型满足收敛条件,将所述第m+p次迭代得到的网络模型作为所述动作数据生成网络模型,其中,当m=1时,初始网络模型视为第0次迭代训练得到的网络模型。
在具体实施中,初始网络模型视为第0次迭代训练得到的网络模型,初始网络模型可以为循环神经网络(Recurrent Neural Network,RNN)。将起始向量(包括位置和旋转角)、结束向量(包括位置和旋转角)、第1帧的位置向量和第零隐变量,第一帧对应的第零隐变量是人工设置的,第零隐变量内容为0。输入到初始网络模型,输出第一帧的向量(位置和旋转角)和第一隐变量。以此类推,得到预测结果。例如,预测结果为预测到的第1-58帧的向量。其中,起始帧视为第0帧,结束帧视为第59帧,共计60帧。
在基于无监督学习的训练过程中,可以从训练样本集中随机挑选2个关键动作序列,在设定的时间范围内(例如1秒至2秒)之间随机选择一个时间作为空白时长,例如空白时长为1.5秒。网络模型根据关键动作序列和空白时长生成过渡动作序列,过渡动作序列包括多帧动作数据。例如,空白时长取1.5秒,帧率取30fps,则预测45-2=43帧过渡动作。
将起始帧的动作数据,生成的每一帧过渡动作数据,结束帧的动作数据放到判别网络(判别网络也会随同网络模型一起训练)中,生成对抗损失(Loss)。根据对抗损失调整生成网络参数,使用对抗损失,可以使预测得到的动作更光滑连贯。
在动作数据生成网络模型训练中,使用有监督学习与无监督学习一起训练:根据第一损失和对抗损失得到的总损失(LOSS)调整动作数据生成网络模型的参数,直到总损失收敛。加入对抗损失的优点在于使得动作数据生成网络生成的动画序列更为真实。
在动作数据生成网络模型的训练过程中,对于过渡动画的时长,是动态变化的。例如有时生成1.2s的过渡动画,有时生成0.8s的过渡动画,如此,可以来提升训练得到的动作数据生成网络模型的泛化能力。需要说明的是,上述举例所涉及的具体时长、帧率等仅是为了便于理解而做出的是举例,在实际中,可以根据实际需求设置其他取值,此处不再赘述。
在步骤15中,得到N个过渡帧的动作数据以及位置之后,可以按照各个过渡帧的位置,确定各个过渡帧的先后顺序,确定N个过渡帧的动作数据的顺序,进而通过时间戳对齐,渲染生成过渡动画。
本发明实施例还提供一种过渡动画的生成装置,参照图9,给出了本发明实施例中的一种过渡动画的生成装置的结构示意图,过渡动画的生成装置可以包括:
第一获取单元91,用于获取起始关键帧及结束关键帧;
第二获取单元92,用于获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长;
计算单元93,用于根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置,N为正整数;
动作数据生成单元94,用于计算得到各过渡帧的动作数据,其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,1≤i≤N-1,i为正整数;
过渡动画生成单元95,用于基于N个过渡帧的动作数据以及位置,生成所述过渡动画。
在具体实施中,过渡动画的生成装置90可以用于实现上述过渡动画的生成方法,关于过渡动画的生成装置90的具体结构以及工作原理,可以参见上述实施例中提供的过渡动画的生成方法中的描述,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一实施例提供的过渡动画的生成方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一实施例提供的过渡动画的生成方法的步骤。
所述存储器和所述处理器耦合,存储器可以位于终端内,也可以位于终端外。所述存储器和所述处理器可以通过通信总线连接。
终端可以包括但不限于手机、计算机、平板电脑等终端设备,还可以为服务器、云平台等。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二、第三等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
1.一种过渡动画的生成方法,其特征在于,包括:
获取起始关键帧及结束关键帧;
获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长;
根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置,N为正整数;
计算得到各过渡帧的动作数据,其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,1≤i≤N-1,i为正整数;
基于N个过渡帧的动作数据以及位置,生成所述过渡动画。
2.如权利要求1所述的过渡动画的生成方法,其特征在于,所述第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,包括:
第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i-j至第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,j为自然数,i>j。
3.如权利要求1所述的过渡动画的生成方法,其特征在于,所述计算得到各过渡帧的动作数据,包括:
采用动作数据生成网络模型计算得到各过渡帧的动作数据;
其中,所述动作数据生成网络模型根据所述起始关键帧的动作数据对应的起始向量、所述结束关键帧的动作数据对应的结束向量以及第一个过渡帧的位置向量和第零隐变量,生成第一隐变量以及第一个过渡帧的第一向量,所述第一向量用于指示所述第一个过渡帧的动作数据;
所述动作数据生成网络模型根据第i隐变量、第i个过渡帧的对应的第i向量、所述结束向量以及第i+1个过渡帧的位置向量,得到第i+1个过渡帧的第i+1向量。
4.如权利要求3所述的过渡动画的生成方法,其特征在于,所述动作数据生成网络模型采用如下方式训练得到:
获取训练样本集,所述训练样本集包括多个训练样本,所述训练样本为动画序列片段;
针对每个训练样本,从所述训练样本的每帧动作中提取出动作数据;
将每个训练样本的第一帧作为起始帧,将最后一帧作为结束帧,根据所述起始帧与所述结束帧之间的时间间隔,确定待预测的过渡动画的总帧数;在第m次迭代训练过程中,基于有监督学习的训练方式,将所述训练样本集中的部分或全部训练样本输入至第m-1次迭代训练得到的网络模型,基于预测的预测结果与真实结果的偏差得到第一损失,基于无监督学习的训练方式,将所述训练样本集中的部分或全部训练样本输入所述第m-1次迭代得到的网络模型,得到对抗损失;
根据所述第一损失以及所述对抗损失,调整所述第m-1次迭代得到的网络模型的参数,得到第m次迭代得到的网络模型,以此迭代训练,直至第m+p次迭代得到的网络模型满足收敛条件,将所述第m+p次迭代得到的网络模型作为所述动作数据生成网络模型,其中,当m=1时,初始网络模型视为第0次迭代训练得到的网络模型,m≥1,p≥0,m及p均为整数。
5.如权利要求4所述的过渡动画的生成方法,其特征在于,所述动作数据包括骨骼的位移及骨骼的旋转角,所述预测结果包括骨骼的预测位移及骨骼的预测旋转角,所述真实结果包括骨骼的真实位移及骨骼的真实旋转角,所述基于预测的预测结果与真实结果的偏差得到第一损失包括以下任一种:
计算骨骼的预测位移与所述骨骼的真实位移的第一偏差,所述骨骼的预测旋转角与所述骨骼的真实旋转角的第二偏差,将所述第一偏差及所述第二偏差之和作为所述第一损失;
或者,计算骨骼的预测位移与所述骨骼的真实位移的第一偏差,所述骨骼的预测旋转角与所述骨骼的真实旋转角的第二偏差,根据所述骨骼的预测位移及骨骼的预测旋转角确定骨骼的预测位置,计算所述骨骼的预测位置与骨骼的真实位置的第三偏差,将所述第一偏差、所述第二偏差以及所述第三偏差之和,作为所述第一损失。
6.如权利要求1所述的过渡动画的生成方法,其特征在于,所述获取起始关键帧及结束关键帧,包括:
获取第一动画序列及第二动画序列,其中,所述第一动画序列在所述空白时间段之前,所述第二动画序列在所述空白时间段之后;
将所述第一动画序列的结束帧作为所述起始关键帧,将所述第二动画序列的开始帧作为所述结束关键帧。
7.如权利要求6所述的过渡动画的生成方法,其特征在于,所述获取第一动画序列及第二动画序列,包括:
获取文本;
对所述文本进行分词处理,得到初始集合,所述初始集合包括一个或多个词;
判断所述初始集合中的每个词是否为目标词,如果是,则将该目标词加入目标集合,所述目标词指的是与预设标签集中至少一个标签的相似度值大于等于设定相似度阈值的词,所述预设标签集包括多个预设的标签;
根据所述目标集合中各个目标词对应的标签,从预设的动作数据库中获取各个目标词的动作数据,所述动作数据库用于存储各个标签对应的动作数据,每个标签对应至少一组动作数据;
基于获取到的各个目标词匹配的动作数据,生成所述文本对应的动作集合;
基于所述动作集合生成所述文本对应的动画;
从所述文本对应的动画中获取所述第一动画序列及所述第二动画序列。
8.如权利要求7所述的过渡动画的生成方法,其特征在于,所述获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长,包括:
将所述文本转换成语音,并确定各个目标词在所述语音中的位置;
基于所各个目标词在所述语音中的位置,确定所述起始关键帧的位置以及所述结束帧的位置;
根据所述起始关键帧的位置及所述结束关键帧的位置,确定所述空白时间段的空白时长。
9.如权利要求6所述的过渡动画的生成方法,其特征在于,所述获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长,包括:
根据所述第一动画序列中的两相邻帧中骨骼的位移偏差以及两相邻帧的时间间隔,计算第一速度;
根据所述第二动画序列中两相邻帧中骨骼的位移偏差以及两相邻帧的时间间隔,计算第二速度;
根据所述起始关键帧中骨骼的位移及所述结束关键帧中骨骼的位移,计算所述结束关键帧及所述起始关键帧中骨骼的位移偏差;
根据所述第一速度、所述第二速度以及所述结束关键帧及所述起始关键帧中骨骼的位移偏差,计算得到所述空白时长。
10.如权利要求6所述的过渡动画的生成方法,其特征在于,所述获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长,包括:
获取第一动画序列及第二动画序列,其中,所述第一动画序列在所述第二动画序列之前;
将第一动画序列及第二动画序列与预设数据库中融合的动画片段进行相似度比对;
根据相似度值大于设定阈值的融合的动画片段所对应的融合时长,得到所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长。
11.如权利要求6所述的过渡动画的生成方法,其特征在于,所述第一动画序列及所述第二动画序列基于文本得到,所述生成方法还包括:
将所述第一动画序列、所述过渡动画及所述第二动画序列进行组合,得到所述文本对应的动画。
12.一种过渡动画的生成装置,其特征在于,包括:
第一获取单元,用于获取起始关键帧及结束关键帧;
第二获取单元,用于获取所述起始关键帧及所述结束关键帧之间的空白时间段的空白时长;
计算单元,用于根据所述空白时长及预设的帧率,计算过渡动画的总帧数N以及各过渡帧的位置,N为正整数;
动作数据生成单元,用于计算得到各过渡帧的动作数据,其中,第一个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据以及第一个过渡帧的位置得到,第i+1个过渡帧的动作数据根据所述起始关键帧的动作数据、所述结束关键帧的动作数据、第i个过渡帧的动作数据以及第i+1个过渡帧的位置得到,1≤i≤N-1,i为正整数;
过渡动画生成单元,用于基于N个过渡帧的动作数据以及位置,生成所述过渡动画。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至11任一项所述的过渡动画的生成方法的步骤。
14.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至11中任一项所述的过渡动画的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211732310.3A CN116051688A (zh) | 2022-12-30 | 2022-12-30 | 过渡动画生成方法及装置、计算机可读存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211732310.3A CN116051688A (zh) | 2022-12-30 | 2022-12-30 | 过渡动画生成方法及装置、计算机可读存储介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116051688A true CN116051688A (zh) | 2023-05-02 |
Family
ID=86117641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211732310.3A Pending CN116051688A (zh) | 2022-12-30 | 2022-12-30 | 过渡动画生成方法及装置、计算机可读存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116051688A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993873A (zh) * | 2023-07-31 | 2023-11-03 | 支付宝(杭州)信息技术有限公司 | 一种数字人动作编排方法及装置 |
CN117315099A (zh) * | 2023-10-30 | 2023-12-29 | 深圳市黑屋文化创意有限公司 | 一种用于三维动画的画面数据处理系统及方法 |
-
2022
- 2022-12-30 CN CN202211732310.3A patent/CN116051688A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993873A (zh) * | 2023-07-31 | 2023-11-03 | 支付宝(杭州)信息技术有限公司 | 一种数字人动作编排方法及装置 |
CN116993873B (zh) * | 2023-07-31 | 2024-05-17 | 支付宝(杭州)信息技术有限公司 | 一种数字人动作编排方法及装置 |
CN117315099A (zh) * | 2023-10-30 | 2023-12-29 | 深圳市黑屋文化创意有限公司 | 一种用于三维动画的画面数据处理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112668671B (zh) | 预训练模型的获取方法和装置 | |
CN111832275B (zh) | 文本的创作方法、装置、设备以及存储介质 | |
CN112131988B (zh) | 确定虚拟人物唇形的方法、装置、设备和计算机存储介质 | |
CN108986186B (zh) | 文字转化视频的方法和系统 | |
CN109582767B (zh) | 对话系统处理方法、装置、设备及可读存储介质 | |
JP7170082B2 (ja) | 情報を生成するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
KR101855597B1 (ko) | 계층적 회귀 신경망을 이용하여 비디오 문절을 캡셔닝하기 위한 시스템 및 방법 | |
CN110364142B (zh) | 语音音素识别方法和装置、存储介质及电子装置 | |
CN116051688A (zh) | 过渡动画生成方法及装置、计算机可读存储介质、终端 | |
CN110807156A (zh) | 一种基于用户序列点击行为的兴趣推荐方法及系统 | |
CN108228576B (zh) | 文本翻译方法及装置 | |
CN110163181B (zh) | 手语识别方法及装置 | |
CN110335592B (zh) | 语音音素识别方法和装置、存储介质及电子装置 | |
CN112533051A (zh) | 弹幕信息显示方法、装置、计算机设备和存储介质 | |
WO2018196718A1 (zh) | 图像消歧方法、装置、存储介质和电子设备 | |
CN108304376B (zh) | 文本向量的确定方法、装置、存储介质及电子装置 | |
CN111709242A (zh) | 一种基于命名实体识别的中文标点符号添加方法 | |
Elakkiya et al. | Subunit sign modeling framework for continuous sign language recognition | |
CN114173188B (zh) | 视频生成方法、电子设备、存储介质和数字人服务器 | |
CN110059224B (zh) | 投影仪设备的视频检索方法、装置、设备及存储介质 | |
CN110852066B (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及系统 | |
CN112069361A (zh) | 一种基于多模态融合的视频描述文本生成方法 | |
CN116309965A (zh) | 动画生成方法及装置,计算机可读存储介质、终端 | |
CN113761843A (zh) | 语音编辑方法、电子设备及计算机可读存储介质 | |
Wu et al. | Hierarchical memory decoder for visual narrating |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |