一种投影交互系统中触摸模式下的干扰滤除方法与流程

文档序号:14951486发布日期:2018-07-17 22:39阅读:137来源:国知局

本发明涉及数据处理技术领域,特别涉及一种投影交互系统中触摸模式下的干扰滤除方法。



背景技术:

目前,投影交互系统在实际使用时,手触模式是一种很便捷的交互方式。用户只需用手指在投影屏幕上进行点击,就能实现对计算机的控制。但是,由于很多人的使用习惯不好,或者是站立的姿势不对,很容易导致小拇指的侧面,或者是手掌的侧面,与投影屏幕发生接触。此时很容易导致投影交互系统发生误触发,从而降低用户体验。有时,用户会穿着很厚的衣服。此时衣袖很容易与投影屏幕发生接触。这种情形也必须加以注意,否则导致对计算机的操作出现问题。

因此,手指模式很容易受到如下一些情况的干扰:手部其他区域的影响或者衣袖的干扰等。



技术实现要素:

本发明的目的在于提供一种投影交互系统中触摸模式下的干扰滤除方法,以提高投影交互系统中手触模式的抗干扰性。

为实现以上目的,本发明采用的技术方案为:

采用一种投影交互系统中触摸模式下的干扰滤除方法,包括如下步骤:

实时采集投影屏幕区域的画面,并提取出含有手指触摸投影屏幕时刻的红外图像;

对该红外图像进行预处理,得到多个连通域;

根据连通域的形状和尺寸,对多个连通域进行筛选,得到n个合格的连通域;

对所述n个合格的连通域进行逐像素点遍历,得到各连通域的中心位置和长轴方向;

根据各连通域的中心位置和长轴方向,对各连通域进行归一化处理,使得各连通域具有相同的尺寸和旋转角度;

对具有相同尺寸和旋转角度的各连通域分别提取其亮度直方图,并逐一计算各亮度直方图与数据库中预存的m个手指区域亮度直方图的相似度,得到m×n个亮度相似度值;

将得到的m×n个亮度相似度值分别与设定的亮度相似度阈值进行比较;

根据比较结果,从n个合格的连通域中筛选出属于手指区域的连通域。

优选地,还包括将从n个合格的连通域中筛选出的不属于手指区域的连通域作为初步筛选连通域,并对该初步筛选连通域进行轮廓特征比较处理,其具体包括:

对所述不属于手指区域的连通域进行轮廓特征提取,得到该连通域的多维轮廓特征向量;

逐一计算所述多维轮廓特征向量与所述数据库中预存的多个多维轮廓特征向量的相似度,得到多个特征向量相似度值;

将多个特征向量相似度值与设定的特征向量相似度阈值进行比较,得到特征向量相似度比较结果;

根据特征向量相似度比较结果,判断所述初步筛选连通域是否为手指区域。

优选地,在所述根据特征向量相似度比较结果,判断初步筛选连通域不为手指区域时,还包括:

将该初步筛选连通域作为二次筛选连通域,并采用事先训练好的卷积神经网络判断其是否属于手指区域。

优选地,所述卷积神经网络的训练过程包括:

构建样本数据库,该样本数据库包括手指区域的灰度图像和非手指区域的灰度图像;

将样本数据库作为待训练卷积神经网络的样本输入,并采用bp算法,对待训练卷积神经网络进行训练,得到训练好的卷积神经网络。

优选地,所述采用事先训练好的卷积神经网络判断其是否属于手指区域,具体包括:

将所述二次筛选连通域的图像作为所述训练好的卷积神经网络的输入;

训练好的卷积神经网络输出一个二维向量,得到所述二次筛选连通域图像属于手指区域的概率和属于非手指区域的概率。

在属于手指区域的概率和属于非手指区域的概率中,选择概率值最大的作为判断结果。

优选地,所述根据连通域的形状和尺寸,对多个连通域进行筛选,得到n个合格的连通域,具体包括:

(i)求取每个连通域的外接矩形,并判断外接矩形的长度、宽度是否均小于经验阈值,若是则执行步骤(ii),若否则执行步骤(iiii);

