首页 / 专利库 / 人工智能 / 体感交互 / 手势识别 / 手势识别方法、装置、终端设备及计算机可读存储介质

手势识别方法、装置、终端设备及计算机可读存储介质

阅读:760发布:2020-05-11

专利汇可以提供手势识别方法、装置、终端设备及计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 手势识别 方法、装置、终端设备及计算机可读存储介质,本发明通过先对图像进行肤色分割,然后将肤色分割后的彩色图像转化为灰度图像,使用 帧 差法对灰度图进行处理来获取手势目标的运动信息,使用自适应的高效的图像二值化 算法 对差分图像进行二值化处理,然后进行形态学处理;使用Camshift算法结合上一步分割出来的图像实现对手势目标的 跟踪 ;对Camshift算法得到的点序列进行特征提取,然后使用隐 马 尔可夫模型进行手势目标的识别。在发明中,结合了中值滤波算法、帧差法、图像二值化算法、Camshift算法等算法,并结合肤色检测改善了帧差法,通过先分割后追踪提高了追踪效果,简单快速有效地从追踪结果提取了特征,实现了图像手势的准确识别,识别效果佳。,下面是手势识别方法、装置、终端设备及计算机可读存储介质专利的具体信息内容。

1.一种手势识别方法,其特征在于,包括:
采用中值滤波算法来对图像进行平滑处理,以消除噪音;
对消除噪音后的图像进行肤色分割,将肤色分割后的彩色图像转化为灰度图像,使用差法对灰度图进行处理来获取手势目标的运动信息,并使用图像二值化算法对差分图像进行二值化处理,然后进行形态学处理,以实现对手势目标的检测与分割;
使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪
对Camshift算法得到的点序列进行特征提取,然后使用隐尔可夫模型进行手势目标的识别。
2.如权利要求1所述的手势识别方法,其特征在于,所述采用中值滤波算法来对图像进行平滑处理包括:
设置一个N乘以N的采样窗口来对图像的每个像素进行采样,N为正奇数;
计算窗口内的中值,并将窗口中间的值用中值替代。
3.如权利要求1或2所述的手势识别方法,其特征在于,所述采用中值滤波算法来对图像进行平滑处理中的图像为静态图像或视频帧图像。
4.如权利要求3所述的手势识别方法,其特征在于,所述对消除噪音后的图像进行肤色分割,将肤色分割后的彩色图像转化为灰度图像,使用帧差法对灰度图进行处理来获取手势目标的运动信息,并使用图像二值化算法对差分图像进行二值化处理,然后进行形态学处理包括:
先对图像进行肤色分割,肤色部分应该满足如下条件:R>95,G>40,B>20,|R-G|>15,R>G,R>B,MAX(R,G,B)-MIN(R,G,B>15),不满足条件的将R,G,B的值都设置为0;
然后将肤色分割后的彩色图像转化为灰度图,每个像素的灰度值Y=0.3R+0.59G+
0.11B;
使用帧差法计算差分图像,Gi(x,y)=|Yi+1(x,y)-Yi(x,y)|;
设置一个阈值Th将图像分成两组,像素值大于Th值的为前景,小于Th值的为背景;设图像G(x,y),Th为设置的阈值;前景像素点占图像所有像素点的比例为w0,灰度的平均值为μ0;
背景像素点占图像所有点的比例为w1,灰度的平均值为μ1;假设图像的大小为M×N,灰度值大于Th的个数记为N1,小于Th的个数记为N0,图像的灰度均值记为μ,背景和前景的方差记为g,计算步骤如下:
w0=N0/M×N
w1=N1/M×N
N0+N1=M×N
w0+w1=1
μ=w0×μ0+w1×μ1
g=w0(μ0-μ)2+w1(μ1-μ)2
代入得到:
g=w0w1(μ0-μ1)2
阈值Th的取值范围为0~255,当前景和背景之间的方差最大时,所使用的阈值就是性能最好的阈值。使用最佳阈值进行二值化操作,对小于阈值的灰度值设置为0,大于阈值的灰度值设置为1;
对二值化得到的图像进行形态学处理,先进行腐蚀操作,设二值图像为M,S代表结构元素,表达式为 然后进行膨胀操作,表达式为
5.如权利要求4所述的手势识别方法,其特征在于,所述使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪,包括如下步骤:
从得到的二值化图像中计算最大连通区域,并找到最小外接矩形;
将最小外接矩形作为作为初始搜索窗口,在经过中值滤波的原图进行操作,计算:
将图像从RGB颜色空间转化到HSV颜色空间,提取出H分量;
计算目标区域H分量的颜色直方图,再根据颜色直方图计算每个H值在目标区域出现的概率在原图像中将像素值替换成概率,不在目标区域的像素点概率值设置为0;
对替换后的图像在窗口内计算0阶矩 1阶矩 和
2阶矩 和
然后计算新的质心xc=M10/M00,yc=M01/M00和搜索窗口宽度 以及长度l=
1.2s;
移动中心到该质心处,计算移动距离,若移动距离小于一定的阈值或者循环次数大于一定值,循环结束;若没有达到阈值,继续进行操作;
将最终得到的质心作为序列当中的其中一个观测值,将得到的搜索窗口作为下一帧搜索窗口的输入,继续进行,直到视频帧被读完。
6.如权利要求1所述的手势识别方法,其特征在于,所述对Camshift算法得到的点序列进行特征提取,然后使用隐马尔可夫模型进行手势目标的识别包括:
对所有Camshift得到的点序列进行遍历,每两个点进行计算,将前后两点作为起点和终点作向量,根据向量的度大小分成[0°,45°],[45°,90°],[90°,135°],[135°,180°],[180°,225°],[225°,270°],[270°,315°],[315°,360°],每个区间分别取值2,1,8,7,6,5,
4,3作为特征值;
将所有得到的特征值序列作为训练集放入隐马尔可夫模型使用前向后向算法进行训练,得到每个手势对应的隐马尔可夫模型;最后得到的各个手势的隐马尔可夫模型用于视频手势的识别,将需要识别的视频使用上述的方法进行手势检测,分割,跟踪以及特征提取然后将特征输入到隐马尔科夫模型使用前向算法即可识别。
7.一种手势识别装置,其特征在于,包括:
噪音消除模,其采用中值滤波算法来对图像进行平滑处理,以消除噪音;
检测与分割模块,其用于对消除噪音后的图像进行肤色分割,将肤色分割后的彩色图像转化为灰度图像,使用帧差法对灰度图进行处理来获取手势目标的运动信息,并使用图像二值化算法对差分图像进行二值化处理,然后进行形态学处理,以实现对手势目标的检测与分割;
跟踪模块,其使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪;
识别模块,其用于对Camshift算法得到的点序列进行特征提取,然后使用隐马尔可夫模型进行手势目标的识别。
8.如权利要求7所述的手势识别装置,其特征在于,所述采用中值滤波算法来对图像进行平滑处理中的图像为视频帧。
9.一种手势识别终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6任一所述的方法步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一所述的方法步骤。

