CN112699812B - 人体模型运动特征提取方法、装置、电子设备及存储介质 - Google Patents

人体模型运动特征提取方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112699812B
CN112699812B CN202011638453.9A CN202011638453A CN112699812B CN 112699812 B CN112699812 B CN 112699812B CN 202011638453 A CN202011638453 A CN 202011638453A CN 112699812 B CN112699812 B CN 112699812B
Authority
CN
China
Prior art keywords
articulation point
driving
driving articulation
displacement
rotation information
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.)
Active
Application number
CN202011638453.9A
Other languages
English (en)
Other versions
CN112699812A (zh
Inventor
刘思阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing IQIYI Science and Technology Co Ltd
Original Assignee
Beijing IQIYI Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing IQIYI Science and Technology Co Ltd filed Critical Beijing IQIYI Science and Technology Co Ltd
Priority to CN202011638453.9A priority Critical patent/CN112699812B/zh
Publication of CN112699812A publication Critical patent/CN112699812A/zh
Application granted granted Critical
Publication of CN112699812B publication Critical patent/CN112699812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种人体模型运动特征提取方法、装置、电子设备及存储介质,上述方法包括:获取三维人体模型的骨架信息和多帧运动信息;针对三维人体模型的每个驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到待定输出结果;将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;确定编码模型和解码模型是否收敛;若收敛,则将待定输出结果确定为驱动关节点的运动特征。采用上述方法使得所提取的各个驱动关节点的运动特征可以较为全面的反应出各个关节点的运动信息。

Description

人体模型运动特征提取方法、装置、电子设备及存储介质
技术领域
本发明涉及深度学习技术领域,特别是涉及一种人体模型运动特征提取方法、装置、电子设备及存储介质。
背景技术
目前,针对人体模型进行重定向处理或者进行动作分类处理时,均需要提取人体模型各个关节点的运动信息特征,通过深度学习模型对所提取的运动信息特征进行处理,以实现对人体模型的重定向或者动作分类等等。其中,对人体模型进行重定向为将人体模型从一种姿态改变为另一种姿态的过程。
然而,目前所提取的人体模型的各个关节点的运动信息特征难以较为全面的反应出各个关节点的运动信息。
发明内容
本发明实施例的目的在于提供一种人体模型运动特征提取方法、装置、电子设备及存储介质,以使得所提取的人体模型运动特征能够较为全面的反应出各个关节点的运动信息。
为了达到上述目的,本发明实施例提供了一种人体模型运动特征提取方法,包括:
获取三维人体模型的骨架信息和多帧运动信息;其中,骨架信息包括:三维人体模型的每个驱动关节点的相对位移;每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息;三维人体模型包括一个根关节点和多个驱动关节点;每个驱动关节点的相对位移表示:驱动关节点相对于根关节点的位移信息;
针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;所述解码后的旋转信息与所述原始旋转信息的数据格式相同;
基于所述解码后的旋转信息与所述原始旋转信息的差异,确定所述编码模型和所述解码模型是否收敛;
若所述编码模型和解码模型未收敛,则调整所述编码模型和解码模型的模型参数,返回所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;
若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征。
进一步的,所述编码模型包括:骨架信息编码模块和旋转信息编码模块;
所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果,包括:
将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型;
骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移;
旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量;将该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
所述若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征,包括:
若所述编码模型和所述解码模型收敛,则将该驱动关节点对应的节点向量确定为该驱动关节点的运动特征。
进一步的,所述骨架信息编码模块包括:第一全连接层、第一特征拼接层和第二全连接层;所述旋转信息编码模块包括:第三全连接层、第二特征拼接层和第四全连接层;
所述骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移,包括:
所述第一全连接层,根据该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征;
所述第一特征拼接层,对该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征进行拼接,得到隐层位移拼接特征;
所述第二全连接层,根据隐层位移拼接特征确定该驱动关节点对应的向量位移;
所述旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量,包括:
所述第三全连接层,根据该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征;
所述第二特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的第二隐层位移特征;并将各个拼接后的第二隐层位移特征进行拼接,得到拼接特征;
所述第四全连接层,根据拼接特征确定该驱动关节点对应的节点向量。
进一步的,所述解码模型包括:第五全连接层、第三特征拼接层和第六全连接层;
所述将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息,包括:
所述第五全连接层,根据该驱动关节点和该驱动关节点的各个相邻驱动关节点对应的节点向量,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征;
所述第三特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的隐层位移旋转特征;并将各个拼接后的隐层位移旋转特征进行拼接,得到拼接旋转特征;
所述第六全连接层,根据拼接旋转特征确定该驱动关节点的解码后的旋转信息。
进一步的,每一帧运动信息中的各个驱动关节点的原始旋转信息采用四元数表示:
其中,表示第t帧运动信息中第i个驱动关节点的原始旋转信息,a、b、c和d均为常数参数,i、j和k为四元数的基。
为了达到上述目的,本发明实施例还提供了一种人体模型运动特征提取装置,包括:
信息获取模块,用于获取三维人体模型的骨架信息和多帧运动信息;其中,骨架信息包括:三维人体模型的每个驱动关节点的相对位移;每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息;三维人体模型包括一个根关节点和多个驱动关节点;每个驱动关节点的相对位移表示:驱动关节点相对于根关节点的位移信息;
数据编码模块,用于针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
数据解码模块,用于将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;所述解码后的旋转信息与所述原始旋转信息的数据格式相同;
模型收敛确定模块,用于基于所述解码后的旋转信息与所述原始旋转信息的差异,确定所述编码模型和所述解码模型是否收敛;
模型参数调整模块,用于若所述编码模型和解码模型未收敛,则调整所述编码模型和解码模型的模型参数,返回所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;
运动特征确定模块,用于若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征。
进一步的,所述编码模型包括:骨架信息编码模块和旋转信息编码模块;
所述数据编码模块,具体用于将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型;骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移;旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量;将该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
所述运动特征确定模块,具体用于若所述编码模型和所述解码模型收敛,则将该驱动关节点对应的节点向量确定为该驱动关节点的运动特征。
进一步的,所述骨架信息编码模块包括:第一全连接层、第一特征拼接层和第二全连接层;所述旋转信息编码模块包括:第三全连接层、第二特征拼接层和第四全连接层;
所述骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移,包括:
所述第一全连接层,根据该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征;
所述第一特征拼接层,对该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征进行拼接,得到隐层位移拼接特征;
所述第二全连接层,根据隐层位移拼接特征确定该驱动关节点对应的向量位移;
所述旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量,包括:
所述第三全连接层,根据该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征;
所述第二特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的第二隐层位移特征;并将各个拼接后的第二隐层位移特征进行拼接,得到拼接特征;
所述第四全连接层,根据拼接特征确定该驱动关节点对应的节点向量。
进一步的,所述解码模型包括:第五全连接层、第三特征拼接层和第六全连接层;
所述数据解码模块,具体用于所述第五全连接层,根据该驱动关节点和该驱动关节点的各个相邻驱动关节点对应的节点向量,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征;所述第三特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的隐层位移旋转特征;并将各个拼接后的隐层位移旋转特征进行拼接,得到拼接旋转特征;所述第六全连接层,根据拼接旋转特征确定该驱动关节点的解码后的旋转信息。
进一步的,每一帧运动信息中的各个驱动关节点的原始旋转信息采用四元数表示:
其中,表示第t帧运动信息中第i个驱动关节点的原始旋转信息,a、b、c和d均为常数参数,i、j和k为四元数的基。
为了达到上述目的,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述三维人体模型运动特征的提取方法步骤。
为了达到上述目的,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述三维人体模型运动特征的提取方法步骤。
为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述三维人体模型运动特征的提取方法步骤。
采用本发明实施例提供的方法,获取三维人体模型的骨架信息和多帧运动信息;针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;基于解码后的旋转信息与原始旋转信息的差异,确定编码模型和所述解码模型是否收敛;若编码模型和解码模型未收敛,则调整编码模型和解码模型的模型参数,返回将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;若编码模型和解码模型收敛,则将待定输出结果确定为驱动关节点的运动特征。即提取三维人体模型的每个驱动关节点的运动特征时,考虑了驱动关节点之间的相邻位置关系,排除了偏远驱动关节点之间的影响。因此,使得所提取的各个驱动关节点的运动特征可以较为全面的反应出各个关节点的运动信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的人体模型运动特征提取方法的一种流程图;
图2为三维人体模型骨架示意图;
图3为本发明实施例提供的人体模型运动特征提取方法的另一种流程图;
图4为本发明实施例提供的骨架信息编码模块的结构示意图;
图5为本发明实施例提供的旋转信息编码模块的结构示意图;
图6为本发明实施例提供的解码模型的结构示意图;
图7为本发明实施例提供的编码模型和解码模型数据流向的示意图;
图8为本发明实施例提供的人体模型运动特征提取装置的一种结构图;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
由于现有技术提取的三维人体模型的各个关节点的运动信息特征难以较为全面的反应出各个关节点的运动信息,为了使得所提取的三维人体模型运动特征能够较为全面的反应出各个关节点的运动信息,本发明实施例提供了一种三维人体模型运动特征提取方法、装置、电子设备及存储介质。
参见图1,图1为三维人体模型运动特征提取方法的一种流程,包括:
步骤101,获取三维人体模型的骨架信息和多帧运动信息。
其中,骨架信息包括:三维人体模型的每个驱动关节点的相对位移;每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息;三维人体模型包括一个根关节点和多个驱动关节点;每个驱动关节点的相对位移表示:驱动关节点相对于根关节点的位移信息。
举例说明,参见图2,图2为三维人体模型骨架示意图,三维人体模型可以包括多个人体关节点,三维人体模型骨架示意图展示了多个人体关节点:0-hips(臀部关节点)、1-spine_virtual(脊柱虚拟关节点)、1-leftupleg_virtual(左上肢虚拟关节点)、1-rightupleg_virtual(右上肢虚拟关节点)、2-spine(脊柱关节点)、2-leftupleg(左上肢关节点)、2-rightupleg(右上肢关节点)、3-spine1(脊柱关节点1)、3-leftleg(左肢关节点)、3-rightleg(右肢关节点)、4-spine_split(脊柱裂关节点)、4-leftfoot(左脚关节点)、4-rightfoot(右脚关节点)、5-spine2(脊柱关节点2)、5-lefttoebase(左脚底关节点)、5-righttoebase(右脚底关节点)、6-neck_virtual(颈部虚拟关节点)、6-lefttoe_end(左脚尖关节点)、6-righttoe_end(右脚尖关节点)、6-leftshoulder_virtual(左肩虚拟关节点)、6-rightshoulder_virtual(右肩虚拟关节点)、7-neck(颈部关节点)、7-leftshoulder(左肩关节点)、7-rightshoulder(右肩关节点)、8-head(头部关节点)、8-leftshoulder_split(左肩分裂关节点)、8-rightshoulder_split(右肩分裂关节点)、9-headtop_end(头端关节点)、9-leftarm(左臂关节点)、9-rightarm(右臂关节点)、10-leftforearm(左前臂关节点)、10-rightforearm(右前臂关节点)、11-lefthand(左手关节点)、11-righthand(右手关节点)。其中,指定关节点可以包括:左手关节点、左前臂关节点、左肩虚拟关节点、右手关节点、右前臂关节点、右肩虚拟关节点、左脚关节点、左肢关节点、左上肢虚拟关节点、右脚关节点、右肢关节点和右上肢虚拟关节点。其中,0-hips(臀部关节点)可以作为三维人体模型中的根关节点,0-hips(臀部关节点)以外的其它关节点均可以作为三维人体模型中的驱动关节点。
本发明实施例中,三维人体模型的每个驱动关节点的相对位移为该驱动关节点相对于根关节点的位移信息。可以通过每个驱动关节点的坐标和根节点的坐标计算出每个驱动关节点的相对位移。
本发明实施例中,每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息。该帧中每个驱动关节点的原始旋转信息可以表示:该帧中三维人体模型的该驱动关节点相对于处于T-pose姿势下的三维人体模型中该驱动关节点的旋转程度。
本发明实施例中,可以将每一帧运动信息中每个驱动关节点的欧拉角转换为四元数,用转换得到的四元数表示每个驱动关节点的原始旋转信息。具体的,每帧中每个驱动关节点的原始旋转信息可以采用四元数表示:
其中,表示第t帧运动信息中第i个驱动关节点的原始旋转信息,a、b、c和d均为常数参数,i、j和k为四元数的基。
步骤102,针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果。
步骤103,将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;解码后的旋转信息与原始旋转信息的数据格式相同。
步骤104,基于解码后的旋转信息与原始旋转信息的差异,确定编码模型和解码模型是否收敛。
步骤105,若编码模型和解码模型未收敛,则调整编码模型和解码模型的模型参数,返回将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤。
步骤106,若编码模型和解码模型收敛,则将待定输出结果确定为该驱动关节点的运动特征。
采用本发明实施例提供的方法,获取三维人体模型的骨架信息和多帧运动信息;针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;基于解码后的旋转信息与原始旋转信息的差异,确定编码模型和所述解码模型是否收敛;若编码模型和解码模型未收敛,则调整编码模型和解码模型的模型参数,返回将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;若编码模型和解码模型收敛,则将待定输出结果确定为驱动关节点的运动特征。即提取三维人体模型的每个驱动关节点的运动特征时,考虑了驱动关节点之间的相邻位置关系,排除了偏远驱动关节点之间的影响。因此,使得所提取的各个驱动关节点的运动特征可以较为全面的反应出各个关节点的运动信息。
参见图3,图3为三维人体模型运动特征提取方法的一种流程,包括:
步骤301与步骤101对应相同,此处不再赘述。
步骤302,针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型。
本发明实施例中,每个驱动关节点可以包括一个或多个相邻的驱动关节点。例如,图2中驱动关节点5-spine2的相邻驱动关节点包括:驱动关节点6-leftshoulder_virtual、驱动关节点6-rightshoulder_virtual、驱动关节点6-neck_virtual和驱动关节点4-spine_split。
本发明实施例中,编码模型包括:骨架信息编码模块和旋转信息编码模块。并且,骨架信息编码模块可以包括:第一全连接层、第一特征拼接层和第二全连接层;旋转信息编码模块可以包括:第三全连接层、第二特征拼接层和第四全连接层。
参见图4,图4为编码模型中骨架信息编码模块的结构,图4中骨架信息编码模块包括:第一全连接层401、第一特征拼接层402和第二全连接层403。参见图5,图5为编码模型中旋转信息编码模块的结构,图5中旋转信息编码模块包括:第三全连接层501、第二特征拼接层502和第四全连接层503。
步骤303,骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移。
其中,骨架信息编码模块包括:第一全连接层、第一特征拼接层和第二全连接层。本步骤中,对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理具体可以包括步骤A1-步骤A3:
步骤A1:第一全连接层,根据该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征。
举例说明,参见图4,针对驱动关节点5-spine2,驱动关节点5-spine2的相邻驱动关节点包括:驱动关节点6-leftshoulder_virtual、驱动关节点6-rightshoulder_virtual、驱动关节点6-neck_virtual和驱动关节点4-spine_split。其中,驱动关节点5-spine2的相对位移为Ospine2,驱动关节点6-leftshoulder_virtual、驱动关节点6-rightshoulder_virtual、驱动关节点6-neck_virtual和驱动关节点4-spine_split的相对位移分别为:Oleftshoulder_virtual、Orightshoulder_virtual、Oneck_virtual和Ospine_split。并且,每个驱动关节点的相对位移均为1×3维的向量矩阵。例如,Ospine2=[xspine2 yspine2 zspine2],其中,xspine2、yspine2和zspine2分别表示驱动关节点5-spine2的相对位移Ospine2在x轴、y轴和z轴的分量。
本步骤中,第一全连接层可以对驱动关节点5-spine2及其各个相邻驱动关节点的相对位移Ospine2、Oleftshoulder_virtual、Orightshoulder_virtual、Oneck_virtual和Ospine_split进行处理,得到该驱动关节点5-spine2和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征:HOspine2、HOleftshoulder_virtual、HOrightshoulder_virtual、HOneck_virtual和HOspine_split。并且,每个驱动关节点的第一隐层位移特征均为1×m维的向量矩阵,其中,m为整数且m>3。
步骤A2:第一特征拼接层,对该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征进行拼接,得到隐层位移拼接特征。
本步骤中,可以将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征,在第一轴的方向上进行拼接,得到隐层位移拼接特征。其中,得到的隐层位移拼接特征为α×m维的矩阵,α表示该驱动关节点的相邻驱动关节点的数量。
举例说明,参见图4,第一隐层位移特征HOspine2、HOleftshoulder_virtual、HOrightshoulder_virtual、HOneck_virtual和HOspine_split均为1×m维的向量矩阵,若
HOspine2=[hxspine2 ... hzspine2]
HOleftshoulder_virtual=[hxleftshoulder_virtual ... hzleftshoulder_virtual]
HOrightshoulder_virtual=[hxrightshoulder_virtual ... hzrightshoulder_virtual]
HOneck_virtual=[hxneck_virtual ... hzneck_virtual]
HOspine_split=[hxspine_split ... hzspine_split]
可以将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征,在第一轴的方向上进行拼接,得到隐层位移拼接特征MOspine
步骤A3:第二全连接层,根据隐层位移拼接特征确定该驱动关节点对应的向量位移。
举例说明,参见图4,本步骤中,可以通过第二全连接层对隐层位移拼接特征MOspine进行降维处理,得到该驱动关节点对应的向量位移VOspine。且该驱动关节点对应的向量位移为1×m维的向量矩阵。
步骤304,旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量;将该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果。
其中,旋转信息编码模块包括:第三全连接层、第二特征拼接层和第四全连接层。本步骤中,对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理具体可以包括步骤B1-步骤B3:
步骤B1:第三全连接层,根据该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征。
举例说明,参见图5,针对驱动关节点5-spine2,驱动关节点5-spine2的相邻驱动关节点包括:驱动关节点6-leftshoulder_virtual、驱动关节点6-rightshoulder_virtual、驱动关节点6-neck_virtual和驱动关节点4-spine_split。其中,驱动关节点5-spine2的原始旋转信息为Qspine2,驱动关节点6-leftshoulder_virtual、驱动关节点6-rightshoulder_virtual、驱动关节点6-neck_virtual和驱动关节点4-spine_split的原始旋转信息分别为:Qleftshoulder_virtual、Qrightshoulder_virtual、Qneck_virtual和Qspine_split。并且,每个驱动关节点的原始旋转信息均为1×4×T维的向量矩阵。其中,T表示帧数。本步骤中,第三全连接层可以对驱动关节点5-spine2及其各个相邻驱动关节点的原始旋转信息Qspine2、Qleftshoulder_virtual、Qrightshoulder_virtual、Qneck_virtual和Qspine_spli进行处理,得到该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征:HQspine2、HQleftshoulder_virtual、HQrightshoulder_virtual、HQneck_virtual和HQspine_split。并且,每个驱动关节点的第二隐层位移特征均为1×n×T维的向量矩阵,其中,n为整数且n>4。
步骤B2:第二特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的第二隐层位移特征;并将各个拼接后的第二隐层位移特征进行拼接,得到拼接特征。
本步骤中,第二特征拼接层可以将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征分别与该驱动关节点对应的向量位移在第二轴进行拼接,得到各个拼接后的第二隐层位移特征;然后,第二特征拼接层可以将各个拼接后的第二隐层位移特征在第一轴进行拼接,得到拼接特征。
举例说明,参见图5,第二隐层位移特征HQspine2、HQleftshoulder_virtual、HQrightshoulder_virtual、HQneck_virtual和HQspine_split均为1×n×T维的向量矩阵,将驱动关节点spine2及其各个相邻驱动关节点的第二隐层位移特征分别与驱动关节点spine2对应的向量位移在第二轴进行拼接,得到驱动关节点spine2及其各个相邻驱动关节点的第二隐层位移特征:HOQspine2、HOQleftshoulder_virtual、HOQrightshoulder_virtual、HOQneck_virtual和HOQspine_split。其中,各个第二隐层位移特征均为1×(m+n)×T维的向量矩阵。
进一步的,第二特征拼接层可以将该驱动关节点和及其各个相邻驱动关节点的第二隐层位移特征在第一轴的方向上进行拼接,得到拼接特征MOQspine,且拼接特征MOQspine为5×(m+n)×T维的向量矩阵。
步骤B3:第四全连接层,根据拼接特征确定该驱动关节点对应的节点向量。
举例说明,参见图5,本步骤中,可以通过第四全连接层对拼接特征MOQspine进行降维处理,得到该驱动关节点对应的节点向量Vspine。且该驱动关节点对应的节点向量为1×(m+n)×T维的向量矩阵。
步骤305,将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息。
其中,解码后的旋转信息与原始旋转信息的数据格式相同。
本发明实施例中,解码模型包括:第五全连接层、第三特征拼接层和第六全连接层。参见图6,图6为解码模型的结构,图6中解码模型包括:第五全连接层601、第三特征拼接层602和第六全连接层603。
具体的,将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息可以包括步骤C1-步骤C3:
步骤C1:第五全连接层,根据该驱动关节点和该驱动关节点的各个相邻驱动关节点对应的节点向量,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征。
举例说明,参见图6,针对图2中的驱动关节点5-spine2,驱动关节点5-spine2的相邻驱动关节点包括:驱动关节点6-leftshoulder_virtual、驱动关节点6-rightshoulder_virtual、驱动关节点6-neck_virtual和驱动关节点4-spine_split。其中,驱动关节点5-spine2对应的节点向量为Vspine2,驱动关节点6-leftshoulder_virtual、驱动关节点6-rightshoulder_virtual、驱动关节点6-neck_virtual和驱动关节点4-spine_split的对应的节点向量分别为:Vleftshoulder_virtual、Vrightshoulder_virtual、Vneck_virtual和Vspine_split。并且,每个驱动关节点的对应的节点向量均为1×(m+n)×T维的向量矩阵。
本步骤中,将该驱动关节点5-spine2及其各个相邻驱动关节点对应的节点向量Vspine2、Vleftshoulder_virtual、Vrightshoulder_virtual、Vneck_virtual和Vspine_split作为该驱动关节点5-spine2对应的解码模型的输入。解码模型中的第五全连接层可以对驱动关节点5-spine2及其各个相邻驱动关节点对应的节点向量进行处理,得到该驱动关节点5-spine2及其各个相邻驱动关节点的隐层位移旋转特征:HVspine2、HVleftshoulder_virtual、HVrightshoulder_virtual、HVneck_virtual和HVspine_split。并且,每个驱动关节点的隐层位移旋转特征均为1×p×T维的向量矩阵,其中,p为整数。
步骤C1:第三特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的隐层位移旋转特征;并将各个拼接后的隐层位移旋转特征进行拼接,得到拼接旋转特征。
本步骤中,第三特征拼接层可以将该驱动关节点及其各个相邻驱动关节点的隐层位移旋转特征分别与该驱动关节点对应的向量位移在第二轴进行拼接,得到各个拼接后的隐层位移旋转特征;然后,第三特征拼接层可以将各个拼接后的隐层位移旋转特征在第一轴进行拼接,得到拼接旋转特征。
举例说明,参见图6,隐层位移旋转特征HVspine2、HVleftshoulder_virtual、HVrightshoulder_virtual、HVneck_virtual和HVspine_split均为1×p×T维的向量矩阵,将驱动关节点spine2及其各个相邻驱动关节点的隐层位移旋转特征分别与驱动关节点spine2对应的向量位移在第二轴进行拼接,得到驱动关节点spine2及其各个相邻驱动关节点的拼接后的隐层位移旋转特征:HOVspine2、HOVleftshoulder_virtual、HOVrightshoulder_virtual、HOVneck_virtual和HOVspine_split。其中,各个拼接后的隐层位移旋转特征均为1×(m+p)×T维的向量矩阵。
进一步的,第三特征拼接层可以将该驱动关节点和及其各个相邻驱动关节点的拼接后的隐层位移旋转特征在第一轴的方向上进行拼接,得到拼接旋转特征MVspine,且拼接旋转特征MVspine为5×(m+p)×T维的向量矩阵。
步骤C1:第六全连接层,根据拼接旋转特征确定该驱动关节点的解码后的旋转信息。
举例说明,参见图6,本步骤中,可以通过第六全连接层对拼接旋转特征MVspine进行降维处理,得到该驱动关节点spine2的解码后的旋转信息Q'spine。且该驱动关节点对应的节点向量为1×4×T维的向量矩阵。
步骤306,基于解码后的旋转信息与原始旋转信息的差异,判断该驱动关节点对应的编码模型和解码模型是否收敛,若判断结果为是,执行步骤307,若判断结果为否,执行步骤308。
本步骤中,可以针对每个驱动关节点,通过计算该驱动关节点解码后的旋转信息和原始旋转信息之间的差值,判断该差值是否小于预设差值阈值,若该差值小于预设差值阈值,则确定该驱动关节点对应的编码模型和解码模型收敛;若该差值不小于预设差值阈值,则确定该驱动关节点对应的编码模型和解码模型未收敛。
步骤307,将待定输出结果中该驱动关节点对应的节点向量确定为该驱动关节点的运动特征。
步骤308,调整该驱动关节点对应的编码模型和解码模型的模型参数,返回执行步骤302中所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤。
本步骤中,可以调节该驱动关节点对应的编码模型和解码模型中全连接层的参数。
参见图7,本发明实施例可以针对人体模型的每个驱动关节点,将该驱动关节点骨架信息O和原始旋转信息Q、以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息,输入该驱动关节点对应的编码模型E进行处理,将该驱动关节点对应的编码模型E的处理结果作为该驱动关节点对应的解码模型D的输入,将该驱动关节点对应的解码模型D的处理结果作为该驱动关节点的解码后的旋转信息;然后,可以基于该驱动关节点的解码后的旋转信息和原始旋转信息确定损失,基于损失调整该驱动关节点对应的编码模型E和解码模型D的模型参数,当调整到损失值小于预设损失阈值时,确定该驱动关节点对应的编码模型E和解码模型D。进一步的,可以将该驱动关节点骨架信息O和原始旋转信息Q、以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息,输入该驱动关节点对应的收敛后的编码模型E进行处理,输出结果中该驱动关节点对应的节点向量确定为该驱动关节点的运动特征。
采用本发明实施例提供的方法,提取三维人体模型的每个驱动关节点的运动特征时,考虑了驱动关节点之间的相邻位置关系,排除了偏远驱动关节点之间的影响。因此,使得所提取的各个驱动关节点的运动特征可以较为全面的反应出各个关节点的运动信息。
并且,本发明实施例中,每个驱动关节点对应的收敛后的编码模型可以应用在其他需要提取人体模型运动特征的应用场景中,例如,可以应用在人体模型重定向场景中,通过本发明实施例提供的每个驱动关节点对应的收敛后的编码模型提取每个驱动关节点运动特征,并对所提取的运动特征进一步进行定向处理,得到重定向后的人体模型。
基于同一发明构思,根据本发明上述实施例提供的三维人体模型运动特征的提取方法,相应地,本发明另一实施例还提供了一种三维人体模型运动特征的提取装置,其结构示意图如图8所示,具体包括:
信息获取模块801,用于获取三维人体模型的骨架信息和多帧运动信息;其中,骨架信息包括:三维人体模型的每个驱动关节点的相对位移;每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息;三维人体模型包括一个根关节点和多个驱动关节点;每个驱动关节点的相对位移表示:驱动关节点相对于根关节点的位移信息;
数据编码模块802,用于针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
数据解码模块803,用于将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;所述解码后的旋转信息与所述原始旋转信息的数据格式相同;
模型收敛确定模块804,用于基于所述解码后的旋转信息与所述原始旋转信息的差异,确定所述编码模型和所述解码模型是否收敛;
模型参数调整模块805,用于若所述编码模型和解码模型未收敛,则调整所述编码模型和解码模型的模型参数,返回所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;
运动特征确定模块806,用于若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征。
可见,采用本发明实施例提供的装置,获取三维人体模型的骨架信息和多帧运动信息;针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;基于解码后的旋转信息与原始旋转信息的差异,确定编码模型和所述解码模型是否收敛;若编码模型和解码模型未收敛,则调整编码模型和解码模型的模型参数,返回将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;若编码模型和解码模型收敛,则将待定输出结果确定为驱动关节点的运动特征。即提取三维人体模型的每个驱动关节点的运动特征时,考虑了驱动关节点之间的相邻位置关系,排除了偏远驱动关节点之间的影响。因此,使得所提取的各个驱动关节点的运动特征可以较为全面的反应出各个关节点的运动信息。
进一步的,所述编码模型包括:骨架信息编码模块和旋转信息编码模块;
所述数据编码模块802,具体用于将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型;骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移;旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量;将该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
所述运动特征确定模块806,具体用于若所述编码模型和所述解码模型收敛,则该驱动关节点对应的节点向量确定为该驱动关节点的运动特征。
进一步的,所述骨架信息编码模块包括:第一全连接层、第一特征拼接层和第二全连接层;所述旋转信息编码模块包括:第三全连接层、第二特征拼接层和第四全连接层;
所述骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移,包括:
所述第一全连接层,根据该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征;
所述第一特征拼接层,对该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征进行拼接,得到隐层位移拼接特征;
所述第二全连接层,根据隐层位移拼接特征确定该驱动关节点对应的向量位移;
所述旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量,包括:
所述第三全连接层,根据该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征;
所述第二特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的第二隐层位移特征;并将各个拼接后的第二隐层位移特征进行拼接,得到拼接特征;
所述第四全连接层,根据拼接特征确定该驱动关节点对应的节点向量。
进一步的,所述解码模型包括:第五全连接层、第三特征拼接层和第六全连接层;
所述数据解码模块803,具体用于所述第五全连接层,根据该驱动关节点和该驱动关节点的各个相邻驱动关节点对应的节点向量,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征;所述第三特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的隐层位移旋转特征;并将各个拼接后的隐层位移旋转特征进行拼接,得到拼接旋转特征;所述第六全连接层,根据拼接旋转特征确定该驱动关节点的解码后的旋转信息。
进一步的,每一帧运动信息中的各个驱动关节点的原始旋转信息采用四元数表示:
其中,表示第t帧运动信息中第i个驱动关节点的原始旋转信息,a、b、c和d均为常数参数,i、j和k为四元数的基。
可见,采用本发明实施例提供的装置,在提取三维人体模型的每个驱动关节点的运动特征时,考虑了驱动关节点之间的相邻位置关系,排除了偏远驱动关节点之间的影响。因此,使得所提取的各个驱动关节点的运动特征可以较为全面的反应出各个关节点的运动信息。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
获取三维人体模型的骨架信息和多帧运动信息;其中,骨架信息包括:三维人体模型的每个驱动关节点的相对位移;每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息;三维人体模型包括一个根关节点和多个驱动关节点;每个驱动关节点的相对位移表示:驱动关节点相对于根关节点的位移信息;
针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;所述解码后的旋转信息与所述原始旋转信息的数据格式相同;
基于所述解码后的旋转信息与所述原始旋转信息的差异,确定所述编码模型和所述解码模型是否收敛;
若所述编码模型和解码模型未收敛,则调整所述编码模型和解码模型的模型参数,返回所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;
若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的三维人体模型运动特征的提取方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的三维人体模型运动特征的提取方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种人体模型运动特征的提取方法,其特征在于,包括:
获取三维人体模型的骨架信息和多帧运动信息;其中,骨架信息包括:三维人体模型的每个驱动关节点的相对位移;每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息;三维人体模型包括一个根关节点和多个驱动关节点;每个驱动关节点的相对位移表示:驱动关节点相对于根关节点的位移信息;
针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;所述解码后的旋转信息与所述原始旋转信息的数据格式相同;
基于所述解码后的旋转信息与所述原始旋转信息的差异,确定所述编码模型和所述解码模型是否收敛;
若所述编码模型和解码模型未收敛,则调整所述编码模型和解码模型的模型参数,返回所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;
若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征。
2.根据权利要求1所述的方法,其特征在于,所述编码模型包括:骨架信息编码模块和旋转信息编码模块;
所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果,包括:
将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型;
骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移;
旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量;将该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
所述若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征,包括:
若所述编码模型和所述解码模型收敛,则将该驱动关节点对应的节点向量确定为该驱动关节点的运动特征。
3.根据权利要求2所述的方法,其特征在于,所述骨架信息编码模块包括:第一全连接层、第一特征拼接层和第二全连接层;所述旋转信息编码模块包括:第三全连接层、第二特征拼接层和第四全连接层;
所述骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移,包括:
所述第一全连接层,根据该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征;
所述第一特征拼接层,对该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征进行拼接,得到隐层位移拼接特征;
所述第二全连接层,根据隐层位移拼接特征确定该驱动关节点对应的向量位移;
所述旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量,包括:
所述第三全连接层,根据该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征;
所述第二特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的第二隐层位移特征;并将各个拼接后的第二隐层位移特征进行拼接,得到拼接特征;
所述第四全连接层,根据拼接特征确定该驱动关节点对应的节点向量。
4.根据权利要求1所述的方法,其特征在于,所述解码模型包括:第五全连接层、第三特征拼接层和第六全连接层;
所述将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息,包括:
所述第五全连接层,根据该驱动关节点和该驱动关节点的各个相邻驱动关节点对应的节点向量,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征;
所述第三特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的隐层位移旋转特征;并将各个拼接后的隐层位移旋转特征进行拼接,得到拼接旋转特征;
所述第六全连接层,根据拼接旋转特征确定该驱动关节点的解码后的旋转信息。
5.根据权利要求1所述的方法,其特征在于,每一帧运动信息中的各个驱动关节点的原始旋转信息采用四元数表示:
其中,表示第t帧运动信息中第i个驱动关节点的原始旋转信息,a、b、c和d均为常数参数,i、j和k为四元数的基。
6.一种三维人体模型运动特征的提取装置,其特征在于,包括:
信息获取模块,用于获取三维人体模型的骨架信息和多帧运动信息;其中,骨架信息包括:三维人体模型的每个驱动关节点的相对位移;每一帧运动信息包括:该帧中三维人体模型的各个驱动关节点的原始旋转信息;三维人体模型包括一个根关节点和多个驱动关节点;每个驱动关节点的相对位移表示:驱动关节点相对于根关节点的位移信息;
数据编码模块,用于针对三维人体模型的每个驱动关节点,将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
数据解码模块,用于将该待定输出结果输入与该驱动关节对应的解码模型,得到该驱动关节点的解码后的旋转信息;所述解码后的旋转信息与所述原始旋转信息的数据格式相同;
模型收敛确定模块,用于基于所述解码后的旋转信息与所述原始旋转信息的差异,确定所述编码模型和所述解码模型是否收敛;
模型参数调整模块,用于若所述编码模型和解码模型未收敛,则调整所述编码模型和解码模型的模型参数,返回所述将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型,得到该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果的步骤;
运动特征确定模块,用于若所述编码模型和所述解码模型收敛,则将所述待定输出结果确定为所述驱动关节点的运动特征。
7.根据权利要求6所述的装置,其特征在于,所述编码模型包括:骨架信息编码模块和旋转信息编码模块;
所述数据编码模块,具体用于将该驱动关节点的相对位移和原始旋转信息,以及该驱动关节点的各个相邻驱动关节点的相对位移和原始旋转信息输入该驱动关节的对应的编码模型;骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移;旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量;将该驱动关节点对应的向量位移和该驱动关节点对应的节点向量作为待定输出结果;
所述运动特征确定模块,具体用于若所述编码模型和所述解码模型收敛,则将该驱动关节点对应的节点向量确定为该驱动关节点的运动特征。
8.根据权利要求7所述的装置,其特征在于,所述骨架信息编码模块包括:第一全连接层、第一特征拼接层和第二全连接层;所述旋转信息编码模块包括:第三全连接层、第二特征拼接层和第四全连接层;
所述骨架信息编码模块对该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移进行处理,得到该驱动关节点对应的向量位移,包括:
所述第一全连接层,根据该驱动关节点的相对位移和该驱动关节点的各个相邻驱动关节点的相对位移,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征;
所述第一特征拼接层,对该驱动关节点和该驱动关节点的各个相邻驱动关节点的第一隐层位移特征进行拼接,得到隐层位移拼接特征;
所述第二全连接层,根据隐层位移拼接特征确定该驱动关节点对应的向量位移;
所述旋转信息编码模块对该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息进行处理,得到该驱动关节点对应的节点向量,包括:
所述第三全连接层,根据该驱动关节点的原始旋转信息和该驱动关节点的各个相邻驱动关节点的原始旋转信息,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征;
所述第二特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的第二隐层位移特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的第二隐层位移特征;并将各个拼接后的第二隐层位移特征进行拼接,得到拼接特征;
所述第四全连接层,根据拼接特征确定该驱动关节点对应的节点向量。
9.根据权利要求6所述的装置,其特征在于,所述解码模型包括:第五全连接层、第三特征拼接层和第六全连接层;
所述数据解码模块,具体用于所述第五全连接层,根据该驱动关节点和该驱动关节点的各个相邻驱动关节点对应的节点向量,确定该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征;所述第三特征拼接层,将该驱动关节点和该驱动关节点的各个相邻驱动关节点的隐层位移旋转特征分别与该驱动关节点对应的向量位移进行拼接,得到各个拼接后的隐层位移旋转特征;并将各个拼接后的隐层位移旋转特征进行拼接,得到拼接旋转特征;所述第六全连接层,根据拼接旋转特征确定该驱动关节点的解码后的旋转信息。
10.根据权利要求6所述的装置,其特征在于,每一帧运动信息中的各个驱动关节点的原始旋转信息采用四元数表示:
其中,表示第t帧运动信息中第i个驱动关节点的原始旋转信息,a、b、c和d均为常数参数,i、j和k为四元数的基。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN202011638453.9A 2020-12-31 2020-12-31 人体模型运动特征提取方法、装置、电子设备及存储介质 Active CN112699812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011638453.9A CN112699812B (zh) 2020-12-31 2020-12-31 人体模型运动特征提取方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011638453.9A CN112699812B (zh) 2020-12-31 2020-12-31 人体模型运动特征提取方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112699812A CN112699812A (zh) 2021-04-23
CN112699812B true CN112699812B (zh) 2024-03-08

Family

ID=75513950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011638453.9A Active CN112699812B (zh) 2020-12-31 2020-12-31 人体模型运动特征提取方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112699812B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200022788A (ko) * 2018-08-23 2020-03-04 전자부품연구원 동작분석 장치 및 방법
CN111767866A (zh) * 2020-06-30 2020-10-13 北京爱奇艺科技有限公司 一种人体模型创建方法、装置、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200022788A (ko) * 2018-08-23 2020-03-04 전자부품연구원 동작분석 장치 및 방법
CN111767866A (zh) * 2020-06-30 2020-10-13 北京爱奇艺科技有限公司 一种人体模型创建方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112699812A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN110020620B (zh) 一种大姿态下的人脸识别方法、装置及设备
CN110599492B (zh) 图像分割模型的训练方法、装置、电子设备及存储介质
CN109800732B (zh) 用于生成漫画头像生成模型的方法和装置
CN110288681B (zh) 角色模型的蒙皮方法、装置、介质及电子设备
EP3872764B1 (en) Method and apparatus for constructing map
CN108596267B (zh) 一种图像重建方法、终端设备及计算机可读存储介质
CN113033566B (zh) 模型训练方法、识别方法、设备、存储介质及程序产品
CN114511472B (zh) 一种视觉定位方法、装置、设备及介质
CN114529574A (zh) 基于图像分割的图像抠图方法、装置、计算机设备及介质
CN113780326A (zh) 一种图像处理方法、装置、存储介质及电子设备
CN112084301A (zh) 文本修正模型的训练方法及装置、文本修正方法及装置
CN112699812B (zh) 人体模型运动特征提取方法、装置、电子设备及存储介质
CN112991208B (zh) 图像处理方法及装置、计算机可读介质和电子设备
CN114611700A (zh) 一种基于结构重参数化的模型推理速度提升方法及装置
CN107729885B (zh) 一种基于多重残差学习的人脸增强方法
CN111898338B (zh) 文本生成方法、装置和电子设备
CN117113270A (zh) 一种基于改进对齐方法的知识融合多模态交互方法及装置
CN115272667B (zh) 农田图像分割模型训练方法、装置、电子设备和介质
CN112686977B (zh) 人体模型动作重定向方法、装置、电子设备及存储介质
CN114494484A (zh) 数据识别模型的训练方法、数据识别方法、装置及设备
CN113961962A (zh) 一种基于隐私保护的模型训练方法、系统及计算机设备
CN112950501A (zh) 基于噪声场的图像降噪方法、装置、设备及存储介质
CN111798385A (zh) 图像处理方法及装置、计算机可读介质和电子设备
CN114973396B (zh) 图像处理方法、装置、终端设备及计算机可读存储介质
US20220215247A1 (en) Method and device for processing multiple modes of data, electronic device using method, and non-transitory storage medium

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
GR01 Patent grant
GR01 Patent grant