一种手势识别的方法

文档序号:6423695阅读:162来源:国知局
专利名称:一种手势识别的方法
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种手势识别的方法。
背景技术
计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务就是 通过对采集的图片或视频进行处理以获得相应场景的三维信息,就像人类和许多其他类生 物每天所做的那样。计算机视觉识别从狭义来说是对一个或多个经过预先定义或学习的物 体或物类进行辨识,通常在辨识过程中还要提供他们的二维位置或三维姿态。计算机视觉在日常生活中应用越来越广,而手势识别是其中很重要的一个环节, 很多应用都是基于手势识别而开发的。在计算机视觉中,物体追踪大多基于直方图,通过对 被追踪物体计算直方图,然后实现追踪。但是这种追踪方法的一个最大弊端就是智能化不 足,必须通过手动先选择被追踪物体,因而在应用上也大打折扣,不能很好进行应用推广。

发明内容
本发明的目的在于提出一种手势识别的方法,改善了运算量和复杂度,提高了运 行的效率。为达此目的,本发明采用以下技术方案一种手势识别的方法,包括以下步骤A、获取手部图像,转成YCrCb空间;B、根据手部图像每个像素点Y值、Cr值和Cb值,确认肤色点;C、去除图像噪声,获得手部目标区域;D、根据手部目标区域,识别手指个数,获取手势;E、根据手势的变化,确认手势信息。步骤B中,像素点Y值、Cr值和Cb值满足以下公式,则确认是肤色点0 彡 Y 彡 255,133 ^ Cr ^ 173,77 ^ Cb ^ 127。如果像素点是肤色点,则将所述像素点的值设为OxfT,否则设为0x00。步骤C进一步包括以下步骤对图像进行图像金字塔处理和形态学操作;对图像进行平滑处理和阈值化处理,获得手部目标区域。步骤D进一步包括以下步骤D1、通过手部轮廓,计算凸包与凸缺陷,得到指尖与手指根部的像素坐标;D2、设定指尖坐标为(Xl,yi),手指根部坐标为(X2,y2),求得两点距离为L, L= ^(X2-X1)2 +(y2 -Y1)2 ;D3、整个手部的高度为H,手指与手部水平方向的轴线夹角为θ ;D4、根据指尖与手指根部连点距离L、整个手部的高度H和夹角θ,判断所述轮廓 是否为手指部分;
D5、重复上述步骤,计算整个手部轮廓中的手指个数。步骤D4进一步包括以下步骤D41、从手部轮廓的指尖与手指根部之间取一组坐标点;D42、判断指尖与手指根部连点距离L是否小于整个手部的高度H和0. 33的乘积, 如果是,则转至步骤D43,如果否,则返回步骤D41 ;D43、判断手指与手部水平方向的轴线夹角θ是否大于30度,如果是,则确认是手 指部分,如果否,则转至步骤D41。步骤E中,手指数量的不同代表不同的手势,不同手势代表不同的手势信息。采用了本发明的技术方案,可以通过肤色的识别从而直接找到追踪目标,扩展了 易用性和应用范围,改善了运算量和复杂度,提高了运行的效率。


