Page 1

Scientific Journal of Information Engineering October 2013, Volume 3, Issue 5, PP.99-103

Research and Realization of Human Hands Detection and Tracking Based on Camshift Algorithm †

Haike Zhang, Pengfei Yu , Tao Li School of Information, Yunnan University, Kunming Yunnan 650091, China †

Email: pfyu@ynu.edu.cn

Abstract For hand detection and tracking, an algorithm based on skin color segmentation and template matching to detect human hand is proposed in this paper. After detecting human hand by skin color segmentation and template matching, Camshift algorithm is used to track the moving object. The experimental results show that the human hand can be effectively detected and tracked in complex backgrounds by using the proposed method. So it provides a basis for further realization of intelligent human-machine interaction and mobile equipment identity. Keywords: Hand Detection; Hand Tracking; Skin Color Model; Template Matching; Camshift Algorithm

基于 Camshift 算法的人手检测与跟踪定位方法 研究* 张海科,余鹏飞,李涛 云南大学 信息学院, 云南 昆明 650091 摘 要:针对人机交互问题中的人手检测与跟踪定位,提出了一种基于肤色分割和模板匹配的人手检测的方法。首先是用 肤色分割和模板匹配的方法进行人手检测,然后把检测结果作为 Camshift 算法跟踪的一个重要目标进行跟踪。实验结果 表明,该方法能够有效地实现复杂背景下的人手检测与跟踪,为进一步实现智能人机交互和移动设备身份认证奠定基础。 关键词:人手检测;人手跟踪;肤色分割;模板匹配;Camshift 算法

引言 随着计算机技术、网络与通信技术的飞速发展,人与计算机之间的人机交互活动越来越成为人们日常 生活的组成部分。而传统的人机交互设备,例如:麦克风、手写板、鼠标、键盘等需要人们按照交互设备 规定的使用方式去适应人机交互活动,已逐渐成为人机交互的瓶颈。研究新的人机交互方式势在必行,具 有很高的研究价值和应用前景。 手是日常生活中使用最多、最灵活的人体器官,手语被称为是人类生活中的第二种语言[1]。相比其他人 机交互方式,将人手作为人机交互的交流方式显得更为自然、简洁、丰富和直接[2]。因此,人手识别定位与 跟踪的研究已成为人机交互研究的热点之一,对于提高人机交互水平以及开发高智能计算机具有非常重要 的意义。 文献[3]提出了基于多尺度的分级颜色特征,在提取多尺度颜色特征的同时,利用粒子滤波算法检测和 跟踪手的位置,该方法能够实现实时的手跟踪,但计算量相对较大;文献[4]提出了结合了统计分析和句法 分析的实时手势识别方法,其思想是将手势识别分作两个步骤进行,首先基于统计分析的方法,利用类 *

基金资助:本文受云南省教育厅重点科研基金项目(NO.2011Z029)基金资助。 - 99 http://www.sjie.org/


Harr 特征及 AdaBoost 训练得到的分类器来检测手势,选出一些候选区域,并将识别结果转换成一系列的终 端语符链,然后使用随机上下文无关文法来进行手势识别。文献[5]将手掌图像从 RGB 空间转换到 HSL 空 间,然后利用皮肤像素的概率统计模型来进行手掌的粗分割,文献中采用高斯模型来表征皮肤颜色的概率 密度函数,取得了不错的识别结果。文献[6]提出了一种基于 HMM(Hidden Markov Model)模型的手势识别 方法,该方法利用采用双肤色模型和背景自适应模型进行手势分割,以傅里叶描述子表征手势轮廓,然后 实现实时手势分割和识别。传统的 Camshift 算法[7]首先根据手动选取的人手区域的肤色直方图模型将原始图 像转换成颜色概率分布图,然后用 Meanshift 算法[8]计算出肤色分布图的中心和大小,并在下一帧的计算时 使用,如此反复进行跟踪。但是这种方法的原始肤色模型包含了一些非肤色的部分使得跟踪不够精确,同 时对于人手快速移动或出现类肤色的干扰如人脸干扰的情况不能进行很好的处理。

系统流程

1

为了克服传统的 Camshift 算法需要手动确定被跟踪区域的问题,本文在 Camshift 算法基础上,首先运 用肤色分割和模板匹配的方法快速检测出人手区域,然后把检测结果作为 Camshift 算法的一个重要目标进 行跟踪,从而实现对人手的自动跟踪定位。 打开摄像头

采集视频

肤色分割

模板匹配

Camshift跟踪 N

成功 Y 输出

图 1 人手检测与跟踪流程图

人手检测

2

为了实现视频中的人手跟踪,首先要定位视频帧中的人手区域。人手区域的检测可以采用肤色检测的 方法来实现,但是,视频中可能存在人脸及其他与肤色类似的物体,会干扰人手区域定位。因此,本文采 用基于肤色分割和模板匹配的人手检测方法,首先根据肤色检测模型检测出肤色区域,然后用预先准备好 的人手模板对分割出的肤色区域作匹配,排除非人手区域,从而实现人手检测。

