手势识别装置及识别方法与流程

文档序号:12468479阅读:184来源:国知局
手势识别装置及识别方法与流程

本发明涉及人机交互技术领域,特别涉及一种手势识别装置及识别方法。



背景技术:

手势控制是指用手势去控制计算机等电子设备,实现人机之间的交互。不同于日常工作生活中以鼠标、遥控器等设备为基础的控制方式,手势控制以人的手臂的移动作为控制要素,实现一种新型的人机交互方式。

自从计算机面世以来,人机交互最初始的方式是通过以键盘为主的命令行界面的方式实现的。后来,鼠标的面世使得图形界面作为第二代人机交互方式大行其道,并且在当今的人机交互领域,尤其是在个人计算机的控制上,仍然占据着大部分市场。随着移动互联网的爆发增长,以触控技术为基础的智能手机等设备广泛应用于社会的各个角落,因此,触控技术也发展成为第三代人机交互技术。由之前三代人机交互技术的发展历程可以看出,人机交互的发展趋势在于人机交互的方式越来越趋向于人与人之间交互的方式,因此,第四代人机交互方式正是以多媒体技术为基础,语音识别,图像识别为具体手段,手势控制正是第四代人机交互方式的实现手段之一。

手势控制的一个关键的技术在于如何提取特定的手势信息,以便于计算机利用手势信息实施相关动作实现人机交互。目前常用的手势识别方法包括:利用手环、指套等辅助装置进行手势识别,利用多摄像头进行立体空间识别的手势活动把持技术(Leap motion),或者利用机器学习算法对大量手势数据库进行训练学习。

然而,在上述方法中采用辅助设备进行手势识别,穿戴辅助设备难免会影响用户体验;而采用多摄像头立体识别进行手势识别,需要配备多个高精度摄像头,成本较高,而且其中的非局部匹配算法也难以用硬件实现;机器学习算法需要建立庞大的数据库,而且对于硬件设备要求更高。



技术实现要素:

本发明的主要目的在于克服现有技术的缺陷,提供一种能够方便获取图像中手势的识别装置及识别方法。

为达成上述目的,本发明提供一种手势识别装置,包括:图像传感器,用于生成图像信息;预处理单元,用于获取用户手中心位置和用户手面积;目标区域选择单元,用于根据所述用户手中心位置和用户手面积确定包围用户手掌的矩形目标区域;采样线设定单元,用于根据所述用户手面积以相应间隔在所述矩形目标区域内添加多条水平的采样线;计算单元,用于计算所述矩形目标区域内每条采样线上手指段的数量;手势识别单元,根据每条采样线上手指段的数量识别手势。

优选的,所述图像传感器为红外成像传感器,用于接收经反射的红外光并生成所述图像信息。所述预处理单元包括:图像预处理模块,用于对所述图像传感器生成的图像信息进行幂次变换;二值图像生成模块,其对经所述幂次变换的前后两帧图像的各像素点的灰度值分别作差并取其绝对值,当所述绝对值大于设定阈值时,将所述像素点的值设为1,否则设为0,以生成用1和0表示的二值图像;以及识别模块,根据所述二值图像中值为1的像素点的数量确定所述用户手面积、以及根据所述二值图像中值为1的各像素点的坐标的平均值确定所述用户手中心位置。

优选的,所述目标区域选择单元以所述用户手中心位置为矩形下边缘的中点向上形成所述矩形目标区域。

优选的,所述计算单元计算每条所述采样线上、长度在阈值范围内的亮线段的数量作为手指段的数量。

优选的,所述手势识别单元判断是否连续多条采样线上手指段的数量相同为N,若是则判断当前图像信息中的手指数量为N,并根据手指数量相应识别手势;或者,所述手势识别单元对连续M帧图像的每一帧图像均判断是否有连续多条采样线上手指段的数量相同为N,若是则判断所述M帧图像的手指数量为N,并根据手指数量相应识别手势;其中N为大于等于1且小于等于5的正整数,M为大于等于2的正整数。

本发明还提供一种图像手势识别方法,包括以下步骤:

