基于Kinect深度信息指尖检测及手势识别.docVIP

基于Kinect深度信息指尖检测及手势识别.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Kinect深度信息指尖检测及手势识别

基于Kinect深度信息指尖检测及手势识别   【摘要】 传统二维图像基于肤色的手势识别受背景影响严重,针对这一情况,改进了一种基于Kinect三维深度信息的指尖检测及手势识别算法。在获取深度图像后,利用开源库OpenNI的手势生成器获取手心位置,设定邻近深度阈值提取手部轮廓,同时跟踪手部。结合OpenCV相关函数对图像进行进一步形态学预处理,重置手心后通过道格拉斯-普克算法逼近轮廓,结合凹缺陷特征检测指尖,识别手势。实验结果表明,该方法能在复杂背景下有效的检测指尖和识别手势,具有良好的鲁棒性 【?P键词】 Kinect openNI OpenCV 指尖检测 手势识别 人机交互 引言 在人机交互领域,手势一直是研究的热门对象。传统的手势识别一般都将二维颜色图像中肤色和背景的区别分割出手部。传统的利用肤色进行手部的前景分割,利用人的肤色在YcrCb颜色空间或HSV颜色空间的聚类特性分割手部,但是容易受到光照影响,背景要求较高。本文通过引入Kinect的深度图像改进了一种有效分割手部,检测指尖并识别数字手势的方法。首先利用OpenNI的API获取大概手心位置,根据手心位置深度信息值设定邻近深度阈值分割手部区域,结合opencv库相关函数预处理后,在传统的凸包检测上对轮廓做D-P逼近后,检测凹缺陷特征算法得出指尖数 一、手势分割原理 基于深度信息图像的手势分割和指尖识别包括深度图像采集、手势分割、指尖检测和结果显示。通过打开Kinect的深度数据流获取深度图像,利用邻近阈值分割手部,指尖检测采用基于D-P逼近的凹缺陷检测法,最后显示结果 二、实验过程 2.1系统整体流程 整个系统的流程图如图1所示 2.2深度图像获取 Kinect包括RGB摄像头、红外摄像头和红外发射器组成的深度传感器。Kinect相对普通摄像头的优点就是它的红外传感器可以通过黑白光谱的方式来探测空间内的物体到传感器的距离,生成3D景深图像。本文中利用Kinect的3D深度传感器以30帧/每秒获取图像,实时获取手部动态图像 2.3 OpenNI获取手心位置 OpenNI是一个多语言、跨平台的框架,提供相应的API接口与外接的硬件进行交互。目前OpenNI支持的硬件包括:3D Sensor 、RGB Camera、IR Camera和Audio Device 4类。我们在离Kinect 1m左右的距离内挥动手掌,利用OpenNI中的HandsGenerator类检测并获取手心位置 2.4 手部分割 在检测和追踪到手心的位置后,可根据手心的深度值对深度图像进行分割。在分割前采取中值滤波的方式滤除图像的噪声。中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。中值滤波对边缘信息的保护也非常适合本文对滤波的要求。滤波后再利用opencv库提供的erode()和dilate()对图像进行形态学处理 我们对图像先进行膨胀后腐蚀操作,然后根据公式(1)对手部进行提取 式(1)中,z为手心的深度,T为设定的手掌阈值,本文中设定阈值为5。经过分割的图像如图(2)所示。图(2)中左为未经处理的图,右图为处理过的手部分割图,对比发现处理后轮廓周围噪点明显变少,为进一步轮廓提取打下基础 其中中的p,q表示图像X,Y维空间上的矩,n表示像素个数 重置手心后对轮廓进行D-P逼近。本文采用道格拉斯-普克算法优化凸包。识别效果如图3。图3中表示的数字分别为原图,深度图,手部分割二值图,手部分割图,轮廓图和识别结果 三、实验结果和分析 实验环境:PC端CPU Core i5-4200H,内存8GB,操作系统Windows10 。在Visual studio 2013 环境下,利用openNI开源库结合opencv 2.4.9来进行算法设计。传感器为Kinect for XBOX360.深度图像分辨率为640×480 如图4所示。本文算法可以有效检测1到5个指尖。相对于传统的相机,Kinect所采集的深度信息能通过距离将背景信息去除,只对手部图像进行处理,很好的克服了环境的变化和背景的干扰等因素。本文将本文从实验中随意每个数字取300帧图像,统计检测结果,得到表1数据。统计正确定义为伸出手指数和Result显示结果数相同,否则 错误 四、结论 本文提出了一种基于深度图像的手指分割和手指检测方法。利用openNI找到手,利用深度信息分割手部,结合openCV相关函数对图像进行进一步处理,利用道格拉斯-普克算法优化凸包后,判断出手指数目,且准确率较高。实验结果表明,基于深度图像的方法能够克服相关环境影响,在优化算

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档