2.1 肤色检测 2.1.1

肤色分割模型转换

肤色是进行人手识别最直接也是最常用的方法之一。常用的色彩空间有:RGB 色彩空间、YCrCb 色彩 空间、HSV 色彩空间、CMY 色彩空间和 YIQ 色彩空间。由于 RGB 色彩空间中,三个颜色分量都含有亮度 信息,肤色模型容易受到光照变化干扰,为了更好地提取人手的肤色特征,需要将图像帧从 RGB 空间转换 - 100 http://www.sjie.org/


到其他空间,例如:HSV 空间。HSV 空间是 RGB 空间的非线性变换,它将相关性很强的 R、G、B 分量转 换成相关性较弱的 H、S、V 分量,只需要通过 H 分量的阈值分割,就可以完成肤色区域的定位。因此,本 文将 RGB 色彩空间转换到 HSV 色彩空间, 将人手图像从 RGB 色彩空间转换到 HSV 色彩空间的效果如图 2。由图 2 可以看出,经过色彩空间转换 后,人手区域和背景就很容易区分开了。

(a) RGB 空间手掌图像帧

(b) HSV 空间手掌图像帧

图 2 图像从 RGB 色彩空间转换到 HSV 色彩空间的效果

2.1.2

肤色分割模型

物体的色度和饱和度是由构成物体的物质所具有的对光线的吸收和反射性质决定,亮度会受光照和其 他因素的影响。因此,根据色度和饱和度分割图像是相对可靠的。在 HSV 色彩空间中,H 分量和 S 分量描 述的是物体的色度和饱和度,通过对大量肤色和非肤色在 H 分量和 S 分量上的分布情况的分析,建立的肤 色分割公式如下:

若H d  H  H u || S  Su

0 R=  1 其中,

其他

(1)

为色度分割的下限和上限阈值, 为饱和度分割的阈值,R 为分割后得到的二值图像。

通过训练样本获得的与肤色在 H 分量和 S 分量上的分布的相关参数,利用(1)式对彩色图像进行分割, 就得到肤色和非肤色区域的二值图像。 2.1.3

人手候选区域的确定

由于人手图像帧中存在很多类似肤色的区域,利用上述方法分割得到的肤色候选区域较多。为进一步 缩小后续搜索范围,可以进行去噪处理,然后将面积较大的肤色区域都列为候选的人手区域。得到人手区 域的候选区后就可以利用准备好的人手模板对候选区域进行匹配。 模板匹配是为了在图像中识别出已知形状特征的目标物体,使用目标物体的形状特征模板与图像进行 匹配,在规定的相应准则下识别出目标物体。以灰度图像为例,设模板图为 T( m  n 个像素),把它放在 被搜 d 索图 S(

个像素)上滑动,子图

为模板图与被搜索图的重叠区域。 i 和 j 分别为子图在被搜

