APP下载

基于表观特征分析的手势识别及其应用*

2015-03-27屈燕琴卢夏衍

计算机工程与科学 2015年1期
关键词:弧度手势表观

屈燕琴,李 昕,卢夏衍

(上海大学机电工程与自动化学院,上海 200072)

基于表观特征分析的手势识别及其应用*

屈燕琴,李 昕,卢夏衍

(上海大学机电工程与自动化学院,上海 200072)

针对复杂背景下的手势识别容易受到环境干扰造成的识别困难问题,通过分析手势的表观特征,提出并实现了一种可用于自然人机交互的手势识别算法。该算法基于Kinect深度图像实现手势区域分割,然后提取手势手指弧度、指间弧度、手指数目等具有旋转缩放不变性的表观特征,运用最小距离法实现快速分类。并将该算法成功运用于实验室三指灵巧手平台,达到了理想的控制效果。实验表明该算法具有良好的鲁棒性,针对九种常用手势,平均识别率达到94.3%。

计算机视觉;深度图像;手指弧度;表观特征;手势识别

1 引言

近年来自然人机交互技术NHCI(Natural Human Computer Interaction)越来越多地受到人们的重视,取得了快速的发展进步。相比于传统的人机交互输入工具,如键盘、鼠标、游戏杆等,人的姿态、手势、语音等是更加自然、直观的交流方式。所以,近年来人脸识别、表情识别、手势识别以及体势识别等由于符合人际交流习惯,均成为NHCI的重要课题并取得重大进展。其中手势无论是日常生活中还是虚拟现实中,都是一种常用的自然而直观的交流方式,符合人类交流一般行为习惯,是很受亲睐的交互方式之一。

手势识别是自然人机交互技术的一个重要课题,但由于手势本身的多样性、多义性以及视觉本身的不确定性,使得基于视觉的手势识别成为一个极富挑战的和多学科交叉的研究课题。一般基于视觉的手势识别过程可分为三个阶段:手势分割、手势特征提取和手势分类。本文按照上述三个阶段,提出一种利用深度图像实现复杂背景下的手势识别的方法,具体做法是:首先,在手势分割阶段,设定动态分割阈值实现手势分割,在深度图像中像素是以物体距离摄像机物理距离为度量的,所以分割时设定动态距离作为分割阈值,得到粗略手势分割图像;其次,在特征提取阶段,利用数学形态学、边缘提取算法求得手势重心和手势轮廓,计算手指弧度、手指数目等表观特征用于识别;然后,在手势识别阶段,利用少量的已有样本建立样本库,利用最小距离法实现快速分类识别。最后,将该手势识别算法成功地运用于三指灵巧手控制系统。实验结果表明,该方法取得了较高的识别率。

2 相关工作

手势识别是根据人手的姿态及其变化过程来解释说明其高层次的含义的过程。根据手势识别的一般过程,建立一个完整的视觉手势识别系统需解决手势识别三个阶段分别面临的问题。由于三个阶段面临的问题各不相同,因此其研究还存在着一定的障碍,具体实现时根据实际需要进行取舍。

目前,基于视觉的手势识别研究主要偏重于基于皮肤颜色建模,利用肤色信息和运动信息等分割得到手部区域,提取图像属性参数如轮廓、图像矩、区域直方图等手势特征,运用HMM、SVW、BP、DTW等算法进行识别[1~4]。如1991年富士通实验室完成了46个手势符号的识别[5]。Lee J和Kunii T L[6]利用摄像机获得手的运动图像数据来自动分析三维手势,并提取轮廓边界特征进行识别, 成功地提取了27 个交互手参数,实现了三维手势重构。任海兵等人[7]利用肤色信息和人手运动信息结合人手区域的形状特征,采用独立分布的多状态高斯概率模型, 实现了12种手势的识别。Francke H等人[8]运用Boost 分类器和自主学习算法搭建一个实时手势侦测识别系统。杨波等人[9]根据手势图像的区域形状特征,经过肤色分割,提取包括空间相对密度特征和指节相对间距特征的手势空间分布特征, 通过综合手势的两个手势特征向量计算总的相似性来识别手势。 Peng Sheng-yu等人[10]运用颜色信息检测人手,运用Camshift进行人手跟踪,通过PCA检测和识别六种手势。

