一种基于深度图的人体手臂位置参数提取算法的制作方法

文档序号:15491805发布日期:2018-09-21 20:44阅读:195来源:国知局

本发明涉及3d深度相机的信号处理技术领域,具体为一种基于深度图的人体手臂位置参数提取算法。



背景技术:

手臂检测和位置参数提取是基于人体动作的人机交互技术核心,传统的基于rgb相机的方法由于其无法直接得到3d距离信息,需要大量的运算才能够获取手臂位置信息,效率低且误差大。随着3d深度相机的技术成熟和普及,利用3d深度相机提供的深度图,能够克服传统rgb相机在手臂检测方面遇到的困难,直接利用人体手臂在空间3d的距离信息(即:深度图)精确计算手臂位置参数,为基于手臂动作的人机交互技术提供支撑。

通过3d深度相机得到的人体深度图中除了反映人体形状和位置信息的像素点之外,还有大量背景物体像素点。此外由于3d深度相机特有的噪声干扰,使得利用深度图获取人体手臂参数前需要经过一系列的运算处理,只有去除了背景和各种干扰之后才能够得到准确可靠的手臂位置参数。

在这一领域相对先进的研究来自微软公司,根据公开的资料,微软公司的kinect设备内置了基于随机森林的点云分类算法,该算法通过比较深度图中某个像素和相邻点的深度差得到点云分类结果,根据人的不同肢体对点云分类。相比微软的这一研究成果,本专利关注的是手臂的检测和参数提取,使用多重过滤算法分离出手臂像素点,这和微软基于单一的随机森林点云分类方式不同。另外在手臂参数提取上,采用基于空间3d直线端拟合算法,这和微软使用的基于不同肢体点云交界处识别关节的算法不同。



技术实现要素:

本发明的目的在于提供一种基于深度图的人体手臂位置参数提取算法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于深度图的人体手臂位置参数提取算法,该方法包括如下步骤:

(1)对包含手臂的输入深度图图像序列中的运动点切割,分离人体运动部分对应的深度图像素和静止背景对应的深度图像素,滤除静止背景对应的深度图像素;

(2)基于圆周采样算法的手臂中心线定位,对于人体运动部分的每个像素点,检测以它为中心的给定半径的圆周上的像素点是否和圆心像素点在相同物体表面,并根据检测结果判断该点是否是待选的手臂中心线;

(3)基于3d连通域检测的手臂像素识别,检测深度图中和手臂中心线像素连通的像素集合,将深度图上的像素分成一个或者多个连通域,形成连通的像素集合,根据手臂尺寸参考值,滤除体积过小的连通域,只保留和手臂尺寸匹配的连通域作为手臂像素点;

(4)基于空间3d点云直线拟合的手臂位置参数提取,对上一步输出的手臂像素点,进行3d空间直线拟合,计算手臂的起始和终止点和以及手臂的空间角度。

优选的,所述的基于深度图的人体手臂位置参数提取算法,所述的步骤(1)对包含手臂的输入深度图图像序列中的运动点切割算法,同时分析当前帧和之前的若干帧深度图,根据特定位置像素的深度变化规律和统计量确定该像素位置是否是静止背景像素,滤除被判定为静止背景的像素点。

优选的,所述的基于深度图的人体手臂位置参数提取算法,所述的(2)基于圆周采样算法的手臂中心线定位算法,对于每一个输入点云上的点,计算以它为圆心,半径为成人平均手臂半径1.414倍的圆,根据该圆周上的像素点深度和圆心像素点深度差别确定该圆周上的像素和圆心是否位于同一个物体表面,并据此判断圆心是否处于手臂中心线。

优选的,所述的基于深度图的人体手臂位置参数提取算法,所述的步骤(3)基于3d空间点云连通域检测的点云分类算法,分析来自之前处理输出的运动点像素以及手臂中心线像素,计算包含手臂中心线像素点的连通域即像素集合,对于不同连通域,滤除内部像素点数量小于手臂尺寸对应的像素点数量门限的连通域,留下的为手臂像素点连通域。

优选的,所述的基于深度图的人体手臂位置参数提取算法,所述的步骤(4)基于空间3d点云直线拟合的手臂位置参数提取算法,基于上一步得到的手臂像素点,计算他们对应的点云的3d直线拟合,根据拟合结果得到手臂的空间角度和的起点和终点位置数据。

