CN115222847A - 一种基于神经网络的动画数据生成方法、装置及相关产品 - Google Patents
一种基于神经网络的动画数据生成方法、装置及相关产品 Download PDFInfo
- Publication number
- CN115222847A CN115222847A CN202210832558.0A CN202210832558A CN115222847A CN 115222847 A CN115222847 A CN 115222847A CN 202210832558 A CN202210832558 A CN 202210832558A CN 115222847 A CN115222847 A CN 115222847A
- Authority
- CN
- China
- Prior art keywords
- feature
- data
- neural network
- virtual object
- network
- 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
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请公开一种基于神经网络的动画数据生成方法、装置及相关产品。可应用于云技术、人工智能、智慧交通、辅助驾驶、数字人、虚拟人、游戏、虚拟现实、扩展现实等场景。采用虚拟场景中虚拟对象的轨迹特征和骨骼特征作为查询特征,在查询特征的基础上通过训练好的神经网络来生成该虚拟对象的动画数据。神经网络在查询特征基础上增加虚拟对象的特征维度并基于高维特征生成所述虚拟对象的动画数据,满足对动画数据的生成需求。神经网络的使用在生成动画数据时不再需要在内存中存储海量数据并从中查询匹配的动画;只需要提前存储与神经网络相关的权重数据,对内存的占用量较低,避免内存占用量高、在生成动画数据时查询性能不佳的问题。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于神经网络的动画数据生成方法、装置及相关产品。
背景技术
游戏开发和动画制作等场景中,为了增强观看者的体验,往往需要为虚拟对象的动作设计出灵活、逼真的动画效果。以游戏场景来说,对于奔跑、跳跃、下蹲、空闲时轻微的呼吸或摇摆、跌落时恐慌地抬起手臂等动作,如果能够进行灵活、逼真的动画效果展示,可以丰富玩家的视觉体验,增强玩家在游戏中的交互感。
为了制作出具有不同动作的虚拟对象的动画,传统的方式是通过设计状态机来控制动画的各种复杂播放和转换控制逻辑。图1为一种动画状态机示意图。在图1所示的状态机中防御(Defend)、紧张(Upset)、胜利(Victory)、空闲(Idle)分别代表四种不同的动画,四种动画之间的双向箭头,表示动画之间进行切换。若游戏开发或动画制作场景中采用状态机的传统方式来生成动画,当虚拟对象的动作比较复杂时,状态机的设计量会非常庞大,并且后续的更新维护非常困难,需要耗费大量的时间,且容易产生故障。
在动画制作方面,另有一项名为动作匹配(Motion Matching)的技术。该项技术可以从海量的动画中选择最匹配的一个动画帧播放。但是动作匹配技术进行动画数据的驱动时,在运行期间要将海量的数据存储在内存中,并且还需要在这些海量数据中进行动作匹配,导致了内存占用量高、查询性能不佳的问题。这一问题限制了动作匹配技术在游戏动画引擎中的发展。
发明内容
本申请实施例提供了一种基于神经网络的动画数据生成方法、装置及相关产品,旨在以低内存占用量生成动画数据。
本申请第一方面,提供了一种基于神经网络的动画数据生成方法。基于神经网络的动画数据生成方法包括:
根据虚拟场景的运行数据生成虚拟对象的查询特征,并以所述查询特征作为预先训练的神经网络的输入;所述查询特征包括所述虚拟对象的轨迹特征和骨骼特征;
通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征;
基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
本申请第二方面,提供了一种基于神经网络的动画数据生成装置。基于神经网络的动画数据生成装置,包括:
查询特征生成单元,用于根据虚拟场景的运行数据生成虚拟对象的查询特征,并以所述查询特征作为预先训练的神经网络的输入;所述查询特征包括所述虚拟对象的轨迹特征和骨骼特征;
组合特征生成单元,用于通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征;
动画数据生成单元,用于基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
本申请第三方面,提供了一种基于神经网络的动画数据生成设备,基于神经网络的动画数据生成设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面介绍的基于神经网络的动画数据生成方法的步骤。
本申请第四方面,提供了一种计算机可读存储介质。所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面介绍的基于神经网络的动画数据生成方法的步骤。
本申请第五方面,提供了一种计算机程序产品。该计算机程序产品包括计算机程序或指令,该计算机程序或指令被基于神经网络的动画数据生成设备执行时实现第一方面介绍的基于神经网络的动画数据生成方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供了基于神经网络的动画数据生成方法、装置及相关产品。在本申请的技术方案中,采用虚拟场景中虚拟对象的轨迹特征和骨骼特征作为查询特征,在查询特征的基础上,通过预先训练好的神经网络来生成该虚拟对象的动画数据。由于该预先训练好的神经网络具备在查询特征基础上增加虚拟对象的特征维度并基于高维特征生成所述虚拟对象的动画数据的功能,因此能够满足对动画数据的生成需求。此外,由于神经网络的使用,在生成动画数据时不再需要沿用以往动作匹配技术的方式在内存中存储海量数据并从中查询匹配的动画;神经网络的使用只需要提前存储与神经网络相关的权重数据,因此整个方案的实施对于内存的占用量较低,且无需从海量数据中进行实时的查询。进而避免了内存占用量高、在生成动画数据时查询性能不佳的问题。此外,由于内存占用量降低,查询需求减少,以游戏场景为例,游戏运行更加顺畅,更多的存储空间可以转为他用,从而方便提升游戏的其他性能,例如游戏画质等。进而,提升玩家的游戏体验。
附图说明
图1为一种动画状态机示意图;
图2为本申请实施例提供的一种实现基于神经网络的动画数据生成方法的场景架构图;
图3为本申请实施例提供的一种基于神经网络的动画数据生成方法的流程图;
图4为本申请实施例提供的一种神经网络的结构示意图;
图5A为本申请实施例提供的另一种神经网络的结构示意图;
图5B为本申请实施例提供的另一种基于神经网络的动画数据生成方法的流程图;
图6为本申请实施例提供的一种特征生成网络的结构示意图;
图7为本申请实施例提供的一种特征更新网络的结构示意图;
图8为本申请实施例提供的一种动画生成网络的结构示意图;
图9A为本申请实施例提供的一种神经网络的训练流程图;
图9B为根骨骼轨迹的降噪前示意图;
图9C为根骨骼轨迹的降噪后示意图;
图10A为本申请实施例提供的一种能够提取辅助查询特征的深度学习网络的结构示意图;
图10B为传统动作匹配方法和本申请实施例提供的动画数据生成方法获得的动画效果示意图;
图11为本申请实施例提供的一种基于神经网络的动画数据生成装置的结构示意图;
图12为本申请实施例提供的另一种基于神经网络的动画数据生成装置的结构示意图;
图13为本申请实施例中服务器的一个结构示意图;
图14为本申请实施例中终端设备的一个结构示意图。
具体实施方式
在动画制作场景或游戏场景中,动作匹配技术解决了传统动画状态机设计量庞大、逻辑复杂、不便维护的问题。但是动作匹配技术需要预先存储海量动画数据进行查询匹配,因此对内存占用量高,导致存储和查询性能不佳。
鉴于以上问题,在本申请中提供了一种基于神经网络的动画数据生成方法、装置及相关产品。当需要生成虚拟对象的动画时,在已获得虚拟对象的查询特征基础上,只需要借助预先训练好的神经网络便可以生成虚拟对象的动画数据。相比于预先存储海量动画数据进行查询匹配在获得虚拟对象动画效果的实现方式,由于神经网络的权重数据内存占用量小,因此可以提升存储和查询性能。这一优势使本申请实施例方案能够在游戏动画引擎中获得更好的应用和发展。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的机器学习,后文具体通过实施例进行说明。以机器学习训练得到的神经网络解决现存的动作匹配技术技术在动画制作和电影制作方面存在的存储和查询性能问题。
首先对本申请下文的实施例中可能涉及的若干个名词术语进行解释。
1)机器学习(Machine Learning):
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是人工智能的一个分支。是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的自然、清晰的脉络。显然,机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。
2)神经网络(Neutral Network):
人工神经网络,简称神经网络或类神经网络,在机器学习和认知科学领域,是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统,通俗地讲就是具备学习功能。
3)动作捕捉:
动作捕捉,又称为动态捕捉,是指记录并处理人或其他物体动作的技术。它广泛应用于娱乐、体育、医疗应用、计算机视觉以及机器人技术等诸多领域。在动画制作、电影制作和电子游戏开发等领域,它通常是记录人类演员的动作,并将其转换为数字模型的动作,并生成二维或三维的计算机动画。当它捕捉面部或手指的细微动作时,它通常被称为性能捕获。
4)虚拟场景:
是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真场景,也可以是半仿真半虚构的三维场景,还可以是纯虚构的三维场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选地,该虚拟场景还用于至少两个虚拟对象之间的虚拟场景对战。
4)虚拟对象:
是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象可以是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状和体积,占据三维虚拟场景中的一部分空间。
本申请实施例提供的基于神经网络的动画数据生成方法的执行主体可以为终端设备。即,在终端设备上生成查询特征并根据预先训练好的神经网络来动画数据。作为示例,终端设备具体可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、数字人、虚拟人、游戏、虚拟现实、扩展现实(XR,Extended Reality)等。此外,本申请实施例提供的基于神经网络的动画数据生成方法的执行主体也可以是服务器,即可以在服务器上生成查询特征并根据预先训练好的神经网络来动画数据。
在一些其他的实现方式中,本申请实施例中提供的基于神经网络的动画数据生成方法还可以通过终端设备和服务器共同去实现。图2为本申请实施例提供的一种实现基于神经网络的动画数据生成方法的场景架构图。为便于理解本申请实施例提供的技术方案,以下结合图2介绍方案的实现场景。在实现场景中,涉及到终端设备和服务器。例如,可以在终端设备上提取虚拟场景的运行数据生成虚拟对象的查询特征,从服务器调取神经网络的权重数据,在终端设备上基于神经网络生成虚拟对象的动画数据。此外,还可以在服务器中根据虚拟场景的运行数据生成虚拟对象的查询特征,将查询特征发送到终端设备,再在终端设备上利用神经网络来实现动画数据的生成。故本申请实施例中对于执行本申请技术方案的实现主体不做限定。
图2所示的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统。另外,服务器还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
图3为本申请实施例提供的一种基于神经网络的动画数据生成方法的流程图。下面以终端设备作为执行主体,介绍该方法的具体实现。如图3所示的基于神经网络的动画数据生成方法,包括:
S301:根据虚拟场景的运行数据生成虚拟对象的查询特征,并以查询特征作为预先训练的神经网络的输入。
以游戏场景为例,玩家在操控虚拟对象时,需要虚拟对象根据玩家的操控展示相应的动画效果。例如虚拟对象执行走路动作,当玩家操控虚拟对象执行下蹲动作,则需要在虚拟场景(即游戏场景)中展示虚拟对象执行下蹲动作的动画。此下蹲动作的动画数据需要通过本申请技术方案去生成实现。为了生成该虚拟对象与玩家操作目的匹配的动画数据,本申请技术方案中首先需要生成该虚拟对象的查询特征,以此在后续步骤中作为神经网络的输入,最终生成动画数据。
查询特征可以包括虚拟对象的轨迹特征和骨骼特征。所谓轨迹特征,是指与虚拟场景中虚拟对象的轨迹相关的特征。轨迹特征为从虚拟对象整体而言的特征。与之相对的,骨骼特征则是从虚拟对象的个别骨骼而言的特征。举例而言,查询特征中的轨迹特征可以包括:轨迹速度和轨迹方向。此外轨迹特征还可以包括轨迹点位置。查询特征中的骨骼特征可以包括左脚骨骼位置信息、左脚骨骼旋转信息、右脚骨骼位置信息和右脚骨骼旋转信息。此外,骨骼特征还可以包括左脚骨骼速度和右脚骨骼速度。
需要说明的是,轨迹特征中所指的轨迹是指虚拟对象根关节的轨迹。其可以是根据虚拟对象的臀部骨骼在地面的投影形成的路径。如果虚拟对象为人形角色,则生成方法是将人形骨骼的臀部骨骼信息投影到地面,这样多个动画帧连接起来就形成了虚拟对象的轨迹点信息。此处所指的地面具体可以是虚拟场景坐标系中的地面。采取双足的骨骼特征纳入到查询特征中,由于足部作为人体中表征姿态的重要部位,其骨骼在位置、旋转等方面的信息均有利于通过神经网络生成匹配的动画。在本申请中通过以轨迹特征和骨骼特征作为查询特征,分别从虚拟对象的整体和个别骨骼两个方面表征该虚拟对象的特征,从而结合这两种类型的特征,有利于实现动画数据的准确生成,保障生成的动画数据逼真刻画虚拟对象动作的展示效果。
作为本步骤的一种可选实现方式,根据虚拟场景的运行数据生成虚拟对象的查询特征,具体可以包括:
首先从虚拟场景的运行数据中提取出针对虚拟对象的动作控制信号。接着根据动作控制信号中的控制参数以及针对虚拟对象的历史动作控制信号中的历史控制参数,生成虚拟对象的轨迹特征和骨骼特征。
在游戏运行时,人物的走跑主要取决于玩家的输入,如果玩家希望跑,那么通过键盘与手柄会输入对应的动作控制信号,然后游戏引擎内部会根据动作控制信号计算一个合理的跑步的速度作为轨迹特征。在运算时可以结合以往的历史动作控制信号中的历史控制参数。例如控制参数中可以包括动作类型(跑、跳跃、走路等)。此外,还可以结合虚拟对象的角色属性来生成其轨迹特征和骨骼特征。例如,不同的角色属性具有不同的速度最大值和速度最小值。此处,历史动作控制信号可以是在最新收到的动作控制信号的前一次收到的动作控制信号,或者是此前预设时间内收到的动作控制信号。借助历史动作控制信号中的历史控制参数,有利于生成更加精准的、实时性更高的轨迹特征和骨骼特征。
S302:通过神经网络中的特征生成网络增加虚拟对象的特征维度,得到与查询特征匹配的组合特征。
图4为本申请实施例提供的一种神经网络的结构示意图。在该图示意的网络结构中,包括特征生成网络和动画生成网络。其中,特征生成网络能够用于增加虚拟对象的特征维度,即通过该特征生成网络实现对该虚拟对象的查询特征维度的丰富。举例而言,输入该特征生成网络的查询特征包括轨迹速度、轨迹方向、左脚骨骼位置信息、左脚骨骼旋转信息、右脚骨骼位置信息和右脚骨骼旋转信息,而通过特征生成网络的处理,使输出的特征不仅包括输入的查询特征中的特征信息,还包括其他有助于准确生成动画数据的辅助特征。后文将对辅助特征的获取方式进行更加细致的说明。为了便于在文中区分输入的特征和输出的特征,本申请实施例中将通过特征生成网络处理得到的维度增加的特征称为组合特征。由于组合特征是以输入的查询特征为基础获得的特征,因此,可以理解的是,该特征生成网络输出的组合特征与输入该特征生成网络的查询特征匹配。
S303:基于虚拟对象的组合特征,通过神经网络中的动画生成网络生成虚拟对象的动画数据。
如图4所示的网络结构中,还包括动画生成网络。该网络的功能是在输入其中的虚拟对象的组合特征的基础上生成虚拟对象的动画数据。实际应用中,可以将动画引擎每一帧该虚拟对象的组合特征作为动画生成网络的输入,以生成该帧的动画数据。再根据动画引擎的各帧动画数据依照时序形成连贯的动画。因此,基于对神经网络的功能需求,当神经网络需要满足以上功能需求时,可以直接将特征生成网络的输出作为动画生成网络的输入进行训练和使用。
在本申请实施例介绍的基于神经网络的动画数据生成方法中,由于该预先训练好的神经网络具备在查询特征基础上增加虚拟对象的特征维度并基于高维特征生成所述虚拟对象的动画数据的功能,因此能够满足对动画数据的生成需求。此外,由于神经网络的使用,在生成动画数据时不再需要沿用以往动作匹配技术的方式在内存中存储海量数据并从中查询匹配的动画;神经网络的使用只需要提前存储与神经网络相关的权重数据,因此整个方案的实施对于内存的占用量较低,进而避免了内存占用量高、在生成动画数据时查询性能不佳的问题。因此,本申请实施例方案能够在游戏动画引擎中获得更好的应用和发展。
在一些可能的实现方式中,特征生成网络不是每一帧都运行,这是为了提高该方案运行时的性能和减少动画抖动。例如,当查询特征的变化满足第一预设条件和/或特征生成网络距离前一次输出组合特征的时间间隔满足第二预设条件时,特征生成网络根据最新输入的查询特征输出组合特征。也就是说,在该可能的实现方式中,特征生成网络的运行需要满足前提条件,该前提条件可能是关于特征变化的条件(例如第一预设条件),也可能是关于其运行时间间隔的条件(例如第二预设条件),还可以是这两方面条件的结合。
鉴于特征生成网络在一些可能的实现方式中不会每一帧都运行,为了保证动画效果,保证生成能够运行流畅的动画,本申请可以采用另一种神经网络的结构以生成动画数据。图5A为本申请实施例提供的另一种神经网络的结构示意图。相比图4所示的网络结构,在图5A所示的神经网络中还额外包括了特征更新网络。在图5A所示的结构中,特征生成网络的输出作为特征更新网络的输入;特征更新网络的输出作为动画生成网络的输入。当特征生成网络不运行时,通过特征更新网络去驱动下一帧动画生成,保证动画流畅、连续。图5B为本申请实施例提供的另一种基于神经网络的动画数据生成方法的流程图,该图所示方法中所用的神经网络结构与图5A所示的神经网络结构一致。即,在神经网络中包括特征生成网络、特征更新网络和动画生成网络。
如图5B所示的基于神经网络的动画数据生成方法,包括:
S501:根据虚拟场景的运行数据生成虚拟对象的查询特征,并以查询特征作为预先训练的神经网络的输入。
S502:通过神经网络中的特征生成网络增加虚拟对象的特征维度,得到与查询特征匹配的组合特征。
在本申请实施例中步骤S501-S502的实现方式与前述实施例步骤S301-S302的实现方式基本相同,因此相关介绍可以参照前文提供的实施例,此处不再赘述。
S503:基于特征生成网络输出的虚拟对象在当前帧的组合特征,通过神经网络中的特征更新网络输出虚拟对象在当前帧的下一帧的组合特征。
本步骤S503即体现了图5A所示神经网络中特征更新网络的功能。作为一种可选的实现方式,特征更新网络可基于特征生成网络输出的虚拟对象在当前帧的组合特征以及虚拟场景的引擎的帧间差,输出虚拟对象在当前帧的下一帧的组合特征。帧间差(deltaTime)指的是引擎的动画逻辑线程两次更新之间的时间差。一般来说和游戏更新时间接近,比如游戏的更新速率60帧每秒,那么deltaTime就是1/60秒。也就是说,本申请实施例中,特征更新网络能够当前帧组合特征得到该虚拟对象下一帧的同维度的组合特征。即,特征更新网络实现了对虚拟对象在前后相邻帧的组合特征更新,以前一帧的组合特征为基础更新下一帧的组合特征。如此,便可以在特征生成网络没有时时工作时,以特征更新网络的功能实现后续动画生成网络输出的动画数据的连贯性、流畅度。
S504:基于虚拟对象在当前帧的下一帧的组合特征,通过神经网络中的动画生成网络生成虚拟对象的动画数据。
区别于图3所示的流程的方法,在本申请实施例步骤S504中,由于是以特征更新网络的输出作为动画生成网络的输入,因此,动画生成网络便直接根据输入其中的下一帧的组合特征来生成动画数据并输出。
在本申请实施例中,特征生成网络不是每一帧都运行,从而提高该方案运行时的性能和减少动画抖动。与此同时,通过特征更新网络,即便特征生成网络不是每一帧运行,也可以保证动画连贯和流畅。
图6为本申请实施例提供的一种特征生成网络的结构示意图。图7为本申请实施例提供的一种特征更新网络的结构示意图。图8为本申请实施例提供的一种动画生成网络的结构示意图。在图6至图8的示例中,特征生成网络的结构为六层的全连接网络,具有四个隐藏层,每一层隐藏层的单元数都是512。特征更新网络是一个四层的全连接网络,具有两个隐藏层,每一层隐藏层的单元数都是512。动画生成网络是一个三层的全连接网络,具有一个隐藏层。每一层隐藏层的单元数都是512。在其他的实现方式中,上述三种网络也可以包含其他数量的隐藏层数或者隐藏层包含其他数量的单元数。因此神经网络中6+4+2层级数量的网络结构和512单元数仅作为一个实现方式,此处不做限制。
前面在方法实施例中介绍了在查询特征的基础上生成虚拟对象的动画数据所使用的神经网络,并对其结构进行了示例性的说明。下面结合图9A介绍对于图5A所示的网络结构的神经网络训练方法。图9A为本申请实施例提供的一种神经网络的训练流程图。如图9A所示,训练该神经网络包括如下步骤:
S901:获取真实场景的动作捕捉数据。
获取真实场景的动作捕捉数据的目的是用来训练神经网络。动作捕捉技术在前面已经介绍过,其属于一种当前在电影制作、动画制作和游戏开发等领域中应用比较成熟的技术。本申请实施例中借助此项技术来获得真实场景中人体的动作捕捉数据。作为示例,本步骤可以通过以下方式实现:
设计动作捕捉路线和预设的多个需要捕捉的动作。动作主体(一般是人,例如演员,也可能为动物)在真实场景中按照预设的动作捕捉路线运动并执行预设的动作时,对动作主体进行动作捕捉,得到初始的动作捕捉数据。这些初始的动作捕捉数据一般可以直接应用到后续的步骤S902中。
在一些场景中,因采集动作捕捉数据的采集设备存在的信号噪声,导致捕捉到的数据中也存在了噪声。如果使用存在严重噪声的数据来训练神经网络,极易影响训练效果。未解决此问题,对于初始的动作捕捉数据,可以采取降噪的措施。举例而言,可以采用SG滤波器进行滤波的方案对初始的动作捕捉数据进行处理。对于每一帧的动作捕捉数据中的骨骼根节点的位置,采用前后N帧的数据,也就是总共2N+1帧的数据,进行一次最小二乘法的拟合。最小二乘法要求的是数据的平方差越小。然后再这个拟合曲线上选取当前帧的值为拟合之后的结果。需要说明的是,N的数值选取与动画的帧数量以及动画帧与帧之间的数据变化有关系,如果动画帧比较多,而且帧与帧之间的变化不大,那么N需要更大才能成功平滑降噪。一般来说N越大,那么降噪效果越强。作为示例,选取N=50。实际应用中还可以选用其他方式进行滤波,SG滤波器仅作为一个实现示例。通过滤波是动作捕捉数据中轨迹曲线更加平滑,减少了扰动。图9B和图9C为降噪前后根骨骼轨迹的示意图。结合图9B和图9C不难发现,经过降噪,以根骨骼轨迹为例的动作捕捉数据变得噪声降低,轨迹更加平滑。
在一些场景中,初始的动作捕捉数据的数据量较少,为了提升后续训练的神经网络的性能,可以对初始的动作捕捉数据进行扩充。其中,扩充方式可以包括通过镜像方法对初始的动作捕捉数据进行数据扩充,和/或,通过缩放时间轴的方式对初始的动作捕捉数据进行数据扩充。作为示例,镜像方法可以将动捕中左走镜像成右走,右走镜像成左走,从而增加每种模式的数据量。动画数据中,可能只捕捉了动作主体一次行走的数据,比如本次数据是先左脚前进然后右脚前进。为了扩充数据集,比如右脚先前进然后左脚跟着前进,就需要使用镜像方法进行扩充。缩放时间轴扩充数据的方式是指,使用增加或者减少轨迹速度的方式对数据进行扩充,此方法主要是把动画数据中的速率进行调整,用来模拟生成不同动作速度下的动作捕捉数据。比如初始的动作捕捉数据是在30秒的时间内完成了长达100米的路径的行走动作。通过放大时间轴,例如放大到2倍长度的时间轴,将原始的动作捕捉数据变换为在60秒的时间内完成长达100米的路径的行走动作。由此可见,放大时间轴即是降低了数据对应的执行主体的动作速度。类似地,缩短时间轴对应着提升了数据对应的执行主体的动作速度。例如,通过缩短时间轴,例如缩短到二分之一长度的时间轴,将原始的动作捕捉数据变换为在15秒的时间内完成长达100米的路径的行走动作。对于放大时间轴的实现方式,多出来的时间进行线性插值。对于缩短时间轴的实现方式,则可以依照时间序列对数据进行规律的过滤。通过以上方式对动作捕捉数据的扩充,为训练神经网络提供了海量数据支撑。有利于提升神经网络的性能。
除了降噪和数据扩充以外,由于真实场景与虚拟场景的坐标系差异,且最终获得的动画数据需要对应到虚拟场景的坐标系中,因此,还可以在本步骤中根据初始的动作捕捉数据为基础生成适配于虚拟场景引擎的坐标系下的数据。如此,便可以构建出用于训练神经网络的动作匹配技术的基础数据库。比如初始的动作捕捉数据是右手坐标系的数据,虚拟场景引擎的坐标系是Z轴向上的左手坐标系,可以根据坐标系关系进行转换,生成虚拟场景引擎的坐标系下的动作捕捉数据。
也就是在实际应用中,为了提升训练效果,可以对初始的动作捕捉数据通过以下至少一种预处理方式进行处理,得到处理后的动作捕捉数据:降噪、数据扩充或者生成适配于虚拟场景的引擎的坐标系下的数据。
S902:根据动作捕捉数据分别获取到动作主体的根运动数据、骨骼姿态信息和基础查询特征。
基础查询特征包括动作主体的轨迹特征和骨骼特征。此处基础查询特征与神经网络训练完毕后需要输入至特征生成网络的查询特征的数据类型一致。基础查询特征中的轨迹特征可以是根据动作主体的移动方向和位置生成;基础查询特征中的骨骼特征可以是根据当前动作主体的双足的运动信息得到。
根据动作捕捉数据获取到的动作主体的根运动数据和骨骼姿态信息为除了基础查询特征以外,本步骤从动作捕捉数据中得到的有助于训练特征生成网络、增加查询特征维度的信息。
S903:从动作主体的根运动数据和骨骼姿态信息提取出动作主体的特征值,将特征值作为辅助查询特征。
在本申请实施例中,S903可由另一训练得到的深度学习网络来完成。该神经网络的功能是提取特征值作为辅助查询特征。需要说明的是,本申请实施例中所指的特征,例如查询特征、基础查询特征、辅助查询特征、组合特征等,均可以通过特征向量来表示。辅助查询特征的向量表示又可称为辅助向量。辅助向量是由执行S903的深度学习网络生成的数字。向量的维度与特征维度一致。图10A为本申请实施例提供的一种能够提取辅助查询特征的深度学习网络的结构示意图。在图10A所示的深度学习网络可以是五层全连接网络,具备3个隐藏层。通过各个隐藏层后,逐渐得到代表输入数据的低纬度特征向量。最终输出的就是需要与基础查询特征的向量表示一并用以训练特征生成网络的辅助向量。
S904:根据基础查询特征和辅助查询特征得到运动主体的组合特征。
基础查询特征和辅助查询特征可得到运动主体的组合特征,通过辅助查询特征实现了在基础查询特征的基础上对查询特征增加维度。前面提到,特征生成网络的功能即是对查询特征增加特征维度,因此,本申请实施例中可以通过基础查询特征和组合特征作为一组训练数据对神经网络中的特征生成网络进行训练。其中,基础查询特征作为特征生成网络在训练阶段的输入,运动主体的组合特征作为针对前述输入的目标输出结果。参见下方S905。
S905:利用基础查询特征和运动主体的组合特征对神经网络中的特征生成网络进行训练。
在实际应用中可以设定对特征生成网络的训练截止条件。例如通过训练迭代的次数和/或损失函数来判定是否需要截止训练。类似地,对于特征更新网络和动画生成网络的训练也可以设置训练截止条件。在本申请实施例中,训练神经网络的过程分先后进行,先训练特征生成网络,再训练特征更新网络,最后训练动画生成网络。以此训练上述网络,能够尽可能保证每个网络训练后的性能。以此训练特征生成网络和动画生成网络的过程参见下方S906和S907。
S906:在特征生成网络训练完毕后,利用特征生成网络输出的当前帧的组合特征和根据动作主体的动作捕捉数据得到的动作主体在下一帧的组合特征,对神经网络中的特征更新网络进行训练。
其中,根据动作主体的动作捕捉数据得到的动作主体在下一帧的组合特征作为被训练的特征更新网络的目标输出结果,特征生成网络输出的当前帧的组合特征作为被训练的特征更新网络的实际输入。
S907:在特征更新网络训练完毕后,利用动作主体的根运动数据和骨骼姿态信息以及特征生成网络输出的动作主体在下一帧的组合特征,对动画生成网络进行训练。
其中,动作主体的根运动数据和骨骼姿态信息作为被训练的动画生成网络的目标输出结果,特征生成网络输出的动作主体在下一帧的组合特征作为被训练的动画生成网络的实际输入。
通过以上步骤训练得到了整个用于神经网络,即可用到本申请实施例提供的动画数据生成方法中。表1对比了传统动作匹配方法在各项内容上需要占据的存储量和本申请实施例提供的动画生成方法在各项内容上需要占据的存储量。
表1
传统动作匹配技术 | 本申请技术方案 | |
动画数据库 | 43M | 0M |
特征数据库 | 10M | 0M |
网络权重数据 | 0M | 5M |
总计存储 | 53M | 5M |
从表1中可知,相比于传统动作匹配技术方案,本申请能够大大节省生成动画数据时对于存储空间的占用量,提升了存储性能。图10B为传统动作匹配方法和本申请实施例提供的动画数据生成方法获得的动画效果示意图。左侧的人形动画为传统动作匹配方法得到的,右侧的人形动画为通过本申请技术方案得到的。结合图10B左右两侧的动画效果图不难发现,本申请技术方案最终得到的动画效果与传统动作匹配方法得到的动画效果非常接近。即,达到了较好的效果,满足动画数据生成的需求。在保证动画效果的基础上,存储性能的提升使得游戏运行更加顺畅,动画观看更加流畅。而存储性能上的改进,使存储方面有更多的余量可以支撑其他方面的改进,例如可以支撑游戏画质的进一步提升、存储更多的用户的游戏数据、增加更丰富的虚拟角色的相关数据或者场景数据等。从而进一步提升玩家的游戏体验。
下面结合游戏场景描述本申请实施例基于神经网络的动画数据生成方法的实际应用。某款游戏在终端设备上运行,玩家实时操作,通过鼠标和键盘控制虚拟对象在游戏场景中做出奔跑、跳跃、闪躲等动作。当玩家敲击键盘的F键,根据游戏的设置,玩家所控制的虚拟对象需要在虚拟的场景中做出跳跃动作。当玩家敲击键盘的T键,根据游戏的设置,玩家所控制的虚拟对象需要在虚拟的场景中奔跑。应用本申请实施例提供的方法,终端设备能够通过玩家以鼠标和/或键盘输入的动作控制信号中的控制参数和历史控制参数来确定玩家的动作控制意图,通过计算得到该虚拟对象的查询特征。当计算得到虚拟对象的查询特征之后,终端设备与远程的服务器通信,以调用神经网络。在调用神经网络的权重数据后,存储在终端设备本地。终端设备将查询特征作为神经网络的输入。神经网络是服务器中基于一些真实场景的动作捕捉数据预先训练好的,因此实际上,终端设备可以在本地存储神经网络的权重数据或者从服务器上调取并存储在本地的神经网络的权重数据,以基于输入内容来运算,最终输出虚拟对象的动画数据。终端设备通过游戏引擎的一些渲染方法,将虚拟对象的动画数据渲染为玩家在终端设备展示的游戏场景中可视的动画效果。当玩家敲击键盘的F键,通过以上方法,玩家所控制的虚拟对象在终端设备屏幕展示的虚拟的场景中凌空跳跃,动画展示出跳跃时虚拟对象变化的身姿和区别于其他姿势的分离间距较大的双足。当玩家敲击键盘的T键,通过以上方法,玩家所控制的虚拟对象在终端设备屏幕展示的虚拟场景中做出奔跑姿态,双臂来回规律摆动,展示超出行走姿态的腿部交替运动。从玩家开始在终端设备上进行控制到相应的动画效果展示在虚拟场景画面中,整个耗时非常短暂,游戏的其他画面展示不会受控制指令影响而产生卡顿、区域马赛克效果。
图11为本申请实施例提供的一种基于神经网络的动画数据生成装置的结构示意图。
如图11所示,基于神经网络的动画数据生成装置,包括:
查询特征生成单元111,用于根据虚拟场景的运行数据生成虚拟对象的查询特征,并以所述查询特征作为预先训练的神经网络的输入;所述查询特征包括所述虚拟对象的轨迹特征和骨骼特征;
组合特征生成单元112,用于通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征;
动画数据生成单元113,用于基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
由于该预先训练好的神经网络具备在查询特征基础上增加虚拟对象的特征维度并基于高维特征生成所述虚拟对象的动画数据的功能,因此能够满足对动画数据的生成需求。此外,由于神经网络的使用,在生成动画数据时不再需要沿用以往动作匹配技术的方式在内存中存储海量数据并从中查询匹配的动画;神经网络的使用只需要提前存储与神经网络相关的权重数据,因此整个方案的实施对于内存的占用量较低,进而避免了内存占用量高、在生成动画数据时查询性能不佳的问题。
图12为本申请实施例提供的另一种基于神经网络的动画数据生成装置的结构示意图。在图12示意的装置结构中,所述动画数据生成单元113,具体包括:
组合特征更新子单元,用于基于所述特征生成网络输出的所述虚拟对象在当前帧的组合特征,通过所述神经网络中的特征更新网络输出所述虚拟对象在当前帧的下一帧的组合特征;
动画数据生成子单元,用于基于所述虚拟对象在当前帧的下一帧的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
可选地,所述组合特征生成单元112,具体用于:
当所述查询特征的变化满足第一预设条件和/或所述特征生成网络距离前一次输出组合特征的时间间隔满足第二预设条件时,所述特征生成网络根据最新输入的查询特征输出组合特征。
可选地,所述组合特征更新子单元,具体用于:
基于所述特征生成网络输出的所述虚拟对象在当前帧的组合特征以及所述虚拟场景的引擎的帧间差,输出所述虚拟对象在当前帧的下一帧的组合特征。
可选地,所述基于神经网络的动画数据生成装置,还可以包括网络训练单元,用于通过训练得到神经网络。其中,网络训练单元具体包括:
动作捕捉数据获取子单元,用于获取真实场景的动作捕捉数据;
数据分析子单元,用于根据所述动作捕捉数据分别获取到动作主体的根运动数据、骨骼姿态信息和基础查询特征;所述基础查询特征包括所述动作主体的轨迹特征和骨骼特征;
特征值提取子单元,用于从所述动作主体的根运动数据和骨骼姿态信息提取出所述动作主体的特征值,将所述特征值作为辅助查询特征;
特征组合子单元,用于根据所述基础查询特征和所述辅助查询特征得到所述运动主体的组合特征;
第一训练子单元,用于利用所述基础查询特征和所述运动主体的组合特征对所述神经网络中的特征生成网络进行训练;
第二训练子单元,用于在所述特征生成网络训练完毕后,利用所述特征生成网络输出的当前帧的组合特征和根据所述动作主体的动作捕捉数据得到的所述动作主体在下一帧的组合特征,对所述神经网络中的特征更新网络进行训练;
第三训练子单元,用于在所述特征更新网络训练完毕后,利用所述动作主体的根运动数据和骨骼姿态信息以及所述特征生成网络输出的所述动作主体在下一帧的组合特征,对所述动画生成网络进行训练。
可选地,所述动作捕捉数据获取子单元,具体用于:
当动作主体在所述真实场景中按照预设的动作捕捉路线运动并执行预设的动作时,对所述动作主体进行动作捕捉,得到初始的动作捕捉数据;
对所述初始的动作捕捉数据通过以下至少一种预处理方式进行处理,得到处理后的动作捕捉数据:
降噪、数据扩充或者生成适配于所述虚拟场景的引擎的坐标系下的数据。
可选地,数据扩充方式,可以包括但不限于:
通过镜像方法对初始的动作捕捉数据进行数据扩充;和/或,
通过缩放时间轴的方式对初始的动作捕捉数据进行数据扩充。
可选地,所述查询特征生成单元111,包括:
信号提取子单元,用于从所述虚拟场景的运行数据中提取出针对所述虚拟对象的动作控制信号;
特征生成子单元,用于根据所述动作控制信号中的控制参数以及针对所述虚拟对象的历史动作控制信号中的历史控制参数,生成所述虚拟对象的轨迹特征和骨骼特征。
可选地,所述轨迹特征包括轨迹速度和轨迹方向,所述骨骼特征包括左脚骨骼位置信息、左脚骨骼旋转信息、右脚骨骼位置信息和右脚骨骼旋转信息;其中,所述轨迹为根据臀部骨骼的投影形成的。
下面就服务器形式和终端设备形式分别介绍基于神经网络的动画数据生成设备的结构。
图13是本申请实施例提供的一种服务器结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。
服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
其中,CPU 922用于执行如下步骤:
根据虚拟场景的运行数据生成虚拟对象的查询特征,并以所述查询特征作为预先训练的神经网络的输入;所述查询特征包括所述虚拟对象的轨迹特征和骨骼特征;
通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征;
基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
本申请实施例还提供了另一种基于神经网络的动画数据生成设备,如图14所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:PersonalDigital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为手机为例:
图14示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图14,手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:LowNoise Amplifier,英文缩写:LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:Global System of Mobile communication,英文缩写:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,GPRS)、码分多址(英文全称:CodeDivision Multiple Access,英文缩写:CDMA)、宽带码分多址(英文全称:Wideband CodeDivision Multiple Access,英文缩写:WCDMA)、长期演进(英文全称:Long TermEvolution,英文缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-Emitting Diode,英文缩写:OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图14中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体数据及信息收集。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1080还具有以下功能:
根据虚拟场景的运行数据生成虚拟对象的查询特征,并以所述查询特征作为预先训练的神经网络的输入;所述查询特征包括所述虚拟对象的轨迹特征和骨骼特征;
通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征;
基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种基于神经网络的动画数据生成方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种基于神经网络的动画数据生成方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述系统的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个系统可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的系统可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (13)
1.一种基于神经网络的动画数据生成方法,其特征在于,包括:
根据虚拟场景的运行数据生成虚拟对象的查询特征,并以所述查询特征作为预先训练的神经网络的输入;所述查询特征包括所述虚拟对象的轨迹特征和骨骼特征;
通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征;
基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据,包括:
基于所述特征生成网络输出的所述虚拟对象在当前帧的组合特征,通过所述神经网络中的特征更新网络输出所述虚拟对象在当前帧的下一帧的组合特征;
基于所述虚拟对象在当前帧的下一帧的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
3.根据权利要求2所述的方法,其特征在于,所述通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征,包括:
当所述查询特征的变化满足第一预设条件和/或所述特征生成网络距离前一次输出组合特征的时间间隔满足第二预设条件时,所述特征生成网络根据最新输入的查询特征输出组合特征。
4.根据权利要求2所述的方法,其特征在于,所述基于所述特征生成网络输出的所述虚拟对象在当前帧的组合特征,通过所述神经网络中的特征更新网络输出所述虚拟对象在当前帧的下一帧的组合特征,包括:
所述特征更新网络基于所述特征生成网络输出的所述虚拟对象在当前帧的组合特征以及所述虚拟场景的引擎的帧间差,输出所述虚拟对象在当前帧的下一帧的组合特征。
5.根据权利要求2所述的方法,其特征在于,所述神经网络为通过以下方式训练得到:
获取真实场景的动作捕捉数据;
根据所述动作捕捉数据分别获取到动作主体的根运动数据、骨骼姿态信息和基础查询特征;所述基础查询特征包括所述动作主体的轨迹特征和骨骼特征;
从所述动作主体的根运动数据和骨骼姿态信息提取出所述动作主体的特征值,将所述特征值作为辅助查询特征;
根据所述基础查询特征和所述辅助查询特征得到所述运动主体的组合特征;
利用所述基础查询特征和所述运动主体的组合特征对所述神经网络中的特征生成网络进行训练;
在所述特征生成网络训练完毕后,利用所述特征生成网络输出的当前帧的组合特征和根据所述动作主体的动作捕捉数据得到的所述动作主体在下一帧的组合特征,对所述神经网络中的特征更新网络进行训练;
在所述特征更新网络训练完毕后,利用所述动作主体的根运动数据和骨骼姿态信息以及所述特征生成网络输出的所述动作主体在下一帧的组合特征,对所述动画生成网络进行训练。
6.根据权利要求5所述的方法,其特征在于,所述获取真实场景的动作捕捉数据,包括:
当动作主体在所述真实场景中按照预设的动作捕捉路线运动并执行预设的动作时,对所述动作主体进行动作捕捉,得到初始的动作捕捉数据;
对所述初始的动作捕捉数据通过以下至少一种预处理方式进行处理,得到处理后的动作捕捉数据:
降噪、数据扩充或者生成适配于所述虚拟场景的引擎的坐标系下的数据。
7.根据权利要求6所述的方法,其特征在于,对所述初始的动作捕捉数据进行数据扩充,包括:
通过镜像方法对初始的动作捕捉数据进行数据扩充;和/或,
通过缩放时间轴的方式对初始的动作捕捉数据进行数据扩充。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述根据虚拟场景的运行数据生成虚拟对象的查询特征,包括:
从所述虚拟场景的运行数据中提取出针对所述虚拟对象的动作控制信号;
根据所述动作控制信号中的控制参数以及针对所述虚拟对象的历史动作控制信号中的历史控制参数,生成所述虚拟对象的轨迹特征和骨骼特征。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述轨迹特征包括轨迹速度和轨迹方向,所述骨骼特征包括左脚骨骼位置信息、左脚骨骼旋转信息、右脚骨骼位置信息和右脚骨骼旋转信息;其中,所述轨迹为根据臀部骨骼的投影形成的。
10.一种基于神经网络的动画数据生成装置,其特征在于,包括:
查询特征生成单元,用于根据虚拟场景的运行数据生成虚拟对象的查询特征,并以所述查询特征作为预先训练的神经网络的输入;所述查询特征包括所述虚拟对象的轨迹特征和骨骼特征;
组合特征生成单元,用于通过所述神经网络中的特征生成网络增加所述虚拟对象的特征维度,得到与所述查询特征匹配的组合特征;
动画数据生成单元,用于基于所述虚拟对象的组合特征,通过所述神经网络中的动画生成网络生成所述虚拟对象的动画数据。
11.一种基于神经网络的动画数据生成设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1至9中任一项所述的基于神经网络的动画数据生成方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1至9任一项所述的基于神经网络的动画数据生成方法的步骤。
13.一种计算机程序产品,其特征在于,包括计算机程序或指令,该计算机程序或指令被基于神经网络的动画数据生成设备执行时实现权利要求1至9任一项所述的基于神经网络的动画数据生成方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210832558.0A CN115222847A (zh) | 2022-07-15 | 2022-07-15 | 一种基于神经网络的动画数据生成方法、装置及相关产品 |
PCT/CN2023/091117 WO2024012007A1 (zh) | 2022-07-15 | 2023-04-27 | 一种动画数据生成方法、装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210832558.0A CN115222847A (zh) | 2022-07-15 | 2022-07-15 | 一种基于神经网络的动画数据生成方法、装置及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222847A true CN115222847A (zh) | 2022-10-21 |
Family
ID=83611189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210832558.0A Pending CN115222847A (zh) | 2022-07-15 | 2022-07-15 | 一种基于神经网络的动画数据生成方法、装置及相关产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115222847A (zh) |
WO (1) | WO2024012007A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024012007A1 (zh) * | 2022-07-15 | 2024-01-18 | 腾讯科技(深圳)有限公司 | 一种动画数据生成方法、装置及相关产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11017560B1 (en) * | 2019-04-15 | 2021-05-25 | Facebook Technologies, Llc | Controllable video characters with natural motions extracted from real-world videos |
CN111583364A (zh) * | 2020-05-07 | 2020-08-25 | 江苏原力数字科技股份有限公司 | 一种基于神经网络的群组动画生成方法 |
CN113570690A (zh) * | 2021-08-02 | 2021-10-29 | 北京慧夜科技有限公司 | 交互动画生成模型训练、交互动画生成方法和系统 |
CN114170353A (zh) * | 2021-10-21 | 2022-03-11 | 北京航空航天大学 | 一种基于神经网络的多条件控制的舞蹈生成方法及系统 |
CN114037781A (zh) * | 2021-11-12 | 2022-02-11 | 北京达佳互联信息技术有限公司 | 动画生成方法、装置、电子设备及存储介质 |
CN115222847A (zh) * | 2022-07-15 | 2022-10-21 | 腾讯数码(深圳)有限公司 | 一种基于神经网络的动画数据生成方法、装置及相关产品 |
-
2022
- 2022-07-15 CN CN202210832558.0A patent/CN115222847A/zh active Pending
-
2023
- 2023-04-27 WO PCT/CN2023/091117 patent/WO2024012007A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024012007A1 (zh) * | 2022-07-15 | 2024-01-18 | 腾讯科技(深圳)有限公司 | 一种动画数据生成方法、装置及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2024012007A1 (zh) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110930483B (zh) | 一种角色控制的方法、模型训练的方法以及相关装置 | |
WO2021043053A1 (zh) | 一种基于人工智能的动画形象驱动方法和相关装置 | |
CN111652121B (zh) | 一种表情迁移模型的训练方法、表情迁移的方法及装置 | |
WO2021143261A1 (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
CN111340211B (zh) | 一种动作控制模型的训练方法、相关装置及存储介质 | |
CN109949412A (zh) | 一种三维对象重建方法和装置 | |
WO2021098338A1 (zh) | 一种模型训练的方法、媒体信息合成的方法及相关装置 | |
CN109345614B (zh) | 基于深度强化学习的ar增强现实大屏互动的动画仿真方法 | |
US20210152751A1 (en) | Model training method, media information synthesis method, and related apparatuses | |
CN111598169B (zh) | 一种模型训练方法、游戏测试方法、模拟操作方法及装置 | |
CN111714880B (zh) | 画面的显示方法和装置、存储介质、电子装置 | |
CN103207667B (zh) | 一种人机互动的控制方法及其运用 | |
CN112206517B (zh) | 一种渲染方法、装置、存储介质及计算机设备 | |
US10885691B1 (en) | Multiple character motion capture | |
CN110325965B (zh) | 虚拟场景中的对象处理方法、设备及存储介质 | |
WO2024012007A1 (zh) | 一种动画数据生成方法、装置及相关产品 | |
CN112206519B (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
WO2023284634A1 (zh) | 一种数据处理方法及相关设备 | |
CN115526967A (zh) | 虚拟模型的动画生成方法、装置、计算机设备及存储介质 | |
CN116196611A (zh) | 基于挥手动作的体感游戏方法 | |
CN112330778A (zh) | 基于深度强化学习的ar增强现实大屏互动的动画仿真方法 | |
CN113559500B (zh) | 动作数据的生成方法、装置、电子设备及存储介质 | |
CN114519779B (zh) | 动作生成模型训练方法、装置、设备和存储介质 | |
CN112911356B (zh) | 一种虚拟现实vr视频的播放方法及相关设备 | |
Lan | Simulation of Animation Character High Precision Design Model Based on 3D Image |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40074972 Country of ref document: HK |