S1:生成图像信息;

S2:获取用户手中心位置和用户手面积;

S3:根据所述用户手中心位置和用户手面积确定包围用户手掌的矩形目标区域;

S4:根据所述用户手面积以相应间隔在所述矩形目标区域内添加多条水平的采样线;

S5:计算所述矩形目标区域内每条采样线上手指段的数量;以及

S6:根据每条采样线上手指段的数量识别手势。

优选的,所述步骤S1中通过接收经反射的红外光并生成所述图像信息;

步骤S2包括:

S21:对生成的图像信息进行幂次变换;

S22:对经幂次变换的前后两帧图像的各像素点的灰度值分别作差并取其绝对值,当所述绝对值大于设定阈值时,将所述像素点的值设为1,否则设为0,以生成用1和0表示的二值图像;

S23:根据所述二值图像中值为1的像素点的数量确定所述用户手面积、以及根据所述二值图像中值为1的各像素点的坐标的平均值确定所述用户手中心位置。

优选的,步骤S3中以所述用户手中心位置为矩形下边缘的中点向上形成所述矩形目标区域。

优选的,所述步骤S5中计算每条所述采样线上、长度在阈值范围内的亮线段的数量作为手指段的数量。

优选的,步骤S6包括:

判断是否连续N条采样线上手指段的数量相同,若是则判断当前图像信息中的手指数量为N,并根据手指数量相应识别手势;或者,

对连续M帧图像的每一帧图像均判断是否有连续多条采样线上手指段的数量相同为N,若是则判断所述M帧图像的手指数量为N,并根据手指数量相应识别手势;其中N为大于等于1且小于等于5的正整数,M为大于等于2的正整数。

相较于现有技术,本发明的有益效果在于只利用单一摄像头的图像信息,在图像目标区域内添加采样线,并通过识别采样线与手指相交情况就可以实现对于特定手势的识别,克服了现有技术中人机交互功能的设备过于复杂、算法难以实现的缺陷,更为方便也降低了成本。

附图说明

图1所示为本发明一实施例的手势识别装置的方块图;

图2所示为本发明一实施例的目标区域和采样线的示意图;

图3所示为本发明另一实施例的目标区域和采样线的示意图;

图4所示为本发明一实施例的手势识别方法的流程图。

具体实施方式

为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容作进一步说明。当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。

如图1所示,本发明的手势识别装置包括图像传感器1、预处理单元2、目标区域选择单元3、采样线设定单元4、计算单元5和手势识别单元6。

其中,图像传感器1用于撷取影像并生成图像信息,预处理单元2用于对图像信息进行预处理并获得用户手中心位置和用户手面积。

本实施例中,图像传感器1为红外成像传感器,其接收由红外光源发出、经用户反射后的红外光并生成原始图像信息。其中红外成像传感器之前可设有滤光片,用于过滤除经反射的红外光之外的其他光线,仅使红外光到达红外成像传感器。