利用肤色建模的手势识别方法实现手部有效区域与环境无效区域的分离很困难[11],光照、人脸肤色区域、类肤色区域对手势分割的影响难以消除。故实际实现时通常使用加以限定的方式,如强调前景弱化背景,或要求环境简单等。但是,外部环境不可预知,加以限制的手势交互不利于自然的人机交互。针对上述诸多问题,本文提出了一种基于深度图像表观特征的手势识别方法,可以有效地区分手部与背景,达到有效实时的识别效果,并成功地运用于灵巧手平台。

3 手势识别

本文选用微软公司的Kinect传感器作为视频输入,Kinect共有三个镜头,中间的镜头是RGB彩色摄像机,左右两边镜头分别为红外线发射器和红外线CMOS摄像机,共同构成3D 深度感应器,可以生成具有深度的灰度图像。其深度图像像素以物体离传感器的距离度量,距离越远像素值越大,黑色代表无穷近,白色代表无穷远。其实际可探测的距离为0~4 096 mm,其中1 200~3 600 mm误差较小,为5 mm左右。

3.1 手势分割

由Kinect采集的深度图像,当采样大小为640×480时,采样速度可以达到30 f/s。每一帧深度图像其像素均为12 bit,0~4 096的数据。为更好地分割出手部区域,本文将图像逐像素进行灰度直方图统计,转换为256灰度阶,同时可以去除图像重影。灰度直方图统计图像中具有每种灰度级的像素个数,反映出图像中每种灰度出现的频率。

经过灰度直方图量化处理后,通过OpenNI HandDetect得到粗略手部区域质心点PHand Center(x,y,z)。将区域质心PHand Center深度像素值Z转换为空间实际距离dHand Center,以此距离作为手部动态分割的阈值。分割公式如下:

其中,Dhand(x,y)为分割的手势区域,d(x,y)为深度图像中(x,y)处实际深度值。

以上述方法进行手部区域分割,得到初步分割二值图,但该二值图序列存在明显的边缘噪声及少量非手部区域噪声、同距离噪声等,对其做形态学滤波并填充孔洞,同时利用PHand Center(x,y,z)的(x,y)滤除二值图序列中与手势区域不连通区及小面积区域,得到精确分割序列。形态学滤波流程如图1所示。

Figure 1 Morphological filtering

实验所得部分分割结果如图2所示。

Figure 2 Part of the segment binary image图2 部分分割二值图

3.2 手势表观特征分析及提取

3.2.1 手势表观特征分析

从手势识别的建模方法来讲,主要有基于3D手(臂)模型的手势建模和基于表观的手势建模。本文采用表观建模的方式。一般基于图像表观的手势识别方法是直接从图像中提取表观特征,如轮廓矩、区域矩、直方图等参数,而人手是一个关节式的复杂变形体, 随着关节的运动,手的形状不断变化,所以手势特征参数构造应具有一定的相对不变性,在旋转与缩放情况下要能有效实时识别。

为实现旋转与缩放条件下快速有效识别,本文提取具有旋转缩放不变性的手指弧度、指间弧度和手指弧度数目分别作为手势的识别特征。如图3所示,定义相邻点A1、A2间弧段对应弧度为手指弧度,点A2、A3间弧段对应为手指弧度,手指弧段的数目为手指弧度个数。

Figure 3 Hierarchical view of gesture finger radians

根据人手特征,人手为手掌连接五根手指,通过关节和手掌的变动产生不同手势,如图3为以手势质心A0为圆心,以手势边界轮廓距质心最大值为半径将手势区域n等分,图中仅显示最外四层划分区域。通过图3可知,不同手势其手指弧度个数是不同的,且手指弧度和指间弧度也不相同,并且同种手势在不同层区域手指弧度的个数是不同的;同种手势的手指弧度取决于人的手指粗细,不受其他环境影响;同种手势其指间弧度取决于手指分开的角度,但当其中某个手指间弧度较大时其他手指间弧度减小,本文均综合单层手指弧度、指间弧度和弧度个数的总和予以考虑。

