一种基于视频图像处理的手势识别系统及其方法转让专利

申请号 : CN201910609811.4

文献号 : CN110309806B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王鹏张强薛楠宋成伟

申请人 : 哈尔滨理工大学

摘要 :

一种基于视频图像处理的手势识别系统及其方法属于图像处理领域;包括摄像头采集模块、摄像头配置模块、预处理模块、DDR存储器、手势检测与分割模块、手势特征提取模块和手势识别模块;所述预处理模块包括中值滤波模块、颜色域转换模块,手势检测与分割模块包括图像二值化模块、滤波模块和边缘检测模块;所述摄像头配置模块连接摄像头采集模块,所述摄像头采集模块依次连接中值滤波模块、颜色域转换模块、DDR存储器、图像二值化模块、滤波模块、边缘检测模块、手势特征提取模块和手势识别模块;本发明有效的解决了现有技术当中识别时间长,反应慢的技术问题。

权利要求 :

1.一种基于视频图像处理的手势识别系统实现的手势识别方法,其特征在于,包括下列步骤:步骤a、摄像头采集模块对手势图像进行采集,对手势图像进行中值滤波和颜色域转换,输出YCrCb格式的图像到手势检测与分割模块;

步骤b、手势检测与分割模块对所述图像利用最大类间方差法的自适应阈值的二值化算法进行二值化;

步骤c、对二值化后的图像进行均值滤波运算和先腐蚀后膨胀的形态学滤波进行降噪处理;

步骤d、对降噪处理后的图像采用Sobel算子利用边缘上像素值的梯度变化确定并提取手势的轮廓;

步骤e、进行特征提取:特征包括手部的面积周长比C、手指根数F及预置10种手势的7阶Hu矩;

其中,手部的面积周长比值的获取方法是:

设定手部图像面积为S、手部图像周长L的比值为C,

面积S的求法是在二值化的手部图像上,计算手部就是计算所有白色像素点的个数,以此作为面积,通过对二值图像进行扫描得到:S=∑∑q(x,y),其中

周长L的求法是手部轮廓边界线上所有像素点之和,对手势轮廓中的手势区域进行扫描并且计算出白色点的个数,即为周长:L=∑∑f(x,y),其中

步骤f、通过手部的面积周长比C、手指的根数F和手势轮廓的7个Hu矩作为特征参数,运用分类决策树和手势特征集中预置的多种手势的手势特征进行匹配从而识别手势的方法为建立分类决策树,根据手部面积周长比C对不同手势第一次进行区分,对处在同一手部面积周长比C参数区间的手势再通过手指根数F参数进行区分,若依然无法区分则利用Hu矩参数信息与预置于手势特征集中的手势进行最小欧氏距离进行匹配,最终实现快速精确的识别预先定义的十种手势。

2.根据权利要求1所述一种基于视频图像处理的手势识别系统实现的手势识别方法,其特征在于,所述中值滤波方法包括把一帧图片里的任意一点像素的亮度值被该点模板邻域各点的亮度值的中值取代,采用3×3模板来实现中值滤波。

3.根据权利要求2所述一种基于视频图像处理的手势识别系统实现的手势识别方法,其特征在于,所述颜色域转换模块将RGB颜色空间转换为YCrCb颜色空间,其中Y表示亮度,Cr表示RGB中红色分量与亮度值之间的差异,Cb表示RGB蓝色分量与亮度值之间的差异。

4.根据权利要求3所述一种基于视频图像处理的手势识别系统实现的手势识别方法,其特征在于,所述最大类间方差法的自适应阈值的二值化算法根据图像目标和背景的方差来区别出图像的目标和背景。

5.根据权利要求4所述一种基于视频图像处理的手势识别系统实现的手势识别方法,其特征在于,所述形态学滤波方法包括先腐蚀后膨胀,腐蚀为用3阶矩阵模板与图像中的每一个像素进行计算,即模板与模板覆盖的像素进行与运算,如果都为1,则该像素为1,否则该像素为0,公式为其中X表示原图像,B表示处理模板,a为任意一个在阴影部分的点,Ba为结构元素B平移a后得到的数值;

