著录项信息
专利名称 | 基于隐马尔科夫模型判断手势运动方向的方法 |
申请号 | CN201110429580.2 | 申请日期 | 2011-12-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-07-18 | 公开/公告号 | CN102592112A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K9/00 | IPC分类号 | G;0;6;K;9;/;0;0;;;G;0;6;K;9;/;6;6;;;G;0;6;T;7;/;2;0查看分类表>
|
申请人 | 四川长虹电器股份有限公司 | 申请人地址 | 四川省绵阳市高新区绵兴东路35号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 四川长虹电器股份有限公司 | 当前权利人 | 四川长虹电器股份有限公司 |
发明人 | 刘恒;赵仕才;张彩虹;吕金钢 |
代理机构 | 成都虹桥专利事务所(普通合伙) | 代理人 | 李顺德 |
摘要
本发明涉及基于隐马尔科夫模型判断手势运动方向的方法,包括:a.人脸识别;b.多线索融合得到手势区域灰度图;c.根据手势区域灰度图,更新手势运动历史图,并获得运动能量图;d.划分向量水平夹角;e.通过运动能量图获得手势运动的开始时刻和结束时刻,分割出手势运动;f.对隐马尔科夫模型参数进行训练,利用隐马尔科夫模型的前向、后向算法推定手势运动方向。本发明基于隐马尔科夫模型判断手势运动方向的方法,通过多种判断条件对隐马尔科夫模型的手势运动方向进行判断,能够提高手势运动判断的准确性,能够明显降低各种因素对判断结果的干扰。
1.基于隐马尔科夫模型判断手势运动方向的方法,其特征为包括:
a.通过摄像头进行人脸检测,以确定用户进入系统识别范围;
b.从视频流中获取当前运动图像,建立肤色概率模型,作为手势运动过程中肤色分割的依据,将肤色概率图与视频帧差结果相乘后的数据经中值滤波器进行滤波,得到手势区域灰度图;
c.根据当前手势区域灰度图,更新手势运动历史图,并获得运动能量图;
所述的更新手势运动历史图的方法为:
其中Hτ(x,y,t)为当前的手势运动历史图, (x,y,t)为当前的手势区域灰度图,τ为描述运动的时间范围的参数,δ为手势运动历史图的衰减参数,ξ为手势区域二值分割的阈值;
所述的获得运动能量图的方法为: 其中Eτ(x,y,t)为运
动能量图,τ为描述运动的时间范围的参数,x,y分别为运动能量图的横纵坐标,t为时刻;
d.对有效的手势运动历史图进行图像梯度向量计算,得到手势运动向量和向量水平夹角,再将向量水平夹角规划到360度平面区域划分的相应区域对应的编码中;
e.通过运动能量图获得手势运动的开始时刻和结束时刻:计算两个不同时刻的运动能量图累加的差,如果所述的差值>400为手势运动开始,如果所述的差值<20为手势运动结束;分割出手势运动;
f.通过步骤a~步骤e对一段视频的分析,获得该视频的一个运动方向的编码序列,通过所述的编码序列得到隐马尔科夫模型的可见状态序列,对隐马尔科夫模型参数进行训练,利用隐马尔科夫模型的前向、后向算法推定手势运动方向:根据所述的隐马尔科夫模型的可见状态序列,通过隐马尔科夫模型参数的状态转移概率和观测值概率,计算运动模型概率,根据最大的运动模型概率对应的运动模型对整个系统的手势运动方向进行判断。
2.如权利要求1所述的基于隐马尔科夫模型判断手势运动方向的方法,其特征为所述的衰减参数δ=0.5,阈值ξ=10s。
3.如权利要求1所述的基于隐马尔科夫模型判断手势运动方向的方法,其特征为步骤f中对隐马尔科夫模型参数进行训练包括:
f1.初始化待训练模型参数,根据动作编码设定待训练模型参数的各个状态转移矩阵;
f2.根据待训练模型参数和隐马尔科夫模型可见状态的观察值序列,训练新模型参数:
如果新模型下获得所述观察值序列的概率的对数-待模型下获得所述观察值序列的概率的对数<delta,则训练结束;否则将重复步骤f2。
4.如权利要求1至3之一所述的基于隐马尔科夫模型判断手势运动方向的方法,其特征为步骤d中对手势在上、下、左、右四个方向的运动进行计算。
5.如权利要求1至3之一所述的基于隐马尔科夫模型判断手势运动方向的方法,其特征为步骤f中截取所获得的编码序列的中间6~8个编码为隐马尔科夫模型的可见状态序列。
基于隐马尔科夫模型判断手势运动方向的方法\n技术领域\n[0001] 本发明涉及视频图像处理领域,具体的讲是基于隐马尔科夫模型(HMM)判断手势运动方向的方法。\n背景技术\n[0002] 近年来,随着计算机在现代社会影响的迅速扩大,多模式人机交互在现实生活中的应用越来越广泛。基于视觉的手势识别已成为新一代人机交互不可或缺的技术。\n[0003] 手势是一种自然、直观、易于学习的人机交互手段,以人手直接作为计算机的输入设备,人机间的通讯将不再需要媒介。基于计算机的手势识别是具有发展趋势的一种识别技术,但技术上存在很多困难。如手势来源于复杂背景(人自身干扰、光照、场景等)条件下的视频流、手具有弹性的特点、手具有大量冗余特征信息(如掌纹等)、手势在三维空间如何识别等,这些问题目前还未完善解决,具体实现需要增加限制条件。如何克服手势识别中的技术问题,使其改变未来人机交互模式,目前有许多研究者致力于此项目。\n[0004] 目前,手势识别视频流的获取分为2D摄像头与3D摄像头。3D摄像头获得的是手势的三维信息,其成本昂贵不利于普及。因此现阶段大多致力于廉价的USB 2D摄像机手势识别技术,具有积极意义。\n[0005] 现有的手势运动方向判定主要是单一的基于手势运动跟踪,通过计算手位移距离从而判定其运动方向的方法。但是由于手是非刚体物体,且手势跟踪一般基于肤色进行,导致这种基于跟踪的方法不稳定,易受环境光照、及背景色的干扰,无法形成正确的跟踪轨迹。\n发明内容\n[0006] 针对以上出现的问题,本发明提供了一种基于隐马尔科夫模型判断手势运动方向的方法,通过多种判断条件对隐马尔科夫模型的手势运动方向进行判断,提高判断的准确性,降低各种因素对判断结果的干扰。\n[0007] 本发明基于隐马尔科夫模型判断手势运动方向的方法,包括:\n[0008] a.通过摄像头进行人脸检测,以确定用户进入系统识别范围,可以采用常规的Adaboost检测器进行人脸检测;\n[0009] b.从视频流中获取当前运动图像,建立肤色概率模型,作为手势运动过程中肤色分割的依据,将肤色概率图与帧差结果相乘后的数据经中值滤波器进行滤波,得到手势区域灰度图;\n[0010] c.根据当前手势区域灰度图,更新手势运动历史图,并获得运动能量图;\n[0011] d.对有效的手势运动历史图进行图像梯度向量计算,得到手势运动向量和向量水平夹角,再将向量水平夹角规划到360度平面区域划分的相应区域对应的编码中;\n[0012] e.通过运动能量图获得手势运动的开始时刻和结束时刻,分割出手势运动;\n[0013] f.通过步骤a~步骤e对一段视频的分析,获得该视频中一个运动方向的编码序列,通过所述的编码序列得到隐马尔科夫模型的可见状态序列,对隐马尔科夫模型参数进行训练,利用隐马尔科夫模型的前向、后向算法推定手势运动方向。\n[0014] 本发明的方法不依赖于手势的跟踪效果,而是将手的肤色信息与手势的运动信息(帧差)相融合,这样能较准确的分割出手势。在此基础上构建出手势运动历史图和运动能量图,并根据手的运动特征自适应切分手势运动间隔,计算并获得该时间间隔内一系列手势运动的方向角度特征,使用该角度特征序列构建隐马尔科夫模型,并利用该模型的前、后向算法推断最有可能的手势运动方向,从而实现手势运动的判定。\n[0015] 具体的一种方案为,步骤c所述的更新手势运动历史图的方法为:\n其中Hτ(x,y,t)为当前的手势运动历史图,\n为当前的手势区域灰度图,τ为描述运动的时间范围的参数,δ为手势运动历史图的衰减参数,ξ为手势区域二值分割的阈值。\n[0016] 通过大量的仿真试验和测试,为取得较好的运动判断,优选的衰减参数δ=0.5,阈值ξ=10。\n[0017] 另一种具体的方案为,步骤c所述的获得运动能量图的方法为:\n其中Eτ(x,y,t)为运动能量图,τ为描述运动的时间范围的\n参数,x,y分别为运动能量图的横纵坐标,t为时刻。\n[0018] 进一步的,步骤e所述的通过运动能量图获得手势运动的开始时刻和结束时刻的方法为:计算两个不同时刻的运动能量图累加的差,如果所述的差值>400为手势运动开始,如果所述的差值<20为手势运动结束。其中400和20的取值是经过大量实验的统计数据。\n[0019] 具体的,步骤f中所述利用隐马尔科夫模型的前向、后向算法推定手势运动方向为:根据所述的隐马尔科夫模型的可见状态序列,通过隐马尔科夫模型参数的状态转移概率和观测值概率,计算运动模型概率,根据最大的运动模型概率对应的运动模型对整个系统的手势运动方向进行判断。\n[0020] 具体的,步骤f中对隐马尔科夫模型参数进行训练包括:\n[0021] f1.初始化待训练模型参数,根据动作编码设定待训练模型参数的各个状态转移矩阵;\n[0022] f2.根据待训练模型参数和隐马尔科夫模型可见状态的观察值序列,训练新模型参数:如果新模型下获得所述观察值序列的概率的对数—待模型下获得所述观察值序列的概率的对数<delta,则训练结束;否则将重复步骤f2。\n[0023] 优选的,步骤d中对手势在上、下、左、右四个方向的运动进行计算。\n[0024] 优选的,为克服运动噪声,步骤f中截取所获得的编码序列的中间6~8个编码为隐马尔科夫模型的可见状态序列,进一步优选为截取8个编码。\n[0025] 测试得知,本发明基于隐马尔科夫模型判断手势运动方向的方法,通过多种判断条件对隐马尔科夫模型的手势运动方向进行判断,能够提高手势运动判断的准确性,能够明显降低各种因素对判断结果的干扰。\n[0026] 以下结合由附图所示实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。\n附图说明\n[0027] 图1是本发明基于隐马尔科夫模型判断手势运动方向的方法的流程图。\n具体实施方式\n[0028] 如图1所示本发明基于隐马尔科夫模型判断手势运动方向的方法,包括:\n[0029] a.通过摄像头进行人脸检测,以确定用户进入系统识别范围,采用常规的Adaboost检测器检测当前帧f(x,y,t)中人脸个数numf,如果在某个位置附近出现持续人脸个数numf>0且在2秒以上,则认为有用户进入场景;\n[0030] b.从视频流中获取当前运动图像,建立肤色概率模型,作为手势运动过程中肤色分割的依据,在HSV(色调、饱和度、亮度)颜色空间,统计大量肤色与非肤色信息,建立归一化的H-S(色调、饱和度)肤色直方图,用于后续视频帧图像的肤色分割,肤色分割的阈值概率设定为0.85,当前帧的的肤色概率图\n将肤色概率图与帧差结果相乘后的数据经中值滤波器进行滤波,得到当前的手势区域灰度图 帧差的计算方法为: 由\n于不同环境(如光照)中去噪的阈值会对结果产生很大影响,因此设置计算中的阈值则帧差\n[0031] c.根据当前手势区域灰度图,更新手势运动历史图(MHI):\n[0032] 其中Hτ(x,y,t)为当前的手势运动\n历史图 为当前的手势区域灰度图,τ为描述运动的时间范围的参数,δ=\n0.5为手势运动历史图的衰减参数,ξ=10为手势区域二值分割的阈值。\n[0033] 根据手势运动历史图,获得运动能量图(MEI):\n[0034] 其中Eτ(x,y,t)为运动能量图,τ为描述运动的\n时间范围的参数,x,y分别为运动能量图的横纵坐标,t为时刻;\n[0035] d.对有效的手势运动历史图进行图像梯度向量计算,得到手势运动向量和向量水平夹角,在上、下、左、右四个方向上将向量水平夹角规划到360度平面区域划分的相应区域对应的编码中。具体为:\n[0036] 对有效的手势运动历史图,计算图像的向量角度angle,将其值根据需要进行划分\n0 0 0 0\n并编码,进行“上、下、左、右”四个方向判断。将(-50,50)编码为“0”,(50,140)编码为\n0 0 0 0\n“1”,(140,230)为“2”,(230,310)为“3”,不在这些区间的值,赋值为“-1”。分析一段手势运动视频,对每帧构建的手势运动历史图均进行所述判断,从而得到用于隐马尔科夫模型推断的可见状态序列O(o1,o2,Λon),其中oi∈{-1,0,1,2,3},i=1ΛN,N=6~8;\n[0037] e.通过运动能量图获得手势运动的开始时刻和结束时刻,计算两个不同时刻的运动能量图累加的差Γt+k,计算Γt+k=(st+k-st),其中st=∑∑Eτ(x,y,t),为t时刻之前的运动能量图Eτ(x,y,t)的和,st+k为t+k时刻之前的运动能量图Eτ(x,y,t)和。若Γt+k>T1(T1=400)则判定手势运动开始;若Γt+k<T2(T2=20),判定手势运动结束,由此分割出手势运动;\n[0038] f.通过步骤a~步骤e对一段视频的分析,获得该视频的一个运动方向的编码序列。为克服运动噪声,去除头尾截取该编码序列的中间6~8个编码,将截取的子编码序列作为隐马尔科夫模型的可见状态序列O(o1,o2,Λon),其中oi∈{-1,0,1,2,3},i=1ΛN,N=6~8,利用Baum-Welch算法对隐马尔科夫模型参数λ=(A,B,π)进行训练,使得P(O|λ)最大,其中A为隐马尔科夫模型中隐状态之间的转移矩阵,B为可见状态概率矩阵,π为初始状态概率矩阵,P(O|λ)表示在λ=(A,B,π)模型下,获得可见状态序列O(o1,o2,Λon)的概率:\n[0039] f1.初始化待训练模型参数λ0,根据动作编码设定待训练模型参数λ0的各个状态转移矩阵(A,B,π);\n[0040] f2.根据待训练模型参数λ0和隐马尔科夫模型可见状态的观察值序列O,训练新模型参数λ:如果新模型下获得所述观察值序列的概率的对数—待模型下获得所述观察值序列的概率的对数<delta,即logP(oi|λ)-logP(oi|λ0)<delta,则训练结束;否则将重复步骤f2。\n[0041] 具体为:假设在待训练模型参数λ0及观察值序列O给定的条件下,从当前隐状态i到下一个隐状态j的转移概率为ξ(i,j)=P(st=i,st+1=j|O,λ),则其中,αt(i)表示t时刻位于隐状态i,且已经产生了\n可见状态序列O(o1,o2,Λot)的前t个符号的概率;aij表示隐马尔科夫模型中位于隐状态i并向隐状态j转移的概率;bj(ot+1)表示隐状态j下观测到符号ot+1的概率;βt+1(j)表示在t+1时刻隐马尔科夫位于隐状态j,并将产生t+1时刻之后的目标序列(时间范围从t+1→N,N=6~8)的概率。令γt(i)=∑ξt(i,j)表示t时刻处于隐状态Si的概率,则∑γt(i)为整个过程中从状态Si转出的次数的预期,而∑ξt(i,j)为从隐状态Si跳转到隐状态Sj次数的预期。因此新模型参数λ的估计值为:\nπi=γ1(i),πi表示初始状态为i的概率。\n[0042] 根据所述的隐马尔科夫模型的可见状态序列O(o1,o2,Λon),利用隐马尔科夫模型的前向、后向算法,通过隐马尔科夫模型参数λ=(A,B,π)的状态转移概率和观测值概率,计算运动模型概率,根据最大的运动模型概率对应的运动模型对整个系统的手势运动方向进行判断,推定出手势运动的方向。\n[0043] 其中隐马尔科夫模型的前向方向计算为:\n[0044] 在运动角度观测序列O(o1,o2,Λon)基础上,定义前向变量αt(i):αt(i)=P(o1,o2,Λot,qt=θi/λ),1≤t≤N(N表示观测序列的长度,取值范围为6~8,P(o1,o2,L ot,qt=θi/λ)表示当前新模型参数λ获得序列O′(o1,o2,Λot)的概率);初始化前向变量:α1(i)=πibi(o1);递归计算: 1≤t≤N-1,1≤j≤N,\nN=6~8;其中αt+1(j)表示在t+1时刻新模型参数λ获得序列O′的概率,bi(o1)表示在i状态下,产生可观测值o1的概率,πi表示初始状态为i的概率,αi(i)aij表示当前位于i状态下,跳转到j状态下的概率;终止: αT(i)为T时刻新模型参\n数λ获得序列O′的概率;\n[0045] 隐马尔科夫模型的前向方向计算为:\n[0046] 在运动角度观测序列O(o1,o2,Λon)基础上,定义后向变量βt(i):βt(i)=P(ot-1,ot-2,ΛoT,qt=θi/λ),1≤t≤N-1((N表示观测序列的长度,取值范围为6~8,P(ot-1,ot-2,L oT,qt=θi/λ)表示给定模型参数λ获得序列O′(ot-1,ot-2,ΛoN)的概率);初始化后向变量:βT(i)=1;递归计算: t=N-1,N-2,\nL,1,1≤i≤N;终止: 其中β表示在所对应的下标时刻新模型参数λ\n获得序列O′的概率。
法律信息
- 2014-01-29
- 2012-09-19
实质审查的生效
IPC(主分类): G06K 9/00
专利申请号: 201110429580.2
申请日: 2011.12.20
- 2012-07-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-06-30
|
2009-09-23
| | |
2
| |
2011-07-27
|
2011-04-29
| | |
3
| |
2010-06-16
|
2009-12-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |