CN106600626B - 三维人体运动捕获方法与系统 - Google Patents

三维人体运动捕获方法与系统 Download PDF

Info

Publication number
CN106600626B
CN106600626B CN201610942698.8A CN201610942698A CN106600626B CN 106600626 B CN106600626 B CN 106600626B CN 201610942698 A CN201610942698 A CN 201610942698A CN 106600626 B CN106600626 B CN 106600626B
Authority
CN
China
Prior art keywords
human body
virtual
limb segment
point
human
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
CN201610942698.8A
Other languages
English (en)
Other versions
CN106600626A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201610942698.8A priority Critical patent/CN106600626B/zh
Publication of CN106600626A publication Critical patent/CN106600626A/zh
Application granted granted Critical
Publication of CN106600626B publication Critical patent/CN106600626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种三维人体运动捕获方法,该方法从捕获的当前帧的深度图像中提取虚拟标记点,接着从人体姿态数据库中选择其虚拟标记点位置与所提取的虚拟标记点的位置匹配的人体姿态。其中,人体姿态数据库包括以由人体骨架各关节自由度构成的向量表示的人体姿态。该方法减少了需要维护的数据规模,降低数据检索难度,而且可灵活地适应各种身材尺寸的运动对象。

Description

三维人体运动捕获方法与系统
技术领域
本发明涉及计算机视觉和计算机图形学领域,尤其涉及用于进行三维人体运动实时捕获的方法
背景技术
基于深度数据的三维人体运动捕获是计算机视觉和计算机图形学领域的一个热点问题。利用所捕获的三维人体运动姿态序列,既可以实时动态地生成三维人体骨骼动画,完成人机交互控制等任务,如游戏控制、社交网络等应用领域;也可以通过运动重定向和蒙皮技术,实时驱动生成自然的虚拟三维角色动画,如三维游戏开发和三维电影制作等专业领域。常见的基于深度数据的人体运动捕获系统是微软的Kinect,其基本原理是基于运动捕捉系统(例如,Vico系统)的运动捕获数据库离线训练随机决策森林,然后根据事先训练好的随机决策森林从在线捕获的深度数据中自动识别三维人体运动姿态。然而这种方法受到深度数据噪声、随机决策森林泛化能力,以及人体运动中肢体遮挡等因素的影响,重建的三维人体运动姿态并不理想。另一类型的人体运动捕获方法是基于数据驱动的方法。例如,根据标准尺寸三维人体模型生成的不同人体姿态下三维人体几何模型数据库或对应的多角度投影深度数据数据库,通过比较所捕获的深度点云与数据库样本间的相似性进行候选姿态检索,再通过姿态投票或非刚体注册等方法重建人体姿态。但这样的方法在运动对象身材尺寸与数据库中标准尺寸的人体模型相差较大时,重建的三维人体运动姿态也并不理想。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种新的三维人体运动实时捕获方法与系统,从捕获的深度图像中实时在线地跟踪三维人体运动。
本发明的目的是通过以下技术方案实现的:
一方面,本发明提供了一种三维人体运动捕获方法,包括:
步骤1,从捕获的当前帧的深度图像中提取虚拟标记点,每个虚拟标记点指示人体骨架的一个肢体段;
步骤2,从人体姿态数据库中选择其虚拟标记点位置与所提取的虚拟标记点的位置匹配的人体姿态;
其中,所述人体姿态数据库包括一个或多个人体姿态,每个人体姿态以由人体骨架各关节自由度构成的向量来表示。
在上述方法中,所述人体姿态数据库中每个人体姿态的虚拟标记点位置可以通过下面的步骤来标定的:
a)捕获运动对象在标准参考姿态下的深度图像数据;
b)确定所捕获的深度图像数据中各像素点属于人体骨架的哪个肢体段;
c)将与每个肢体段对应的像素点集合拟合成圆柱体模型以确定各肢体段的长度和半径;
d)为各肢体段设定虚拟标记点并计算虚拟标记点位置参数,所述虚拟标记点位置参数包括每个虚拟标记点相对于离其最近的关节的偏移量;
e)基于所确定的各肢体段的长度和半径以及虚拟标记点位置参数,为人体姿态数据库中各个人体姿态标定其对应的虚拟标记点的位置。
在上述方法中,所述步骤b)可以利用预先训练好的分类器确定所捕获的深度图像中各像素点属于人体骨架的哪个肢体段,所述分类器用于确定深度图像的像素点属于人体骨架各肢体段的概率。
在上述方法中,所述分类器可以为随机决策森林分类器或支持向量机。
在上述方法中,在所述步骤d)可包括基于利用所述分类器得到像素点与各肢体段类别的概率分布对像素点进行聚类,取各肢体段类别对应的聚类中心点作为其虚拟标记点。
在上述方法中,所述步骤d)可以在每个肢体段对应圆柱体模型表面中心处取任一像素点作为虚拟标记点。
在上述方法中,所述步骤1可以包括:
利用训练好的分类器确定所捕获的深度图像的像素点属于人体骨架各肢体段的概率;
基于像素点与各肢体段类别的概率分布对像素点进行聚类,取各肢体段类别对应的聚类中心点作为其虚拟标记点。
在上述方法中,所述步骤2可以包括:
计算人体姿态数据库中各人体姿态对应的虚拟标记点与当前帧的虚拟标记点之间的距离;
选择最小距离对应的人体姿态作为当前帧的人体姿态。
在上述方法中,所述步骤2可以包括:
计算人体姿态数据库中各人体姿态对应的虚拟标记点与当前帧的虚拟标记点之间的距离;
选择距离最小的前K个人体姿态作为当前帧的候选人体姿态;
从K个候选人体姿态中选择相对于前两帧对应的人体姿态变化最小的人体姿态作为当前帧的人体姿态。
在上述方法中,所述人体骨架被划分为15个肢体段,分别为:头、颈、左/右肩、左/右大臂、左/右小臂、躯干、左/右臀、左/右大腿和左/右小腿。
在上述方法中,所述人体骨架包含25个关节,分别为:根关节、骨盆关节,躯干关节、胸关节、左/右锁骨、左/右肩关节、左/右肘关节、左/右腕关节、颈关节、头关节、左/右股骨关节、左/右膝关节、左/右踝关节和5个末端关节。
又一方面,本发明还提供了一种三维人体运动捕获系统,该系统包括:
标记点提取装置,从捕获的当前帧的深度图像中提取虚拟标记点,每个虚拟标记点指示人体骨架的一个肢体段;
姿态检索装置,从人体姿态数据库中选择其虚拟标记点位置与所提取的虚拟标记点的位置匹配的人体姿态;
其中,所述人体姿态数据库包括一个或多个人体姿态,每个人体姿态以由人体骨架各关节自由度构成的向量来表示。
与现有技术相比,本发明的优点在于:
利用人体姿态数据库在有、无肢体遮挡时都能捕获重建出合理和准确的三维人体运动姿态序列,而且适用于不同身材尺寸的运动对象。此外,采用了虚拟标记点,不要求运动对象在身上粘贴标记,从而不会限制人体运动类型,在人体做动作过程中也不会有束缚和不适感。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明一个实施例的人体骨架结构示意图;
图2为根据本发明一个实施例的人体肢体段示意图;
图3为根据本发明一个实施例的人体运动实时捕获方法流程示意图;
图4为根据本发明一个实施例的稀疏虚拟标记点的示意图;
图5为根据本发明一个实施例的重建的三维人体姿态结果示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如上文所指出的,基于随机决策森林捕获人体运动的方法的捕获结果受深度噪声、随机决策森林泛化以及人体运动中肢体遮挡等因素的影响。而基于数据驱动的方法的捕获结果受人体身材尺寸差异的影响。发明人在研究中发现如果为提高准确性而扩大三维人体几何模型数据库中的不同尺寸三维人体模型的数量,那么数据规模将呈指数级增长,这大大增加数据检索难度。
在本发明的一个实施例中,提出了一种新的三维人体运动实时捕获方法。其中采用的是三维人体姿态数据库(也可简称为人体姿态数据库),该三维人体姿态数据库由不依赖于具体身材尺寸的关节角向量表示的三维人体姿态组成。也就是说,在该人体姿态数据库中包含的是三维人体姿态数据而非三维人体几何模型数据,每个三维人体姿态(也可以简称为人体姿态)由一组关节角表示。这可以大大减少需要维护的数据规模,降低数据检索难度。同时为了使在本发明的实施例中提出的人体运动捕获方法能适应各种身材尺寸的不同运动对象,该方法还包括了人体尺寸自动标定步骤。对于同一运动对象只需要进行一次自动标定即可。
为方便描述以及更好地理解本发明,在具体介绍方法步骤之前,先介绍本发明的实施例中对于人体骨架、人体姿态、人体肢体段、三维虚拟标记点等的表示方法以及三维人体姿态数据库的建立。应指出,下文给出的关于人体骨架、人体姿态、人体肢体段、虚拟标记点等表示方法及各种设定均是处于举例说明的目的,而非进行任何具体限制。
图1给出了根据本发明一个示例性实施例的人体骨架示意图。如图1所示,在该实施例中以包含25个关节的树状结构来表示人体骨架,而人体姿态以由各关节自由度(Degree of freedom,简称Dof)构成的向量,其中各关节及其自由度如下:根关节(6Dof)、骨盆关节(0Dof),躯干关节(3Dof)、胸关节(0Dof)、左/右锁骨(2Dof)、左/右肩关节(3Dof)、左/右肘关节(1Dof)、左/右腕关节(0Dof)、颈关节(2Dof)、头关节(1Dof)、左/右股骨关节(3Dof)、左/右膝关节(1Dof)、左/右踝关节(2Dof)和5个末端关节(0Dof)。可以看出人体姿态向量q实际上一个36维的实数向量,可记为q∈R36。在理论上,对于零姿态(即所有关节旋转角度为零的人体姿态)一致但身材尺寸存在差异的不同人体骨架,得到的是用同一组关节自由度表示的相同人体姿态。
图2给出了根据本发明一个示例性实施例的人体肢体段示意图。如图2所示,在该实施例中,将人体划分为15个肢体段,分别为:头、颈、左/右肩、左/右大臂、左/右小臂、躯干、左/右臀、左/右大腿和左/右小腿,其中,将人体躯干近似看成椭圆柱体,将其余肢体段看成圆柱体,并且假设人体左右肢体段尺寸是对称的。与现有运动捕获系统31个肢体段的划分方式相比,将人体划分为15个肢体段能改善人体运动捕获结果的鲁棒性。当然应理解,在本发明实施例中的人体运动捕获方法也可以适应31个肢体段划分或其他人体肢体段的划分方式。
在本发明的一个实施例中,可以为每个肢体段设定一个三维虚拟标记点。虚拟标记点指的是位于人体表面的、用于指示或标识人体的各个肢体段的点。例如,对于每个人体肢体段,可从捕获的深度图像数据中提取一个位于人体表面的点作为指示或标识该肢体段的虚拟标记点。因此可以从捕获的深度图像中提取与人体肢体段具有对应关系的15个虚拟标记点。从深度相机(例如Kinect)捕获得到的是原始深度图像,其中像素点对应三维空间中的人体表面点,是稠密的三维点云。而相对于原始捕获的稠密的三维点云而言,所提取的指示人体各肢体段的虚拟标记点是稀疏的,因此可以称为稀疏三维虚拟标记点。通常例如可以选择每个肢体段中心附近的点作为虚拟标记点。每个虚拟标记点的位置可以三维坐标来表示,该坐标以用于进行运动捕获的深度相机视野的空间坐标系为参照。人体骨架各肢体段的虚拟标记点坐标构成了虚拟空间坐标向量
Figure BDA0001139229500000051
但应理解,虚拟标记点的位置会随着人体运动、人体身材尺寸不同而发生变化,在下文自动标定步骤中会有更详细的介绍。
如上文介绍的,在本发明的实施例中建立的三维人体姿态数据库包含的是不依赖于具体身材尺寸的三维人体姿态,而每个人体姿态以由人体骨架各关节自由度构成的向量q表示。在一个示例中,可以通过由多人多次的姿态样本数据采集来建立该数据库。例如由不同的志愿者展示不同的姿态,获取不同姿态下各关节的自由度,从而建立该姿态数据库。在又一示例中,可以基于在运动捕获领域已有的使用比较广泛的公开数据库提供的运动数据来建立人体姿态数据库。例如,发明人在实验中以美国卡耐基梅隆大学运动捕获实验室提供的公开数据库中的数据作为数据来源,从中挑选了113个总时间接近1.5小时的运动序列,运动类型包括:走路、跑步、打拳、踢腿、跳跃、跳舞、挥手、健身和打高尔夫等各种运动,然后使用运动重定向技术从这些不同骨架的运动序列提取相关数据,从而获得以各关节自由度构成的向量表示的人体姿态。所建立的三维人体姿态数据库Q可以表示为Q={qn|n=1,…,N},N表示人体姿态数据库中保存的人体姿态的总数。
下面参考图3来具体介绍根据本发明一个实施例的三维人体运动实时捕获方法的各个步骤。在发明人进行的一个实验中使用的是微软Kinect V2.0深度相机来捕获深度图像,其以30帧/秒的帧率,实时获取分辨率为640*480的深度图像序列。通常在已知相机参数时,可以自动将获取的单帧深度图像转换为三维深度点云数据。当使用者(即运动对象)在Kinect镜头前约1.5~4.5米的远近范围内随意做任何动作时,可自动从Kinect深度相机实时获取相关的深度图像数据。应指出,本发明的方法对于用作数据输入设备的相机具有较强的可扩展性,可以是单目深度相机,也可以是同步的多目深度相机。而且当扩展为多目深度相机时,该方法能捕获得到更高精度的人体运动姿态。
参考图3,该方法可分成两部分:在开始捕获前针对具体运动对象的自动标定过程(主要包括步骤301、302、303)和实时捕获人体运动的过程(步骤304、305、306)。如上文提交到的,对于每个具体的运动对象,只需要执行一次自动标定过程即可。在步骤301,让运动对象摆成设定的标准参考姿态,例如并拢双腿,横向伸展两臂,摆成“T”姿态,利用深度相机捕获运动对象在该标准姿态下的深度图像数据。
在步骤302,根据所捕获的深度图像数据确定该运动对象的各肢体段参数及虚拟标记点位置参数。如上文结合图2所讨论的,将人体划分为15个肢体段,人体躯干近似看成椭圆柱体,而其余肢体段看成圆柱体,每个肢体段对应一个虚拟标记点。这里的肢体段参数可包括肢体段的长度和半径,而虚拟标记点位置参数包括虚拟标记点相对人体骨架父关节的相对偏移量。这里的父关节指的是离该虚拟标记点最近的关节。步骤302主要包括:
a)确定所捕获的深度图像的像素点属于哪个肢体段。在一个示例中,对于所捕获的深度图像数据,可利用针对标准姿态(例如T姿态)训练好的分类器来确定属于各肢体段的像素点集合。其中分类器用于确定深度图像的像素点属于人体各肢体段的概率,可利用标记好的标准姿态下的深度图像样本数据集来提前训练分类器。这里不对具体的分类模型进行限制,例如可以采用随机决策森林分类器,支持向量机模型等。
b)将与每个肢体段对应的像素点集合拟合一个圆柱体模型,该圆柱体模型的长度即为该肢体段的长度,该圆柱体的半径即为该肢体段的半径。例如,可以采用基于随机一次性采样(RandomSample Consensus,RANSAC)方法,将与每个肢体段对应的像素点集合拟合圆柱体模型。
c)确定虚拟标记点位置参数。在一个示例中,可在每个肢体段对应圆柱体模型表面中心处取某个像素点设置为该肢体段对应的虚拟标记点。在又一个示例中,在通过上述训练好的分类器确定捕获的深度图像的像素点属于人体各肢体段的概率分布之后,可使用诸如MeanShift之类的迭代聚类算法获取各肢体段的聚类中心点,可选择这些聚类中心点作为各肢体段对应的虚拟标记点。每个虚拟标记点的三维坐标以进行运动捕获的深度相机视野的空间坐标系为参照。在确定好各肢体段对应的虚拟标记点之后,计算出该虚拟标记点相对于其父关节的相对偏移量。例如,可以利用几何模型拟合法来计算该相对偏移量。
在一个优选的实施例中,为了获取更准确各肢体段参数及虚拟标记点位置参数,在步骤302连续捕获运动对象在标准姿态下的多帧深度数据来估计相关参数。例如,首先让具体运动对象将身体摆成“T”姿态,用深度相机连续捕获10帧深度图像。如上文介绍的,可利用训练好的随机决策森林分类器确定深度图像像素点与人体各肢体段类别的概率分布;然后迭代聚类算法进行聚类,提取各肢体段类别的聚类中心点作为对应15个人体肢体段的虚拟标记点。这样,这10帧深度图像对应的三维虚拟标记点集合可记为
Figure BDA0001139229500000071
接着,基于随机一次性采样方法,根据第1帧捕获的深度图像,将其与每个肢体段对应的像素点集合拟合成圆柱体模型,从而得到各肢体段对应的长度和半径,将其组成向量,记为骨架s0。然后,以s0为初始解,将待估计的各肢体段对应的长度和半径构成的向量以骨架s表示,为待估计的骨架s建立先验模型。例如可以基于主成分分析技术建立骨架s的先验模型,可记为:
Figure BDA0001139229500000081
其中
Figure BDA0001139229500000082
和Hh分别表示骨架均值向量和前h维主成分向量构成的矩阵,τ是骨架的低维向量。其中,可基于主成分分析技术利用现有的人体骨架数据库计算出上面公式里的“Hh”和
Figure BDA0001139229500000083
这里使用的人体骨架数据库是美国卡内基梅隆大学运动捕获数据库中的不同尺寸的人体骨架(Acclaim Skeleton File,简称ASF)集合。最后,将从该第1帧估计出的人体骨骼参数s0作为初始解,利用已知捕获的10帧深度图像对应的虚拟标记点集合和所构建的s的先验模型,通过迭代优化方法求解下面的能量方程,得到最终的该运动对象对应的各肢体段参数
Figure BDA0001139229500000084
和虚拟标记点位置参数
Figure BDA0001139229500000085
Figure BDA0001139229500000086
其中f(s,v;q*)是前向运动学方程,计算已知人体姿态q*(即T姿态)、人体骨架s和虚拟标记点相对父关节偏移量v时的虚拟标记点坐标,其中γ是权值,例如可设为0.5。估计参数s和v的迭代过程通常是:先固定v的值,优化求解出一个s;然后固定s的值,优化求解出一个v;重复上两步,直到上面能量方程的残差小于一定阈值或总的迭代次数达到一个上限为止。从上述能量方程可知,最后求解出的骨架s和虚拟标记点位置参数v,实际上是满足虚拟标记点与已捕获虚拟标记点的距离最小且与现有骨架差异最小(即相似程度最高)时的s和v值。
通过上述自动标定过程,可以为不同身材尺寸的运动对象确定相对应的人体各肢体段参数和虚拟标记点位置参数。
回到图3,在步骤303,在所得到的当前运动对象的各肢体段的长度和半径以及各肢体段的虚拟标记点相对于其父关节的偏移量的基础上,为人体姿态数据库中各个人体姿态标定其对应的虚拟标记点的位置。例如,可以根据前向运动学为人体姿态数据库中每个人体姿态qn计算其对应的虚拟标记点的位置。每个人体姿态的所有虚拟标点的空间坐标可记为向量an
在针对具体的运动对象完成了对数据库中各人体姿态的虚拟标记点的自动标定之后,在步骤304,实时捕获该运动对象的深度图像数据。在步骤305,针对所捕获的当前帧的深度图像,提取运动对象身体表面的三维虚拟标记点。在一个实施例中,可以通过下面的方式来提取虚拟标记点:首先,利用标记好的深度图像样本数据集训练一个随机决策森林分类器,用于确定深度图像的像素点分别属于人体各肢体段的概率;接着,通过训练好的随机决策森林分类器对捕获的深度图像像素点完成分类识别,确定深度图像的像素点属于人体各肢体段的概率,从而得到深度图像像素点与人体肢体段类别的概率分布;然后基于该概率分布,使用诸如MeanShift之类的迭代聚类算法自动快速确定出各肢体段类别的极大值点(即聚类中心点),可选择这些聚类中心点作为虚拟标记点,来指示人体的各个肢体段。如上文提到的,在本发明的实施例中将人体划分为15个肢体段,因此会提取15个虚拟标记点。图4给出了为多个深度图像提取的虚拟标记点的示意图。其中显示的是捕获的各深度图像对应的三维点云,而黑色的点表示虚拟标记点,每个肢体段分别对应一个虚拟标记点。每个虚拟标记点的三维坐标以用于进行运动捕获的深度相机视野的空间坐标系为参照。针对当前帧所提取的15个虚拟标记点坐标构成了虚拟标记点空间坐标向量
Figure BDA0001139229500000091
在步骤306,从预先构建的三维人体姿态数据库中选择其虚拟标记点位置与从当前帧提取的虚拟标记点匹配的人体姿态来作为当前帧的人体姿态。在一个示例,通过计算并比较从当前帧提取的虚拟标记点空间坐标向量
Figure BDA0001139229500000092
与人体姿态数据库中每个人体姿态qn对应的虚拟标记点空间坐标向量an之间的欧式距离
Figure BDA0001139229500000093
来选出距离最小的人体姿态作为当前帧对应的人体姿态。在另一个实施例中,考虑到从当前帧提取的虚拟标记点存在误差,可以使用洛伦兹鲁棒距离度量(也可称为Lorentzian距离度量)ρ(e)=log(1+e2/2σ2),σ用于鲁棒估计的标量,例如可以设为0.05。这样,从当前帧提取的虚拟标记点空间坐标向量
Figure BDA0001139229500000094
与人体姿态数据库中每个人体姿态qn对应的虚拟标记点空间坐标向量an之间的距离
Figure BDA0001139229500000095
可以如下公式进行表示:
Figure BDA0001139229500000096
其中
Figure BDA0001139229500000097
是人体姿态数据库中的人体姿态qn对应的虚拟标记点空间坐标向量an与从当前帧提取的虚拟标记空间坐标向量
Figure BDA0001139229500000098
之间的相对旋转矩阵。上面公式等号右边第一项度量的是当前帧提取的虚拟标记点与数据库中人体姿态对应的虚拟标记点之间的距离;第二项度量的是数据库人体姿态与前两帧重建姿态
Figure BDA0001139229500000101
Figure BDA0001139229500000102
间连续变化的程度大小,α,β表示这两项度量的权重,满足α+β=1。在该实施例中,考虑到人体运动姿态在连续3帧内是近似匀速变化的,所求解的当前帧的人体姿态q相对于前一帧的姿态
Figure BDA0001139229500000103
的变化应该与前两帧的姿态
Figure BDA0001139229500000104
Figure BDA0001139229500000105
间之间的变化相近。因此第二项度量也可称为平滑项度量,即相邻两帧人体姿态的变化应比较平滑。
在又一个实施例中,在步骤306,可以从预先构建的三维人体姿态数据库中选择其虚拟标记点位置与从当前帧提取的虚拟标记点最接近的K个人体姿态来作为当前帧的候选人体姿态。其中K为自然数,可以根据实际系统需求来设置。接着,例如可以通过姿态投票或非刚体注册等方法从K个候选人体姿态中选择当前帧的人体姿态。又例如,考虑到相邻帧之间姿态变化不会太明显,也可以根据所捕获的前若干个帧深度数据来从K个候选人体姿态中选择当前帧的人体姿态,例如,根据前2、3、4或5帧重建的人体姿态计算这些姿态间的变化差异,然后选择与先前帧的人体姿态变化程度最小的候选姿态作为当前帧对应的人体姿态。为方便介绍,下面均采用前2帧进行举例说明,例如从候选人体姿态中选择与前两帧重建姿态
Figure BDA0001139229500000106
之间连续变化程度最小的人体姿态作为当前帧对应的人体姿态。
在又一个实施例中,在步骤306还包括构建当前帧对应的三维人体姿态
Figure BDA0001139229500000107
的局部先验模型,并以从三维人体姿态数据库中选择的K个候选的人体姿态作为训练样本集合QK={q1,…,qK},通过迭代优化求解的方式得到同时满足下列条件的
Figure BDA0001139229500000108
作为最终结果:1)所求解的当前帧对应人体姿态的虚拟标记点与从当前帧的对应的虚拟标记点之间的距离尽可能小;2)所求解的当前帧对应人体姿态在K个候选QK={q1,…,qK}构成的局部空间人体姿态概率分布中发生的概率尽可能大;和/或3)所求解的当前帧对应人体姿态与前几帧重建姿态之间的变化速度尽可能小。也就是基于所提取的当前帧的虚拟标记点、所提取的K个候选人体姿态和前2帧重建的人体姿态来重建当前帧的三维人体姿态。
其中,可使用线性回归模型或主成分分析等技术构建待求的当前帧对应的三维人体姿态
Figure BDA0001139229500000109
的局部先验模型。例如基于主成分分析构建的
Figure BDA00011392295000001010
的局部先验模型可以如下公式表示:
Figure BDA00011392295000001011
其中,
Figure BDA00011392295000001012
是样本集QK中K个人体姿态的均值向量,PB是这K个人体姿态的前B维主成分向量构成的矩阵,
Figure BDA0001139229500000111
是当前帧三维人体姿态
Figure BDA0001139229500000112
的低维表示向量。优选地,用于作为训练样本的人体姿态个数K和局部先验模型的低维向量维度B可通过交叉验证自动确定。例如,构建待求的每帧对应的三维人体姿态的局部先验模型时,首先构建一组包含不同K值和B值的局部线性模型集合,然后通过留一(leave-one-out)交叉验证过程自动选出三维人体姿态重建结果最好的那个局部线性模型,从而确定K值和B值。在优选实施例中,对于每个帧,其相应K和B值不尽相同,通常情况下K<=40个,B<=7。也就是说,在进行人体运动捕获时,对于捕获的每个帧,为其构建局部先验模型时K值和B值可以有所差异。
可以通过迭代优化求解最大后验概率(Maximum A Posteriori,简称MAP)来得到当前帧待求三维人体运动姿态。具体地说,在当前帧的虚拟标记点
Figure BDA0001139229500000113
K个候选QK={q1,…,qK},以及前2帧重建的三维人体姿态
Figure BDA0001139229500000114
的基础上,求解最满足上述三个条件的当前帧的三维人体姿态
Figure BDA0001139229500000115
其可表示为下面的公式:
Figure BDA0001139229500000116
Figure BDA0001139229500000117
在上述公式中,等式左边
Figure BDA0001139229500000118
是待求的三维人体姿态,等式右边argmaxPr(*)表示求使得后验概率Pr(*)最大时的q值,
Figure BDA0001139229500000119
表示在已知提取的稀疏三维标记点a、K个近邻q1,…,qK和前两帧姿态
Figure BDA00011392295000001110
时的最可能的三维人体姿态q;第二个公式
Figure BDA00011392295000001111
表示求出三维人体姿态q后的虚拟标记点
Figure BDA00011392295000001112
的似然概率,Pr(q|q1…qK)表示K个近邻姿态q1,…,qK组成的关于q的先验概率,
Figure BDA00011392295000001113
表示前2帧姿态
Figure BDA00011392295000001114
组成的关于q的时空先验概率;通常情况下,最大后验概率问题在具体进行求解的时候,通常是迭代优化求解与上式等价的最小化负对数函数,即可以将上述公式具体形式化为:
Figure BDA00011392295000001115
其中,第一项Emarker是虚拟标记点约束项,第二项Eproior是局部姿态先验约束项;第三项Esmooth是姿态变化平滑项。其中,虚拟标记点约束项Emarker惩罚的是根据重建的三维人体姿态q计算出的稀疏三维虚拟标记点与从获取的深度数据中自动提取的对应稀疏三维虚拟标记点
Figure BDA0001139229500000121
间的距离。其中,
Figure BDA0001139229500000122
其中,
Figure BDA0001139229500000123
是前向运动学方程,计算已知人体姿态q、人体骨架
Figure BDA0001139229500000124
和虚拟标记点相对父关节偏移量
Figure BDA0001139229500000125
时的虚拟标记点的位置坐标,
Figure BDA0001139229500000126
Figure BDA0001139229500000127
是在上文自动标定过程中已经介绍过。在该实施例中,由于从捕获的深度图像中提取的稀疏3D标记点与人体肢体段存在一一对应关系,所以在某些肢体段对应的虚拟标记点在人体运动过程中由肢体自遮挡造成丢失的情况下,可以自动进行判断哪个虚拟标记点丢失,并将丢失的标记点从此约束项中剔除。局部姿态先验约束项Eproior惩罚的是重建的当前帧人体姿态q与K个候选姿态QK={q1,…,qK}构成的局部空间中人体姿态概率分布的满足程度。也就是说如果K个候选的人体姿态在空间中满足某个高维的高斯概率分布,则待求的三维人体姿态一定是最满足该高斯概率分布的,即均值和方差都最小的一个样本。假设局部空间中的K个候选人体姿态构成多维高斯分布,则局部姿态先验约束项最大化:
Figure BDA0001139229500000128
Figure BDA0001139229500000129
其中,向量
Figure BDA00011392295000001210
和矩阵PB分别是局部空间中K个候选姿态QK={q1,…,qK}的姿态均值向量和协方差矩阵前B维主成分向量构成的矩阵。姿态变化平滑项Esmooth惩罚的是重建的人体姿态q与前2帧重建姿态
Figure BDA00011392295000001211
间的变化速度的平滑度。其中,
Figure BDA00011392295000001212
Figure BDA00011392295000001213
其中,
Figure BDA00011392295000001214
Figure BDA00011392295000001215
分别是第t-2帧和第t-1帧重建的3D人体姿态。例如,可假设人体运动姿态在连续3帧约10ms的时间间隔内是近似匀速变化的,当前帧人体姿态与前2帧重建的人体姿态有关,因此平滑项度量的是相邻2帧人体姿态的速度变化。综合上述三个约束项,得到最终的能量方程表示为:
Figure BDA00011392295000001216
其中,λ123是各约束项权值,实验中分别设为0.2,5,1。在迭代优化过程中首先根据一阶Taylor展开将各非线性约束项线性化;然后将深度相机捕获的第一帧的人体姿态作为初解,可利用Levenberg-Marquardt迭代非线性优化算法求解当前帧对应的人体姿态
Figure BDA0001139229500000131
其中,为计算方法,可设定迭代优化过程平均每帧迭代次数不超过5次。
图5(a)-(d)给出了本发明实施例的捕获方法针对表1所示的不同身材尺寸表演者的运动捕获结果示意。
表1
Figure BDA0001139229500000132
实验中,用Kinect分别捕获了4位身材尺寸(如表1所示)具有较大差异运动对象的深度图像数据,采用上述方法捕获运动对象的一系列运动人体姿态。从图5(a)-(d)可以看出,根据上述实施例的人体运动捕获方法可以适应具有不同身材尺寸的运动对象。
虽然本发明已经通过上述实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