(ii)判断该连通域外接矩形的长宽比是否小于设定比例,若是则执行步骤(iii),若否则执行步骤(iiii);

(iii)将该连通域确定为合格的连通域;

(iiii)将该连通域过滤掉。

优选地,所述对所述n个合格的连通域进行逐像素点遍历,得到各连通域的中心位置和长轴方向,具体包括:

将n个连通域分别记为si,其中1≤i≤n;

对每个si进行逐像素点遍历,以任一像素点位置(x,y)为中心,依次绘制360条直线;

以第j条直线恰好将连通域分成两部分,其中,第j条直线与水平方向的夹角为dj度,1≤dj≤360;

将两部分连通域中的像素点两两组成组点,并计算得到的组点中两点为对称点的组数;

在连通域si中,将得到对称点组数最多的像素点位置(x,y)作为该连通域的中心位置,直线倾角dj为该连通域对应的长轴方向。

优选地,所述根据各连通域的中心位置和长轴方向,对各连通域进行归一化处理,使得各连通域具有相同的尺寸和旋转角度,具体包括:

以连通域si的中心位置为旋转中心,将连通域si进行旋转,使得长轴对应的直线与水平方向呈90度;

对于每一个连通域si,将其尺寸进行归一化操作处理,使得各连通域si归一化后的尺寸相同。

优选地,所述对具有相同尺寸和旋转角度的各连通域分别提取其亮度直方图,并逐一计算各亮度直方图与数据库中预存的m个手指区域亮度直方图的相似度,得到m×n个亮度相似度值,具体包括:

从所述含有手指触摸投影屏幕时刻的红外图像中,提取出与具有相同尺寸和旋转角度的连通域对应的区域,记为g;

计算图像g的亮度直方图;

别计算当前直方图与样本库中每一个亮度直方图的相似度,

其中,h1t和h2t分别代表两个待比较的亮度直方图,第t个bin对应的纵坐标的值,1≤v≤5000。

优选地,所述采用bp算法,对待训练卷积神经网络进行训练,具体包括:

1)随机初始化每条连接线权重w1、w2、和偏置b;

2)输入样本数据x1,x2,执行前向传输得到预测值a;

4)对e分别求w1、w2、b的偏导w1'、w'2、b';

5)重复执行步骤1)-4),直到e的值最小或者基本保持不变,则待训练卷积神经网络训练完毕。

与现有技术相比,本发明存在以下技术效果:本方案中一方面,通过采集含有手指触摸投影屏幕时刻的红外图像,对图像进行二值化操作并提取二值化图像中所有的连通域。对于手指区域来说,其一般呈现椭圆形,尺寸也比较固定。但是手部的其他与投影界面接触的区域,在尺寸和形状上差异较大,本实施例中通过连通域的形状和尺寸大小来筛选合格的连通域,过滤掉干扰区域。另一方面,对于手指区域和非手指来说,其在亮度的分布上是有差异的,因此,本方案中通过亮度的分布来判断该连通域是不是属于手指区域,提高了手指区域识别的准确性。

附图说明

下面结合附图,对本发明的具体实施方式进行详细描述:

图1是一种投影交互系统中触摸模式下的干扰滤除方法的流程示意图;

图2是相邻像素定义示意图;

图3是另一种投影交互系统中触摸模式下的干扰滤除方法的流程示意图;

图4是单个神经元结构的示意图。

具体实施方式

为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。

如图1所示,本实施例公开了一种投影交互系统中触摸模式下的干扰滤除方法,包括如下步骤s101至s108:

s101、实时采集投影屏幕区域的画面,并提取出含有手指触摸投影屏幕时刻的红外图像;

需要说明的是,在投影屏幕的正前方设置红外摄像机,实时采集投影屏幕区域的画面。当手指区域触摸投影屏幕的时候,摄像机将此刻的画面采集下来,然后从中提取出含有手指触摸投影屏幕时刻的红外图像,记为p。

s102、对该红外图像进行预处理,得到多个连通域;

需要说明的是,预处理的过程包括对红外图像p进行二值化操作和连通域提取,得到二值化图像中所有的连通域。

s103、根据连通域的形状和尺寸,对多个连通域进行筛选,得到n个合格的连通域;

s104、对所述n个合格的连通域进行逐像素点遍历,得到各连通域的中心位置和长轴方向;

s105、根据各连通域的中心位置和长轴方向,对各连通域进行归一化处理,使得各连通域具有相同的尺寸和旋转角度;

s106、对具有相同尺寸和旋转角度的各连通域分别提取其亮度直方图,并逐一计算各亮度直方图与数据库中预存的m个手指区域亮度直方图的相似度,得到m×n个亮度相似度值;

s107、将得到的m×n个亮度相似度值分别与设定的亮度相似度阈值进行比较;

s108、根据比较结果,从n个合格的连通域中筛选出属于手指区域的连通域。

需要说明的是,本实施例采用otsu(大津阈值)的方法对红外图像p进行二值化操作,实现对触摸区域的提取。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,得到类间方差g和阈值t之间的关系:

g=ω0ω1(μ0-μ1)2

由于阈值t的不同,则类间方差的值也存在不同。设置不同的阈值t,并求取对应的类间方差的值。通过遍历所有的类间方差的值,选择使类间方差的值达到最大时刻的阈值t作为所需要的阈值,此时的阈值记为tmax。

对于原始的红外图像p,逐像素点进行遍历,如果像素点(x,y)对应的像素值小于tmax,则将该点像素值置为0,否则置为1,像素值为0的像素点将显示为黑色,否则显示为白色,得到二值化图像记为b。

需要说明的是,对二值化图像b进行连通域提取,通过连通域,从而可以为后续的生成手指连通域奠定基础。其过程为:

如图2所示,逐像素点遍历二值化图像b,如果相邻的两个像素点的像素值都不为0,则将这两个像素划入到同一个连通域中,最终我们可得多个连通域。图2中对于像素x,像素1-8均是其相邻的像素。

作为进一步优选的方案,步骤s103:根据连通域的形状和尺寸,对多个连通域进行筛选,得到n个合格的连通域,具体包括:

(1)连通域尺寸大小判断:

对于二值图像b的每个连通域,求取连通域的外接矩形。如果外接矩形的长度和宽度均大于20个像素(该处为经验阈值),则认为不是指尖区域(指尖区域的尺寸不可能过大),将该连通域过滤掉,否则,继续进行下一步的形状判断。

(2)连通域形状判断:

在实际应用中,手指区域一般呈现椭圆形,如果对于一个连通域的外接矩形来说,如果其外接矩形的长宽比大于1.5,则长宽比太大,不满足椭圆的要求,将其过滤。最终保留的区域,将作为候选的手指触摸区域。

需要说明的是,对于手指区域来说,其一般呈现椭圆形,尺寸也比较固定。但是手部的其他与投影界面接触的区域,在尺寸和形状上,就差异比较大了,因此可以通过连通域的形状和尺寸大小来筛选合格的连通域,过滤掉干扰区域。本方案中通过根据连通域的形状和尺寸进行筛选,可能有的噪声区域没有被过滤掉,在实际应用中,可以进行更为详细的分析,以最大程度的过滤掉噪声区域。

作为进一步优选的方案,上述步骤s104:对所述n个合格的连通域进行逐像素点遍历,得到各连通域的中心位置和长轴方向,具体包括:

由于上述步骤103筛选得到的连通域的形状满足椭圆形,本实施例中对形状满足椭圆形的连通域进行逐像素点遍历,确定该连通域的中心位置与长轴方向,以为连通域的归一化操作奠定基础,其具体过程为:

(1)假设二值化图像b中有n个形状满足椭圆形的连通域,分别记为si,其中1≤i≤n,。对每个si分别执行如下步骤(2)至(4)

