基于视觉的手势识别方法及系统的制作方法

文档序号:6602302阅读:304来源:国知局
专利名称:基于视觉的手势识别方法及系统的制作方法
技术领域
本发明属于手势识别领域,尤其涉及一种基于视觉的手势识别方法及系统。
背景技术
在人机交互技术中,键盘、鼠标、游戏杆目前是主要的输入工具,人们必须借助这 些工具才能实现人机交互,而人的手势可以说是最为自然、直观、易于学习的交流手段,更 是人机交互中最好的输入工具,但是由于人手是复杂的变形体,无法用简单的模型加以表
7J\ o最初的研究主要集中在做一种专用硬件设备来进行输入,例如数据手套等。最后 人们终于把注意力集中到自然手上,通过专用的加速硬件和脱机训练,一些研究者成功地 研制了手势识别系统,但其识别的手势仅限于几种。例如,Freeman和Roth等人提出的基 于方向直方图的手势识别系统。1994年,高文等人提出了一种静态复杂背景手势目标的捕 获与识别,1995年又提出了动态复杂背景中实施目标的捕获与识别方法。1999年常红等人 提出了基于计算机视觉技术的手形手位跟踪方法。2002年邹伟提出了一种基于双信息源的 人手空间跟踪方法,其利用视觉输入提取手的平面位置信息,借助于安装于肘部的弯曲传 感器获取手臂的弯曲角度,根据所建模型由二者通过模糊计算确定手的深度信息。基于视觉的手势识别以人手直接作为计算机的输入设备,人机之间的通讯不再需 要中间媒体,用户可以简单地定义一种适当的手势来对周围的机器进行控制。目前基于视 觉的手势识别技术多采用人工神经网络(ANN)、隐Markov模型(HMM)等方法,但这些方法存 在算法复杂、实时性不高等缺陷。

发明内容
为克服现有技术中的不足,本发明公开了一种基于视觉的手势识别方法及系统, 在由FPGA作为主控芯片,与所述手势图像采集装置构成的系统上通过手势图像采集、图像 数据录入、手势图像识别、操作指令执行四个步骤实现一种直接使用人手作为输入工具的 简单实时的人机交互方法。本发明的技术方案如下—种基于视觉的手势识别方法,其包括以下步骤(1)手势图像采集通过手势图像采集装置不断采集图像数据更新数据缓存,用 于获取用户手势图像数据,作为待识别手势。(2)图像数据录入从数据缓存中读取当前两幅连续手势图像数据,每次录入两 幅连续RGB图像数据,将这两幅图像的像素值即R分量做差,差值大于15的像素点个数小 于阈值,则认为图像静止,若静止进入步骤(3),否则返回步骤(1)。其中阈值的确定是将开 机后的连续两幅图像像素值R分量做差,差值大于15的像素点个数加50作为阈值。(3)手势图像识别处理手势图像数据、提取特征并与特征库中的模板匹配得出 识别结果;所述手势图像识别包括以下步骤
(31)图像二值化将彩色图像进行颜色空间转换之后用全局阈值法将图像划分 为前景和背景两个区域,根据前景在整幅图像中所占比例判断图像中是否有手势,有手势 进行所述手势分割,否则重新采集图像数据并录入;(32)手势分割从经所述手势图像二值化之后的图像中分割出完整的手势图像;(33)特征提取根据经所述手势分割后的手势图像得出手指个数、手指长度及指 尖距离、图像几何矩和图像转动惯量作为手势特征向量;(34)特征匹配将待识别手势特征与特征库中模板的特征进行匹配,得出识别结^ o通过将两幅连续图像分别进行上述的图像二值化、手势分割、特征提取、特征匹配 得出两个识别结果,若识别结果一致则根据该识别结果执行后续相应指令,否则重新采集 手势图像进行识别。本发明直接用人手作为输入工具,只要采集的图像包含完整的手势,可容忍手势 的平移和尺度变化以及一定角度的旋转,大大增强了设备的易用性。本发明还根据所述基于视觉的手势识别方法,提出了一种基于视觉的手势识别系 统,所述系统包括手势图像采集装置用于采集手势图像数据;控制器用于录入手势图像数据,并对所述录入图像进行手势识别得出识别结果 并发送到嵌入手势识别系统的机器使其执行相应指令。所述手势图像采集装置将采集到的图像数据写入外接SRAM中,然后控制器则在 SRAM中读回图像数据进行后续处理,采用片上RAM作为缓冲。本发明利用Nios II软核,嵌 入FPGA内部,与用户自定义逻辑结合构成一个基于FPGA的片上系统。本发明利用FPGA的并行处理能力提高系统性能,采用定制自定义模块用硬件实 现耗时大的软件算法模块提高系统性能,采用Mos II处理器的自定义指令方式用硬件实 现部分复杂算法片段,方便的在软件程序中调用,大大提高了程序执行效率,另外还利用新 推出的C2H工具直接将一些软件程序进行硬件化,提高系统性能,这些都好的保证了本发 明的高速的处理速度,具有很好实时性,并具有高可靠性。