定义特征向量HDR=(α1,α2,…,αn;β1,β2,…,βn;N1,N2,…,Nn)描述手势,其中,αi表示每一个区域划分层上的手指弧度,βi表示每一个区域划分层上的指间弧度,Ni表示每一层上手指弧度的个数。

3.2.2 手势特征提取

手势识别中使用何种手势特征对识别结果的好坏具有极其重要的影响。本文提取具有旋转、平移、缩放不变性的手指弧度、指间弧度、手指数目作为识别特征。

手势特征提取步骤如下:

(1)针对分割的二值图像,运用cvMoments结构求取距参数得到手势重心点。

坐标轴为x、y的二维图像坐标系中, 区域D的二维p、q阶中心矩M及质心坐标如下:

(2)计算手势边缘距离手部区域重心点最大值L,以重心点为圆心,以L值为半径做外接圆,对当前手势的最大外接圆区域由内而外进行等距离划分;本文将其10等分,即以d=L/10,以手势区域中心为圆心做同心圆,同心圆半径每次递加d直到最大圆半径为L;定义i=1,2,…,10为分层层数,Oi为第i层的圆轨迹。

(3)计算第i层(5≤i<10)圆轨迹Oi上手指弧度和指间弧度。以人手质心为极坐标极点,以极坐标方式遍历圆轨迹上像素发生变化的点,分别为白色像素变化为黑色像素的点和黑色像素变化为白色像素的点,记录像素发生变化的像素点的角度,进而计算手指弧度和指间弧度。

(4)弧度的数目即是手指手腕与手掌连接的分支总和,根据手腕处宽度远大于手指处宽度,计算各个分支宽度平均值,以宽度最大值对应手腕处分支,其他为手指分支,则手指的数目为N-1。但是,手指长度不一,根据划分情况外层的手指数目将会减少,故分层记录手指数目用于识别。

(5)分层记录统计手指弧度αi,j和指间弧度βi,j、手指弧度数目Ni,作为特征用于识别。

3.3 分类识别

静态手势识别就是在某特定时刻的输入图像中,识别用户做出的是何种手形,目前有很多手势识别的分类算法,如HMM分类方法、模板匹配和查表的方法、贝叶斯分类器、神经网络、支持向量机等。其中模板匹配是图像识别中最具代表性的方法之一,其算法实现容易、匹配速度快。算法的核心是将从待识别的图像提取的若干特征量与模板对应的特征量进行比较,计算图像和模板特征量之间的距离,用最小距离法判定所属类。本文所述即运用最小距离法达到快速识别的目的。常用的九种手势如图4所示,每种手势设定五个模板建立模板库。

Figure 4 Nine kinds of commonly used gestures

具体识别过程如下:输入一幅手势图像,运用前述算法提取手势图像的特征向量Mx[αi,j,βi,j,Ni],其中αi,j为手指弧度,βi,j为指间弧度,Ni为弧度个数(也为单层手指个数);i为特征提取层,本文为5层,即i≤5;j为单层手指弧度的个数,j≤5。求取待识别手势特征向量Mx[αi,j,βi,j,Ni]与模板库标准手势向量M0[α0(i,j),β0(i,j),N0]的均方误差(其中隐含关系Ni=j):

(β(i,j)-β0(i,j))2];m,n=5

以均方误差E(Mx,M0)作为识别分类标准,以其最小值作为识别结果输出。

4 手势识别实验

4.1 旋转不变性验证

为验证上述算法所提取的特征具有旋转不变性,邀请实验者在Kinect前做手势,识别时并不限定左右手,不限定手势的方向。实验识别的Four、Eight图像如图5和图6所示,图5a、图5b分别为手势Four的左右手手势,图6a、图6b分别为手势Eight的左右手手势。界面上显示的图像左边为实时采集的深度灰度图,右边为手势分割二值图,并在二值图上显示识别的结果。

Figure 5 Chinese number gesture for 4 by two hands respectively

Figure 6 Chinese number gesture for 8 by two hands respectively

由图5a和图5b可以看出,当手势旋转一定角度时,该识别系统可以完成识别;由图6a和图6b可以看出,当从左手手势变换为右手手势时,该手势识别系统亦可以完成识别。同时,亦可以看出图5和图6变换了四种不同背景,该系统均能完成识别工作。