预处理单元2与红外成像图像传感器相连,其包括图像预处理模块21、二值图像生成模块22和识别模块23。图像预处理模块21对红外成像传感器生成的原始图像信息进行幂次变换(伽马变换)的预处理,使图像中亮暗区域的对比度加大,从而形成经预处理的图像信息,如图2和图3所示,经预处理后用户的手部为亮区域。二值图像生成模块22首先对经幂次变换的前后两帧图像的各像素点的灰度值分别作差并取其绝对值,当绝对值大于设定阈值时,将该像素点的值设为1,否则设为0。由于红外成像传感器在一秒内可以拍摄几十甚至几百帧的图像,远远大于手势位置变化的速度,因此对于前后两帧经幂次变换的图像来说,手势位置的变化非常小,手的大部分是重合的,仅手边缘区域或手的轮廓所对应的像素会出现灰度值的显著差异,因此二值图像生成模块22将手边缘区域的像素点的值由0变为1,从而生成一张二值图像,该二值图像中的值为1的像素点近似表现为手的轮廓。优选地,为避免将除手以外的其他对象在前后两帧发生的位置变化误认为是手势的变化,二值图像生成模块22对二值图像中所有为1的像素点进行一次判别。具体来说,以值为1的每一个像素点为中心,判断其周围预设范围内(如周围10*10个像素范围内)值为1的像素点的数量,若数量超过预定比例,则保持该像素点的值为1,否则将该像素点的值重置为0,由此更新二值图像。通过这种密度筛选的方法可以排除二值图像中值为1的区域出现手之外的其他个别像素点。识别模块23则根据二值图像识别当前手的位置,一般来说可以将二值图像中像素值为1像素点识别为手的轮廓,那么值为1的像素点所形成或包围的区域内部识别为手,手轮廓以外的其它像素值为0的部分识别为背景区域,由此将手的位置提取出来。由于手的面积大小与其轮廓大小也是相对应的,而手的轮廓大小可以用二值图像中值为1的像素点的数量来表示,因此识别模块通过统计二值图像中值为1的像素点的数量就能够计算出手的面积大小,而通过计算二值图像中值为1的各像素点的坐标的平均值就能够得到手中心的坐标。虽然本实施例中采用了上述包括图像预处理模块、二值图像生成模块和识别模块的预处理单元对图像传感器的原始图像进行预处理,但在其它实施例中也可以采用别的预处理方式,只要能够得到存在亮暗区域且手为亮区域的图像以及手面积和手中心位置即可。

请继续参考图1,目标区域选择单元3与预处理单元2相连,用于根据用户手中心位置和用户手面积在经预处理的图像信息上形成包围用户手掌的矩形目标区域。具体来说,用户手面积的大小与手和图像传感器1之间的距离长短相关。显然,手所占据的面积越大表明与图像传感器之间的距离越近,反之手所占据的面积越小表明与图像传感器之间的距离越远。目标区域的大小同样也与用户手与图像传感器之间的距离相关。这里所说的目标区域表示能够将全部手掌包括进去的矩形区域。根据实际测试可以得出矩形目标区域大小和手掌面积之间的映射关系,可通过另一存储单元存储该映射关系。举例来说,当经预处理后的图像数据为640*480大小的一副图像,根据测试结果,当手面积(此处以手所占像素数据替代)大于80000时,判定此时为近距离,目标区域的大小采用宽度为240(像素)的矩形区域;当手面积介于8000和80000(像素)之间时,判定为远距离,目标区域的大小采用宽度为200(像素)的矩形区域。本实施例仅划分了两个档位的配置,也可以根据实际情况进行多档位的配置。在其它实施例中,也可以构造一个手面积和目标区域大小的映射函数,不再设定档位划分信息,以满足更复杂的使用环境。

由于经预处理后的图像中可能会包含用户的手臂,导致计算出的手中心位置与实际手掌中心位置相比更为靠下,此外由于手指本身位于手掌的上部,因此本实施例中目标区域选择单元在确定矩形目标区域大小之后,以用户手中心位置作为矩形下边缘的终点向上选取矩形目标区域,如图3和图4所示,这样可以避免矩形目标选择区域无法覆盖用户手指部分。

采样线设定单元4与目标区域选择单元3相连,用于根据用户手面积以相应间隔在矩形目标区域内添加多条水平的采样线,如图2和图3所示。采样线的长度与矩形目标区域的水平方向的长度相同,相邻采样线之间的间隔距离与手和图像传感器之间的距离有关,也即是和手面积有关。根据实际测试也可以得出相邻采样线的间隔距离和手面积之间的映射关系,该映射关系也可存储在存储单元中。举例来说,当手面积大于80000(像素)时,判定此时为近距离,相邻采样线间隔为8行像素;当手面积介于8000和80000(像素)之间时,判定为远距离,相邻采样线间隔为5行像素。本实施例也仅划分了两个档位的配置,也可以根据实际情况进行多档位的配置。在其它实施例中,也可以构造一个手面积和相邻采样线间隔的映射函数,不再设定档位划分信息,以满足更复杂的使用环境。