Claims (9)

1.一种三维人体运动捕获方法,该方法包括:
步骤1,从捕获的当前帧的深度图像中提取虚拟标记点,每个虚拟标记点指示人体骨架的一个肢体段;
步骤2,从人体姿态数据库中选择其虚拟标记点位置与所提取的虚拟标记点的位置匹配的人体姿态;
其中,所述人体姿态数据库包括一个或多个人体姿态,每个人体姿态以由人体骨架各关节自由度构成的向量来表示;
其中所述人体姿态数据库中每个人体姿态的虚拟标记点位置是通过下面的步骤来标定的:
a)捕获运动对象在标准参考姿态下的深度图像数据;
b)确定所捕获的深度图像数据中各像素点属于人体骨架的哪个肢体段;
c)将与每个肢体段对应的像素点集合拟合成圆柱体模型以确定各肢体段的长度和半径;
d)为各肢体段设定虚拟标记点并计算虚拟标记点位置参数,所述虚拟标记点位置参数包括每个虚拟标记点相对于离其最近的关节的偏移量;
e)基于所确定的各肢体段的长度和半径以及虚拟标记点位置参数,为人体姿态数据库中各个人体姿态标定其对应的虚拟标记点的位置。
2.根据权利要求1所述的方法,其中所述步骤b)利用预先训练好的分类器确定所捕获的深度图像中各像素点属于人体骨架的哪个肢体段,所述分类器用于确定深度图像的像素点属于人体骨架各肢体段的概率。
3.根据权利要求2所述的方法,其中所述分类器为随机决策森林分类器或支持向量机。
4.根据权利要求2所述的方法,其中所述步骤d)包括基于利用所述分类器得到像素点与各肢体段类别的概率分布对像素点进行聚类,取各肢体段类别对应的聚类中心点作为其虚拟标记点。
5.根据权利要求1所述的方法,其中所述步骤d)包括在每个肢体段对应圆柱体模型表面中心处取任一像素点作为虚拟标记点。
6.根据权利要求1所述的方法,所述步骤1包括:
利用训练好的分类器确定所捕获的深度图像的像素点属于人体骨架各肢体段的概率;
基于像素点与各肢体段类别的概率分布对像素点进行聚类,取各肢体段类别对应的聚类中心点作为其虚拟标记点。
7.根据权利要求1所述的方法,所述步骤2包括:
计算人体姿态数据库中各人体姿态对应的虚拟标记点与当前帧的虚拟标记点之间的距离;
选择最小距离对应的人体姿态作为当前帧的人体姿态。
8.根据权利要求1所述的方法,所述步骤2包括:
计算人体姿态数据库中各人体姿态对应的虚拟标记点与当前帧的虚拟标记点之间的距离;
选择距离最小的前K个人体姿态作为当前帧的候选人体姿态;
从K个候选人体姿态中选择相对于前两帧对应的人体姿态变化最小的人体姿态作为当前帧的人体姿态。
9.一种三维人体运动捕获系统,该系统包括:
标记点提取装置,从捕获的当前帧的深度图像中提取虚拟标记点,每个虚拟标记点指示人体骨架的一个肢体段;
姿态检索装置,从人体姿态数据库中选择其虚拟标记点位置与所提取的虚拟标记点的位置匹配的人体姿态;
其中,所述人体姿态数据库包括一个或多个人体姿态,每个人体姿态以由人体骨架各关节自由度构成的向量来表示;
其中所述系统还包括标定装置,其被配置为通过下列步骤对所述人体姿态数据库中每个人体姿态的虚拟标记点位置进行标定:
a)捕获运动对象在标准参考姿态下的深度图像数据;
b)确定所捕获的深度图像数据中各像素点属于人体骨架的哪个肢体段;
c)将与每个肢体段对应的像素点集合拟合成圆柱体模型以确定各肢体段的长度和半径;
d)为各肢体段设定虚拟标记点并计算虚拟标记点位置参数,所述虚拟标记点位置参数包括每个虚拟标记点相对于离其最近的关节的偏移量;
e)基于所确定的各肢体段的长度和半径以及虚拟标记点位置参数,为人体姿态数据库中各个人体姿态标定其对应的虚拟标记点的位置。
CN201610942698.8A 2016-11-01 2016-11-01 三维人体运动捕获方法与系统 Active CN106600626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610942698.8A CN106600626B (zh) 2016-11-01 2016-11-01 三维人体运动捕获方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610942698.8A CN106600626B (zh) 2016-11-01 2016-11-01 三维人体运动捕获方法与系统