说明书全文

手势识别方法、装置、终端设备及计算机可读存储介质

技术领域

[0001] 本发明涉及图像处理技术领域,具体涉及一种手势识别方法、装置、终端设备及计算机可读存储介质。

背景技术

[0002] 随着计算机技术的不断发展以及工业界对计算机技术应用的不断探索,越来越多的计算机领域的技术已经被投入到实际应用当中。作为人机交互的重要方式,图像识别成为人们跳不过的领域,图像识别技术成为工业界的热技术。而图像识别当中的手势识别课题更是成为大热的研究课题。对于手势识别技术来说,有基于图片的静态手势识别技术和基于视频的动态识别技术。显然,基于视频的动态识别技术具有更高的使用价值,更受人们青睐。而在图像处理的过程中,很多算法会对运行速度产生比较大的影响,并且单独地使用一个算法效果会不佳,会影响图像识别的效果。

发明内容

[0003] 为了解决现有图像手势识别效果不佳的问题,本发明实施例提供了一种手势识别方法、装置、终端设备及计算机可读存储介质
[0004] 为实现上述目的,本发明的技术方案是:
[0005] 第一方面,本发明实施例提供了一种手势识别方法,包括:
[0006] 采用中值滤波算法来对图像进行平滑处理,以消除噪音;
[0007] 对消除噪音后的图像进行肤色分割,将肤色分割后的彩色图像转化为灰度图像,使用差法对灰度图进行处理来获取手势目标的运动信息,并使用图像二值化算法对差分图像进行二值化处理,然后进行形态学处理,以实现对手势目标的检测与分割;
[0008] 使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪
[0009] 对Camshift算法得到的点序列进行特征提取,然后使用隐尔可夫模型进行手势目标的识别。
[0010] 第二方面,本发明实施例提供了一种手势识别装置,包括:
[0011] 噪音消除模,其采用中值滤波算法来对图像进行平滑处理,以消除噪音;
[0012] 检测与分割模块,其用于对消除噪音后的图像进行肤色分割,将肤色分割后的彩色图像转化为灰度图像,使用帧差法对灰度图进行处理来获取手势目标的运动信息,并使用图像二值化算法对差分图像进行二值化处理,然后进行形态学处理,以实现对手势目标的检测与分割;
[0013] 跟踪模块,其使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪;
[0014] 识别模块,其用于对Camshift算法得到的点序列进行特征提取,然后使用隐马尔可夫模型进行手势目标的识别。
[0015] 第三方面,本发明实施例提供了一种手势识别终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述手势识别方法的方法步骤。
[0016] 第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述手势识别方法的方法步骤
[0017] 本发明与现有技术相比,其有益效果在于:
[0018] 本发明通过先对图像进行肤色分割,然后将肤色分割后的彩色图像转化为灰度图像,使用帧差法对灰度图进行处理来获取手势目标的运动信息,使用自适应的高效的图像二值化算法对差分图像进行二值化处理,然后进行形态学处理;使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪;对Camshift算法得到的点序列进行特征提取,然后使用隐马尔可夫模型进行手势目标的识别。在发明中,结合了中值滤波算法、帧差法、图像二值化算法、Camshift算法等算法,并结合肤色检测改善了帧差法,通过先分割后追踪提高了追踪效果,简单快速有效地从追踪结果提取了特征,实现了图像手势的准确识别,识别效果佳。此外本发明提高了中值滤波的速度,从而提高了整体计算速度。附图说明
[0019] 图1为本发明实施例1提供的手势识别方法的流程图
[0020] 图2为采用实施例1提供的手势识别方法而追踪到的手势目标运动轨迹图;
[0021] 图3为本发明实施例2提供手势识别装置的组成示意图;
[0022] 图中:301、噪音消除模块;302、检测与分割模块;303、跟踪模块;304、识别模块。

