CN108921011A - 一种基于隐马尔可夫模型的动态手势识别系统及方法 - Google Patents
一种基于隐马尔可夫模型的动态手势识别系统及方法 Download PDFInfo
- Publication number
- CN108921011A CN108921011A CN201810464181.1A CN201810464181A CN108921011A CN 108921011 A CN108921011 A CN 108921011A CN 201810464181 A CN201810464181 A CN 201810464181A CN 108921011 A CN108921011 A CN 108921011A
- Authority
- CN
- China
- Prior art keywords
- gesture
- hand
- dynamic
- sequence
- hmm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
- G06F18/295—Markov models or related models, e.g. semi-Markov models; Markov random fields; Networks embedding Markov models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于使用隐马尔可夫模型的视觉实时动态手势识别系统,所述视觉实时手势识别系统包括手势特征提取模块、分类器训练模块、识别模块,本方案中通过提出一种新动态手势特征提取方式以及特征处理方式,使用隐马尔可夫模型构造动态手势分类器,结合手部形状特征和手部运动特征对分类器进行训练,最后,训练好的分类器可以用于实时识别训练样本集合以外的新手势,能够低运算复杂度识别动态手势从而能够实际应用。
Description
技术领域:
本发明属于人机交互及模式识别技术领域,主要涉及一个融合手形和运动特征的隐马尔可夫模型动态手势识别系统及方法。
背景技术:
随着信息技术的快速发展,人与各种计算机系统的交互活动已经变得不可避免。因此人机交互技术受到了越来越多的重视。其中,动态手势为人机交互提供了一种更便捷、更自然的方式,以代替鼠标、键盘等传统的交互设备。通过手指和手掌的物理运动,动态手势既可以表达重要的信息,也可以与外部环境进行交互。根据手势数据输入方式的不同,可以将动态手势识别系统划分为基于数据手套的系统和基于视觉的系统。在基于数据手套的识别系统中,用户需要戴着设有特殊传感器的数据手套,因此应用场景会有一定的局限性。在基于视觉的识别系统中,通常只需要设置一个或多个摄像头,用户使用起来会更方便、更自然。在动态手势中,既包括手部形状的变化,也包括手部的空间运动。因此,只有同时对手部形状和手部运动建模,才能更准确地表示动态手势。但是现有的自动化动态手势识别方法一般仅仅使用手部运动特征区分不同的动态手势,因此不能用于表达更丰富的手势指令;现有技术中的结合手部形状特征和手部运动特征的识别方式,对于如何确定并提取动态手势的特征值没有较好的方式,由于没有较好的动态手势特征值设定方式以及提取量化算法从而对识别手部形状特征的实现方式效果较差,存在较大的手部形状识别误差,同时结合手部形状特征和手部运动特征的识别复杂度较高,往往不能应用于实时识别领域。
针对现有技术没有一种能有效表达动态手势的特征值设定方式以及现有技术中获取手势形状以及手部运动特征的特征值识别复杂度较高的问题,本发明提出一种针对的是基于视觉的实时动态手势识别,提出一种融合手形和运动特征的隐马尔可夫模型动态手势识别系统及方法,解决现有技术中没有清晰的表达运动手势特征以及结合手部形状特征和手部运动特征的识别复杂度较高问题,同时能够从手势视频的每帧图像中分割出高质量的手部区域,从而准确的识别手部形状特征。能够满足如下要求:从手势视频的每帧图像中分割出高质量的手部区域;表示手部形状和手部运动的特征具有较低的计算复杂度;保证系统具有较高的识别准确率和效率。
发明内容:
本发明提供了一个基于使用隐马尔可夫模型的视觉实时动态手势识别系统及方法,该系统具有识别率高、运算速度快、鲁棒性强的特点。作为动态手势特征的简单形状描述子和运动方向编码的计算复杂度都是线性的,因此系统可以应用于实时的动态手势识别中。
本发明的一个主要目的在于提供一种基于视觉的实时动态手势识别系统,所述手势识别系统包括手部区域提取模块、手部区域跟踪模块、手势特征提取模块、分类器训练模块、识别模块;
(1)手部区域提取模块:用于基于图像边缘和肤色模型的手部区域提取方法,改进了从分辨率较低的图像中分割出来的手部区域质量,首先使用基于手部肤色直方图的方法提取出每帧图像中的手部区域,得到手部区域二值图像Gh,然后提取出每帧图像的边缘,得到边缘图像Ge,综合利用图像边缘信息和手部肤色信息得到细化的手部区域;
(2)手部区域跟踪模块:用于使用到跨平台计算机视觉库OpenCV中的CAMShift跟踪算法进行手部区域跟踪;
(3)手势特征提取模块:用于使用简单形状描述子表示手部形状,描述子包括手部轮廓的凸性质(convexity)、主轴长度比例(ratio of principal axes)和圆方差(circular variance),使用手部运动方向(orientation)的编码序列表示手部运动轨迹,构建一个动态的方向编码序列;
(4)分类器训练模块:用于使用隐马尔可夫模型(Hidden Markov Model,HMM)构造动态手势的分类器,每个动态手势类别都由一个HMM建模,分类器训练模块的输出结果是一个动态手势数据库,其中包含了一系列训练好的HMM,每个HMM都对应一个动态手势类别;
(5)识别模块:用于当输入一个未知类别的新手势时,手势识别系统分别计算该新手势与动态手势数据库中每个HMM之间的匹配程度,并从中选择最匹配模型代表的动态手势类别作为识别结果。
根据本发明的另一个方面,提供一种基于视觉的实时动态手势识别方法,所述手势识别方法包括以下步骤:
(1)手部区域提取:基于图像边缘和肤色模型的手部区域提取方法,改进了从分辨率较低的图像中分割出来的手部区域质量,首先使用基于手部肤色直方图的方法提取出每帧图像中的手部区域,得到手部区域二值图像Gh,然后提取出每帧图像的边缘,得到边缘图像Ge,综合利用图像边缘信息和手部肤色信息得到细化的手部区域;
(2)手部区域跟踪:使用到跨平台计算机视觉库OpenCV中的CAMShift跟踪算法进行手部区域跟踪;
(3)手势特征提取:使用简单形状描述子表示手部形状,描述子包括手部轮廓的凸性质(convexity)、主轴长度比例(ratio of principal axes)和圆方差(circularvariance),使用手部运动方向(orientation)的编码序列表示手部运动轨迹,构建一个动态的方向编码序列;
(4)分类器训练:使用隐马尔可夫模型(Hidden Markov Model,HMM)构造动态手势的分类器,每个动态手势类别都由一个HMM建模,分类器训练模块的输出结果是一个动态手势数据库,其中包含了一系列训练好的HMM,每个HMM都对应一个动态手势类别;
(5)手势识别:当输入一个未知类别的新手势时,手势识别系统分别计算该新手势与动态手势数据库中每个HMM之间的匹配程度,并从中选择最匹配模型代表的动态手势类别作为识别结果。
采用本发明提供的基于视觉的实时动态手势识别系统和方法,提高了从手势视频的每帧图像中分割出手部区域的质量,同时结合手部形状和手部运动建模进行手势识别,填补了现有技术没有一种能够准确标识动态手势的特征提取缺陷,以及提出了一种较低运算复杂度的识别算法,丰富了手势识别应用方式,有效的减少了结合手部形状特征和手部运动特征的识别计算复杂度,从而能够进行应用于实时识别应用。
附图说明:
图1融合手形和运动特征的隐马尔可夫模型动态手势识别系统的整体框架
图2手部区域提取模块的整体流程图
图3手部轮廓的凸包和主轴示意图
图4简单形状描述子离散化过程示意图
图5手部运动方向计算示意图
图6手部运动方向离散化示意图
图7本发明系统实施方式的结构示意图
具体实施方式:
在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关、本领域普通技术人员已知的部件和处理的表示和描述。
参见如图1所公开的融合手形和运动特征的隐马尔可夫模型动态手势识别系统的整体框架,首先,本发明的系统使用一种新的手部区域提取算法从手势视频的每帧图像中分割出手部区域。然后,系统使用组合简单形状描述子表示每帧图像的手部形状,并使用手部运动方向的编码序列表示手部运动轨迹。接下来,系统使用隐马尔可夫模型构造动态手势分类器,结合手部形状特征和手部运动特征对分类器进行训练。最后,训练好的分类器可以用于实时识别训练样本集合以外的新手势。系统主要分为以下五个模块:
(1)手部区域提取模块
手部区域提取是动态手势识别的第一步,其目标是将手部区域从动态手势视频的每帧图像中分割出来。本发明提出了一种基于图像边缘和肤色模型的手部区域提取方法,改进了从分辨率较低的图像中分割出来的手部区域质量。在实时的动态手势识别系统中,由于手势视频采集设备、采集环境等条件的限制以及对系统响应速度等性能指标的要求,采集到的手势视频的分辨率通常是较低的。从视频每帧图像中可以利用的信息仅限于一些粗糙的彩色信息和图像边缘信息等。
因此,本发明首先使用Canny边缘检测算法提取出每帧图像的边缘,得到边缘图像Ge。然后,使用基于手部肤色直方图的方法提取出每帧图像中的手部区域,并在此基础上通过平滑去噪和形态学处理技术改进手部区域的质量,得到比较粗糙的手部区域二值图像Gh。最后,分别横向遍历和纵向遍历图像Ge和图像Gh,综合利用图像边缘信息和手部肤色信息得到细化的手部区域。
(2)手部区域跟踪模块
在动态手势识别系统中,还涉及到对手部区域的跟踪。根据动态手势的连续性,往往能够从手部在前一帧图像中出现的位置推测出手部在下一帧图像的位置。通过跟踪手部运动轨迹,可以提高手部区域提取的准确率和效率。常用的手部区域跟踪算法包括MeanShift算法,CAMShift(Continuously Adaptive Mean Shift)算法,Kalman滤波器算法以及粒子滤波算法等。在发明的系统中使用到跨平台计算机视觉库OpenCV中的CAMShift跟踪算法。
(3)手势特征提取模块
手势特征提取的目标是通过计算一系列的变量,对手部形状、手部位置、手部运动方向、速率等状态进行描述。因此,手势特征提取模块的输入是从手势视频的每帧图像中分割出来的手部区域,即手部区域提取和跟踪模块的结果。
本发明使用组合简单形状描述子表示手部形状,其中每个简单形状描述子都具有平移、缩放和旋转不变性,对同一个手部形状的细微变化并不敏感。同时,每个简单形状描述子都具有线性的计算复杂度,非常适用于实时的动态手势识别。组合多个简单形状描述子可以很好地区分各类不同的手部形状。在本发明中使用到的简单形状描述子包括手部轮廓的凸性质(convexity)、主轴长度比例(ratio of principal axes)和圆方差(circularvariance),其计算过程和离散化过程在具体实施方式一节中结合图示予以详细介绍。
接下来,本发明使用手部运动方向(orientation)的编码序列表示手部运动轨迹,运动方向被离散化为8个区间,并使用区间编号作为运动方向编码,构成一个动态的方向编码序列,详细的计算公式在具体实施方式一节中给出。
(4)分类器训练模块
当特征提取模块的操作结束后,对于每帧图像,得到一个包含手部形状和手部运动信息的特征向量,所有帧图像的特征向量按时间先后顺序组织在一起构成了整个动态手势的特征向量序列。手势特征提取模块的结果将作为分类器训练和识别模块的输入。
本发明使用隐马尔可夫模型(Hidden Markov Model,HMM)构造动态手势的分类器。HMM是具有马尔可夫性质的双重概率模型。模型包含了多个不可观察的状态(隐状态),其中每个状态都关联着一个随机函数。由于模型的状态不可观察,因此被称为隐马尔可夫模型。在任意一个离散时刻,模型处于其中一个隐状态,并根据该状态关联的随机函数生成一个观察符号Oi。随后,根据状态转移概率矩阵,模型从当前状态转移到另外一个新的状态。生成观察符号操作和状态转移操作迭代进行,最终得到一个HMM观察序列O=O1O2…OT。考虑到HMM是一种发展成熟的时空域建模技术,且有良好的时间规整特性,在发明的系统中使用HMM构造动态手势分类器。
通常使用一个三元组λ=(A,B,Π)来表示一个HMM:
A={aij}是状态转移概率矩阵,其中aij是模型从状态si转移到状态sj的概率;
B={bjk}是观察符号的生成概率矩阵,其中bjk是模型在状态sj生成观察符号vk的概率;
Π={πi},i=1,2,…,N是模型初始状态的概率分布,其中πi是初始状态为si的概率。
在发明的动态手势识别系统中,每个动态手势类别都由一个HMM建模,从动态手势样本中提取出来的特征向量序列对应于HMM生成的观察序列O=O1O2…OT。分类器训练的目标是根据观察序列O=O1O2…OT,调整HMM的参数λ=(A,B,Π),以最大化条件概率P(O|λ)。事实上,该最大化问题至今没有严格的数学解法。然而,可以调整模型参数λ=(A,B,Π),使得条件概率P(O|λ)局部最大化。经典的HMM训练算法包括基于迭代思想的Baum-Welch算法和EM(expectation-modification)算法,以及梯度算法等。分类器训练模块的输出结果是一个动态手势数据库,其中包含了一系列训练好的HMM,每个HMM都对应一个动态手势类别。
(5)识别模块
分类器训练结束后,在训练好的动态手势数据库中,一个HMM对应一个动态手势类别。此时,发明的动态手势识别系统可以自动化识别训练样本集以外的新手势。当输入一个未知类别的新手势时,识别系统分别计算该手势与动态手势数据库中每个HMM之间的匹配程度,并从中选择最匹配模型代表的动态手势类别作为识别结果。设动态手势对应的观察序列(也即动态手势的特征向量序列)为O=O1O2…OT,那么评价该动态手势与一个HMM的匹配程度可以使用条件概率P(O|λ),即已知HMM的参数λ=(A,B,Π),生成观察序列O=O1O2…OT的条件概率。关于识别模块的严格数学描述在具体实施一节中给出。
以下结合附图、公式和表格对发明的系统作进一步的描述,由于手部区域跟踪模块主要使用到跨平台计算机视觉库OpenCV中的CAMShift跟踪算法,并不涉及本发明的核心创新点,因此不对该模块进行详细描述。
(1)手部区域提取模块具体实施
在发明的动态手势识别系统中,手部区域提取模块具体实施方式如图2所示。首先,使用基于手部肤色直方图的手部区域二值化方法,提取出比较粗糙的手部区域。然后,使用图像平滑去噪方法消除手部区域图像中的椒盐噪声,并使用形态学处理技术填充手部区域中细小的孔洞和狭窄的缝隙,从而改进提取出来的手部区域的质量。接下来,使用Canny边缘检测算子提取出手部图像的边缘,结合边缘信息进一步细化手部区域。最后,使用拉普拉斯轮廓提取方法提取出手部轮廓。
在发明的手部区域提取方法中,主要创新点在于使用图像边缘信息细化提取出来的手部区域。由于光照、背景和图像中其他物体的影响,单独使用基于手部肤色直方图的方法提取出来的手部区域可能包含大量的噪声。由于手部区域边界一般会存在比较明显的边界,利用这些边界信息可以进一步提高手部区域的质量。设原始图像大小为height×width,边缘图像为Ge,经过平滑去噪和形态学处理后得到的手部区域二值图像为Gh,那么利用图像边缘信息细化手部区域的具体过程如下:
Step(a)从第1行开始遍历原始图像的所有行,记当前行下标为:i,1≤i≤height,对原始图像的每一行执行Step(b)—Step(c)的操作。
Step(b)对原始图像第i行,从左到右遍历该行所有像素位置,记当前列下标为:j,1≤j≤width。检查边缘图像Ge在像素(i,j)处是否存在边缘,并将边缘点坐标按遍历顺序存放在数组EdgePoint中,设第i行包含的边缘点数量为Ki。
Step(c)对原始图像第i行,数组EdgePoint中的Ki个边缘点定义了Ki-1个区间,对于第k,1≤k≤Ki-1个区间,判断整个区间是否属于手部区域。首先根据手部区域二值图像Gh计算第k个区间中属于手部区域的像素数量Ni,并计算这些像素占区间像素总数的百分比Pi。当Pi大于预设的阈值TP时,判断第k个区间属于手部区域,并将区间中的所有像素都标记为手部区域像素。遍历所有的Ki-1个区间,执行相同的操作。
Step(d)对原始图像的每一列,执行类似Step(b)—Step(c)的操作(即纵向执行手部区域细化处理)。结合横向和纵向细化处理结果,得到最终的细化手部区域。
经过上述细化操作后,去除了大部分误判为手部区域的噪声区域。例如由于背景反光等原因,局部背景区域会出现与肤色相近的颜色,因此基于肤色模型的手部提取方法会将这些背景区域误判为手部区域。但一般灰度变化平缓的图像背景不会有明显的边缘,基于图像边缘的手部区域细化可以去除这类噪声。
(2)手势特征提取模块具体实施
在发明的动态手势识别系统中,通过组合3个简单形状描述子表示手部形状。这3个描述子分别为手部轮廓的凸性质(convexity)、主轴长度比例(ratio of principalaxes)以及圆方差(circular variance),其具体计算过程如下:
凸性质(convexity):
点集{pi}的凸包是指一个最小凸多边形,满足{pi}中的点均在其内或在其边上。物体轮廓的凸包就像是一条拉紧的环绕在物体外的橡皮胶带形成的多边形。图3的左图是一个手部轮廓的凸包示例。描述轮廓凸包性质的一个直观方法是使用凸包周长与轮廓周长的比例:
其中Pcontour和Pconvexhull分别为轮廓及其凸包的周长。
主轴长度比例(ratio of principal axes):
手部轮廓的主轴是指经过轮廓形心且交叉相关性为零的两条正交线段。图3的右图是一个手部轮廓的主轴示例。主轴长度比例可以很好地描述一个形状的延伸性,比例值越大的形状通常在整体上显得越修长。设手部轮廓的协方差矩阵为C,记矩阵C如下:
则轮廓主轴长度比例可以计算如下:
圆方差(circular variance):
一般地,在描述一个形状时可以将该形状与一个通用的模板进行比较,如描述一个形状很圆是指该形状与圆形很接近,在这里圆形起到了通用模板的作用。手部轮廓的圆方差描述的正是手部形状与圆形模板之间的差异。通常圆形模板的形心与手部轮廓的形心重合,半径为手部轮廓的平均半径。圆方差可以定义为轮廓与圆形模板的平均方差:
其中pi=[xi,yi]T是轮廓上的点坐标,μ=(1/N)·∑ipi是形心坐标,μr=(1/N)·∑i||pi–μ||是手部轮廓的平均半径,||·||表示计算向量长度。
经过上述三个简单形状描述子的计算后,一帧图像的原始特征向量为:
f=[conv,prax,cvar,x,y]T,
其中conv,prax和cvar分别是手部轮廓的凸性质、主轴长度比例以及圆方差,(x,y)是手部轮廓的形心坐标。
简单形状描述子的离散化:
HMM每个状态可能生成的观察符号数量是有限的,且通常观察符号是离散型的。因此,从动态手势视频中提取出的值域为实数的原始特征需要进行离散化操作。另外,由于光照、背景等其他条件在整个动态手势过程中是不断变化的,从视频的一部分帧图像中提取出来的手部轮廓可能包含严重的缺陷。这些存在缺陷的轮廓中断了动态手势的连续性,因此可以被认为是数据噪声。特征离散化的其中一个重要目标就是尽可能地降低噪声帧手部轮廓对连续手势的影响。要注意的是,对于原始特征,计算单元是一帧图像,而对于离散化后的特征,计算单元是一段包含若干连续帧的手势视频片段。具体的特征离散化方法如下:
如图4所示,从两个维度对3个简单形状描述子进行离散化操作。由于对每个简单形状描述子的离散化操作都是相同的,因此仅以手部轮廓的凸性质conv为例,详细描述其离散化过程。
Step(a)将轮廓凸性质conv的值域分割为有限数量的区间,从1开始对每个区间进行编号。记区间数量为Ninter,则凸性质conv原始值所属的区间编号计算如下:
其中convmax和convmin分别为conv原始值域的最大值和最小值。如图4所示,横轴表示手势视频的每帧图像,纵轴表示对每帧图像提取出来的手部轮廓计算的凸性质conv值。在该示例中,conv原始值域[convmin,convmax]被划分为4个区间。
Step(b)根据时间顺序将手势视频划分为若干个片段,每个片段都是手势图像序列的子序列。划分的手势片段数量记为Ns,第i个片段记为Si。在图4的示例中,手势视频被被划分为3个片段。
Step(c)对于第i个手势片段Si,计算各帧图像中手部轮廓的凸性质conv,并根据Step(a)中的方法离散化到相应的区间conv′,然后找到分布最密集的区间。如图4所示,第一个手势片段S1包含6帧图像,其中4帧图像计算出来的conv原始值属于第一个区间,因此第一个手势片段S1最密集的conv区间编号为1。
经过Step(a)到Step(c)的离散化操作后,每个手势片段可以使用该片段最密集的conv区间来表征,因此相应的区间编号可以作为手势片段的一个特征。离散化后每个手势片段的手部轮廓凸性质构成的特征序列如下:
其中conv′i是第i个手势片段Si对应的最密集conv区间编号。
由于在同一个手势片段中,每帧图像计算出来的conv值通常都聚集在同一个区间,落在其他区间的conv值会被上述离散化方法丢弃。一般地,如果conv值突然出现较大的变化,相应帧图像的手部轮廓很可能是由于光照、背景等外部环境的变化导致存在严重缺陷的。这种帧图像影响了手势的连续性,因此属于噪声帧,特征离散化方法的一个重要目标就是尽可能减少噪声帧对最终识别结果的影响。
手部运动方向特征提取和离散化:
在图5中,(xt,yt)和(xt+i,yt+i)分别表示手部在t时刻和t+i时刻的位置,θt表示手部在t时刻的运动方向,则
由于运动方向的原始值域为实数,因此需要转换生成离散的特征编码。在发明的系统中,θt的值域区间[0,360°]被划分为8个子区间,每个子区间的跨度为45°,并从1开始对每个子区间进行编号,如图6所示。在具体计算时,首先选择第i个手势片段Si的第一帧和最后一帧计算手部运动方向,并将其角度值离散化为区间[0,360°]中的8个子区间编码值,得到手势片段Si中的手部运动方向编码θ′i,整个动态手势的运动轨迹可以表示为如下运动方向的编码序列:
其中Ns为手势片段的总数。
最终得到的离散化特征向量序列:
经过简单形状描述子和手部运动方向的离散化操作后,第i个手势片段Si可以用如下特征向量表示:
其中conv′i,prax′i和cvar′i分别为离散化后手势片段Si对应的3个简单形状描述子,θ′i是手势片段Si中的手部运动方向编码。整个动态手势可以表示为一个离散的特征向量序列:
其中Ns是手势片段的总数。
(3)分类器训练模块具体实施
对于一个类别的动态手势,我们使用属于该类别的手势视频样本训练一个从左向右型(left-to-right)的HMM。HMM的观察序列是经过离散化操作后的手势特征向量序列。因此,训练过程的输入是如下观察序列:
其中是从第i个手势片段Si获得的离散特征向量。HMM的状态数量根据手势的复杂度确定。一般地,太少的状态数量会导致最终的识别正确率降低,而太多的状态数量则需要大量的手势训练样本。另外,研究表明当HMM的状态增加到特定数量时,识别正确率会达到一个最大值,如果在此基础上继续增加HMM的状态数,识别率反而有所下降。在发明的动态手势识别系统中,作为手势模型的HMM的状态数根据实验数据的复杂程度设置为固定值。Baum-Welch算法用于训练HMM手势模型。模型的参数被迭代调整,以最大化条件概率即已知模型λ的条件下,生成观察序列的概率。设手势类别的总数为Ng,那么训练结束后,手势数据库中存放着Ng个从左向右型的HMM:
其中λi表示第i个手势类别对应的模型。
(4)识别模块具体实施
在手势识别阶段,当输入一个未知类别的动态手势视频后,首先执行特征提取和特征离散化操作,得到HMM的观察序列(也即动态手势的离散特征向量序列)。对于训练好的手势数据库中第i个手势模型λi,计算条件概率即已知λi的条件下,生成观察序列的概率。待识别动态手势所属的类别计算如下:
表示选择手势数据库中与待识别手势最匹配的模型,并以其下标作为识别结果。
图7是本发明系统实施方式的结构示意图,其中手势边缘图像提取模块以及手势肤色直方图提取模块分别提取手势边缘图Ge以及手势肤色直方图Gh,图像综合处理模块对手势边缘图Ge以及手势肤色直方图Gh进行综合处理,得到细化手部区域图,将得到的细化手部区域图输入至手势特征提取单元器进行特征提取,并将提取的特征信息输入至识别模块进行识别。
分离器训练模块用于使用隐马尔可夫模型(Hidden Markov Model,HMM)构造动态手势的分类器,每个动态手势类别都由一个HMM建模,分类器训练模块的输出结果是一个动态手势数据库,其中包含了一系列训练好的HMM,每个HMM都对应一个动态手势类别。
识别模块:用于当输入一个未知类别的新手势时,手势识别系统分别计算该新手势与动态手势数据库中每个HMM之间的匹配程度,并从中选择最匹配模型代表的动态手势类别作为识别结果。
(5)系统测试
发明的动态手势识别系统可以实现对各种不同的动态手势进行自动化分类,以下给出具体的系统测试结果:
动态手势库:
系统测试使用的数据集包含9个动态手势类别,由3种基本形变和3种基本运动方向组合而成,具体定义如下表所示。每个手势类别都包含了40个动态手势实例(动态手势视频),其中随机选择20个作为HMM训练样本,剩下的20个动态手势实例用于验证系统的识别正确率。拍摄手势视频的摄像头分辨率为320×240像素,帧速为15帧每秒。
3种基本手形 | 张开 | 闭合 | V形 |
3种基本形变 | 从张开到闭合 | 从闭合到张开 | 从张开到V形 |
3种基本运动方向 | 从左到右 | 从左下到右上 | 从左上到右下 |
识别结果:
在训练阶段,首先从每个训练手势样本提取出原始特征并执行离散化操作。同类手势样本的离散特征向量序列用于训练一个从左向右型的HMM。训练结束后,所有手势类别对应的HMM构成了手势模型数据库。在验证阶段,输入一个未知类别的手势实例后,首先获得该实例的离散特征向量序列,然后评价手势模型数据库中每个模型与该手势的匹配程度,最后选择最匹配的模型,并以相应的手势类别作为识别结果。在测试中,每个HMM的状态数量都设置为5。
下表总结了发明的动态手势识别系统用于识别未知类别手势时的准确率。测试结果表明系统的平均识别率高达88.3%。
发明的动态手势识别系统各模块的计算复杂度都较低,特别是识别模块的响应速度非常快,因此系统可以应用于实时的动态手势识别。对于上述系统测试,当完成分类器训练模块的操作后,系统可以实时地识别数据库中的9类动态手势,识别准确率和响应速度都非常理想。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于使用隐马尔可夫模型(Hidden Markov Model,HMM)的视觉实时动态手势识别系统,;
(1)手部特征提取模块:用于对包含手势的每帧视频图像进行手势特征提取,计算手势特征序列;该手势特征序列是利用简单形状描述子表示的手部形状,描述子包括手部轮廓的凸性质(convexity)、主轴长度比例(ratio of principal axes)和圆方差(circularvariance),手势特征序列同时包含使用手部运动方向(orientation)的编码序列构建的表示手部运动轨迹动态的方向编码序列,并对所述描述子以及方向编码序列进行离散化,得到最终的离散化特征向量序列,将所得到的最终的离散化特征向量序列输入到识别模块进行手势识别;
(2)分类器训练模块:用于使用HMM构造动态手势的分类器,每个动态手势类别都由一个HMM建模,分类器训练模块的输出结果是一个动态手势数据库,其中包含了一系列训练好的HMM,每个HMM都对应一个动态手势类别;
(3)识别模块:用于对手部区域提取模块输入的离散化特征向量序列进行模型匹配,当输入一个未知类别的新手势时,手势识别系统分别计算该新手势与动态手势数据库中每个HMM之间的匹配程度,并从中选择最匹配模型代表的动态手势类别作为识别结果,并输出手势识别结果。
2.根据权利要求1所述的视觉实时动态手势识别系统,其特征在于手部区域提取模块所生成的手势特征序列为f=[conv,prax,cvar,x,y]T,其中conv,prax和cvar分别是手部轮廓的凸性质、主轴长度比例以及圆方差,(x,y)是手部轮廓的形心坐标;
对该手势特征序列进行离散化,得到最终的离散化特征向量序列其中conv′i,prax′i和cvar′i分别为离散化后手势片段Si对应的3个简单形状描述子,θ′i是手势片段Si中的手部运动方向编码,Si是根据时间顺序将手势视频划分为数量为Ns片段,第i个片段记为Si。
3.根据权利要求2所述的视觉实时动态手势识别系统,其特征在于分类器训练模块:对于一个类别的动态手势,使用属于该类别的手势视频样本训练一个从左向右型(left-to-right)的HMM,HMM的观察序列是经过离散化操作后的手势特征向量序列,训练过程的输入是如下观察序列:
其中是从第i个手势片段Si获得的离散特征向量;
使用Baum-Welch算法用于训练HMM手势模型,模型的参数被迭代调整,以最大化条件概率即已知模型参数λ的条件下,生成观察序列的概率,设手势类别的总数为Ng,在训练结束后,手势数据库中存放着Ng个从左向右型的HMM:其中λi表示第i个手势类别对应的模型参数,1≤i≤Ng。
4.根据权利要求3所述的视觉实时动态手势识别系统,所述识别模块具体实施:
在手势识别阶段,当输入一个未知类别的动态手势视频后,首先执行特征提取和特征离散化操作,得到HMM的观察序列对于训练好的手势数据库中第i个手势模型λi,计算条件概率即已知λi的条件下,生成观察序列的概率,待识别动态手势所属的类别计算如下:
表示手势数据库中与待识别手势最匹配的模型,并以其下标i作为识别结果。
5.根据权利要求2所述的视觉实时动态手势识别系统,所述对该手势特征序列进行离散化,具体离散化计算方式为:
Step(a)将轮廓描述子值域分割为有限数量的区间,从1开始对每个区间进行编号。记区间数量为Ninter,则conv、prax和cvar原始值所属的区间编号计算如下:其中convmax和convmin分别为conv原始值域的最大值和最小值;其中praxmax和praxmin分别为prax原始值域的最大值和最小值;其中cvarmax和cvarmin分别为cvar原始值域的最大值和最小值;
θ′i的计算方式为:(xt,yt)和(xt+i,yt+i)分别表示手部在t时刻和t+i时刻在图像帧中的位置,θt表示手部在t时刻的运动方向,θt的值域区间[0,360°]被划分为8个子区间,每个子区间的跨度为45°,并从1开始对每个子区间进行编号,首先选择第i个手势片段Si的第一帧和最后一帧计算手部运动方向,并将其角度值离散化为区间[0,360°]中的8个子区间编码值,得到手势片段Si中的手部运动方向编码θ′i,整个动态手势的运动轨迹可以表示为如下运动方向的编码序列:
其中Ns为手势片段的总数;
经过简单形状描述子和手部运动方向的离散化操作后,第i个手势片段Si可以用如下特征向量表示:
其中conv′i,prax′i和cvar′i分别为离散化后手势片段Si对应的3个简单形状描述子,θ′i是手势片段Si中的手部运动方向编码。整个动态手势可以表示为一个离散的特征向量序列:
其中Ns是手势片段的总数。
6.一种基于使用隐马尔可夫模型(Hidden Markov Model,HMM)的视觉实时动态手势识别方法,所述视觉实时手势识别方法包括手势特征提取步骤、分类器训练步骤、识别步骤;
(1)手部特征提取步骤:用于对包含手势的每帧视频图像进行手势特征提取,计算手势特征序列;该手势特征序列是利用简单形状描述子表示的手部形状,描述子包括手部轮廓的凸性质(convexity)、主轴长度比例(ratio of principal axes)和圆方差(circularvariance),手势特征序列同时包含使用手部运动方向(orientation)的编码序列构建的表示手部运动轨迹动态的方向编码序列,并对所述描述子以及方向编码序列进行离散化,得到最终的离散化特征向量序列,将所得到的最终的离散化特征向量序列作为到识别步骤的输入,进行手势识别;
(2)分类器训练步骤:用于使用HMM构造动态手势的分类器,每个动态手势类别都由一个HMM建模,分类器训练步骤的输出结果是一个动态手势数据库,其中包含了一系列训练好的HMM,每个HMM都对应一个动态手势类别;
(3)识别步骤:用于对手部区域提取步骤输入的离散化特征向量序列进行模型匹配,当输入一个未知类别的新手势时,手势识别系统分别计算该新手势与动态手势数据库中每个HMM之间的匹配程度,并从中选择最匹配模型代表的动态手势类别作为识别结果,并输出手势识别结果。
7.根据权利要求6所述的视觉实时动态手势识别方法,其特征在于手部区域提取步骤所生成的手势特征序列为f=[conv,prax,cvar,x,y]T,其中conv,prax和cvar分别是手部轮廓的凸性质、主轴长度比例以及圆方差,(x,y)是手部轮廓的形心坐标;
对该手势特征序列进行离散化,得到最终的离散化特征向量序列其中conv′i,prax′i和cvar′i分别为离散化后手势片段Si对应的3个简单形状描述子,θ′i是手势片段Si中的手部运动方向编码,Si是根据时间顺序将手势视频划分为数量为Ns片段,第i个片段记为Si。
8.根据权利要求7所述的视觉实时动态手势识别方法,其特征在于分类器训练步骤:对于一个类别的动态手势,使用属于该类别的手势视频样本训练一个从左向右型(left-to-right)的HMM,HMM的观察序列是经过离散化操作后的手势特征向量序列,训练过程的输入是如下观察序列:
其中是从第i个手势片段Si获得的离散特征向量;
使用Baum-Welch算法用于训练HMM手势模型,模型的参数被迭代调整,以最大化条件概率即已知模型参数λ的条件下,生成观察序列的概率,设手势类别的总数为Ng,在训练结束后,手势数据库中存放着Ng个从左向右型的HMM:其中λi表示第i个手势类别对应的模型参数,1≤i≤Ng。
9.根据权利要求8所述的视觉实时动态手势识别方法,所述识别步骤具体方式为:
在手势识别阶段,当输入一个未知类别的动态手势视频后,首先执行特征提取和特征离散化操作,得到HMM的观察序列对于训练好的手势数据库中第i个手势模型λi,计算条件概率即已知λi的条件下,生成观察序列的概率,待识别动态手势所属的类别计算如下:
表示手势数据库中与待识别手势最匹配的模型,并以其下标i作为识别结果。
10.根据权利要求7所述的视觉实时动态手势识别方法,所述对该手势特征序列进行离散化,具体离散化计算方式为:
Step(a)将轮廓描述子值域分割为有限数量的区间,从1开始对每个区间进行编号。记区间数量为Ninter,则conv、prax和cvar原始值所属的区间编号计算如下:其中convmax和convmin分别为conv原始值域的最大值和最小值;其中praxmax和praxmin分别为prax原始值域的最大值和最小值;其中cvarmax和cvarmin分别为cvar原始值域的最大值和最小值;
θ′i的计算方式为:(xt,yt)和(xt+i,yt+i)分别表示手部在t时刻和t+i时刻在图像帧中的位置,θt表示手部在t时刻的运动方向,θt的值域区间[0,360°]被划分为8个子区间,每个子区间的跨度为45°,并从1开始对每个子区间进行编号,首先选择第i个手势片段Si的第一帧和最后一帧计算手部运动方向,并将其角度值离散化为区间[0,360°]中的8个子区间编码值,得到手势片段Si中的手部运动方向编码θ′i,整个动态手势的运动轨迹可以表示为如下运动方向的编码序列:
其中Ns为手势片段的总数;
经过简单形状描述子和手部运动方向的离散化操作后,第i个手势片段Si可以用如下特征向量表示:
其中conv′i,prax′i和cvar′i分别为离散化后手势片段Si对应的3个简单形状描述子,θ′i是手势片段Si中的手部运动方向编码。整个动态手势可以表示为一个离散的特征向量序列:
其中Ns是手势片段的总数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810464181.1A CN108921011A (zh) | 2018-05-15 | 2018-05-15 | 一种基于隐马尔可夫模型的动态手势识别系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810464181.1A CN108921011A (zh) | 2018-05-15 | 2018-05-15 | 一种基于隐马尔可夫模型的动态手势识别系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108921011A true CN108921011A (zh) | 2018-11-30 |
Family
ID=64403751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810464181.1A Withdrawn CN108921011A (zh) | 2018-05-15 | 2018-05-15 | 一种基于隐马尔可夫模型的动态手势识别系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108921011A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109640170A (zh) * | 2018-12-04 | 2019-04-16 | 深圳市子瑜杰恩科技有限公司 | 自拍视频的速度处理方法及相关产品 |
CN109993108A (zh) * | 2019-03-29 | 2019-07-09 | 济南大学 | 一种增强现实环境下的手势纠错方法、系统及装置 |
CN110147850A (zh) * | 2019-05-27 | 2019-08-20 | 北京达佳互联信息技术有限公司 | 图像识别的方法、装置、设备及存储介质 |
CN110147764A (zh) * | 2019-05-17 | 2019-08-20 | 天津科技大学 | 一种基于机器学习的静态手势识别方法 |
CN110188710A (zh) * | 2019-06-03 | 2019-08-30 | 石家庄铁道大学 | 列车驾驶员动态行为识别方法 |
CN110705465A (zh) * | 2019-09-30 | 2020-01-17 | 哈尔滨理工大学 | 一种基于图像处理的手型分类方法 |
CN111291610A (zh) * | 2019-12-12 | 2020-06-16 | 深信服科技股份有限公司 | 视频检测方法、装置、设备及计算机可读存储介质 |
CN111831101A (zh) * | 2019-04-22 | 2020-10-27 | 四川大学 | 一种基于Leap Motion的多特征动态手势识别方法 |
-
2018
- 2018-05-15 CN CN201810464181.1A patent/CN108921011A/zh not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109640170A (zh) * | 2018-12-04 | 2019-04-16 | 深圳市子瑜杰恩科技有限公司 | 自拍视频的速度处理方法及相关产品 |
CN109640170B (zh) * | 2018-12-04 | 2021-02-19 | 广东力昂电子科技有限公司 | 自拍视频的速度处理方法、终端及存储介质 |
CN109993108A (zh) * | 2019-03-29 | 2019-07-09 | 济南大学 | 一种增强现实环境下的手势纠错方法、系统及装置 |
CN109993108B (zh) * | 2019-03-29 | 2019-12-03 | 济南大学 | 一种增强现实环境下的手势纠错方法、系统及装置 |
CN111831101A (zh) * | 2019-04-22 | 2020-10-27 | 四川大学 | 一种基于Leap Motion的多特征动态手势识别方法 |
CN110147764A (zh) * | 2019-05-17 | 2019-08-20 | 天津科技大学 | 一种基于机器学习的静态手势识别方法 |
CN110147850A (zh) * | 2019-05-27 | 2019-08-20 | 北京达佳互联信息技术有限公司 | 图像识别的方法、装置、设备及存储介质 |
CN110188710A (zh) * | 2019-06-03 | 2019-08-30 | 石家庄铁道大学 | 列车驾驶员动态行为识别方法 |
CN110705465A (zh) * | 2019-09-30 | 2020-01-17 | 哈尔滨理工大学 | 一种基于图像处理的手型分类方法 |
CN110705465B (zh) * | 2019-09-30 | 2021-05-18 | 哈尔滨理工大学 | 一种基于图像处理的手型分类方法 |
CN111291610A (zh) * | 2019-12-12 | 2020-06-16 | 深信服科技股份有限公司 | 视频检测方法、装置、设备及计算机可读存储介质 |
CN111291610B (zh) * | 2019-12-12 | 2024-05-28 | 深信服科技股份有限公司 | 视频检测方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647654A (zh) | 基于视觉的手势视频图像识别系统和方法 | |
CN108921011A (zh) | 一种基于隐马尔可夫模型的动态手势识别系统及方法 | |
CN107168527B (zh) | 基于区域卷积神经网络的第一视角手势识别与交互方法 | |
CN104463250B (zh) | 一种基于达芬奇技术的手语识别翻译方法 | |
CN104049754B (zh) | 实时手跟踪、姿态分类和界面控制 | |
CN102592112B (zh) | 基于隐马尔科夫模型判断手势运动方向的方法 | |
CN108595014A (zh) | 一种基于视觉的实时动态手势识别系统及方法 | |
CN111460976B (zh) | 一种数据驱动的基于rgb视频的实时手部动作评估方法 | |
KR20130013122A (ko) | 객체 자세 검색 장치 및 방법 | |
CN109033953A (zh) | 多任务学习深度网络的训练方法、设备及存储介质 | |
Sun et al. | A novel supervised level set method for non-rigid object tracking | |
CN107633226A (zh) | 一种人体动作跟踪识别方法及系统 | |
CN108460790A (zh) | 一种基于一致性预测器模型的视觉跟踪方法 | |
CN106599785A (zh) | 人体3d特征身份信息库的建立方法及设备 | |
CN109558855B (zh) | 一种基于手掌轮廓特征与模版匹配法相结合的空间手势识别方法 | |
CN103985143A (zh) | 基于字典学习的视频中判别性在线目标跟踪方法 | |
CN109101869A (zh) | 多任务学习深度网络的测试方法、设备及存储介质 | |
CN111291713B (zh) | 一种基于骨架的手势识别方法及系统 | |
CN106056146B (zh) | 基于逻辑回归的视觉跟踪方法 | |
CN108986105A (zh) | 一种基于内容的图像预处理方法及系统 | |
Hasan et al. | Gesture feature extraction for static gesture recognition | |
CN108108648A (zh) | 一种新型的手势识别系统装置及方法 | |
CN110516638A (zh) | 一种基于轨迹和随机森林的手语识别方法 | |
CN113947683B (zh) | 指尖点检测方法、系统及指尖点运动轨迹识别方法、系统 | |
CN112597842B (zh) | 基于人工智能的运动检测面瘫程度评估系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181130 |
|
WW01 | Invention patent application withdrawn after publication |