基于神经网络的动作生成方法、装置及计算设备

文档序号:192769 发布日期:2021-11-02 浏览:43次 >En<

阅读说明:本技术 基于神经网络的动作生成方法、装置及计算设备 (Action generation method and device based on neural network and computing equipment ) 是由 周城 张冲 王天舟 李珽光 李世迪 于 2021-01-14 设计创作,主要内容包括:本申请实施例提供一种基于神经网络的动作生成方法、装置及计算设备,该方法包括:获取第i帧图像中目标物的动作信息和动作相位值,根据第i帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中目标物的动作信息和动作相位变化量;根据终端设备的播放帧率和预设采集帧率,确定第一帧率变化系数,并根据第一帧率变化系数,以及第i帧图像中目标物的动作相位值和第i+1帧图像中目标物的动作相位变化量,得到第i+1帧图像中目标物的动作相位值;根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息。实现变帧率环境下的动作生成,且存储负担小。(The embodiment of the application provides a neural network-based action generation method, a neural network-based action generation device and computing equipment, wherein the method comprises the following steps: acquiring motion information and a motion phase value of a target object in the ith frame image, and generating the motion information and the motion phase variation of the target object in the (i &#43; 1) th frame image by using a neural network according to the motion information and the motion phase value of the target object in the ith frame image; determining a first frame rate change coefficient according to the playing frame rate and a preset acquisition frame rate of the terminal device, and obtaining an action phase value of a target object in an i &#43;1 frame image according to the first frame rate change coefficient, the action phase value of the target object in the i &#43;1 frame image and the action phase change amount of the target object in the i &#43;1 frame image; and generating the motion information of the target object in the i &#43;2 th frame image by using a neural network according to the motion information and the motion phase value of the target object in the i &#43;1 th frame image. The method realizes the action generation under the environment of variable frame rate and has small storage burden.)

基于神经网络的动作生成方法、装置及计算设备

技术领域

本申请实施例涉及人工智能技术领域,尤其涉及一种基于神经网络的动作生成方法、装置及计算设备。

背景技术

动作生成在游戏制作和机器人规划和控制领域都有重要意义。动作生成技术主要有两类,一类是重复播放已有动作素材,另一类则利用神经网络对已有动作素材库进行学习,然后利用神经网络直接生成动作。

在实际应用中,由于网络同步、动作效果和硬件能力等的限制,动作的播放帧率会发生变化,这就要求动作生成技术必须能够适应变帧率的环境。目前利用神经网络生成动作的技术,通过维护多个不同帧率的模型,实现变帧率的环境动作的生成。

但是,维护多个不同帧率的模型需要耗费较多的存储资源。

发明内容

本申请实施例提供一种基于神经网络的动作生成方法、装置及计算设备,实现在变帧率环境下使用神经网络生成动作时,减小存储资源的耗费。

第一方面,本申请实施例提供一种基于神经网络的动作生成方法,包括:

获取第i帧图像中目标物的动作信息和动作相位值,所述i为正整数;

根据所述第i帧图像中所述目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中所述目标物的动作信息和动作相位变化量;

根据所述第i+1帧图像中所述目标物的动作信息,在终端设备显示所述第i+1帧图像;

根据播放所述第i帧图像时终端设备的播放帧率和采集所述目标物的原始动作数据的预设采集帧率,确定第一帧率变化系数;

根据所述第一帧率变化系数,以及所述第i帧图像中所述目标物的动作相位值和所述第i+1帧图像中所述目标物的动作相位变化量,得到所述第i+1帧图像中所述目标物的动作相位值;

根据所述第i+1帧图像中所述目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中所述目标物的动作信息。

可选的,所述动作信息包括所述目标物的骨骼关节信息、轨迹信息和目标点信息中的一个或多个。

例如,所述骨骼关节信息包括骨骼关节的位置、速度和方向中的一个或多个。

例如,所述轨迹信息包括位置、方向、动作类型和地形信息中的一个或多个。

例如,所述目标点信息包括所述目标点的位置、方向和动作类型中的一个或多个。

第二方面,本申请实施例提供一种基于神经网络的动作生成装置,包括:

获取单元,用于获取第i帧图像中目标物的动作信息和动作相位值,i为正整数;

第一生成单元,用于根据第i帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中目标物的动作信息和动作相位变化量;

显示单元,用于根据所述第i+1帧图像中所述目标物的动作信息,在终端设备显示所述第i+1帧图像;

第一确定单元,用于根据播放第i帧图像时终端设备的播放帧率和采集目标物的原始动作数据的预设采集帧率,确定第一帧率变化系数;

第二确定单元,用于根据第一帧率变化系数,以及第i帧图像中目标物的动作相位值和第i+1帧图像中目标物的动作相位变化量,得到第i+1帧图像中目标物的动作相位值;

第二生成单元,用于根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息。

本申请实施例的动作生成装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在一种可能的实现方式中,上述第二生成单元,具体用于根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,上述第二生成单元,具体用于获得用户输入的对目标物的控制指令;根据控制指令,生成目标物的第一动作信息;将第一动作信息和第i+1帧图像中目标物的动作信息进行融合,得到目标物的融合动作信息;将第i+1帧图像中目标物的动作相位值和融合动作信息输入神经网络,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,上述第二生成单元,具体用于将第i+1帧图像中目标物的动作信息和动作相位值进行混合,得到第一混合输入信息;将第一混合输入信息输入神经网络,得到神经网络生成第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,神经网络包括混合系数网络和主网络,上述第二生成单元,具体用于将第i+1帧图像中目标物的动作信息输入主网络,将第i+1帧图像中目标物的动作相位值输入混合系数网络,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,上述第二确定单元,具体用于根据第一帧率变化系数和第i+1帧图像中目标物的动作相位变化量,得到第二动作相位变化量;根据第二动作相位变化量和第i帧图像中目标物的动作相位值,得到第i+1帧图像中目标物的动作相位值。

在一种可能的实现方式中,上述第二确定单元,具体用于将第一帧率变化系数与第i+1帧图像中目标物的动作相位变化量的乘积,作为第二动作相位变化量。

在一种可能的实现方式中,上述第二确定单元,具体用于将第二动作相位变化量和第i帧图像中目标物的动作相位值之和,作为第i+1帧图像中目标物的动作相位值。

其中,第一帧率变化系数随着终端设备的播放帧率的增大而减小。

在一些实施例中,上述动作生成装置还包括训练单元:

训练单元,用于采集目标物的原始动作数据;对原始动作数据中的每一类型的动作进行动作相位标注,得到原始动作数据中每一帧图像中目标物的动作相位值;使用标注后的原始动作数据,对神经网络进行训练。

在一种可能的实现方式中,上述训练单元,具体用于针对原始动作数据中的每一类型动作,标注类型动作的关键点的动作相位值;根据类型动作的关键点的动作相位值进行插值,得到原始动作数据中每一帧图像中目标物关于类型动作的动作相位值。

在一种可能的实现方式中,上述训练单元,具体用于针对原始动作数据中的第一帧图像,将第一帧图像中目标物的原始动作信息和原始动作相位值输入神经网络,获得神经网络输出的第二帧图像中目标物的预测动作信息和预测动作相位变化量,第二帧图像为原始动作数据中第一帧图像的下一帧图像;根据第一帧图像中目标物的原始动作相位值和第二帧图像中目标物的预测动作相位变化量,得到第二帧图像中目标物的预测动作相位值;根据第二帧图像中目标物的原始动作信息和预测动作信息、以及原始动作相位值和预测动作相位值,对神经网络中的参数进行调整。

在一种可能的实现方式中,上述训练单元,具体用于将第一帧图像中目标物的原始动作信息和原始动作相位值进行融合,得到融合后的训练信息;将融合后的训练信息输入神经网络。

在一种可能的实现方式中,神经网络包括混合系数网络和主网络,上述训练单元,具体用于将第一帧图像中目标物的原始动作信息输入主网络,将第一帧图像中目标物的原始动作相位值输入混合系数网络。

可选的,动作信息包括目标物的骨骼关节信息、轨迹信息和目标点信息中的一个或多个。

可选的,骨骼关节信息包括骨骼关节的位置、速度和方向中的一个或多个。

可选的,轨迹信息包括位置、方向、动作类型和地形信息中的一个或多个。

可选的,目标点信息包括目标点的位置、方向和动作类型中的一个或多个。

第三方面,本申请实施例提供一种计算设备,包括处理器和存储器;

所述存储器,用于存储计算机程序;

所述处理器,用于执行所述计算机程序以实现上述第一方面所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括计算机指令,当所述指令被计算机执行时,使得所述计算机实现如第一方面所述的方法。

第五方面,本申请实施例提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,计算机的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得计算机实施第一方面所述的方法。

本申请实施例提供的基于神经网络的动作生成方法、装置及计算设备,通过获取第i帧图像中目标物的动作信息和动作相位值,根据第i帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中目标物的动作信息和动作相位变化量,并根据生成的第i+1帧图像中目标物的动作信息,在终端设备上显示该第i+1帧图像;接着,根据播放第i帧图像时终端设备的播放帧率和采集目标物的原始动作数据的预设采集帧率,确定第一帧率变化系数,并根据第一帧率变化系数,以及第i帧图像中目标物的动作相位值和第i+1帧图像中目标物的动作相位变化量,得到第i+1帧图像中目标物的动作相位值;最后,根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息。由此可知,本申请通过帧率的变化情况来调整动作相位值,并将调整后的动作相位与动作信息作为神经网络的输入,进而实现变帧率环境下的动作生成,且无需同时维护多个神经网络模型,运算和存储负担小,且效果稳定。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例涉及的神经网络的训练方法的一种流程示意图;

图2为本申请实施例提供的模型训练过程示意图;

图3为本申请实施例涉及动作采集和动作映射的示意图;

图4为本申请实施例涉及的动作相位的标注示意图;

图5为本申请实施例涉及的神经网络结构示意图;

图6为本申请实施例提供的基于神经网络的动作生成方法的一种流程示意图;

图7为本申请实施例涉及的引入控制指令时的动作生成过程示意图;

图8为本申请实施例提供的基于神经网络的动作生成装置的一种结构示意图;

图9为本申请实施例涉及的计算设备的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

本申请实施例涉及人工智能技术领域,具体涉及一种基于神经网络的动作生成方法、装置及计算设备。

为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

应理解,在本发明实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。

在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。

另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

首先对已有的动作生成技术进行介绍。

动作生成是游戏和机器人控制领域的重要研究课题。在游戏制作方面,角色的动作质量是衡量游戏质量的重要因素之一。因此游戏制作公司会投入大量的人力物力来绘制角色动作,在多样性、稳定性、自然度、对环境的适应力等方面,来提高其表现力。在机器人规划控制方面,机器人需要能根据任务和环境的不同,自主规划出合理的动作序列,流畅、高效地完成指定任务。动作生成技术也是其中的关键一环。

动作生成技术目前主要有两大类方法:

第一类方法基于重复播放已有动作素材,主要包括限状态机(Finite-StateMachine)和动作匹配(Motion Matching)两种方法。

其中,限状态机方法,是用有向图的方式来标记动作及其切换。通过过渡算法或人工绘制得到过渡动作,完成一个动作到另一个动作的切换。这种方式不但需要制作大量的动作节点和过渡动画,而且需要消耗大量存储空间。

其中,动作匹配方法,是通过构造合适的损失函数实现了不同动作片段从帧到帧的自然过渡,通过损失函数找到动作素材库中最为匹配的下一帧,从而避免了大量过渡动画的制作。找最合适的切换帧需要消耗大量的运算资源,且根据不同动作类型构造合适的损失函数也是一个非常困难的问题。

第二类方法则是基于神经网络。这种方法生成的动作更加自然、流畅且多样,并且能够更好地适应周边环境和地形,但现有的此类方法无法适应播放帧率变化的情况。在实际应用中,由于网络同步、动作效果和硬件能力等的限制,动作的播放帧率会发生变化,这就要求动作生成技术必须能够适应变帧率的环境。基于现有的神经网络的方法,在这种情况下必须维护多个帧率的模型,来保证在指定时间点前后,都生成了动作数据。而维护多个帧率模型的成本很高。

为了解决上述技术问题,本申请引入动作相位的标注,在实际动作生成过程中,通过获取第i帧图像中目标物的动作信息和动作相位值,根据第i帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中目标物的动作信息和动作相位变化量,并根据生成的第i+1帧图像中目标物的动作信息,在终端设备上显示该第i+1帧图像;根据播放第i帧图像时终端设备的播放帧率和采集目标物的原始动作数据的预设采集帧率,确定第一帧率变化系数,并根据第一帧率变化系数,以及第i帧图像中目标物的动作相位值和第i+1帧图像中目标物的动作相位变化量,得到第i+1帧图像中目标物的动作相位值;最后,根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息。由此可知,本申请通过帧率的变化情况来调整动作相位的值,并将调整后的动作相位与动作信息作为神经网络的输入,进而实现变帧率环境下的动作生成,无需同时维护多个神经网络模型,运算和存储负担小,且效果稳定。

下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

首先对神经网络的训练过程进行介绍。

图1为本申请实施例涉及的神经网络的训练方法的一种流程示意图。如图1所示,本申请实施例的方法包括:

S301、采集目标物的原始动作数据。

本申请实施例的执行主体为具有模型训练功能的装置,例如动作生成装置。在一些实施例中,该动作生成装置为计算设备。在一些实施例中,上述动作生成装置为计算设备中具有数据处理功能的单元,例如为计算设备中的处理器。本申请实施例以执行主体为计算设备为例进行说明。

图2为本申请实施例提供的模型训练过程示意图,如图2所示,主要包括:数据采集、数据预处理、数据标注、神经网络模型构建和模型训练和部署。

其中,数据采集、数据预处理和数据标注可以理解训练数据的处理,在实际应用中,使用处理后的训练数据对构建的神经网络进行训练,并在部署后的神经网络未达到预期时,可以根据神经网络的部署效果,对神经网络和训练参数进行调整,直到符合预期为止。

如图3所示,首先由专业动作演员身穿带有传感器的服装,根据预先设计的脚本,采集动作的原始数据,例如走、跑、跳等。

采集动作的原始数据时,由于标定、遮挡、信号传输、传感器精度等原因,造成采集的原始数据会出现跳点、不连续和局部错位等问题。因此,在原始数据采集完成后需要进行数据预处理,例如由技术人员或美术人员进行专门调整,保证动作连续,避免出现异常骨骼。此外,由于动作演员在身高、体型、骨骼等方面与目标物,例如游戏中角色或者机器人存在差异,因此需要将采集到的动作重定向到目标物的骨骼上,例如采用三维动画软件(MAYA、3DMAX等)中骨骼重定向功能,将采集到的动作重定向到目标物的骨骼上,得到目标物的原始动作数据。

在一些实施例中,还可以直接对目标物的原始动作数据在帧率变化范围内进行额外的插值,从而得到多帧率下的原始动作数据。

S302、对原始动作数据中的每一类型的动作进行动作相位标注,得到原始动作数据中每一帧图像中目标物的动作相位值。

动作的类型包括:走、跳、出拳、踢腿等等。

目标物的原始动作数据包括预测的类型的动作,针对每一种类型的动作进行动作相位标注。

例如,以动作类型为走为例,可以对目标物在走的过程中不同状态使用不同的相位进行标注,例如左脚触地时对应的动作相位值为0,右脚触地时对应的动作相位为1,其他状态时对应的动作相位值根据0和1进行插值得到。

在一些实施例中,上述S302包括如下S302-A1和S302-A2:

S302-A1、针对原始动作数据中的每一类型动作,标注该类型动作的关键点的动作相位值;

S302-A2、根据该类型动作的关键点的动作相位值进行插值,得到原始动作数据中每一帧图像中目标物关于该类型动作的动作相位值。

在该实现方式中,通过对原始动作数据中每一类型动作的关键点进行动作相位值标注,并根据标注的关键点的动作相位值进行插值,可以得到原始动作数据中每一帧图像中目标物关于每一类型动作的动作相位值。

以走路为例,如图4所示,其中上部图形表示目标物在行走过程在右脚(R)触地和左脚(L)触地的时间点。下部图形为对上部图形中关键点进行动作相位值标注得到的标注序列,具体是右脚(R)触地对应动作相位值为0,左脚(L)触地对应动作相位值为0.5,其他状态按照时间进行插值,依此类推,可以得到图4所示的行走过程中动作相位值的标注序列。可选的,在动作相位的标注中,除了使用如图4中的周期性的分段函数外,还可以使用连续的周期函数如正弦和余弦函数。

对于非周期动作如向前攻击,可以选取动作在位姿上的突变状态作为标记关键节点,例如,出拳的起点位置对应的动作相位值为0,终点位置对应的动作相位值为0.5,拳头收回的位置对应的动作相位值为1,其他状态按照时间进行插值,进而得到向前攻击过程中不同状态对应的动作相位值。

在一些实施例中,假设目标物的原始动作数据中包括3种动作类型,分别为第一动作类型、第二动作类型和第三动作类型。根据上述方法,对3种动作类型中每一种动作类型的动作相位值进行标注,进而得到原始动作数据中的每一帧图像中目标物的动作相位值,例如每一帧图像中目标物的动作相位值=(p1,p2,p3),其中p1为第一动作类型在该帧图像中对应的动作相位值,p2为第二动作类型在该帧图像中对应的动作相位值,p3为第三动作类型在该帧图像中对应的动作相位值。

举例说明,假设对于原始动作数据中的时间t1对应的第A1帧图像,该第A1帧图像包括的第一动作类型(例如走)和第二动作类型(例如向前攻击),其中第一动作类型的状态(例如左脚触地)对应的动作相位值为0.5。第二动作类型的状态(例如收拳)对应的动作相位值为1。这样可以获得第A1帧图像中目标物的动作相位=(0.5,1,0)。

根据上述方法对原始动作数据中的每一类型的动作进行动作相位标注,得到原始动作数据中每一帧图像中目标物的动作相位值,接着执行S303。

S303、使用标注后的原始动作数据,对神经网络进行训练。

目标物的动作相位值和动作信息之间的关系是,将两帧之间目标物的动作相位变化值调大,则目标物的动作变快,将两帧之间目标物的动作相位变化值调小,则目标物的动作变慢。

基于此,本申请使用动作相位值标注后的原始动作数据,对神经网络进行训练,使得神经网络可以根据目标物的动作相位值来预测该动作相位值对应的目标物的动作信息。在变帧率的情况下,可以通过帧率的变化量来调整目标物的动作相位值的大小,进而使得神经网络基于调整后的目标物的动作相位值,生成变帧率情况下目标物的动作信息。

在一些实施例中,上述S303包括如下S303-A1至S303-A3:

S303-A1、针对原始动作数据中的第一帧图像,将第一帧图像中目标物的原始动作信息和原始动作相位值输入神经网络,获得神经网络输出的第二帧图像中目标物的预测动作信息和预测动作相位变化量,其中,第一帧图像为原始动作数据中的任一帧图像,其中第二帧图像为原始动作数据中第一帧图像的下一帧图像;

S303-A2、根据第一帧图像中目标物的原始动作相位值和第二帧图像中目标物的预测动作相位变化量,得到第二帧图像中目标物的预测动作相位值;

S303-A3、根据第二帧图像中目标物的原始动作信息和预测动作信息、以及原始动作相位值和预测动作相位值,对神经网络中的参数进行调整。

本申请的神经网络主要包括输入、输出和网络结构三部分构成,其中输入包括当前帧中目标物的原始动作信息和原始动作相位值。输出包括下一帧中目标物的预测动作信息和预测动作相位差。

其中,动作信息包括:目标物的骨骼关节信息、轨迹信息和目标点信息中的一个或多个。

其中,骨骼关节信息包括骨骼关节的位置、速度和方向中的一个或多个。

其中,轨迹信息包括位置、方向、动作类型和地形信息中的一个或多个。

其中,目标点信息包括目标点的位置、方向和动作类型中的一个或多个。

在一种示例中,神经网络的输入X和输出Y的内容如表1所示:

表1

其中,当前帧图像可以理解为第一帧图像,下一帧图像可以理解为第二帧图像。

需要说明的,神经网络的输入和输出的内容包括但不限于表1所示,可以包括比表1更多或更少的信息,本申请对此不做限制,但是输入至少包括目标物的动作相位值,输出至少包括目标物的动作相位变化量。

在一些实施例中,上述S303-A1中将第一帧图像中目标物的原始动作信息和原始动作相位值输入神经网络的方式包括但不限于如下几种:

方式一,将第一帧图像中目标物的原始动作信息和原始动作相位值进行融合,得到融合后的训练信息,将融合后的训练信息输入神经网络。

例如,利用位置编码将第一帧图像中目标物的原始动作信息和原始动作相位值直接进行融合,其中位置编码的方式有多种,这里使用正余弦位置编码,位置编码公式如公式(1)和(2)所示:

其中,PE为二维矩阵,phase为目标物的原始动作相位值,d是原始动作信息的维度,j=0,1,2……,2j和2j+1代表在目标物的动作信息向量中的位置。

可选的,在上述位置编码中除了使用正余弦位置编码,还可以使用学习位置编码和相对位置表达等多种方法。

可选的,还可以使用卷积等其他已有的运算方法将第一帧图像中目标物的原始动作信息和原始动作相位值进行融合。

方式二,神经网络包括混合系数网络和主网络,将第一帧图像中目标物的原始动作信息输入主网络,将第一帧图像中目标物的原始动作相位值输入混合系数网络。

例如,如图5所示,假设本申请的神经网络为混合专家模型,该混合专家模型包括3个专家网络和一个混合系数网络,其中3个专家网络可以理解为主网络,将第一帧图像中目标物的原始动作信息(例如骨骼信息、轨迹信息、目标点信息等)输入主网络,将目标物的动作相位值等相位信息输入混合系数网络,最后该混合专家模型输出第二帧图像中目标物的预测动作相位值和预测动作相位变化量。

接着,根据第一帧图像中目标物的原始动作相位值和第二帧图像中目标物的预测动作相位变化量,得到第二帧图像中目标物的预测动作相位值。例如,将第一帧图像中目标物的原始动作相位值和第二帧图像中目标物的预测动作相位变化量相加,得到第二帧图像中目标物的预测动作相位值。

本申请还需要明确损失函数,例如使用最小二乘损失函数。

这样在明确损失函数后,根据第二帧图像中目标物的原始动作信息和预测动作信息、以及原始动作相位值和预测动作相位值,利用链式法则,计算损失函数对神经网络中各参数的导数,然后根据所使用的优化算法更新神经网络的参数,重复上述步骤,直到神经网络训练完成为止。

本申请通过对采集的原始动作数据中的每一类型的动作进行动作相位标注,得到原始动作数据中每一帧图像中目标物的动作相位值,并使用标注后的原始动作数据,对神经网络进行训练,使得训练后的神经网络可以生成不同动作相位值对应的动作信息,这样在变帧率的环境中,可以通过帧率的变化来调整目标物的动作相位,并将调整后的动作相位与动作信息作为神经网络的输入,进而实现变帧率环境下的动作生成,无需同时维护多个神经网络模型,运算和存储负担小,且效果稳定。

上文介绍了神经网络的训练过程,下面结合图6对基于上述训练好的神经网络生成目标物的动作信息的具体过程进行描述。

图6为本申请实施例提供的基于神经网络的动作生成方法的一种流程示意图,如图6所示,包括:

S801、获取第i帧图像中目标物的动作信息和动作相位值。

上述i为正整数。

若上述i等于1,即上述第i帧图像为第一帧图像,则第一帧图像中目标物的动作相位值为预设初始值,例如为0。

若上述i大于或等于2,则第i帧图像的动作相位值Pi是根据第i-1帧图像中目标物的动作相位值Pi-1和神经网络输出的第i帧图像中目标物的动作相位变化量ΔPi确定的,例如,Pi=Pi-1+ΔPi。

上述第i帧图像可以理解为当前帧图像。

上述目标物的动作信息包括目标物的骨骼关节信息、轨迹信息和目标点信息中的一个或多个。

可选的,骨骼关节信息包括骨骼关节的位置、速度和方向中的一个或多个。

可选的,轨迹信息包括位置、方向、动作类型和地形信息中的一个或多个。

可选的,目标点信息包括目标点的位置、方向和动作类型中的一个或多个。

S802、根据第i帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中目标物的动作信息和动作相位变化量。

例如,将第i帧图像中目标物的动作信息和动作相位值输入神经网络,得到神经网络生成的第i+1帧图像中目标物的动作信息和动作相位变化量。

S803、根据第i+1帧图像中所述目标物的动作信息,在终端设备显示第i+1帧图像。

可选的,上述S803可以在S804之前执行,即根据上述S802生成第i+1帧图像中目标物的动作信息后,立即根据生成的第i+1帧图像中目标物的动作信息,在终端设备显示该第i+1帧图像。

可选的,上述S803可以S804和S805之后执行,即根据上述S802生成第i+1帧图像中目标物的动作信息后,根据S804和S805的方法得到第i+1帧图像中目标物的动作相位值后,在终端设备上显示该第i+1帧图像。

本申请并不对显示第i+1帧的具体时机进行限制。

S804、根据播放第i帧图像时终端设备的播放帧率和采集目标物的原始动作数据的预设采集帧率,确定第一帧率变化系数。

其中,第一帧率变化系数随着终端设备的播放帧率的增大而减小。

由于网络同步、动作效果和硬件能力等的限制,播放第i帧图像时终端设备的播放帧率发生变化,与上述S301中采集目标物的原始动作数据的预设采集帧率不同,例如,预设采集帧率为60帧每秒,而终端设备的播放帧率为30帧每秒。这样可以根据预设采集帧率和终端设备的播放帧率来确定第一帧率变化系数。

例如,将预设采集帧率与终端设备的播放帧率的比值作为第一帧率变化系数。

再例如,根据预设的运算规则,基于预设采集帧率与终端设备的播放帧率,得到第一帧率变化系数。

S805、根据第一帧率变化系数,以及第i帧图像中目标物的动作相位值和第i+1帧图像中目标物的动作相位变化量,得到第i+1帧图像中目标物的动作相位值。

在一些实施例中,上述S805包括如下S805-A1和S805-A2:

S805-A1、根据第一帧率变化系数和第i+1帧图像中目标物的动作相位变化量,得到第二动作相位变化量。

例如,将第一帧率变化系数与第i+1帧图像中目标物的动作相位变化量的乘积,作为第二动作相位变化量。

S805-A2、根据第二动作相位变化量和第i帧图像中目标物的动作相位值,得到第i+1帧图像中目标物的动作相位值。

例如,将第二动作相位变化量和第i帧图像中目标物的动作相位值之和,作为第i+1帧图像中目标物的动作相位值。

S806、根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息。

本申请,当终端设备的播放帧率小于预设采集帧率时,例如终端设备的播放帧率为30帧每秒,预设采集帧率为60帧每秒,通过第一帧率变化系数来增大目标物的动作相位变化量,以实现目标物的动作加速,防止终端设备卡顿。

当终端设备的播放帧率大于预设采集帧率时,例如终端设备的播放帧率为120帧每秒,预设采集帧率为60帧每秒,通过第一帧率变化系数来减小目标物的动作相位变化量,以实现目标物的动作减速,进而保证终端设备的显示效果。

在一些实施例中,上述S806包括S806-A:

S806-A、根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息和动作相位变化量。

上述S806-A的实现方式包括但不限于如下几种:

方式一,将第i+1帧图像中目标物的动作信息和动作相位值进行混合,得到第一混合输入信息;将第一混合输入信息输入神经网络,得到神经网络生成第i+2帧图像中目标物的动作信息和动作相位变化量。

例如,利用位置编码将第i+1帧图像中目标物的动作信息和动作相位值进行混合,或者,使用卷积等其他已有的运算方法将第i+1帧图像中目标物的动作信息和动作相位值进行混合。该方式的具体实现过程参照上述S303-A3中方式一的描述,在此不再赘述。

方式二,若神经网络包括混合系数网络和主网络,此时,上述S806-A包括:将第i+1帧图像中目标物的动作信息输入主网络,将第i+1帧图像中目标物的动作相位值输入混合系数网络,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

参照图5所示,假设本申请的神经网络为混合专家模型,该混合专家模型包括3个专家网络和一个混合系数网络,其中3个专家网络可以理解为主网络,将第i+1帧图像中目标物的动作信息(例如骨骼信息、轨迹信息、目标点信息等)输入主网络,将目标物的动作相位值等相位信息输入混合系数网络,最后该混合专家模型输出第i+2帧图像中目标物的动作相位值和动作相位变化量。

在一些实施例中,如图7所示,在实际应用过程中需要考虑用户对目标物(例如游戏人物或者机器人)的控制指令,此时,上述S806-A包括如下S806-A1至S806-A4:

S806-A1、获得用户输入的对目标物的控制指令。例如图7所示的控制指令包括W、S、A、D,其中W用于指示目标物向上运动,S用于指示目标物向下运动,A用于指示目标物向左运动,D用于指示目标物向右运动。

S806-A2、根据控制指令,生成目标物的第一动作信息。例如,用户输入的控制指令为D,则计算设备根据该控制指令D生成目标物的第一动作信息,该第一动作信息中包括向走的运行轨迹、以及骨骼关节信息和目标点信息等。

S806-A3、将第一动作信息和第i+1帧图像中目标物的动作信息进行融合,得到目标物的融合动作信息。例如,利用已有的融合方式,将第一动作信息中的运行轨迹、以及骨骼关节信息和目标点信息分别与第i+1帧图像中目标物的动作信息中的运行轨迹、以及骨骼关节信息和目标点信息进行融合,得到目标物的融合动作信息。

S806-A4、将第i+1帧图像中目标物的动作相位值和融合动作信息输入神经网络,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

在一些实施例中,参照上述S806-A中的方式一,将第i+1帧图像中目标物的动作相位值和融合动作信息进行融合作为神经网络的输入,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

在一些实施例中,神经网络包括混合系数网络和主网络,参照上述S806-A中方式二,将融合动作信息输入主网络,将第i+1帧图像中目标物的动作相位值输入混合系数网络,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

参照上述示例生成第i+2帧图像中目标物的动作信息后,根据生成第i+2帧图像中目标物的动作信息,在终端设备上显示该第i+2帧图像。

本申请通过获取第i帧图像中目标物的动作信息和动作相位值,根据第i帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中目标物的动作信息和动作相位变化量,并根据生成的第i+1帧图像中目标物的动作信息,在终端设备上显示该第i+1帧图像;接着,根据播放第i帧图像时终端设备的播放帧率和采集目标物的原始动作数据的预设采集帧率,确定第一帧率变化系数,并根据第一帧率变化系数,以及第i帧图像中目标物的动作相位值和第i+1帧图像中目标物的动作相位变化量,得到第i+1帧图像中目标物的动作相位值;最后,根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息。由此可知,本申请通过帧率的变化情况来调整动作相位的值,并将调整后的动作相位与动作信息作为神经网络的输入,进而实现变帧率环境下的动作生成,无需同时维护多个神经网络模型,运算和存储负担小,且效果稳定。

图8为本申请实施例提供的基于神经网络的动作生成装置的一种结构示意图。该动作生成装置可以是计算设备,也可以是计算设备的部件(例如,集成电路,芯片等等)。如图8所示,该动作生成装置100可以包括:

获取单元110,用于获取第i帧图像中目标物的动作信息和动作相位值,i为正整数;

第一生成单元120,用于根据第i帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+1帧图像中目标物的动作信息和动作相位变化量;

显示单元170,用于根据第i帧图像中目标物的动作信息,在终端设备上显示该第i帧图像。

第一确定单元130,用于根据播放第i帧图像时终端设备的播放帧率和采集目标物的原始动作数据的预设采集帧率,确定第一帧率变化系数;

第二确定单元140,用于根据第一帧率变化系数,以及第i帧图像中目标物的动作相位值和第i+1帧图像中目标物的动作相位变化量,得到第i+1帧图像中目标物的动作相位值;

第二生成单元150,用于根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息。

本申请实施例的动作生成装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在一种可能的实现方式中,上述第二生成单元150,具体用于根据第i+1帧图像中目标物的动作信息和动作相位值,使用神经网络生成第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,上述第二生成单元150,具体用于获得用户输入的对目标物的控制指令;根据控制指令,生成目标物的第一动作信息;将第一动作信息和第i+1帧图像中目标物的动作信息进行融合,得到目标物的融合动作信息;将第i+1帧图像中目标物的动作相位值和融合动作信息输入神经网络,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,上述第二生成单元150,具体用于将第i+1帧图像中目标物的动作信息和动作相位值进行混合,得到第一混合输入信息;将第一混合输入信息输入神经网络,得到神经网络生成第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,神经网络包括混合系数网络和主网络,上述第二生成单元150,具体用于将第i+1帧图像中目标物的动作信息输入主网络,将第i+1帧图像中目标物的动作相位值输入混合系数网络,得到神经网络生成的第i+2帧图像中目标物的动作信息和动作相位变化量。

在一种可能的实现方式中,上述第二确定单元140,具体用于根据第一帧率变化系数和第i+1帧图像中目标物的动作相位变化量,得到第二动作相位变化量;根据第二动作相位变化量和第i帧图像中目标物的动作相位值,得到第i+1帧图像中目标物的动作相位值。

在一种可能的实现方式中,上述第二确定单元140,具体用于将第一帧率变化系数与第i+1帧图像中目标物的动作相位变化量的乘积,作为第二动作相位变化量。

在一种可能的实现方式中,上述第二确定单元140,具体用于将第二动作相位变化量和第i帧图像中目标物的动作相位值之和,作为第i+1帧图像中目标物的动作相位值。

其中,第一帧率变化系数随着终端设备的播放帧率的增大而减小。

在一些实施例中,上述动作生成装置100还包括训练单元160:

训练单元160,用于采集目标物的原始动作数据;对原始动作数据中的每一类型的动作进行动作相位标注,得到原始动作数据中每一帧图像中目标物的动作相位值;使用标注后的原始动作数据,对神经网络进行训练。

在一种可能的实现方式中,上述训练单元160,具体用于针对原始动作数据中的每一类型动作,标注类型动作的关键点的动作相位值;根据类型动作的关键点的动作相位值进行插值,得到原始动作数据中每一帧图像中目标物关于类型动作的动作相位值。

在一种可能的实现方式中,上述训练单元160,具体用于针对原始动作数据中的第一帧图像,将第一帧图像中目标物的原始动作信息和原始动作相位值输入神经网络,获得神经网络输出的第二帧图像中目标物的预测动作信息和预测动作相位变化量,第二帧图像为原始动作数据中第一帧图像的下一帧图像;根据第一帧图像中目标物的原始动作相位值和第二帧图像中目标物的预测动作相位变化量,得到第二帧图像中目标物的预测动作相位值;根据第二帧图像中目标物的原始动作信息和预测动作信息、以及原始动作相位值和预测动作相位值,对神经网络中的参数进行调整。

在一种可能的实现方式中,上述训练单元160,具体用于将第一帧图像中目标物的原始动作信息和原始动作相位值进行融合,得到融合后的训练信息;将融合后的训练信息输入神经网络。

在一种可能的实现方式中,神经网络包括混合系数网络和主网络,上述训练单元160,具体用于将第一帧图像中目标物的原始动作信息输入主网络,将第一帧图像中目标物的原始动作相位值输入混合系数网络。

可选的,动作信息包括目标物的骨骼关节信息、轨迹信息和目标点信息中的一个或多个。

可选的,骨骼关节信息包括骨骼关节的位置、速度和方向中的一个或多个。

可选的,轨迹信息包括位置、方向、动作类型和地形信息中的一个或多个。

可选的,目标点信息包括目标点的位置、方向和动作类型中的一个或多个。

本申请实施例的动作生成装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图9为本申请实施例涉及的计算设备的框图,该计算设备用于执行上述实施例所述的动作生成方法,具体参见上述方法实施例中的说明。

图9所示的计算设备200包括存储器201、处理器202、通信接口203。存储器201、处理器202、通信接口203之间彼此通信连接。例如,存储器201、处理器202、通信接口203之间可以采用网络连接的方式,实现通信连接。或者,上述计算设备200还可以包括总线204。存储器201、处理器202、通信接口203通过总线204实现彼此之间的通信连接。图9是以存储器201、处理器202、通信接口203通过总线204实现彼此之间的通信连接的计算设备200。

存储器201可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器201可以存储程序,当存储器201中存储的程序被处理器202执行时,处理器202和通信接口203用于执行上述方法。

处理器202可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。

处理器202还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的方法可以通过处理器202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器202还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器202读取存储器201中的信息,结合其硬件完成本申请实施例的方法。

通信接口203使用例如但不限于收发器一类的收发模块,来实现计算设备200与其他设备或通信网络之间的通信。例如,可以通过通信接口203获取数据集。

当上述计算设备200包括总线204时,总线204可包括在计算设备200各个部件(例如,存储器201、处理器202、通信接口203)之间传送信息的通路。

根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。

根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。

综上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:骨骼映射方法和装置、设备、存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!