与现有技术相比,本发明的有益效果是:该算法架构在实现手臂检测前经过了层层过滤以避免检测错误,通过数据过滤“净化”了待分析的深度图数据,只保留手臂区域对应的像素,使得能够利用3d直线拟合实现手臂参数的可靠提取。其中数据过滤是基于3d直线拟合实现手臂参数提取的前提,因为没有过滤的深度图数据中,非手臂部分的像素数量通常远大于手臂部分的像素数量,使得简单的3d直线拟合算法无法拟合到手臂位置。

附图说明

图1为本发明架构框图。

图2为本发明运动点切割的实现架构框图。

图3为本发明圆周采样手臂中心线识别的原理。

图4为本发明圆周采样手臂中心线识别的例子图。

图5为本发明连通域检测并计算连通域面积图。

图6为本发明圆周采样手臂连线示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-图6,本发明提供一种技术方案:

实施例1:

一种基于深度图的人体手臂位置参数提取算法,该方法包括如下步骤:

(1)对包含手臂的输入深度图图像序列中的运动点切割,分离人体运动部分对应的深度图像素和静止背景对应的深度图像素,滤除静止背景对应的深度图像素;

(2)基于圆周采样算法的手臂中心线定位,对于人体运动部分的每个像素点,检测以它为中心的给定半径的圆周上的像素点是否和圆心像素点在相同物体表面,并根据检测结果判断该点是否是待选的手臂中心线;

(3)基于3d连通域检测的手臂像素识别,检测深度图中和手臂中心线像素连通的像素集合,将深度图上的像素分成一个或者多个连通域,形成连通的像素集合,根据手臂尺寸参考值,滤除体积过小的连通域,只保留和手臂尺寸匹配的连通域作为手臂像素点;

(4)基于空间3d点云直线拟合的手臂位置参数提取,对上一步输出的手臂像素点,进行3d空间直线拟合,计算手臂的起始和终止点和以及手臂的空间角度。

实施例2:

根据实施例1所述的基于深度图的人体手臂位置参数提取算法,所述的步骤(1)对包含手臂的输入深度图图像序列中的运动点切割算法,同时分析当前帧和之前的若干帧深度图,根据特定位置像素的深度变化规律和统计量确定该像素位置是否是静止背景像素,滤除被判定为静止背景的像素点。

实施例3:

根据实施例1或2所述的基于深度图的人体手臂位置参数提取算法,所述的(2)基于圆周采样算法的手臂中心线定位算法,对于每一个输入点云上的点,计算以它为圆心,半径为成人平均手臂半径1.414倍的圆,根据该圆周上的像素点深度和圆心像素点深度差别确定该圆周上的像素和圆心是否位于同一个物体表面,并据此判断圆心是否处于手臂中心线。

实施例4:

根据实施例1或2或喔所述的基于深度图的人体手臂位置参数提取算法,所述的步骤(3)基于3d空间点云连通域检测的点云分类算法,分析来自之前处理输出的运动点像素以及手臂中心线像素,计算包含手臂中心线像素点的连通域即像素集合,对于不同连通域,滤除内部像素点数量小于手臂尺寸对应的像素点数量门限的连通域,留下的为手臂像素点连通域。

实施例5:

根据实施例1或2或3或4所述的基于深度图的人体手臂位置参数提取算法,所述的步骤(4)基于空间3d点云直线拟合的手臂位置参数提取算法,基于上一步得到的手臂像素点,计算他们对应的点云的3d直线拟合,根据拟合结果得到手臂的空间角度和的起点和终点位置数据。

实施例6:

根据实施例1或2或3或4或5所述的基于深度图的人体手臂位置参数提取算法,通过图1给出的总体算法架构实现的。算法包括几个处理过程:1)对包含手臂的输入深度图图像序列中的运动点切割(图中标号1)——分离人体运动部分对应的深度图像素和静止背景对应的深度图像素,滤除静止背景对应的深度图像素;2)基于圆周采样算法的手臂中心线定位(图中标号2)——对于人体运动部分的每个像素点,检测以它为中心的给定半径的圆周上的像素点是否和圆心像素点在相同物体表面,并根据检测结果判断该点是否是待选的手臂中心线;3)基于3d连通域检测的手臂像素识别(图中标号3)——检测深度图中和手臂中心线像素连通的像素集合,将深度图上的像素分成一个或者多个连通域(即:连通的像素集合),根据手臂尺寸参考值,滤除体积过小的连通域,只保留和手臂尺寸匹配的连通域作为手臂像素点;4)基于空间3d点云直线拟合的手臂位置参数提取(图中标号4)——对上一步输出的手臂像素点,进行3d空间直线拟合,计算手臂的起始和终止点和以及手臂的空间角度。