索图 S 左上角的坐标。图像的数据是从下到上、从左到右排列的。搜索区域为: { 通过比较模板图 T 和子图

的相似度,来实现模板匹配的过程。

模板匹配算法的步骤如下: - 101 http://www.sjie.org/

(2)


Step 1:从输入图像 S 的左上角(0, 0)坐标开始,取出一块从(0, 0)到(m, n)的子图像 Step 2:用子图像

和模板图像进行匹配,匹配结果记为 R;

Step 3:比较得到的结果 R,就是结果图像在(0, 0)处的像素值; Step 4:切割输入图像从(0, 1)到(m, n+1)的子图像

,匹配并将结果记录到结果图像中;

Step 5:重复进行 Step 1~Step 4 步,直到搜索完输入图像。

3

人手跟踪算法 Camshift 算法利用目标的颜色直方图模型将图像转换为颜色概率分布图,初始化一个搜索窗的大小和位

置,并根据上一帧得到的结果自适应调整搜索窗口的位置和大小,从而定位出当前图像中目标的中心位置, 有效地解决了跟踪目标被遮挡或变形的问题,对系统的要求不高,时间复杂度也不高,在简单背景条件下 有较好的跟踪效果。但是,当背景比较复杂或被跟踪目标附近有与目标颜色相近的像素干扰时,会严重影 响跟踪效果,并且 Camshift 算法在跟踪目标时,要先手动选定跟踪目标区域,它不能自动选取目标(即半 自动化跟踪)。因此,本文提出把人手检测与跟踪相结合的方法解决 Camshift 算法存在的问题。 本文提出的结合人手检测和 Camshift 算法的人手跟踪的步骤为: Step 1:把整个图像作为搜索区域; Step 2:把检测出的人手作为初始化搜索窗口; Step 3:计算检测出的人手区域的颜色概率分布图; Step 4:调用 Mean Shift 算法,获取搜索窗口新的尺寸以及位置; Step 5:在下一帧视频图像中,用 Step 3 中获取的值初始化搜索窗的尺寸和位置; Step 6:跳到 Step 3 继续运行,直到收敛。

4

实验结果 本文采用 Microsoft Visual Studio 2010 和 OpenCV2.3.1 开源计算机视觉库搭建软件平台进行测试,使用

罗技 C270 网络高清摄像头采集视频图像。为了验证本文提出的方法的有效性,分别在单一背景下和复杂背 景下对不同的人进行了大量的实验,实验结果如表 1 所示。 表 1 实验结果 因素

单一背景

复杂背景

总帧数

1000

1000

正确跟踪帧数

985

935

错误跟踪帧数

15

65

跟踪成功率

98.5%

93.5%

由表 1 可看出,本文提出的方法适用于复杂背景下的人手检测与跟踪。通过实验可以确定,本文提出的 方法在各种复杂背景下对人手的定位跟踪的效果都比较好。图 3 给出了不同背景下本文方法对人手跟踪的部 分效果。

(a)单一背景跟踪效果

- 102 http://www.sjie.org/


(b)复杂背景跟踪效果

图 3 部分实验结果截图(红色:本文方法;绿色:手动标定)

从图 3 可以看出,本文提出的方法在单一背景和复杂背景下都能够在视频中实时准确地定位到人手所在 的区域。并且不会被人脸或其他肤色相近的区域所干扰。

5

结语 本文提出了基于肤色和模板匹配的改进的 Camshift 人手跟踪算法,以肤色概率分布图中的模板匹配

是否成功作为算法迭代的终止条件,解决了场景中存在大面积类肤色干扰时跟踪失误和定位区域不完整的 问题。为了在减少跟踪失误的同时最大限度地保证算法的实时性,在模板匹配过程中对模板采取了简单的 比例缩放和角度旋转,并使匹配只在搜索窗上半部分进行。与一般的直接在类肤色区域进行模板匹配确定 人 手 的 算 法 相 比 , 该 方 法 因 以 基 于 概 率 密 度 梯 度 爬 升 技 术 的 Camshift 算 法 为 主 导 , 提 高 了 原 始 的 Camshift 算法的实时性和鲁棒性。实验证明,本方法很好地解决了前述问题,在保证实时性的情况下显著 增加了鲁棒性。

REFERENCES [1]

M. A. Moni, A. B. M. Shawkat Ali. HMM based hand gesture recognition: A review on techniques and approaches[C], 2nd IEEE International Conference on Computer Science and Information Technology(ICCSIT 2009). 2009, 433-437

[2]

J. S. Lee, Y. J. Lee, E. H. Lee, S. H. Hong. Hand Region Extraction and Gesture Recognition from Video Stream with Complex Background through Entropy Analysis[C], Engineering in Medicine and Biology Society, 2004. IEMBS'04. 26th Annual International Conference of the IEEE. 2004, 1: 1513-1516

[3]

L. Bretzner, I. Laptev, T. Lindeberg. Hand gesture recognition using multi-scale colour features, hierarchical models and particle filtering[C], Fifth IEEE International Conference on Automatic Face and Gesture Recognition. 2002: 423-428

[4]

Q. Chen, N. D. Georganas, E. M. Petriu. Real-time vision-based hand gesture recognition using haar-like features[C], Instrumentation and Measurement Technology Conference (IMTC 2007). 2007: 1-6

[5]

C. Manresa, J. Varona, R. Mas, F. J. Perales. Hand tracking and gesture recognition for human-computer interaction[J]. Electronic letters on computer vision and image analysis, 2005, 5(3): 96-104

[6]

Chen F S, Fu C M, Huang C L. Hand gesture recognition using a real-time tracking method and hidden Markov models[J]. Image and Vision Computing, 2003, 21(8): 745-758

[7]

G. R. Bradski. Real time face and object tracking as a component of a perceptual user interface[C]. Proceedings of Fourth IEEE Workshop on Applications of Computer Vision (WACV'98), 1998: 214-219

[8]

Y. Cheng. Mean shift, mode seeking, and clustering [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1995, 17(8): 790-799

【作者简介】 1

张海科(1987-),男,汉,学士,研

2

余鹏飞(1974-),男,汉,博士,副教授,研究方向为生

究方向为生物特征识别,学习经历。

物特征识别。Email: pfyu@ynu.edu.cn

Email: 1262859995@qq.com

3

李涛(1987-),男,汉,学士,研究方向为生物特征识别,

学习经历。Email: 812772917@qq.com

- 103 http://www.sjie.org/

Research and realization of human hands detection and tracking based on camshift algorithm  

Haike Zhang, Pengfei Yu, Tao Li

Read more
Read more
Similar to
Popular now
Just for you