(2)对于si进行逐像素点遍历,:假设当前遍历的像素点位置是(x,y),则以该点为中心,依次绘制360条直线,从而将连通域分成两部分。其中,第j条直线与水平方向的夹角为dj度,1≤dj≤360。

(3)对于第j条直线来说,其正好将连通域均分成两部分。对于每部分,分别取一点,则两部分共有一组点(两个点),并计算共存在多少组对称点。

其中,对称点定义如下:一组内的两个点,到直线的距离相等,计算的结果记为si(x,y)dj,其含义是,在第i个连通域中,点(x,y)位置,直线倾斜角度为dj的时候,对应的对称点的组数。

(4)循环遍历si中所有的像素点。

(5)在上述步骤执行结束后,可以获取到多个si(x,y)dj值的信息,从中获取当si(x,y)dj取值最大时刻,其对应的点(x,y)和dj,并分别记为pi和θi。

(7)点pi为连通域si对应的中心点位置,θi为该连通域对应的长轴方向。则对于该连通域来说,以其中心点位置为中心,长轴方向为直线,从而将连通域划分两部分,这样会存在最多组数目的对称点。

作为进一步优选的方案,上述步骤s105:根据各连通域的中心位置和长轴方向,对各连通域进行归一化处理,使得各连通域具有相同的尺寸和旋转角度,具体包括:

(1)旋转连通域角度:对于步骤s014中确定中心位置和长轴方向的每一个连通域si,由于已经获取了其中心点位置pi和对应的长轴方向θi(长轴所对应的直线与水平方向的夹角),以pi为旋转中心,将连通域si进行旋转,使得长轴对应的直线与水平方向呈90度。

(2)连通域尺寸的归一化:对于每一个连通域都将其尺寸进行归一化操作,归一化后的尺寸大小是20×20。

需要说明的是,本实施例中使得所有的连通域具有相同的尺寸和旋转角度,以为下面亮度筛选、轮廓特征以及cnn判断奠定基础,方便进行判断和提取相关特征。

作为进一步优选的方案,上述步骤s106:对具有相同尺寸和旋转角度的各连通域分别提取其亮度直方图,并逐一计算各亮度直方图与数据库中预存的m个手指区域亮度直方图的相似度,得到m×n个亮度相似度值,具体包括:

(1)对于当前连通域来说,记录其位置,并从红外图像p中提取出对应的区域图像,记为g。

(2)建立图像g亮度直方图。具体如下:

a、设置亮度直方图为16个bin,故每个bin的范围长度是16,即将亮度等级(0-255)平均分成了16个部分,第t个bin对应的亮度等级范围是[(t-1)×16,t×16-1],其中1≤t≤16,bin对应着直方图的横坐标。

b、对于直方图的纵坐标,即ht,其表示第t个bin对应的纵坐标的值,可表示为对于图g中所有像素点,其像素值大小在[(t-1)×16,t×16-1]中的所有像素点的个数,1≤t≤16。

(3)在数据库中,事先存放有一定数量的手指区域的亮度直方图,本方案中为5000个。

分别计算当前直方图与样本库中每一个亮度直方图的相似度,计算公式如下:

其中,h1t和h2t分别代表两个待比较的亮度直方图,第t个bin对应的纵坐标的值,1≤v≤5000。

(4)求取值最小的xv,并记为xvmin。

(5)设定相似度阈值为100(该处为经验阈值),如果xvmin小于100,则认为求取的相似度满足要求,故将该连通域划分为手指区域。

如图3所示,为进一步提高手指识别的准确率,在xvmin大于100,没能检测出当前连通域是否属于手指区域,此时将没有检测出是否属于手指区域的连通域作为初步筛选连通域,本实施例通过对初步筛选连通域进行轮廓特征的提取,进行进一步的判断其是否属于手指区域,过程如下:

(1)提取连通域的轮廓特征:

a、轮廓扫描:得到当前连通域最外层轮廓点序列。在扫描的过程中,满足顺时针扫描的要求,起点为连通域在旋转方向之后,长轴方向对应的最上方点。