不同与传统的检测方案,该算法架构在实现手臂检测前经过了层层过滤(图中标号1,2,3)以避免检测错误,通过数据过滤“净化”了待分析的深度图数据,只保留手臂区域对应的像素,使得能够利用3d直线拟合实现手臂参数的可靠提取。其中数据过滤是基于3d直线拟合实现手臂参数提取的前提,因为没有过滤的深度图数据中,非手臂部分的像素数量通常远大于手臂部分的像素数量,使得简单的3d直线拟合算法无法拟合到手臂位置。

图1中各个算法框的具体实现原理如下给出。

1.运动点切割

运动点切割算法的细节由图2给出。该算法包括了几个子模块:1)像素深度方差计算(图中标号2)——计算给定时间窗口多帧深度图(图中标号1)中相同位置像素的随时间变化的方差估计;2)像素最近距离计算(图中标号3)——计算给定时间窗口内多帧深度图中相同位置像素的最近距离(离深度相机镜头的最近距离);3)像素过滤器(图中标号4)——对于最新输入的深度图数据帧,如果给定位置上的像素对应的深度比“像素最近距离计算”输出的结果大出固定的门限,并且该像素位置“像素深度方差计算”输出的方差低于门限,则判为背景点,予以滤除。经过这一计算,切除背景静止点,留下的是运动点。

2.基于圆周采样算法的手臂中心线定位

这一部分的基本原理是根据每个待判别的深度图像素点,对以它为中心,半径为普通成年人手臂半径1.414倍的圆的圆周上的像素点进行比较,计算圆周上像素点和圆心像素点的深度差。根据给定的门限区分和圆心处于同一物体表面的像素点以及和圆心处于不同物体表面的像素点。如图3所示,图中圆周的实线部分是和圆心处于相同物体表面的像素,而圆周的虚线部分是和圆心处于不同物体表面的像素。

根据成年人手臂尺寸的平均值,可以发现,如果所分析的深度图像素处于手臂中心,则基于圆周采样得到的像素分类结果将圆周分为近似等长的4段,其中实线和虚线(分别对应和圆心在相同物体表面和不同物体表面的圆周)交替出现。根据这个特点,可以识别出手臂中心对应的像素点。图4中给出了3个像素点根据该算法识别的手臂中心像素点的例子。图中3个圆的中心位于这3个像素点上,其中圆1和2的圆心在手臂的中心线上,通过圆周采样看到他们的采样结果满足“虚线、实线”交替,将圆周分为等长的4段。而圆3不处于手臂中心线上,通过圆采样得到的圆周的分类结果对应的虚实线分段不满足“虚实”交替等分圆周为4段的特点。

3.基于3d连通域检测的手臂像素识别

这一部分基于之前得到的手臂中心线像素位置信息,将和手臂中心像素连通的像素点标注为待选手臂区域。如图5所示:图中区域1对应的像素点集合中任意两个像素对应的点可以通过相同区域内空间距离小于特定门限的像素点序列联通。由于手臂中心线检测过程中不可避免的出现误检,比如图5的区域2,该区域是半径和手臂接近的条块,在前一步检测中,该条块的中心被误认为是手臂中心,因此需要进一步过滤,这一过滤是通过检测连通的点云集合的尺寸进行的。根据成年人平均手臂尺寸对应的像素面积即:手臂对应像素数量,定义门限,对像素数量小于该门限的连通域,被判定为非手臂部分,被滤除。

4.基于空间3d点云直线拟合的手臂位置参数提取

经过以上步骤过滤,留下的深度图像素点中,手臂部分的像素数量占主要部分,通过直线拟合算法,比如最小二乘法和ransac方法,可以得到这些点云拟合的直线(图中标号3)的方位角,并且在深度图中根据直线的投影(从3d空间投影到深度图)和上一步检测得到的连通域边界的交点,得到手臂的起始和结束位置(图中标号1,2)。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1