4.2 实验结果

为验证上述算法实际性能,邀请实验者在不同背景不同光线下在摄像机前做手势,对图4中九种常用手势每种手势打100遍,这样共计采集900幅图像用于实验,图像采样大小为640×480,采集图像时并不限定左右手,每个手势采集样本时左右手手势各占一定数量。这样组成一共有900幅样本的手势样本库,实验结果如表1所示。

表1显示出对于九种常用手势本系统均能达到很好的识别效果,整体上的平均识别率达到94.3%,这验证了本文算法的有效性和可行性。同时,针对传统的肤色分割存在人手与人脸重叠而造成的分割难题,本文采用深度图像分割较好地解决了该难题,即人手与人脸通常处于不同距离区域,采用动态距离阈值进行分割,可以完整地提取到手部区域。同时,本文提取的手指弧度、指间弧度和手指数目手势特征用于识别,均具有旋转不变性。实验表明本文提取的手势特征可良好地运用于手势识别。

5 手势识别系统在三指灵巧手上的应用

实验平台三指灵巧手模型及结构如图7所示,

该灵巧手由手掌、一个拇指和两根食指四个部分组成,每根手指皆可独立控制。食指和拇指的结构相同,各有三个关节,其中拇指多一个关节,即向掌心弯曲的关节。这样该灵巧手共10个自由度。使用三个电机和一个舵机来驱动。舵机用来控制拇指向掌心的转动。当要抓取物体时,各手指的弯曲则通过电机正传拉线牵引的方式来驱动,当要释放物体时,电机反转配合手指背上的弹簧片将手指绷直。采取这样的欠驱动方式以降低控制的复杂度,并节约成本。

Figure 7 Platform of three-finger dexterous hand

本文将本手势识别系统应用于该三指灵巧手上,图8为手势灵巧手控制系统原理图。

当实验者对着摄像头做出手势时,系统首先利用前述手势识别方法得到识别结果,转变为控制指令,通过串口传递给下位机,控制灵巧手指做出相应动作。考虑到该灵巧手为三指的限制,设计九种手势动作如图9所示,分别对应图4中的九种手势。

Table 1 Experimental results

Figure 8 Schematic of dexterous hand gestures control system

Figure 9 Three-finger dexterous hand gestures

实验时,当实验者在摄像头之前做出图4中的手势时,三指灵巧手相应地做出图9中的手势,部分实验结果如图10所示,图10a表示实验者做出手势One时,三指灵巧手做出的相应手势动作,图10b表示实验者做出手势Two时,该灵巧手亦能做出对应手势。实验表明,本文手势识别方法可良好地应用于灵巧手平台,满足灵巧手实时控制需求。

Figure 10 Gestures one and gestures two

6 结束语

本文搭建了一个手势识别系统,具有系统稳定、识别效果好、实时应用的特点。结合Kinect深度图像提取手势中具有旋转不变性的角度特征和手指数目作为手势特征用于识别。解决了通常手势识别过程中受环境背景复杂、光照强弱、肤色重合等影响造成的分割难题。实验结果表明,本文系统稳定,实时性好、识别率高。同时,将本文手势识别方法成功应用在三指灵巧手平台,取到了较好的人机交互效果。

[1] Tang Zhi-yan,Feng Zhe.A gesture recognition system used on robot vision[J].Computer Engineering and Applications,2005,41(6):51-54.(in Chinese)

[2] Chen Yi-min, Zhang Yun-hua. Research on human-robot interaction technique based on hand gesture recognition[J]. ROBOT, 2009, 31(4):353-356. (in Chinese)

[3] Tan Chang, Xiao Nan-feng. Static hand gesture recognition based on improved RCE neural network and RBF neural network[J]. Computer Engineering and Applications, 2011, 47(7):172-176. (in Chinese)

[4] Dardas N H,Georganas N D.Real-time hand gesture detection and recognition[J].Computer Vision and Image Understanding,2011,60(11):3592-3607.

[5] Takahashi T,Shino F K.Hand gesture coding based on experiments using a hand gesture interface device[J].SIGCHI Bulletin,1991,23(2):67-73.

