一种手指数量识别方法技术

技术编号:16547278 阅读:209 留言:0更新日期:2017-11-11 11:59
本发明专利技术公开了一种手指数量识别方法,利用移动设备拍摄到的手部图像,经过实验对比,选择YCrCb空间加入亮度补偿的椭圆肤色模型进行肤色区域的提取,获取手部二值图像,查找二值图像中的最大轮廓,舍弃小区域肤色图,得到手部最大轮廓。改进现有Hu矩计算整个手掌重心的做法,采用欧氏距离变换算法来计算手部轮廓中手掌重心坐标以及手掌半径。以手掌重心为圆心,1.6~2倍手掌半径画圆,这个圆与手指和手臂的图像相交,得到多段圆弧(简称切弧),对这些切弧提出三个约束条件,即切弧拟合圆的半径与手掌半径之间的比例关系、切弧拟合圆的圆心与手掌重心之间的位置关系、切弧与手掌重心之间的夹角关系,来准确地辨别图像中的手指数量。

A finger number recognition method

The invention discloses a finger number recognition method, hand images captured by mobile devices, by comparison, select the ellipse model YCrCb space added brightness compensation was extracted from the skin region to obtain hand two value image, find the maximum value of two in the silhouette, abandon the small area skin color map, maximum get the hand contour. The method of Euclidean distance transformation is used to calculate the center of gravity of palm and the radius of palm in the hand contour by improving the existing Hu moment to calculate the gravity center of the whole palm. The palm center as the center, 1.6 to 2 times the radius of the palm of your hand and draw a circle, the circle with finger and arm image intersection, get multi section arc (the arc), put forward three constraints on the arc, angle cutting between the radius and the radius of the palm of your hand arc circle fitting ratio, cutting position the relationship between arc fitting circle and the center of gravity of the arc between palm and palm center, to accurately identify the number of images in the fingers.