具体实施方式

[0023] 下面结合附图和具体实施方式对本发明的内容做进一步详细说明。
[0024] 本申请中所涉及到的相关术语背景技术解释说明如下:
[0025] RGB是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色。
[0026] HSV为颜色模型的一种,每一种颜色都是由色相(Hue,简H),饱和度(Saturation,简S)和色明度(Value,简V)所表示的HSV模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1。它包含RGB模型中的R=1,G=1,B=1三个面,所代表的颜色较亮。色彩H由绕V轴的旋转给定。
[0027] 隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程,可用于用于语音识别,行为识别,文字识别以及故障诊断等领域。
[0028] 实施例1:
[0029] 参阅图1所示,为本实施例提供的手势识别方法的流程图,包括如下步骤:
[0030] 101、采用中值滤波算法来对图像进行平滑处理,以消除噪音;
[0031] 102、对消除噪音后的图像进行肤色分割,将肤色分割后的彩色图像转化为灰度图像,使用帧差法对灰度图进行处理来获取手势目标的运动信息,并使用自适应的高效的图像二值化算法对差分图像进行二值化处理,然后进行形态学处理,使图像变得更光滑,填平小孔,弥合小裂缝,从而实现对手势目标的检测与分割;
[0032] 103、使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪;
[0033] 104、对Camshift算法得到的点序列进行特征提取,然后使用隐马尔可夫模型进行手势目标的识别。
[0034] 由此可见,本方法通过对图像进行快速中值滤波;先对图像进行肤色分割,然后将肤色分割后的彩色图像转化为灰度图像,使用帧差法对灰度图进行处理来获取手势目标的运动信息,使用自适应的高效的图像二值化算法对差分图像进行二值化处理,然后进行形态学处理;使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪;在本方法中,结合了中值滤波算法、帧差法、图像二值化算法、Camshift算法等算法,并结合肤色检测改善了帧差法,通过先分割后追踪提高了追踪效果,简单快速有效地从追踪结果提取了特征,实现了图像手势的准确识别,识别效果佳。
[0035] 作为本实施例的一种优选,上述步骤101中,采用中值滤波算法来对图像进行平滑处理包括:
[0036] 设置一个N乘以N的采样窗口来对图像的每个像素进行采样,N为正奇数;
[0037] 计算窗口内的中值,并将窗口中间的值用中值替代。
[0038] 在一个具体实施例中,设置一个3×3的采样窗口,得到窗口的值M11,M12,M13,M21,M22,M23,M31,M32,M33,分别计算第一行的最大值Max1=Max{M11,M12,M13},第一行的中值Med1=Median{M11,M12,M13},第一行的最小值Min1=Min{M11,M12,M13};同理,分别计算第二行的最大值Max2,中值Med2,最小值Min2和第三行的最大值Max3,中值Med3,最小值Min3;计算三个最大值中的最小值Minofmax=Min{Max1,Max2,Max3},三个中间值的中间值Medofmed=Median{Med1,Med2,Med3},三个最小值中的最大值Maxofmin={Min1,Min2,Min3};
[0039] 计算中值结果Medofall=Median{Minofmax,Medofmed,Maxofmin},将M22替换成中值结果Medofall。
[0040] 通过采用上述如此的中值滤波算法,能够将每个像素中值滤波过程中的比较次数从30次降低到17次,有效地提高了值滤波的速度,从而提高了整体计算速度。
[0041] 具体地,上述采用中值滤波算法来对图像进行平滑处理中的图像可以为视频帧图像,也就是说,本方法不仅仅可以适用于普通的静态图像,更可以适用于基于视频的动态识别。
[0042] 可选地,在步骤102中,对先对图像进行肤色分割,肤色部分应该满足如下条件:R>95,G>40,B>20,|R-G|>15,R>G,R>B,MAX(R,G,B)-MIN(R,G,B>15),不满足条件的将R,G,B的值都设置为0;
[0043] 然后将肤色分割后的彩色图像转化为灰度图,每个像素的灰度值Y=0.3R+0.59G+0.11B;
[0044] 使用帧差法计算差分图像,Gi(x,y)=|Yi+1(x,y)-Yi(x,y)|;
[0045] 设置一个阈值Th将图像分成两组,像素值大于Th值的为前景,小于Th值的为背景。设图像G(x,y),Th为设置的阈值。前景像素点占图像所有像素点的比例为w0,灰度的平均值为μ0;背景像素点占图像所有点的比例为w1,灰度的平均值为μ1。假设图像的大小为M×N,灰度值大于Th的个数记为N1,小于Th的个数记为N0,图像的灰度均值记为μ,背景和前景的方差记为g,计算步骤如下:
[0046] w0=N0/M×N
[0047] w1=N1/M×N
[0048] N0+N1=M×N
[0049] w0+w1=1
[0050] μ=w0×μ0+w1×μ1
[0051] g=w0(μ0-μ)2+w1(μ1-μ)2
[0052] 代入得到:
[0053] g=w0w1(μ0-μ1)2
[0054] 阈值Th的取值范围为0~255,当前景和背景之间的方差最大时,所使用的阈值就是性能最好的阈值。使用最佳阈值进行二值化操作,对小于阈值的灰度值设置为0,大于阈值的灰度值设置为1。
[0055] 对二值化得到的图像进行形态学处理。先进行腐蚀操作,设二值图像为M,S代表结构元素,表达式为 然后进行膨胀操作,表达式为
[0056] 如此,通过上述方法,将肤色分割和帧差法结合起来,剔除了其他无关运动物体的干扰;在二值化的过程中采用了自适应的阈值设置方法,在二值化之后对图像进行形态学处理,最后分割出来的目标轮廓饱满。
[0057] 可选地,上述步骤103包括如下步骤:
[0058] 从得到的二值化图像中计算最大连通区域,并找到最小外接矩形,将最小外接矩形作为作为初始搜索窗口,在经过中值滤波的原图进行操作,计算提取出H分量,计算目标
区域H分量的颜色直方图,再根据颜色直方图计算每个H值在目标区域出现的概率在原图像中将像素值替换成概率,不在目标区域的像素点概率值设置为0。
[0059] 对替换后的图像在窗口内计算0阶矩 1阶矩和 2阶矩 和
然后计算新的质心xc=M10/M00,yc=M01/M00和搜索窗口宽度 以及长度l=
1.2s。
[0060] 移动中心到该质心处,计算移动距离,若移动距离小于一定的阈值或者循环次数大于一定值,循环结束;若没有达到阈值,继续进行操作。这里的循环结束条件使用OpenCV中的TermCriteria函数,其中循环次数阈值设置为10,移动距离阈值设置为1;
[0061] 将最终得到的质心作为序列当中的其中一个观测值,将得到的搜索窗口作为下一帧搜索窗口的输入,继续进行,直到视频帧被读完。如此,通过此方法步骤即可以有效地追踪到手势目标的运动轨迹。
[0062] 而上述步骤104则包括如下步骤:
[0063] 对所有Camshift得到的点序列进行遍历,每两个点进行计算,将前后两点作为起点和终点作向量,根据向量的角度大小分成[0°,45°],[45°,90°],[90°,135°],[135°,180°],[180°,225°],[225°,270°],[270°,315°],[315°,360°],每个区间分别取值2,1,8,
7,6,5,4,3作为特征值;
[0064] 将所有得到的特征值序列作为训练集放入隐马尔可夫模型使用前向后向算法进行训练,得到每个手势对应的隐马尔可夫模型。最后得到的各个手势的隐马尔可夫模型可用于视频手势的识别,将需要识别的视频使用上述的方法进行手势检测,分割,跟踪以及特征提取然后将特征输入到隐马尔科夫模型使用前向算法即可识别。
[0065] 综上所述,本发明实现了基于视频的手势识别,同时提高了程序的性能和改善了程序的效果。首先提高中值滤波的速度,将每个像素中值滤波过程中的比较次数从30次降低到17次。将肤色分割和帧差法结合起来,剔除了其他无关运动物体的干扰。在二值化的过程中采用了自适应的阈值设置方法,在二值化之后对图像进行形态学处理,最后分割出来的目标轮廓饱满。分割出来的部分尽管会有干扰,但是Camshift算法的优秀性能可以有效地追踪到手势目标的运动轨迹。在特征提取的时候,将点集转化为隐马尔科夫模型可以训练和识别的字符串,最后使用隐马尔科夫模型,结构简单,效果良好,简单有效地实现了基于视频的手势识别系统。运用本方法而追踪到的手势目标运动轨迹图如图2所示。
[0066] 实施例2:
[0067] 参阅图3所示,为本实施例提供的手势识别装置的组成示意图,该装置包括:
[0068] 噪音消除模块301,其采用中值滤波算法来对图像进行平滑处理,以消除噪音;
[0069] 检测与分割模块302,其用于对消除噪音后的图像进行肤色分割,将肤色分割后的彩色图像转化为灰度图像,使用帧差法对灰度图进行处理来获取手势目标的运动信息,并使用图像二值化算法对差分图像进行二值化处理,然后进行形态学处理,以实现对手势目标的检测与分割;
[0070] 跟踪模块303,其使用Camshift算法结合上一步分割出来的图像实现对手势目标的跟踪;
[0071] 识别模块304,其用于对Camshift算法得到的点序列进行特征提取,然后使用隐马尔可夫模型进行手势目标的识别。
[0072] 在本装置中,各个模块之间结合了中值滤波算法、帧差法、图像二值化算法、Camshift算法等算法,并结合肤色检测改善了帧差法,通过先分割后追踪提高了追踪效果,简单快速有效地从追踪结果提取了特征,实现了图像手势的准确识别,识别效果佳。同时,本装置不仅仅可以适用于普通的静态图像,更可以适用于基于视频的动态识别。
[0073] 由于本装置噪音消除模块301、检测与分割模块302、跟踪模块303、识别模块304四个模块的详细工作原理和实施例1中的步骤101-104四个步骤相对应,因此,在本实施例中就不再赘述。
[0074] 实施例3:
[0075] 本实施例提供了一种手势识别终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1所述的方法步骤。
[0076] 实施例4:
[0077] 本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现实施例1所述的方法步骤。
[0078] 上述实施例只是为了说明本发明的技术构思及特点,其目的是在于让本领域内的普通技术人员能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡是根据本发明内容的实质所做出的等效的变化或修饰,都应涵盖在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