CN103729647B - 基于深度图像实现人体骨骼提取的方法 - Google Patents
基于深度图像实现人体骨骼提取的方法 Download PDFInfo
- Publication number
- CN103729647B CN103729647B CN201310753495.0A CN201310753495A CN103729647B CN 103729647 B CN103729647 B CN 103729647B CN 201310753495 A CN201310753495 A CN 201310753495A CN 103729647 B CN103729647 B CN 103729647B
- Authority
- CN
- China
- Prior art keywords
- skeleton
- point
- msub
- mrow
- depth image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及一种基于深度图像实现人体骨骼提取的方法,其中包括从深度图像中提取人体外部轮廓后将外部轮廓曲线离散化为外部多边形并在所述的外部多边形中进行骨骼提取;根据深度数据的直方图提取人体内部轮廓后将内部轮廓曲线离散化为内部多边形并在所述的内部多边形中进行骨骼提取;将邻近的骨骼点连接成连续的骨骼线并将所有的骨骼线连接成一幅完整的骨骼。采用该种基于深度图像实现人体骨骼提取的方法,能够提取出人体内部自遮挡区域的骨骼,有效去除骨骼线条中多余的枝桠,并保持人体原有的拓扑结构,提取出的骨骼模型可以用来描述人体运动的相关信息,可用于视频监控、人机交互、虚拟现实等领域,具有更广泛的应用范围。
Description
技术领域
本发明涉及图像处理计算领域,尤其涉及人体骨骼提取领域,具体是指一种基于深度图像实现人体骨骼提取的方法。
背景技术
随着计算机视觉和图像处理技术能力的逐步提高,人体动作分析广泛地应用于视频监控、人机交互、虚拟现实等相关领域,从无标记的图像序列中定位人体骨骼和关节点用于分析人体动作的研究也得到了广泛的关注。由于物体形状的连通性和拓扑结构可以通过骨架模型得到很好的体现,所以人体骨骼模型包含了可用于动作识别的关键特征,可以用来描述人体目标区域以及运动的相关信息,作为实时跟踪和识别人体动作的有效方法。
中国专利公开号为CN1766831的发明专利中公开了一种基于光学的运动捕获数据的骨骼运动提取方法。该方法根据光学的运动捕获数据构造与捕获对象粗糙匹配的骨骼系统,在骨骼系统建立真实与虚拟标志点的距离函数,通过最小化距离函数得到骨骼运动数据。
中国专利公开号为CN102622606A的发明专利中公开了一种基于测地模型的人体骨骼提取和朝向判定方法。该方法根据测地模型,以四肢和头顶末端的五个特征点为起点,计算模型顶点测地距离,提取等测地距离曲线族的中心线,在中心线上确定关节点位置、提取骨骼。
中国专利公开号为CN102129719A的发明专利中公开了一种基于虚拟人动态模型的人体骨骼提取方法。该方法选取一个姿态为参考姿态,计算其它姿态到参考姿态间的三角面的变换矩阵,并通过聚类将人体进行分块,并求出分块连接处的中心。最后从四肢和头顶的5个特征点出发,依次连接各分块连接处的中心点,形成人体骨骼。
Douglas和Peucker在《The Canadian Cartographer》上发表的学术论文“Algorithms for the reduction of the number of points required to represent aline or its caricature”[1973:112-122]中提出多边形逼近算法,对曲线进行采样简化将其变为折线,使连续的曲线离散化,并且能够在一定程度上保持曲线原有的形状。
综上所述,目前存在的骨骼提取方法通常以三维的人体运动数据或扫描数据为基础,当缺乏这些数据时则不能很好地解决人体姿势自遮挡时存在的无法提取遮挡部分的骨骼或者是骨骼提取效果不好,存在多余的枝桠,不能保持人体原有的拓扑结构等问题。三维体感摄影机能够提供深度图像和进行骨骼追踪,但是它的骨骼追踪只适用于大幅度的肢体运动,对于有自遮挡的运动不够精确。本发明利用多边形逼近算法和深度图像来进行人体骨骼的提取。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现有效提取出人体内部自遮挡区域的骨骼、有效去除骨骼线条中多余的枝桠、保持人体原有的拓扑结构、具有更广泛应用范围的基于深度图像实现人体骨骼提取的方法。
为了实现上述目的,本发明的基于深度图像实现人体骨骼提取的方法具有如下构成:
该基于深度图像实现人体骨骼提取的方法,其主要特点是,所述的方法包括以下步骤:
(1)从深度图像中提取人体外部轮廓后将外部轮廓曲线离散化为外部多边形并在所述的外部多边形中进行骨骼提取;
(2)根据深度数据的直方图提取人体内部轮廓后将内部轮廓曲线离散化为内部多边形并在所述的内部多边形中进行骨骼提取;
(3)将邻近的骨骼点连接成连续的骨骼线并将所有的骨骼线连接成一幅完整的骨骼。
较佳地,所述的从深度图像中提取人体外部轮廓后将外部轮廓曲线离散化为外部多边形并在所述的外部多边形中进行骨骼提取,包括以下步骤:
(11)根据深度数据提取出单个人物的深度图像;
(12)从所述的单个人物的深度图像中提取出人物整体的外部轮廓;
(13)采用多边形逼近算法将外部轮廓曲线离散化为外部多边形;
(14)在深度图像中用边缘检测法检测出所有轮廓;
(15)保留位于外部多边形内的轮廓并采用多边形逼近算法将被保留的轮廓离散化为线型轮廓;
(16)将所述的线型轮廓加入外部多边形中进行骨骼的提取;
(17)选取所述的外部多边形上一点p以及距离p最近的两个点q1、q2,且q1、q2在不同的边上,如果点q1、q2都在外部多边形上,则继续步骤(18),如果点q1、q2中有一个点在所述的线型轮廓上,则继续步骤(19);
(18)判断该点p是否满足以下公式(a)和(b),如果满足,则该点p为骨骼点:
其中,q1、q2表示距离p最近的两个点,且q1、q2在不同的边上,q0表示q1与q2的中点,D()表示欧氏距离;
其中,L1、L2分别表示q1、q2所在的多边形的边;若q1为多边形的顶点,则表示顶点q1;若q1不为多边形的顶点,则表示点q1所在的多边形的边L1;若q2为多边形的顶点,则表示顶点q2;若q2不为多边形的顶点,则表示点q2所在的多边形的边L2;T1为预先设定的参数;
(19)判断该点p是否满足公式(a)和以下公式(c),如果满足,则该点p为骨骼点。
p∈Square[L1,L2],if q1∈Le||q2∈Le (c)
其中,L1、L2分别表示点q1、q2所在的多边形的边;Square[L1,L2]表示以L1和L2为边的凸四边形。
更佳地,所述的采用多边形逼近算法将外部轮廓曲线离散化为外部多边形,包括以下步骤:
(131)在所述的外部轮廓曲线中选取一段首尾两点之间连接一条直线段,其中该直线段为所述的外部轮廓曲线的弦;
(132)计算得到所述的外部轮廓曲线上距离该直线段距离最大的点C并计算该点与直线段的距离d;
(133)判断该距离d是否小于系统预设阈值,如果是,则将直线段作为该段外部轮廓曲线的近似,否则继续步骤(134);
(134)将该直线段从点C进行分割成两段直线段,并分别选择两段直线段对其进行步骤(132)和步骤(133)的处理;
(135)所述的外部轮廓曲线全部处理完毕后依次首尾连接各个近似直线段得到所述的外部轮廓曲线的近似外部多边形。
更佳地,所述的边缘检测法为Canny边缘检测法。
较佳地,所述的根据深度数据的直方图提取人体内部轮廓后将内部轮廓曲线离散化为内部多边形并在所述的内部多边形中进行骨骼提取,包括以下步骤:
(21)对单个人物的深度图像进行预分割得到均匀分块的深度图像;
(22)按照0~255的划分将深度值量化为256个条带并统计分块后的深度图像上各个像素点处的深度值得到身体不同部位深度值的统计直方图;
(23)在所述的统计直方图中,按照以下公式(d)提取出人体自遮挡的身体部位:
p∈N,if Depth(p)>K (d)
其中,N表示人体自遮挡的身体部位,K表示统计直方图中人体主躯干的深度值,p表示深度图像中的一像素点;
(24)对人体自遮挡的身体部位进行轮廓提取即得到人体的内部轮廓;
(25)采用多边形逼近算法将人体的内部轮廓曲线离散化为内部多边形;
(26)判断所述的内部多边形内的一点p是否满足以下公式(a)和(e),如果是,则该点p为骨骼点:
其中,q1、q2表示距离p最近的两个点,且q1、q2在不同的边上,q0表示q1与q2的中点,D()表示欧氏距离;
其中,q1、q2表示内部多边形的边上距离p最近的两个点,且q1、q2在不同的边上;L1、L2分别表示q1、q2所在的多边形的边;若q1为多边形的顶点,则表示顶点q1;若q1不为多边形的顶点,则表示点q1所在的多边形的边L1;若q2为多边形的顶点,则表示顶点q2;若q2不为多边形的顶点,则表示点q2所在的多边形的边L2;angle表示边L1和L2之间的夹角;T2、α和β为系统预先设定的参数;D()表示欧氏距离。
更佳地,所述的对单个人物的深度图像进行预分割得到均匀分块的深度图像,具体为:
对单个人物的深度图像用金字塔分割算法进行预分割得到均匀分块的深度图像。
较佳地,所述的将邻近的骨骼点连接成连续的骨骼线并将所有的骨骼线连接成一幅完整的骨骼,包括以下步骤:
(31)将邻近的骨骼点依次连接成线段形成连续的骨骼线;
(32)将左右上肢的骨骼线与肩部中心点连接起来。
更佳地,所述的将左右上肢的骨骼线与肩部中心点连接起来,包括以下步骤:
(321)从骨骼数据中获取肩部中心点在深度图像上的位置;
(322)根据上肢骨骼线与肩部中心点的相对位置对骨骼线进行判断,如果是左上肢或右上肢的骨骼线,则继续步骤(323),如果是左右上肢的交叠,则继续步骤(326);
(323)判断该骨骼线是由外部多边形生成的还是内部多边形生成的,如果是外部多边形,则继续步骤(324),如果是内部多边形,则继续步骤(325);
(324)该骨骼线上与肩部中心点距离最近的骨骼点为肩部中心点与该骨骼线的连接点;
(325)如果该骨骼线是左上肢骨骼线,则该骨骼线上最左边的骨骼点为为肩部中心点与该骨骼线的连接点,如果该骨骼线是右上肢骨骼线,则该骨骼线上最右边的骨骼点为为肩部中心点与该骨骼线的连接点,然后继续步骤(327);
(326)该骨骼线上最左边的骨骼点为为肩部中心点与该骨骼线的左连接点,该骨骼线上最右边的骨骼点为为肩部中心点与该骨骼线的右连接点;
(327)将左右上肢的骨骼线的连接点与肩部中心点连接起来。
采用了该发明中的基于深度图像实现人体骨骼提取的方法,具有如下有益效果:
本发明在深度图像中提取人体的外部轮廓和内部自遮挡轮廓,并利用多边形逼近算法和细致的骨骼提取约束条件,在外部和内部多边形中提取人体骨骼。本发明利用深度图像提取人体的外部轮廓和内部自遮挡轮廓,能够解决人体姿势自遮挡时无法依照轮廓提取骨骼的问题;提取骨骼的约束条件更加细致,连接完成后的骨骼为一幅整体连贯的骨骼。该方法能够提取出人体内部自遮挡区域的骨骼,有效去除骨骼线条中多余的枝桠,并保持人体原有的拓扑结构。提取出的骨骼模型可以用来描述人体运动的相关信息,为实时跟踪和识别人体动作打下良好的基础,可用于视频监控、人机交互、虚拟现实等领域,具有更广泛的应用范围。
附图说明
图1为本发明的基于深度图像实现人体骨骼提取的方法的流程图。
图2为本发明的外部多边形中提取骨骼的流程图。
图3为本发明的内部多边形中提取骨骼的流程图。
图4为本发明的将骨骼点连接成骨骼线进而连接成完整骨骼的流程图。
图5为本发明的单个人物的深度图像的示意图。
图6为本发明的人体外部轮廓的示意图。
图7为本发明的外部多边形的示意图。
图8为本发明的边缘检测的轮廓的示意图。
图9为本发明的加入了线型轮廓的外部多边形的示意图。
图10为本发明的从外部多边形中提取出的骨骼的示意图。
图11为本发明的预分割后均匀分块的单个人物的深度图像的示意图。
图12为本发明的统计直方图的示意图。
图13为本发明的人体自遮挡的身体部位的示意图。
图14为本发明的人体内部轮廓的示意图。
图15为本发明的内部多边形的示意图。
图16为本发明的从内部多边形中提取出的骨骼的示意图。
图17为本发明的在深度图像上显示提取的所有骨骼点的示意图。
图18为本发明的肩部中心点在深度图像上的示意图。
图19为本发明的连接完成后的骨骼的示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
针对现有骨骼提取技术无法解决人体姿势自遮挡、提取的骨骼无法保持人体的拓扑结构、存在多余的枝桠等问题,而提供一种基于深度图像的人体骨骼提取方法。该骨骼提取方法能有效提取出人体内部自遮挡区域的骨骼,并有效去除骨骼线条中多余的枝桠,保持人体原有的拓扑结构。
为了达到上述目的,本发明利用深度图像提取人体的外部轮廓和内部自遮挡轮廓,然后将轮廓曲线离散化为多边形,在多边形中根据约束条件进行骨骼提取,最后连接骨骼成一幅整体连贯的骨骼。
如图1所示,本发明的基于深度图像的人体骨骼提取方法包括以下步骤:
步骤1、从深度图像中提取人体外部轮廓,将外部轮廓曲线离散化为外部多边形,并在外部多边形中进行骨骼提取;
步骤2、根据深度数据的直方图提取人体内部轮廓,将内部轮廓曲线离散化为内部多边形,并在内部多边形中进行骨骼提取;
步骤3、将邻近的骨骼点连接成连续的骨骼线,并将所有的骨骼线连接成一幅完整的骨骼。
如图2所示,所述的步骤1中从深度图像中提取人体外部轮廓,将外部轮廓曲线离散化为外部多边形,并在外部多边形中进行骨骼提取,具体步骤如下:
步骤101、根据深度数据,提取出单个人物的深度图像Id;如图5所示;
步骤102、从单个人物的深度图像Id中提取出人物整体的外部轮廓Ce;如图6所示;
步骤103、采用多边形逼近算法,将外部轮廓曲线Ce离散化为多边形,称为外部多边形Pe。如图7所示。具体的多边形逼近算法的过程为:
(a)在曲线首尾两点A,B之间连接一条直线AB,该直线为曲线的弦;
(b)得到曲线上离该直线段距离最大的点C,计算其与AB的距离d;
(c)比较该距离与预先给定的阈值的大小,如果小于阈值,则该直线段作为曲线的近似,该段曲线处理完毕。
(d)如果距离大于阈值,则用C将曲线分为两段AC和BC,并分别对两段曲线进行(a)~(c)的处理。
(e)当所有曲线都处理完毕时,依次连接各个分割点形成的折线,即可以作为曲线的近似。
步骤104、在深度图像中用Canny边缘检测法检测出所有轮廓,如图8所示;
步骤105、保留图8中位于外部多边形Pe内的轮廓,采用与步骤103相同的多边形逼近算法将被保留的轮廓离散化;
步骤106、离散化后为直线的轮廓称为肢体的线型轮廓Le,将其加入外部多边形(如图9所示)中进行骨骼的提取;
步骤107、根据公式(1)-(3)判断外部多边形Pe内的任意一点p是否为骨骼点:
其中,q1、q2表示多边形的边上距离p最近的两个点,且q1、q2在不同的边上;q0表示q1与q2的中点;D(·)表示欧氏距离。
其中,L1、L2分别表示q1、q2所在的多边形的边;若q1为多边形的顶点,则表示顶点q1;若q1不为多边形的顶点,则表示点q1所在的多边形的边L1;与类似;T1为预先设定的参数。
p∈Square[L1,L2],if q1∈Le||q2∈Le (3)
其中,L1、L2分别表示点q1、q2所在的多边形的边;Square[L1,L2]表示以L1和L2为边的凸四边形。
如果点q1、q2都在外部多边形Pe上,则满足公式(1)和(2)的点p为骨骼点;如果点q1、q2中有一个点在内部线型Le上,则满足公式(1)和(3)的点p为骨骼点。图10中表示按照此规则提取出的骨骼点。
如图3所示,所述的步骤2中根据深度数据的直方图提取人体内部轮廓,将内部轮廓曲线离散化为内部多边形,并在内部多边形中进行骨骼提取,具体步骤如下:
步骤201、对单个人物的深度图像Id用金字塔分割算法进行预分割,得到均匀分块的深度图像Is;如图11所示;
步骤202、按照0~255的划分将深度值量化为256个条带,统计分块后的深度图像Is上各个像素点处的深度值,得到身体不同部位深度值的统计直方图Hd;如图12所示;
步骤203、在统计直方图中背景区域Hd(0)的值最大,人体主躯干区域Hd(K)的值次之,根据这两点先验知识,按照公式提取出人体自遮挡的身体部位,如图13所示:
p∈N,if Depth(p)>K (4)
其中,N表示人体自遮挡的身体部位,K表示统计直方图中人体主躯干的深度值,p表示深度图像中的任一像素点。
步骤204、对人体自遮挡的身体部位进行轮廓提取,即得到人体的内部轮廓Ci。如图14所示。
步骤205、采用与步骤103中相同的多边形逼近算法,将人体内部轮廓曲线Ci离散化为内部多边形Pi。如图15所示。
步骤206、根据公式(1)和(5)判断内部多边形Pi内的任意一点p是否为骨骼点:
其中,q1、q2表示内部多边形的边上距离p最近的两个点,且q1、q2在不同的边上;L1、L2分别表示q1、q2所在的多边形的边;若q1为多边形的顶点,则表示顶点q1;若q1不为多边形的顶点,则表示点q1所在的多边形的边L1;与类似;angle表示边L1和L2之间的夹角;T2、α和β为预先设定的参数;D(·)表示欧氏距离。
在内部多边形Pi内,满足公式(1)和(5)的点p为骨骼点。由此提取出的骨骼点如图16中所示。
如图4所示,所述的步骤3中将邻近的骨骼点连接成连续的骨骼线,并将所有的骨骼线连接成一幅完整的骨骼,具体步骤如下:
步骤301、将邻近的断续的骨骼点连接成线段,形成连续的骨骼线,如图17所示;
步骤302、将左右上肢的骨骼线与肩部中心点连接起来,具体步骤如下;
步骤302-1、从骨骼数据中,获得肩部中心点在深度图像上的位置Ps-c;如图18所示;
步骤302-2、根据上肢骨骼线与肩部中心点Ps-c的相对位置,判断该骨骼线是属于左上肢、右上肢或者是左右上肢的交叠;
步骤302-3、根据判断结果和连接规则选择相应的连接点,与Ps-c进行连接,具体连接规则如下:
(a)若骨骼线为左/右上肢的骨骼线,且该骨骼线是由外部多边形生成的,那么该骨骼线上与Ps-c距离最近的骨骼点为连接点;
(b)若骨骼线为左/右上肢的骨骼线,且该骨骼线是由内部多边形生成的,那么该骨骼线上最左/右边的骨骼点为连接点;
若骨骼线为左右上肢的交叠,那么该骨骼线上最左边的骨骼点为左连接点,最右边的骨骼点为右连接点。
图18中右边的骨骼线属于右上肢,且该骨骼线是由外部多边形生成的,那么将该骨骼线上与Ps-c距离最近的点同Ps-c连接起来。图18中左边的骨骼线属于左上肢,且该骨骼线是由内部多边形生成的,那么将该骨骼线上最左边的点同Ps-c连接起来。连接完成后的所有骨骼在深度图像中如图19所示。
采用了该发明中的基于深度图像实现人体骨骼提取的方法,具有如下有益效果:
本发明在深度图像中提取人体的外部轮廓和内部自遮挡轮廓,并利用多边形逼近算法和细致的骨骼提取约束条件,在外部和内部多边形中提取人体骨骼。本发明利用深度图像提取人体的外部轮廓和内部自遮挡轮廓,能够解决人体姿势自遮挡时无法依照轮廓提取骨骼的问题;提取骨骼的约束条件更加细致,连接完成后的骨骼为一幅整体连贯的骨骼。该方法能够提取出人体内部自遮挡区域的骨骼,有效去除骨骼线条中多余的枝桠,并保持人体原有的拓扑结构。提取出的骨骼模型可以用来描述人体运动的相关信息,为实时跟踪和识别人体动作打下良好的基础,可用于视频监控、人机交互、虚拟现实等领域,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (6)
1.一种基于深度图像实现人体骨骼提取的方法,其特征在于,所述的方法包括以下步骤:
(1)从深度图像中提取人体外部轮廓后将外部轮廓曲线离散化为外部多边形并在所述的外部多边形中进行骨骼提取;
(2)根据深度数据的直方图提取人体内部轮廓后将内部轮廓曲线离散化为内部多边形并在所述的内部多边形中进行骨骼提取;
(3)将邻近的骨骼点连接成连续的骨骼线并将所有的骨骼线连接成一幅完整的骨骼;
所述的从深度图像中提取人体外部轮廓后将外部轮廓曲线离散化为外部多边形并在所述的外部多边形中进行骨骼提取,包括以下步骤:
(11)根据深度数据提取出单个人物的深度图像;
(12)从所述的单个人物的深度图像中提取出人物整体的外部轮廓;
(13)采用多边形逼近算法将外部轮廓曲线离散化为外部多边形;
(14)在深度图像中用边缘检测法检测出所有轮廓;
(15)保留位于外部多边形内的轮廓并采用多边形逼近算法将被保留的轮廓离散化为线型轮廓;
(16)将所述的线型轮廓加入外部多边形中进行骨骼的提取;
(17)选取所述的外部多边形上一点p以及距离p最近的两个点q1、q2,且q1、q2在不同的边上,如果点q1、q2都在外部多边形上,则继续步骤(18),如果点q1、q2中有一个点在所述的线型轮廓上,则继续步骤(19);
(18)判断该点p是否满足以下公式(a)和(b),如果满足,则该点p为骨骼点:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msup>
<mi>D</mi>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>p</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msup>
<mi>D</mi>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>p</mi>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>,</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>D</mi>
<mrow>
<mo>(</mo>
<mi>p</mi>
<mo>,</mo>
<msub>
<mi>q</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>q</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mi>a</mi>
<mo>)</mo>
</mrow>
</mrow>
其中,q1、q2表示距离p最近的两个点,且q1、q2在不同的边上,q0表示q1与q2的中点,D()表示欧氏距离;
其中,Pe为外部多边形,L1、L2分别表示q1、q2所在的多边形的边;若q1为多边形的顶点,则表示顶点q1;若q1不为多边形的顶点,则表示点q1所在的多边形的边L1;若q2为多边形的顶点,则表示顶点q2;若q2不为多边形的顶点,则表示点q2所在的多边形的边L2;T1为预先设定的参数;
(19)判断该点p是否满足公式(a)和以下公式(c),如果满足,则该点p为骨骼点;
p∈Square[L1,L2],if q1∈Le||q2∈Le (c)
其中,L1、L2分别表示点q1、q2所在的多边形的边;Square[L1,L2]表示以L1和L2为边的凸四边形;Le表示离散化后得到的线型轮廓;
所述的根据深度数据的直方图提取人体内部轮廓后将内部轮廓曲线离散化为内部多边形并在所述的内部多边形中进行骨骼提取,包括以下步骤:
(21)对单个人物的深度图像进行预分割得到均匀分块的深度图像;
(22)按照0~255的划分将深度值量化为256个条带并统计分块后的深度图像上各个像素点处的深度值得到身体不同部位深度值的统计直方图;
(23)在所述的统计直方图中,按照以下公式(d)提取出人体自遮挡的身体部位:
p∈N,if Depth(p)>K (d)
其中,N表示人体自遮挡的身体部位,K表示统计直方图中人体主躯干的深度值,p表示深度图像中的一像素点;
(24)对人体自遮挡的身体部位进行轮廓提取即得到人体的内部轮廓;
(25)采用多边形逼近算法将人体的内部轮廓曲线离散化为内部多边形;
(26)判断所述的内部多边形内的一点p是否满足以下公式(a)和(e),如果是,则该点p为骨骼点:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msup>
<mi>D</mi>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>p</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msup>
<mi>D</mi>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>p</mi>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>,</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>D</mi>
<mrow>
<mo>(</mo>
<mi>p</mi>
<mo>,</mo>
<msub>
<mi>q</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>q</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mi>a</mi>
<mo>)</mo>
</mrow>
</mrow>
其中,q1、q2表示距离p最近的两个点,且q1、q2在不同的边上,q0表示q1与q2的中点,D()表示欧氏距离;
其中,q1、q2表示内部多边形的边上距离p最近的两个点,且q1、q2在不同的边上;L1、L2分别表示q1、q2所在的多边形的边;若q1为多边形的顶点,则表示顶点q1;若q1不为多边形的顶点,则表示点q1所在的多边形的边L1;若q2为多边形的顶点,则表示顶点q2;若q2不为多边形的顶点,则表示点q2所在的多边形的边L2;angle表示边L1和L2之间的夹角;T2、α和β为系统预先设定的参数;D()表示欧氏距离。
2.根据权利要求1所述的基于深度图像实现人体骨骼提取的方法,其特征在于,所述的采用多边形逼近算法将外部轮廓曲线离散化为外部多边形,包括以下步骤:
(131)在所述的外部轮廓曲线中选取一段首尾两点之间连接一条直线段,其中该直线段为所述的外部轮廓曲线的弦;
(132)计算得到所述的外部轮廓曲线上距离该直线段距离最大的点C并计算该点与直线段的距离d;
(133)判断该距离d是否小于系统预设阈值,如果是,则将直线段作为该段外部轮廓曲线的近似,否则继续步骤(134);
(134)将该直线段从点C进行分割成两段直线段,并分别选择两段直线段对其进行步骤(132)和步骤(133)的处理;
(135)所述的外部轮廓曲线全部处理完毕后依次首尾连接各个近似直线段得到所述的外部轮廓曲线的近似外部多边形。
3.根据权利要求1所述的基于深度图像实现人体骨骼提取的方法,其特征在于,所述的边缘检测法为Canny边缘检测法。
4.根据权利要求1所述的基于深度图像实现人体骨骼提取的方法,其特征在于,所述的对单个人物的深度图像进行预分割得到均匀分块的深度图像,具体为:
对单个人物的深度图像用金字塔分割算法进行预分割得到均匀分块的深度图像。
5.根据权利要求1所述的基于深度图像实现人体骨骼提取的方法,其特征在于,所述的将邻近的骨骼点连接成连续的骨骼线并将所有的骨骼线连接成一幅完整的骨骼,包括以下步骤:
(31)将邻近的骨骼点依次连接成线段形成连续的骨骼线;
(32)将左右上肢的骨骼线与肩部中心点连接起来。
6.根据权利要求5所述的基于深度图像实现人体骨骼提取的方法,其特征在于,所述的将左右上肢的骨骼线与肩部中心点连接起来,包括以下步骤:
(321)从骨骼数据中获取肩部中心点在深度图像上的位置;
(322)根据上肢骨骼线与肩部中心点的相对位置对骨骼线进行判断,如果是左上肢或右上肢的骨骼线,则继续步骤(323),如果是左右上肢的交叠,则继续步骤(326);
(323)判断该骨骼线是由外部多边形生成的还是内部多边形生成的,如果是外部多边形,则继续步骤(324),如果是内部多边形,则继续步骤(325);
(324)该骨骼线上与肩部中心点距离最近的骨骼点为肩部中心点与该骨骼线的连接点;
(325)如果该骨骼线是左上肢骨骼线,则该骨骼线上最左边的骨骼点为为肩部中心点与该骨骼线的连接点,如果该骨骼线是右上肢骨骼线,则该骨骼线上最右边的骨骼点为为肩部中心点与该骨骼线的连接点,然后继续步骤(327);
(326)该骨骼线上最左边的骨骼点为为肩部中心点与该骨骼线的左连接点,该骨骼线上最右边的骨骼点为为肩部中心点与该骨骼线的右连接点;
(327)将左右上肢的骨骼线的连接点与肩部中心点连接起来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310753495.0A CN103729647B (zh) | 2013-12-31 | 2013-12-31 | 基于深度图像实现人体骨骼提取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310753495.0A CN103729647B (zh) | 2013-12-31 | 2013-12-31 | 基于深度图像实现人体骨骼提取的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729647A CN103729647A (zh) | 2014-04-16 |
CN103729647B true CN103729647B (zh) | 2017-10-13 |
Family
ID=50453711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310753495.0A Active CN103729647B (zh) | 2013-12-31 | 2013-12-31 | 基于深度图像实现人体骨骼提取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729647B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751513A (zh) * | 2015-03-12 | 2015-07-01 | 深圳市同洲电子股份有限公司 | 一种建立人体骨骼模型的方法及装置 |
CN106056053B (zh) * | 2016-05-23 | 2019-04-23 | 西安电子科技大学 | 基于骨骼特征点提取的人体姿势识别方法 |
CN108510491B (zh) * | 2018-04-04 | 2020-07-24 | 深圳市未来媒体技术研究院 | 虚化背景下人体骨骼关键点检测结果的过滤方法 |
CN109192267A (zh) * | 2018-08-09 | 2019-01-11 | 深圳狗尾草智能科技有限公司 | 运动陪伴虚拟机器人 |
CN109635723B (zh) * | 2018-12-11 | 2021-02-09 | 讯飞智元信息科技有限公司 | 一种遮挡检测方法及装置 |
CN111353346A (zh) * | 2018-12-21 | 2020-06-30 | 上海形趣信息科技有限公司 | 动作识别方法、装置、系统、电子设备、存储介质 |
CN113033242A (zh) * | 2019-12-09 | 2021-06-25 | 上海幻电信息科技有限公司 | 动作识别方法及系统 |
CN112257639A (zh) * | 2020-10-30 | 2021-01-22 | 福州大学 | 基于人体骨架的学生学习行为识别方法 |
CN113925497B (zh) * | 2021-10-22 | 2023-09-15 | 吉林大学 | 一种基于双目视觉测量系统的汽车乘员乘坐姿态提取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982557A (zh) * | 2012-11-06 | 2013-03-20 | 桂林电子科技大学 | 基于深度相机的空间手势姿态指令处理方法 |
CN103246891A (zh) * | 2013-05-28 | 2013-08-14 | 重庆邮电大学 | 一种基于Kinect的中国手语识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189068B2 (en) * | 2011-03-14 | 2015-11-17 | Lg Electronics Inc. | Apparatus and a method for gesture recognition |
-
2013
- 2013-12-31 CN CN201310753495.0A patent/CN103729647B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982557A (zh) * | 2012-11-06 | 2013-03-20 | 桂林电子科技大学 | 基于深度相机的空间手势姿态指令处理方法 |
CN103246891A (zh) * | 2013-05-28 | 2013-08-14 | 重庆邮电大学 | 一种基于Kinect的中国手语识别方法 |
Non-Patent Citations (1)
Title |
---|
基于Kinect骨骼跟踪功能的骨骼识别系统研究;李恒;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215;第1-67页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103729647A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729647B (zh) | 基于深度图像实现人体骨骼提取的方法 | |
CN105931295B (zh) | 一种地质图专题信息提取方法 | |
CN105664462A (zh) | 基于人体姿态估计算法的辅助训练系统 | |
CN101609507B (zh) | 步态识别方法 | |
CN104408462B (zh) | 面部特征点快速定位方法 | |
CN105069434B (zh) | 一种视频中人体动作行为识别方法 | |
CN103049758A (zh) | 融合步态光流图和头肩均值形状的远距离身份验证方法 | |
CN104102904B (zh) | 一种静态手势识别方法 | |
CN104794449A (zh) | 基于人体hog特征的步态能量图获取及身份识别方法 | |
CN107885327A (zh) | 一种基于Kinect深度信息的指尖检测方法 | |
CN102800126A (zh) | 基于多模态融合的实时人体三维姿态恢复的方法 | |
CN104200199B (zh) | 基于tof相机的不良驾驶行为检测方法 | |
CN114187665B (zh) | 一种基于人体骨架热图的多人步态识别方法 | |
CN101470800A (zh) | 手形识别方法 | |
CN109902565B (zh) | 多特征融合的人体行为识别方法 | |
CN103870808A (zh) | 一种手指静脉识别方法 | |
CN107590772A (zh) | 一种基于自适应邻域匹配的文物碎片自动拼接方法 | |
CN104899591B (zh) | 基于深度相机的手腕点和手臂点的提取方法 | |
CN106815855A (zh) | 基于产生式和判别式结合的人体运动跟踪方法 | |
CN107945244A (zh) | 一种基于人脸照片的简笔画生成方法 | |
CN103425970A (zh) | 一种基于头部姿态的人机交互方法 | |
CN109190535A (zh) | 一种基于深度学习的人脸面部肤色分析方法和系统 | |
CN106485737A (zh) | 基于线特征的点云数据与光学影像的自动配准融合方法 | |
CN107169972A (zh) | 一种非合作目标快速轮廓跟踪方法 | |
CN106778510B (zh) | 一种超高分辨率遥感图像中高层建筑特征点匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |