一种基于三维K曲率的指尖检测方法技术

技术编号:15296689 阅读:76 留言:0更新日期:2017-05-11 17:29
本发明专利技术公开了一种基于三维K曲率的指尖检测方法,该方法分为两步,第一步:基于点云颜色区域增长提取手部区域。首先对RGB‑D传感器获取的点云数据进行滤波,然后对其做颜色的区域增长分割,最后采取肤色检测算法获取手部区域的点云数据。第二步:基于三维K曲率算法提取指尖点。在获取手部区域后,对手部点云进行滤波以剔除一些空间离散点,然后利用K曲率算法的思想去处理点云数据,确定指尖候选点,对其指尖候选点聚类,得到指尖点。利用本发明专利技术的方法,可以在数字1、2、3、4、5等几种常见手势情况下,在不同位置,不同背景,不同光照环境下,很好地检测出指尖点。本发明专利技术的方法与实际指尖点的距离误差仅为5mm左右,具有较好的精确性、鲁棒性。

Fingertip detection method based on 3D K curvature

The invention discloses a fingertip detection method based on three-dimensional K curvature, which is divided into two steps. The point cloud data of RGB at first D sensors is filtered, and then the color region growing segmentation, and finally the skin color detection algorithm for point cloud data of the hand area. The second step: Based on the three-dimensional K curvature algorithm to extract fingertip. In obtaining the hand area, hand point cloud filtering to eliminate some discrete points, and then go to the point cloud data processing using K curvature algorithm to determine the candidate on the fingertips, fingertip candidate clustering, get a finger. By using the method of the invention, the finger tip can be detected in different positions, different backgrounds and different illumination environments in the case of several common gestures such as figures 1, 2, 4, 5, and so on. The distance error of the method and the actual finger tip of the invention is only about 5mm, and the method has good accuracy and robustness.

【技术实现步骤摘要】

本专利技术涉及一种基于三维K曲率算法的指尖检测方法,属于机器视觉

技术介绍
随着计算机视觉的发展,基于视觉的指尖检测方法已成为人机交互领域的研究热点。在基于视觉的指尖检测,前人已经做了大量的研究工作,然而以前的许多算法只专注于提取二维的指尖并且在手指移动的情况下不能稳定的检测出指尖点。在传统的指尖检测过程中,最常见的方法就是对彩色图像进行肤色检测,但此方法则过于受到光照强度和类肤色背景的影响。随着2010年微软推出Kinect以及其他种类带有深度信息相机的普及,越来越多的研究者通过利用带有深度信息的摄像机对手势和指尖点进行研究。深度信息可以很有效的把场景划分为几个区域,并滤除掉一些区域,即使这些区域有一些相同的特征,如:颜色,轮廓,形状等。Kinect是一种结合RGB摄像头和深度摄像头的相机,它能够获取点云来模拟三维数据。这使得在未知的复杂环境中,人类活动和物体识别变得更加容易。三维手部识别和跟踪也得到了广泛的研究,并应用于不同领域,如:活动识别、手势识别、机器人控制、增强现实等。对于三维指尖点检测问题,国内外已经有不少专家学者在这方面做了研究。JahangirnagarUniv.,Dhaka等人利用Kinect的深度图像信息以及基于像素分类的方法进行指尖点检测,并对手势抓取和释放进行识别,平均识别率达到96.96%,但其并未对弯曲指尖点的检测进行研究。MarekVaneo,IvanMinarik等人通过基于Kinect深度信息和骨骼信息相结合,利用K曲率算法检测手指指尖点,平均识别率为93%,但其太依赖于骨骼节点,需要Kinect拍摄到整个人体的骨骼框架才能定位手部,在实际应用中,十分不方便。以上方法都只是处理深度图像信息,并未模拟出三维数据。C.M.Mateo,P.Gil等人通过Kinect的深度、彩色信息合成点云,模拟场景的三维数据,并通过肤色检测方法获取人体肤色区域集合,并随后对每个区域计算凸点,通过凸点的个数判定手部区域,并把凸点的最大轮廓的中心作为掌心点,通过掌心点到凸点的距离来判定指尖点。但是,此方法指尖点的判定太过依赖于掌心点的位置。而本专利技术能够很好地解决上面的问题。
技术实现思路
本专利技术目的在于针对上述现有技术的不足,提出了一种基于三维K曲率的指尖检测方法,该方法主要解决了现有技术中太过于依赖骨骼节点和掌心点位置等问题。该方法以三维点云图像为基础,首先对Kinect获取的点云数据进行滤波,然后基于颜色的区域增长对其分割,得到若干区域,然后用肤色检测的方法获取手部区域的点云数据,然后对手部的点云进行滤波以剔除一些空间离散点,再利用K曲率算法的思想去处理点云数据,即人手指尖点到一定距离的手部点的最大夹角小于一定阈值,然后通过确定一个阈值得到指尖候选点,对其指尖候选点聚类,最终得到指尖点,从而实现指尖点的检测。本专利技术解决其技术问题所采取的技术方案是:本专利技术提出一种基于三维K曲率算法的指尖检测方法,该方法包括如下步骤:S1,通过RGBD摄像装置采集包含人手的三维点云图像该步骤中利用由微软发布的Kinect传感器结合点云库PCL(PointCloudLibrary)和OpenNi获取包含人手的点云数据。S2,对点云图像进行直通滤波剔除部分非手部点云该步骤中利用直通滤波器处理点云图像,对其z值进行直通滤波,过滤掉一些点云数据,保留深度值z在x1到x2之间的点云数据。S3,对滤波后的点云进行颜色区域增长在滤波后的RGBD点云图像进行颜色区域增长,把点云图像基于颜色分割为若干块。S4,肤色检测算法检测并提取手部区域该步骤中在分割后的点云图像中利用肤色检测算法进行手部区域检测并提取。S5,利用三维K曲率算法在人手上检测出指尖点该步骤中基于上一步分割出的手部点云,利用K曲率算法的思想去处理点云数据,即人手指尖点到一定距离的手部点的最大夹角小于一定阈值,然后通过确定一个阈值得到指尖候选点。S6,聚类获取指尖点的个数并判断手势该步骤采用K-means聚类算法处理上一步获取的指尖候选点,得到的聚类中心个数,即为指尖点的个数。进一步地,本专利技术步骤S2包括,通过直通滤波滤除三维点云图像中深度值Z大于2或小于0.5的点云。进一步地,本专利技术所述步骤S3包括,利用区域增长在点云图像中进行基于颜色的分类。进一步地,本专利技术所述步骤S4包括,通过肤色检测算法确定手部属于颜色分类后的哪一类,并提取手部区域。进一步地,本专利技术所述步骤S5包括,通过三维K曲率算法,即人手指尖点到一定距离的手部点的最大夹角小于一定阈值,然后通过确定一个阈值得到指尖点。进一步地,本专利技术所述步骤S6包括,通过三维点云的空间点坐标进行聚类,并根据聚类结果判断指尖点个数。有益效果:1、本专利技术在不同位置,不同背景,不同光照环境下,很好地检测出指尖点。2、本专利技术与实际指尖点的距离误差很小,具有较好的精确性、鲁棒性。3、本专利技术的指尖点检测不依赖于掌心点。附图说明图1为基于三维K曲率算法的指尖检测方法流程图。图2为场景点云图。图3为滤波后场景点云图。图4为颜色区域增长示意图。图5为手部区域图。图6为指尖点检测结果和手姿结果。具体实施方式下面结合说明书附图对本专利技术创造作进一步的详细说明。参照附图来描述本专利技术的各方面,附图中示出了许多说明的实施例。本专利技术的实施例不必定意在包括本专利技术的所有方面。应当理解,本专利技术介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本专利技术所公开的构思和实施例并不限于任何实施方式。另外,本专利技术公开的一些方面可以单独使用,或者与本专利技术公开的其他方面的任何适当组合来使用。图1为根据本专利技术某些实施例的基于三维K曲率算法的指尖识别方法的流程图,具体包括如下步骤:S1,采集手部的点云图像;S2,对点云图像进行滤波;S3,对滤波后的点云进行基于颜色的区域增长分割;S4,利用肤色检测算法在点云图中分割出手部;S5,通过三维K曲率算法检测出指尖候选点;S6,通过K-means算法将指尖候选点聚类为n个指尖点。下面结合附图所示,更加具体地描述前述基于头部姿势识别的智能移动服务机器人控制方法的示例性实现。步骤S1中,用户坐于智能轮椅上,手放于距离Kinect50到100厘米处,采集手部点云图像。其效果如图2所示。步骤S2,对采集到的点云图像进行直通滤波,保留深度值Z大于0.5小于1的点云数据。其滤波效果如图3所示。步骤S3,对滤波后的点云进行基于颜色的区域增长分割,其具体步骤如下所示:S31,选择RGB颜色空间进行颜色相似度区分。S32,确定颜色相似度测量标准,包括以下几个步骤:S321,首先选取欧式距离来表示其颜色距离,通过计算欧式距离来区分不同颜色。S322,假设点云数据中的第i,j个点的颜色量分别为Ci,Cj,则此两点之间的颜色距离为:S323,在基于区域生长的点云分割过程中,由于一个区域的颜色可能会分布不均匀,故一般用整个区域的颜色量,来计算与候选点的颜色相似度。点云数据中的第i个点的颜色量Ci与生长区域的平均颜色量的欧式距离为:其中,S33,根据点云的颜色信息(即RGB)来进行点云分割,包括以下几个步骤:S331,首先,在分割区域中选择任意一点Pi,然后搜索Pi的所有相邻点。S332本文档来自技高网
...
一种基于三维K曲率的指尖检测方法

【技术保护点】
一种基于三维K曲率的指尖检测方法,其特征在于,所述方法包括如下步骤:步骤1:通过RGBD摄像装置采集包含人手的三维点云图像;步骤2:对点云图像进行直通滤波剔除部分非手部点云;步骤3:对滤波后的点云进行颜色区域增长;步骤4:肤色检测算法检测并提取手部区域;步骤5:利用三维K曲率算法在人手上检测出指尖点候选点;步骤6:聚类获取指尖点的个数并得到指尖点。

【技术特征摘要】
1.一种基于三维K曲率的指尖检测方法,其特征在于,所述方法包括如下步骤:步骤1:通过RGBD摄像装置采集包含人手的三维点云图像;步骤2:对点云图像进行直通滤波剔除部分非手部点云;步骤3:对滤波后的点云进行颜色区域增长;步骤4:肤色检测算法检测并提取手部区域;步骤5:利用三维K曲率算法在人手上检测出指尖点候选点;步骤6:聚类获取指尖点的个数并得到指尖点。2.根据权利要求1所述的一种基于三维K曲率的指尖检测方法,其特征在于:所述方法以三维点云图像为基础,首先对Kinect获取的点云数据进行滤波,然后基于颜色的区域增长对其分割,得到若干区域,然后用肤色检测的方法获取手部区域的点云数据,然后对手部的点云进行滤波以剔除一些空间离散点,再利用K曲率算法的思想去处理点云数据,即人手指尖点到一定距离的手部点的最大夹角小于一定阈值,然后通过确定一个阈值得到指尖候选点,对其指尖候选点聚类,最终得到指尖点...

【专利技术属性】
技术研发人员:高翔胡浩敏朱博
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1