【技术实现步骤摘要】
一种手指数量识别方法
本专利技术涉及机器视觉领域,特别是一种手指数量识别方法。
技术介绍
现行的手指数量识别大都是基于PC平台,采用画圆法,求该圆与手指相交的圆弧段数来作为手指个数。但在实际测试过程中,多数研究者未考虑手臂区域的干扰,或者人为做了遮挡处理,即穿着深色长袖衣物或佩戴相关设备,以确保图像中只有手部区域,这种方案一定程度上降低了手指检测的难度,也有效提高了识别的正确率,其弊端是识别时需要用户有意避免手臂的干扰。还有一些手部倾斜着进入视图区域的特殊情况,容易产生伪手指圆弧段,导致算法得到错误的识别结果。
技术实现思路
本专利技术所要解决的技术问题是,针对现有技术不足,提供一种手指数量识别方法。与现有技术相比,本专利技术所具有的有益效果为:引入3个约束条件,能避免手臂区域的干扰,去掉特殊情况下的伪手指,且算法的时间复杂度和空间复杂度都比较低,适合于移动平台硬件资源相对欠缺的情况。附图说明图1(a)、图1(b)、图1(c)、图1(d)为普通光照实时检测效果,其中,图1(a)原始图像;图1(b)RGB模型;图1(c)YCrCb模型;图1(d)加入亮度补偿的椭圆模型;图2(a)、图2(b)、图2(c)、图2(d)为强光环境实时检测效果,其中,图2(a)原始图像;图2(b)RGB模型;图2(c)YCrCb模型;图2(d)加入亮度补偿的椭圆模型;图3(a)、图3(b)、图3(c)、图3(d)为昏暗环境实时检测效果,其中,图3(a)原始图像;图3(b)RGB模型;图3(c)YCrCb模型;图3(d)加入亮度补偿的椭圆模型;图4(a)~图4(e)为提取手部轮廓,其中,图4(a)原图像;图4(b)二值图像;图4(c)所有轮廓;图4(d)最大轮廓;图4(e)最大轮廓填充图;图5手部二值图像;图6距离灰度图像;图7(a)~图7(i)不同灰度阈值下的二值化效果,分别对应阈值ξ=70、100、140、150、180、210、230、240、250;图8(a)~图8(d)为距离变换法提取手部重心及手掌半径,图8(a)拳型,图8(b)单手指,图8(c)双手指,图8(d)多手指;图9(a)含完整手腕切弧;图9(b)无手腕切弧;图9(c)、图9(d)手腕切弧小于1/3R且手腕切弧的拟合圆心坐标低于手掌重心坐标的0.7R;图9(e)、图9(f)手指与手腕切弧均小于1/3R且它们的切弧拟合圆心坐标低于手掌重心坐标的0.7R;图9(g)手腕切弧分割为两部分且切弧拟合圆心坐标低于手掌重心坐标的0.7R;图10改进的画圆法识别手指数量的算法流程;图11(a)~图16(a)为有1个伪手指的特殊情况下0~5个手指的图像;图11(b)~图16(b)为有1个伪手指的特殊情况下0~5个手指的切弧;图11(c)~图16(c)为有1个伪手指的特殊情况下0~5个手指的画圆法识别效果;图11(d)~图16(d)为有1个伪手指的特殊情况下0~5个手指的改进画圆法后的本专利技术识别效果。图17(a)~图22(a)为有2个伪手指的特殊情况下0~5个手指的图像;图17(b)~图22(b)为有2个伪手指的特殊情况下0~5个手指的切弧;图17(c)~图22(c)为有2个伪手指的特殊情况下0~5个手指的画圆法识别效果;图17(d)~图22(d)为有2个伪手指的特殊情况下0~5个手指的改进画圆法后的本专利技术识别效果。具体实施方式本专利技术实现过程如图10所示:第一步,利用移动设备(如手机)拍摄到带有的图像,经过YCrCb空间加入亮度补偿的椭圆肤色模型进行肤色区域的提取,获取二值图像,查找二值图像中的最大轮廓,舍弃小区域肤色图,得到最大轮廓。第二步,改进现有Hu矩(几何不变矩)计算整个手掌重心的做法,采用欧氏距离变换算法来计算手掌重心点,并通过实验,确定灰度阈值ξ为150-230时,能够较好的消除噪声影响。第三步,以手掌重心为圆心,1.8倍R为半径画圆(R为手掌半径),能够很好地与各伸出手指相交,得到多段圆弧(简称切弧),利用OpenCV的findContours()函数检测图像中切弧数目,并去除手臂切弧的干扰来确定手指数量。根据人手的生物特征,把手指并拢,四个手指的宽度基本等于手掌的宽度(即手掌内切圆的直径),所以手指切弧的长度应该要大于手掌半径的1/4;大拇指虽然比其他4个手指要宽,但是也小于手掌半径的1/3。所以各手指的切弧长度应该在手掌内切圆半径的1/3~1/4之间,以此作为手指识别的判断条件之一。设手指数量的初值为S=切弧数K,伪手指数量的初值count=0,各切弧的最小拟合圆形为Pi,圆心坐标为ci,半径为ri;且已知手掌半径R,重心坐标C,对手部图像中的每段切弧Fi:1)若ri/R>1/3,如图9(a)中最长的那条弧,是手臂而不是手指,则进行下一段弧的判断;2)若1/4<ri/R<1/3,则这段弧可能是手指,在一些手指倾斜的特殊手部视图中也可能是伪手指,需判断第2个约束条件,即比较ci与C的位置关系,若该圆弧圆心的Y轴坐标低于手掌重心0.7R,则该圆弧为伪手指,令count=count+1,并标记这段切弧;对所有切弧进行步骤1)和步骤2)的操作后,若count=0,如图9(b)是比较正常的手部图像,圆弧段数就是手指数量;若count=1,如图9(c)、图9(d),是手指倾斜的特殊手部视图,有手腕产生的伪手指,则手指数量为圆弧总数减去count;若count=2,则有手臂的干扰,要判断第3个约束条件,即计算两个切弧与手掌重心C之间的夹角θ,根据经验取值,当θ<65°时,则判定被标记的两段切弧均为伪手指,手指数量为切弧总数K减去count,如图9(g),否则,其中一个为伪手指,手指数量为切弧总数K减去1,如图9(e)、图9(f)。上述各个步骤的具体实现原理如下:1、获取最大轮廓利用人的肤色与背景颜色的不同来获取最大轮廓,肤色检测方法有很多,考虑到实际使用过程中,会有各种光照环境,而光照不同对肤色的影响比较大,直接使用RGB模型会产生较大误差。为此,本专利技术采用改进的基于Y(代表亮度)Cr(代表红色色度)Cb(代表蓝色色度)空间的加入亮度补偿的椭圆肤色检测模型。具体步骤如下:首先,利用式(1)将摄像头获取的RGB图像转换至YCrCb空间,利用式(2)、式(3)、式(4)将YCrCb非线性变换至色彩空间YCr’Cb’。其中,Cr(Y)、Cb(Y)表示将YCrCb颜色空间中色度分量Cr、Cb记作亮度Y的函数;同样,表示经非线性变换后的空间色度分量函数。式(2)中,Kl、Kh为常数,表示非线性色彩变换函数的分段阈值,分别取值:Kl=125,Kh=188;Ymin、Ymax表示肤色聚类区域中亮度Y的边界值,根据实验数据获得,分别取值:Ymin=16,Ymax=235。式(3)中,WCi(Y)表示在CrCb空间中肤色区域的宽度;其WCi、WLCi和WHCi分别为:WCr=38.76,WCb=46.97,WLCr=20,WLCb=23,WHCr=10,WHCb=14,均由实验数据获得。式(4)表示YCr’Cb’与之间的非线性色彩变换函数,其变换时色度分量Ci’由Kl和Kh决定。经非线性变换后,色彩空间YCr’Cb’对亮和暗的肤色区域检测具有较强的鲁棒性,而且,根据H本文档来自技高网...
一种手指数量识别方法