计算单元5用于计算矩形目标区域内每条采样线上手指段的数量。具体来说,由于每条采样线都是针对手指所在区域进行采样,存在手指的地方较亮,没有手指的地方较暗,因此每个采样线都是由亮暗相间的线段组成。因此,计算单元对采样线进行遍历,可以计算出每条采样线上亮线段的数目。进一步地,当亮线段的长度在一个阈值范围内时,确认该亮线段为一个手指段。由此,计算单元5计算每条采样线上、长度在阈值范围内的亮线段的数量,将其作为手指段的数量。其中,阈值范围同样可以根据手面积的大小分档设定,具体每一档的值可以根据实际测试计算得到。例如当手面积较小认为是远距离时,阈值范围为20-63个像素;当手面积较大认为是近距离时,阈值范围为28-80个像素。

手势识别单元6根据每条采样线上手指段的数量识别手势。具体地,手势识别单元判断是否连续多条(如3条)采样线上手指段的数量相同,如果连续几条采样线上的手指段数量均为N,则可以判断当前图像中的手势的手指数目为N。如此一来,根据手指的数量也就得出了当前的手势形状。优选地,为了增加手势识别结果的稳定性和准确性,还可以加入帧数的判断,对连续多帧图像的每一帧图像均判断手指数目是否为N(即对每一帧图像均判断是否有连续几条采样线上的手指段数量为N),如果是则根据手指数量识别当前的手势形状并输出该手势的识别信号,否则不输出。

相应地,本发明还提供了一种手势识别方法,如图4所示,其包括以下步骤:

S1:生成图像信息;

本实施例中,通过接收经反射的红外光并生成图像信息。

S2:获取用户手中心位置和用户手面积。

本步骤中,包括对图像信息的预处理步骤,具体地对生成的图像信息进行幂次变换的预处理,使图像中亮暗区域的对比度加大。之后,对经幂次变换的前后两帧图像的各像素点的灰度值分别作差并取其绝对值,当绝对值大于设定阈值时,将像素点的值设为1,否则设为0,以生成用1和0表示的二值图像。根据二值图像中值为1的像素点的数量能够确定用户手面积、根据二值图像中值为1的各像素点的坐标的平均值能够确定用户手中心位置。

S3:根据用户手中心位置和用户手面积确定包围用户手掌的矩形目标区域。

由于用户手面积与矩形目标区域的大小存在映射关系,因此在确定用户手面积后就能够确定矩形目标区域的大小。本实施例中在确定用户手中心位置后,以用户手中心位置为矩形下边缘的中点向上形成矩形目标区域。

S4:根据用户手面积以相应间隔在矩形目标区域内添加多条水平的采样线。

用户的手面积大小与采样线的间隔距离也存在映射关系,因此在确定手面积大小之后,能够以对应间距在矩形目标区域内添加多条水平的采样线。

S5:计算矩形目标区域内每条采样线上手指段的数量。

本步骤中计算每条采样线上、长度在阈值范围内的亮线段的数量作为手指段的数量。其中阈值范围也可设定为与手面积大小存在对应关系。

S6:根据每条采样线上手指段的数量识别手势。

本步骤中,可通过判断是否连续多条采样线上手指段的数量相同来确定手指数量并进一步识别手势。若有连续多条采样线上手指段的数量相同均为N,则判断当前图像信息中的手指数量为N,并根据手指数量相应识别手势并输出手势信号,否则不输出。进一步地,还可以加入帧数的判断,如果连续多帧每一帧均判断手指数目相同为N,则根据手指数量识别手势并输出手势信号,否则不输出。

综上所述,本发明的手势识别装置与方法利用单一图像传感器的图像信息,通过在图像目标区域内添加采样线的方法,识别采样线与手指相交情况就可以实现对于特定手势的识别,克服了现有技术中人机交互功能的设备过于复杂、算法难以实现的缺陷,更为方便也降低了成本。

虽然本发明已以较佳实施例揭示如上,然所述诸多实施例仅为了便于说明而举例而已,并非用以限定本发明,本领域的技术人员在不脱离本发明精神和范围的前提下可作若干的更动与润饰,本发明所主张的保护范围应以权利要求书所述为准。

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