logo资料库

论文研究-基于手势的人机交互系统 .pdf

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
中国科技论文在线 http://www.paper.edu.cn 基于手势的人机交互系统# 王子剑,孔文杰,孙杳如** (同济大学电子与信息工程学院) 5 摘要:本文设计并实现了基于手势的人机交互系统,首先通过摄像头实时采集人手的视频图 像,高斯滤波、二值化等方法对视频信息进行处理获取到手形轮廓,使用 PCA 算法对手形轮 廓进行手势识别,并使用粒子滤波算法跟踪手掌所在位置,最后根据手势识别结果和手掌所 在位置调用鼠标 API,使鼠标光标实现“移动”、“左键单击”、“左键双击”、“右键单 击”或“无动作”操作功能。实验证明,本文提出的基于视觉的手势交互系统具有精确度高、 反响速度快、交互功能多、识别准确率高等优点。 关键词:人-机交互;手势识别;手部跟踪;主成分分析;粒子过滤 中图分类号:TP391.4 10 15 Gesture-based Human-Computer Interaction System Wang zijian, KONG Wenjie, SUN Yaoru (College of Electronics and Information Engineering, Tongji University) Abstract: A gesture-based human-computer interaction system is designed and implemented in this paper. Hand gestures are captured by a video camera. Gaussian filtering and binarization methods are applied to obtain the hand outline. Principle component analysis is used for gesture recognition and particle filtering algorithm is used for tracking the hand location. Commands including “move”, “left click”, “left double-click”, “right click” and “no movement” are executed according to the recognized gesture. Experimental results show that the proposed system achieves high accuracy, quick responses and multiple interactive functions. Key words: Human Computer Interface; Hand Gesture Recognition; Hand tracking;Principle Component Analysis; Particle Filter 20 25 0 引言 近年来,随着硬件的发展和人们不断的创新,越来越多的人机交互技术涌现而出。这些 30 人机交互技术的目的是解决计算机的智能性和可用性,各种人机交互技术的研究方向也大多 围绕着提高人机交互技术的实用性和舒适性进行,从而使用户可以简单、自然的运用这些技 术操作计算机,而随着计算机视觉技术的发展,基于计算机视觉的交互系统也逐渐发展起来 [1,2]。 基于计算机视觉的人机交互技术涵盖了多个方面:图像处理、模式识别、人工智能等等 [3]。是一种人性化的自然人机交互系统,这种人机交互系统要求计算机能够对人的自然表现 35 ( 比如手势、表情、动作等) 进行判断并做出反应,从而使人可以更加便捷、迅速、自然地 与计算机进行交互。 基于计算机视觉的交互系统对推动科技发展和满足人们需求有着重大的现实意义: (1)基于计算机视觉的交互系统不同于现有常见的图形交互系统,作为一种自然交互系统, 40 其能够让用户更多地具有人性化的体验,从而更方便更自然地操作计算机。 (2) 能够为其他技术领域提供人机交互方式从图形交互向自然交互转变的可行方案,比如 基金项目:教育部博士点基金(20110072110014) 作者简介:王子剑,男,博士研究生,主要研究方向:认知与智能信息处理 通信联系人:孙杳如(出生年-1968),男,教授,主要研究方向:人工智能,模式识别,认知计算. E-mail: yaoru@tongji.edu.cn - 1 -
中国科技论文在线 http://www.paper.edu.cn 将汽车使用的控制按钮改进为更加方便的交互方式。 (3)能够为便携式IT 设备的操作方式提供切实可行的应用技术,并且改变便携设备的结构, 从而减少便携设备的体积与重量。 45 总之,基于计算机视觉的人机交互系统具有巨大的潜在经济价值和科技价值以及产业化 前景。然而,目前现有的基于计算机视觉的人机交互系统普遍存在有交互功能少、识别失误 率高的缺陷。 本文克服现有技术的不足,提供一种基于计算机视觉的手势交互系统,利用计算机摄像 头实时采集人手势的视频信息,并通过图像处理对手势视频信息进行识别,实现鼠标光标的 50 多项基本功能,达到在不借助鼠标的条件下操作计算机的目的,并实现使人更加便捷、迅速、 准确地与计算机进行交互的效果[4,5]。 1 图像采集与处理 首先通过摄像头实时采集人手的视频图像并将每一帧图像缩小为160*120像素,这样可 以大大提高整个系统的执行效率,然后首先对该缩小的图像进行高斯滤波去除噪声,以减少 55 帧图像中噪声对之后跟踪算法与识别算法的影响。;然后将RGB 图像转换为HSV 图像,通过 手的HSV 颜色特征(H ≤ 35,S ≥ 58) 将手和背景分开,手白色而背景为黑色,形成二值 化图像;最后提取白色部分边缘作为手势轮廓,并对手形轮廓进行精细化[6]。 精细化手形区域的过程如下:在图像处理模块中,根据 HSV 特征二值化( 手部为白色,背景 为黑色) 提取后的手型区域很有可能因为视频质量或者背景环境而包含了很多非手部象素 60 点或者小块区域,如图 1,由于手要控制鼠标光标,所以在摄像头范围内会占用比较大的区 域,因此我们利用截取拥有最长轮廓的白色区域来过滤这些非手部的元素。首先在二值化图 像中找到轮廓最长的一个白色区域,这个区域被系统作为手形区域,考虑到手的关节处可能 发红,在二值化图像中呈黑色,所以系统会用白色填充手形区域,同时把手形区域以外的所 有区域涂黑,从而过滤除去非手部像素点和小块区域。精细化后的效果如图 2: 65 图 1:精细化前手部图像 图 2:精细化后手部图像 Fig.1 Raw Image Fig.2 Refined image 2 手势识别与定位模块 该模块中存储有分别代表“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”功 70 能的样本手势图像,该识别定位模块实时接收上一步传输来的二值化图像,然后分为两个部 分同时进行,一个部分是将该二值化图像与样本手势图像库中的图像比较,识别出所述手部 图像的手势所代表的功能;另一个部分是对手的二值化图像进行实时跟踪以确定手的位置信 息。 - 2 -
中国科技论文在线 2.1 手势识别 http://www.paper.edu.cn 75 手势识别部分,采用了简单高效的主成分算法(PCA) 降维,然后使用最小距离分类器识 别所述手部图像的手势所代表的功能。并使用5种人的手势来对应所述手势交互系统中鼠标 的5 个功能:“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”,如图4-1。其中, “无动作”功能不是基本操作功能,而是一个辅助功能,其是为了当移动时感觉手的位置不舒 服,或者手要移出摄像头范围而无法移动到目的坐标时,用户能够使光标不做任何动作,等 80 到手移动到合适位置后再继续中断的操作。该辅助功能提高了系统的可操作性。 主成分算法是统计分析中一种分析、简化数据集的方法[7]。这种方法经常用到减少维数 同时保持数据集中对方差贡献最大的特征。PCA 算法与最小距离分类器识别分为两个阶段: 训练阶段和识别阶段。 在训练阶段,我们首先为5 个不同的手势各提供了5 个尺寸为M*N 的不同的二值图像, 85 如图3所示: 图3 训练样本图像示例 Fig.3 Training image samples 因此训练样本矩阵为: 其中 为第 幅图像的向量表示。然后计算平均 90 手 和差值手 : (1) (2) 并构建协方差矩阵: (3) 95 求出协方差矩阵的特征值和特征向量,构造特征手空间。这时候由于协方差矩阵 维数为 ,它的维数很大会导致计算量很大,所以采用奇异值分解定理,通过求解 的 特征向量和特征值来获得 的特征向量和特征值。求出 的特征值 以及其正交归 一化特征向量 并选取前10个最大的特征值和对应的特征向量。再通过 的特征向量和 特征值求出原协方差矩阵的特征向量: 100 。 (4) 则特征脸空间为 征脸空间,即: 。最后将每一幅手的图片与平均手的差值向量投影到特 (5) - 3 - 1225(,,...,)Txxxxixiid251125iixiidx12251,(,,...,)20TCAAwhereAdddC*MNMNTAATAATAAiivTAA1(1,2,...,10)iiuAvi1210(,,...,)uuu,1,2,...,25Tijdwherej
中国科技论文在线 http://www.paper.edu.cn 系统预先执行训练阶段并将训练阶段产生的有关数据( 如特征脸空间、样本图像与平均 105 手的差值在特征脸空间的投影等) 在识别定位模块中存储为一个handdata.xml 文件,该文 件即为分别代表“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”功能的样本手势 图像数据,将在识别阶段中使用。 识别阶段可以与训练阶段类比。首先我们在手部轮廓的二值图像中选取包含轮廓的最大 矩形范围,并将其归一化为 的图片( 与样本图片的尺寸一致),然后将归一化后的图 110 片与平均手的差值手投影到特征空间,得到其特征向量 ,最后采用欧氏距离来计算 与每一个样本手的距离 ,若某一个样本 与 的距离 最小,则将当前帧的手势识别 为该样本手势。 2.2 手部跟踪 粒子滤波法[8]是一种通过寻找一组在状态空间传播的随机样本对概率密度进行近似,以 115 样本均值代替积分运算,从而获得最小方差分布的过程。这种算法是在图像之中找Num( 这 里设为1500) 个点作为样本,并根据每个样本权重重新取样,如图4: 图 4 粒子滤波算法效果示意图 Fig.4 Particle filtering 120 其中计算权重重新取样的过程防止了粒子滤波产生退化现象,也是本算法中最重要的一 个部分。在程序刚开始时随机地在二值化图像中设置Num 个点作为样本,并规定了追踪目标 [9]特征为二值化图像中像素点灰度值=255( 这些点就是手势范围的内的像素点),当程序运 行时每一帧中的样本会反馈一个权重值,在这里我们将象素灰度值为255 的样本点的权重值 定为1,而灰度值为0 的样本点权重值定为0。算法在视频的每一帧都需要重新采样,而此时 125 则根据上一帧所有样本点的权值采样:对于权重值为1 的样本点,我们将按比例复制这些样 本点并在其附近区域随机的找一个新的位置作为本帧的新的样本点,而对于权重值为0 的样 本点,系统将其忽略。最后将手的坐标返回为当前帧所有样本点坐标的均值,相比其他手部 跟踪算法( 如camshift) 大大提高了手部位置坐标的精确度。 3 交互设计模块 130 在交互设计模块中,将五种手势分为三类,其中“左键单击”、“左键双击”和“右键单击” 为点击类功能,“移动”是移动类功能,“无动作”为辅助类功能,如图 5: - 4 - *MNYYixYx
中国科技论文在线 http://www.paper.edu.cn 图 5 五种手势的二值化图 Fig.5 The five hand gestures and there binary kind 135 在实现点击类功能时可能会产生两个问题:一个是由于点击功能需要伸出手指,在这一 过程中会有几帧被识别为移动功能,导致鼠标光标向上偏移,本文调用单击前将鼠标移回之 前第4 帧的位置进行单击,这样虽然需要用户在单击前停留0.2秒左右,但是能够解决偏移 的问题;另一个问题是移动时若手势被误判为点击手势,则会造成错误,本发明的解决方案 是考虑前两帧:若前一帧和当前帧是同样类型的点击且之前的第二帧是移动手势,则执行点 140 击功能。 在实现移动类功能时可能会产生两个问题:一个是手区域抖动会影响光标移动的准确 性,本发明的解决方案是延迟一帧,计算角度判断抖动,即根据近3帧坐标夹角的方法来减 少鼠标的抖动:假设前两帧手的坐标和当前手的坐标分别是pos2、po1、pos0,则当∠ pos2、 pos1、pos0<100°时,则认为是一个抖动,将不执行移动功能,并且由pos0 代替pos1 ;否 145 则计算pos1时的鼠标移动坐标,并更新鼠标坐标;另一个是当手将要移动出摄像头屏幕范围 时光标还未达到目标坐标,我们设计了一种辅助手势。使用这种手势时鼠标不会跟随着手的 移动而移动,用户可以保持无动作手势将手移到摄像头屏幕中合适的地方,然后使用移动手 势向着原方向接着移动光标。 鼠标光标移动根据鼠标速度的快慢而加快或者减慢。本文通过计算两帧之间手掌坐标的 150 距离代表速度,并将其映射给屏幕坐标系上的鼠标光标,计算鼠标光标的速度和当前帧应该 移动的距离设置鼠标位置。考虑到手静止时光标可能会由于手部截取部分边缘的抖动而随机 的抖动,所以采用延迟一帧,通过前一帧、当前帧和未来帧的手的坐标判断手是在移动还是 在抖动,从而减少抖动。 由于识别算法的准确率无法达到100%,所以本文通过手势过渡网络与识别算法配合, 155 提高识别结果。手势过渡网络总是延迟一帧,根据前一帧、当前帧和未来帧手的识别结果链 来决定最终识别结果。如图6所示: - 5 -
中国科技论文在线 http://www.paper.edu.cn 图 6 手势过滤网络示意图 Fig.6 Transition network 160 若 3 帧都是移动则最终识别结果为移动,若第一帧为移动而后两帧为点击操作,则识 别结果为点击操作。无动作手势很特殊,识别它时不会延迟一帧,而是通过未来帧立刻判断 识别结果。 4 实验 165 本文提出了一种基于计算机视觉的手势交互系统,该系统的工作流程如图 7 所示:其包 括视频采集模块、图像处理模块、识别定位模块和交互设计模块;所述视频采集模块包括有 摄像头,该视频采集模块通过摄像头实时采集人手的视频图像并将每一帧图像缩小为 160*120 像素,同时将该缩小的手部图像传输到图像处理模块;所述图像处理模块连接视频 采集模块,该图像处理模块实时接收并分析由视频采集模块传输来的手部图像,并通过高斯 170 滤波去除噪声和二值化处理,截取手形轮廓作为识别与跟踪的二值化图像;所述识别定位模 块连接图像处理模块,并且其中存储有分别代表“移动”、“左键单击”、“左键双击”、“右键 单击”和“无动作”功能的样本手势图像,该识别定位模块实时接收并分析由图像处理模块传 输来的二值化图像,将该二值化图像与所述样本手势图像比较,识别出所述手部图像的手势 所代表的功能,同时对手的二值化图像进行实时跟踪并将其位置传输给交互设计模块;所述 175 交互设计模块连接识别定位模块,该交互设计模块根据由识别定位模块实时接收来的手势识 别结果和手位置的坐标调用鼠标 API,并控制鼠标光标实现“移动”、“左键单击”、“左键双击”、 “右键单击”或“无动作”功能。 180 图 7 基于计算机视觉的手势交互系统 Fig.7 Vison-based hand gesture interaction system 十位参与者参与了我们的实验,每位参与者参与测试了500幅手势图像,每种手势包含 100幅图像,测试图像中包含一半正常手部图片,另一半手部图片稍有弯曲和旋转测试结果 如表1所示: - 6 -
中国科技论文在线 http://www.paper.edu.cn 185 表 1 手势识别精确率 Tab. 1 Tthe accuracy of hand gesture recognization 我们设计了三个互动任务来测试我们的互动系统,每位被试者通过触摸笔记本电脑上的 触摸板来参与实验。 190 (1)在第一个任务中,被试者要求在电脑桌面上右键单击创建一个文本文档、左键双击打 开该文档、单击关闭按钮将其关闭。 (2)在第二个任务中,被试者要求通过微软搜索引擎进入电脑D盘,查看第一份文件的属性。 (3)第三个任务中,被试者要求使用计算器计算1加2。 由实验可得,该交互系统完成上述三个任务的平均完成时间分别为16.5秒、14.2秒和9.5秒。 195 触摸电脑触摸板的时间分别为12.4秒、9.8秒和5.8秒。由此可见,本文提出的基于计算机视 觉的手势交互系统的性能是可以接受的,并且还有很好的发展前景。 5 结论 本文提出了基于计算机视觉的手势交互系统,该系统使用高斯滤波、二值化等图像处理 方法对实时采集的手部图像进行处理,从而获得手部轮廓的二值图像;主成分分析方法通过 200 分析实时图像与图像库中图像的相关性来识别手势,粒子滤波算法用来定位手的具体位置; 最终利用以上获得的信息控制鼠标完成相应的操作,从而实现人-机交互。实验结果表明该 系统取得了较好的交互效果。 [参考文献] (References) 205 210 215 220 [1] Pavlovic V, Sharma R, Huang T S. Visual interpretation of hand gestures for human-computer interaction: A review[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 1997, 19(7): 677-695. [2] Segen J, Kumar S. Shadow gestures: 3D hand pose estimation using a single camera[C]//Computer Vision and Pattern Recognition, 1999. IEEE Computer Society Conference on. IEEE, 1999, 1. [3] Poppe R. Vision-based human motion analysis: An overview[J]. Computer vision and image understanding, 2007, 108(1): 4-18. [4] Maes P. SixthSense: Integrating information and the real world[C]//Mixed and Augmented Reality, 2009. ISMAR 2009. 8th IEEE International Symposium on. IEEE, 2009: xxi-xxi. [5] Rehg J M, Kanade T. Digiteyes: Vision-based hand tracking for human-computer interaction[C]//Motion of Non-Rigid and Articulated Objects, 1994., Proceedings of the 1994 IEEE Workshop on. IEEE, 1994: 16-22. [6] Manresa-Yee C, Varona J, Mas R, et al. Hand tracking and gesture recognition for human-computer interaction[J]. Electronic letters on computer vision and image analysis, 2005, 5(3): 96-104. [7] Wold S, Esbensen K, Geladi P. Principal component analysis[J]. Chemometrics and intelligent laboratory systems, 1987, 2(1): 37-52. [8] Isard M, Blake A. Condensation-conditional density propagation for visual tracking[J]. International journal of computer vision, 1998, 29(1): 5-28. [9] Coogan T, Awad G, Han J, et al. Real time hand gesture recognition including hand segmentation and tracking[M]//Advances in Visual Computing. Springer Berlin Heidelberg, 2006: 495-504. - 7 -
分享到:
收藏