人手轮廓识别方法技术

技术编号:15747274 阅读:55 留言:0更新日期:2017-07-03 04:23
本发明专利技术提供一种人手轮廓识别方法,包括如下步骤:利用Kinect彩色摄像头获取三维人手图像,利用景深摄像头获取景深数据;对三维人手图像进行图像增强处理及轮廓检测处理;计算人手掌心坐标;计算人手掌心的景深距离;设定人手轮廓景深距离阈值;计算所述含背景色的人手轮廓内各个像点的景深距离;将景深距离超出所述人手轮廓景深距离阈值范围的像点设置为白色,去除所述三维人手图像的背景色;进行第二次轮廓检测处理,获取人手轮廓。本发明专利技术可以有效去除背景色的干扰,精确地识别手掌轮廓、手指轮廓及掌心坐标;具有景深识别功能,可以识别带有深度的手势,无需使用人体骨骼数据,不用使整个人体出现在摄像头视野内。

Hand contour recognition method

The invention provides a hand contour recognition method, which comprises the following steps: acquiring 3D hand image using Kinect color camera, to obtain depth data by depth camera; the 3D hand image enhancement and edge detection processing; computing palm coordinates; calculation of manpower the palm of the hand contour depth setting depth distance; distance threshold; hand contour calculation containing the background color of each image point depth distance; the distance beyond the depth of the hand contour depth distance threshold range image point set to white, the background color removal of the 3D hand image; second contour detection processing, get the hand contour. The invention can effectively remove the interference of the background color, accurately identify the palm contour, finger and palm contour coordinates; having a depth recognition function, can be identified with the depth of the gesture, without using the human skeleton data, not that the whole body appears in the camera field of view.

【技术实现步骤摘要】
人手轮廓识别方法
本专利技术涉及手势识别领域,特别涉及一种人手轮廓识别方法。
技术介绍
在计算机科学中,手势识别是通过数学算法来识别人类手势的一个议题。手势识别可以来自人的身体各部位的运动,但一般是指人体手部的运动。手势作为一种自然、直观的人机交互手段,在过去二十多年里一直是人机交互技术的一个研究热点。然而基于视觉的手势识别在数据采集时容易受到背景干扰,如面部、颈部的皮肤或颜色与肤色相似的衣物等。这样,在手势识别技术中,最为基本的问题就是,人手的形状及位置的判断,只有能精确识别人手轮廓,才能精确识别人的手势。要求背景颜色和手的颜色有较好的区分度,特别是在背景多变且较为复杂的情况下,这种背景干扰会更加严重。现有技术的手势识别技术主要有两种,一种是应用彩色摄像头结合图像算法来识别手势,其不足之处在于,由于摄像头不是景深摄像头,难以识别带有深度的手势(例如前推,弯曲等),降噪水平较差,难以去除背景干扰,其识别精度比较低;另一种是采用3D体感摄影机Kinect来识别,Kinect自带的SDK软件的优点是在人体骨骼识别方面效果出色,为了保证识别效果,需要将整个人体都出现摄像头覆盖区域内,但是在人手识别方面,依然存在一定背景干扰,其识别精度较低。
技术实现思路
本专利技术的目的在于,提供一种人手轮廓识别方法,有效解决现有手势识别技术中存在的背景颜色干扰严重、手形识别精度比较低的技术问题。为实现上述目的,本专利技术提供一种人手轮廓识别方法,包括:利用至少一Kinect彩色摄像头获取至少一三维人手图像,利用至少一景深摄像头获取至少一景深数据;对所述三维人手图像进行图像增强处理;对所述三维人手图像进行轮廓检测处理,获取至少一含背景色的人手图像,存储含背景色的人手图像的轮廓坐标;根据所述含背景色的人手轮廓坐标计算并存储至少一人手掌心坐标;根据所述人手掌心坐标及所述景深数据计算人手掌心的景深距离;根据预设的人手形状及所述人手掌心的景深距离设定至少一人手轮廓景深距离阈值;利用所述含背景色的人手轮廓及所述景深数据计算所述含背景色的人手轮廓内各个像点的景深距离;将所述含背景色的人手轮廓内各个像点的景深距离与所述人手轮廓景深距离阈值做对比,将景深距离超出所述人手轮廓景深距离阈值范围的像点设置为白色,从而去除所述三维人手图像的背景色;以及对所述三维人手图像进行第二次轮廓检测处理,获取并存储至少一人手轮廓。本专利技术的优点在于,可以有效去除背景色的干扰,精确地识别手掌轮廓、手指轮廓及掌心坐标;具有景深识别功能,可以识别带有深度的手势(例如前推,弯曲等),无需使用人体骨骼数据,不用使整个人体出现在摄像头视野内。附图说明图1所示为本专利技术中人手轮廓识别方法的流程图。具体实施方式以下参考说明书附图介绍本专利技术的优选实施例,用以举例证明本专利技术可以实施,这些实施例可以向本领域中的技术人员完整介绍本专利技术的
技术实现思路
,使得本专利技术的
技术实现思路
更加清楚和便于理解。然而本专利技术可以通过许多不同形式的实施例来得以体现,本专利技术的保护范围并非仅限于文中提到的实施例。如图1所示,本专利技术提供一种人手轮廓识别方法,包括:步骤S1)利用至少一Kinect彩色摄像头获取至少一三维人手图像,利用至少一景深摄像头获取至少一景深数据。Kinect是微软公司设计的一种3D体感摄影机,可以通过USB接口与主机相连接,它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。Kinect比一般的摄像头更为智能,Kinect能够发射红外线,从而对整个房间进行立体定位。Kinect彩色摄像头则可以借助红外线来识别人体的运动,还可以识别出完整的RGB色彩,并借助面部识别技术自动为用户登录。除此之外,配合主机上的一些高端软件,便可以对人体的48个部位进行实时追踪。在Kinect彩色摄像头拍照速度为30帧/秒的情况下,每秒会获取30张三维人手图像,以及相应的30组景深数据。步骤S2)对所述三维人手图像进行图像增强处理,具体包括:直方图修正步骤;颜色调整步骤;分辨率调整步骤,将分辨率调整为512×424;等等。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的。步骤S3)对所述三维人手图像进行轮廓检测处理,获取至少一含背景色的人手图像,存储含背景色的人手图像的轮廓坐标,具体包括如下步骤:步骤S301)定义人的皮肤颜色在YCbCr色度空间上分布范围;步骤S302)计算所述三维人手图像上的每一像点在YCbCr色度空间上的映射数据;步骤S303)在YCbCr色度空间上,将所述映射数据中符合人的皮肤颜色的像点集合定义为人手图像,将所述映射数据中不符合人的皮肤颜色的像点设置为白色;以及步骤S304)定义所述人手图像边缘处的像点集合为所述三维人手图像对应的人手轮廓。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的,例如OpenCV软件。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上。它轻量级而且高效--由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。上述步骤实质上是计算机用OpenCV的cvFindCounters方法找出人手图像的轮廓,由于人的皮肤颜色在YCbCr色度空间的分布范围:100<=Cb<=127,138<=Cr<=170,在此范围内的像素点可以认为是人手部分的图像,其他像素点可以设置为白色,这样可初步去除色差较大的背景色,得到一个比较粗略的人手图像,该人手图像包含一部分背景色,该人手图像中与白色部分相邻的像点即为大概的人手轮廓。步骤S4)根据所述含背景色的人手轮廓坐标计算并存储至少一人手掌心坐标,该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的,例如OpenCV软件。计算机用OpenCV的moments方法可以计算出掌心的位置及掌心点的三维坐标。先通过findContours方法,由前面找到的轮廓参数找到手的面积,用HandArea表示,然后通过moments方法,以HandArea为参数,得出掌心的位置。步骤S5)根据所述人手掌心坐标及所述景深数据计算人手掌心的景深距离,该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的,例如KinectSDK软件,利用KinectSDK软件可以计算人手掌心点的景深距离。步骤S6)根据预设的人手形状及所述人手掌心的景深距离设定至少一人手轮廓景深距离阈值。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的,该阈值就是距离摄像头的距离,通过一个判断语句就可以实现,例如1m~3m,这个范围在0.5m~5m之间根据不同系统不同的需求自己可以设定。事先在计算机数据库中预设人手形状,不同的人手形状对应不同的手势。步骤S7)利用所述含背景色的人手轮廓及所述景深数据计算所述含背景色的人手轮廓内各个像点的景深距离。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的。步骤S8)将所述含背景色的人手轮廓内各个像点的景深距离与所述人手轮廓景深距离阈值做对比,将景深距离超出所述人手轮廓景深距离阈值范围的像点设置为白色,本文档来自技高网
...
人手轮廓识别方法

