CN114972591A - 动画生成模型的训练方法、动画生成方法和装置 - Google Patents

动画生成模型的训练方法、动画生成方法和装置 Download PDF

Info

Publication number
CN114972591A
CN114972591A CN202210680700.4A CN202210680700A CN114972591A CN 114972591 A CN114972591 A CN 114972591A CN 202210680700 A CN202210680700 A CN 202210680700A CN 114972591 A CN114972591 A CN 114972591A
Authority
CN
China
Prior art keywords
information
target
sample
model
training
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
Application number
CN202210680700.4A
Other languages
English (en)
Inventor
宋鸿涌
冯哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202210680700.4A priority Critical patent/CN114972591A/zh
Publication of CN114972591A publication Critical patent/CN114972591A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开涉及一种动画生成模型的训练方法、动画生成方法和装置,所述方法包括:根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息;针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。

Description

动画生成模型的训练方法、动画生成方法和装置
技术领域
本公开涉及计算机技术领域,具体地,涉及一种动画生成模型的训练方法、动画生成方法和装置。
背景技术
角色动画(Chracter Animation)技术是很多游戏的核心组件。相关技术中,在生成角色动画时通常是基于状态机或者Motion Matching(动作匹配)的方式。
在基于状态机进行角色动画生成时,通常是播放特定的动画片段,动画片段可以由动画师进行编辑得到,也可以通过动作捕捉设备进行采集。而使用状态机的角色动画系统往往结构非常复杂,且在上述方案中是播放固定的动画片段,难以适用于更多的场景,效果上难以难做到自然真实。基于Motion Matching进行角色动画生成时,则需要使用大量清洗过的动画,占用大量的内存空间,且检索动画时间长。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种虚拟对象的动画生成模型的训练方法,所述方法包括:
根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;
针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;
基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;
根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
第二方面,本公开提供一种虚拟对象的动画生成方法,所述方法包括:
获取虚拟对象对应的目标姿态信息和目标轨迹信息;
根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于第一方面所述的虚拟对象的动画生成模型的训练方法训练所得的模型;
根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
第三方面,本公开提供一种虚拟对象的动画生成模型的训练装置,所述装置包括:
第一生成模块,用于根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;
第一处理模块,用于针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;
确定模块,用于基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;
训练模块,用于根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
第四方面,本公开提供一种虚拟对象的动画生成装置,所述装置包括:
第二获取模块,用于获取虚拟对象对应的目标姿态信息和目标轨迹信息;
第二处理模块,用于根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于第一方面所述的虚拟对象的动画生成模型的训练方法训练所得的模型;
控制模块,用于根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
第五方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面或第二方面所述方法的步骤。
第六方面,本公开提供一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面或第二方面所述方法的步骤。
在上述技术方案中,可以基于预先获得的动捕数据自动生成训练样本集,从而基于该训练样本集中的各个样本对目标模型进行训练获得动画生成模型。并且该动画生成模型可以基于角色对象的姿态信息和轨迹信息对下一帧对应的姿态信息和轨迹信息进行预测,以生成角色动画。由此,通过上述技术方案无需播放特定的动画片段,从而可以大大提升基于动画生成模型生成的动画的多样性和流畅度,同时将动捕数据作为训练数据预测下一帧的姿态信息和轨迹信息以进行动画生成,既无需对动画数据进行处理,降低人工工作量,又可以避免对动画进行搜索所占用的时间和内存空间,为提高动画生成效率提高技术支持,拓宽动画生成的应用场景。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是基于本公开的一种实施方式提供的虚拟对象的动画生成模型的训练方法的流程图;
图2是基于本公开的一种实施方式提供的对象的关节点的示意图;
图3是基于本公开的一种实施方式提供的轨迹信息的示意图;
图4是基于本公开的一种实施方式提供的目标模型的示意图;
图5是基于本公开的一种实施方式提供的编码子模型和解码子模型在训练过程中的示意图;
图6是基于本公开的一种实施方式提供的虚拟对象的动画生成方法的流程图;
图7和图8是基于本公开的一种实施方式提供的场景界面的示意图;
图9是基于本公开的一种实施方式提供的虚拟对象的动画生成模型的训练装置的框图;
图10是基于本公开的一种实施方式提供的虚拟对象的动画生成装置的框图;
图11示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
图1所示,为基于本公开的一种实施方式提供的虚拟对象的动画生成模型的训练方法的流程图,如图1所示,所述方法可以包括:
在步骤11中,根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息。
其中,可以由测试人员在穿戴运动捕捉装置进行运动,从而可以基于该运动捕捉装置获得运行过程中人体各个位置的动捕数据,从而基于该动捕数据生成训练样本集。目标对象即进行角色动画生成的对象,该目标对象对应的姿态信息为用于表征该目标对象在其所处位置下的姿态,目标对象对应的轨迹信息则是用于表征该目标对象在其所运行过程中的位置信息形成的线,目标位置信息则是用于表征目标对象在下一帧的所处位置。
在步骤12中,针对每一训练样本,将训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得目标模型输出的与训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息。
示例地,该目标模型可以基于样本输入信息进行提取并进行预测计算,从而基于目标模型获得目标对象在下一帧对应的预测姿态信息、预测轨迹信息以及预测位置信息,从而可以基于预测出的下一帧的姿态信息对目标对象的动画进行生成。
在步骤13中,基于样本输入信息、预测样本信息和样本输出信息,确定目标模型的目标损失。
在步骤14中,根据目标损失对目标模型进行训练,获得训练完成的动画生成模型。
作为示例,可以在目标损失大于损失阈值的情况下,根据目标损失对目标模型的参数进行更新,直至确定出的目标损失小于或等于该损失阈值结束训练,将训练完成的目标模型作为该动画生成模型。作为另一示例,可以在训练的次数小于次数阈值的情况下根据目标损失对目标模型的参数进行更新,直至训练次数达到次数阈值结束训练,将训练完成的目标模型作为该动画生成模型。其中,根据目标损失对目标模型的参数进行更新可以基于目标损失通过梯度下降法进行参数更新,以使得模型收敛,该方式可以采用本领域中的任一更新方式进行参数更新,本公开对此不进行限定。
由此,在上述技术方案中,可以基于预先获得的动捕数据自动生成训练样本集,从而基于该训练样本集中的各个样本对目标模型进行训练获得动画生成模型。并且该动画生成模型可以基于角色对象的姿态信息和轨迹信息对下一帧对应的姿态信息和轨迹信息进行预测,以生成角色动画。由此,通过上述技术方案无需播放特定的动画片段,从而可以大大提升基于动画生成模型生成的动画的多样性和流畅度,同时将动捕数据作为训练数据预测下一帧的姿态信息和轨迹信息以进行动画生成,既无需对动画数据进行处理,降低人工工作量,又可以避免对动画进行搜索所占用的时间和内存空间,为提高动画生成效率提高技术支持,拓宽动画生成的应用场景。
为了使得本领域技术人员更加理解本公开提供的方法,下面对上述各步骤进行详细举例说明。
在一种可能的实施例中,所述目标模型包括编码子模型、预测子模型和解码子模型;
所述将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,包括:
基于所述编码子模型对所述目标对象对应的姿态信息和轨迹信息进行编码;基于所述预测子模型和所述编码向量进行预测,生成预测向量;基于所述解码子模型对所述预测向量进行解码,获得所述预测样本信息。
在该实施例中,目标模型基于编码子模型、预测子模型和解码子模型组成,从而可以基于每一子模型执行其对应的操作,以便于获得每一子模型输出的中间特征和模型输出的最终特征,以在对目标模型进行训练时,能够针对每一子模型输出的特征对子模型的操作进行评价,便于针对每一子模型进行参数调整,通过提高每一子模型的准确性以提高目标模型的准确性。
在一种可能的实施例中,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息;每一所述关节点对应的姿态信息包含该关节点相对于目标对象的根节点的位置坐标、旋转和速度,所述轨迹信息由包含当前帧的连续多帧中的每一根节点的移动位置信息形成,每一帧对应的所述移动位置信息包括该帧中的根节点相对于当前帧中的根节点的地面位置坐标、方向、速度和移动类型。
示例地,目标对象的姿态可以由多个关节点决定,关节点即为骨骼和骨骼之间的连接点,如图2所示,其中连线用于表示骨骼,则连线两端的点表示该关节点,如A1和A2所示。关节点的数量可以根据实际应用场景进行设置,例如可以设置为22个关节点,即目标对象的姿态由22个关节点的状态决定。目标对象的轨迹信息可以是由目标对象的根节点的位置信息组成的,目标对象的根节点为预先确定的目标对象中的一个点,在世界空间坐标系中,可以将目标对象的根节点在其行走平面上的投影确定为该目标对象的根节点的位置信息,则在目标对象移动过程中的各个位置信息形成该轨迹信息。
示例地,可以将目标对象所处的空间作为世界空间坐标系,并以目标对象的根节点为原点构建该目标对象对应的角色机体坐标系。作为示例,在确定关节点的姿态信息时,可以确定每一关节点在角色机体坐标系中的相应坐标,即相对于根节点的坐标。例如,该姿态信息可以包括位置坐标、旋转和速度,表示如下:
Figure BDA0003696146340000071
其中,Pi即表示第i帧对应的姿态信息,
Figure BDA0003696146340000072
用于表示关节点j相对于角色机体坐标系的位置坐标,
Figure BDA0003696146340000073
用于表示关节点j相对于角色机体坐标系的旋转,
Figure BDA0003696146340000074
用于表示关节点j相对于角色机体坐标系的速度,
Figure BDA0003696146340000075
示例地,如图3所示,各个轨迹点对应的移动位置信息组成目标对象对应的轨迹信息,在图3中,目标对象的行走方向为自右至左的方向,即按照T1、T2、T3、T4、T5的顺序。其中,T4为当前帧中该目标对象的根节点的投影。则第i帧对应的轨迹信息Ti可以表示如下:
Figure BDA0003696146340000076
其中,
Figure BDA0003696146340000077
用于表示第i帧之前的第m帧对应的移动位置信息,其中,
Figure BDA0003696146340000078
用于表示第i帧之前的第m帧中的根节点相对于该第i帧的根节点的地面位置坐标,即目标对象是在行走平面上进行移动,从而可以只需要确定根节点在世界空间坐标系中的X坐标和Z坐标的取值,即地面位置坐标。
Figure BDA0003696146340000079
用于表示第i帧之前的第m帧中的根节点相对于该第i帧的根节点的方向;
Figure BDA00036961463400000710
用于表示第i帧之前的第m帧中的根节点相对于该第i帧的根节点的速度;
Figure BDA00036961463400000711
用于表示第i帧之前的第m帧中的根节点相对于该第i帧的根节点的移动类型,其中,移动类型可以包括静止、行走、跑步等,其具体划分可以基于实际应用场景进行设置,每一移动位置信息对应的移动类型可以由用户进行标注。
Figure BDA00036961463400000712
用于表示第i帧之后的第n帧对应的移动位置信息,
Figure BDA00036961463400000713
用于表示第i帧对应的移动位置信息。具体含义可基于上文所述类推确定,在此不再赘述。其中,地面位置坐标
Figure BDA00036961463400000714
方向
Figure BDA00036961463400000715
速度
Figure BDA00036961463400000716
移动类型
Figure BDA00036961463400000717
k为移动类型的类型数量。
由此,可以通过对动捕数据进行分析提取获得姿态信息和轨迹信息,从而对目标对象在移动过程中的各个状态进行综合且全面的表示,为后续基于姿态信息和轨迹信息对下一帧姿态信息的预测提供准确的数据支持,提升动画生成模型的训练数据的有效性和全面性,以提高动画生成模型的预测准确性,进而在一定程度上保证生成的动画的流畅度。
在一种可能的实施例中,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息,所述目标对象对应的目标位置信息为所述目标对象的根节点的位置信息;每一所述关节点对应的姿态信息包括当前姿态信息和历史姿态信息,所述目标对象对应的轨迹信息包括历史轨迹信息和未来轨迹信息,所述样本输入信息对应的编码向量包括隐性特征、所述目标对象的关键关节点对应的关键姿态特征和历史关键姿态特征、所述目标对象对应的未来轨迹特征,所述隐性特征用于存储基于所述样本输入信息提取出的姿态和轨迹对应的特征。
示例地,关节点对应的当前姿态信息即基于当前帧确定出的该关节点的姿态信息,记为Pi,关节点对应的历史姿态信息可以为基于当前帧之前采集到图像帧确定出该关节点的姿态信息,可以是当前帧之前的连续u帧确定出的姿态信息,表示如下:
Figure BDA0003696146340000081
其中,Pi H表示第i帧对应的历史姿态信息,数量u可以基于实际应用场景进行设置。示例地u=1,即将当前帧的前一帧的姿态信息作为历史姿态信息。
如上文和图3所示,可以将当前帧之前的m帧对应的移动位置信息作为历史轨迹信息,将当前帧以及当前帧之后的n帧对应的移动位置信息作为未来轨迹信息,相应表示如下:
第i帧对应的历史轨迹信息
Figure BDA0003696146340000082
第i帧对应的未来轨迹信息
Figure BDA0003696146340000083
其中,m和n的取值可以根据实际应用场景进行设置,本公开对此不进行限定。示例地,m=6,n=5,即表示将当前帧之前的6帧中的移动位置信息作为历史轨迹信息,将当前帧以及当前帧之后的5帧中的移动位置信息作为未来轨迹信息。
示例地,所述编码子模型可以是多层感知器MLP(Multilayer Perceptron),示例地可以设置为6层,其中隐藏层的维度可以设置为256,激活函数可以选择ReLU。在将样本输入信息输入编码子模型后,可以基于该编码子模型对样本输入信息进行提取并编码,获得对整个样本输入信息进行编码获得的隐性特征Zi,该隐性特征可以为32维的向量表示。同时可以对样本输入信息中的关键信息进行提取,示例地,关键信息可以包含关键关节点对应的当前姿态特征和历史姿态特征和目标对象的未来轨迹特征,关键关节点为目标对象的多个关节点中的至少一个,其可以预先设置,例如,可以预先设置头部、左手、右手、左膝盖、右膝盖、左脚、右脚对应的关节点作为关键关节点,则可以从当前帧的姿态信息进行体征提取获得关键姿态特征。关键关节点对应的历史关键姿态特征即表示多个历史帧分别对应的关键姿态特征,其确定方式与当前帧的关键姿态特征的确定方式相同,在此不再赘述。示例地,未来轨迹特征可以是从未来轨迹信息的向量特征表示。
则,编码子模型满足:Eθ(Pi,Pi H,Ti H,Ti F)=Pi K,Pi HK,Ti F,Zi
其中,Pi K用于表示第i帧中的关键关节点对应的关键姿态特征,Pi HK表示第i帧中关键关节点对应的历史关键姿态特征。
由此,通过上述技术方案,在对目标对象下一帧的姿态预测时,可以同时基于当前帧的姿态信息和历史帧的姿态信息进行预测,同时结合目标对象的历史轨迹信息和未来轨迹信息进行预测,进一步提高动画生成模型的输入数据的特征全面性,同时在编码子模型进行编码的过程中在对样本输入信息整体特征编码的同时,可以对关键关节点的特征进行提取,从而使得获得的编码向量中既能够包含样本输入信息对应的整体特征,又能够对样本输入信息中的关键信息进行显示表示,提高编码子模型获得的编码向量的有效性,为后续基于编码向量进行下一帧姿态预测提供准确且全面的数据支持。
针对预测子模型,该预测子模型Sφ可以为多层MLP,例如可以设置为4层,隐藏层维度为256,激活函数选择ReLU。作为示例,预测子模型的输入即为所述编码子模型的输出,即编码向量,从而基于该编码向量输出预测特征。示例地,该预测特征可以表示如下:
Figure BDA0003696146340000091
即可以基于编码向量,预测下一帧对应的关键关节点的关键姿态特征
Figure BDA0003696146340000092
下一帧对应的关键关节点的历史关键姿态特征
Figure BDA0003696146340000093
下一帧对应的未来轨迹特征
Figure BDA0003696146340000094
下一帧对应的隐性特征Zi+1以及下一帧目标对象的根节点的位置信息Ri+1,其中该位置信息为下一帧i+1目标对象的根节点相对于该当前帧i的根节点的位置信息,
Figure BDA0003696146340000095
其中,
Figure BDA0003696146340000096
Figure BDA0003696146340000097
分别表示目标对象在下一帧相对于当前帧的根节点的X坐标和Z坐标,X坐标和Z坐标为世界空间坐标系下的坐标。
Figure BDA0003696146340000101
表示目标对象在下一帧相对于当前帧的根节点的方向。
在一种可能的实施例中,所述方法还可以包括:
获取所述目标对象对应的环境信息,其中,环境信息可以是与动画相关的外部信息,如地形,其他角色的姿态,障碍等信息,其可以通过采集的图像帧进行特征提取。
相应地,所述将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,包括:
将所述训练样本中的目标对象对应的姿态信息、轨迹信息和所述环境信息输入所述目标模型,以获得所述目标模型输出的预测样本信息,示例地,可以基于目标模型中的预测子模型根据所述环境信息和所述编码向量生成所述预测向量。
在该实施例中,在对目标对象在下一帧的姿态信息进行预测时,可以同时结合该目标对象对应的环境信息。示例地,可以将该环境信息与基于所述训练样本中的目标对象对应的姿态信息、轨迹信息确定出的编码向量作为预测子模型的输入,则预测子模型满足:
Figure BDA0003696146340000102
其中,Ii用于表示第i帧对应的环境信息。
由此,通过上述技术方案,可以进一步地获得目标对象的环境信息,从而在对目标对象下一帧的姿态信息进行预测时,使得预测出的姿态信息可以符合目标对象的移动过程和环境状态,提高动画生成模型的准确度和精准度,同时可以适用于存在其他对象和背景环境的应用场景中,拓宽动画生成模型的应用场景。
针对解码子模型,该解码子模型Dω可以为多层MLP,示例地可以设置为4层,隐藏层维度为256,激活函数为ReLU。其中该解码子模型输入的数据结构和编码子模型输出的数据结构一致,解码子模型可以基于预测特征进行姿态还原,以获得目标对象在下一帧对应的姿态信息,表示如下:
Figure BDA0003696146340000103
其中,Pi+1用于表示目标对象在下一帧对应的姿态信息,其可以包含目标对象的各个关节点在下一帧对应的姿态信息。
由此,通过上述技术方案,可以基于训练样本中的目标对象对应的姿态信息、轨迹信息和目标模型中的编码子模型、预测子模型和解码子模型获得相应的预测样本信息,预测样本信息Yi即表示为
Figure BDA0003696146340000111
以下对目标模型的训练过程进行详细说明。
在一种可能的实施例中,在步骤13中基于样本输入信息、预测样本信息和样本输出信息,确定目标模型的目标损失的示例性实现方式如下,该步骤可以包括:
基于所述样本输入信息、所述编码向量和所述编码子模型,确定所述编码子模型的第一损失。
其中,所述编码子模型用于对样本输入信息进行编码,以对其进行特征提取和编码,因此编码子模型进行编码后输出的编码向量需要保证和原始的样本输入信息之间的一致性。基于此,在该实施例中,可以基于该样本输入信息和编码向量确定编码子模型的第一损失。
作为示例,编码向量中可以包含目标对象的关键关节点对应的关键姿态特征和历史关键姿态特征,以及目标对象的未来轨迹特征,同时,从样本输入信息中的姿态信息和轨迹信息中可以对关键关节点的当前姿态信息和历史姿态信息进行提取,直接获得关键关节点对应的关键姿态特征和历史关键姿态特征,同样可以确定出目标对象的未来轨迹信息。由此,可以将编码向量中的上述特征和从样本输入信息中确定出的特征进行距离计算,以确定第一损失。
作为另一示例,所述基于所述样本输入信息、所述编码向量和所述编码子模型,确定所述编码子模型的第一损失的示例性实现方式如下,该步骤可以包括:
对所述样本输入信息增加噪声,获得噪声样本信息。其中,噪声可以为高斯噪声N(0,α),α为超参数,范围在(0,1)之间。则噪声样本信息可以表示为Xi+N(0,α),其中Xi={Pi,Pi H,Ti H,Ti F}用于表示样本输入信息。
将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量。与上文所述类似,可以将将该噪声样本信息输入编码子模型,以由编码子模型输出编码向量:
Eθ(Xi+N(0,α))=Pi K',Pi HK',Ti F',Zi',其中编码子模型的特征提取和编码过程已在上文进行详述,在此不再赘述s。
根据所述噪声样本向量和所述样本输入信息确定所述第一损失。
同样地,可以从样本输入信息中确定出与编码向量的特征对应的姿态信息和轨迹信息,以通过如下公式确定第一损失LE
Figure BDA0003696146340000112
其中,Pi K'用于表示基于第i帧对应的噪声样本信息确定出的关键姿态特征,
Figure BDA0003696146340000121
用于表示从第i帧对应的样本输入信息中确定出的关键姿态信息,Pi HK'用于表示基于第i帧对应的噪声样本信息确定出的历史关键姿态特征,
Figure BDA0003696146340000122
用于表示从第i帧对应的样本输入信息中确定出的历史关键姿态信息,Ti F'用于表示基于第i帧对应的噪声样本信息确定出的未来轨迹特征,
Figure BDA0003696146340000123
用于表示从第i帧对应的样本输入信息中确定出的未来轨迹信息。
由此,通过上述方案可以确定编码子模型的损失,并且通过在样本输入信息中在增加噪声后,要求编码子模型输出的编码向量能够映射到原始的样本输入信息的数据上,从而可以进一步提高编码子模型的编码准确性和鲁棒性。
基于所述样本输入信息、所述编码向量、所述编码子模型和所述解码子模型,确定所述解码子模型的第二损失。
如图4所示,为基于本公开的实施方式提供的目标模型的示意图。在实施例中,解码子模型的输入与所述编码子模型的输出是一一对应的。因此,在目标模型训练的过程中,将样本输入信息输入编码子模型进行编码获得编码向量,并将编码子模型的输出直接作为解码子模型的输入,如图5所示,即由解码子模型基于编码向量进行姿态还原获得当前姿态信息,从而可以将解码子模型解码获得的当前姿态信息,与样本输入信息中的当前姿态信息进行损失计算,获得第二损失。
作为另一示例,所述基于所述样本输入信息、所述编码向量、所述编码子模型和所述解码子模型,确定所述解码子模型的第二损失的示例性实现方式如下,该步骤可以包括:
对所述样本输入信息增加噪声,获得噪声样本信息;将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量。其中该步骤的实现方式已在上文进行详述,在此不再赘述。
之后将所述噪声样本向量输入所述解码子模型,以获得解码子模型解码所得的解码样本信息,该解码样本信息即为基于包含噪声的噪声样本向量进行姿态还原获得的姿态信息。之后,根据所述解码样本信息和所述样本输入信息确定所述第二损失。
示例地,通过以下公式确定第二损失LS
LS=(Dω(Eθ(Xi+N(0,α)))-Pi)2
其中,Dω用于表示解码子模型的解码过程,ω用于表示解码子模型的参数。由此,通过上述方案可以确定解码子模型的损失,并且通过在样本输入信息中在增加噪声后,要求解码子模型输出的姿态信息与样本输入信息中的姿态信息保持一致,从而可以进一步提高解码子模型的解码姿态还原的准确性和鲁棒性。
基于所述预测样本信息和所述样本输出信息,确定所述目标模型的第三损失。示例地,可以计算两者之间的距离确定第三损失,样本输入信息Xi={Pi,Pi H,Ti H,Ti F}输入编码子模型进行编码后获得编码向量,之后经过预测子模型进行预测并经过解码子模型进行解码,获得预测样本信息,预测样本信息Yi与样本输出信息Yi gt一一对应,表示如下:
Figure BDA0003696146340000131
Figure BDA0003696146340000132
其中,
Figure BDA0003696146340000133
用于表示关节点在下一帧对应的目标姿态信息,
Figure BDA0003696146340000134
用于表示下一帧对应的所述目标轨迹信息,
Figure BDA0003696146340000135
用于表示下一帧目标对应的根节点的位置信息。
如可以通过如下公式计算第三损失LP
Figure BDA0003696146340000136
基于所述第一损失、所述第二损失和所述第三损失,确定所述目标损失。
示例地,可以将第一损失、第二损失和所述第三损失的加权和确定所述目标损失,从而基于该目标损失对目标模型的参数进行更新。由此,通过上述技术方案,可以针对目标模型的子模型,根据子模型的特征分别进行损失计算,以提高子模型的准确性和目标模型整体的准确性,提高动画生成模型的训练效率和预测准确度,提升用户使用体验。
本公开还提供一种虚拟对象的动画生成方法,如图6所示,所述方法包括:
在步骤61中,获取虚拟对象对应的目标姿态信息和目标轨迹信息。示例地,可以对虚拟对象的根节点以及各个关节点的状态进行采集,获得所述目标姿态信息和目标轨迹信息,其中,目标姿态信息和目标轨迹信息中的数据维度与上文所述的编码子模型的输入数据的维度相同,在此不再赘述。
在步骤62中,根据目标姿态信息、目标轨迹信息和动画生成模型,获得虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于上文中任一所述的虚拟对象的动画生成模型的训练方法训练所得的模型。虚拟对象在下一帧对应的控制姿态信息可以是虚拟对象的各个关节点在下一帧对应的姿态信息,虚拟对象在下一帧对应的控制位置信息可以是虚拟对象的根节点在下一帧对应的位置信息。其中,可以将目标姿态信息、目标轨迹信息输入动画生成模型,以获得模型的输出。如上文所述,初始状态下未来轨迹信息为空值,在虚拟对象移动的过程中可以将本次预测动画生成模型确定的下一帧对应的未来轨迹特征作为下轮预测时动画生成模型中的输入未来轨迹特征,从而实现对虚拟对象的动画的连续循环预测。
在步骤63中,根据控制姿态信息和控制位置信息,控制虚拟对象移动,以生成虚拟对象对应的动画。
其中,虚拟对象在下一帧对应的控制位置信息可以是该虚拟对象在下一帧的根节点对应的位置信息,即下一帧相对于当前帧的根节点的地面位置坐标和方向,控制姿态信息可以是虚拟对象的各个关节点相对于根节点的位置坐标、旋转和速度,相应地控制虚拟对象移动则可以是控制虚拟对象的关节点和根节点进行移动,如可以基于控制位置信息赋值给虚拟对象的根节点,基于控制姿态信息赋值给虚拟对象中的每一关节点从而形成新的动画。
由此,通过上述技术方案,可以通过采集虚拟对象的姿态信息和轨迹信息,基于动画生成模型确定该虚拟对象对应的下一帧动画,通过动画生成模型进行预测与现有技术中基于状态机或者动画查询相比,可以在提高生成的动画的流畅度的同时,提高动画生成效率,提升用户使用体验。
在一种可能的实施例中,所述方法还可以包括:
接收针对于所述虚拟对象的控制指令,其中,该控制指令可以是用户通过界面中的控制按钮触发的,如图7所示,用户可以通过操作控制按钮B以触发控制指令。
根据所述控制指令和所述虚拟对象对应的目标轨迹信息,生成新的目标轨迹信息。其中,所述目标轨迹信息中可以包含历史轨迹信息和未来轨迹信息,该未来轨迹信息为动画生成模型输出的预测轨迹。相应地,在接收到控制指令时,该控制指令指示的操作会对该未来轨迹信息进行修改,因此,在该实施例中,可以基于控制指令指示的操作对未来轨迹信息进行修改,以生成新的未来轨迹信息,则该新的目标轨迹信息即包含历史轨迹信息和该新生成的未来轨迹信息。
示例地,如图7所示轨迹为上一帧预测出的未来轨迹信息T,在控制指令为向右偏移时,则可以基于控制指令对应的方向将未来轨迹信息向右偏移,如图8中T’所示的未来轨迹信息,其中偏移的距离可以根据未来轨迹信息中的具体速度确定。
相应地,所述根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息的示例性实现方式如下,该步骤可以包括:
根据所述目标姿态信息、所述新的目标轨迹信息和所述动画生成模型,获得所述控制姿态信息和所述控制位置信息。
其中,可以将目标姿态信息和新的目标轨迹信息输入动画生成模型,以生成符合虚拟对象的运动状态以及用户触发的控制指令的动画,进一步贴合用户的使用需求,拓宽动画生成方法的应用场景,提升用户使用体验。
本公开还提供一种虚拟对象的动画生成模型的训练装置,如图9所示,所述装置10包括:
第一生成模块101,用于根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;
第一处理模块102,用于针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;
确定模块103,用于基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;
训练模块104,用于根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
可选地,所述目标模型包括编码子模型、预测子模型和解码子模型;
所述第一处理模块包括:
第一处理子模块,用于基于所述编码子模型对所述目标对象对应的姿态信息和轨迹信息进行编码,获得所述样本输入信息对应的编码向量;
第二处理子模块,用于基于所述预测子模型和所述编码向量进行预测,生成预测向量;
第三处理子模块,用于基于所述解码子模型对所述预测向量进行解码,获得所述预测样本信息。
可选地,所述确定模块包括:
第一确定子模块,用于基于所述样本输入信息、所述编码向量和所述编码子模型,确定所述编码子模型的第一损失;
第二确定子模块,用于基于所述样本输入信息、所述编码向量、所述编码子模型和所述解码子模型,确定所述解码子模型的第二损失;
第三确定子模块,用于基于所述预测样本信息和所述样本输出信息,确定所述目标模型的第三损失;
第四确定子模块,用于基于所述第一损失、所述第二损失和所述第三损失,确定所述目标损失。
可选地,所述第一确定子模块包括:
第四处理子模块,用于对所述样本输入信息增加噪声,获得噪声样本信息;
第一编码子模块,用于将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量;
第五确定子模块,用于根据所述噪声样本向量和所述样本输入信息确定所述第一损失。
可选地,所述第二确定子模块包括:
第五处理子模块,用于对所述样本输入信息增加噪声,获得噪声样本信息;
第二编码子模块,用于将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量;
解码子模块,用于将所述噪声样本向量输入所述解码子模型,以获得解码子模型解码所得的解码样本信息;
第六确定子模块,用于根据所述解码样本信息和所述样本输入信息确定所述第二损失。
可选地,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息,所述目标对象对应的目标位置信息为所述目标对象的根节点的位置信息;每一所述关节点对应的姿态信息包括当前姿态信息和历史姿态信息,所述目标对象对应的轨迹信息包括历史轨迹信息和未来轨迹信息,所述样本输入信息对应的编码向量包括隐性特征、所述目标对象的关键关节点对应的关键姿态特征和历史关键姿态特征、所述目标对象对应的未来轨迹特征,所述隐性特征用于存储基于所述样本输入信息提取出的姿态和轨迹对应的特征。
可选地,所述装置还包括:
第一获取模块,用于获取所述目标对象对应的环境信息,
所述第一处理模块用于:
将所述训练样本中的目标对象对应的姿态信息、轨迹信息和所述环境信息输入所述目标模型,以获得所述目标模型输出的预测样本信息。
可选地,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息;每一所述关节点对应的姿态信息包含该关节点相对于目标对象的根节点的位置坐标、旋转和速度,所述轨迹信息由包含当前帧的连续多帧中的每一根节点的移动位置信息形成,每一帧对应的所述移动位置信息包括该帧中的根节点相对于当前帧中的根节点的地面位置坐标、方向、速度和移动类型。
本公开还提供一种虚拟对象的动画生成装置,如图10所示,所述装置20可以包括:
第二获取模块201,用于获取虚拟对象对应的目标姿态信息和目标轨迹信息;
第二处理模块202,用于根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于上文所述的虚拟对象的动画生成模型的训练方法训练所得的模型;
控制模块203,用于根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
可选地,所述装置还包括:
接收模块,用于接收针对于所述虚拟对象的控制指令;
第二生成模块,用于根据所述控制指令和所述虚拟对象对应的目标轨迹信息,生成新的目标轨迹信息;
所述第二处理模块用于:
根据所述目标姿态信息、所述新的目标轨迹信息和所述动画生成模型,获得所述控制姿态信息和所述控制位置信息。
下面参考图11,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取虚拟对象对应的目标姿态信息和目标轨迹信息;根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于第一方面所述的虚拟对象的动画生成模型的训练方法训练所得的模型;根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一生成模块还可以被描述为“根据预先获得的动捕数据生成训练样本集的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种虚拟对象的动画生成模型的训练方法,其中,所述方法包括:根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,其中,所述目标模型包括编码子模型、预测子模型和解码子模型;所述将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,包括:基于所述编码子模型对所述目标对象对应的姿态信息和轨迹信息进行编码,获得所述样本输入信息对应的编码向量;基于所述预测子模型和所述编码向量进行预测,生成预测向量;基于所述解码子模型对所述预测向量进行解码,获得所述预测样本信息。
根据本公开的一个或多个实施例,示例3提供了示例2的方法,其中,所述基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失,包括:基于所述样本输入信息、所述编码向量和所述编码子模型,确定所述编码子模型的第一损失;基于所述样本输入信息、所述编码向量、所述编码子模型和所述解码子模型,确定所述解码子模型的第二损失;
基于所述预测样本信息和所述样本输出信息,确定所述目标模型的第三损失;
基于所述第一损失、所述第二损失和所述第三损失,确定所述目标损失。
根据本公开的一个或多个实施例,示例4提供了示例3的方法,其中,所述基于所述样本输入信息、所述编码向量和所述编码子模型,确定所述编码子模型的第一损失,包括:对所述样本输入信息增加噪声,获得噪声样本信息;将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量;根据所述噪声样本向量和所述样本输入信息确定所述第一损失。
根据本公开的一个或多个实施例,示例5提供了示例3的方法,其中,所述基于所述样本输入信息、所述编码向量、所述编码子模型和所述解码子模型,确定所述解码子模型的第二损失,包括:对所述样本输入信息增加噪声,获得噪声样本信息;将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量;将所述噪声样本向量输入所述解码子模型,以获得解码子模型解码所得的解码样本信息;根据所述解码样本信息和所述样本输入信息确定所述第二损失。
根据本公开的一个或多个实施例,示例6提供了示例2的方法,其中,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息,所述目标对象对应的目标位置信息为所述目标对象的根节点的位置信息;每一所述关节点对应的姿态信息包括当前姿态信息和历史姿态信息,所述目标对象对应的轨迹信息包括历史轨迹信息和未来轨迹信息,所述样本输入信息对应的编码向量包括隐性特征、所述目标对象的关键关节点对应的关键姿态特征和历史关键姿态特征、所述目标对象对应的未来轨迹特征,所述隐性特征用于存储基于所述样本输入信息提取出的姿态和轨迹对应的特征。
根据本公开的一个或多个实施例,示例7提供了示例1的方法,其中,所述方法还包括:获取所述目标对象对应的环境信息,所述将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,包括:将所述训练样本中的目标对象对应的姿态信息、轨迹信息和所述环境信息输入所述目标模型,以获得所述目标模型输出的预测样本信息。
根据本公开的一个或多个实施例,示例8提供了示例1的方法,其中,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息;每一所述关节点对应的姿态信息包含该关节点相对于目标对象的根节点的位置坐标、旋转和速度,所述轨迹信息由包含当前帧的连续多帧中的每一根节点的移动位置信息形成,每一帧对应的所述移动位置信息包括该帧中的根节点相对于当前帧中的根节点的地面位置坐标、方向、速度和移动类型。
根据本公开的一个或多个实施例,示例9提供了一种虚拟对象的动画生成方法,其中,所述方法包括:获取虚拟对象对应的目标姿态信息和目标轨迹信息;根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于示例1-8中任一项所述的虚拟对象的动画生成模型的训练方法训练所得的模型;根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
根据本公开的一个或多个实施例,示例10提供了示例9的方法,其中,所述方法还包括:接收针对于所述虚拟对象的控制指令;根据所述控制指令和所述虚拟对象对应的目标轨迹信息,生成新的目标轨迹信息;所述根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,包括:根据所述目标姿态信息、所述新的目标轨迹信息和所述动画生成模型,获得所述控制姿态信息和所述控制位置信息。
根据本公开的一个或多个实施例,示例11提供了一种虚拟对象的动画生成模型的训练装置,所述装置包括:第一生成模块,用于根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;第一处理模块,用于针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;确定模块,用于基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;训练模块,用于根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
根据本公开的一个或多个实施例,示例12提供了一种虚拟对象的动画生成装置,所述装置包括:第二获取模块,用于获取虚拟对象对应的目标姿态信息和目标轨迹信息;第二处理模块,用于根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于示例1-8中任一项所述的虚拟对象的动画生成模型的训练方法训练所得的模型;控制模块,用于根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
根据本公开的一个或多个实施例,示例13提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1-10中任一项所述方法的步骤。
根据本公开的一个或多个实施例,示例14提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1-10中任一项所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