【技术保护点】
一种手指数量识别方法,其特征在于,包括以下步骤:1)获取手部图像的RGB图像,将RGB图像转换至YCrCb空间,然后根据Hsu等人提出的加入亮度补偿的椭圆肤色模型,将YCrCb空间的图像非线性变换至颜色空间YCr’Cb’,并根据人的肤色范围建立椭圆肤色模型;2)利用上述椭圆肤色模型遍历RGB图像中所有像素,若像素坐标(Cr’,Cb’)在椭圆内部,则判定该像素点(Cr’,Cb’)为肤色点,否则(Cr’,Cb’)为非肤色点,得到肤色图像;3)将肤色图像转换为二值图像,提取其外围轮廓,并进行填充得到手部区域的二值图像;4)将所述二值图像经过欧式距离变换,得到距离灰度图;5)利用所述距离灰度图,计算手掌重心坐标以及手掌半径;6)以手掌重心为圆心,1.6~2倍手掌半径R画圆,这个圆与手指和手臂的图像相交,得到多段圆弧,即切弧,对这些切弧提出三个约束条件,即切弧拟合圆的半径与手掌半径之间的比例关系、切弧拟合圆的圆心坐标与与手掌重心坐标之间的位置关系、切弧与手掌重心之间的夹角关系,并利用所述约束条件辨别图像中的手指数量。

【技术特征摘要】
1.一种手指数量识别方法,其特征在于,包括以下步骤:1)获取手部图像的RGB图像,将RGB图像转换至YCrCb空间,然后根据Hsu等人提出的加入亮度补偿的椭圆肤色模型,将YCrCb空间的图像非线性变换至颜色空间YCr’Cb’,并根据人的肤色范围建立椭圆肤色模型;2)利用上述椭圆肤色模型遍历RGB图像中所有像素,若像素坐标(Cr’,Cb’)在椭圆内部,则判定该像素点(Cr’,Cb’)为肤色点,否则(Cr’,Cb’)为非肤色点,得到肤色图像;3)将肤色图像转换为二值图像,提取其外围轮廓,并进行填充得到手部区域的二值图像;4)将所述二值图像经过欧式距离变换,得到距离灰度图;5)利用所述距离灰度图,计算手掌重心坐标以及手掌半径;6)以手掌重心为圆心,1.6~2倍手掌半径R画圆,这个圆与手指和手臂的图像相交,得到多段圆弧,即切弧,对这些切弧提出三个约束条件,即切弧拟合圆的半径与手掌半径之间的比例关系、切弧拟合圆的圆心坐标与与手掌重心坐标之间的位置关系、切弧与手掌重心之间的夹角关系,并利用所述约束条件辨别图像中的手指数量。2.根据权利要求1所述的手指数量识别方法,其特征在于,步骤1)中,利用下式将RGB图像转换至YCrCb空间:其中,R——红色值;G——绿色值;B——蓝色值;Y——亮度;Cb——蓝色分量值;Cr——红色分量值。3.根据权利要求2所述的手指数量识别方法,其特征在于,椭圆肤色模型表达式如下:其中,Cr’、Cb’——色彩空间转换后的红色分量值和蓝色分量值;Cx、Cy——色彩空间YCr’Cb’的Cr’Cb’平面上的椭圆中心;a、...

【专利技术属性】
技术研发人员:黄敏孙艺华
申请(专利权)人:长沙理工大学
类型:发明
国别省市:湖南,43

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

1