CN115841534A - 虚拟对象的运动控制方法以及装置 - Google Patents
虚拟对象的运动控制方法以及装置 Download PDFInfo
- Publication number
- CN115841534A CN115841534A CN202211330305.XA CN202211330305A CN115841534A CN 115841534 A CN115841534 A CN 115841534A CN 202211330305 A CN202211330305 A CN 202211330305A CN 115841534 A CN115841534 A CN 115841534A
- Authority
- CN
- China
- Prior art keywords
- motion
- key point
- sample
- information
- image
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本说明书实施例提供虚拟对象的运动控制方法以及装置,其中所述虚拟对象的运动控制方法包括:获取目标对象的图像序列;对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息;根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角;针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。通过确定关键点运动向量和关键点偏转角,保证目标运动序列满足动力学,提高了运动控制的真实性与自然性,可以用于虚拟人交互。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种虚拟对象的运动控制方法。本说明书一个或者多个实施例同时涉及一种虚拟对象的运动控制装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序。
背景技术
随着互联网技术的发展,虚拟对象在各种场景下得到广泛应用,例如,在虚拟现实/增强现实领域,以及视频中的虚拟角色、游戏中的虚拟角色、网络页面或者应用软件上的虚拟客服对象、电影制作中的虚拟角色等等。而虚拟角色动作的真实感是反映虚拟角色与环境、现实世界交互真实、自然感的关键因素之一。
目前,需要专业动画师手动设计虚拟对象的关键帧,然后通过线性插值的方式生成虚拟对象的运动序列,通过运动序列对虚拟角色进行运动控制。然而,上述方案中,需要消耗大量人力成本,并且难以保证虚拟对象运动过程的真实性,因此,亟需一种可以还原真实运动过程的虚拟对象运动控制方案。
发明内容
有鉴于此,本说明书实施例提供了一种虚拟对象的运动控制方法。本说明书一个或者多个实施例同时涉及一种虚拟对象的运动控制方法装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种虚拟对象的运动控制方法,包括:
获取目标对象的图像序列,其中,图像序列包括多个图像;
对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;
根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;
针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;
根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。
根据本说明书实施例的第二方面,提供了一种虚拟对象的运动控制装置,包括:
获取模块,被配置为获取目标对象的图像序列,其中,图像序列包括多个图像;
检测模块,被配置为对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;
第一确定模块,被配置为根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;
第二确定模块,被配置为针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;
第三确定模块,被配置为根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟对象的运动控制方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述虚拟对象的运动控制方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟对象的运动控制方法的步骤。
本说明书一个实施例提供的虚拟对象的运动控制方法,获取目标对象的图像序列,其中,图像序列包括多个图像;对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。通过根据关键点运动向量和关键点偏转角,确定目标对象的三维运动姿态信息,避免违反人体运动学的运动姿态的生成,保证目标运动序列满足动力学,提高了运动控制的真实性与自然性。
附图说明
图1是本说明书一个实施例提供的一种虚拟对象的运动控制系统的框架图;
图2是本说明书一个实施例提供的另一种虚拟对象的运动控制系统的框架图;
图3是本说明书一个实施例提供的一种虚拟对象的运动控制方法的流程图;
图4是本说明书一个实施例提供的一种关键点检测模型的训练方法的流程图;
图5是本说明书一个实施例提供的一种信息生成模型的训练方法的流程图;
图6是本说明书一个实施例提供的一种轨迹回归模型的训练方法的流程图;
图7是本说明书一个实施例提供的另一种虚拟对象的运动控制方法的流程图;
图8是本说明书一个实施例提供的一种虚拟对象的运动控制方法的处理过程流程图;
图9是本说明书一个实施例提供的一种虚拟对象的运动控制装置的结构示意图;
图10是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
正向动力学(FK,Forward Kinematics):正向动力学是骨骼驱动的角色动画的重要概念,基于此,父层级的骨骼运动会直接带到其子层级的骨骼运动,保证整个骨骼运动满足动力学原理。
神经正向动力学(Neural FK,Neural Forward Kinematics):神经正向动力学是将正向动力学算法引入到深度神经网络中,将其作为网络中的可微层,保证其在深度神经网络中可以进行反向梯度传播。
3D人体运动序列重建:目标是从图像空间中估计出人体在三维空间中的骨骼和关节点位置,从而重建出自然的人体运动序列,其中,关节点也可以理解为关键点。
统一资源定位符(URL,Universal Resource Locator):统一资源定位符又被称为网页地址,是互联网上标准的资源的地址(Address)。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置。
虚拟角色动作的真实感是反映虚拟角色与环境、现实世界交互真实、自然感的关键因素之一。基于传统计算机动画的动作制作方法通常需要专业动画师手动设计角色的关键帧,然后通过线性插值的方式生成动画序列,整体制作流程不仅成本高,而且数据链路较长,且不具有良好的可拓展性,无法支持用户生成内容(UGC,User Generated Content)的交互玩法,其中,虚拟角色也即虚拟对象。
目前,以对象为人为例,可以从图像序列中直接端到端回归出三维(3D,3-Dimension)人体关键点位置信息;还可以从图像视频中检测得到二维(2D,2-Dimension)人体关键点,再从二维人体关键点直接回归出三维人体关键点。
然而,上述直接回归三维人体的关键点的3D位置的方法存在以下问题:在现有动画软件中对虚拟角色进行骨骼适配的时候需要的是人体骨骼关节点的偏转角(欧拉角形式),而从3D关键点到人体骨骼偏转角的计算属于反向动力学问题(IK,InverseKinematics),是一个容易出现无解和多解的复杂问题。并且,上述方法中忽略了回归关节点位在运动过程中是否满足正向运动学,因此会导致人体运动过程中骨骼长度无法保证;人体运动关节点偏转角不一定满足人体工程学,有可能会出现胳膊肘外翻等现象。
为了解决上述问题,本方案提出一种低成本的对象运动序列重建方法。以对象为人为例,本方案以骨骼驱动的角色动画为基础算法原理,以图像序列为输入,采用2D骨骼→3D骨骼的两阶人体运动序列重建方案,结合时序信息通过深度神经网络直接回归得到3D骨骼的长度和各个关节点的偏转角,偏转角可以以四元数形式表示,并通过Neural FK层重构出3D人体运动,从而人体关节点的运动符合正向动力学,生成自然的人体运动序列,降低虚拟角色动画的生成成本,更好地支持多种交互玩法。
需要说明的是,可以利用Human3.6M中人体运动的李代数角表示转化为骨骼向量和关节点的四元数表示,其中,Human3.6M是用于3D人体位姿估计研究的大型数据集。传统方案中常用的数据为D3_Positions,实际为世界坐标系下的3D人体骨骼关键点,D3_Angles是世界坐标系下的人体各个关节角的旋转角度,以李代数形式存储。而本说明书实施例提供的方案,网络学习与预测均发生在相机坐标空间,因此,可以经过以下步骤生成人体骨骼向量和关节点偏转角:先将李代数角转化为欧拉角,再将欧拉角转化为四元数,最后基于相机参数将世界坐标系下的四元数转化为相机坐标系下的四元数。
特别地,本方案并不直接学习得到3D人体骨骼运动的点位,而是学习3D人体骨骼的长度和关节点的偏转角,随后通过嵌入到深度神经网络中的神经正向动力学层重构出3D人体运动序列,这不仅与传统计算机动画对于骨骼运动的定义保持一致,还能够在深度神经网络中直接加入关节点偏转角的约束,从而尽可能避免违反人体运动学的运动姿态的生成,从而保证重建的动作满足人体动力学,且具有真实、自然的特性。
具体地,本方案提供了一种虚拟对象的运动控制方法,获取目标对象的图像序列,其中,图像序列包括多个图像;对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。通过根据关键点运动向量和关键点偏转角,确定目标对象的三维运动姿态信息,避免违反人体运动学的运动姿态的生成,保证目标运动序列满足动力学,提高了运动控制的真实性与自然性。
在本说明书中,提供了一种虚拟对象的运动控制方法,本说明书同时涉及一种虚拟对象的运动控制装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了本说明书一个实施例提供的一种虚拟对象的运动控制系统的框架图,其中,虚拟对象的运动控制系统包括服务端100和客户端200;
客户端200,用于向服务端100发送目标对象的图像序列,其中,图像序列包括多个图像;
服务端100,用于获取目标对象的图像序列;对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。
应用本说明书实施例的方案,获取目标对象的图像序列,其中,图像序列包括多个图像;对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。通过根据关键点运动向量和关键点偏转角,确定目标对象的三维运动姿态信息,避免违反人体运动学的运动姿态的生成,保证目标运动序列满足动力学,提高了运动控制的真实性与自然性。
参见图2,图2示出了本说明书一个实施例提供的另一种虚拟对象的运动控制系统的框架图,该系统可以包括服务端100以及多个客户端200。多个客户端200之间通过服务端100可以建立通信连接,在虚拟对象的运动控制场景中,服务端100即用来在多个客户端200之间提供虚拟对象的运动控制服务,多个客户端200可以分别作为发送端或接收端,通过服务端100实现实时通信。
用户通过客户端200可与服务端100进行交互,以接收其它客户端200发送的数据,或将数据发送至其它客户端200等。在虚拟对象的运动控制场景中,可以是用户通过客户端200向服务端100发布数据流,服务端100根据该数据流进行虚拟对象的运动控制处理,并将目标运动序列推送至其他建立通信的其他客户端中。
其中,客户端200与服务端100之间通过网络建立连接。网络为客户端与服务端之间提供了通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。客户端200所传输的数据可能需要经过编码、转码、压缩等处理之后才发布至服务端100。
客户端200可以为浏览器、APP(Application,应用程序)、或网页应用如H5(HyperText Markup Language5,超文本标记语言第5版)应用、或轻应用(也被称为小程序,一种轻量级应用程序)或云应用等,客户端200可以基于服务端提供的相应服务的软件开发工具包(SDK,Software Development Kit),如基于实时通信(RTC,Real Time Communication)SDK开发获得等。客户端200可以部署在电子设备中,需要依赖设备运行或者设备中的某些APP而运行等。电子设备例如可以具有显示屏并支持信息浏览等,如可以是个人移动终端如手机、平板电脑、个人计算机等。在电子设备中通常还可以配置各种其它类应用,例如人机对话类应用、模型训练类应用、文本处理类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
服务端100可以包括提供各种服务的服务器,例如为多个客户端提供通信服务的服务器,又如为客户端上使用的模型提供支持的用于后台训练的服务器,又如对客户端发送的数据进行处理的服务器等。
需要说明的是,服务端100可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
值得说明的是,本说明书实施例中提供的虚拟对象的运动控制方法一般由服务端执行,但是,在本说明书的其它实施例中,客户端也可以与服务端具有相似的功能,从而执行本说明书实施例所提供的虚拟对象的运动控制方法。在其它实施例中,本说明书实施例所提供的虚拟对象的运动控制方法还可以是由客户端与服务端共同执行。
参见图3,图3示出了本说明书一个实施例提供的一种虚拟对象的运动控制方法的流程图,具体包括以下步骤:
步骤302:获取目标对象的图像序列,其中,图像序列包括多个图像。
本发明一个或多个实施例中,为了实现对虚拟对象的运动控制,可以获取目标对象的图像序列,对目标对象的图像序列进行分析处理,从而获得目标对象的目标运动序列,通过目标运动序列对目标对象对应的虚拟对象进行运动控制。
具体地,图像序列可以是由多个图像组成的序列,还可以是视频数据,图像序列中的多个图像即为视频数据中的多个视频帧。目标对象是指实物对象,包括但不限于人、动物、机器人、交通工具。目标对象的图像序列中包括目标对象运动数据。
实际应用中,获取目标对象的图像序列的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
本说明书一种可能的实现方式中,可以根据目标对象的属性信息,在预设数据库中查找目标对象的图像序列。其中,目标对象的属性信息包括目标对象的身份标识号(ID,Identity document)、出厂编码、形状、体积等。
本说明书另一种可能的实现方式中,可以通过与客户端之间建立的数据传输通道,接收客户端发送的目标对象的图像序列。
示例性地,客户端可以直接将目标对象的图像序列上传服务端。为了节省传输资源,还可以将图像序列的统一资源定位符(URL,Universal Resource Locator)发送至服务端,由服务端根据URL获取目标对象的图像序列。进一步地,还可以对目标对象的图像序列进行加密,保证数据传输的安全性。
步骤304:对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点。
本说明书一个或多个实施例中,获取目标对象的图像序列之后,可以对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息。
具体地,关键点是指目标对象中的关键点,若目标对象为动物或人,则关键点即为骨骼关节点,若目标对象为汽车,则关键点为汽车的结构关键点。二维结构信息,也可以理解为二维的运动关键点序列。
需要说明的是,在对多个图像进行关键点检测之后,可以确定每个图像中目标对象的二维结构信息。在确定每个图像中目标对象的二维结构信息之后,由于图像序列中包含多个图像的时序信息,因此,可以根据各图像的时序信息,将各图像中目标对象的二维结构信息进行合并,生成图像序列中目标对象的二维结构信息。通过考虑时序信息,使得确定的图像序列中目标对象的二维结构信息符合动力学。
示例性地,假设图像序列中包括3个图像,这三个图像分别为图像A、图像B、图像C,这三个图像的时序信息为图像B在图像A之后,图像C在图像B之后。分别对这三个图像进行关键点检测,获得图像A中目标对象的二维结构信息A、获得图像B中目标对象的二维结构信息B、获得图像C中目标对象的二维结构信息C。根据图像A、图像B和图像C的时序信息,确定图像序列中目标对象的二维结构信息为{二维结构信息A,二维结构信息B,二维结构信息C}。
值得说明的是,在对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息之后,还可以采用一欧元(one-euro)滤波对其进行平滑,提高二维结构信息的平滑性。
实际应用中,对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
本说明书一种可能的实现方式中,可以根据目标对象的属性信息,确定目标对象对应的关键点检测模板,将多个图像与关键点检测模板进行匹配,确定各图像中,目标对象的多个运动关键点。
本说明书另一种可能的实现方式中,可以利用关键点检测模型,对目标对象的图像序列中包括的多个图像进行关键点检测,确定各图像中目标对象的多个运动关键点,也即,上述对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息的步骤,可以包括以下步骤:
分别将多个图像输入关键点检测模型中,经关键点检测模型的检测,确定图像序列中目标对象的二维结构信息,其中,关键点检测模型为机器学习模型。
具体地,机器学习模型可以理解为经过训练的程序,可以在新数据中发现模式并进行预测。这些模型表示为一个数学函数,它以输入数据的形式接受请求,对输入数据进行预测,然后提供输出作为响应。关键点检测模型包括但不限于卷积姿态机(CPMs,Convolutional Pose Machines)、级联金字塔网络(CPN,Cascaded Pyramid Network)、高分辨率网络(HRNet,High-Resolution Network)等,还可以是对初始检测模型(KeypointDetection Net)进行训练获得的关键点检测模型。
应用本说明书实施例的方案,分别将多个图像输入关键点检测模型中,经关键点检测模型的检测,确定图像序列中目标对象的二维结构信息,提高了确定目标对象的二维结构信息的效率以及准确性。
本说明书一种可选的实施例中,关键点检测模型的训练方式,可以包括以下步骤:
获取第一样本集,其中,第一样本集中包括多个样本图像,每个样本图像中携带样本对象的二维结构标签;
对多个样本图像进行对象检测,根据检测结果对多个样本图像进行剪裁,获得多个剪裁样本图像,其中,样本图像和剪裁样本图像是一一对应的;
对多个剪裁样本图像进行偏移处理,确定各剪裁样本图像对应的至少一个偏移样本图像;
根据多个剪裁样本图像、各剪裁样本图像对应的至少一个偏移样本图像和多个样本图像携带的二维结构标签,对初始检测模型进行训练,获得关键点检测模型。
本说明书实施例中,由于从图像序列中恢复目标运动序列的过程中,对二维结构信息的稳定性有着较高的要求,而传统的关键点检测算法通常是基于图像的算法,直接运动到视频上会因为运动模糊、图像间噪声等因素产生抖动的二维结构信息,直接影响到确定目标运动序列的质量。针对上述问题,本说明书实施例提出了一种提升二维结构信息稳定性的深度神经网络优化方案,也即关键点检测模型的训练方案。
需要说明的是,获取第一样本集的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。本说明书一种可能的实现方式中,可以是人工输入大量样本图像组成第一样本集。本说明书另一种可能的实现方式中,可以是从其他数据获取设备或者数据库中读取大量样本图像组成第一样本集。
在获取包括多个样本图像的第一样本集之后,由于各样本图像的大小可能不同,因此,可以对多个样本图像进行对象检测,如人体检测(Human Detection)。根据检测结果对多个样本图像进行剪裁,获得各样本图像对应的剪裁样本图像。对多个样本图像进行对象检测的方式,可以是利用人体检测模型,还可以利用人体检测模板,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
进一步地,为了提升二维结构信息的稳定性,可以模拟图像抖动,对各剪裁样本图像进行偏移处理,确定各剪裁样本图像对应的至少一个偏移样本图像。偏移样本图像可以视为对剪裁样本图像进行抖动后的图像,上述确定偏移样本图像的方式,也可以理解为数据增强的过程。
应用本说明书实施例的方案,获取第一样本集,其中,第一样本集中包括多个样本图像,每个样本图像中携带样本对象的二维结构标签,对多个样本图像进行对象检测,根据检测结果对多个样本图像进行剪裁,获得多个剪裁样本图像,降低了模型训练数据量,提高了模型训练的效率。对多个剪裁样本图像进行偏移处理,确定各剪裁样本图像对应的至少一个偏移样本图像,模拟了运动模糊、图像间噪声等因素产生的抖动,使得训练后的模型可以生成稳定性高的二维结构信息。
本说明书实施例中,在获得多个剪裁样本图像、各剪裁样本图像对应的至少一个偏移样本图像之后,可以对初始检测模型进行训练,上述根据多个剪裁样本图像、各剪裁样本图像对应的至少一个偏移样本图像和多个样本图像携带的二维结构标签,对初始检测模型进行训练,获得关键点检测模型的步骤,可以包括以下步骤:
从多个剪裁样本图像中提取第一剪裁样本图像,并从第一剪裁样本图像对应的至少一个偏移样本图像中提取第一偏移样本图像,其中,第一剪裁样本图像为多个剪裁样本图像中的任一个,第一偏移样本图像为至少一个偏移样本图像中的任一个;
将第一剪裁样本图像输入初始检测模型中,确定第一预测二维结构信息,将第一偏移样本图像输入初始检测模型中,确定第二预测二维结构信息;
确定第一剪裁样本图像对应的第一样本图像,并提取第一样本图像携带的第一二维结构标签;
对比第一预测二维结构信息和第一二维结构标签,计算第一结构损失值;
对比第二预测二维结构信息和第一二维结构标签,计算第二结构损失值;
对比第一预测二维结构信息和第二预测二维结构信息,计算第三结构损失值;
根据第一结构损失值、第二结构损失值和第三结构损失值,调整初始检测模型的模型参数,并返回执行从多个剪裁样本图像中提取第一剪裁样本图像的步骤,在达到第一预设停止条件的情况下,获得关键点检测模型。
参见图4,图4示出了本说明书一个实施例提供的一种关键点检测模型的训练方法的流程图。
以第一样本图像为例,对第一样本图像进行对象检测,根据检测结果对第一样本图像进行剪裁,获得第一剪裁样本图像。对第一剪裁样本图像进行偏移处理,确定第一剪裁样本图像对应的第一偏移样本图像。将第一剪裁样本图像输入初始检测模型中,确定第一预测二维结构信息,将第一偏移样本图像输入初始检测模型中,确定第二预测二维结构信息。确定第一剪裁样本图像对应的第一样本图像,并提取第一样本图像携带的第一二维结构标签。对比第一预测二维结构信息和第一二维结构标签,计算第一结构损失值;对比第二预测二维结构信息和第一二维结构标签,计算第二结构损失值;对比第一预测二维结构信息和第二预测二维结构信息,计算第三结构损失值;根据第一结构损失值、第二结构损失值和第三结构损失值,对初始检测模型进行训练,获得关键点检测模型。
本说明书一种可能的实现方式中,第一训练停止条件包括第一结构损失值、第二结构损失值、第三结构损失值均小于或等于第一预设阈值。在将第一剪裁样本图像输入初始检测模型中,确定第一预测二维结构信息,将第一偏移样本图像输入初始检测模型中,确定第二预测二维结构信息,确定第一剪裁样本图像对应的第一样本图像,并提取第一样本图像携带的第一二维结构标签,对比第一预测二维结构信息和第一二维结构标签,计算第一结构损失值,对比第二预测二维结构信息和第一二维结构标签,计算第二结构损失值,对比第一预测二维结构信息和第二预测二维结构信息,计算第三结构损失值之后,可以将第一结构损失值、第二结构损失值、第三结构损失值与第一预设阈值进行比较。
需要说明的是,第一结构损失值、第二结构损失值、第三结构损失值可以对应同一个第一预设阈值。还可以为第一结构损失值、第二结构损失值、第三结构损失值分别设置不同的第一预设阈值。当然,还可以将第一结构损失值、第二结构损失值、第三结构损失值进行加权,确定结构总损失值,将结构总损失与第一预设阈值进行比较。其中,第一预设阈值具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
具体地,若第一结构损失值、第二结构损失值、第三结构损失值大于第一预设阈值,则说明第一预测二维结构信息和第一二维结构标签、第二预测二维结构信息和第一二维结构标签、第一预测二维结构信息和第二预测二维结构信息之间的差异较大,也即初始检测模型的检测能力较差。此时,可以根据第一结构损失值、第二结构损失值和第三结构损失值,对初始检测模型的模型参数进行调整,并返回执行从多个剪裁样本图像中提取第一剪裁样本图像的步骤,继续对初始检测模型进行训练,直至第一结构损失值、第二结构损失值、第三结构损失值均小于或等于第一预设阈值,说明第一预测二维结构信息和第一二维结构标签、第二预测二维结构信息和第一二维结构标签、第一预测二维结构信息和第二预测二维结构信息之间的差异较小,达到第一训练停止条件,获得完成训练的关键点检测模型。
本说明书另一种可能的实现方式中,除了比较第一结构损失值、第二结构损失值、第三结构损失值和第一预设阈值的大小关系之外,还可以结合迭代次数,确定当前的初始检测模型是否训练完成。
具体地,若第一结构损失值、第二结构损失值、第三结构损失值大于第一预设阈值,则调整初始检测模型的模型参数,并返回执行从多个剪裁样本图像中提取第一剪裁样本图像的步骤,继续对初始检测模型进行训练,在达到第一预设迭代次数的情况下,停止迭代,得到完成训练的关键点检测模型,其中,第一预设迭代次数具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
实际应用中,计算第一结构损失值、第二结构损失值、第三结构损失值的函数有很多,如交叉熵损失函数、L1范数损失函数、最大损失函数、均方误差损失函数、对数损失函数等。本说明书实施例中,可以采用以下公式(1)计算第一结构损失值、第二结构损失值、第三结构损失值:
ESEloss=∑i∈[1,k]||pi-pi GT||2 (1)
其中,k为剪裁样本图像的数量,k为正整数,i为第i个剪裁样本图像,GT(GroundTruth)为真实值,Pi为初始检测模型输出的第i个剪裁样本图像的预测二维结构信息,Pi GT为第i个剪裁样本图像的真实二维结构信息。
应用说明书实施例的方案,对比第一预测二维结构信息和第一二维结构标签,计算第一结构损失值,对比第二预测二维结构信息和第一二维结构标签,计算第二结构损失值,对比第一预测二维结构信息和第二预测二维结构信息,计算第三结构损失值,将第一结构损失值、第二结构损失值、第三结构损失值与第一预设阈值进行比较,在大于第一预设阈值的情况下继续训练初始检测模型,直至第一结构损失值、第二结构损失值、第三结构损失值均小于或等于第一预设阈值的情况下完成训练,通过不断对初始检测模型的模型参数进行调整,能使最终得到的关键点检测模型更加精准。
步骤306:根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向。
步骤308:针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息。
本说明书一个或多个实施例中,获取目标对象的图像序列,对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息之后,可以根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息。
具体地,运动关键点的关键点信息包括但不限于关键点相对于目标关键点的相对坐标、运动关键点的序号等,运动关键点之间的运动距离也可以理解为两个运动关键点之间的骨骼长度,骨骼长度定义了当前关节点坐标系到其父亲节点坐标系的平移变换,关键点偏转角定义了当前关节坐标系到父亲节点坐标系的旋转变换,关键点偏转角的数量与关键点的数量一致。三维运动姿态信息是指目标对象的多个运动关键点在三维中相对于目标运动关键点的相对坐标。
需要说明的是,根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息的方式有多种,本说明书一种可能的实现方式中,可以利用正向动力学求解,本说明书另一种可能的实现方式中,可以利用信息生成模型进行求解,也即,上述根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角的步骤,可以包括以下步骤:
利用信息生成模型的回归模块,对多个关键点信息进行回归处理,确定各图像中目标对象的关键点运动向量和关键点偏转角;
上述根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息的步骤,可以包括以下步骤:
利用信息生成模型的转换模块,对关键点运动向量和关键点偏转角进行转换处理,确定目标对象的三维运动姿态信息。
具体地,信息生成模型中的回归模块可以是卷积神经网络(CNN,ConvolutionalNeural Networks),在回归模块的模块结构中,包括两个输出头,分别预测关键点偏转角和绑定姿势(T-pose)下的关键点运动向量。转换模块也即Neural FK层,转换模块中仅涉及矩阵的数值计算,因此可以生成一个可插拔模块,连接到信息生成模型中,通过可微数值运算,从对关键点运动向量和关键点偏转角重建出目标对象的三维运动姿态信息。
本说明书实施例中,由于二维转换到三维具有空间奇异性,为了缓解升维带来的深度问题,可以采用多帧数据预测或多视角预测,利用多帧二维数据进行重建,获得三维运动姿态信息。信息生成模型的核心是从多个运动关键点的关键点信息直接回归到关键点运动向量和关键点偏转角,然后通过转换模块重建处相对于目标运动关键点的三维运动姿态信息,其中,目标运动关键点也可理解为根节点,在人体中,根节点可以为盆骨点。为了充分利用时序信息,本方案中可以采用多帧重建技术,也即将多个图像的二维结构信息输入信息生成模型中,输出一帧重建的三维运动姿态信息。
应用本说明书实施例的方案,利用信息生成模型的回归模块,对多个关键点信息进行回归处理,确定各图像中目标对象的关键点运动向量和关键点偏转角,利用信息生成模型的转换模块,对关键点运动向量和关键点偏转角进行转换处理,确定目标对象的三维运动姿态信息,提高了确定目标对象三维运动姿态信息的效率以及准确性。
需要说明的是,上述利用信息生成模型的转换模块,对关键点运动向量和关键点偏转角进行转换处理,确定目标对象的三维运动姿态信息的步骤,可以包括以下步骤:
获取预先设置的旋转矩阵;
利用旋转矩阵,对关键点运动向量和关键点偏转角进行转换处理,确定目标对象的三维运动姿态信息。
本说明书实施例中,正向动力学求解的是关节坐标系到世界坐标系的变换。所谓关节坐标系,指的是以某个关节为原点的坐标系,代表了骨骼链式结构上某一节点的局部坐标空间。若有父亲节点Jp和通过旋转矩阵R和平移向量T定义的子节点Jc,则Jp和Jc之间存在如下关系Jc=Jp+R·T。关节偏转角可以通过数值运算转化为旋转矩阵。若有标准化的四元数q=ω+xi+yj+zk,其中i,j,k为四元数的虚部且i2=j2=k2=i·j·k=-1,其代表的旋转矩阵可以通过以下公式(2)表示:
其中,R为旋转矩阵,ω表示旋转量,x、y、z分别为X轴、Y轴、Z轴上的向量。
应用本说明书实施例的方案,获取预先设置的旋转矩阵,利用旋转矩阵,对关键点运动向量和关键点偏转角进行转换处理,确定目标对象的三维运动姿态信息,使得三维运动姿态符合动力学。
本说明书一种可选的实施例中,信息生成模型的训练方式,可以包括以下步骤:
获取第二样本集,其中,第二样本集中包括多个回归样本图像,每个回归样本图像携带回归样本对象的二维结构信息和测试标签,二维结构信息包括回归样本对象的多个运动关键点;
将多个回归样本对象的二维结构信息输入初始生成模型的初始回归模块中,确定各回归样本对象的预测关键点运动向量和预测关键点偏转角;
将预测关键点运动向量和预测关键点偏转角输入初始生成模型的初始转换模块中,确定各回归样本对象对应的目标运动关键点的预测三维运动姿态信息;
根据各回归样本对象的预测关键点运动向量、预测关键点偏转角、预测三维运动姿态信息和测试标签,对初始生成模型进行训练,获得信息生成模型。
参见图5,图5示出了本说明书一个实施例提供的一种信息生成模型的训练方法的流程图。
以第一回归样本图像为例,将第一回归样本对象的二维结构信息输入初始生成模型的初始回归模块中,确定第一归样本对象的预测关键点运动向量和预测关键点偏转角;将预测关键点运动向量和预测关键点偏转角合并输入初始生成模型的初始转换模块中,确定第一归样本对象对应的目标运动关键点的预测三维运动姿态信息;根据第一回归样本对象的预测关键点运动向量、预测关键点偏转角、预测三维运动姿态信息和测试标签计算损失,对初始生成模型进行训练,获得信息生成模型。
需要说明的是,获取第二样本集的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。本说明书一种可能的实现方式中,可以是人工输入大量回归样本图像组成第二样本集。本说明书另一种可能的实现方式中,可以是从其他数据获取设备或者数据库中读取大量回归样本图像组成第二样本集。
应用本说明书实施例的方案,将多个回归样本对象的二维结构信息输入初始生成模型的初始回归模块中,确定各回归样本对象的预测关键点运动向量和预测关键点偏转角,将预测关键点运动向量和预测关键点偏转角输入初始生成模型的初始转换模块中,确定各回归样本对象对应的目标运动关键点的预测三维运动姿态信息,根据各回归样本对象的预测关键点运动向量、预测关键点偏转角、预测三维运动姿态信息和测试标签,对初始生成模型进行训练,获得信息生成模型,使得信息生成模型具有预测关键点运动向量和关键点偏转角的能力,并能够根据关键点运动向量和关键点偏转角预测三维运动姿态信息。
实际应用中,每个回归样本对象对应的测试标签中包括测试关键点运动向量、测试关键点偏转角以及测试三维运动姿态信息;上述根据各回归样本对象的预测关键点运动向量、预测关键点偏转角、预测三维运动姿态信息和测试标签,对初始生成模型进行训练,获得信息生成模型的步骤,可以包括以下步骤:
从多个回归样本图像中提取第一回归样本图像,其中,第一回归样本图像为多个回归样本图像中的任一个;
对比第一回归样本对象的预测关键点运动向量和第一回归样本图像携带的第一测试关键点运动向量,确定第一运动向量损失值,其中,第一回归样本对象为第一回归样本图像中的对象;
对比第一回归样本对象的预测关键点偏转角和第一回归样本图像携带的第一测试关键点偏转角,确定第一偏转角损失值;
对比第一回归样本对象的预测三维运动姿态信息和第一回归样本图像携带的第一测试三维运动姿态信息,确定第一姿态损失值;
根据第一运动向量损失值、第一偏转角损失值和第一姿态损失值,调整初始生成模型的模型参数,并返回执行从多个回归样本图像中提取第一回归样本图像的步骤,在达到第二预设停止条件的情况下,获得信息生成模型。
本说明书一种可能的实现方式中,第二训练停止条件包括生成损失值小于或等于第二预设阈值。在对比第一回归样本对象的预测关键点运动向量和第一回归样本图像携带的第一测试关键点运动向量,确定第一运动向量损失值,对比第一回归样本对象的预测关键点偏转角和第一回归样本图像携带的第一测试关键点偏转角,确定第一偏转角损失值,对比第一回归样本对象的预测三维运动姿态信息和第一回归样本图像携带的第一测试三维运动姿态信息,确定第一姿态损失值之后,可以根据第一运动向量损失值、第一偏转角损失值和第一姿态损失值以及各自的权重,计算初始生成模型的生成损失值,将生成损失值与第二预设阈值进行比较。
具体地,若生成损失值大于第二预设阈值,则说明第一回归样本对象的预测关键点运动向量和第一回归样本图像携带的第一测试关键点运动向量、第一回归样本对象的预测关键点偏转角和第一回归样本图像携带的第一测试关键点偏转角、第一回归样本对象的预测三维运动姿态信息和第一回归样本图像携带的第一测试三维运动姿态信息之间的差异较大,也即初始生成模型的预测能力较差。此时,可以根据生成损失值,对初始生成模型的模型参数进行调整,并返回执行从多个回归样本图像中提取第一回归样本图像的步骤,继续对初始生成模型进行训练,直至生成损失值小于或等于第二预设阈值,说明第一回归样本对象的预测关键点运动向量和第一回归样本图像携带的第一测试关键点运动向量、第一回归样本对象的预测关键点偏转角和第一回归样本图像携带的第一测试关键点偏转角、第一回归样本对象的预测三维运动姿态信息和第一回归样本图像携带的第一测试三维运动姿态信息之间的差异较小,达到第二训练停止条件,获得完成训练的信息生成模型。
本说明书另一种可能的实现方式中,除了比较生成损失值和第二预设阈值的大小关系之外,还可以结合迭代次数,确定当前的初始生成模型是否训练完成。
具体地,若生成损失值大于第二预设阈值,则调整初始生成模型的模型参数,并返回执行从多个回归样本图像中提取第一回归样本图像的步骤,继续对初始生成模型进行训练,在达到第二预设迭代次数的情况下,停止迭代,得到完成训练的信息生成模型,其中,第二预设阈值、第二预设迭代次数具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
实际应用中,可以通过以下公式(3)计算第一运动向量损失值,通过以下公式(4)计算第一偏转角损失值,通过以下公式(5)计算第一姿态损失值,通过以下公式(6)计算生成损失值:
Lbone=∑i∈N||bi-bi GT|| (3)
其中,N为回归样本对象的数量,N为正整数,i为第i个回归样本对象,GT为真实值,bi为初始回归模块输出的第i个回归样本对象的预测关键点运动向量,bi GT为第i个回归样本对象的真实关键点运动向量。
Langle=∑i∈M|Eular(qi)-Eular(qi GT)|L1 (4)
其中,关键点偏转角表示为四元数,本说明书中将关键点偏转角的损失定义为关键点欧拉角的损失,M为回归样本对象的数量,M为正整数,i为第i个回归样本对象,GT为真实值,qi为初始回归模块输出的第i个回归样本对象的预测关键点偏转角,qi GT为第i个回归样本对象的真实关键点偏转角,Eular(·)为四元数到欧拉角的转化函数,在使用函数对四元数进行欧拉角转化前可以对四元数行归一化处理。
Lpose=∑i∈M||Ji-Ji GT||2 (5)
其中,N为回归样本对象的数量,N为正整数,i为第i个回归样本对象,GT为真实值,Ji为初始转换模块输出的第i个回归样本对象的关键点3D坐标,Ji GT为第i个回归样本对象的真实关键点3D坐标。
L=ωbone·Lbone+ωangle·Langle+ωpose·Lpose (6)
其中,ωbone为第一运动向量损失值的权重,ωangle为第一运动向量损失值的权重,ωpose为第一运动向量损失值的权重。
应用本说明书实施例的方案,对比第一回归样本对象的预测关键点运动向量和第一回归样本图像携带的第一测试关键点运动向量,确定第一运动向量损失值,对比第一回归样本对象的预测关键点偏转角和第一回归样本图像携带的第一测试关键点偏转角,确定第一偏转角损失值,对比第一回归样本对象的预测三维运动姿态信息和第一回归样本图像携带的第一测试三维运动姿态信息,确定第一姿态损失值,进一步将生成损失值与第二预设阈值进行比较,在大于第二预设阈值的情况下继续训练初始生成模型,在生成损失值小于或等于第二预设阈值的情况下完成训练,通过不断对初始生成模型的模型参数进行调整,能使最终得到的信息生成模型更加精准。
步骤310:根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。
本说明书一个或多个实施例中,获取目标对象的图像序列,对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息之后,可以根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。
具体地,目标运动序列也可以理解为三维运动序列,虚拟对象根据目标对象构建的虚拟角色,可以是卡通角色,还可以是与目标对象相同的虚拟角色。
示例性地,目标对象为运动员,目标对象的虚拟对象为卡通老虎,则可以根据目标运动序列,对卡通老虎进行运动控制,使得卡通老虎的运动姿态与目标对象在图像序列中的运动姿态相同。
应用本说明书实施例的方案,获取目标对象的图像序列,其中,图像序列包括多个图像;对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。通过根据关键点运动向量和关键点偏转角,确定目标对象的三维运动姿态信息,避免违反人体运动学的运动姿态的生成,保证目标运动序列满足动力学,提高了运动控制的真实性与自然性。
本说明书一种可选的实施例中,由于不同的图像序列生成设备的内参不同,因此,为了避免由于设备内参不同引发的二维结构信息不一致的问题,可以对二维结构信息进行校准,也即,上述根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列的步骤之前,还可以包括以下步骤:
根据图像序列生成设备的设备参数,对二维结构信息中的多个运动关键点进行校准,获得校准后的二维结构信息。
具体地,图像序列生成设备包括但不限于手机、相机等。可以通过以下公式(7)获得校准后的运动关键点的坐标信息:
其中,(xc,yc)为校准后的运动关键点的坐标信息,(x,y)为校准前的运动关键点的坐标信息,(cx,cy)为图像序列生成设备的中心点,(fx,fy)为图像序列生成设备的焦距。
应用本说明书实施例的方案,根据图像序列生成设备的设备参数,对二维结构信息中的多个运动关键点进行校准,获得校准后的二维结构信息,利用弱透视投影缓解了由于设备内参不同引发的二维结构信息不一致的问题,使得最终生成的目标运动序列更加准确。
本说明书一种可选的实施例中,上述根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列的步骤,可以包括以下步骤:
根据二维结构信息和多个图像中的三维运动姿态信息,确定图像序列中目标运动关键点的运动轨迹;
根据多个图像中的三维运动姿态信息和运动轨迹,确定目标运动序列。
具体地,由于三维运动姿态信息中目标关键点是固定为相机坐标系原点的,不具备有全局轨迹,无法展示出目标对象在三维空间的真实运动轨迹,因此,可以确定目标运动关键点的运动轨迹,确保目标运动序列的真实性。其中,运动轨迹可以理解为相机空间的目标运动关键点(根节点)的位移。
需要说明的是,在确定目标运动关键点的运动轨迹之后,可以将运动轨迹叠加到根节点三维运动姿态信息上,获得重建的目标运动序列。
应用本说明书实施例的方案,根据二维结构信息和多个图像中的三维运动姿态信息,确定图像序列中目标运动关键点的运动轨迹,根据多个图像中的三维运动姿态信息和运动轨迹,确定目标运动序列,保证了目标运动序列的真实性。
本说明书一种可选的实施例中,上述根据二维结构信息和多个图像中的三维运动姿态信息,确定图像序列中目标运动关键点的运动轨迹的步骤,可以包括以下步骤:
将二维结构信息和三维运动姿态信息输入轨迹回归模型中,经轨迹回归模型的处理,获得目标运动关键点的运动轨迹。
具体地,轨迹回归模型包括但不限于卷积神经网络模型,通过卷积神经网络模型,可以回归得到根节点的全局运动轨迹,使得最终生成的目标运动序列更加真实。
本说明书一种可选的实施例中,轨迹回归模型的训练方式,可以包括以下步骤:
获取第三样本集,其中,第三样本集中包括多个训练样本图像,每个训练样本图像携带训练样本对象的二维结构信息、三维运动姿态信息以及目标运动关键点位置标签;
从多个训练样本图像中提取第一训练样本图像,其中,第一训练样本图像为多个训练样本图像中的任一个;
将第一训练样本图像的第一二维结构信息和第一三维运动姿态信息输入初始轨迹回归模型中,确定第一预测目标运动关键点位置信息;
对比第一预测目标运动关键点位置信息和第一训练样本图像的第一目标运动关键点位置标签,计算第一空间位置损失值;
根据第一空间位置损失值,调整初始轨迹回归模型的模型参数,并返回执行从多个训练样本图像中提取第一训练样本图像的步骤,在达到第三预设停止条件的情况下,获得轨迹回归模型。
参见图6,图6示出了本说明书一个实施例提供的一种轨迹回归模型的训练方法的流程图。
以第一训练样本图像为例,将第一训练样本图像的二维结构信息和三维运动姿态信息输入初始轨迹回归模型中,确定预测目标运动关键点位置信息;对比预测目标运动关键点位置信息和第一训练样本图像的目标运动关键点位置标签,计算第一空间位置损失值;根据第一空间位置损失值,对初始轨迹回归模型进行训练,获得轨迹回归模型。
需要说明的是,获取第三样本集的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。本说明书一种可能的实现方式中,可以是人工输入大量训练样本图像组成第三样本集。本说明书另一种可能的实现方式中,可以是从其他数据获取设备或者数据库中读取大量训练样本图像组成第三样本集。
本说明书一种可能的实现方式中,第三预设停止条件包括第一空间位置损失值小于或等于第三预设阈值。在对比第一预测目标运动关键点位置信息和第一训练样本图像的第一目标运动关键点位置标签,计算第一空间位置损失值之后,可以将第一空间位置损失值与第三预设阈值进行比较。
具体地,若第一空间位置损失值大于第三预设阈值,则说明第一预测目标运动关键点位置信息和第一训练样本图像的第一目标运动关键点位置标签之间的差异较大,也即初始轨迹回归模型的预测能力较差。此时,可以根据第一空间位置损失值,对初始轨迹回归模型的模型参数进行调整,并返回执行从多个训练样本图像中提取第一训练样本图像的步骤,继续对初始轨迹回归模型进行训练,在第一空间位置损失值小于或等于第三预设阈值,说明第一预测目标运动关键点位置信息和第一训练样本图像的第一目标运动关键点位置标签之间的差异较小,达到第三训练停止条件,获得完成训练的轨迹回归模型。
本说明书另一种可能的实现方式中,除了比较第一空间位置损失值和第三预设阈值的大小关系之外,还可以结合迭代次数,确定当前的初始轨迹回归模型是否训练完成。
具体地,若第一空间位置损失值大于第三预设阈值,则调整初始轨迹回归模型的模型参数,并返回执行从多个训练样本图像中提取第一训练样本图像的步骤,继续对初始轨迹回归模型进行训练,在达到第三预设迭代次数的情况下,停止迭代,得到完成训练的轨迹回归模型,其中,第三预设阈值、第三预设迭代次数具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
实际应用中,可以通过以下公式(8)计算L2损失,获得第一空间位置损失值:
Ltraj=||Jroot-Jroot GT||2 (8)
其中,root为目标运动关键点,Jroot为初始轨迹回归模型输出的预测目标运动关键点位置信息,GT为真实值,Jroot GT为真实的目标运动关键点位置信息。
应用本说明书实施例的方案,对比第一预测目标运动关键点位置信息和第一训练样本图像的第一目标运动关键点位置标签,计算第一空间位置损失值,将第一空间位置损失值与第三预设阈值进行比较,在大于第三预设阈值的情况下继续训练初始轨迹回归模型,在第一空间位置损失值小于或等于第三预设阈值的情况下完成训练,通过不断对初始轨迹回归模型的模型参数进行调整,能使最终得到的轨迹回归模型更加精准。
下述结合附图7,以本说明书提供的虚拟对象的运动控制方法在人体运动控制的应用为例,对所述虚拟对象的运动控制方法进行进一步说明。其中,图7示出了本说明书一个实施例提供的另一种虚拟对象的运动控制方法的流程图,具体包括以下步骤:
步骤702:获取目标用户的图像序列,其中,图像序列包括多个图像。
步骤704:分别将多个图像输入关键点检测模型中,经关键点检测模型的检测,确定图像序列中目标用户的二维骨骼序列,其中,二维骨骼序列包括目标用户的多个骨骼关节点。
步骤706:利用信息生成模型的回归模块,对多个骨骼关节点的关节点信息进行回归处理,确定各图像中目标用户的骨骼向量和关节点偏转角,其中,骨骼向量表征相邻两个骨骼关节点之间的骨骼长度及运动方向。
步骤708:针对任一图像,利用信息生成模型的转换模块,对该图像中的骨骼向量和关节点偏转角进行转换处理,确定该图像中目标用户的三维运动姿态信息。
步骤710:根据图像序列生成设备的设备参数,对二维骨骼序列中的多个骨骼关节点进行校准,获得校准后的二维骨骼序列。
步骤712:将校准后的二维骨骼序列和三维运动姿态信息输入轨迹回归模型中,经轨迹回归模型的处理,获得骨骼根节点的运动轨迹。
步骤714:根据多个图像中的三维运动姿态信息和运动轨迹,确定目标用户的三维运动序列,并根据三维运动序列,对目标用户对应的虚拟对象进行运动控制。
需要说明的是,步骤704至步骤714的具体实现方式与上述图3所提供的虚拟对象的运动控制方法的实现方式相同,本说明书实施例便不再进行赘述。
应用本说明书实施例的方案,获取目标用户的图像序列,其中,图像序列包括多个图像;分别将多个图像输入关键点检测模型中,经关键点检测模型的检测,确定图像序列中目标用户的二维骨骼序列,其中,二维骨骼序列包括目标用户的多个骨骼关节点;利用信息生成模型的回归模块,对多个骨骼关节点的关节点信息进行回归处理,确定各图像中目标用户的骨骼向量和关节点偏转角,其中,骨骼向量表征相邻两个骨骼关节点之间的骨骼长度及运动方向;针对任一图像,利用信息生成模型的转换模块,对该图像中的骨骼向量和关节点偏转角进行转换处理,确定该图像中目标用户的三维运动姿态信息;根据图像序列生成设备的设备参数,对二维骨骼序列中的多个骨骼关节点进行校准,获得校准后的二维骨骼序列;将校准后的二维骨骼序列和三维运动姿态信息输入轨迹回归模型中,经轨迹回归模型的处理,获得骨骼根节点的运动轨迹;根据多个图像中的三维运动姿态信息和运动轨迹,确定目标用户的三维运动序列。并根据三维运动序列,对目标用户对应的虚拟对象进行运动控制,避免违反人体运动学的运动姿态的生成,保证三维运动序列满足人体动力学,提高了运动控制的真实性与自然性,可以实现将三维运动序列直接送入动画软件,做骨骼适配。
参见图8,图8示出了本说明书一个实施例提供的一种虚拟对象的运动控制方法的处理过程流程图。将目标对象的图像序列输入关键点检测模型中,经关键点检测模型的检测,确定图像序列中目标对象的二维结构信息。将二维结构信息和目标对象的目标运动关键点的三维运动姿态信息输入轨迹回归模型中,经轨迹回归模型的处理,获得目标运动关键点的运动轨迹,根据三维运动姿态信息和运动轨迹,确定目标运动序列。
与上述方法实施例相对应,本说明书还提供了虚拟对象的运动控制装置实施例,图9示出了本说明书一个实施例提供的一种虚拟对象的运动控制装置的结构示意图。如图9所示,该装置包括:
获取模块902,被配置为获取目标对象的图像序列,其中,图像序列包括多个图像;
检测模块904,被配置为对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;
第一确定模块906,被配置为根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;
第二确定模块908,被配置为针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;
第三确定模块910,被配置为根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。
可选地,检测模块904,进一步被配置为分别将多个图像输入关键点检测模型中,经关键点检测模型的检测,确定图像序列中目标对象的二维结构信息,其中,关键点检测模型为机器学习模型。
可选地,该装置还包括:关键点检测模型训练模块,被配置为获取第一样本集,其中,第一样本集中包括多个样本图像,每个样本图像中携带样本对象的二维结构标签;对多个样本图像进行对象检测,根据检测结果对多个样本图像进行剪裁,获得多个剪裁样本图像,其中,样本图像和剪裁样本图像是一一对应的;对多个剪裁样本图像进行偏移处理,确定各剪裁样本图像对应的至少一个偏移样本图像;根据多个剪裁样本图像、各剪裁样本图像对应的至少一个偏移样本图像和多个样本图像携带的二维结构标签,对初始检测模型进行训练,获得关键点检测模型。
可选地,关键点检测模型训练模块,进一步被配置为从多个剪裁样本图像中提取第一剪裁样本图像,并从第一剪裁样本图像对应的至少一个偏移样本图像中提取第一偏移样本图像,其中,第一剪裁样本图像为多个剪裁样本图像中的任一个,第一偏移样本图像为至少一个偏移样本图像中的任一个;将第一剪裁样本图像输入初始检测模型中,确定第一预测二维结构信息,将第一偏移样本图像输入初始检测模型中,确定第二预测二维结构信息;确定第一剪裁样本图像对应的第一样本图像,并提取第一样本图像携带的第一二维结构标签;对比第一预测二维结构信息和第一二维结构标签,计算第一结构损失值;对比第二预测二维结构信息和第一二维结构标签,计算第二结构损失值;对比第一预测二维结构信息和第二预测二维结构信息,计算第三结构损失值;根据第一结构损失值、第二结构损失值和第三结构损失值,调整初始检测模型的模型参数,并返回执行从多个剪裁样本图像中提取第一剪裁样本图像的步骤,在达到第一预设停止条件的情况下,获得关键点检测模型。
可选地,第一确定模块906,进一步被配置为利用信息生成模型的回归模块,对多个关键点信息进行回归处理,确定各图像中目标对象的关键点运动向量和关键点偏转角;第二确定模块908,进一步被配置为利用信息生成模型的转换模块,对关键点运动向量和关键点偏转角进行转换处理,确定目标对象的三维运动姿态信息。
可选地,第二确定模块908,进一步被配置为获取预先设置的旋转矩阵;利用旋转矩阵,对关键点运动向量和关键点偏转角进行转换处理,确定目标对象的三维运动姿态信息。
可选地,该装置还包括:信息生成模型训练模块,被配置为获取第二样本集,其中,第二样本集中包括多个回归样本图像,每个回归样本图像携带回归样本对象的二维结构信息和测试标签,二维结构信息包括回归样本对象的多个运动关键点;将多个回归样本对象的二维结构信息输入初始生成模型的初始回归模块中,确定各回归样本对象的预测关键点运动向量和预测关键点偏转角;将预测关键点运动向量和预测关键点偏转角输入初始生成模型的初始转换模块中,确定各回归样本对象对应的目标运动关键点的预测三维运动姿态信息;根据各回归样本对象的预测关键点运动向量、预测关键点偏转角、预测三维运动姿态信息和测试标签,对初始生成模型进行训练,获得信息生成模型。
可选地,测试标签包括测试关键点运动向量、测试关键点偏转角以及测试三维运动姿态信息;信息生成模型训练模块,进一步被配置为从多个回归样本图像中提取第一回归样本图像,其中,第一回归样本图像为多个回归样本图像中的任一个;对比第一回归样本对象的预测关键点运动向量和第一回归样本图像携带的第一测试关键点运动向量,确定第一运动向量损失值,其中,第一回归样本对象为第一回归样本图像中的对象;对比第一回归样本对象的预测关键点偏转角和第一回归样本图像携带的第一测试关键点偏转角,确定第一偏转角损失值;对比第一回归样本对象的预测三维运动姿态信息和第一回归样本图像携带的第一测试三维运动姿态信息,确定第一姿态损失值;根据第一运动向量损失值、第一偏转角损失值和第一姿态损失值,调整初始生成模型的模型参数,并返回执行从多个回归样本图像中提取第一回归样本图像的步骤,在达到第二预设停止条件的情况下,获得信息生成模型。
可选地,该装置还包括:校准模块,被配置为根据图像序列生成设备的设备参数,对二维结构信息中的多个运动关键点进行校准,获得校准后的二维结构信息。
可选地,第三确定模块910,进一步被配置为根据二维结构信息和多个图像中的三维运动姿态信息,确定图像序列中目标运动关键点的运动轨迹;根据多个图像中的三维运动姿态信息和运动轨迹,确定目标运动序列。
可选地,第三确定模块910,进一步被配置为将二维结构信息和三维运动姿态信息输入轨迹回归模型中,经轨迹回归模型的处理,获得目标运动关键点的运动轨迹。
可选地,该装置还包括:轨迹回归模型训练模块,被配置为获取第三样本集,其中,第三样本集中包括多个训练样本图像,每个训练样本图像携带训练样本对象的二维结构信息、三维运动姿态信息以及目标运动关键点位置标签;从多个训练样本图像中提取第一训练样本图像,其中,第一训练样本图像为多个训练样本图像中的任一个;将第一训练样本图像的第一二维结构信息和第一三维运动姿态信息输入初始轨迹回归模型中,确定第一预测目标运动关键点位置信息;对比第一预测目标运动关键点位置信息和第一训练样本图像的第一目标运动关键点位置标签,计算第一空间位置损失值;根据第一空间位置损失值,调整初始轨迹回归模型的模型参数,并返回执行从多个训练样本图像中提取第一训练样本图像的步骤,在达到第三预设停止条件的情况下,获得轨迹回归模型。
应用本说明书实施例的方案,获取目标对象的图像序列,其中,图像序列包括多个图像;对多个图像进行关键点检测,确定图像序列中目标对象的二维结构信息,其中,二维结构信息包括目标对象的多个运动关键点;根据多个运动关键点的关键点信息,确定各图像中目标对象的关键点运动向量和关键点偏转角,其中,关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;针对任一图像,根据该图像中的关键点运动向量和关键点偏转角,确定该图像中目标对象的三维运动姿态信息;根据二维结构信息和多个图像中的三维运动姿态信息,确定目标运动序列,并根据目标运动序列,对目标对象对应的虚拟对象进行运动控制。通过根据关键点运动向量和关键点偏转角,确定目标对象的三维运动姿态信息,避免违反人体运动学的运动姿态的生成,保证目标运动序列满足动力学,提高了运动控制的真实性与自然性。
上述为本实施例的一种虚拟对象的运动控制装置的示意性方案。需要说明的是,该虚拟对象的运动控制装置的技术方案与上述的虚拟对象的运动控制方法的技术方案属于同一构思,虚拟对象的运动控制装置的技术方案未详细描述的细节内容,均可以参见上述虚拟对象的运动控制方法的技术方案的描述。
图10示出了本说明书一个实施例提供的一种计算设备的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。
计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备1040可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Card))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless LocalArea Networks)无线接口、全球微波互联接入(Wi-MAX,World Interoperability forMicrowave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)接口,等等。
在本说明书的一个实施例中,计算设备1000的上述部件以及图10中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图10所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1000可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
其中,处理器1020用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟对象的运动控制方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的虚拟对象的运动控制方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟对象的运动控制方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟对象的运动控制方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟对象的运动控制方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟对象的运动控制方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟对象的运动控制方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的虚拟对象的运动控制方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述虚拟对象的运动控制方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种虚拟对象的运动控制方法,包括:
获取目标对象的图像序列,其中,所述图像序列包括多个图像;
对所述多个图像进行关键点检测,确定所述图像序列中所述目标对象的二维结构信息,其中,所述二维结构信息包括所述目标对象的多个运动关键点;
根据所述多个运动关键点的关键点信息,确定各所述图像中所述目标对象的关键点运动向量和关键点偏转角,其中,所述关键点运动向量表征相邻两个运动关键点之间的运动距离及运动方向;
针对任一图像,根据该图像中的所述关键点运动向量和所述关键点偏转角,确定该图像中所述目标对象的三维运动姿态信息;
根据所述二维结构信息和所述多个图像中的所述三维运动姿态信息,确定目标运动序列,并根据所述目标运动序列,对所述目标对象对应的虚拟对象进行运动控制。
2.根据权利要求1所述的方法,所述对所述多个图像进行关键点检测,确定所述图像序列中所述目标对象的二维结构信息的步骤,包括:
分别将所述多个图像输入关键点检测模型中,经所述关键点检测模型的检测,确定所述图像序列中所述目标对象的二维结构信息,其中,所述关键点检测模型为机器学习模型。
3.根据权利要求2所述的方法,所述关键点检测模型的训练方式,包括:
获取第一样本集,其中,所述第一样本集中包括多个样本图像,每个样本图像中携带样本对象的二维结构标签;
对所述多个样本图像进行对象检测,根据检测结果对所述多个样本图像进行剪裁,获得多个剪裁样本图像,其中,所述样本图像和所述剪裁样本图像是一一对应的;
对所述多个剪裁样本图像进行偏移处理,确定各剪裁样本图像对应的至少一个偏移样本图像;
根据所述多个剪裁样本图像、所述各剪裁样本图像对应的至少一个偏移样本图像和所述多个样本图像携带的二维结构标签,对初始检测模型进行训练,获得关键点检测模型。
4.根据权利要求3所述的方法,所述根据所述多个剪裁样本图像、所述各剪裁样本图像对应的至少一个偏移样本图像和所述多个样本图像携带的二维结构标签,对初始检测模型进行训练,获得关键点检测模型的步骤,包括:
从所述多个剪裁样本图像中提取第一剪裁样本图像,并从所述第一剪裁样本图像对应的至少一个偏移样本图像中提取第一偏移样本图像,其中,所述第一剪裁样本图像为所述多个剪裁样本图像中的任一个,所述第一偏移样本图像为所述至少一个偏移样本图像中的任一个;
将所述第一剪裁样本图像输入所述初始检测模型中,确定第一预测二维结构信息,将所述第一偏移样本图像输入所述初始检测模型中,确定第二预测二维结构信息;
确定所述第一剪裁样本图像对应的第一样本图像,并提取所述第一样本图像携带的第一二维结构标签;
对比所述第一预测二维结构信息和所述第一二维结构标签,计算第一结构损失值;
对比所述第二预测二维结构信息和所述第一二维结构标签,计算第二结构损失值;
对比所述第一预测二维结构信息和所述第二预测二维结构信息,计算第三结构损失值;
根据所述第一结构损失值、所述第二结构损失值和所述第三结构损失值,调整所述初始检测模型的模型参数,并返回执行所述从所述多个剪裁样本图像中提取第一剪裁样本图像的步骤,在达到第一预设停止条件的情况下,获得关键点检测模型。
5.根据权利要求1所述的方法,所述根据所述多个运动关键点的关键点信息,确定各所述图像中所述目标对象的关键点运动向量和关键点偏转角的步骤,包括:
利用信息生成模型的回归模块,对多个所述关键点信息进行回归处理,确定各所述图像中所述目标对象的关键点运动向量和关键点偏转角;
所述根据该图像中的所述关键点运动向量和所述关键点偏转角,确定该图像中所述目标对象的三维运动姿态信息的步骤,包括:
利用所述信息生成模型的转换模块,对所述关键点运动向量和所述关键点偏转角进行转换处理,确定所述目标对象的三维运动姿态信息。
6.根据权利要求5所述的方法,所述利用所述信息生成模型的转换模块,对所述关键点运动向量和所述关键点偏转角进行转换处理,确定所述目标对象的三维运动姿态信息的步骤,包括:
获取预先设置的旋转矩阵;
利用所述旋转矩阵,对所述关键点运动向量和所述关键点偏转角进行转换处理,确定所述目标对象的三维运动姿态信息。
7.根据权利要求5所述的方法,所述信息生成模型的训练方式,包括:
获取第二样本集,其中,所述第二样本集中包括多个回归样本图像,每个回归样本图像携带回归样本对象的二维结构信息和测试标签,所述二维结构信息包括所述回归样本对象的多个运动关键点;
将所述多个回归样本对象的二维结构信息输入初始生成模型的初始回归模块中,确定各回归样本对象的预测关键点运动向量和预测关键点偏转角;
将所述预测关键点运动向量和预测关键点偏转角输入所述初始生成模型的初始转换模块中,确定各回归样本对象对应的目标运动关键点的预测三维运动姿态信息;
根据所述各回归样本对象的预测关键点运动向量、预测关键点偏转角、预测三维运动姿态信息和测试标签,对所述初始生成模型进行训练,获得信息生成模型。
8.根据权利要求7所述的方法,所述测试标签包括测试关键点运动向量、测试关键点偏转角以及测试三维运动姿态信息;
所述根据所述各回归样本对象的预测关键点运动向量、预测关键点偏转角、预测三维运动姿态信息和测试标签,对所述初始生成模型进行训练,获得信息生成模型的步骤,包括:
从多个回归样本图像中提取第一回归样本图像,其中,所述第一回归样本图像为所述多个回归样本图像中的任一个;
对比第一回归样本对象的预测关键点运动向量和所述第一回归样本图像携带的第一测试关键点运动向量,确定第一运动向量损失值,其中,所述第一回归样本对象为所述第一回归样本图像中的对象;
对比所述第一回归样本对象的预测关键点偏转角和所述第一回归样本图像携带的第一测试关键点偏转角,确定第一偏转角损失值;
对比所述第一回归样本对象的预测三维运动姿态信息和所述第一回归样本图像携带的第一测试三维运动姿态信息,确定第一姿态损失值;
根据所述第一运动向量损失值、所述第一偏转角损失值和所述第一姿态损失值,调整所述初始生成模型的模型参数,并返回执行所述从多个回归样本图像中提取第一回归样本图像的步骤,在达到第二预设停止条件的情况下,获得信息生成模型。
9.根据权利要求1所述的方法,所述根据所述二维结构信息和所述多个图像中的所述三维运动姿态信息,确定目标运动序列的步骤之前,还包括:
根据图像序列生成设备的设备参数,对所述二维结构信息中的多个运动关键点进行校准,获得校准后的二维结构信息。
10.根据权利要求1或9所述的方法,所述根据所述二维结构信息和所述多个图像中的所述三维运动姿态信息,确定目标运动序列的步骤,包括:
根据所述二维结构信息和所述多个图像中的所述三维运动姿态信息,确定所述图像序列中目标运动关键点的运动轨迹;
根据所述多个图像中的所述三维运动姿态信息和所述运动轨迹,确定目标运动序列。
11.根据权利要求10所述的方法,所述根据所述二维结构信息和所述多个图像中的所述三维运动姿态信息,确定所述图像序列中目标运动关键点的运动轨迹的步骤,包括:
将所述二维结构信息和所述三维运动姿态信息输入轨迹回归模型中,经所述轨迹回归模型的处理,获得目标运动关键点的运动轨迹。
12.根据权利要求11所述的方法,所述轨迹回归模型的训练方式,包括:
获取第三样本集,其中,所述第三样本集中包括多个训练样本图像,每个训练样本图像携带训练样本对象的二维结构信息、三维运动姿态信息以及目标运动关键点位置标签;
从所述多个训练样本图像中提取第一训练样本图像,其中,所述第一训练样本图像为所述多个训练样本图像中的任一个;
将所述第一训练样本图像的第一二维结构信息和第一三维运动姿态信息输入初始轨迹回归模型中,确定第一预测目标运动关键点位置信息;
对比所述第一预测目标运动关键点位置信息和所述第一训练样本图像的第一目标运动关键点位置标签,计算第一空间位置损失值;
根据所述第一空间位置损失值,调整所述初始轨迹回归模型的模型参数,并返回执行所述从所述多个训练样本图像中提取第一训练样本图像的步骤,在达到第三预设停止条件的情况下,获得轨迹回归模型。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至12任意一项所述虚拟对象的运动控制方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至12任意一项所述虚拟对象的运动控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211330305.XA CN115841534A (zh) | 2022-10-27 | 2022-10-27 | 虚拟对象的运动控制方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211330305.XA CN115841534A (zh) | 2022-10-27 | 2022-10-27 | 虚拟对象的运动控制方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115841534A true CN115841534A (zh) | 2023-03-24 |
Family
ID=85576611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211330305.XA Pending CN115841534A (zh) | 2022-10-27 | 2022-10-27 | 虚拟对象的运动控制方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115841534A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116129016A (zh) * | 2023-04-17 | 2023-05-16 | 广州趣丸网络科技有限公司 | 一种姿态运动的数字同步方法、装置、设备及存储介质 |
CN116453222A (zh) * | 2023-04-19 | 2023-07-18 | 北京百度网讯科技有限公司 | 目标对象姿态确定方法、训练方法、装置以及存储介质 |
CN116580169A (zh) * | 2023-07-12 | 2023-08-11 | 南京硅基智能科技有限公司 | 一种数字人驱动方法及装置、电子设备和存储介质 |
CN116672836A (zh) * | 2023-06-08 | 2023-09-01 | 南京林业大学 | 建筑工地围挡自动控制喷淋装置 |
CN116894894A (zh) * | 2023-06-19 | 2023-10-17 | 北京百度网讯科技有限公司 | 虚拟形象的动作确定方法、装置、设备和存储介质 |
-
2022
- 2022-10-27 CN CN202211330305.XA patent/CN115841534A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116129016A (zh) * | 2023-04-17 | 2023-05-16 | 广州趣丸网络科技有限公司 | 一种姿态运动的数字同步方法、装置、设备及存储介质 |
CN116453222A (zh) * | 2023-04-19 | 2023-07-18 | 北京百度网讯科技有限公司 | 目标对象姿态确定方法、训练方法、装置以及存储介质 |
CN116672836A (zh) * | 2023-06-08 | 2023-09-01 | 南京林业大学 | 建筑工地围挡自动控制喷淋装置 |
CN116672836B (zh) * | 2023-06-08 | 2024-01-16 | 南京林业大学 | 建筑工地围挡自动控制喷淋装置 |
CN116894894A (zh) * | 2023-06-19 | 2023-10-17 | 北京百度网讯科技有限公司 | 虚拟形象的动作确定方法、装置、设备和存储介质 |
CN116580169A (zh) * | 2023-07-12 | 2023-08-11 | 南京硅基智能科技有限公司 | 一种数字人驱动方法及装置、电子设备和存储介质 |
CN116580169B (zh) * | 2023-07-12 | 2023-10-31 | 南京硅基智能科技有限公司 | 一种数字人驱动方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115841534A (zh) | 虚拟对象的运动控制方法以及装置 | |
CN109086683B (zh) | 一种基于点云语义增强的人手姿态回归方法和系统 | |
US10546408B2 (en) | Retargeting skeleton motion sequences through cycle consistency adversarial training of a motion synthesis neural network with a forward kinematics layer | |
JP2022503647A (ja) | クロスドメイン画像変換 | |
CN114339409B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
US10916046B2 (en) | Joint estimation from images | |
CN112037310A (zh) | 基于神经网络的游戏人物动作识别生成方法 | |
JP2022553252A (ja) | 画像処理方法、画像処理装置、サーバ、及びコンピュータプログラム | |
CN113051420B (zh) | 一种基于文本生成视频机器人视觉人机交互方法及系统 | |
Al Borno et al. | Robust Physics‐based Motion Retargeting with Realistic Body Shapes | |
Kundu et al. | Cross-conditioned recurrent networks for long-term synthesis of inter-person human motion interactions | |
Sheng et al. | A lightweight surface reconstruction method for online 3D scanning point cloud data oriented toward 3D printing | |
CN114782661B (zh) | 下半身姿态预测模型的训练方法及装置 | |
CN110427864B (zh) | 一种图像处理方法、装置及电子设备 | |
Gao et al. | Sketchsampler: Sketch-based 3d reconstruction via view-dependent depth sampling | |
CN116386141A (zh) | 基于单目视频的多阶段人体动作捕捉方法、设备及介质 | |
CN116342782A (zh) | 生成虚拟形象渲染模型的方法和装置 | |
CN111640172A (zh) | 一种基于生成对抗网络的姿态迁移方法 | |
KR20210070874A (ko) | 3차원 인간 모델 복원 장치 및 방법 | |
CN117218300B (zh) | 三维模型的构建方法、三维构建模型的训练方法及装置 | |
CN113706670A (zh) | 生成动态三维人体网格模型序列的方法及装置 | |
CN113822114A (zh) | 一种图像处理方法、相关设备及计算机可读存储介质 | |
Fan et al. | HOLD: Category-agnostic 3D Reconstruction of Interacting Hands and Objects from Video | |
CN115731344A (zh) | 图像处理模型训练方法以及三维对象模型构建方法 | |
CN114863013A (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 |