CN107341439B - 一种手指数量识别方法 - Google Patents
一种手指数量识别方法 Download PDFInfo
- Publication number
- CN107341439B CN107341439B CN201710164117.7A CN201710164117A CN107341439B CN 107341439 B CN107341439 B CN 107341439B CN 201710164117 A CN201710164117 A CN 201710164117A CN 107341439 B CN107341439 B CN 107341439B
- Authority
- CN
- China
- Prior art keywords
- palm
- center
- image
- fingers
- circle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000005484 gravity Effects 0.000 claims abstract description 38
- 230000009466 transformation Effects 0.000 claims abstract description 14
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 22
- 210000003811 finger Anatomy 0.000 description 107
- 230000000694 effects Effects 0.000 description 13
- 238000001514 detection method Methods 0.000 description 10
- 238000005286 illumination Methods 0.000 description 10
- 210000000707 wrist Anatomy 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/11—Hand-related biometrics; Hand pose recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/117—Biometrics derived from hands
Abstract
本发明公开了一种手指数量识别方法,利用移动设备拍摄到的手部图像,经过实验对比,选择YCrCb空间加入亮度补偿的椭圆肤色模型进行肤色区域的提取,获取手部二值图像,查找二值图像中的最大轮廓,舍弃小区域肤色图,得到手部最大轮廓。改进现有Hu矩计算整个手掌重心的做法,采用欧氏距离变换算法来计算手部轮廓中手掌重心坐标以及手掌半径。以手掌重心为圆心,1.6~2倍手掌半径画圆,这个圆与手指和手臂的图像相交,得到多段圆弧(简称切弧),对这些切弧提出三个约束条件,即切弧拟合圆的半径与手掌半径之间的比例关系、切弧拟合圆的圆心与手掌重心之间的位置关系、切弧与手掌重心之间的夹角关系,来准确地辨别图像中的手指数量。
Description
技术领域
本发明涉及机器视觉领域,特别是一种手指数量识别方法。
背景技术
现行的手指数量识别大都是基于PC平台,采用画圆法,求该圆与手指相交的圆弧段数来作为手指个数。但在实际测试过程中,多数研究者未考虑手臂区域的干扰,或者人为做了遮挡处理,即穿着深色长袖衣物或佩戴相关设备,以确保图像中只有手部区域,这种方案一定程度上降低了手指检测的难度,也有效提高了识别的正确率,其弊端是识别时需要用户有意避免手臂的干扰。还有一些手部倾斜着进入视图区域的特殊情况,容易产生伪手指圆弧段,导致算法得到错误的识别结果。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种手指数量识别方法。
为解决上述技术问题,本发明所采用的技术方案是:一种手指数量识别方法,包括以下步骤:
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)中,利用下式将RGB图像转换至YCrCb空间:
其中,R——红色值;G——绿色值;B——蓝色值;Y——亮度;Cb——蓝色分量值;Cr——红色分量值。
椭圆肤色模型表达式如下:
其中,Cr’、Cb’——色彩空间转换后的红色分量值和蓝色分量值;Cx、Cy——色彩空间YCr’Cb’的Cr’Cb’平面上的椭圆中心;a、b——椭圆的长、短半轴;θ——椭圆在平面内的倾斜角度。
步骤3)中,a=25.39,b=14.03,cx=1.60,cy=2.41,θ=2.53,Cx=109.38,Cy=152.02。
所述距离灰度图的最佳灰度阈值ξ为150~230。
手掌重心坐标C(k,l)的计算公式为:
利用OpenCV的findContours()函数检测图像中切弧数目,并去除手臂切弧的干扰来确定手指数量。
手指数量确定的具体过程包括:设手指数量的初值为S=切弧数K,伪手指数量的初值count=0;各切弧的最小拟合圆形为Pi,圆心坐标为ci,半径为ri;且已知手掌重心坐标为C,对手部图像中的每一段切弧Pi进行以下操作:
1)若ri/R>1/3,则该切弧是手臂而不是手指,进入下一段切弧;
2)若1/4<ri/R<1/3,则比较ci与C的位置关系,若该段切弧圆心的Y轴坐标低于手掌重心坐标的0.7R倍,则count=count+1,并标记这段切弧;
3)对所有切弧进行步骤1)和步骤2)的操作后,若count=0,则手指数量就是圆弧数K;若count=1,则手指数量为切弧段总数K减去count;若count=2,则计算两个切弧与手掌重心C之间的夹角θ,当θ<65°时,则判定被标记的两段切弧均为伪手指,手指数量为圆弧总数K减去count,否则,其中一个为伪手指,手指数量为切弧总数K减去1。
与现有技术相比,本发明所具有的有益效果为:引入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’对亮和暗的肤色区域检测具有较强的鲁棒性,而且,根据Hsu的研究结果可知,Cr’Cb’子空间中的肤色区域可以近似用椭圆肤色模型描述,如式(5)、式(6)所示。
其中,Cx、Cy表示Cr’Cb’平面上的椭圆中心,a、b为椭圆的长、短半轴,θ表示椭圆在平面内的倾斜角度。根据Hsu等人的实验数据可知:a=25.39,b=14.03,cx=1.60,cy=2.41,θ=2.53(弧度),Cx=109.38,Cy=152.02,以上各值均由Cr’Cb’空间的肤色区域计算得到。
经过YCr’Cb’颜色空间的转换后,就可以利用所建立的椭圆模型对图像中的肤色区域进行检测判定,即遍历图像中所有像素,若像素坐标(Cr’,Cb’)在椭圆内部(含边界),则判定其为肤色点,否则为非肤色点。
最后借助OpenCV提供的轮廓查找函数findContours(),提取出肤色图像中区域的外围轮廓。并根据人的肤色范围值Y-(20,255),Cr-(132,174),Cb-(40,130)将区域轮廓图转换为二值图像。
针对上述常用肤色模型检测方法进行实验效果对比,以验证本文所选算法——基于亮度补偿的椭圆肤色检测模型的优越性。其实验环境分为:①普通(正常)光照环境;②强光环境;③昏暗环境三种情况,各模型算法的肤色检测效果如图1(a)、图1(b)、图1(c)、图1(d)、图2(a)、图2(b)、图2(c)、图2(d)、图3(a)、图3(b)、图3(c)、图3(d)所示。
由上述3种不同环境下的实验结果可知,RGB肤色模型检测算法受光照强度影响较大;YCrCb肤色算法与改进的加入亮度补偿的椭圆肤色模型算法相比也有较为明显的差异,即改进的加入亮度补偿的椭圆肤色模型算法在不同光照条件下的检测效果更加稳定,能够有效去除由光照产生的阴影区域。综上所述,采用基于YCrCb空间的加入亮度补偿的椭圆模型进行图像肤色区域的检测,能去除不同光照对肤色区域提取的影响。
经过肤色提取后,将该图像转换为二值图像,去除噪声,得到较为纯净的轮廓,并对轮廓内部进行填充,如图4(a)~图4(e)所示。
2、获取手掌重心
获得了较为纯净的轮廓及其对应的二值图像后,要分析提取手掌重心,为手指数量识别做准备。通常的做法是借助Hu矩(几何不变矩)计算整个手部的重心,并近似作为手掌重心,但该方法只适用于拳型或者只有单手指伸出的情况,且无手臂等的干扰,倘若有多个手指伸出或者手臂的干扰,所计算得到的手掌重心将严重偏离实际位置。为此本发明采用基于距离变换的手掌重心提取算法,该算法能够有效避免相关噪声的影响,较为精确的提取手掌重心。
所谓距离变换就是二值图像中非零像素点到最近的零像素点的距离,其距离值表示为对应灰度图像中像素的灰度值。距离的具体计算方法有两大类:非欧氏距离和欧氏距离。非欧氏距离的计算复杂度虽然较低,但精度不高,为此,本发明采用欧氏距离变换算法。
欧氏距离的公式化定义:设二维平面中有两点p(x,y),q(s,t),则两点间的欧氏距离可表示为式(7):
欧氏距离变换的公式表示:设一副M×N的二值图像A,其对应的二维数组P[M,N]=[pxy],pxy表示坐标为(x,y)的像素点,令pxy=0表示图像的背景点,pxy=1表示图像的前景点,即目标点,则有B={(x,y)|pxy=0},F={(i,j)|pij=1},B、F分别表示图像的背景、前景像素集合,计算A的欧氏距离变换等价于求解集合F中所有像素(i,j)到集合B中像素的最短欧氏距离,即
Dij=min{Dist[(i,j),(x,y)],(x,y)∈B} (8)
式(8)中Dist[(i,j),(x,y)]=[(i-x)2+(j-y)2]1/2。二值图像(图5)经过欧氏距离变换后,得到其距离灰度图,如图6所示。
接下来,利用得到的距离灰度图像来完成手掌重心坐标的计算。根据人体形态特征可知,通常情况下,手掌区域的宽度要大于手臂(手腕)的宽度,而且,通过观察图6也可以清晰地发现,距离手部骨架越远亮度越暗,其像素灰度值越小,因此,为了得到更精确的手掌重心坐标,必须消除手掌重心坐标计算过程中手指和手臂的影响,所以通过实验确定最佳灰度阈值ξ,如图7(a)~图7(i)所示。
阈值ξ为150-230时,能够较好的消除噪声影响,且如图7(a)~图7(i)所示,当阈值ξ>230时,肤色区域面积过小,为重心坐标的提取会带来一定的误差。进一步,根据得到的距离二值图像,计算手掌重心坐标,即
式(9)中,I(i,j)表示图像像素坐标,m、n表示图像的宽高,通过遍历图像中各像素点,进行累加求均值,即可得到手掌重心坐标C(k,l)。在此,为简化重心计算的复杂度,借助OpenCV的基本函数minMaxLoc(),将上文获取的距离图像作为输入参数,获取图像矩阵中的最大距离值D,以及该值对应的图像像素坐标C,由欧氏距离变换定义可知,该最大距离值D就是手掌最大内切圆的半径,坐标C是手掌内切圆的圆心,即手掌重心坐标Hc=C,手掌半径Hr=D。图8(a)~图8(d)为各种图像(均含手臂)中,采用距离变换算法所提取的手掌重心及半径。图8(a)~图8(d)中圆点表示手掌重心,圆圈表示最大内切圆,直线段表示半径,闭合曲线表示所提取的最大肤色连通域的轮廓。由图8(a)~图8(d)可以看出,利用欧氏距离变换算法能够准确地提取手掌重心位置,而不受手指和手臂区域的影响。
3、手指数量识别
手指作为一种重要的交互方式,本发明设计了对六种手指数量(0-5)的识别,下面着重讲解其识别算法的设计与实现。
目前,对图像的研究中,已有多种较为成熟的手指数量检测算法,综合考虑算法复杂度、时效性和准确性等因素,检测结果较为理想的算法是画圆法,利用手掌重心为圆心、1.6~2倍手掌半径画圆,求手指与该圆相交的圆弧(简称切弧)个数来识别手指数量。但在实际测试过程中,多数研究者未考虑手臂区域的干扰,或者人为做了遮挡处理,即穿着深色长袖衣物或佩戴相关设备,以确保图像中只有手部区域,这种方案设计一定程度上降低了手指检测的难度,也有效提高了识别的正确率,其弊端是识别时需要用户有意避免手臂的干扰。而且对一些特殊情况,如图9(b)~图9(g),容易产生伪手指,画圆法会得到错误的识别结果。针对这些问题,本发明在前人研究的基础上,做了算法改进,引入了三个约束条件,即切弧半径与手掌半径之间的比例关系、切弧重心与手掌重心之间的位置关系、切弧与手掌重心之间的夹角关系,以更为准确地辨别图像中的手指数量。其算法设计流程如图10所示。
根据手指指尖与手掌重心之间的距离关系,并参考分析实际试验数据,以手掌重心为圆心,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>1/3R,如图9(a)中下部最长的那段手腕切弧,不是手指,则进入下一段切弧的循环;
2)若1/4R<ri<1/3R,则比较ci与C的位置关系,并记录Y轴坐标低于手掌重心坐标0.7R以上距离的圆弧数量count;
3)若count=0,如图9(b),是正常情况,则不作处理,手指数量S=切弧数K;若count=1,如图9(c)、(d),有手腕产生的伪手指,则手指数量S=切弧数K-伪手指数量count;若count=2,则计算两个圆弧与掌心C之间的夹角θ,根据经验取值,当θ<65°时,则判定两个圆弧均为伪手指,如图9(g),手指数量S=切弧数K-伪手指数量count;否则,其中一个为伪手指,如图9(e)、(f),手指数量S=切弧数K-1。
经过改进的画圆法,能够准确识别特殊情况下图像中伸出手指的数量,且实时性良好。如图11(a)~图16(d)为画圆法与本发明对有1个伪手指情况下的识别效果图,如图17(a)~图22(d)为画圆法与本发明对有2个伪手指情况下的识别效果图,其中图11(a)~图22(a)(即图11(a)、图12(a)、图13(a)、图14(a)、图15(a)、图16(a)、图17(a)、图18(a)、图19(a)、图20(a)、图21(a)、图22(a),下同)为手指原图,图11(b)~图22(b)为手指切图,图11(c)~图22(c)为画圆法的识别结果,图11(d)~图22(d)为改进后的本发明算法的识别结果。由此可知本发明在各种特殊情况下均得到正确的识别结果,说明引入约束条件后的正确识别率明显提高。
Claims (7)
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画圆,这个圆与手指和手臂的图像相交,得到多段圆弧,即切弧,对这些切弧提出三个约束条件,即切弧拟合圆的半径与手掌半径之间的比例关系、切弧拟合圆的圆心坐标与手掌重心坐标之间的位置关系、切弧与手掌重心之间的夹角关系,并利用所述约束条件辨别图像中的手指数量;
手指数量确定的具体过程包括:设手指数量的初值为S=切弧数K,伪手指数量的初值count=0;各切弧的最小拟合圆形为Pi,圆心坐标为ci,半径为ri;且已知手掌重心坐标为C,对手部图像中的每一段切弧Pi进行以下操作:
A)若ri/R>1/3,则该切弧是手臂而不是手指,进入下一段切弧;
B)若1/4<ri/R<1/3,则比较ci与C的位置关系,若该段切弧圆心的Y轴坐标低于手掌重心坐标的0.7R倍,则count=count+1,并标记这段切弧;
C)对所有切弧进行步骤A)和步骤B)的操作后,若count=0,则手指数量就是圆弧数K;若count=1,则手指数量为切弧段总数K减去count;若count=2,则计算两个切弧与手掌重心C之间的夹角θ,当θ<650时,则判定被标记的两段切弧均为伪手指,手指数量为圆弧总数K减去count,否则,其中一个为伪手指,手指数量为切弧总数K减去1。
4.根据权利要求3所述的手指数量识别方法,其特征在于,步骤3)中,a=25.39,b=14.03,cx=1.60,cy=2.41,θ=2.53,Cx=109.38,Cy=152.02。
5.根据权利要求1所述的手指数量识别方法,其特征在于,所述距离灰度图的最佳灰度阈值ξ为150~230。
7.根据权利要求1所述的手指数量识别方法,其特征在于,利用OpenCV的findContours()函数检测图像中切弧数目,并去除手臂切弧的干扰来确定手指数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710164117.7A CN107341439B (zh) | 2017-03-20 | 2017-03-20 | 一种手指数量识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710164117.7A CN107341439B (zh) | 2017-03-20 | 2017-03-20 | 一种手指数量识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107341439A CN107341439A (zh) | 2017-11-10 |
CN107341439B true CN107341439B (zh) | 2020-10-23 |
Family
ID=60222515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710164117.7A Expired - Fee Related CN107341439B (zh) | 2017-03-20 | 2017-03-20 | 一种手指数量识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107341439B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109523567A (zh) * | 2018-10-25 | 2019-03-26 | 深圳市象形字科技股份有限公司 | 一种基于计算机视觉技术的辅助二胡练习者指法检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127076A (zh) * | 2007-09-27 | 2008-02-20 | 上海交通大学 | 基于级联分类和哈夫圆变换的人眼状态检测方法 |
CN102778953A (zh) * | 2012-06-28 | 2012-11-14 | 华东师范大学 | 基于Kinect的皮影戏远程数字表演的体感控制方法 |
CN104063059A (zh) * | 2014-07-13 | 2014-09-24 | 华东理工大学 | 一种基于手指分割的实时手势识别方法 |
-
2017
- 2017-03-20 CN CN201710164117.7A patent/CN107341439B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127076A (zh) * | 2007-09-27 | 2008-02-20 | 上海交通大学 | 基于级联分类和哈夫圆变换的人眼状态检测方法 |
CN102778953A (zh) * | 2012-06-28 | 2012-11-14 | 华东师范大学 | 基于Kinect的皮影戏远程数字表演的体感控制方法 |
CN104063059A (zh) * | 2014-07-13 | 2014-09-24 | 华东理工大学 | 一种基于手指分割的实时手势识别方法 |
Non-Patent Citations (2)
Title |
---|
何玉冰.基于视频的人脸检测与跟踪算法研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2015, * |
李亚兰.基于视觉的实时静态手势识别技术研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2016, * |
Also Published As
Publication number | Publication date |
---|---|
CN107341439A (zh) | 2017-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109816644B (zh) | 一种基于多角度光源影像的轴承缺陷自动检测系统 | |
CN107330354B (zh) | 一种自然手势识别方法 | |
CN107103298B (zh) | 基于图像处理的引体向上计数系统及计数方法 | |
CN108230383B (zh) | 手部三维数据确定方法、装置及电子设备 | |
CN105184216B (zh) | 一种心二区掌纹的数字提取方法 | |
CN109919039B (zh) | 一种基于手掌和手指特征的静态手势识别方法 | |
CN107038424A (zh) | 一种手势识别方法 | |
CN104933432B (zh) | 一种指腹折痕和指静脉图像的处理方法 | |
CN106503644B (zh) | 基于边缘投影及颜色特征的眼镜属性检测方法 | |
CN103598870A (zh) | 一种基于深度图像手势识别的视力检测方法 | |
CN109948461B (zh) | 一种基于质心定位和距离变换的手语图像分割方法 | |
JP5969460B2 (ja) | 爪領域検出方法、プログラム、記憶媒体、及び爪領域検出装置 | |
CN112232332B (zh) | 一种基于视频序列的非接触式手掌检测方法 | |
CN109190460B (zh) | 基于累积匹配和等错误率的手形手臂静脉融合识别方法 | |
CN108921813A (zh) | 一种基于机器视觉的无人机检测桥梁结构裂缝识别方法 | |
CN109426789A (zh) | 手和图像检测方法和系统、手分割方法、存储介质和设备 | |
CN112561878A (zh) | 基于加权融合的手指静脉图像质量评价方法 | |
CN106897723B (zh) | 基于特征匹配的目标实时识别方法 | |
CN107341439B (zh) | 一种手指数量识别方法 | |
CN114863492A (zh) | 一种低质量指纹图像的修复方法及修复装置 | |
Frucci et al. | Using direction and score information for retina based person verification | |
CN108255285A (zh) | 一种基于掌间点检测的运动手势检测方法 | |
Tan et al. | Gesture segmentation based on YCb'Cr'color space ellipse fitting skin color modeling | |
CN110633666A (zh) | 一种基于手指颜色贴片的手势轨迹识别方法 | |
CN109753912A (zh) | 一种基于张量的多光谱掌纹匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201023 |
|
CF01 | Termination of patent right due to non-payment of annual fee |