【技术保护点】
一种人手轮廓识别方法,其特征在于,包括:利用至少一Kinect彩色摄像头获取至少一三维人手图像,利用至少一景深摄像头获取至少一景深数据;对所述三维人手图像进行图像增强处理;对所述三维人手图像进行轮廓检测处理,获取至少一含背景色的人手图像,存储含背景色的人手图像的轮廓坐标;根据所述含背景色的人手图像的轮廓坐标计算并存储至少一人手掌心坐标;根据所述人手掌心坐标及所述景深数据计算人手掌心的景深距离;根据预设的人手形状及所述人手掌心的景深距离设定至少一人手轮廓景深距离阈值;利用所述含背景色的人手轮廓及所述景深数据计算所述含背景色的人手轮廓内各个像点的景深距离;将所述含背景色的人手轮廓内各个像点的景深距离与所述人手轮廓景深距离阈值做对比,将景深距离超出所述人手轮廓景深距离阈值范围的像点设置为白色,从而去除所述三维人手图像的背景色;以及对所述三维人手图像进行第二次轮廓检测处理,获取并存储至少一人手轮廓。

【技术特征摘要】
1.一种人手轮廓识别方法,其特征在于,包括:利用至少一Kinect彩色摄像头获取至少一三维人手图像,利用至少一景深摄像头获取至少一景深数据;对所述三维人手图像进行图像增强处理;对所述三维人手图像进行轮廓检测处理,获取至少一含背景色的人手图像,存储含背景色的人手图像的轮廓坐标;根据所述含背景色的人手图像的轮廓坐标计算并存储至少一人手掌心坐标;根据所述人手掌心坐标及所述景深数据计算人手掌心的景深距离;根据预设的人手形状及所述人手掌心的景深距离设定至少一人手轮廓景深距离阈值;利用所述含背景色的人手轮廓及所述景深数据计算所述含背景色的人手轮廓内各个像点的景深距离;将所述含背景色的人手轮廓内各个像点的景深距离与所述人手轮廓景深距离阈值做对比,将景深距离超出所述人手轮廓景深距离阈值范围的像点设置为白色,从而去除所述三维人手图像的背景色;以及对所述三维人手图像进行第二次轮廓检测处理,获取并存储至少一人手轮廓。2.如权利要求1所述的人手轮廓识别方法,其特征在于,对所述三维人手...

【专利技术属性】
技术研发人员:魏毅刘周王凯
申请(专利权)人:江苏达科智能科技有限公司
类型:发明
国别省市:江苏,32

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

1