图1是本发明具体实施方式
中手势识别的流程图。图2是本发明具体实施方式
中判断手指的示意图。
具体实施例方式下面结合附图并通过具体实施方式
来进一步说明本发明的技术方案。图1是本发明具体实施方式
中手势识别的流程图。如图1所示,该手势识别的流 程包括以下步骤步骤101、获取手部图像,转成YCrCb空间。在计算机视觉中肤色的查找有很多种方法,其中基于HSV与YCrCb颜色空间的查 找效果比较好。因为这两种颜色空间受环境亮度的影响是最小的,所以可以比较稳定地在 室内室外环境中查找到肤色区域。经过试验,YCrCb颜色空间比HSV颜色空间更能清晰地 分辨肤色区域。故本具体实施方式
采取YCrCb颜色空间来进行皮肤的检测。YCrCb即YUV,主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。 与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视 频信号同时传输)。其中“Y”表示亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素 的颜色。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。 “色度”则定义了颜色的两个方面-色调与饱和度,分别用Cr和Cb来表示。其中,Cr反映 了 RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝 色部分与RGB信号亮度值之同的差异。采用YUV色彩空间的重要性是它的亮度信号Y和色 度信号U、V是分离的。如果只有Y信号分量而没有U、V分量,那么这样表示的图像就是黑 白灰度图像。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机 的兼容问题,使黑白电视机也能接收彩色电视信号。YUV与RGB相互转换的公式如下(RGB取值范围均为0_255)Y = O. 299R+0. 587G+0. 114BU = -0. 147R-0. 289G+0. 436BV = O. 615R-0. 515G-0. 100B
或者R = Y+1. 14VG = Y-0. 39U-0. 58VB = Y+2. 03U在肤色检测中常常用到YCrCb颜色空间,是因为一般的图像都是基于RGB空间的, 在RGB空间里肤色受亮度影响相当大,所以肤色点很难从非肤色点中分离出来,也就是说 在RGB空间经过处理后,肤色点是离散的点,中间嵌有很多非肤色,这为肤色区域标定(人 脸、人手等)带来了难题。如果把RGB转为YCrCb空间的话,可以忽略Y值(亮度)的影响,因为该空间受亮 度影响很小,肤色会产生很好的类聚。这样就把三维的空间将为二维的CrCb,肤色点会形成 一定的形状,如人脸的话会看到一个人脸的区域,手臂的话会看到一条手臂的形态,对处 理模式识别很有好处。步骤102、根据手部图像每个像素点Y值、Cr值和Cb值,确认肤色点。YCrCb颜色分量中各分量根据不同肤色取值也有所差别,经过试验某一个像素点 的Cr值Cb值满足范围133 ^Cr ^ 173,77 ^ Cb ^ 127,那么该像素点被认为是肤色点, 其他的就为非肤色点。设定CrCb的取值范围后,通过检查图像中像素的灰度是否属于设定 的范围,如果像素点的值在设置值范围内(0<Y< 255,133<Cr<173,77<Cb<127), 则将此像素点的值设为Oxff,否则设为0x00。步骤103、去除图像噪声,获得手部目标区域。对图像进行图像金字塔处理和形态 学操作;对图像进行平滑处理和阈值化处理,获得手部目标区域。通过YCrCb颜色空间找到目标区域后。下一步进行的操作就是将目标更明显的显 示出来。经过肤色分辨处理后的图片是一幅8位单通道的图像,此时的图像除了需要的目 标区域外,还有很多经过颜色分量处理后留下来的点,称之为图像噪声。处理图像噪声一般的方法是先进行平滑处理,阈值化,再进行一些形态学的操作。 本具体实施方式
中,对图像进行图像金字塔处理和形态学操作后,再进行平滑处理和阈值 化处理。步骤104、根据手部目标区域,识别手指个数,获取手势。经过以上步骤操作后,可以得到一个轮廓比较分明的手部图像,接下来需要进行 的操作是对手的各种手势进行判断。手部的识别有很多种方法,比较常用的是通过机器学 习,分析记录大量的手部特征,然后再进行识别。这种方法的优点是对手势的判断比较准 确。但这种方法也有一个弊端,就是必须采集足够多的手部姿态样品,而且由于不同人的手 部由于大小或者其他一些原因也不尽相同,所以在通用性和运行效率上都有一定的限制。 本具体实施方式
通过另外一个方法,即通过对手指个数进行识别,最终达到手势识别的效 果。这种创新的识别手势的方法,相比一般的通过机器学习方法进行的手势识别在运算量 和复杂度都有了很大改善。手指的特点是各个手指高低不一,而且一个手指到另外一个手指必须经过从手指 顶部即指尖到手指根部这样类似从山峰到山谷的过程。所以查找手指的关键点就是找出 “山峰”和“山谷”,即手指尖与手指根部。
通过前面说到的一些预处理已经确定了手部区域,接着对该区域进行轮廓检测, 由于手部在图像区域中占据比较大的面积,所以即使在查找轮廓过程中发现其他一些干扰 的轮廓,也可以比较容易的排除掉。下面介绍如何计算手指的方法。通过手部轮廓,计算其凸包与凸缺陷。可以得到 指尖与手指根部的像素坐标。设定指尖坐标为(XI,yl),手指根部坐标为(x2,y2),求得两
点距离为Ul=^X2-X1J2+(Y2-Y1)2。整个手部的高度为H。手指与手部水平方向的轴线夹 角为θ。对L与H,以及夹角θ的判断,可以判断该轮廓为手指部分。图2是本发明具体实 施方式中判断手指的示意图。如图2所示,首先从手部轮廓的指尖与手指根部之间取一组 坐标点,通过遍历这条轮廓线上所有的点,判断相邻几个点组成的直线的斜率变化的幅度 可以确定出轮廓中的凸点和凹点,取点的原理是,轮廓线上相邻点各自组成直线,每条直线 都有自己的斜率,当斜率发生突变时,即表示一个凸点或凹点出现。判断指尖与手指根部连点距离L是否小于整个手部的高度H和0. 33的乘积,如果 不小于,则再取一组坐标点判断。如果小于,再判断手指与手部水平方向的轴线夹角θ是否大于30度,如果大于30 度,则确认是手指部分,如果不大于30度,则再取一组坐标点判断。 以此类推则可以计算整个轮廓中的手指个数。步骤105、根据手势的变化,确认手势信息。手指数量的不同代表不同的手势,不同 手势代表不同的手势信息。通过手指个数的识别可以做出多种不同的判断。握紧拳头的时候,手指个数为零; 当张开手掌同时五指张开的时候,手指个数为五。手指个数可以从零到五,可以发出至少五 种不同指令。对于一些比较简单的交换应用是已经足够了的。例如根据本具体实施方式
提 到的手势识别与跟踪方法开发的一个手势浏览图片的人机交互程序,手部的运动控制图片 移动的方向(从左到右或从右到左)。当判断手指个数从零变为五时,即从握紧拳头到张开 五指的过程,发出“确定”指令,从图片列表浏览模式进入到单图浏览模式;当判断手指个数 从五变为零时,即从张开五指到握紧拳头的过程,发出“退出”指令,此时从单图浏览模式退 出到图片列表浏览模式。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖 在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种手势识别的方法,其特征在于,包括以下步骤A、获取手部图像,转成YCrCb空间;B、根据手部图像每个像素点Y值、Cr值和Cb值,确认肤色点;C、去除图像噪声,获得手部目标区域;D、根据手部目标区域,识别手指个数,获取手势;E、根据手势的变化,确认手势信息。
2.根据权利要求1所述的一种手势识别的方法,其特征在于,步骤B中,像素点Y值、 Cr值和Cb值满足以下公式,则确认是肤色点0 彡 Y 彡 255,133 ^ Cr ^ 173,77 ^ Cb ^ 127。
3.根据权利要求2所述的一种手势识别的方法,其特征在于,如果像素点是肤色点,则 将所述像素点的值设为Oxff,否则设为0x00。
4.根据权利要求1所述的一种手势识别的方法,其特征在于,步骤C进一步包括以下步骤对图像进行图像金字塔处理和形态学操作; 对图像进行平滑处理和阈值化处理,获得手部目标区域。
5.根据权利要求1所述的一种手势识别的方法,其特征在于,步骤D进一步包括以下步骤D1、通过手部轮廓,计算凸包与凸缺陷,得到指尖与手指根部的像素坐标; D2、设定指尖坐标为(Xl,yi),手指根部坐标为U2,y2),求得两点距离为L, L= ^(X2-X1)2 +(y2 -Y1)2 ;D3、获取整个手部的高度为H,手指与手部水平方向的轴线夹角为θ ; D4、根据指尖与手指根部连点距离L、整个手部的高度H和夹角θ,判断所述轮廓是否 为手指部分;D5、重复上述步骤,计算整个手部轮廓中的手指个数。
6.根据权利要求5所述的一种手势识别的方法,其特征在于,步骤D4进一步包括以下 步骤D41、从手部轮廓的指尖与手指根部之间取一组坐标点;D42、判断指尖与手指根部连点距离L是否小于整个手部的高度H和0. 33的乘积,如果 是,则转至步骤D43,如果否,则返回步骤D41 ;D43、判断手指与手部水平方向的轴线夹角θ是否大于30度,如果是,则确认是手指部 分,如果否,则转至步骤D41。
7.根据权利要求6所述的一种手势识别的方法,其特征在于,步骤E中,手指数量的不 同代表不同的手势,不同手势代表不同的手势信息。
全文摘要
本发明公开了一种手势识别的方法,获取手部图像,转成YCrCb空间,根据手部图像每个像素点Y值、Cr值和Cb值,确认肤色点,去除图像噪声,获得手部目标区域,根据手部目标区域,识别手指个数,获取手势,根据手势的变化,确认手势信息。采用了本发明的技术方案,可以通过肤色的识别从而直接找到追踪目标,扩展了易用性和应用范围,改善了运算量和复杂度,提高了运行的效率。
文档编号G06K9/00GK102142084SQ20111011719
公开日2011年8月3日 申请日期2011年5月6日 优先权日2011年5月6日
发明者黎锋 申请人:北京网尚数字电影院线有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1