基于计算机视觉的手势交互系统的制作方法

文档序号:6382504阅读:411来源:国知局
专利名称:基于计算机视觉的手势交互系统的制作方法
技术领域
本发明涉及人机交互系统,具体涉及一种基于计算机视觉的手势交互系统,属于信息技术领域。
背景技术
人们从上个世纪就开始运用传统的交互设备,如键盘和鼠标进行计算机的人机交互,但是有些传统的交互设备在特殊领域中已经无法发挥便利的作用。近年来,随着硬件的发展和人们不断的创新,越来越多的人机交互技术涌现而出。这些人机交互技术的目的是解决计算机的智能性和可用性,各种人机交互技术的研究方向也大多围绕着提高人机交互技术的实用性和舒适性进行,从而使用户可以简单、自然的运用这些技术操作计算机,而随着计算机视觉技术的发展,基于计算机视觉的交互系统也逐渐发展起来。基于计算机视觉的人机交互技术涵盖了多个方面图像处理、模式识别、人工智能等等。基于计算机视觉技术的交互系统是一种人性化的自然人机交互系统,这种人机交互系统要求计算机能够对人的自然表现(比如手势、表情、动作等)进行判断并做出反应,从而使人可以更加便捷、迅速、自然地与计算机进行交互。基于计算机视觉的交互系统对推动科技发展和满足人们需求有着重大的现实意乂 I)基于计算机视觉的交互系统不同于现有常见的图形交互系统,作为一种自然交互系统,其能够让用户更多地具有人性化的体验,从而更方便更自然地操作计算机。2)能够为其他技术领域提供人机交互方式从图形交互向自然交互转变的可行方案,比如将汽车使用的控制按钮改进为更加方便的交互方式。3)能够为便携式IT设备的操作方式提供切实可行的应用技术,并且改变便携设备的结构,从而减少便携设备的体积与重量。 总之,基于计算机视觉的人机交互系统具有巨大的潜在经济价值和科技价值以及产业化前景。然而,目前现有的基于计算机视觉的人机交互系统普遍存在有交互功能少、识别失误率高的缺陷。经检索现有技术发现,与本发明接近的交互系统装置是通过摄像头采集人的头部运动信息来进行人机交互Nouse感知视觉交互系统(Nouse Perceptual VisionInterface)通过使用2台常用的摄像头,在低分辨率下采集2D或3D的面部信息,以鼻子这一明显凸起的部分作为特征跟踪其运动轨迹,从而控制计算机光标的移动,并以眨眼来执行单击或双击的操作。该技术的不足在于通过面部动作(如眨眼)所能实现的计算机命令的种类数量有限,即交互功能少,同时识别准确率低。

发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提供一种基于计算机视觉的手势交互系统,利用计算机摄像头实时采集人手势的视频信息,并通过图像处理对手势视频信息进行识别,实现鼠标光标的多项基本功能,达到在不借助鼠标的条件下操作计算机的目的,并实现使人更加便捷、迅速、准确地与计算机进行交互的效果。本发明解决其技术问题的技术方案为一种基于计算机视觉的手势交互系统,其包括视频采集模块、图像处理模块、识别定位模块和交互设计模块;所述视频采集模块包括有摄像头,该视频采集模块通过摄像头实时采集人手的视频图像并将每一帧图像缩小为160*120像素,同时将该缩小的手部图像传输到图像处理模块;所述图像处理模块连接视频采集模块,该图像处理模块实时接收并分析由视频采集模块传输来的手部图像,并通过高斯滤波去除噪声和二值化处理,截取手形轮廓作为识别与跟踪的二值化图像;所述识别定位模块连接图像处理模块,并且其中存储有分别代表“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”功能的样本手势图像,该识别定位模块实时接收并分析由图像处理模块传输来的二值化图像,将该二值化图像与所述样本手势图像比较,识别出所述手部图像的手势所代表的功能,同时对手的二值化图像进行实时跟踪并将其位置传输给交互设计模块;所述交互设计模块连接识别定位模块,该交互设计模块根据由识别定位模块实时接收来的手势识别结果和手位置的坐标调用鼠标API,并控制鼠标光标实现“移动”、“左键单击”、“左键双击”、“右键单击”或“无动作”功能。所述识别定位模块通过PCA算法识别所述手部图像的手势所代表的功能,同时通过粒子滤波算法实时跟踪手的位置。与现有技术相比较,本发明达到的技术效果如下(I)与现有技术只能实现极少操作功能相比,本发明利用人的手部动作更加丰富和自然的优势,用以产生更多的控制命令,实现了鼠标光标的移动、左键单击、左键双击、右键单击和无动作5个基本功能,并使人机交互更加自然和舒适。(2)视频信息增加了对噪音和干扰的处理,突出了需要的手部图像,从而提高了手势识别的精确度。(3)同时实现手部跟踪与手势识别两种方式,并且运用高效、准确的图像处理方法,大大提高了识别结果的准确率,减少了系统的错误,同时能够对手势快速作出反应,延迟平均只有45ms。(4)采用了手势过渡网络,能够在原有的基础上增加识别成功率,减少系统错误。(5)本发明增加了 “无动作”的手势输入,当人手的移动超出摄像头屏幕范围而光标尚未达到目标坐标时,用户可以通过保持这个手势将手移回到摄像头屏幕中合适的地方而使鼠标光标不会跟随着手的移动而移动,从而继续通过使用移动手势操作光标接着沿原方向移动。总之,本发明所述基于计算机视觉的手势交互系统具有精确度高、反响速度快、交互功能多、识别准确率高的优点,达到了人机之间更加快速、有效、自然的交互效果,不仅可以用于计算机输入的人机手势交互,也可以用于系统监控、模式识别等其他领域。