Publications (2)

Publication Number Publication Date
CN106600626A CN106600626A (zh) 2017-04-26
CN106600626B true CN106600626B (zh) 2020-07-31

Family

ID=58589723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610942698.8A Active CN106600626B (zh) 2016-11-01 2016-11-01 三维人体运动捕获方法与系统

Country Status (1)

Country Link
CN (1) CN106600626B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596948A (zh) * 2018-03-16 2018-09-28 中国科学院自动化研究所 基于深度相机识别人体头部姿态的方法及装置
CN109100537B (zh) 2018-07-19 2021-04-20 百度在线网络技术(北京)有限公司 运动检测方法、装置、设备和介质
CN109215128B (zh) * 2018-08-09 2019-12-24 北京华捷艾米科技有限公司 物体运动姿态图像的合成方法及系统
CN109116992B (zh) * 2018-08-31 2020-12-04 北京航空航天大学 一种用于虚拟手力反馈交互的碰撞响应系统
CN110307788B (zh) * 2019-07-12 2021-05-11 清华大学 多深度相机人体参数测量方法及装置
CN113496168B (zh) * 2020-04-02 2023-07-25 百度在线网络技术(北京)有限公司 手语数据采集方法、设备、存储介质
CN111798547B (zh) * 2020-06-22 2021-05-28 完美世界(北京)软件科技发展有限公司 动画混合空间剖分方法、装置、设备和可读介质
CN112907631B (zh) * 2021-02-20 2021-11-19 北京未澜科技有限公司 一种引入反馈机制的多rgb相机实时人体动作捕捉系统
CN112925936B (zh) * 2021-02-22 2022-08-12 济南大学 一种基于深度哈希的运动捕获数据检索方法及系统
CN113256789A (zh) * 2021-05-13 2021-08-13 中国民航大学 一种三维实时人体姿态重建方法
CN113255487A (zh) * 2021-05-13 2021-08-13 中国民航大学 一种三维实时人体姿态识别方法
CN115530813B (zh) * 2022-10-20 2024-05-10 吉林大学 用于人体上身多关节三维运动测试分析的标记系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617175A (zh) * 2004-12-09 2005-05-18 上海交通大学 基于标记点的人肢体三维建模方法
CN101604447A (zh) * 2009-07-09 2009-12-16 上海交通大学 无标记人体运动捕捉方法
CN102749993A (zh) * 2012-05-30 2012-10-24 无锡掌游天下科技有限公司 基于骨骼节点数据的动作识别方法
CN202512510U (zh) * 2011-12-07 2012-10-31 北京盈胜泰科技术有限公司 一种肢体姿势识别系统
CN102855470A (zh) * 2012-07-31 2013-01-02 中国科学院自动化研究所 基于深度图像的人体姿态估计方法
CN103679712A (zh) * 2013-11-29 2014-03-26 马婷 人体姿态估计方法及系统
KR101386513B1 (ko) * 2012-11-14 2014-04-17 계명대학교 산학협력단 공간적 피라미드 기반의 가중 비오에프 히스토그램 및 랜덤 포레스트를 이용한 사람 행동 인식 방법
CN104063677A (zh) * 2013-03-19 2014-09-24 北京三星通信技术研究有限公司 用于估计人体姿态的设备和方法
CN104317386A (zh) * 2014-06-25 2015-01-28 西南科技大学 一种姿势序列有限状态机动作识别方法
CN105551059A (zh) * 2015-12-08 2016-05-04 国网山西省电力公司技能培训中心 光学和惯性体感数据融合的变电仿真人体运动捕捉方法
CN106056053A (zh) * 2016-05-23 2016-10-26 西安电子科技大学 基于骨骼特征点提取的人体姿势识别方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617175A (zh) * 2004-12-09 2005-05-18 上海交通大学 基于标记点的人肢体三维建模方法
CN101604447A (zh) * 2009-07-09 2009-12-16 上海交通大学 无标记人体运动捕捉方法
CN202512510U (zh) * 2011-12-07 2012-10-31 北京盈胜泰科技术有限公司 一种肢体姿势识别系统
CN102749993A (zh) * 2012-05-30 2012-10-24 无锡掌游天下科技有限公司 基于骨骼节点数据的动作识别方法
CN102855470A (zh) * 2012-07-31 2013-01-02 中国科学院自动化研究所 基于深度图像的人体姿态估计方法
CN102855470B (zh) * 2012-07-31 2015-04-08 中国科学院自动化研究所 基于深度图像的人体姿态估计方法
KR101386513B1 (ko) * 2012-11-14 2014-04-17 계명대학교 산학협력단 공간적 피라미드 기반의 가중 비오에프 히스토그램 및 랜덤 포레스트를 이용한 사람 행동 인식 방법
CN104063677A (zh) * 2013-03-19 2014-09-24 北京三星通信技术研究有限公司 用于估计人体姿态的设备和方法
CN103679712A (zh) * 2013-11-29 2014-03-26 马婷 人体姿态估计方法及系统
CN104317386A (zh) * 2014-06-25 2015-01-28 西南科技大学 一种姿势序列有限状态机动作识别方法
CN105551059A (zh) * 2015-12-08 2016-05-04 国网山西省电力公司技能培训中心 光学和惯性体感数据融合的变电仿真人体运动捕捉方法
CN106056053A (zh) * 2016-05-23 2016-10-26 西安电子科技大学 基于骨骼特征点提取的人体姿势识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Kinect骨骼数据的人体动作姿势识别方法;李红波等;《计算机工程与设计》;20160430;第37卷(第4期);第969-975页 *

