几种手部识别算法的研究

时间:2022-09-18 10:27:10

几种手部识别算法的研究

摘 要:本文将就手部检测问题,提出三种不同算法,分别是基于像素识别算法、基于HSV识别算法、基于皮肤检测识别算法,并对三种算法进行研究探讨。首先,讨论了肤色在颜色空间中的分布。得到基于HSV空间和基于YCbCr空间的皮肤检测两种算法。之后,根据肤色的固定颜色,得到基于像素的识别算法。探讨了手体轮廓问题的取舍,并对算法进行了改进。最后对不同形的手进行检测,验证了基于皮肤检测识别算法的有效性。

【关键词】手部检测 HSV空间 皮肤检测

1 引言

人与计算机的交互活动越来越成为人们日常生活的一个重要组成部分,特别是最近几年,随着计算机技术的迅猛发展,研究符合人际交流习惯的新颖人机交互技术变得异常活跃,也取得了可喜的进步,这些研究包括人脸识别、面部表情识别、唇读、头部运动跟踪、凝视跟踪、手势识别以及体势识别等等。总的来说.人机交互技术已经从以计算机为中心逐步转移到以人为中心,是多媒体、多种模式的交互技术。

而人体手部的识别是人体姿态识别的重要基础。目前对人体手部的识别主要包括基于皮肤颜色建模、基于连续神经网络与马尔科夫模型的手势识别等等。人类学家Jablonsk i发现, 皮肤反射率与紫外线辐射水平紧密相关, 并从生物学上论证了肤色的一致性[1],可见, 采用颜色进行皮肤检测具有统计和物理上的有力依据。本文主要浅析了基于像素(相似度)、基于HSV、基于皮肤检测人体手部在复杂背景下的识别过程。识别做成主要包括RGB到HSV模型及YCbCr模型的转化、除噪,最终得到手部区域。

2 几种常见的手部识别算法

2.1 基于像素的手部识别算法

基于像素的手部识别算法具体步骤如图1所示。选取手上9*9矩阵区域作为种子的颜色,对各像素进行灰度转换并遍历每一个像素,如果当前点与种子灰度值比较接近[2],即是所需要的像素,计算符合条件的像素点的个数来表示区域面积。

2.2 基于HSV的手部识别算法

HSV表色系包含三个属性:图像的色调(Hue),即表示相应的颜色;饱和度(Saturation),即表示颜色的纯度;亮度(Value),即颜色的亮暗程度。所以该表色系是分别对图像的色调,饱和度和亮度进行描述的,根据皮肤的固有色调可以提取出皮肤区域。

图像从Rgb表色系转换到hsv表色系固定公式如公式2、3、4[3][9][10]所示。

基于HSV的手部识别算法首先利用中值滤波去噪[4],然后再转换到HSV空间;接着根据皮肤在 HSV空间的分布做出阈值判断[5],这里用到了inRange[6]函数,然后进行一下形态学的操作,去除噪声干扰,让手的边界更加清晰平滑,得到的2值图像后用findContours[6]找出手的轮廓,去除伪轮廓并算出区域面积。其中相关函数介绍如下:

(1)inRange[6]函数:检查输入数组每个元素大小是否在2个给定数值 hsv_min, hsv_max之间,如果都在对应的范围内hsv_mask对应的那个点的值全为1(0xff),否则为0(0x00)。

(2)findContours[6]函数:找到图像中的轮廓并将轮廓信息存在contours中,便于计算轮廓面积。基于HSV的手部识别算法流程图如图2所示。

2.3 基于皮肤检测的手部识别算法

肤色检测原理是根据皮肤的固有色彩,在图像中选取相对应的颜色范围作为皮肤颜色。给定一幅包含人像的彩色图像,将其转换至其它表色系,利用肤色检测算法将皮肤区域以二值图像的形式检测出来并对比算法效果。在基于皮肤检测的手部识别算法中,将图像转换到YCbCr表色系下,使用该色彩空间某一分量的阈值,利用该阈值就可以初步对皮肤进行分割得到该表色系下的图像转换成相应的二值图。

YCbCr颜色空间将色彩表示为三个分景。即亮度Y,蓝度Cb和红度Cr。YCbCr表色系中将亮度信息与色彩信息分开,充分考虑了RGB三个分量在视觉感觉中的不同重要性而确定的。

3 手部识别算法测试结果

本文中使用了Microsoft Visual Studio 2010和Opencv2.4.5对基于像素、HSV和皮肤检测的手部识别算法进行了测试。首先,利用无背景的测试图作为标准,来计算实际面积,然后,分别用三种识别算法算出识别到有背景的测试图中手部的面积,并实际面积进行比较。部分测试结果如下图4所示。

对以上五组识别结果进行分析,可以得到识别正确度的对比图,如图5所示。

从图可4和图5以看得以下结论:基于像素识别算法受背景的影响极大,基于HSV识别算法遇到接近皮肤色背景色误差大,基于皮肤检测识别算法效果明显好于前两者。

4 结论

本文首先探讨了手部识别算法的相关算法,然后分别研究了基于像素、基于HSV和基于皮肤检测的手部识别算法原理。并且对三种手部识别算法进行了实现与测试。通过多组测试结果比较和基于测试结果数据的分析,我们最后认为基于皮肤检测识别算法得到的区域面积更接近原始面积,基于皮肤检测识别算法效果明显好于前两者。

参考文献

[1]JablonskiN G,Chaplin G. The evolution of hum an skin coloration[J].Journal of Human Evolution,2000.

[2] Michael Reilly,Michelle Poolet. SQL Server 2000 Design&T-SQL Programming Copyright@2001 by The McGraw) Hill Companies Inc,2001.

[3] 冈萨雷斯.数字图像处理(第二版)[M].北京:电子工业出版社,2007.

[4]杨阿妮.神经网络与马尔科夫模型的手势识别[J].电子测量技术,2010.

[5]ChoK M,Jang J H,H ong K S.Adaptive Skin-color filter[J].Pattern Recognition,2001.

[6] Adrian Kaehler/Dr. Gary Rost Bradski. Learning OpenCV,2008.

[7] 左飞,万晋森,刘航.Visual C++数字图像处理开发入门与编程实践[M].北京:电子工业出版社,2008.

[8] Donald Hearn,M.Pauline BakerComputer Graphics.Prentice Hall International,ISBN,1986.

[9] Raphael Gonzalez, Richard E.Woods (2002) Digital Image Processing, 2nd ed. Prentice Hall Press,ISBN 0-201-18075-8,2002.

[10]Pietikainenm M P.Facial skin color modeling//LI S Z,Jainak A K.Handbook of face recognition.Berlin:Springer,2005.

作者单位

湖北民族学院信息工程学院 湖北省恩施市 445000

上一篇:数字音视频压缩技术的分析与实现 下一篇:我国输变电设备智能化发展对策研究