b、轮廓长度归一化:确保获取200个采样点,如果不足200个采样点,则进行插值,如果多于200个采样点,则随机丢弃若干个采样点,直到满足200个采样点。通过归一化,使得轮廓的长度一致。

c、计算这200个轮廓点分别到中心位置pi的欧式距离,公式如下:

其中,pix和piy分别代表着中心位置pi的横坐标和纵坐标,xuxi和yuyi分别代表第u个轮廓点的横坐标和纵坐标,1≤u≤200。

d、将这200个距离值,构成一个200维的向量,这200维的向量便是轮廓的特征向量,使用这200维的特征向量,来判断该连通域是否属于手指区域。

(2)在数据库中,事先存放有10000个手指区域的200维轮廓特征向量。将上述200维的特征向量分别与这10000个特征向量求相似度,相似度的方法公式如下:

其中,au和bu分别表示两个待比较向量的每一个分量,1≤k≤10000。

(3)求取dk的最小值,记为dkmin。

(4)设定相似度阈值为500(经验阈值)。如果dkmin小于500,则认为求取的相似度满足要求,故将该连通域划分为手指区域。

作为进一步优选的方案,在dkmin大于500时,本实施例将没有检测出是否属于手指区域的初步筛选连通域作为二次筛选连通域,并通过采用卷积神经网络对二次筛选连通域进行进一步判断。

由于cnn具有很强的特征提取能力,可以实现很好的物体分类,基于此,本方案最后采用卷积神经网络(convolutionalneuralnetwork,cnn)来实现对连通域进行区域,判断其是否属于手指区域。

对于cnn卷积神经网络来说,其是由多组神经元构成,其包含输入层,隐含层以及输出层。层与层的神经元是相互连接。一个简单的神经元结构可以如图4所示。其中每一个圆圈代表着一个神经元,w1和w2代表神经元之间的权重,b表示偏置,g(z)为激活函数,从而使得输出变得非线性,a表示输出,x1和x2表示输入,则针对当前结构,输出的可表示为公式:a=g(x1×w1+x2×w2+1×b)。因此,在输入数据和激活函数不变的情况下,神经网络的输出的值a是与权重和偏置有关的。通过调节不同的权重和偏置,神经网络的输出也会有不同的结果。

本实施例中采用p算法,实现对卷积神经网络的训练,其实现的具体步骤如下:

(1)选取足够多的两类样本数据,即手指区域的灰度图像和非手指区域的灰度图像(20×20大小)1000张,将其作为卷积神经网络的样本输入。

(2)采用bp算法,实现对卷积神经网络的训练,过程如下:

已知神经网络输出的值(预测值)为a,假设其对应的真实值为a'。

对于样本图像x,其bp算法执行如下:

a、先随机初始化每条连接线权重(w1和w2)和偏置b;

b、对于输入数据x1,x2,bp算法都会先执行前向传输得到预测值a;

c、然后根据真实值a'与预测值a之间的误差

d、对e分别求w1、w2、b的偏导,分别如下:

其中,η表示的是学习率,为一个设置好的参数。

(4)不断重复步骤(a)-(d),直到网络收敛,即e的值最小或者基本保持不变。此刻,表示网络已经训练完毕。

本实施例中通过逆向反馈更新神经网络中每条连接线的权重和每层的偏置。

进一步地,当cnn训练结束后,采用训练好的cnn来预测当前连通域是否属于手指区域,具体如下:

(1)对于图像g,我们将其作为神经网络的输入。

(2)对于cnn,其将会输出一个二维向量,向量的值分别表示该图像是手指区域和非手指区域的概率。

(3)选择概率值最大的表示最终的判断结果。

(4)对于最终的结果,如果其是非手指区域,则将该连通域过滤,如果是手指区域,将其保留,从而实现最终的滤除干扰点。

需要说明的是,本实施例中在进行亮度直方图提取并判断连通域是否属于手指区域后,为了防止属于手指区域的连通域的漏选,本实施例中通过对连通域进行轮廓特征判断和cnn神经网络判断,以确保最终识别的手指区域的准确性。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1