[6] Lee J, Kunii T L. Model based analysis of hand posture[J]. Computer Graphics and Applications, 1995, 5(5):77-86.

[7] Ren Hai-bing,Zhu Yuan-xin,Xu Guang-you, et al.Hand gesture segmentation and recognition with complex backgrounds[J].ACTA Automatica SINICA,2002,28(2):118-121.(in Chinese)

[8] Francke H,Ruiz-del-Solar J,Verschae R.Real-time hand gesture detection and recognition using boosted classifiers and active learning[C]∥Proc of PSIVT’07,2007:533-547.

[9] Yang Bo, Song Xiao-na, Feng Zhi-quan, et al. Gesture recognition in complex background based on distribution features of hand[J]. Journal of Computer-Aided Design & Computer Graphics, 2010, 22(10):1841-1848. (in Chinese)

[10] Peng Sheng-yu, Wattanachote K, Lin Hwei-jen, et al. A real-time hand gesture recognition system for daily information retrieval from Internet[C]∥Proc of IEEE the 4th International Conference on Ubi-Media Computing, 2011:146-151.

[11] Chen Duan-sheng,Liu Zheng-kai.A survey of skin color detection[J]. Chinese Journal of Computers, 2006, 29(2):194-207. (in Chinese)

附中文参考文献:

[1] 汤志彦,冯哲.适用于机器人视觉的手势识别系统[J].计算机工程与应用,2005,41(16):51-54.

[2] 陈一民,张云华.基于手势识别的机器人人机交互技术研究[J].机器人,2009,31(4):353-356.

[3] 谭昶,肖南峰.基于改进的RCE和RBF神经网络的静态手势识别[J].计算机工程与应用,2011,47(7):172-176.

[7] 任海兵, 祝远新, 徐光祐, 等. 复杂背景下的手势分割与识别[J]. 自动化学报, 2002, 28(2):118-121.

[9] 杨波,宋晓娜,冯志全.复杂背景下基于空间分布特征的手势识别算法[J].计算机辅助设计与图形学学报,2010,22(10):1841-1848.

[11] 陈锻生,刘政凯.肤色检测技术综述[J].计算机学报,2006,29(2):194-207.

QU Yan-qin,born in 1989,MS candidate,her research interests include gesture recognition based on vision, image recognition, and human-computer interaction.

李昕(1970-),男,江苏盐城人,博士,副研究员,研究方向为语音识别和智能机器人。E-mail:xli@staff.shu.edu.cn

LI Xin,born in 1970,PhD,associate research fellow,his research interests include speech recognition, and intelligent robot.

Hand gesture recognition based on analysis of appearance features and its application

QU Yan-qin,LI Xin,LU Xia-yan

(School of Mechatronic Engineering and Automation,Shanghai University,Shanghai 200072,China)

Hand gesture recognition in complex background is susceptible to environmental interference, thus leading to recognition difficulty. According to this recognition problem, by analyzing the appearance features of hand gesture, a hand gesture recognition algorithm for natural human computer interaction is proposed and implemented. By using depth images which obtain from Kinect, we extract features like gesture finger radians, radians between fingers and the number of fingers, and properly utilize minimum distance algorithm for achieving fast and efficient classification. Experimental results show that the algorithm is robust and real-time with an average recognition rate of 94.3% for nine frequently-used gestures.

computer vision;depth image;finger radian;appearance features;gesture recognition

1007-130X(2015)01-0139-07

2013-04-15;

2013-07-24

TP391.4

A

10.3969/j.issn.1007-130X.2015.01.021

屈燕琴(1989-),女,河南信阳人,硕士生,研究方向为基于视觉的手势识别、图像识别与人机交互。E-mail:qyq1212@126.com

通信地址:200072 上海市闸北区广延路140号西部自动化楼311

Address:Room 311,West Automation Building,140 Guangyan Rd,Zhabei District,Shanghai 200072,P.R.China

猜你喜欢

弧度手势表观
绿盲蝽为害与赤霞珠葡萄防御互作中的表观响应
钢结构表观裂纹监测技术对比与展望
挑战!神秘手势
例析对高中表观遗传学的认识
V字手势的由来
胜利的手势
不自由
弧度制的三个基本应用
南瓜
希腊:日落最美的弧度