Claims (14)

1.一种虚拟对象动画生成模型的训练方法,其特征在于,所述方法包括:
根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;
针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;
基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;
根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
2.根据权利要求1所述的方法,其特征在于,所述目标模型包括编码子模型、预测子模型和解码子模型;
所述将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,包括:
基于所述编码子模型对所述目标对象对应的姿态信息和轨迹信息进行编码,获得所述样本输入信息对应的编码向量;
基于所述预测子模型和所述编码向量进行预测,生成预测向量;
基于所述解码子模型对所述预测向量进行解码,获得所述预测样本信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失,包括:
基于所述样本输入信息、所述编码向量和所述编码子模型,确定所述编码子模型的第一损失;
基于所述样本输入信息、所述编码向量、所述编码子模型和所述解码子模型,确定所述解码子模型的第二损失;
基于所述预测样本信息和所述样本输出信息,确定所述目标模型的第三损失;
基于所述第一损失、所述第二损失和所述第三损失,确定所述目标损失。
4.根据权利要求3所述的方法,其特征在于,所述基于所述样本输入信息、所述编码向量和所述编码子模型,确定所述编码子模型的第一损失,包括:
对所述样本输入信息增加噪声,获得噪声样本信息;
将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量;
根据所述噪声样本向量和所述样本输入信息确定所述第一损失。
5.根据权利要求3所述的方法,其特征在于,所述基于所述样本输入信息、所述编码向量、所述编码子模型和所述解码子模型,确定所述解码子模型的第二损失,包括:
对所述样本输入信息增加噪声,获得噪声样本信息;
将所述噪声样本信息输入所述编码子模型,获得所述编码子模型编码所得的噪声样本向量;
将所述噪声样本向量输入所述解码子模型,以获得解码子模型解码所得的解码样本信息;
根据所述解码样本信息和所述样本输入信息确定所述第二损失。
6.根据权利要求2所述的方法,其特征在于,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息,所述目标对象对应的目标位置信息为所述目标对象的根节点的位置信息;每一所述关节点对应的姿态信息包括当前姿态信息和历史姿态信息,所述目标对象对应的轨迹信息包括历史轨迹信息和未来轨迹信息,所述样本输入信息对应的编码向量包括隐性特征、所述目标对象的关键关节点对应的关键姿态特征和历史关键姿态特征、所述目标对象对应的未来轨迹特征,所述隐性特征用于存储基于所述样本输入信息提取出的姿态和轨迹对应的特征。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标对象对应的环境信息,
所述将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,包括:
将所述训练样本中的目标对象对应的姿态信息、轨迹信息和所述环境信息输入所述目标模型,以获得所述目标模型输出的预测样本信息。
8.根据权利要求1所述的方法,其特征在于,所述目标对象对应的姿态信息包括所述目标对象的每一关节点对应的姿态信息;每一所述关节点对应的姿态信息包含该关节点相对于目标对象的根节点的位置坐标、旋转和速度,所述轨迹信息由包含当前帧的连续多帧中的每一根节点的移动位置信息形成,每一帧对应的所述移动位置信息包括该帧中的根节点相对于当前帧中的根节点的地面位置坐标、方向、速度和移动类型。
9.一种虚拟对象的动画生成方法,其特征在于,所述方法包括:
获取虚拟对象对应的目标姿态信息和目标轨迹信息;
根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于权利要求1-8中任一项所述的虚拟对象的动画生成模型的训练方法训练所得的模型;
根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收针对于所述虚拟对象的控制指令;
根据所述控制指令和所述虚拟对象对应的目标轨迹信息,生成新的目标轨迹信息;
所述根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,包括:
根据所述目标姿态信息、所述新的目标轨迹信息和所述动画生成模型,获得所述控制姿态信息和所述控制位置信息。
11.一种虚拟对象的动画生成模型的训练装置,其特征在于,所述装置包括:
第一生成模块,用于根据预先获得的动捕数据生成训练样本集,其中,所述训练样本集中的每一训练样本包括样本输入信息和样本输出信息,所述样本输入信息包括目标对象在当前帧对应的姿态信息和轨迹信息,所述样本输出信息包括所述目标对象在下一帧对应的目标姿态信息、目标轨迹信息和目标位置信息;
第一处理模块,用于针对每一所述训练样本,将所述训练样本中的目标对象对应的姿态信息和轨迹信息输入目标模型,以获得所述目标模型输出的与所述训练样本对应的预测样本信息,所述预测样本信息包括所述目标对象在下一帧对应的预测姿态信息、预测轨迹信息和预测位置信息;
确定模块,用于基于所述样本输入信息、所述预测样本信息和所述样本输出信息,确定所述目标模型的目标损失;
训练模块,用于根据所述目标损失对所述目标模型进行训练,获得训练完成的动画生成模型。
12.一种虚拟对象的动画生成装置,其特征在于,所述装置包括:
第二获取模块,用于获取虚拟对象对应的目标姿态信息和目标轨迹信息;
第二处理模块,用于根据所述目标姿态信息、所述目标轨迹信息和动画生成模型,获得所述虚拟对象在下一帧对应的控制姿态信息和控制位置信息,其中,所述动画生成模型为基于权利要求1-8中任一项所述的虚拟对象的动画生成模型的训练方法训练所得的模型;
控制模块,用于根据所述控制姿态信息和所述控制位置信息,控制所述虚拟对象移动,以生成所述虚拟对象对应的动画。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-10中任一项所述方法的步骤。
14.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-10中任一项所述方法的步骤。
CN202210680700.4A 2022-06-15 2022-06-15 动画生成模型的训练方法、动画生成方法和装置 Pending CN114972591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210680700.4A CN114972591A (zh) 2022-06-15 2022-06-15 动画生成模型的训练方法、动画生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210680700.4A CN114972591A (zh) 2022-06-15 2022-06-15 动画生成模型的训练方法、动画生成方法和装置

