APP下载

基于多点特征提取的手势识别的研究

2018-10-27宋昆哲闫晓虎田乐王奇俊刘珂

科技创新与应用 2018年25期

宋昆哲 闫晓虎 田乐 王奇俊 刘珂

摘 要:手势识别系统是指人类用语言中枢建立起来的一套用手掌和手指位置、形状构成的特定语言系统。为了解决传统手势识别计算量大的问题,在已有的手势识别基础上,提出一种重心距离的手势识别方法。通过肤色检测方法进行手势分割,计算手的重心,将手的边缘的点与重心点的距离按顺时针方向或者逆时针方向遍历,就会出现五个峰值,分别是五个手指。实验结果表明,与现有方法相比,此方法在識别速度方面有了明显的提高。

关键词:手势识别;肤色检测;手势分割;指尖检测

中图分类号:TP391.4 文献标志码:A 文章编号:2095-2945(2018)25-0028-02

Abstract: Gesture recognition system (GRS) is a special language system composed of palm and finger position and shape, which is established by human language center. In order to solve the problem of heavy computation in traditional gesture recognition, a new gesture recognition method based on barycentric distance is proposed. The skin color detection method is used to segment the hand gesture, calculate the center of gravity of the hand, and traverse the distance between the edge of the hand and the center of gravity clockwise or counterclockwise, and there will be five peaks, five fingers respectively. The experimental results show that the recognition speed of the proposed method is much higher than that of the existing methods.

Keywords: gesture recognition; skin color detection; gesture segmentation; fingertip detection

1 概述

手势作为一种人类日常普遍使用的交互方式,因其形象生动而成为了人机交互中的非常重要的一部分。目前的人机手势交互因为技术的限制还处于比较低级的阶段,主要是基于计算机视觉的手势识别方式。基于计算机视觉的手势识别方式是通过摄像头捕获图像,依据算法来获得手势的相关特征信息。

2 手势识别的步骤简介

手势识别主要分为五个步骤:图像获取、目标检测、图像分割、特征提取、分类器设计。

3 研究方法

3.1 图像获取

图像获取也就是图像的数字化过程,使用高清摄像头采集图像,将实时采集后具有不同像素的图像经过codebook算法的处理,为手势检测与切割做准备,从像素中读取图像的象征,并且利用单色图像、灰度级、分辨率以及亮度和对比度,来减小背景对前景的影响。而彩色图像通常用三字节的R,G,B来表示,通过三个通道颜色的变化和三个通道颜色的叠加来得到不同的颜色。

3.2 目标检测

背景差分法是目前运动检测中最常用的一种方法,它是利用当前图像与背景图像的差分来检测出运动区域的一种技术。它对于动态场景的变化,如光照和外来无关事物的干扰等特别敏感。该算法首先选取背景中的一幅或几幅图像的平均作为背景图像,然后把以后的序列图像当前帧和背景图像相减,进行背景削去。这里我们采用手动背景法,用人去观察背景图像,选取某一帧图像作为背景图像,然后把其他物体与选定的背景图像进行分析运算。

3.3 图像分割

图像边缘分割是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,通过下列算子实现。

(1)Sobel算子:对噪声有平滑抑制作用,但得到的边缘较粗,可能出现伪边缘。

(2)Prewitt算子:利用像素点上下和左右邻点的灰度差,能去掉部分伪边缘,对噪声具有平滑作用,但对图像边缘检测的可能造成边缘点的误判。

(3)Canny算子: 弱化了噪声的影响,然而对图像边缘检测过于细化,同样不利于图像纹理特征的提取。

(4)Roberts算子:Roberts算子能够较好的去除伪边缘,定位较准,垂直方向边缘的性能好于斜线方向,但Roberts算子对噪声较敏感,提取图像边缘较粗。

因此,采用多算子融合的图像边缘提取方法,该方法克服了噪声的影响,较好结合四种算子的优点。

3.4 特征提取

第一步处理方法是将距离过近的线段融合在一起,方法是对所有线段进行遍历。首先固定一条线段,将其余线段依次与该线段进行比对,确定其余线段的起点或终点是否在以该固定线段的两个端点为斜对角线的矩形框架内。若满足上述条件则进行下一步判断,确定这两条线段的夹角是否小于12度以及在矩形框架内部的端点到该线段的距离是否小于50。若以上条件均满足则将这两条线段最远的两个端点确定为一条新的线段,并将原先的两个线段删除,上述过程进行完后回溯重新对所有线段进行遍历直至不再有新的线段产生。

第二步处理方法是对第一步处理方法所遗漏的线段进行进一步处理。这次考虑的是两条线段相交且两条线段的端点分别不在以另一条线段的两个端点为斜对角线的矩形框架内的线。首先固定一条线段,依次将其余线段与该线段进行比对,若斜率相同则不予以处理,若斜率不同则计算两线段所在的两条直线的交点坐标,若该交点的横坐标分别在两线段各自两端点的横坐标范围内,则说明两线段有交点。接下来继续判断这两条线段的夹角是否小于12度,若小于则将两条线段最远的两个端点合并为一条新的线段,将原来的两个线段删除,之后回溯重新对所有线段进行遍历直至不再有新的线段产生。

第三步处理方法是对点的处理。以上两步可以将干扰的重复线段除去,但因为每个手指的两侧都会各有一条线段,所以这一步是将每个手指的两条线段的上端点合并在一起。该步骤的方法是将所有线段的上端点存入一个新的矩阵中固定一个点,对其余所有点进行遍历,判断两点之间距离是否小于40,若小于则取两点之间的中点作为新的点,并将原来的两点删去,接下来回溯重新对所有点进行遍历直至不再有新的点产生。

3.5 分类器设计

BP神经网络是一种神经网络学习算法,是由输入层、中间层和输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接。当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值。然后按照减小期望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。

下面每个手势用摄像头拍摄8张照片,将傅里叶变换后的结果导入神经网络中进行分析,分类效果良好(表1)。

参考文献:

[1]顾立中.基于表达的手势识别及人机交互研究[D].上海:上海交通大学,2008:45-67.

[2]覃文军.基于视觉信息的手势识别跟踪算法研究与实现[D].沈阳:东北大学,2010:13-41.

[3]公衍超,万帅,杨楷芳,等.利用双目视觉视频的实时三维裸手手势识别[J].西安电子科技大学学报(自然科学版),2014,41(4):130-136.

[4]杨波,宋晓娜,冯志全,等.复杂背景下基于空间分布特征的手势识别算法[J].计算机辅助设计与图形学学报,2010,22(10):1841-1848

[5]吴杰.基于深度学习的手势识别研究[D].成都:电子科技大学,2015:1-79.