图1为本发明的结构示意图。
图2为精细化前后手部图像的对比;其中,图2a为精细化的手部轮廓,图2b为未精细化的手部轮廓。图3为粒子滤波算法效果示意图;其中,图3a为二值化图像,图3b为粒子滤波样本图像。图4为五种手势的二值化图。图5为训练样本 图像。图6为手势过渡网络示意图。图7为交互设计逻辑图。图8为本发明的逻辑框图。
具体实施例方式现结合具体实施例和附图对本发明作进一步详细说明。本发明所述基于计算机视觉的手势交互系统通过摄像头实时采集人手的视频图像,通过高斯滤波、二值化等多种图像处理方法对视频信息进行处理以突出手形并获取手形轮廓,然后通过PCA算法对手形轮廓进行手势识别,同时使用粒子滤波算法跟踪手掌所在的位置,最终根据手势识别结果和手掌所在位置调用鼠标API,使鼠标光标实现“移动”、“左键单击”、“左键双击”、“右键单击”或“无动作”操作功能。请参阅图1本发明的示意图,所述基于计算机视觉的手势交互系统包括视频采集模块、图像处理模块、识别定位模块和交互设计模块。(I)所述视频采集模块包括有摄像头,该视频采集模块通过摄像头实时采集人手的视频图像并将每一帧图像缩小为160*120像素,这样可以大大提高整个系统的执行效率,同时将该缩小的手部图像传输到图像处理模块。(2)所述图像处理模块连接视频采集模块,该图像处理模块实时接收并分析由视频采集模块传输来的每一帧已经经过缩小后的手部图像,并通过高斯滤波去除噪声和二值化处理,突出需要的手部图像,最后截取手形轮廓作为识别与跟踪的二值化图像,这样能显著提高识别成功率。在图像处理模块中,首先利用高斯滤波去除噪声,以减少帧图像中噪声对之后跟踪算法与识别算法的影响;然后将RGB图像转换为HSV图像,通过手的HSV颜色特征(H ^ 35, S ^ 58)将手和背景分开,手白色而背景为黑色,形成二值化图像;最后提取白色部分边缘作为手势轮廓,并对手形轮廓进行精细化。精细化手形区域的过程如下在图像处理模块中,根据HSV特征二值化(手部为白色,背景为黑色)提取后的手型区域很有可能因为视频质量或者背景环境而包含了很多非手部象素点或者小块区域,见图2b,由于手要控制鼠标光标,所以在摄像头范围内会占用比较大的区域,因此我们利用截取拥有最长轮廓的白色区域来过滤这些非手部的元素。首先在二值化图像中找到轮廓最长的一个白色区域,这个区域被系统作为手形区域,考虑到手的关节处可能发红,在二值化图像中呈黑色,所以系统会用白色填充手形区域,同时把手形区域以外的所有区域涂黑,从而过滤除去非手部像素点和小块区域。精细化后的效果如图
2b o(3)所述识别定位模块连接图像处理模块,并且其中存储有分别代表“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”功能的样本手势图像,该识别定位模块实时接收并分析由图像处理模块传输来的二值化图像,然后分为两个部分同时进行,一个部分是将该二值化图像与所述样本手势图像比较,识别出所述手部图像的手势所代表的功能,另一个部分 是对手的二值化图像进行实时跟踪并将其位置传输给交互设计模块,该跟踪部分处理的是图像处理模块中截取的二值化手势图像。在所述识别定位模块的手部跟踪部分,采用了现在比较实用的粒子滤波算法实时跟踪手的位置。手部跟踪算法一粒子滤波法是一种通过寻找一组在状态空间传播的随机样本对概率密度进行近似,以样本均值代替积分运算,从而获得最小方差分布的过程。这种算法是在图像之中找Num(这里设为1500)个点作为样本,并根据每个样本权重重新取样(如图3),其中计算权重重新取样的过程防止了粒子滤波产生退化现象,也是本算法中最重要的一个部分。在程序刚开始时随机地在二值化图像中设置Num个点作为样本,并规定了追踪目标特征为二值化图像中像素点灰度值=255(这些点就是手势范围的内的像素点),当程序运行时每一帧中的样本会反馈一个权重值,在这里我们将象素灰度值为255的样本点的权重值定为1,而灰度值为0的样本点权重值定为O。算法在视频的每一帧都需要重新采样,而此时则根据上一帧所有样本点的权值采样对于权重值为I的样本点,我们将按比例复制这些样本点并在其附近区域随机的找一个新的位置作为本帧的新的样本点,而对于权重值为0的样本点,系统将其忽略。最后将手的坐标返回为当前帧所有样本点坐标的均值,相比其他手部跟踪算法(如camshift)大大提高了手部位置坐标的精确度。在所述识别定位模块的手势识别部分,采用了简单高效的主成分算法(PCA)降维,然后使用最小距离分类器识别所述手部图像的手势所代表的功能。首先采用了 5种人的手势来对应所述手势交互系统中鼠标的5个功能“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”,如图4。其中,“无动作”功能不是基本操作功能,而是一个辅助功能,其是为了当移动时感觉手的位置不舒服,或者手要移出摄像头范围而无法移动到目的坐标时,用户能够使光标不做任何动作,等到手移动到合适位置后再继续中断的操作。该辅助功能提高了系统的可操作性。PCA算法与最小距离分类器识别一主成分算法是统计分析中一种分析、简化数据集的方法。这种方法经常用到减少维数同时保持数据集中对方差贡献最大的特征。PCA算法与最小距离分类器识别分为两个阶段训练阶段和识别阶段。在训练阶段,我们首先为5个不同的手势各提供了 5个尺寸为M*N的不同的二值图像xl,x2…x25(如图5)。先写出训练样本矩阵X = (xl, x2, x3,…,x25)T,其中xi为由第i个图像每一列向量堆叠成一列MN维列向量
“11 aU aU 21 a22 a23 ~^{U I a2\ a31 Q\2 U2- Q32 flI3 Q23
V1 a32y
O
第二步计算平均手r =~Z-V,和差值手di=x1-W,并构建协方差矩阵
C = -erd=从為,…,电)。然求出协方差矩阵的特征值和特征向量,构造特征手
空间。这时候由于协方差矩阵C维数为MN*MN,它的维数很大会导致计算量很大,所以采用奇异值分解定理,通过求解AtA的特征向量和特征值来获得AAt的特征向量和特征值。求出AtA的特征值Xi以及其正交归一化特征向量Vi并选取前10个最大的特征值和对应的特征向量。再通过AtA的特征向量和特征值求出原协方差矩阵的特征向量
二了加八,=则特征脸空间为w = (U1, y2,…,最后将每一幅手的图片与平均手的差值向量投影到特征脸空间,即Q j = to Tdjwhere j = 1,2,......,25。系统预先执行训练阶段并将训练阶段产生的有关数据(如特征脸空间、样本图像与平均手的差值在特征脸空间的投影等)在识别定位模块中存储为一个handdata. xml文件,该文件即为分别代表“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”功能的样本手势图像数据,将在识别阶段中使用。识别阶段可以与训练阶段类比。首先我们在手部轮廓的二值图像中选取包含轮廓的最大矩形范围,并将其归一化为M*N的图片(与样本图片的尺寸一致),然后将归一化后的图片与平均手的差值手投影到特征空间,得到其特征向量Q Y,最后采用欧氏距离来计算Q ¥与每一个样本手的距离e i,若某一个样本X与Q Y的距离e x最小,则将当前帧的手势识别为该样本手势。(4)所述交互设计模块连接识别定位模块,该交互设计模块根据由识别定位模块实时接收来的手势识别结果和手位置的坐标调用鼠标API,并控制鼠标光标实现“移动”、“左键单击”、“左键双击”、“右键单击”或“无动作”功能。在交互设计模块中,将五种手势分为三类,其中“左键单击”、“左键双击”和“右键单击”为点击类功能,“移动”是移动类功能,“无动作”为辅助类功能。在实现点击类功能时可能会产生两个问题一个是由于点击功能需要伸出手指,在这一过程中会有几帧被识别为移动功能,导致鼠标光标向上偏移,本发明的解决方案是调用单击前将鼠标移回之前第4帧的位置进行单击,这样虽然需要用户在单击前停留0. 2秒左右,但是能够解决偏移的问题;另一个问题是移动时若手势被误判为点击手势,则会造成错误,本发明的解决方案是考虑前两帧若前一帧和当前帧是同样类型的点击且之前的第二帧是移动手势,则执行点击功能。在实现移动类功能时可能会产生两个问题一个是手区域抖动会影响光标移动的准确性,本发明的解决方案是延迟一帧,计算角度判断抖动,即根据近3帧坐标夹角的方法来减少鼠标的抖动假设前两帧手的坐标和当前手的坐标分别是pos2、pol、posO,则当Z pos2、posU pOS0〈100°时,则认为是一个抖动,将不执行移动功能,并且由posO代替posl ;否则计算posl时的鼠标移动坐标,并更新鼠标坐标;另一个是当手将要移动出摄像头屏幕范围时光标还未达到目标坐标,我们设计了一种辅助手势。使用这种手势时鼠标不会跟随着手的移动而移动,用户可以保持无动作手势将手移到摄像头屏幕中合适的地方,然后使用移动手势向着原方向接着移动光标。程序模拟鼠标移动原理与防抖动技术——鼠标光标移动根据鼠标速度的快慢而加快或者减慢。本发明通过计算两帧之间手掌坐标的距离代表速度,并将其映射给屏幕坐标系上的鼠标光标,计算鼠标光标的速度和当前帧应该移动的距离设置鼠标位置。考虑到手静止时光标可能会由于手部截取部分边缘的抖动而随机的抖动,所以采用延迟一帧,通过前一帧、当前帧和未来帧的手的坐标判断手是在移动还是在抖动,从而减少抖动。手势过渡网络提高识别准确率一由于识别算法的准确率无法达到100%,所以本发明通过手势过渡网络与识别算法配合,提高识别结果。手势过渡网络总是延迟一帧,根据前一帧、当前帧和未来帧手的识别结果链来决定最终识别结果(如图6)。若3帧都是移动则最终识别结果为移动,若第一帧为移动而后两帧为点击操作,则识别结果为点击操作。无动作手势很特殊,识别它时不会延迟一帧,而是通过未来帧立刻判断识别结果。所述交互设计模块的逻辑图见图7。所述基于计算机视觉的手势交互系统运行的逻辑框图见图8。本发明并不仅限于上述实施方式,在本发明的范围内,做出的任何非实质变化、改型、添加或替换,都应属于本发明的保护范围。
权利要求
1.一种基于计算机视觉的手势交互系统,其特征在于所述手势交互系统包括视频采集模块、图像处理模块、识别定位模块和交互设计模块;所述视频采集模块包括有摄像头,该视频采集模块通过摄像头实时采集人手的视频图像并将每一帧图像缩小为160*120像素,同时将该缩小的手部图像传输到图像处理模块;所述图像处理模块连接视频采集模块,该图像处理模块实时接收并分析由视频采集模块传输来的手部图像,并通过高斯滤波去除噪声和二值化处理,截取手形轮廓作为识别与跟踪的二值化图像;所述识别定位模块连接图像处理模块,并且其中存储有分别代表“移动”、“左键单击”、“左键双击”、“右键单击”和“无动作”功能的样本手势图像,该识别定位模块实时接收并分析由图像处理模块传输来的二值化图像,将该二值化图像与所述样本手势图像比较,识别出所述手部图像的手势所代表的功能,同时对手的二值化图像进行实时跟踪并将其位置传输给交互设计模块;所述交互设计模块连接识别定位模块,该交互设计模块根据由识别定位模块实时接收来的手势识别结果和手位置的坐标调用鼠标API,并控制鼠标光标实现“移动”、“左键单击”、“左键双击”、“右键单击”或“无动作”功能。
2.根据权利要求I所述的基于计算机视觉的手势交互系统,其特征在于所述识别定位模块通过PCA算法识别所述手部图像的手势所代表的功能,同时通过粒子滤波算法实时跟踪手的位置。
全文摘要
一种基于计算机视觉的手势交互系统,其包括视频采集模块、图像处理模块、识别定位模块和交互设计模块,其中,视频采集模块通过摄像头实时采集人手的视频图像,图像处理模块通过高斯滤波、二值化等多种方法对视频信息进行处理并获取手形轮廓作为识别与跟踪的二值化图像,识别定位模块通过PCA算法对手形轮廓进行手势识别,同时使用粒子滤波算法跟踪手掌所在的位置,交互设计模块最终根据手势识别结果和手掌所在位置调用鼠标API,使鼠标光标实现“移动”、“左键单击”、“左键双击”、“右键单击”或“无动作”操作功能。本发明具有精确度高、反响速度快、交互功能多、识别准确率高的优点,不仅可以用于计算机输入的人机手势交互,也可以用于系统监控、模式识别等其他领域。
文档编号G06F3/0487GK102981742SQ201210494660
公开日2013年3月20日 申请日期2012年11月28日 优先权日2012年11月28日
发明者孙杳如, 朱华平, 徐一菲, 王子剑 申请人:无锡市爱福瑞科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1