基于机器视觉的数字1-10手势识别系统( 七 )


本文中根据实际情况选择的 Canny边缘检测对二值化图像进行处理,采用八邻域轮廓提取的方法提取手势的轮廓矩阵 。
Hu 矩的提取
Hu矩有着明确的物理和数学意义,低阶矩一般描述的是图像的整体特征,例如面积、方向、主轴等等;高阶矩则一般描述的是图像的细节部分的特征,例如扭曲度、峰态等等 。
零阶矩描述的是图像的面积,一阶矩描述的是图像的重心,二阶矩也被称作惯性矩,其有三个分量 。这三个矩通常被作为低阶矩 。低阶矩所描述的图像特征值一般反映了图像中物体的旋转半径、主轴方向以及图像椭圆这些特征 。
三阶以上的矩通常称为高阶矩,一般描述的是图像中物体的细节部分 。三阶矩所描述的是目标的扭曲程度;四阶矩描述的是一个分布的峰态,当所描述的峰态值为负数时,其分布的函数图象看起来就比较平缓,反之,则表示峰值比较高并且分布变化比较大 。这七个Hu矩向量值中,Hul到Hu6具有镜像不变性,而I,在镜像变换中变为-I, 。Hu矩向量由于其特殊的数学特性,在描述物体的形态特征中有着明显的优点,因此被广泛使用在在边缘提取、图像匹配及目标识别等过程中[3] 。
本文中,在程序中计算Hu矩向量,主要运用了()函数,计算Hu矩变量的部分伪代码如下:
9.结果分析
针对上述10种手势,分别进行多次采样,这里我们分别采集30张图像,然后经过处理后取其特征向量的平均值作为样本,将待识别的图像特征向量与其进行计算,就可得到最接近的手势了 。我们采用的是Hu矩向量作为特征值,程序中检测了每一个矩向量的值,最后的样本均值如下:
表4-1中,Hu4、Hu5、Hu6以及Hu7的值均有不同程度的误差,我们通过分析后得出结论:高阶矩是基于三阶或者以上的构造得到的,对于物体的旋转、平移和缩放具有不变性,但是因为高阶矩对于待识别图像的误差和一些细小的噪声或者小的变形来说,其敏感程度比较高,容易出现各种数值上的误差,因此,构造出来的Hu4、Hu5、Hu6以及 Hu7的值对于物体的识别准确率会有一些偏差,而Hu1、Hu2、Hu3等低阶矩则会有较好的稳定性,误差相对较小,在向量数值上更加的准确 。我们从另外一个方面来分析,我们发现表中 Hul、Hu2、Hu3、Hu4、Hu5、Hu6以及Hu7的值,其数量级分别为十的-3、-7、-10、-9、-19、-12和-19,因此,我们可以明显得出后三个变量的值其数量级要比前面几个低出很多,对于结果的影响很小,如果从计算效率上来考虑的话,其结果可以忽略不计 。
由于各个变量的值都比较小,为了体现出变量变化对结果的影响,我们可以对其进行归一化处理,得出的结果更加便于分析 。归一化即在О到1的范围内选取合适的值反映原值在取值空间中的比例 。
从整体上观察各个特征变量的值,这七个特征参数之间的差别还是比较明显的,相互之间有一定的区分度,因此,它们作为特征参数都是有一定的有效性的,我们选取这些值作为特征参数对于识别系统而言是可行的 。
我们针对这五个手势分别进行了30次识别,分别选择的是手背向上和手心向上的输入图像,如图4.3所示,识别以后的结果以手势5为例,手背向上的图像30个输入图像识别出28个,手心向上的图像30个输入图像识别出22个,根据实验结果我们可以发现手心向上的图像明显识别率比较低,分析结果,我们得出的结论,第一,背景图像对于识别的影响很大,手心向上图像的背景相对而言对比度比较低,有光线的照射,背景呈现出多种亮度,这样,背景中会有一些区域接近肤色的亮度,会对预处理阶段以及图像分割阶段的轮廓提取造成影响;第二,摄像头自带的亮度调节功能对亮度的变化比较敏感,通过摄像头获取的图像质量与摄像头直接相关,如果选用高质量的摄像头能够对目标物体亮度进行有选择性的突出,降低背景的颜色亮度,则能够提高识别的效果 。