图1为基于视觉的手势识别操作方法及系统的总体框2为基于视觉的手势识别操作方法及系统的软件结构框3为基于视觉的手势识别操作方法及系统的软件流程4为八方向freeman链码图
具体实施例方式如图1所示,基于视觉的手势识别方法包括以下步骤1)手势图像采集用于获取用户手势图像数据,作为待识别手势。手势图像采集是通过手势图像采集装置不断采集图像数据更新数据缓存,为了得 到具有一定清晰度且大小适中的手势,本发明采用的图像分辨率为120女160个像素。2)图像数据录入为了得到更加准确的识别结果,避免对用户还未摆放好手势时采集到的图像进行处理得出错误的结果,需要录入两幅连续图像数据,对应像素点的值做 差判断图像是否静止,若静止进入步骤3),否则返回步骤1)。3)手势图像识别处理手势图像数据、提取特征并与模板匹配得出识别结果。4)操作指令执行根据所述手势图像识别得出的识别结果执行相应指令。结合图2和图3所示本发明中首先对步骤2)中采集的其中一幅图像进行所述手势识别,若未得出正 常识别结果,则返回步骤1),反之若得出正常识别结果,则转入步骤31),对步骤2)中读取 的另一幅图像进行步骤3)中所述的操作得出另一识别结果,若判定图中手势为未定义手 势则返回步骤1),若得出正常识别结果且两幅图像识别结果一致则转入步骤4)。步骤4) 中根据步骤3)中得出的识别结果执行相应指令,转入步骤1)。本方法的步骤3)具体包括以下步骤31)图像二值化将彩色图像进行颜色空间转换之后用全局阈值法将图像划分为 前景和背景两个区域。根据前景在整幅图像中所占比例判断图像中是否有手势,有手势则 进入步骤32),否则返回步骤1)。32)手势分割从经所述手势图像二值化之后的图像中分割出完整的手势。33)特征提取根据经所述手势分割后的手势图像得出手指个数、手指长度及指 尖距离、图像几何矩和图像转动惯量作为手势特征。34)特征匹配将待识别手势特征与特征库中模板的特征进行匹配,得出识别结^ o进一步地,步骤31)中,所述图像二值化是指先将采集的RGB彩色图像转化到HLC 颜色空间,然后用全局阈值法将图像划分为前景和背景两个区域。在所述HLC空间中,H分量描述着物体的颜色类型,即色调;L为亮度;C为色彩的 浓度。通过对大量肤色和非肤色在H空间分布的分析,建立的肤色分割公式如下
—|255......如果Hd < H < Hu
H={0......其它其中H为像素点的色调值,Hu、Hd为H的上限和下限。根据上述公式分割HLC空 间的H分量,得到肤色为前景的二值化图像。所述的二值化图像中还存在许多噪声干扰,包括椒盐噪声和非手势的小连通域。 因此本方法还进一步采用空域滤波的方式去除椒盐噪声,将图像中8邻域内白色像素的个 数大于等于5的像素判定为前景(白色),否则判定为背景(黑色)。计算前景在整幅图像 中所占的比例,若该比例在一定阈值范围内(本发明中所取阈值范围为[20%,70%])则认 为图像中有手势,进入步骤32),否则返回步骤1)。进一步地,在步骤32)中,所述手势分割的目的就是去除二值化图像中存在的非 手势的小连通域。经所述图像二值化处理后的图像中前景(白色)不仅包括手势还存在一 些小连通域,因此本发明采用区域生长的方式对手势区域作进一步分割。由于手势区域的面积在整幅图像中占有一定比例,对图像进行逐行(或逐列)扫 描,若白色像素点的个数大于图像每行像素点个数的20%则以该行(或该列)白色像素点 个数过半的点为种子点,将图像以种子点为起始进行3次不同方向的全屏扫描,在种子点的8邻域内搜索白色像素点,纳入手势区域并作为种子继续搜索。所述手势分割在分割出完整手势后,图像中前景包括手和手臂。为更准确的提 取手势特征,采用一个42X40的框框定手势(去除手臂部分)之后,进入步骤33)。因为 用户通常用右手操作,此时手臂在手的右边,通过扫描图像找出图像前景中左侧第一个白 色点坐标(xl,yl),上方第一个白色点坐标(x2, y2),将图像中坐标在([x2, x2+39], [yl, yl+41])范围内的点取出作为所述手势分割后的手势图像。进一步地,步骤33)中,所述特征提取中包括提取手指个数,手指长度及指尖距 离。可用方向链码(Freeman链码)表示一条数字化二值轮廓曲线,如图4所示。八方向 Freeman链码是相邻两像素连线的八种可能的方向值。一条曲线被网格离散化后形成n条 链,此曲线链码可表示为{ai}n,每条链指向八个方向中的一个方向, e {0,1,…了丨,土为 像素的索引值,a,是由像素i指向像素(i+1)的方向链码。本发明先提取手势边缘,然后以逆时针方向搜索求得手势边缘的freeman链码。 边缘点中前后10个点的freeman链码对应按模8相减所得差值中有5个或5个以上大于 等于2的点作为可疑指尖点,并计算该点作为指尖的手指长度及宽度,若手指长度大于12 个像素且宽度在1到5个像素之间则将该点作为指尖,得到指尖坐标,并将手指个数加1以 求得图像中手指个数。计算手指的长度时首先找出该指尖与相邻指尖之间弯曲程度最大的 点,然后计算该点与该指尖的距离作为手指的长度。本发明中将指尖坐标的欧式距离的平方作为指尖距离,公式如下dij = (xi-xJ)2+(yi-yJ)2其中、为第i个手指与第j个手指之间的距离(0 <= i,j < 5),(Xi,Yi)、(Xj, yj)分别为第i个手指与第j个手指的指尖坐标。所述特征提取还包括图像几何矩和整体转动惯量。考虑到实验效果和计算复杂 度,本发明使用前4个几何矩特征量,公式如下Oj = n 20+ n 02o2 = (n2o-no2)2+4nn2o3 = (n30-3 n 12)2+ (3 n21- n03)2①4 = (n30+n12)2+( n03+n21)2其中①丨、①2、①3、0)4为4个几何矩,npq为归一化中心矩
为图像位移不变中心矩
, f (x, y)为点(x,y)的像素
值,(Xi,yi)为图像的质心,p、q为中心矩的阶次。根据经所述手势分割得到的手势图像计算得到前4个几何矩特征量作为手势的4 个特征值。采用整个图形的前四个几何矩和整体匪I (转动惯量)值未能将本发明定义的手 势完全区分,因此除了将图像整体的匪I值作为特征外,还将图像四等分后分别求出其匪I 作为图像的另外4个特征,也就是再求取图像的二阶匪I值。最后由手指长度,指尖距离, 图像的四个几何矩,一个整体转动惯量,以及四个图像二阶转动惯量共同构成手势的特征 向量,计算出所有特征后进入步骤34)。
进一步地,步骤34)中,所述特征匹配分为粗匹配和细匹配两个步骤。粗匹配是指 根据手指个数将静态手势分为几大类。细匹配是指在经所述粗匹配的基础上,通过计算待 识别手势特征向量(除手指个数外的特征)与特征库中所有模板的欧式距离,若最小距离 小于阈值则将其手势判定为与其距离最小的模板,否则判定为未定义手势(不正常结果)。采用整个图形的前四个几何矩和整体匪I (转动惯量)值未能将本发明定义的手 势完全区分,因此除了将图像整体的匪I值作为特征外,还将图像四等分后分别求出其匪I 作为图像的另外4个特征,也就是再求取图像的二阶匪I值。最后由手指长度,指尖距离, 图像的四个几何矩,一个整体转动惯量,以及四个图像二阶转动惯量共同构成手势的特征 向量。由于基于freeman链码求出指尖坐标及手指个数的方法并不要求用户将手势完 全按标准手势放置,即允许手势平移、旋转、尺度的变化,而图像几何矩和整体转动惯量同 样具有平移、旋转和尺度不变性,虽然二阶转动惯量将图像四等分在一定程度上破坏了特 征的旋转不变性,但本发明仍然可容忍手势的平移和尺度变化以及一定角度的旋转。其中,所述步骤3)中包括一手势图像特征库,可采集一定量的手势样本,通特征 提取得出需定义手势的特征,将其写入特征库便可完成手势的定义。该特征库中存储已定 义手势的特征向量及对应操作指令,该特征向量未包括手指个数,因为手指个数已用于粗 匹配。比如手握成拳头表示开机,五指张开表示关机等,还可按照用户需要定义其他手势, 这些手势的特征向量需预先采集多个样本计算其特征向量得到。实现上述方法的手势识别系统包括手势图像采集装置用于采集手势图像数据;控制器用于录入手势图像数据,并对所述录入图像进行手势识别得出识别结果 并发送到嵌入手势识别系统的机器使其执行相应指令。本发明的硬件部分采用S0PC技术构建,所述控制器核心芯片为现场可编程门阵 列(FPGA)芯片,内嵌Nios II软核处理器,具有结构简单,开发成本低,开发周期短等特点, 并可方便灵活的进行软硬件升级、移植。参见图2,在FPGA芯片上嵌入NiosII处理器作为主控器录入手势图像、判断手势 是否静止,若静止则进行图像二值化、手势分割、进而提取手势特征与存储在特征库中的模 板匹配得出识别结果发送相应红外信号控制周围的机器。在对一定量的手势样本进行特征 提取后,可通过特征录入定义新的手势,并通过特征库管理设置与其对应的红外信号。本系统具有学习功能,所述红外信号收发装置可接收红外信号,同时可通过设置 所述已定义手势发送该红外信号,实现用户所需的各种功能,更加方便的进行人机交互。本发明对于系统中比较复杂耗时的部分,比如图像二值化、手势分割部分等,使用 自定义模块进行加速。另外本发明还采用了 C2H进行硬件加速,将算法中有大量循环的程 序,封装成函数,采用C2H进行加速,简单高效,极大提高了本发明的实时性,使本发明可实 时采集并识别手势图像,手势识别时间仅需0. 7s。
9
权利要求
一种基于视觉的手势识别方法,其特征在于包括以下步骤(1)手势图像采集通过手势图像采集装置不断采集图像数据更新数据缓存,用于获取用户手势图像数据,作为待识别手势;(2)图像数据录入从数据缓存中读取当前两幅连续手势图像数据,每次录入两幅连续RGB图像数据,将这两幅图像的像素点的R分量做差,差值大于15的像素点个数小于阈值,则认为图像静止,若静止进入步骤(3),否则返回步骤(1);所述阈值是将开机后的连续两幅图像像素值R分量做差,差值大于15的像素点个数加50作为阈值;(3)手势图像识别处理手势图像数据,提取特征并与特征库中的模板匹配得出识别结果;所述手势图像识别包括以下步骤(31)图像二值化将彩色图像进行颜色空间转换之后用全局阈值法将图像划分为前景和背景两个区域,根据前景在整幅图像中所占比例判断图像中是否有手势,若前景在整幅图像中所占比例在设定阈值范围内,则认为图像中有手势,即进行下一步手势分割,否则重新采集图像数据并录入;(32)手势分割从经所述手势图像二值化之后的图像中分割出完整的手势图像;(33)特征提取根据经所述手势分割后的手势图像得出手指个数、手指长度及指尖距离、图像几何矩和图像转动惯量作为手势特征向量;(34)特征匹配将待识别手势特征与特征库中模板的特征进行匹配,得出识别结果;通过将两幅连续图像分别进行上述的图像二值化、手势分割、特征提取、特征匹配过程得出两个识别结果,若识别结果一致则根据该识别结果执行后续相应指令,否则重新采集手势图像进行识别。
2.根据权利要求1所述基于视觉的手势识别方法,其特征在于所述步骤(31)的图像二值化是指先将采集的RGB彩色图像转化到HLC颜色空间,然后 用全局阈值法将图像划分为前景和背景两个区域;在所述HLC颜色空间中,H分量描述着物体的颜色类型,即色调;L为亮度;C为色彩的 浓度,采用肤色分割公式如下_ J255......如果Hd < H < HuΗ={0......其它其中H为像素点的色调值,Hu、Hd为H的上限和下限,根据上述公式分割HLC空间的H 分量,得到肤色为前景的二值化图像。
3.根据权利要求2所述基于视觉的手势识别方法,其特征在于在所述步骤(31)的图像二值化处理中,直接由所述全局阈值法分割得到的二值化图 像中还存在许多噪声干扰包括椒盐噪声和非手势的小连通域,采用空域滤波的方式去除椒 盐噪声,将图像中8邻域内白色像素的个数大于等于5的像素判定为前景即白色,否则判定 为背景即黑色。
4.根据权利要求3所述的基于视觉的手势识别方法,其特征在于所述步骤(32)的手势分割是对图像二值化处理后的图像进行逐行或逐列扫描,若白 色像素点的个数大于图像每行或每列像素点个数的20%,则以该行或该列白色像素点个数 过半的点为种子点,将图像以种子点为起始进行3次不同方向的全屏扫描,在种子点的8邻 域内搜索白色像素点,纳入手势区域并作为种子继续搜索,最终分割出完整的手势。
5.根据权利要求4所述的基于视觉的手势识别方法,其特征在于所述步骤(32)的手势分割在分割出完整手势后,采用一个42X40的框框定手势,去除 手臂部分,具体是通过扫描图像找出图像前景中左侧第一个白色点坐标(xl,yl),上方第一 个白色点坐标(x2,y2),将图像中坐标在([x2,x2+39], [yl,yl+41])范围内的点取出作为 所述手势分割后的手势图像。
6.根据权利要求1所述的基于视觉的手势识别方法,其特征在于所述特征提取中包括提取手指个数,手指长度、指尖距离、图像几何矩和图像转动惯量;所述提取手指个数是先提取手势边缘,然后以逆时针方向搜索求得手势边缘的 freeman链码,边缘点中前后10个点的freeman链码对应按模8相减所得差值中有5个或 5个以上大于等于2的点作为可疑指尖点,并计算该点作为指尖的手指长度及宽度,若手指 长度大于12个像素且宽度在1到5个像素之间则将该点作为指尖,得到指尖坐标,并将手 指个数加1以求得图像中手指个数;所述提取手指长度是首先找出该指尖与相邻指尖之间弯曲程度最大的点,然后计算该 点与该指尖的距离作为手指的长度;所述提取指尖距离是将指尖坐标的欧式距离的平方作为指尖距离; 所述提取图像几何矩是根据经所述手势分割得到的手势图像计算得到前4个几何矩 特征量作为手势的4个特征值,公式如下 φι = η 20+ η 02 φ2 = (n20-n02)2+4nn2φ 3 = (η3ο-3η12)2+(3η21-η03)2 φ 4 = (η3ο+η12)2+(η03+η21)2其中①丨、φ2、φ3、(54为4个几何矩,η Ρ 为归一化中心矩 , f (χ, y)为点(x,y)的像素值,(Xi,yi)为图像的质 心;所述提取图像转动惯量是将图像整体的匪I值作为特征。
7.根据权利要求6所述基于视觉的手势识别方法,其特征在于所述特征提取还将图像四等分后分别求出其匪I作为图像的另外4个特征,即再求取 图像的二阶匪I值。
8.根据权利要求1所述基于视觉的手势识别方法,其特征在于 所述步骤(33)的特征匹配分为粗匹配和细匹配两个步骤; 所述粗匹配是指根据手指个数将静态手势分为几大类;所述细匹配是指在经所述粗匹配的基础上,通过计算待识别除手指个数外的手势特征 向量与特征库中所有模板的欧式距离,若最小距离小于阈值则将其手势判定为与其距离最 小的模板,否则判定为未定义手势;所述手势图像特征库中存储已定义手势的特征向量及对应操作指令。
9.一种利用权利要求1至8之任意一项所述的基于视觉的手势识别方法的手势识别系统,其特征在于所述系统包括手势图像采集装置用于采集手势图像数据;控制器用于录入手势图像数据,并对所述录入图像进行手势识别得出识别结果并发送到嵌入手势识别系统的机器使其执行相应指令;所述手势图像采集装置将采集到的图像数据写入外接SRAM中,然后控制器则在SRAM 中读回图像数据进行后续处理,采用片上RAM作为缓冲;所述系统硬件部分采用SOPC技术构建,所述控制器核心芯片为现场可编程门阵列 FPGA芯片,内嵌Nios II软核处理器。
全文摘要
本发明提出了一种基于视觉的手势识别的操作方法及系统,系统包括手势图像采集装置和控制器,实现主要功能包括手势图像采集、图像数据录入、手势图像识别、操作指令执行。所述手势图像识别包括图像二值化、手势分割、特征提取、特征匹配。本发明具有实时性,通过提取用户手势图像的特征并匹配得出识别结果,再根据识别结果执行相应指令。本发明直接用人手作为输入工具,只要采集的图像包含完整的手势,可容忍手势的平移和尺度变化以及一定角度的旋转,大大增强了设备的易用性。
文档编号G06K9/54GK101853071SQ201010171960
公开日2010年10月6日 申请日期2010年5月13日 优先权日2010年5月13日
发明者何伟, 张玲, 李佳, 谭斌, 赖琴 申请人:重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1