Also Published As

Publication number Publication date
CN106600626A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106600626B (zh) 三维人体运动捕获方法与系统
Xu et al. Ghum & ghuml: Generative 3d human shape and articulated pose models
Balan et al. Detailed human shape and pose from images
Jahangiri et al. Generating multiple diverse hypotheses for human 3d pose consistent with 2d joint detections
CN107423729B (zh) 一种面向复杂视觉场景下的远距离类脑三维步态识别系统及实现方法
Loper et al. MoSh: motion and shape capture from sparse markers.
CN104700433B (zh) 一种基于视觉的实时人体全身体运动捕捉方法及其系统
US9710964B2 (en) Method for providing a three dimensional body model
Wei et al. Modeling 3d human poses from uncalibrated monocular images
Choutas et al. Accurate 3D body shape regression using metric and semantic attributes
KR20220066366A (ko) 예측적 개인별 3차원 신체 모델
JP2023502795A (ja) 実世界環境の4d時空間モデルを生成するためのリアルタイムシステム
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
Liu et al. Human motion tracking by multiple RGBD cameras
Uddin et al. Human Activity Recognition via 3-D joint angle features and Hidden Markov models
CN102682452A (zh) 基于产生式和判别式结合的人体运动跟踪方法
CN106815855A (zh) 基于产生式和判别式结合的人体运动跟踪方法
CN113449570A (zh) 图像处理方法和装置
CN107357426A (zh) 一种用于虚拟现实设备的体感控制方法
Zou et al. Automatic reconstruction of 3D human motion pose from uncalibrated monocular video sequences based on markerless human motion tracking
Jatesiktat et al. Personalized markerless upper-body tracking with a depth camera and wrist-worn inertial measurement units
CN115346272A (zh) 基于深度图像序列的实时摔倒检测方法
CN111539364A (zh) 基于特征融合和多分类器投票的多体感人体行为识别算法
Xia et al. Toward accurate real-time marker labeling for live optical motion capture
Yu et al. Automatic human Gait imitation and recognition in 3D from monocular video with an uncalibrated camera

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