膨胀为腐蚀的反操作,用3阶矩阵模板扫描图像中的每一个像素,即模板与模板覆盖的像素进行或运算,如果都为0,则该像素为0,否则该像素为1,公式为

6.根据权利要求5所述一种基于视频图像处理的手势识别系统实现的手势识别方法,其特征在于,所述Sobel算子包含两组3阶矩阵,分别用于检测图像的水平边缘和垂直边缘,设I表示待处理图像,Gx与Gy分别表示水平和垂直边缘检测的图像,公式如下:结合以上两式,针对图像的每个像素点求出近似梯度:

说明书 :

一种基于视频图像处理的手势识别系统及其方法

技术领域

[0001] 本发明属于图像处理领域,尤其涉及一种基于视频图像处理的手势识别系统及其方法。

背景技术

[0002] 随着人机交互技术的飞速发展,各种新型的人机交互方式不断涌现,基于手势识别的人机交互方式作为其中一个分支,随着各种新算法的提出及改进,其重要性日益凸显,并将在不远的将来走进千家万户,成为家庭中人机交互的主要方式。
[0003] 然而,手势识别这类基于数字图像处理的人机交互方式,一直面临着一个难以解决的问题,即识别时间长,反应慢的技术问题。

发明内容

[0004] 本发明克服了上述现有技术的不足,提供一种基于视频图像处理的手势识别系统及其方法。
[0005] 本发明的技术方案:
[0006] 一种基于视频图像处理的手势识别系统,包括摄像头采集模块、摄像头配置模块、预处理模块、DDR存储器、手势检测与分割模块、手势特征提取模块和手势识别模块;所述预处理模块包括中值滤波模块、颜色域转换模块,手势检测与分割模块包括图像二值化模块、滤波模块和边缘检测模块;所述摄像头配置模块连接摄像头采集模块,所述摄像头采集模块依次连接中值滤波模块、颜色域转换模块、DDR存储器、图像二值化模块、滤波模块、边缘检测模块、手势特征提取模块和手势识别模块。
[0007] 一种基于所述基于视频图像处理的手势识别系统实现的手势识别方法,包括下列步骤:
[0008] 步骤a、摄像头采集模块对手势图像进行采集,对手势图像进行中值滤波和颜色域转换,输出YCrCb格式的图像到手势检测与分割模块;
[0009] 步骤b、手势检测与分割模块对所述图像利用最大类间方差法的自适应阈值的二值化算法进行二值化;
[0010] 步骤c、对二值化后的图像进行均值滤波运算和先腐蚀后膨胀的形态学滤波进行降噪处理;
[0011] 步骤d、对降噪处理后的图像采用Sobel算子利用边缘上像素值的梯度变化确定并提取手势的轮廓;
[0012] 步骤e、进行特征提取:特征包括手部的面积周长比、手指根数及预置10种手势的7阶Hu矩;
[0013] 步骤f、设定手部图像面积为S、手部图像周长L的比值为C,
[0014]
[0015] 步骤g、面积S的求法是在二值化的手部图像上,计算手部就是计算所有白色像素点的个数,以此作为面积,通过对二值图像进行扫描得到:
[0016]
[0017] 步骤h、周长L的求法是手部轮廓边界线上所有像素点之和,对手势轮廓中的手势区域进行扫描并且计算出白色点的个数,即为周长:
[0018]
[0019] 步骤i、通过手指的根数F和手势轮廓的7个不变矩作为特征参数,运用分类决策树和手势特征集中预置的多种手势的手势特征进行匹配从而识别手势。
[0020] 进一步地,所述中值滤波方法包括把一帧图片里的任意一点像素的亮度值被该点模板邻域各点的亮度值的中值取代,采用3×3模板来实现中值滤波。
[0021] 进一步地,所述颜色域转换为RGB颜色空间转换为与亮度呈非线性关系的颜色空间YCrCb颜色空间,其中Y表示亮度,Cr表示RGB中红色分量与亮度值之间的差异,Cb表示RGB蓝色分量与亮度值之间的差异。
[0022] 进一步地,所述最大类间方差法的自适应阈值的二值化算法根据图像目标和背景的方差来区别出图像的目标和背景。
[0023] 进一步地,所述形态学滤波方法包括先腐蚀后膨胀,腐蚀为用3阶矩阵模板与图像中的每一个像素进行计算,即模板与模板覆盖的像素进行与运算,如果都为1,则该像素为1,否则该像素为0,公式为
[0024]
[0025] 其中X表示原图像,B表示处理模板;
[0026] 膨胀为腐蚀的反操作,用3阶矩阵模板扫描图像中的每一个像素,即模板与模板覆盖的像素进行或运算,如果都为0,则该像素为0,否则该像素为1,公式为[0027]
[0028] 进一步地,所述Sobel算子包含两组3阶矩阵,分别用于检测图像的水平边缘和垂直边缘,设I表示待处理图像,Gx与Gy分别表示水平和垂直边缘检测的图像,公式如下:
[0029]
[0030]
[0031] 结合以上两式,针对图像的每个像素点求出近似梯度:
[0032]
[0033] 进一步地,运用分类决策树和手势特征集中预置的多种手势的手势特征进行匹配从而识别手势的方法为建立分类决策树,根据面积周长比的值C参数对不同手势第一次进行区分,对处在同一C参数区间的手势再通过手指根数F参数进行区分,若依然无法区分则利用Hu矩参数信息与预置于手势特征集中的手势进行最小欧氏距离进行匹配,最终实现快速精确的识别预先定义的十种手势。
[0034] 本发明相对于现有技术具有以下有益效果:
[0035] 本发明公开了一种基于视频图像处理的手势识别系统及其方法,通过摄像头采集模块对手势图像进行采集,输出RGB格式图像传输至预处理模块进行预处理;对图像进行中值滤波,去除掉图像中的椒盐噪声,然后再对图像进行颜色域转换,把图像转换成YCrCb格式的数据经过预处理模块后的图像缓存到DDR存储器中,图像二值化模块从DDR存储器中读取到的图像数据经过自适应阈值的界定,进行图像的二值化,用以简化计算和资源消耗;通过滤波模块进行降噪处理,滤波模块包括均值滤波和形态学滤波,均值滤波用于取出白噪声和环境噪声,形态学滤波(腐蚀膨胀)用于去除二值化后的噪点,通过边缘检测模块对图像完成手势分割;通过手势特征提取模块提取手势图像特征;通过手势识别模块对手势图像特征进行手势识别运算,快速完成手势识别;本发明有效的解决了现有技术当中识别时间长,反应慢的技术问题。

附图说明

[0036] 图1是一种基于视频图像处理的手势识别系统结构图;
[0037] 图2是一种基于视频图像处理的手势识别方法流程图;
[0038] 图3是中值滤波流程图;
[0039] 图4是腐蚀过程演示图;
[0040] 图5是膨胀过程演示图;
[0041] 图6是决策树示意图图;
[0042] 图7是预设十种手势对比图;
[0043] 图8是系统工作原理图。

具体实施方式

[0044] 以下将结合附图对本发明进行详细说明。
[0045] 具体实施方式一
[0046] 一种基于视频图像处理的手势识别系统,如图1所示,包括摄像头采集模块、摄像头配置模块、预处理模块、DDR存储器、手势检测与分割模块、手势特征提取模块和手势识别模块;所述预处理模块包括中值滤波模块和颜色域转换模块,手势检测与分割模块包括图像二值化模块、滤波模块和边缘检测模块;所述摄像头配置模块连接摄像头采集模块,所述摄像头采集模块依次连接中值滤波模块、颜色域转换模块、DDR存储器、图像二值化模块、滤波模块、边缘检测模块、手势特征提取模块和手势识别模块。
[0047] 工作过程:如图8所示,通过摄像头配置模块对摄像头采集模块配置,使用FPGA驱动摄像头采集模块对手势图像进行采集,输出RGB格式图像传输至预处理模块进行预处理;对图像进行中值滤波,去除掉图像中的椒盐噪声,然后再对图像进行颜色域转换,把图像转换成YCrCb格式的数据经过预处理模块后的图像缓存到DDR存储器中,图像二值化模块从DDR存储器中读取到的图像数据经过自适应阈值的界定,进行图像的二值化,用以简化计算和资源消耗;通过滤波模块进行降噪处理,滤波模块包括均值滤波和形态学滤波,均值滤波用于取出白噪声和环境噪声,形态学滤波(腐蚀膨胀)用于去除二值化后的噪点,通过边缘检测模块对图像完成手势分割;通过手势特征提取模块提取手势图像特征;通过手势识别模块对手势图像特征进行手势识别运算,完成手势识别。
[0048] 具体实施方式二
[0049] 一种基于所述基于视频图像处理的手势识别系统实现的手势识别方法,如图2所示,包括下列步骤:
[0050] 步骤a、摄像头采集模块对手势图像进行采集,对手势图像进行中值滤波和颜色域转换,输出YCrCb格式的图像到手势检测与分割模块;
[0051] 步骤b、手势检测与分割模块对所述图像利用最大类间方差法的自适应阈值的二值化算法进行二值化;
[0052] 步骤c、对二值化后的图像进行均值滤波运算和先腐蚀后膨胀的形态学滤波进行降噪处理;
[0053] 步骤d、对降噪处理后的图像采用Sobel算子利用边缘上像素值的梯度变化确定并提取手势的轮廓;
[0054] 步骤e、进行特征提取:特征包括手部的面积周长比、手指根数及预置10种手势的7阶Hu矩;
[0055] 步骤f、设定手部图像面积为S、手部图像周长L的比值为C,
[0056]
[0057] 步骤g、面积S的求法是在二值化的手部图像上,计算手部就是计算所有白色像素点的个数,以此作为面积,通过对二值图像进行扫描得到:
[0058]
[0059] 其中,q(x,y)手部图像区域的像素点;
[0060] 步骤h、周长L的求法是手部轮廓边界线上所有像素点之和,对手势轮廓中的手势区域进行扫描并且计算出白色点的个数,即为周长:
[0061]
[0062] 其中,f(x,y),轮廓上的像素点;
[0063] 步骤i、通过手指的根数F和手势轮廓的7个不变矩作为特征参数,运用分类决策树和手势特征集中预置的多种手势的手势特征进行匹配从而识别手势。
[0064] 具体实施方式三
[0065] 在具体实施方式二的基础上,如图3所示,所述中值滤波方法包括把一帧图片里的任意一点像素的亮度值被该点模板邻域各点的亮度值的中值取代,采用3×3模板来实现中值滤波。
[0066] 中值滤波,本发明使用特有的适合于FPGA的快速中值滤波算法:在进行进一步的图像处理之前,必须先对图像进行一定程度的降噪。重点是既能强化图像里的特定信息,又能减弱甚至消除不必要的信息或能影响识别结果的信息,使得滤波后的图像能更加适合后续的处理。
[0067] 具体实施方式四
[0068] 在具体实施方式三的基础上,所述颜色域转换为RGB颜色空间转换为与亮度呈非线性关系的颜色空间YCrCb颜色空间,其中Y表示亮度,Cr表示RGB中红色分量与亮度值之间的差异,Cb表示RGB蓝色分量与亮度值之间的差异。
[0069] 为了克服RGB颜色空间的局限性,必须使用一种与亮度呈非线性关系的颜色空间——YCrCb颜色空间,其中Y表示亮度,Cr表示RGB中红色分量与亮度值之间的差异,Cb表示RGB蓝色分量与亮度值之间的差异,而摄像头所获取的图像为RGB颜色空间,所以需要进行色域转换。
[0070] 具体实施方式五
[0071] 在具体实施方式四的基础上,所述最大类间方差法的自适应阈值的二值化算法根据图像目标和背景的方差来区别出图像的目标和背景。
[0072] 本发明基于肤色信息作为图像二值化的依据,其实现方法有两种:固定阈值法和自适应阈值法。固定阈值法即是设定一个固定的阈值或者阈值范围,例如我们可以根据D.Chai的研究结果:133≤Cr≤173,77≤Cb≤127,只要对于任意像素点满足此条件,即认为是手势部位,把此像素点设置为255,反之对于任意像素点不满足此条件,即认为是背景点,把此像素点设置为0。固定阈值法的主要优点是算法复杂度低,容易实现并且计算量小。但是固定的阈值对于复杂背景的适应性较差,通常处理效果不好。而自适应阈值法可以根据图像中的像素点数据的变化的特点,自动调节二值化所采用的阈值,适用于不同的环境。
[0073] 最大类间方差法是一种自适应阈值算法,简称OTSU。其原理主要根据图像目标和背景的方差来区别出图像的目标和背景。
[0074] 设图像为I(x,y),分割阈值为T,属于前景的像素点的个数为N0,占整帧图像的像素点总数的比例为ω0,前景像素点的平均亮度为μ0。属于背景的像素点的个数为N1,占整帧图像的像素点总数的比例为ω1,图像的平均亮度为μ1。图像的分辨率为M×N,图像的平均灰度为μ,其类间方差记为g,那么对于0到255之间的每一个T的取值,都有如下:
[0075] ω0=N0/(M×N)
[0076] ω1=N1/(M×N)
[0077] N0+N1=M×N
[0078] ω0+ω1=1
[0079] μ=ω0×μ0+ω1×μ1
[0080] g=ω0×(μ0-μ)2+ω1×(μ1-μ)2
[0081] 根据上列各式,求得方差的最大值即为阈值T。
[0082] 设二值化后的图像为BI(x,y),则:
[0083]
[0084] 本发明采用自适应阈值法为图像的二值化提供阈值。
[0085] 具体实施方式六
[0086] 在具体实施方式五的基础上,由于图片中有很多类肤色的点,在二值化时这些点会被当作肤色点处理,所以二值化后仍会保留在图像中,为了后续的手势识别处理,需要对二值化后的图像进行处理,把保留下来的非手势部位的噪点去除,其主要方法是形态学开运算,即先腐蚀后膨胀。
[0087] 如图4所示,腐蚀会消除图像的边界像素点,使其边界向内收缩,可以用来消除图像中小且无意义的像素点,同时图像也会损失一些有用的边缘信息。所述形态学滤波方法包括先腐蚀后膨胀,腐蚀为用3阶矩阵模板与图像中的每一个像素进行计算,即模板与模板覆盖的像素进行与运算,如果都为1,则该像素为1,否则该像素为0,公式为[0088]
[0089] 其中X是被处理的对象,B是结构元素;任意一个在阴影部分的点a,结构元素B平移a后得到Ba,这样做的结果会使得图像看起来会减小一圈;
[0090] 膨胀为腐蚀的反操作,如图5所示,用3阶矩阵模板扫描图像中的每一个像素,即模板与模板覆盖的像素进行或运算,如果都为0,则该像素为0,否则该像素为1,公式为[0091]
[0092] 这样做的结果会使得图像看起来会扩大一圈,所以对于二值化后的手势图像进行开运算处理,既能消除类肤色的噪点,又能保留手势边缘等重要信息。
[0093] 具体实施方式七
[0094] 在图像二值化之后,此时的图像帧序列中,原图像已经明显分开感兴趣的手势区域和不需要的非手势区域,此时可以依据两个区域边缘上像素值的梯度变化来确定并提取出手势的轮廓,从而分割出手势的轮廓。常用的边缘检测算子有Sobel算子,Canny算子,Laplacian算子等。
[0095] 本发明采用Sobel边缘检测算子提取出手势的轮廓。
[0096] 在具体实施方式六的基础上,所述Sobel算子包含两组3阶矩阵,分别用于检测图像的水平边缘和垂直边缘,设I表示待处理图像,Gx与Gy分别表示水平和垂直边缘检测的图像,公式如下:
[0097]
[0098]
[0099] 结合以上两式,针对图像的每个像素点求出近似梯度:
[0100]
[0101] 上式中,G表示图像的每个像素点的近似梯度。
[0102] 具体实施方式八
[0103] 在具体实施方式七的基础上,如图6和图7所示,运用分类决策树和手势特征集中预置的多种手势的手势特征进行匹配从而识别手势的方法为建立分类决策树,根据面积周长比的值C参数对不同手势第一次进行区分,对处在同一C参数区间的手势再通过手指根数F参数进行区分,若依然无法区分则利用Hu矩参数信息与预置于手势特征集中的手势进行最小欧氏距离进行匹配,最终实现快速精确的识别预先定义的十种手势。