Publications (1)

Publication Number Publication Date
CN114972591A true CN114972591A (zh) 2022-08-30

Family

ID=82963881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210680700.4A Pending CN114972591A (zh) 2022-06-15 2022-06-15 动画生成模型的训练方法、动画生成方法和装置

Country Status (1)

Country Link
CN (1) CN114972591A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115564803A (zh) * 2022-12-06 2023-01-03 腾讯科技(深圳)有限公司 一种动画处理方法、装置、设备、存储介质及产品
CN115601485A (zh) * 2022-12-15 2023-01-13 阿里巴巴(中国)有限公司(Cn) 任务处理模型的数据处理方法及虚拟人物动画生成方法
CN115797517A (zh) * 2023-01-16 2023-03-14 腾讯科技(深圳)有限公司 虚拟模型的数据处理方法、装置、设备和介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115564803A (zh) * 2022-12-06 2023-01-03 腾讯科技(深圳)有限公司 一种动画处理方法、装置、设备、存储介质及产品
CN115564803B (zh) * 2022-12-06 2023-03-14 腾讯科技(深圳)有限公司 一种动画处理方法、装置、设备、存储介质及产品
CN115601485A (zh) * 2022-12-15 2023-01-13 阿里巴巴(中国)有限公司(Cn) 任务处理模型的数据处理方法及虚拟人物动画生成方法
WO2024125612A1 (zh) * 2022-12-15 2024-06-20 浙江阿里巴巴机器人有限公司 任务处理模型的数据处理方法及虚拟人物动画生成方法
CN115797517A (zh) * 2023-01-16 2023-03-14 腾讯科技(深圳)有限公司 虚拟模型的数据处理方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN114972591A (zh) 动画生成模型的训练方法、动画生成方法和装置
CN110532981B (zh) 人体关键点提取方法、装置、可读存储介质及设备
CN110413812B (zh) 神经网络模型的训练方法、装置、电子设备及存储介质
EP3872764A1 (en) Method and apparatus for constructing map
CN109754464B (zh) 用于生成信息的方法和装置
CN109600559B (zh) 一种视频特效添加方法、装置、终端设备及存储介质
CN112258653A (zh) 弹性对象的渲染方法、装置、设备及存储介质
CN115690382A (zh) 深度学习模型的训练方法、生成全景图的方法和装置
CN113052253A (zh) 超参数确定方法、装置、深度强化学习框架、介质及设备
CN111652675A (zh) 展示方法、装置和电子设备
CN115131475A (zh) 过渡帧生成方法、装置、设备及存储介质
CN116524151A (zh) 用于生成虚拟形象的方法、设备和计算机程序产品
CN111833459B (zh) 一种图像处理方法、装置、电子设备及存储介质
CN110189364B (zh) 用于生成信息的方法和装置,以及目标跟踪方法和装置
CN116088537B (zh) 车辆避障方法、装置、电子设备和计算机可读介质
CN114067030A (zh) 动态流体效果处理方法、装置、电子设备和可读介质
CN111447379B (zh) 生成信息的方法和装置
CN111027495A (zh) 用于检测人体关键点的方法和装置
CN115734001A (zh) 特效显示方法、装置、电子设备及存储介质
CN115756231A (zh) 特效处理方法、装置、设备、计算机可读存储介质及产品
CN112492230B (zh) 视频处理方法、装置、可读介质及电子设备
CN110263743B (zh) 用于识别图像的方法和装置
CN115222769A (zh) 轨迹预测方法、装置和智能体
CN113052252A (zh) 超参数确定方法、装置、深度强化学习框架、介质及设备
CN116030168B (zh) 中间帧的生成方法、装置、设备及存储介质

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