本发明涉及数据处理技术领域,特别涉及一种投影交互系统中的红外手势识别方法。
背景技术:
随着社会的发展,人机交互技术在日常的生活中的应用愈加广泛,其主要是研究计算机与人体之间的信息交互,而触摸式显示屏的出现,也更进一步促进了人机交互技术的发展。基于人机交互潜在市场巨大的情况下,交互式投影系统应运而生。对于交互式投影系统来说,其具有成本较低、操作方便且使用效果较好等优点,广泛地应用于企业、机构学术会议以及学校的日常教学中,这种设备极大地提高了人机交互效率,方便了用户与观众之间的沟通,发展前景广阔。
在交互式投影系统中,可以采用特定的激光笔对屏幕进行操作,也可以采用手指对屏幕进行操作。但是在使用手指对屏幕进行操作的过程中,如果对手指指向屏幕的区域定位不准,则会影像整个交互式投影的效果。
在交互式投影中如何区分正确的手势是一个棘手的问题,在现有的手势识别技术中,一般是对采集的手势图像处理,对处理后的手势图像与模板手势进行匹配,从而寻找出相似度最佳的手势作为手势识别的正确输出。手势识别的准确度主要决定与手势区域定位准确度,而手势区域定位准确度的关键在于该区域的阈值化操作是否准确。但是在实际操作过程中,由于对采集的手势图像处理效果不佳,比如图像阈值化等操作会引入一些噪声点,从而影响手势识别操作的准确度。
技术实现要素:
本发明的目的在于提供一种投影交互系统中的红外手势识别方法及设备,以提高手势识别的准确度。
为实现以上目的,本发明采用的技术方案为:
第一方面,采用一种投影交互系统中的红外手势识别方法,包括:
采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像;
对不同预处理图像进行二值化操作,并对得到的二值化图像进行图像特征提取,得到手势特征;
计算所述手势特征与手势库中各手势图像的几何特征距离,并将几何特征距离最小值时所对应的标准库中的手势ge作为手势识别结果。
优选地,所述采用动态阈值方法对采集的手势图像分别进行预处理,具体包括:
对所述采集的手势图像进行灰度化操作,得到灰度图像;
以灰度图像的左上角为坐标系原点建立直角坐标系,并在该直角坐标系中得到光源点的位置坐标;
计算灰度图像中任意一点(x,y)到光源点之间的欧氏距离d(x,y),并获取灰度图像中各点离点光源点的最远距离dmax;
根据最远距离dmax、各点到光源点之间的欧式距离d(x,y)以及设置的固定阈值k,计算点(x,y)处对应的阈值k(x,y);
利用点(x,y)处对应的阈值k(x,y),对所述手势图像进行阈值化操作,得到所述预处理图像。
优选地,所述采用大津阈值方法对采集的手势图像分别进行预处理,具体包括:
设置不同的灰度阈值t,将所述采集的手势图像中各点像素的灰度值与不同的灰度阈值t进行比较;
将所述手势图像中像素的灰度值小于阈值t的像素个数n0,像素灰度大于阈值t的像素个数n1;
根据手势图像的尺寸以及同一灰度阈值t下比较得到的像素个数n0、像素个数n1,计算该灰度阈值t下的类间方差记为g;
遍历不同灰度阈值t下的类间方差值,将类间方差值达到最大时刻的灰度阈值t作为阈值对所述手势图像进行阈值化操作,得到所述预处理图像。
优选地,所述采用自适应阈值方法对采集的手势图像分别进行预处理,具体包括:
对所述手势图像设置大小为b的块和常量c,其中b为奇数;
获取所述手势图像中坐标点(i,j)在b×b范围内所有坐标点对应的灰度值总和,记为g(i,j);
在b×b范围根据灰度值总和和常量c,计算坐标点(i,j)处对应的阈值t(i,j);
利用坐标点(i,j)处对应的阈值t(i,j),对所述手势图像进行二值化操作,得到所述预处理图像。
优选地,在所述采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像之后,还包括:
(1)、对预处理图像的连通区域进行检测,提取到预处理图像中所有的连通区域;
(2)、将各连通区域的面积与设置的连通域面积阈值进行比较,判断连通域是否出现连接情况;
(3)、在判断连通域未出现连接情况时,根据连通域个数进行手指区域定位;
(4)、在判断连通域出现连接情况时,将各连通区域的尺寸与设置的连通域尺寸阈值进行比较,区分连接在一起的连通域,然后执行步骤(3)。
优选地,在所述采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像之后,还包括:
采用背景建模或者所述阈值化操作后获得连通域的尺寸大小,进行噪声点排除。
优选地,对所述二值化图像进行矩特征提取,具体包括:
根据所述手势图像,得到p+q阶几何矩mpq和中心矩μpq,其中p+q≥2;
根据中心矩μpq,得到规格化中心距npq;
根据二阶和三阶规格的中心矩npq,得到u个不变的矩组;
在u个不变的矩组中任选取v个矩组组成不变矩特征向量,并将其作为矩特征,1≤v≤u。
优选地,所述计算手势特征与手势库中各手势图像的几何特征距离,并将几何特征距离最小值时所对应的标准库中的手势ge作为手势识别结果,具体包括:
计算手势特征与手势库中各手势图像的几何特征距离dm,计算公式为:
其中,mi为所述手势图像i(k)的几何矩分量,gi为手势库中手势图像i(l)相应的几何矩分量,ωi为分量调节系数;
在各几何特征距离dm中查找到dm值最小时对应的标准库中的手势ge,将手势ge作为手势识别结果。
第二方面,采用一种投影交互系统中的红外手势识别设备,包括预处理模块、特征提取模块以及识别模块;
预处理模块,用于采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像;
特征提取模块,用于对不同预处理图像进行二值化操作,并对得到的二值化图像进行图像特征提取,得到手势特征;
识别模块,用于计算所述手势特征与手势库中各手势图像的几何特征距离,并将几何特征距离最小值时所对应的标准库中的手势ge作为手势识别结果。
第三方面,采用一种投影交互系统中的红外手势识别设备,包括存储器和处理器,存储器中存储若干程序指令,处理器适用于加载该若干程序指令并执行:
采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像;
对不同预处理图像进行二值化操作,并对得到的二值化图像进行图像特征提取,得到手势特征;
计算所述手势特征与手势库中各手势图像的几何特征距离,并将几何特征距离最小值时所对应的标准库中的手势ge作为手势识别结果。
与现有技术相比,本发明存在以下技术效果:本发明采用三种方法同时处理图像阈值化方法,即动态阈值方法、otsu(大津阈值)的方法以及自适应的阈值方法。由于阈值化的场景比较复杂,不好决定每种阈值化方法对应的绝对场景,因此,本方案通过三种阈值化方法,分别操作,每种阈值化方法都对应着最终的一个手势识别率,最终选择手势识别率最高的一种阈值化方法作为使用,进而提高手势识别结果的准确性。
附图说明
下面结合附图,对本发明的具体实施方式进行详细描述:
图1是一种投影交互系统中的红外手势识别方法的流程示意图;
图2是预处理过程的示意图;
图3是进行预处理操作得到的预处理图像;
图4一种投影交互系统中的红外手势识别设备的结构示意图。
具体实施方式
为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。
如图1所示,本实施例公开了一种投影交互系统中的红外手势识别方法,包括如下步骤s101至s103:
s101、采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像;
s102、对不同预处理图像进行二值化操作,并对得到的二值化图像进行图像特征提取,得到手势特征;
s103、计算所述手势特征与手势库中各手势图像的几何特征距离,并将几何特征距离最小值时所对应的标准库中的手势ge作为手势识别结果。
需要说明的是,阈值化操作主要是目的在于能够尽量多地提取屏幕中手指的像素,同时也能够最小的引入噪声点的像素,从而为手指部分区域的精确定位提供基础。因此,在如何尽量少的引入噪声像素又同时提取有效像素值,便对阈值化操作提出了一定的要求。如果阈值设定的过大,则会丢失很多的有效信息,如果阈值设定的过低,虽然保留了有效信息,但是同时也引入了一些噪声点信息。
在本方案中,主要采用三种方法同时处理图像阈值化方法,即动态阈值方法、otsu(大津阈值)的方法以及自适应的阈值方法。由于阈值化的场景比较复杂,不好决定每种阈值化方法对应的绝对场景,因此,本方案通过采用三种阈值化方法分别操作,每种阈值化方法都对应着最终的一个手势识别率,最终选择手势识别率最高的一种阈值化方法,作为使用,以提高手势识别的准确性。
需要说明的是,在动态阈值和自适应的阈值方法中,原始图片不同像素点位置所对应的阈值是不同,因此应当采用不同的阈值对原始图像进行阈值化操作,其阈值的设置与周围的像素和其像素点的位置相关,可在一定程度上减少了噪声点的引入,且又保证不丢失太多的有效信息。在otsu(大津阈值)方法中,其通过动态求取阈值,从而使得背景和目标之间的类间方差达到最大,最终确定阈值,这样也能较好地保证不引入过多的噪声点。下面对这三种阈值化操作过程进行具体说明:
在固定阈值的方法中,阈值的设定是一个固定的值,即对于所有的屏幕区域来说,都采用同一个阈值进行阈值化处理。但是对于交互式投影系统的屏幕来说,由于激光器是以一个点光源,因此对于交互式投影的屏幕来说,越远离点光源的位置,其接受到的灯光强度也就越弱,从而反光点的大小也就越小,故该点的亮度阈值应该设置地更低。
如果直接利用固定阈值方法,如果阈值设置的过高,则越远离点光源的位置在阈值化操作的过程中,会丢失很多的信息,如果阈值设置的过低,则靠近光源的区域,则会无法删除掉过多的冗余信息。因此,本实施例中提出的动态阈值化方法处理过程具体为:
(a)摄像机采集屏幕图片,并对其进行灰度化操作,灰度图片记为p,大小为x×y,其中x表示灰度图片的在水平方向的长度(长),y表示灰度图片在竖直方向的长度(宽);
(b)对于灰度图片p,建立直角坐标系,以图像的左上角为坐标系原点;
(c)由于光源是位于投影屏幕中间的正上方,所以在基于灰度图像p的坐标系中,设置光源点的坐标位置为
(d)计算灰度图片p中任意一点坐标(x,y)到光源点之间的欧氏距离d(x,y),其中
(e)根据前期采样经验来设置一个固定阈值k,在该阈值k下,正好实现灰度图像中只有零星几处白色像素点,基本实现所有像素点的阈值化为黑色操作;
(f)获取灰度图像中离点光源点的最远距离dmax,其中
(g)由于越远离光源点,则其对应的光源强度也就越低,故阈值应该越低,且我们认为其是存在线性关系,则点(x,y)处对应的阈值
需要说明的是,本实施例中采用的是现有技术的otsu的阈值方法。在otsu中,按图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。otsu的阈值方法处理过程具体为:
假设图像的背景较暗,并且图像的大小为m×n,首先随意设置一个阈值t,则图像中像素的灰度值小于阈值t的像素个数记作n0,像素灰度大于阈值t的像素个数记作n1,则有:
ω0=n0/m×n
ω1=n1/m×n
n0+n1=m×n
ω0+ω1=1;
其中,属于前景的像素点数占整幅图像的比例记为ω0,其平均灰度μ0;背景像素点数占整幅图像的比例为ω1,其平均灰度为μ1,图像的总平均灰度记为μ,类间方差记为g,则有:
μ=ω0μ0+ω1μ1
g=ω0(μ0-μ)2+ω1(μ1-μ)2;
根据这两公式可得到:
g=ω0ω1(μ0-μ1)2。
由于阈值t的不同,则类间方差的值也存在不同。设置不同的阈值t,并求取对应的类间方差的值。通过遍历所有的类间方差的值,选择使类间方差的值达到最大时刻的阈值t作为所需要的阈值。
进一步地,本实施例中使用opencv自带的adaptivethreshold的自适应阈值方法来实现图像的阈值化操作。图像中不同坐标点的阈值大小是不同的,实现的原理具体如下:
已知一幅m×n的数字图像f(i,j),其中f(i,j)为图像在坐标点(i,j)处的灰度值,设置块大小为b和一个常量c,其中b为奇数,则坐标点(i,j)处对应的阈值大小t(i,j)定义如下:
(1)获取坐标点(i,j)周围b*b范围内所有坐标点对应的灰度值总和,记为g(i,j);
(2)
进一步地,上述实施例中的预处理过程还包括对上述经过阈值化操作处理后的图像进行连通域检测,当多个用户同时对投影式交互系统进行操作的时候,如果不同用户之间触发投影交互式屏幕之间的手指距离过小(大约半个手指指甲大小长度),则摄像头在获取到图像和阈值化操作之后,则会出现相邻指尖阈值化后的区域可能会形成一个连通域,如果手指距离过大,则不会出现这种情况。因此,在手指距离过大的情况下,可以通过判断连通域的个数来对手指区域进行定位,具体如下:
通过连通域的个数判断:
通过前期采样,大致估算出一个手指平均的连通域面积为s2,并设置连通域尺寸的阈值是1.2×s2,由于不同人之间手指的大小存在差异,因此设置一定的误差范围。遍历图像中所有连通域的面积,倘若所有连通域的面积都小于阈值1.2×s2,则认为相邻手指之间的距离均相对较大,没有产生连通域连在一起的问题,故可以通过判断连通域的个数来进行手指区域的定位,即每个连通域所在的位置就是手指区域的位置。如果,至少存在一个连通域的面积大于阈值,则出现了连通域连在一起的现象,故不宜采用该方法。
通过判断连通域的尺寸大小进行判断:
不同用户之间的触发投影交互式屏幕之间的手指距离较小(大约半个手指指甲大小长度),则相邻指尖阈值化后的区域可能会形成一个连通域,此时不可以采用通过连通域的个数来进行后续的操作。故在这种情况下,我们可以采用对连通域尺寸大小以及形状的判断,从而分开两个连在一起的连通域。
例如:通过前期采样,大致估算出一个手指平均的连通域面积为s2,并设置连通域尺寸的阈值是1.2×s2,由于不同人之间手指的大小存在差异,因此设置一定的误差范围。如果获取到的连通域的面积大于1.2×s2,则认为可能是两个相邻的连通域连在一起,从而方便以后的定位操作。或者也可以通过连通域区域的长度或者宽度来设置阈值,如果两个区域连在一起,则其长度或者是宽度一定是远大于原先没有合并区域的长度或者是宽度。
进一步地,在上述检测获得连通域的尺寸大小时,对连通域进行噪声点排除,具体为:
a、采用背景建模的方法
在交互式投影系统当中,如果是由于激光器安装不准确,则会导致在整个交互式投影系统中,都会产生伪影等噪声点现象,因此针对这种情况的产生,采用背景差分的方法来解决,背景差分具体实施如下:
当激光器安装准确之后,使用投影式交互系统自带的摄像头预采集多张屏幕的背景图像,记为bn,对于这多张背景图像进行求平均,从而获取一张图像结构信息相对稳定的背景图片,记为p1。然后,当有手指触发交互式投影系统屏幕的时候,同样采集屏幕的背景图像,记为pn,令pn与p1作差,便可得到含有相对较少噪声点的图像,从而为后面的手指区域部分的阈值化以及定位奠定了基础。
b、根据阈值化图像尺寸大小排除噪声点
不同于a中的背景建模方法,本方案同样采用根据图像阈值化后获得连通域的尺寸大小来排除噪声点。可以通过前期采样,从而可以大致估算出一个手指平均的连通域面积为s2,如果我们获取到的阈值化后的连通域尺寸大小远远小于s2,那么我们可以认为这个区域是噪声点所产生的区域,便可以将其忽略,同样可以后面的精确定位奠定基础。
需要说明的是,在交互式投影系统中,可能由于屏幕会引入一些非手指区域,比如衣服的袖口、投影屏幕上黑点等,这些引入的区域无疑对图像的预处理带来了噪声危害,同时噪声点的干扰也对于系统的稳定性以及手指位置定位的准确度有着非常大的影响,因此,如何解决噪声点,便显得尤为重要。本实施例中采用两种方法得到的相关图像预处理如图3所示,图中白色区域代表的是预处理后的手指区域,黑色区域代表的是屏幕区域,因此经过上述处理后可实现较大程度上减少噪声点的干扰。
进一步地,在经过图像预处理后,对于获取到的二值化的预处理图像进行矩特征的提取并将这些矩特征作为区分不同手势的重要依据。因为针对于一幅图像,把像素的坐标看成是一个二维随机变量(x,y),那么一幅灰度图像可以用二维灰度密度函数来表示,因此可以用矩来描述灰度图像的特征。不变矩是一处高度浓缩的图像特征,具有平移、灰度、尺度、旋转不变性。本方案采用hu矩阵作为图像的提取特征,具体提取过程如下:
一幅m×n大小的数字图像f(i,j),m,n分别表示图像的长度和宽度,其p+q阶几何矩mpq和中心矩μpq分别如下述公式所示:
其中,f(i,j)为图像在坐标点(i,j)处的灰度值,且满足i'=m10/m00,j'=m01/m00。
若将m00看作图像的灰度质量,则(i',j')为图像的质心坐标。为了消除图像比例变化带来的影响,定义规格化中心矩ηpq如下面公式所示:
利用二阶和三阶规格的中心矩可以导出下面7个不变的矩组(φ1,φ7),分别如下面公式所:
φ1=η20+η02
φ2=(η20-η02)2+4η211
φ3=(η20-3η12)2+3(η21-η03)2
φ4=(η30+η12)2+(η21+η03)2
φ5=(η30+3η12)(η30+η12)[(η30+η12)2-3(η21+η03)2]+(3η21-η03)(η21+η03)[3(η30+η12)2-(η21+η03)2]
φ6=(η20-η02)[(η30+η12)2-(η21+η03)2]+4η11(η30+η12)(η21+η03)
φ7=(3η21-η03)(η30+η12)[(η30+η12)2-3(η21+η03)2]+(3η12-η30)(η21+η03)[3(η30+η12)2-(η21+η03)2]。
由于上述的7个不变的矩组,在图像平移、旋转和比例变化的时候保持不变,且在本方案中,考虑到降低计算复杂度,本实施例采用前四个不变矩特征量形成手势的特征向量即(φ1,φ2,φ3,φ4),从而实现手势的识别。此外,采用前四个不变矩特征向量同样可以较好地实现手势的识别。
进一步地,当获取了手势的图像特征之后,通过定义手势图像与手势库中手势图像之间的几何特征距离,从而判断出具体的手势表达内容,具体为:
计算输入的手势图像与手势库中任何一个手势图像之间的几何特征距离dm,公式如下:
其中,mi为输入图像i(k)的几何矩分量,gi为手势库中手势图像i(l)相应的几何矩分量,ωi为分量调节系数,是为了调节特征向量中各矩分量数量级的不一致。通过最终的几何特征距离,最终可以实现不同手势之间的识别。
当已知输入手势图像与手势库中任意一个手势图像之间的几何特征距离dm之后,则寻找dm值最小时候所对应的标准库中的手势ge,则该输入手势也就对应着手势ge,从而实现最终的手势识别。
如图4所示,本实施例公开了一种投影交互系统中的红外手势识别设备,包括预处理模块10、特征提取模块20以及识别模块30;
预处理模块10,用于采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像;
特征提取模块20,用于对不同预处理图像进行二值化操作,并对得到的二值化图像进行图像特征提取,得到手势特征;
识别模块30,用于计算所述手势特征与手势库中各手势图像的几何特征距离,并将几何特征距离最小值时所对应的标准库中的手势ge作为手势识别结果。
另外,还采用一种投影交互系统中的红外手势识别设备,包括存储器和处理器,存储器中存储若干程序指令,处理器适用于加载该若干程序指令并执行:
采用动态阈值方法、大津阈值方法以及自适应阈值方法,对采集的手势图像分别进行预处理,得到不同预处理图像;
对不同预处理图像进行二值化操作,并对得到的二值化图像进行图像特征提取,得到手势特征;
计算所述手势特征与手势库中各手势图像的几何特征距离,并将几何特征距离最小值时所对应的标准库中的手势ge作为手势识别结果。
应当理解的是,本实施例中投影交互系统中的红外手势识别设备对应于上述红外手势识别方法,设备中各模块的上述和其它操作和/或功能分别实现上述图1至图2中各方法的相应流程,为了简洁,此处不再赘述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。