CN116993773A - 运动信息的重定向方法、装置、设备、存储介质及产品 - Google Patents
运动信息的重定向方法、装置、设备、存储介质及产品 Download PDFInfo
- Publication number
- CN116993773A CN116993773A CN202211399454.1A CN202211399454A CN116993773A CN 116993773 A CN116993773 A CN 116993773A CN 202211399454 A CN202211399454 A CN 202211399454A CN 116993773 A CN116993773 A CN 116993773A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- character
- bone
- skeleton
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 395
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000003860 storage Methods 0.000 title claims description 14
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 353
- 238000006073 displacement reaction Methods 0.000 claims abstract description 258
- 230000009471 action Effects 0.000 claims abstract description 96
- 238000000547 structure data Methods 0.000 claims abstract description 93
- 238000012937 correction Methods 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 23
- 230000004927 fusion Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 7
- 244000256297 Euphorbia tirucalli Species 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 35
- 238000012549 training Methods 0.000 description 33
- 238000013528 artificial neural network Methods 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000013508 migration Methods 0.000 description 9
- 230000005012 migration Effects 0.000 description 9
- 210000002414 leg Anatomy 0.000 description 7
- 238000003062 neural network model Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 210000001503 joint Anatomy 0.000 description 5
- 230000010076 replication Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000003141 lower extremity Anatomy 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000000629 knee joint Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 210000000544 articulatio talocruralis Anatomy 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 210000001981 hip bone Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种运动信息的重定向方法、装置,包括:获取源角色执行目标动作的骨骼旋转数据、骨骼位移数据、骨骼关节点的位置数据以及源角色的高度,并获取目标角色的骨骼结构数据、目标角色的高度;基于源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据,修正源角色的骨骼旋转数据,得到目标角色的目标骨骼旋转数据;基于目标角色的高度以及源角色的高度、源角色的骨骼位移数据以及目标角色的骨骼结构数据,修正骨骼位移数据,得到目标角色的目标骨骼位移数据;基于目标骨骼旋转数据以及目标骨骼位移数据,确定目标角色执行目标动作的目标运动信息。通过本申请,能够提高运动信息的重定向结果的精确度、以及运动重定向后动作的真实性。
Description
技术领域
本申请涉及计算机三维动画技术领域,尤其涉及一种运动信息的重定向的方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。
背景技术
角色动画目前被广泛应用于计算机动画、游戏及虚拟现实等多方面应用中,三维模型的动画驱动是图形学中的热门研究领域之一,其中利用骨骼运动数据驱动三维模型时一类常用的方法。通常,设计人员设计出三维模型及其骨骼模型,再用已有的骨骼运动数据驱动三维模型形成角色动画。运动捕捉数据具有较强地针对性,只能记录特定表演者的运动序列,若直接应用于不同骨骼模型时就会产生一系列的运动失真现象,即运动数据无法重用。基于运动重定向方法,可以将源角色的运动重定向到与其在骨骼长度比例,甚至拓扑结构不同的目标角色上。
相关技术中,运动重定向技术由于过度依赖于人工设计的规则,因此对操作者的专业知识、经验有着较高要求,另外,由于针对于不同目标角色需要设计不同的运动约束,缺少泛化性,需要较高的人力成本和时间成本,无法完成大规模的动作迁移任务,导致实现运动重定向的效率低、重定向后的运动信息准确度低、真实性差。
发明内容
本申请实施例提供一种运动信息的重定向方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,能够提高运动信息的重定向结果的精确度、以及运动重定向后动作的真实性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种运动信息的重定向方法,包括:
获取源角色执行目标动作的运动信息、目标角色的骨骼结构数据、所述目标角色的高度以及所述源角色的高度,所述运动信息包括所述源角色的骨骼旋转数据、所述源角色的骨骼位移数据以及所述源角色的骨骼关节点的位置数据;
基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据;
基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;
基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据;
基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息。
本申请实施例提供一种运动信息的重定向装置,包括:
数据获取模块,用于获取源角色执行目标动作的运动信息,所述运动信息包括所述源角色的骨骼旋转数据、所述源角色的骨骼位移数据以及所述源角色的骨骼关节点的位置数据;
旋转数据生成模块,用于获取目标角色的骨骼结构数据,并基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据;
初始位移数据生成模块,用于获取所述目标角色的高度以及所述源角色的高度,并基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;
目标位移数据生成模块,用于基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据;
数据融合模块,用于基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的运动信息的重定向方法。
本申请实施例提供一种计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的运动信息的重定向方法。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例提供的运动信息的重定向方法。
本申请实施例具有以下有益效果:
应用本申请实施例,获取源角色针对目标动作的运动信息,并将运动信息所包括的骨骼旋转数据以及骨骼位移数据作为目标角色对应目标动作的初始的运动信息,如此,能够保证用于确定目标运动信息的源角色的相关信息的质量;然后,根据源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据,对初始的骨骼旋转数据进行修正,如此,能够得到与目标角色相适配的目标骨骼旋转数据,提高骨骼旋转数据的精确度;然后,基于目标角色的高度以及源角色的高度,将源角色的骨骼位移数据映射至目标角色,得到目标角色的初始骨骼位移数据,并基于源角色的骨骼位移数据以及目标角色的骨骼结构数据,对初始骨骼位移数据进行修正,得到与目标角色相适配的目标骨骼位移数据;如此,能够得到与目标角色相适配的目标骨骼位移数据,提高骨骼位移数据的精确度;最终,基于准确的目标骨骼旋转数据以及准确的目标骨骼位移数据,确定目标角色执行所述目标动作的目标运动信息,如此,能够提高运动信息的重定向结果的精确度、以及运动重定向后动作的真实性。
附图说明
图1是本申请实施例提供的运动信息的重定向系统100的架构示意图;
图2是本申请实施例提供的实施运动信息的重定向方法的电子设备500的结构示意图;
图3是本申请实施例提供的运动信息的重定向方法的流程示意图;
图4是本申请实施例提供的源角色与目标角色示意图;
图5是本申请实施例提供的针对源角色的骨骼旋转数据的修正过程流程图;
图6是本申请实施例提供的骨骼旋转数据的具体修正过程流程图;
图7是本申请实施例提供的针对初始骨骼位移数据的修正过程流程图;
图8是本申请实施例提供的目标角色的目标运动信息的确定过程流程图;
图9是本申请实施例提供的目标角色的目标位置信息确定过程流程图;
图10是本申请实施例提供的运动重定向模型的运动重定向方法流程图;
图11是本申请实例提供的运动重定向模型示意图;
图12是本申请实例提供的运动重定向模型的训练过程流程图;
图13是本申请实施例提供的运动重定向模型的损失确定方法流程图;
图14是本申请实施例提供的运动重定向模型的更新方法流程图;
图15是本申请实施例提供的基于运动重定向模型的运动重定向方法流程图;
图16是本申请实例提供的运动重定向模型的训练过程流程图;
图17是本申请实施例提供的不同方式的运动重定向结果对比示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
需要指出,在本申请实施例中,涉及到与用户的运动属性相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)无监督学习:是机器学习的一种方法,即没有给定事先标记过的训练样本,自动学习输入数据分布规律的技术。
2)运动重定向(Motion Retargeting):是一种将源角色的时序动作迁移到新角色的动画生成技术。源角色和新角色在骨骼结构、身体形态等方面存在差异。因此,运动重定向需要综合考虑角色之间的差异性和时序动作的连贯性。运动重定向技术被广泛应用于动画、游戏制作,以及虚拟人生成,具有重要的研究意义。
3)四元数(Quaternion):是由爱尔兰数学家威廉·卢云·哈密顿在1843年创立出的数学概念,四元数是复数的不可交换延伸。
4)正向动力学(Forward kinematics):给定角色的关节模型和每个节点相对父节点的变换矩阵,计算关节坐标到世界坐标的变换矩阵。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的运动信息的重定向系统。参见图1,图1是本申请实施例提供的运动信息的重定向系统100的架构示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
在一些实施例中,终端(如终端400-1和终端400-2),部署有角色动画客户端,用于显示用于接收源角色针对目标动作的运动信息的人机交互界面、针对目标角色进行选择的选择界面、以及用于触发针对运动信息的重定向操作的重定向控件,终端可以通过人机交互界面接收到源角色针对目标动作的运动信息,选定目标角色之后,响应于针对重定向控件的触发操作,向服务器发送运动重定向请求,并接收服务器返回与运动重定向请求对应的目标运动信息,并在动画显示界面中,播放目标角色基于目标运动信息执行目标动作的动画。
在一些实施例中,服务器200,部署有用于实现运动信息的重定向的运动重定向模型,用于接收终端发送的运动重定向请求并解析,得到源角色执行目标动作的运动信息、目标角色的骨骼结构数据、目标角色的高度以及源角色的高度等信息,并通过运动信息包括的源角色的骨骼旋转数据、源角色的骨骼位移数据分别对目标角色的骨骼旋转数据以及源角色的骨骼位移数据进行初始化,并根据源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据,对初始的骨骼旋转数据进行修正,得到目标角色的目标骨骼旋转数据;根据源角色的骨骼位移数据以及目标角色的骨骼结构数据,对初始骨骼位移数据进行修正,得到目标角色的目标骨骼位移数据;最终,基于目标骨骼旋转数据以及目标骨骼位移数据,确定目标角色执行目标动作的目标运动信息,并将目标运动信息发送至终端。
在实际应用中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(如终端400-1和终端400-2)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。终端(如终端400-1和终端400-2)以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
接下来对实施本申请实施例提供的运动信息的重定向方法的电子设备进行说明。参见图2,图2是本申请实施例提供的实施运动信息的重定向方法的电子设备500的结构示意图。电子设备500可以为图1示出的服务器200,电子设备500还可以是具有实现本申请提供的运动信息的重定向方法能力的终端,以电子设备500为图1示出的服务器为例,对实施本申请实施例的运动信息的重定向方法的电子设备进行说明,本申请实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等;呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的运动信息的重定向装置可以采用软件方式实现,图2示出了存储在存储器550中的运动信息的重定向装置555,其可以是程序和插件等形式的软件,包括以下软件模块:数据获取模块5551、旋转数据生成模块5552、初始位移数据生成模块5553、目标位移数据生成模块5554和数据融合模块5555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的运动信息的重定向装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的运动信息的重定向装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的运动信息的重定向方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的运动信息的重定向方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如即时通信APP、网页浏览器APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
基于上述对本申请实施例提供的运动信息的重定向系统及电子设备的说明,下面说明本申请实施例提供的运动信息的重定向方法。在实际实施时,本申请实施例提供的运动信息的重定向方法可以由终端或服务器单独实现,或者由终端及服务器协同实现,以由图1中的服务器200单独执行本申请实施例提供的运动信息的重定向方法为例进行说明。参见图3,图3是本申请实施例提供的运动信息的重定向方法的流程示意图,将结合图3示出的步骤进行说明。
在步骤101中,服务器获取源角色执行目标动作的运动信息、目标角色的骨骼结构数据、目标角色的高度以及源角色的高度。
其中,运动信息包括源角色的骨骼旋转数据、源角色的骨骼位移数据以及源角色的骨骼关节点的位置数据。
在实际实施时,参见图4,图4是本申请实施例提供的源角色与目标角色示意图,图中将源角色A执行目标动作的运动信息重定向至目标角色B,源角色执行目标动作通常对应一段时长为T的动画,且动画包括K个关键帧(t为大于等于2的整数),每一帧所记录的运动信息,组成源角色对应目标动作的运动信息,每一帧运动信息主要包括以下三种数据:1、源角色的骨骼结构中的每一个骨骼在当前帧的角度旋转数据,即骨骼旋转数据;2、在当前帧中源角色执行目标动作所关联的骨骼结构中的根骨骼的移动数据(即骨骼位移数据);3、源角色的每个骨骼关节点的位置信息,可以采用骨骼关节点的位置坐标表示。为了将源角色的目标动作的运动信息重定向至目标角色,服务器还会获取源角色的高度、目标角色的高度以及目标角色的骨骼信息。需要说明的是,源角色与目标角色的骨骼结构相似,骨骼长度相异,即将源角色的运动信息重定向至与源角色的骨骼结构相似但骨骼长度相异的目标角色。
示例性地,假设源角色A针对目标动作,存在一段时长为T的动画,该动画包括K个关键帧,每个帧包括源角色A的每个骨骼在第t帧的骨骼旋转数据其中,J为骨骼的数量,采用四元数表示,也就是说,骨骼旋转数据可以看作一个N×4的矩阵,N为骨骼数量,每一行表示每个骨骼在自身的骨骼局部坐标系中的旋转数据。每个帧还包括骨骼位移数据即当前目标动作对应的根骨骼,在一帧中相较于前一帧的移动数据(包括大小和方向),不同的目标动作可能对应不同的根骨骼,如“行走”的根骨骼可以为髋部骨骼,“摇头”的根骨骼可以为颈部骨骼。另外,每帧的运动信息中还包括每个骨骼相对于自身的骨骼局部坐标系的坐标信息每个骨骼都具有相对应的骨骼局部坐标系。
在步骤102中,基于源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据,对源角色的骨骼旋转数据进行修正,得到与目标角色相适配的目标骨骼旋转数据。
在实际实施时,服务器获取目标角色B的骨骼结构数据J为目标角色的骨骼数量,骨骼包括关节和骨头,骨骼数量也可看作为关节点个数。然后结合源角色的骨骼关节点的位置数据对源角色的骨骼旋转数据进行修正,得到在第t帧与目标角色B相适配的目标骨骼旋转数据。修正过程可以看作是确定目标角色相对于源角色骨骼运动的骨骼旋转数据的旋转变化值,进行修正的原因可以是在将源角色的骨骼旋转数据迁移至目标角色时,由于两个角色的骨骼长度差异很大,直接复制过来的骨骼局部旋转不一定能准确的表达源角色的目标动作,因此需要根据目标角色的骨骼结构数据对源角色的骨骼旋转数据进行修正,以使修正后的骨骼旋转数据能够适合目标角色的骨骼结构。
在一些实施例中,参见图5,图5是本申请实施例提供的针对源角色的骨骼旋转数据的修正过程流程图,基于图3,步骤102可由步骤1021-1023实现。
步骤1021,服务器获取源角色的骨骼关节点的位置数据、以及目标角色的骨骼结构数据之间的旋转映射关系。
示例性地,服务器获取预先构建的源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据SB之间的旋转映射关系其中,映射关系用于对源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据SB进行非线性变换。
步骤1022,基于旋转映射关系,对源角色的骨骼关节点的位置数据与目标角色的骨骼结构数据进行非线性变换,得到旋转修正因子。
在实际实施时,旋转修正因子,为目标角色的骨骼旋转数据相对于源角色的骨骼旋转数据的变化值。
示例性地,映射关系可以是两层全连接神经网络MLP,通过这两层全连接神经网络,对源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据SB进行非线性变换,得到旋转修正因子需要说明的是,服务器是对时长为T的动画的每一个关键帧t逐个进行处理的。即
步骤1023,对旋转修正因子与源角色的骨骼旋转数据进行求积,得到与目标角色相适配的目标骨骼旋转数据。
在实际实施时,服务器通过旋转修正因子,修正源角色的骨骼旋转数据,得到适用于目标角色的目标骨骼旋转数据。服务器可以确定旋转修正因子与源角色的骨骼旋转数据的乘积,并将乘积作为目标角色的目标骨骼旋转数据。需要说明的是,服务器在将源角色的运动信息重定向至目标角色的过程中,是对动画中的每一个关键帧t逐一进行处理的。
示例性地,以确定第t帧的目标角色的目标骨骼旋转数据为例,用四元数乘法运算,将与相乘,得到目标角色在第t帧的目标骨骼旋转数据即 为源角色在第t帧的骨骼旋转数据,为目标角色在第t帧相对于源角色的骨骼旋转数据的变化值,与均可以采用四元数表示。
在一些实施例中,服务器还可以通过以下方式获取目标角色的初始骨骼旋转数据:服务器基于源角色的骨骼旋转数据,对目标角色的骨骼旋转数据进行初始化,得到目标角色的初始骨骼旋转数据,其中,源角色的骨骼结构与目标角色的骨骼结构相同。
示例性地,服务器还可以直接采用源角色的骨骼旋转数据对目标角色的骨骼旋转数据进行初始化,得到目标角色的初始骨骼旋转数据。
在步骤103中,基于目标角色的高度以及源角色的高度,将源角色的骨骼位移数据映射至目标角色,得到目标角色的初始骨骼位移数据。
在实际实施时,服务器还可以根据目标角色的高度HB以及源角色的高度HA之间的比例关系,将源角色的骨骼位移数据映射至目标角色,从而得到目标角色的初始骨骼位移数据。其中,可以采用四元数表示的表征源角色A对应目标动作的根骨骼的骨骼位移数据,骨骼位移数据是相对于世界坐标系而言,且是指的对应目标动作的根骨骼相对于世界坐标系的位移。
在一些实施例中,参见图6,图6是本申请实施例提供的骨骼旋转数据的具体修正过程流程图,基于图3,步骤103可由步骤1031-1032实现。
步骤1031,服务器基于源角色的高度,对源角色的骨骼位移数据进行归一化,得到单位骨骼位移数据。
在实际实施时,源角色与目标角色的骨骼结构相同、骨骼长度不同,服务器可以根据源角色的高度,对源角色的骨骼位移数据进行归一化,得到单位高度对应的单位骨骼位移数据。
示例性地,源角色A的高度HA,源角色的骨骼位移数据则单位骨骼位移数据源角色A对应第t帧的单位骨骼位移数据
步骤1032,基于目标角色的高度,对单位骨骼位移数据进行反归一化,得到目标角色的初始骨骼位移数据。
在实际实施时,服务器基于对源角色的高度确定单位骨骼位移数据后,通过目标角色的高度,对单位骨骼位移数据进行反归一化,最终得到对应目标角色的初始骨骼位移数据。由于目标角色与源角色的骨骼结构相同,骨骼长度不同,通过获取目标角色的高度与单位骨骼位移数据的乘积,即可得到对应目标角色的初始骨骼位移数据。
承接上例,目标角色B的高度HB,单位骨骼位移数据目标角色B对应第t帧的初始骨骼位移数据
在一些实施例中,服务器还可以通过以下方式确定目标角色的初始骨骼位移数据:服务器获取目标角色的高度与源角色的高度之间的比值,基于比值及源角色的骨骼位移数据,确定目标角色的初始骨骼位移数据。
示例性地,服务器确定目标角色B的高度HB与源角色A的高度HA之间的比值HB/HA,并根据这个比值,对源角色的骨骼位移数据进行缩放,得到缩放后的骨骼位移数据并使用对目标角色的骨骼位移数据进行初始化,得到目标角色的初始骨骼位移数据
在步骤104中,基于源角色的骨骼位移数据以及目标角色的骨骼结构数据,对初始骨骼位移数据进行修正,得到与目标角色相适配的目标骨骼位移数据。
在实际实施时,源角色的骨骼长度与目标角色的骨骼长度差异较大时,执行目标动作时的速度或移动步长也会存在较大差异,若直接使用初始骨骼位移数据,表达源角色的目标动作的准确度低。服务器可以基于目标角色的骨骼结构数据,对初始骨骼位移数据进行修正,使得修正后的初始骨骼位移数据能够适合目标角色的骨骼结构,此时,修正后的初始骨骼位移数据可作为目标角色的目标骨骼位移数据。
在一些实施例中,参见图7,图7是本申请实施例提供的针对初始骨骼位移数据的修正过程流程图,基于图3,步骤104可由步骤1041-1043实现。
步骤1041,服务器获取源角色的骨骼位移数据、以及目标角色的骨骼结构数据之间的位移映射关系。
在实际实施时,服务器获取预先构建的位移映射关系,该位移映射关系用于表征源角色的骨骼位移数据与目标角色的骨骼结构数据之间的关联关系
步骤1042,基于位移映射关系,对源角色的骨骼位移数据以及目标角色的骨骼结构数据进行非线性变换,得到位移修正数据。
在实际实施时,位移修正数据,为目标角色的初始骨骼位移数据相对于源角色的骨骼位移数据的变化值。其中,位移映射关系可以是基于神经网络实现,可以是采用至少两层全连接神经网络MLP表示的非线性变化关系。通过这至少两层全连接神经网络,对源角色的骨骼位移数据以及目标角色的骨骼结构数据SB进行非线性变换,得到位移修正数据需要说明的是,对于时长为T且包括多个关键帧的运动信息,服务器先获取每个关键帧的子位移修正数据t表示第t帧,每个关键帧的子位移修正数据按照各个关键帧的时序关系组成的序列作为最终的位移修正数据
步骤1043,对位移修正数据与目标角色的初始骨骼位移数据进行求和,得到与目标角色相适配的目标骨骼位移数据。
在实际实施时,服务器确定位移修正数据与目标角色的初始骨骼位移数据的和作为与目标角色相适配的目标骨骼位移数据
在步骤105中,基于目标骨骼旋转数据以及目标骨骼位移数据,确定目标角色执行目标动作的目标运动信息。
在实施实施时,服务器将源角色A的骨骼旋转数据以及骨骼位移数据映射至目标角色B之后,目标角色具有与自身骨骼结构相适配的目标骨骼旋转数据以及目标骨骼位移数据,服务器可以结合目标角色的目标骨骼旋转数据以及目标角色的骨骼结构数据,确定目标角色的所对应的骨骼系统中每个骨骼的关节点位置,并基于目标骨骼位移数据,最终确定目标角色对应目标动作的目标运动信息,即完成针对目标动作的运动信息的重定向。
在一些实施例中,参见图8,图8是本申请实施例提供的目标角色的目标运动信息的确定过程流程图,基于图3,步骤105可由步骤1051-1053实现。
步骤1051,服务器获取目标角色的骨骼关节点的初始位置数据。
在实际实施时,服务器在确定目标角色对应的目标动作的目标骨骼旋转数据以及目标骨骼位移数据之后,获取目标角色的每个骨骼关节点的初始位置数据,即目标角色在执行目标动作之前所处状态对应的骨骼关节点的位置信息。
步骤1052,基于目标骨骼旋转数据以及目标角色的骨骼结构数据,对初始位置数据进行调整,得到目标角色的骨骼关节点的目标位置信息。
在实际实施时,服务器基于目标骨骼旋转数据以及目标角色的骨骼结构数据,调整骨骼关节点的初始位置数据,以得到目标角色的骨骼关节点适应于目标动作的目标位置信息其中,服务器可以利用正向动力学过程FK(·),结合目标骨骼旋转数据以及目标角色的骨骼结构数据SB,确定目标位置信息即
在一些实施例中,参见图9,图9是本申请实施例提供的目标角色的目标位置信息确定过程流程图,基于图9,步骤1052可由步骤201-202实现。
步骤201,服务器获取目标角色的骨骼结构数据所对应的骨骼树,骨骼树,用于表征目标角色的骨骼结构的层级关系。
在实际实施时,目标角色或源角色的所有骨骼是具有层级关系的,即角色的骨骼结构数据具有对应的骨骼树,骨骼树表征了角色的骨骼结构数据中骨骼之间的层级关系。
步骤202,基于骨骼树中每个父骨骼的骨骼旋转数据,对父骨骼关联的子骨骼的初始位置数据进行调整,得到每个子骨骼的目标位置数据,以使子骨骼跟随父骨骼旋转形成目标动作对应的姿势。
在实际实施时,服务器将每个父骨骼的目标位置数据以及父骨骼关联的子骨骼的目标位置数据,作为目标角色的骨骼关节点的目标位置数据。服务器将局部骨骼旋转数据依据骨骼树的父子(层级)关系,依次将骨骼局部旋转数据赋值到相应的骨骼上,得到每个骨骼得到每个骨骼关节点旋转后的位置坐标的过程。
步骤1053,将目标角色的骨骼关节点的目标位置信息与目标骨骼位移数据进行融合,得到目标角色执行目标动作的目标运动信息。
在实际实施时,由于角色的骨骼结构中,局部的每一个骨骼旋转都是相对于父节点(父骨骼)的,当父骨骼局部旋转到位时,下一级骨骼方可旋转到位,通过正向运动学确定每个骨骼的位置信息是一个层级递归的过程。例如,角色向前走一步,首先,角色的局部骨骼原地旋转至目标位置,摆出走一步的姿势,然后,加上全局的骨骼位移数据控制局部骨骼真正进行移动。由于正向动力学的过程不包括目标骨骼位移数据(控制目标角色产生移动的全局运动数据),也就是说,通过FK(·)确定目标角色的每个骨骼相互配合做出与目标动作相对应的姿势后,再对目标动作相对应的根骨骼施加目标骨骼位移数据,控制目标角色的移动,最终得到目标角色对应目标动作的运动信息⊕表示对骨骼局部运动(局部骨骼旋转)施加全局运动(即骨骼位移)变换。
在一些实施例中,参见图10,图10是本申请实施例提供的运动重定向模型的运动重定向方法流程图,结合图10示出的步骤301-305,说明本申请实施例提供的基于机器学习模型实现运动重定向的方法。机器学习模型可称为运动重定向模型,运动重定向模型包括数据获取层、旋转数据生成层、位移数据生成层以及数据融合层。
步骤301,服务器通过数据获取层,获取源角色执行目标动作的运动信息、目标角色的骨骼结构数据、目标角色的高度以及源角色的高度。
需要说明的是,运动信息包括源角色的骨骼旋转数据、源角色的骨骼位移数据以及源角色的骨骼关节点的位置数据。
示例性地,参见图11,图11是本申请实例提供的运动重定向模型示意图,图中编号1示出的是数据获取层,用于获取源角色执行目标动作的运动信息、目标角色的骨骼结构数据SB、目标角色的高度HB以及源角色的高度HA。
步骤302,通过旋转数据生成层,基于源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据,对源角色的骨骼旋转数据进行修正,得到与目标角色相适配的目标骨骼旋转数据。
承接上例,图中编号2示出的旋转数据生成层可以是多层全连接神经网络MLP,用于根据源角色的骨骼关节点的位置数据以及目标角色的骨骼结构数据SB,对源角色对应目标动作的骨骼旋转数据进行修正,得到与目标角色相适配的目标骨骼旋转数据
步骤303,通过位移数据生成层,基于目标角色的高度以及源角色的高度,将源角色的骨骼位移数据映射至目标角色,得到目标角色的初始骨骼位移数据。
承接上例,图中编号4和编号5示出位移数据生成层,其中,图中编号4中根据源角色的高度HA对源角色的骨骼位移数据进行归一化,得到单位位移数据然后,根据目标角色的高度HB对单位位移数据进行反归一化,得到目标角色对应目标动作的初始骨骼位移数据
步骤304,通过位移数据生成层,基于源角色的骨骼位移数据以及目标角色的骨骼结构数据,对初始骨骼位移数据进行修正,得到与目标角色相适配的目标骨骼位移数据。
承接上例,位移数据生成层还可以包括多层全连接神经网络MLP(图11中编号5示出),用于根据源角色的骨骼位移数据以及目标角色的骨骼结构数据SB,确定目标角色相对于源角色的骨骼位移数据的变化值然后结合对初始骨骼位移数据进行修正,得到与目标角色相适配的目标骨骼位移
步骤305,通过数据融合层,基于目标骨骼旋转数据以及目标骨骼位移数据,确定目标角色执行目标动作的目标运动信息。
承接上例,服务器通过数据融合层(图11中编号3示出),利用正向动力学过程FK(·),结合目标骨骼旋转数据以及目标角色的骨骼结构数据SB,确定目标角色执行与目标动作对应的姿势时每个骨骼的目标骨骼位置信息然后,图11中编号7示出的数据流转,结合目标骨骼位移数据控制目标角色移动,得到目标角色执行目标动作的目标运动信息
在一些实施例中,在确定目标角色对应目标动作的目标运动信息之后,服务器还可以执行以下操作:服务器基于目标角色的骨骼结构数据,对目标角色针对目标动作的可操作性进行验证,得到验证结果;当验证结果表征目标角色具有执行目标动作的能力时,控制目标角色基于目标运动信息执行目标动作。
在实际实施时,服务器将源角色对应目标动作的运动信息重定向至目标角色,使得目标角色具有对应目标动作的目标运动信息之后,服务器还可以结合目标角色的骨骼结构数据,验证当前目标角色针对该目标动作的可操作性(即目标角色被赋予目标运动信息后,能否完成目标动作),当验证结果表征目标能够完成相应的目标动作,服务器控制目标角色执行目标动作,并在终端显示相应的动画。
示例性地,源角色A与目标角色B的骨骼长度不一致,以目标动作为“高抬腿”为例,将源角色A针对“高抬腿”的运动信息重定向至目标角色B之后,由于两个角色之间的骨骼长度差异较大(二者差异达到预设的第一差异阈值),服务器验证目标角色B的下肢中膝关节与踝关节之间的骨骼长度未达到执行“高抬腿”的长度阈值,同时膝关节的旋转角度也不能达到执行“高抬腿”的角度阈值时,服务器返回目标角色B针对“高抬腿”动作不具有可操作性的提示信息。若存在目标角色C,其下肢比例为源角色的80%(二者差异小于预设的第二差异阈值),则服务器验证得到目标角色C针对“高抬腿”具有可操作性,服务器控制目标角色C基于“高抬腿”对应的运动信息执行“高抬腿”的动作。
在一些实施例中,参见图12,图12是本申请实例提供的运动重定向模型的训练过程流程图,结合图12示出的步骤401-408进行说明。
步骤401,服务器通过数据获取层,获取源角色执行目标动作的样本运动信息、目标角色的骨骼结构数据、目标角色的高度以及源角色的高度。
需要说明的是,样本运动信息是指源角色的运动信息,包括源角色的样本骨骼旋转数据、源角色的样本骨骼位移数据以及源角色的骨骼关节点的样本位置数据。
示例性地,获取源角色执行每种目标动作(如“行走”、“跳跃”)对应的样本运动信息,并获取多种目标角色的高度,需要说明的是,训练数据中记录的是源角色执行各种目标动作的运动信息,并不包括各种目标角色执行相应目标动作的目标信息。也就是说,运动重定向模型是一个无监督的神经网络模型,利用源角色的骨骼旋转数据和骨骼位移数据的复制,提供合理的目标角色针对目标动作的运动初始值,之后利用运动重定向模型,从非成对数据中自监督学习针对目标动作的运动序列的微调。
步骤402,通过旋转数据生成层,基于源角色的骨骼关节点的样本位置数据以及目标角色的骨骼结构数据,对源角色的样本骨骼旋转数据进行修正,得到与目标角色相适配的预测骨骼旋转数据。
承接上例,旋转数据生成层可以是多层全连接神经网络MLP,用于根据源角色的骨骼关节点的样本位置数据以及目标角色的骨骼结构数据SB,对源角色对应目标动作的样本骨骼旋转数据进行修正,得到与目标角色相适配的预测骨骼旋转数据
步骤403,通过位移数据生成层,基于目标角色的高度以及源角色的高度,将源角色的样本骨骼位移数据映射至目标角色,得到目标角色的初始骨骼位移数据。
承接上例,通过位移数据生成层,根据源角色的高度HA对源角色的样本骨骼位移数据进行归一化,得到单位位移数据然后,根据目标角色的高度HB对单位位移数据进行反归一化,得到目标角色对应目标动作的初始骨骼位移数据
步骤404,通过位移数据生成层,基于源角色的骨骼位移数据以及目标角色的骨骼结构数据,对初始骨骼位移数据进行修正,得到与目标角色相适配的预测骨骼位移数据。
承接上例,位移数据生成层还可以包括多层全连接神经网络MLP,用于根据源角色的骨骼位移数据以及目标角色的骨骼结构数据SB,确定目标角色相对于源角色的骨骼位移数据的变化值然后结合对初始骨骼位移数据进行修正,得到与目标角色相适配的预测骨骼位移
步骤405,通过数据融合层,基于预测骨骼旋转数据以及预测骨骼位移数据,确定目标角色执行目标动作的预测运动信息。
承接上例,服务器通过数据融合层,利用正向动力学过程FK(·),结合预测骨骼旋转数据以及目标角色的骨骼结构数据SB,确定目标角色执行与目标动作对应的姿势时每个骨骼的预测骨骼位置信息然后,结合预测骨骼位移数据控制目标角色移动,得到目标角色执行目标动作的预测运动信息
步骤406,通过判别器,对预测运动信息的真实性进行判别,得到判别结果。
在实际实施时,由于运动重定向模型是一个无监督神经网络模型,运动重定向模型可以包括生成器和判别器,其中生成器用于执行步骤401至步骤405的预测运动信息的生成过程,判别器是基于全连接神经网络组成的,用于对生成器输出的预测运动信息的真实性进行判别。需要说明的是,判别器实际是一个分类器,用于接收各种角色对应各种动作的运动信息,输出该运动信息是否真实的判断。判别器的作用只是用于判断输入的运动信息是否真实,与具体哪个角色无关。在判别器的实际训练过程中,实际是用源角色A的运动信息作为样本数据。
示例性地,构造基于全连接神经网络的判别器Disc(·),其输入为角色的运动信息(运动信息可以看作是基于骨骼关节点位置坐标表示的运动序列),输出是二值化形式的分类结果,其中,0表示该运动信息为假,1表示该运动信息为真。
步骤407,基于判别结果,确定判别损失,并基于目标角色的预测选运动信息与源角色的样本运动信息,确定运动重建损失,并基于预测骨骼旋转数据,确定旋转约束损失。
在实际实施时,根据判别结果确定判别器的判别损失并根据预测运动信息与源角色的样本运动信息之前的差异,确定运动重建损失,在结合预测骨骼旋转数据确定相应的旋转约束损失,旋转约束损失主要是由于目标角色与源角色的骨骼长度比例差异较大时,执行相同动作时,各个骨骼的旋转至各极点时的骨骼旋转数据是有差异的。
在一些实施例中,参见图13,图13是本申请实施例提供的运动重定向模型的损失确定方法流程图,基于图12,步骤407可由步骤4071-4073实现,结合图13示出的步骤4071-4073进行说明。
步骤4071,服务器确定目标角色的预测运动信息与源角色的样本运动信息之间的差异,并基于差异,确定运动重建损失。
示例性地,服务器确定目标角色的预测运动信息与源角色的样本运动信息的差异并根据预设的运动重建损失计算方式,确定运动重建损失
步骤4072,获取骨骼旋转角阈值,骨骼旋转角阈值用于表征在世界坐标系下,骨骼旋转角的极点。
在实际实施时,当目标角色的骨骼长度相比源角色缩小或扩大时,人体动作幅度会有不同程度的改变,如果目标角色和源角色中相应的骨骼关节保持相同的运动角度,那么目标角色和源角色的运动看起来才会是相同的。需要对目标角色上的骨骼间的运动角度进行约束,以确保目标角色的骨骼间运动角度与源角色上相应的骨骼间运动角度相匹配,同时还要符合运动学规律,保证每个骨骼的旋转角度不能超越相应的骨骼旋转阈值(即在世界坐标系下,骨骼旋转角的极点)。
步骤4073,对预测骨骼旋转数据进行空间转换,得到相对于世界坐标系的欧拉角,并基于欧拉角以及骨骼旋转角阈值,确定旋转约束损失。
示例性地,对预测骨骼旋转数据进行相对于世界坐标系的y轴的角度转换,得到每个骨骼的对应y轴欧拉角确定y轴欧拉角与旋转角阈值之间的差异将该差异与零进行比较,得到两者中较大的值的平方,作为旋转约束损失
步骤408,基于判别损失、运动重建损失以及旋转约束损失,更新运行重定向模型的模型参数。
在实际实施时,服务器基于判别损失运动重建损失以及旋转约束损失并结合运动重定向模型预设的表示权重超参数,确定运动重定向模型的模型损失
在一些实施例中,参见图14,图14是本申请实施例提供的运动重定向模型的更新方法流程图,基于图12,步骤408可由步骤4081-步骤4083实现,结合图14示出的步骤4081-4083进行说明。
步骤4081,服务器基于判别损失,更新运行重定向模型的判别器的模型参数。
示例性地,服务器通过判别损失更新判别器的参数,使得判别器的判别结果尽可能接近真实结果。
步骤4082,对判别损失、运动重建损失以及旋转约束损失进行求和,得到目标损失。
示例性地,服务器获取判别损失运动重建损失以及旋转约束损失三者之间的和,并结合预先设定的运动重建损失的权重参数μ、以及旋转约束损失的权重参数τ,确定目标损失
步骤4083,基于目标损失,更新运行重定向模型的生成器的模型参数。
示例性地,服务器基于确定的目标损失,更新运动重定向模型的生成器的模型参数,也就是说,运动重定向模型中的生成器部分和判别器部分是同时训练的。
通过上述步骤401-408,可以实现在非成对数据集条件下,无监督地训练运动重定向模型。其中,判别器的训练采用对抗生成网络(GAN)的训练方式。
应用本申请上述实施例,通过复制源角色的骨骼旋转数据和骨骼位移数据为目标角色提供了针对目标动作的高质量的初始骨骼旋转数据和初始骨骼位移数据,通过对初始骨骼旋转数据和初始骨骼位移数据的修正,得到目标角色对应目标动作的目标骨骼旋转数据和目标骨骼位移数据,并最终得到目标角色对应目标动作的运动信息,如此,能够提高运动信息的重定向结果的精确度,视觉效果更加自然。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
运动重定向是计算机图形和数字媒体娱乐领域的关键技术,其被广泛应用于动画、游戏内容制作,动作捕捉,虚拟人生成等方面。参见图4,如图4所示,运动重定向技术是将源角色的动作迁移到目标角色。其中,运动重定向的难点在于源角色和目标角色的骨骼差异大,具有不同的骨骼长度和拓扑关系。运动重定向的核心目标是使迁移后的目标角色运动自然、真实,时序平滑且保持原始的动作语义信息。
相关技术中,传统的运动重定向技术利用人工设计的运动学约束进行动作迁移。例如骨骼的旋转角度限制,关节点位置关系,连续帧插值等。例如,采用异构拓扑的角色运动重定向方法,该方法基于人体下肢运动规律消除重定向后的滑步现象,采用插值的方法对运动进行修正,消除重定向后的跳帧现象并通过添加各种物理约束条件,使重定向后的运动符合物理规律。传统的运动重定向方法依赖于人工设计的规则,因此对操作者的专业知识、经验有着较高要求。另外,传统方法针对于不同目标角色设计不同的运动约束,模型缺少泛化性,需要较高的人力成本和时间成本,无法完成大规模的动作迁移任务。
而基于神经网络的运动重定向方法能够利用深度学习技术,从大规模多种角色的运动数据中,学习运动学规律,从而减少重定向过程中的人为干预。例如,采用基于自编码器的运动重定向模型,其计算源运动数据对应的隐变量,并重建运动,对重建运动施加骨骼长度约束、足迹约束、根关节位置约束以及骨骼角度约束,并将约束损失反向传播至隐变量空间中优化模型参数。又例如,采用基于ResNet-LSTM的运动重定向利用循环神经网络得到时序平滑的重定向结果。由此可知,相关基于神经网络的方法大多需要采集成对的训练样本,对数据集的匹配程度要求较高。另外,相关运动重定向方法没有充分利用旋转复制所提供的有效的初始值,而是让神经网络直接学习全部的运动信息,增加了模型训练的难度,造成输出结果的失真现象。
相关技术中,运动重定向技术主要包括两种:(1)基于人工设计运动学约束的重定向技术。(2)基于神经网络的运动重定向技术。其中,基于人工设计运动学约束的重定向技术流程复杂,只有具备相关专业知识和丰富经验的从业人员才能设计出符合目标角色的合理约束,且设计的模型只针对于特定的目标角色和运动序列,缺少泛化性,无法直接应用在新的角色或动作上。该过程需要较高的人力以及时间成本,无法完成大规模、多种角色的动作迁移。神经网络的运动重定向技术存在标签数据依赖性强、输出结果可视化效果差、角色动作失真等现象。
基于此,本申请实施例提供一种运动信息的重定向方法,该方法是一种面向非成对训练数据的,基于旋转复制初始化的无监督神经网络运动重定向技术。其中,无监督的过程主要指没有输入-输出一一对应的训练样本,而是从非成对的输入集合和目标集合进行学习的过程。相应的实现过程如下:利用源角色骨骼旋转和根节点全局运动的复制,提供合理的目标角色运动初始值,之后利用神经网络模型,从非成对数据中自监督学习运动序列的微调,使结果与目标角色更为契合,并且有效减轻模型的学习成本,从而提升结果的质量与视觉效果。另外,该方法可以被应用在动画角色的动作捕捉、动画制作、游戏内容创作等领域;利用神经网络模型学习鲁棒的运动特征表达与角色骨骼信息,可以实现多种角色大规模长序列的运动重定向。
接下来,从技术侧说明本申请实施例使用的基于无监督神经网络的运动重定向技术。参见图15,图15是本申请实施例提供的基于运动重定向模型的运动重定向方法流程图,该人工智能模型是一种无监督神经网络模型,模型结构和训练框架包括以下内容:一种以源角色和目标角色相对应的骨骼旋转数据和全局运动(前文的骨骼位移数据)复制为初始值,神经网络输出为微调值,且局部运动与全局运动解耦的模型框架。结合步骤501-步骤507进行说明。
步骤501,将源角色的局部骨骼的旋转复制到目标角色对应的骨骼上。
以表示源角色A的每个骨骼在第t帧图像中,每个关节点的局部旋转表达,J为关节点个数。每个关节点的旋转以其父关节为参考,用局部旋转的四元数表示。以表示复制的目标角色相应的骨骼在第t帧的旋转,该过程为:
步骤502,获取源角色执行目标动作的运动序列,运动序列包括至少两个动作帧,并获取目标角色的骨骼结构。
针对每个动作帧执行以下处理:获取当前动作帧中源角色的每个关节点的位置坐标作为运动特征,并结合目标角色的骨骼结构数据(或特征),通过神经网络,得到目标角色在当前动作帧处相对于源角色骨骼运动的旋转变化差异。
示例性的,以动作帧为运动序列的第t帧为例,以源角色的每个关节点第t帧的位置坐标以及目标角色的骨骼结构为输入,目标角色相对于源角色骨骼运动的旋转变化值为输出,构造两层全连接神经网络(MLP)。用φ(·)表示该网络,则:
步骤503,基于目标角色在当前动作帧处相对于源角色骨骼运动的旋转变化差异、以及复制的目标角色相应的骨骼在当前动作帧的旋转,确定到目标角色的骨骼在当前动作帧的旋转。
示例性地,以动作帧为运动序列的第t帧为例,用四元数乘法运算,将目标角色相对于源角色骨骼运动的旋转变化值与复制的目标角色相应的骨骼在第t帧的旋转相乘,得到目标角色B骨骼第t帧的旋转
步骤504,获取源角色的高度,并基于源角色的高度对源角色的根节点的全局运动进行归一化,得到中间全局运动信息,获取目标角色的高度,并基于目标角色的高度,对中间全局运动信息进行反归一化,得到源角色迁移的全局运动。
示例性地,以动作帧为运动序列的第t帧为例,以表示源角色根节点的全局运动,表示迁移之后的全局运动,HA与HB分别表示源角色A与目标角色B的高度,则:
其中,Norm为归一化操作,Denorm为反归一化。需要注意的是,归一化以及反归一化操作只针对全局运动中的位移量,旋转量不做归一化和反归一化操作。
步骤505,通过神经网络模型,基于目标角色的骨骼结构,对源角色的根节点的全局运动进行运动重定向,得到目标角色相对于源角色根节点全局运动的变化值。
示例性地,以动作帧为运动序列的第t帧为例,将源角色根节点的全局运动和目标角色的骨骼结构为输入,目标角色相对于源角色根节点全局运动的变化值为输出,构造两层全连接神经网络。用表示该网络,则:
步骤506,对源角色迁移的全局运动,以及目标角色相对于源角色根节点全局运动的变化值进行求和,得到目标角色根节点的全局运动。
示例性地,以动作帧为运动序列的第t帧为例,将源角色迁移的全局运动与目标角色相对于源角色根节点全局运动的变化值相加,得到目标角色根节点的全局运动:
步骤507,获取目标角色的关节点坐标,并基于目标角色根节点的全局运动,对目标角色的关节点坐标进行全局运动变换,得到目标角色的运动序列。
示例性地,利用正向动力学过程FK(·),得到采用目标角色的关节点坐标所表示的目标角色的运动序列
其中,⊕表示对局部运动施加全局运动变换,即施加根节点的位移与旋转。表示目标角色B的骨骼在第1至T帧中每个关节点的局部旋转表达组成的序列,每一帧每个关节点的局部旋转表达为SB表示目标角色B的骨骼结构 表示目标角色B关节点第t帧的位置坐标
通过上述步骤501-步骤507,可以得到适合于目标角色的重定向运动序列。该运动序列具有较好的时序平滑性与语义一致性,且能够避免动作失真。
针对上述神经网络模型的训练框架进行说明。参见图16,图16是本申请实例提供的运动重定向模型的训练过程流程图,结合图16示出的步骤601-步骤604进行说明。
步骤601,构造基于全连接神经网络的运动判别器。
在实际实施时,判别器Disc(·)的输入为关节点位置坐标表示的运动序列,输出为二值化的分类结果,0表示该序列为假,1表示该序列为真。计算模型的判别损失:
步骤602,基于源角色的运动序列与目标角色的目标运动序列之间的差异,计算运动序列重建损失。
在实际实施时,在模型训练过程中,以0.5的概率使目标角色为源角色本身,计算运动序列重建损失。
步骤603,基于目标角色的骨骼旋转数据,计算旋转约束损失。
在实际实施时,确定目标角色的骨骼旋转数据对应世界坐标系的y轴旋转角,计算旋转约束损失。
其中,eulery(·)用于求解y轴欧拉角,α为旋转角阈值超参数。
步骤604,基于权重参数,确定运动重定向模型的目标损失,并基于目标损失训练模型。
在实际实施时,以μ和τ表示权重超参数,模型的损失为以上三种损失的加权
通过上述步骤601-步骤604,可以实现在非成对数据集条件下,无监督地训练运动重定向模型。其中,判别器的训练采用对抗生成网络(GAN)的训练方式,即判别器和运动重定向网络轮流优化。
在实际实施时,基于运动重定向模型,复制源角色的局部和全局运动为目标角色提供了高质量的运动初始值,神经网络输出的局部和全局微调使重定向结果精度更高,视觉效果更加自然。参见图17,图17是本申请实施例提供的不同方式的运动重定向结果对比示意图,相比于现有的,基于循环神经网络的模型NKN,和基于图卷积网络的模型SAN,本申请的结果(Ours)与真实运动(GT)更为相似,效果更好。具体参见表1,
表1
表1中对比了NKN、PMnet与本申请实例提供的方法在大规模运动重定向测试集上的平均节点位置误差,可以看到,本申请实例提供的方法的误差显著低于NKN,有着更高的精度。
需要说明的是,本申请实施例提供的运动重定向方法,是基于旋转复制的无监督学习神经网络运动重定向方法,以源角色的局部关节旋转和全局运动的复制为基础,用神经网络拟合适应于目标角色的局部和全局变化量,从而得到高质量的目标角色运动序列。在训练过程中,通过判别器来判别运动序列的真实性,从而计算判别损失。并结合无监督的重建损失和旋转角约束损失,使得运动重定向模型可以在非成对的角色运动数据集下进行无监督学习。该方法还可以与3D姿态估计技术相结合,应用于视频动作捕捉。另外,在有成对训练数据的条件下,运动重定向模型可以改进为全监督训练的方式,从而进一步提升运动重定向效果。
应用本申请上述实施例,具有以下有益效果:
(1)利用深度学习方法进行数据驱动的运动重定向,无需人工设计复杂的运动学约束,无需人工后处理,端到端地完成源角色到目标角色的运动迁移。
(2)在复制源角色局部骨骼旋转和全局根节点运动的基础上,利用神经网络进行旋转微调,使其适应目标角色的骨骼结构。其中,骨骼局部旋转和全局运动的复制提供了高质量的运动初始值,神经网络微调优化输出使得结果更加真实自然。
(3)利用运动序列的特征重建损失、旋转角度损失和判别器损失进行无监督模型训练,该过程无需成对的训练样本,并且模型可以应用到训练集之外的目标角色,具有更强的泛化性与鲁棒性。
下面继续说明本申请实施例提供的运动信息的重定向装置555的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器550的运动信息的重定向装置555中的软件模块可以包括:。
数据获取模块5551,用于获取源角色执行目标动作的运动信息,所述运动信息包括所述源角色的骨骼旋转数据、所述源角色的骨骼位移数据以及所述源角色的骨骼关节点的位置数据;
旋转数据生成模块5552,用于获取目标角色的骨骼结构数据,并基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据;
初始位移数据生成模块5553,用于获取所述目标角色的高度以及所述源角色的高度,并基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;
目标位移数据生成模块5554,用于基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据;
数据融合模块5555,用于基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息。
在一些实施例中,旋转数据生成模块还用于获取所述源角色的骨骼关节点的位置数据、以及所述目标角色的骨骼结构数据之间的旋转映射关系;基于所述旋转映射关系,对所述源角色的骨骼关节点的位置数据与所述目标角色的骨骼结构数据进行非线性变换,得到旋转修正因子,所述旋转修正因子,为所述目标角色的骨骼旋转数据相对于所述源角色的骨骼旋转数据的变化值;对所述旋转修正因子与所述源角色的骨骼旋转数据进行求积,得到与所述目标角色相适配的目标骨骼旋转数据。
在一些实施例中,所述初始位移数据生成模块,还用于基于所述源角色的高度,对所述源角色的骨骼位移数据进行归一化,得到单位骨骼位移数据;基于所述目标角色的高度,对所述单位骨骼位移数据进行反归一化,得到所述目标角色的初始骨骼位移数据。
在一些实施例中,所述目标位移数据生成模块,还用于获取所述源角色的骨骼位移数据、以及所述目标角色的骨骼结构数据之间的位移映射关系;基于所述位移映射关系,对所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据进行非线性变换,得到位移修正数据,所述位移修正数据,为所述目标角色的初始骨骼位移数据相对于所述源角色的骨骼位移数据的变化值;对所述位移修正数据与所述目标角色的初始骨骼位移数据进行求和,得到与所述目标角色相适配的目标骨骼位移数据。
在一些实施例中,所述数据融合模块,还用于获取所述目标角色的骨骼关节点的初始位置数据;基于所述目标骨骼旋转数据以及所述目标角色的骨骼结构数据,对所述初始位置数据进行调整,得到所述目标角色的骨骼关节点的目标位置信息;将所述目标角色的骨骼关节点的目标位置信息与所述目标骨骼位移数据进行融合,得到所述目标角色执行所述目标动作的目标运动信息。
在一些实施例中,所述数据融合模块,还用于获取所述目标角色的骨骼结构数据所对应的骨骼树,所述骨骼树,用于表征所述目标角色的骨骼结构的层级关系;基于所述骨骼树中每个父骨骼的骨骼旋转数据,对所述父骨骼关联的子骨骼的初始位置数据进行调整,得到每个所述子骨骼的目标位置数据,以使所述子骨骼跟随所述父骨骼旋转形成所述目标动作对应的姿势;将每个所述父骨骼的目标位置数据以及所述父骨骼关联的子骨骼的目标位置数据,作为所述目标角色的骨骼关节点的目标位置数据。
在一些实施例中,所述旋转数据生成模块,还用于基于所述源角色的骨骼旋转数据,对所述目标角色的骨骼旋转数据进行初始化,得到所述目标角色的初始骨骼旋转数据,所述源角色的骨骼结构与所述目标角色的骨骼结构相同;
相应的,基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述初始骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据。
在一些实施例中,所述旋转数据生成模块,还用于基于所述目标角色的骨骼结构数据,对所述目标角色针对所述目标动作的可操作性进行验证,得到验证结果;当所述验证结果表征所述目标角色具有执行所述目标动作的能力时,控制所述目标角色基于所述目标运动信息执行所述目标动作。
在一些实施例中,所述运动信息的重定向装置还包括运动重定向墨香,所述运动重定向模型包括数据获取层、旋转数据生成层、位移数据生成层以及数据融合层,其中,所述数据获取层,用于获取源角色执行目标动作的运动信息、目标角色的骨骼结构数据、所述目标角色的高度以及所述源角色的高度,所述运动信息包括所述源角色的骨骼旋转数据、所述源角色的骨骼位移数据以及所述源角色的骨骼关节点的位置数据;所述旋转数据生成层,用于基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据;所述位移数据生成层,用于基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据;所述数据融合层,用于基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息。
在一些实施例中,所述运动信息的重定向装置还包括针对运动重定向模型的训练模块,所述训练模块,用于通过数据获取层,获取源角色执行目标动作的样本运动信息、目标角色的骨骼结构数据、所述目标角色的高度以及所述源角色的高度,所述运动信息包括所述源角色的样本骨骼旋转数据、所述源角色的样本骨骼位移数据以及所述源角色的骨骼关节点的样本位置数据;通过所述旋转数据生成层,基于所述源角色的骨骼关节点的样本位置数据以及所述目标角色的骨骼结构数据,对所述源角色的样本骨骼旋转数据进行修正,得到与所述目标角色相适配的预测骨骼旋转数据;通过所述位移数据生成层,基于所述目标角色的高度以及所述源角色的高度,将所述源角色的样本骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的预测骨骼位移数据;通过数据融合层,基于所述预测骨骼旋转数据以及所述预测骨骼位移数据,确定所述目标角色执行所述目标动作的预测运动信息;通过所述判别器,对所述预测运动信息的真实性进行判别,得到判别结果;基于所述判别结果,确定判别损失,并基于所述目标角色的预测运动信息与所述源角色的样本运动信息,确定运动重建损失,并基于所述预测骨骼旋转数据,确定旋转约束损失;基于所述判别损失、运动重建损失以及所述旋转约束损失,更新所述运行重定向模型的模型参数。
在一些实施例中,所述训练模块,还用于确定所述目标角色的预测运动信息与所述源角色的样本运动信息之间的差异,并基于所述差异,确定运动重建损失;获取骨骼旋转角阈值,所述骨骼旋转角阈值用于表征在世界坐标系下,骨骼旋转角的极点;对所述预测骨骼旋转数据进行空间转换,得到相对于世界坐标系的欧拉角,并基于所述欧拉角以及骨骼旋转角阈值,确定旋转约束损失。
在一些实施例中,所述训练模块,还用于基于所述判别损失,更新所述运行重定向模型的判别器的模型参数;对所述判别损失、运动重建损失以及所述旋转约束损失进行求和,得到目标损失;基于所述目标损失,更新所述运行重定向模型的生成器的模型参数。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的运动信息的重定向方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的运动信息的重定向方法,例如,如图3示出的运动信息的重定向方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例具有以下有益效果:1)利用深度学习方法进行数据驱动的运动重定向,无需人工设计复杂的运动学约束,无需人工后处理,端到端地完成源角色到目标角色的运动迁移。2)在复制源角色局部骨骼旋转和全局根节点运动的基础上,利用神经网络进行旋转微调,使其适应目标角色的骨骼结构。其中,骨骼局部旋转和全局运动的复制提供了高质量的运动初始值,神经网络微调优化输出使得结果更加真实自然。3)利用运动序列的特征重建损失、旋转角度损失和判别器损失进行无监督模型训练,该过程无需成对的训练样本,并且模型可以应用到训练集之外的目标角色,具有更强的泛化性与鲁棒性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (16)
1.一种运动信息的重定向方法,其特征在于,所述方法包括:
获取源角色执行目标动作的运动信息、目标角色的骨骼结构数据、所述目标角色的高度以及所述源角色的高度,所述运动信息包括所述源角色的骨骼旋转数据、所述源角色的骨骼位移数据以及所述源角色的骨骼关节点的位置数据;
基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据;
基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;
基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据;
基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息。
2.如权利要求1所述的方法,其特征在于,所述基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据,包括:
获取所述源角色的骨骼关节点的位置数据、以及所述目标角色的骨骼结构数据之间的旋转映射关系;
基于所述旋转映射关系,对所述源角色的骨骼关节点的位置数据与所述目标角色的骨骼结构数据进行非线性变换,得到旋转修正因子,所述旋转修正因子,为所述目标角色的骨骼旋转数据相对于所述源角色的骨骼旋转数据的变化值;
对所述旋转修正因子与所述源角色的骨骼旋转数据进行求积,得到与所述目标角色相适配的目标骨骼旋转数据。
3.如权利要求1所述的方法,其特征在于,所述基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据,包括:
基于所述源角色的高度,对所述源角色的骨骼位移数据进行归一化,得到单位骨骼位移数据;
基于所述目标角色的高度,对所述单位骨骼位移数据进行反归一化,得到所述目标角色的初始骨骼位移数据。
4.如权利要求1所述的方法,其特征在于,所述基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据,包括:
获取所述源角色的骨骼位移数据、以及所述目标角色的骨骼结构数据之间的位移映射关系;
基于所述位移映射关系,对所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据进行非线性变换,得到位移修正数据,所述位移修正数据,为所述目标角色的初始骨骼位移数据相对于所述源角色的骨骼位移数据的变化值;
对所述位移修正数据与所述目标角色的初始骨骼位移数据进行求和,得到与所述目标角色相适配的目标骨骼位移数据。
5.如权利要求1所述的方法,其特征在于,所述基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息,包括:
获取所述目标角色的骨骼关节点的初始位置数据;
基于所述目标骨骼旋转数据以及所述目标角色的骨骼结构数据,对所述初始位置数据进行调整,得到所述目标角色的骨骼关节点的目标位置数据;
将所述目标角色的骨骼关节点的目标位置数据与所述目标骨骼位移数据进行融合,得到所述目标角色执行所述目标动作的目标运动信息。
6.如权利要求5所述的方法,其特征在于,所述基于所述目标骨骼旋转数据以及所述目标角色的骨骼结构数据,对所述初始位置数据进行调整,得到所述目标角色的骨骼关节点的目标位置数据,包括:
获取所述目标角色的骨骼结构数据所对应的骨骼树,所述骨骼树,用于表征所述目标角色的骨骼结构的层级关系;
基于所述骨骼树中每个父骨骼的骨骼旋转数据,对所述父骨骼关联的子骨骼的初始位置数据进行调整,得到每个所述子骨骼的目标位置数据,以使所述子骨骼跟随所述父骨骼旋转形成所述目标动作对应的姿势;
将每个所述父骨骼的目标位置数据以及所述父骨骼关联的子骨骼的目标位置数据,作为所述目标角色的骨骼关节点的目标位置数据。
7.如权利要求1所述的方法,其特征在于,所述基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息之后,所述方法还包括:
基于所述目标角色的骨骼结构数据,对所述目标角色针对所述目标动作的可操作性进行验证,得到验证结果;
当所述验证结果表征所述目标角色具有执行所述目标动作的能力时,控制所述目标角色基于所述目标运动信息执行所述目标动作。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述源角色的骨骼旋转数据,对所述目标角色的骨骼旋转数据进行初始化,得到所述目标角色的初始骨骼旋转数据,所述源角色的骨骼结构与所述目标角色的骨骼结构相同;
所述基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据,包括:
基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述初始骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据。
9.如权利要求1所述的方法,其特征在于,所述方法基于运动重定向模型实现,所述运动重定向模型包括:数据获取层、旋转数据生成层、位移数据生成层以及数据融合层;
所述数据获取层,用于获取源角色执行目标动作的运动信息、目标角色的骨骼结构数据、所述目标角色的高度以及所述源角色的高度,所述运动信息包括所述源角色的骨骼旋转数据、所述源角色的骨骼位移数据以及所述源角色的骨骼关节点的位置数据;
所述旋转数据生成层,用于基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据;
所述位移数据生成层,用于基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据;
所述数据融合层,用于基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
通过数据获取层,获取源角色执行目标动作的样本运动信息、目标角色的骨骼结构数据、所述目标角色的高度以及所述源角色的高度,所述运动信息包括所述源角色的样本骨骼旋转数据、所述源角色的样本骨骼位移数据以及所述源角色的骨骼关节点的样本位置数据;
通过所述旋转数据生成层,基于所述源角色的骨骼关节点的样本位置数据以及所述目标角色的骨骼结构数据,对所述源角色的样本骨骼旋转数据进行修正,得到与所述目标角色相适配的预测骨骼旋转数据;
通过所述位移数据生成层,基于所述目标角色的高度以及所述源角色的高度,将所述源角色的样本骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的预测骨骼位移数据;
通过数据融合层,基于所述预测骨骼旋转数据以及所述预测骨骼位移数据,确定所述目标角色执行所述目标动作的预测运动信息;
通过所述判别器,对所述预测运动信息的真实性进行判别,得到判别结果;
基于所述判别结果,确定判别损失,并基于所述目标角色的预测运动信息与所述源角色的样本运动信息,确定运动重建损失,并基于所述预测骨骼旋转数据,确定旋转约束损失;
基于所述判别损失、运动重建损失以及所述旋转约束损失,更新所述运行重定向模型的模型参数。
11.如权利要求10所述的方法,其特征在于,所述基于所述目标角色的预测运动信息与所述源角色的样本运动信息,确定运动重建损失,包括:
确定所述目标角色的预测运动信息与所述源角色的样本运动信息之间的差异,并基于所述差异,确定运动重建损失;
所述基于所述预测骨骼旋转数据,确定旋转约束损失,包括:
获取骨骼旋转角阈值,所述骨骼旋转角阈值用于表征在世界坐标系下,骨骼旋转角的极点;
对所述预测骨骼旋转数据进行空间转换,得到相对于世界坐标系的欧拉角,并基于所述欧拉角以及骨骼旋转角阈值,确定旋转约束损失。
12.如权利要求10所述的方法,其特征在于,所述基于所述判别损失、运动重建损失以及所述旋转约束损失,更新所述运行重定向模型的模型参数,包括:
基于所述判别损失,更新所述运行重定向模型的判别器的模型参数;
对所述判别损失、运动重建损失以及所述旋转约束损失进行求和,得到目标损失;
基于所述目标损失,更新所述运行重定向模型的生成器的模型参数。
13.一种运动信息的重定向装置,其特征在于,所述装置包括:
数据获取模块,用于获取源角色执行目标动作的运动信息,所述运动信息包括所述源角色的骨骼旋转数据、所述源角色的骨骼位移数据以及所述源角色的骨骼关节点的位置数据;
旋转数据生成模块,用于获取目标角色的骨骼结构数据,并基于所述源角色的骨骼关节点的位置数据以及所述目标角色的骨骼结构数据,对所述源角色的骨骼旋转数据进行修正,得到与所述目标角色相适配的目标骨骼旋转数据;
初始位移数据生成模块,用于获取所述目标角色的高度以及所述源角色的高度,并基于所述目标角色的高度以及所述源角色的高度,将所述源角色的骨骼位移数据映射至所述目标角色,得到所述目标角色的初始骨骼位移数据;
目标位移数据生成模块,用于基于所述源角色的骨骼位移数据以及所述目标角色的骨骼结构数据,对所述初始骨骼位移数据进行修正,得到与所述目标角色相适配的目标骨骼位移数据;
数据融合模块,用于基于所述目标骨骼旋转数据以及所述目标骨骼位移数据,确定所述目标角色执行所述目标动作的目标运动信息。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的运动信息的重定向方法。
15.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时,实现权利要求1至12任一项所述的运动信息的重定向方法。
16.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至12任一项所述的运动信息的重定向方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211399454.1A CN116993773A (zh) | 2022-11-09 | 2022-11-09 | 运动信息的重定向方法、装置、设备、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211399454.1A CN116993773A (zh) | 2022-11-09 | 2022-11-09 | 运动信息的重定向方法、装置、设备、存储介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116993773A true CN116993773A (zh) | 2023-11-03 |
Family
ID=88520150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211399454.1A Pending CN116993773A (zh) | 2022-11-09 | 2022-11-09 | 运动信息的重定向方法、装置、设备、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116993773A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117557699A (zh) * | 2024-01-11 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 动画数据生成方法、装置、计算机设备和存储介质 |
-
2022
- 2022-11-09 CN CN202211399454.1A patent/CN116993773A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117557699A (zh) * | 2024-01-11 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 动画数据生成方法、装置、计算机设备和存储介质 |
CN117557699B (zh) * | 2024-01-11 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 动画数据生成方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102645536B1 (ko) | 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스 | |
US20190295305A1 (en) | Retargeting skeleton motion sequences through cycle consistency adversarial training of a motion synthesis neural network with a forward kinematics layer | |
WO2021143261A1 (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
JP7061238B2 (ja) | 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習 | |
US11836843B2 (en) | Enhanced pose generation based on conditional modeling of inverse kinematics | |
CN113496507B (zh) | 一种人体三维模型重建方法 | |
CN110827383B (zh) | 三维模型的姿态模拟方法、装置、存储介质和电子设备 | |
CN110020633A (zh) | 姿态识别模型的训练方法、图像识别方法及装置 | |
US20230398456A1 (en) | Enhanced pose generation based on generative modeling | |
US11104001B2 (en) | Motion transfer of highly dimensional movements to lower dimensional robot movements | |
US10497163B1 (en) | Computer architecture for animation of a character in a simulation based on muscle activation data | |
CN113592895A (zh) | 一种运动信息确定方法、设备及计算机可读存储介质 | |
CN113705295A (zh) | 对象姿态迁移方法、装置、设备及存储介质 | |
CN116993773A (zh) | 运动信息的重定向方法、装置、设备、存储介质及产品 | |
CN115797517A (zh) | 虚拟模型的数据处理方法、装置、设备和介质 | |
WO2024183454A1 (zh) | 虚拟对象动画生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN116958336A (zh) | 虚拟角色的运动重定向方法和装置、存储介质及电子设备 | |
Ma et al. | Towards robust direction invariance in character animation | |
Chen et al. | [Retracted] Design and Research of the AI Badminton Model Based on the Deep Learning Neural Network | |
CN117557699B (zh) | 动画数据生成方法、装置、计算机设备和存储介质 | |
CN115779436B (zh) | 动画切换方法、装置、设备及计算机可读存储介质 | |
KR20200133293A (ko) | 커스터마이징 이미지 생성 장치 및 방법 | |
Georgiadis | Generation of a synthetic annotated dataset for training and evaluating active perception methods | |
US20240153188A1 (en) | Physics-based simulation of dynamic character motion using generative artificial intelligence | |
CN116805344B (zh) | 一种数字人动作重定向方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |