栈式降噪自编码神经网络手势图像的识别方法与流程

文档序号:12551253阅读:290来源:国知局
栈式降噪自编码神经网络手势图像的识别方法与流程

本发明属于图像处理及模式识别技术领域,具体涉及到栈式降噪自编码神经网络手势图像的识别方法。



背景技术:

手势作为一种新兴的人机交互模式,目前已成为计算机视觉领域备受瞩目的研究热点之一。最初研究人员借助数据手套等专用仪器或硬件设备来完成数据的采集,这需要实验人员在采集过程中始终佩戴这些专用设备,使用不便且不易推广。近年来,随着微软的Kinect等非接触式的手势采集产品的产生,人机交互有望做到像人与人之间的信息交互一样自然、方便和快捷。

现有手势识别的研究方法分为两类。一类是把人手区域先从图像中分割出来,再进行手势识别,其不足在于可能引入复杂的预处理环节、分割的准确性直接影响后续手势识别的效果;另一类是从感兴趣的手势区域图像中人工设计手势特征,再根据提取的手势特征识别手势,该类方法的不足在于人工提取特征会不可避免的丢失信息且带有一定的主观性。寻找不受光照、种族、相似颜色干扰和人为主观因素影响的手势识别方法,成为一项具有挑战性的研究课题。



技术实现要素:

本发明所要解决的技术问题在于克服上述手势识别方法的缺点,提供一种不受光照、种族、相似颜色背景干扰以及人为设计手势特征的主观性因素影响的栈式降噪自编码神经网络手势图像的识别方法。

解决上述技术问题所采用的技术方案它是由训练步骤和测试步骤组成,训练步骤为:

(1)对训练样本图像进行预处理

包括彩图灰度化、大小归一化步骤。

彩图灰度化:用(1)式对被训练的样本图像进行灰度化处理,将彩色图像转为灰度图像:

I=Wr×R+Wg×G+Wb×B (1)

式中I为灰度化后的亮度,R为彩色图像的红色分量,G为彩色图像的绿色分量,B为彩色图像的蓝色分量,Wr为彩色图像的红色分量的权重,Wg为彩色图像的绿色分量的权重,Wb为彩色图像的蓝色分量的权重。

大小归一化:将上述灰度化后的图像用双三次插值法或B样条插值法或拉格朗日插值法,归一化为32×32的图像,像素总个数为322

(2)训练第一个降噪自动编码器

第一个降噪自动编码器结构为:输入层神经元个数为32×32,隐含层神经元个数为500~700,输出层神经元个数为32×32,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,设定最大迭代次数,在预处理后的32×32训练样本图像中加入噪声,即个数为322×0.3像素的灰度值置为0,形成含噪声的样本图像作为输入层,输入层与隐含层之间共(1024+1)×(500~700)个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的500~700维的多尺度特征和输入层与隐含层之间1024×(500~700)维的连接权重。

(3)训练第二个降噪自动编码器

第二个降噪自动编码器结构为:输入层神经元个数为500~700,隐含层神经元个数为100~300,输出层神经元个数为500~700,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,设定最大迭代次数,在500~700维的多尺度特征中加入噪声,即个数为(500~700)×0.3像素的灰度值置为0,形成输入层,输入层与隐含层之间共((500~700)+1)×(100~300)个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的100~300维的多尺度特征和输入层与隐含层之间(500~700)×(100~300)维的连接权重。

(4)训练用于分类的栈式降噪自编码神经网络

用训练好的第一个降噪自动编码器中输入层与隐含层的权重初始化栈式降噪自编码神经网络中第一层每一个神经元分别与第二层中所有神经元的连接权重,用训练好的第二个降噪自动编码器的权重初始化栈式降噪自编码神经网络中第二层的每一个神经元分别与第三层中所有神经元的连接权重,将训练样本输入到栈式降噪自编码神经网络中,经前向传播提取训练样本的多尺度特征,把多尺度特征输入到Softmax分类器中,Softmax分类器按照式(2)进行计算,得到的结果与样本标签的误差值进行反向传播,调整网络的权重直至最大迭代次数,得到训练好的栈式降噪自编码神经网络。

式中,x为样本图像,k为总类别数,zk为样本x属于类别k的概率,w为第三层与Softmax

分类器之间的连接权重矩阵。

上述的测试步骤为:

(1)对测试样本图像进行预处理

测试样本图像进行预处理与训练样本图像进行预处理步骤(1)相同。

(2)对输入的测试样本图像进行识别

将预处理后的测试样本输入到栈式降噪自编码神经网络中,经前向传播提取训练样本的多尺度特征,把多尺度特征输入到Softmax分类器中,计算出该样本所属a、b、c、d、e、f、g、h、i、k、l、m、n、o、p、q、r、s、t、u、v、w、x、y共24个英文字母的每个字母的概率,得到一个由概率值组成的24维向量,置概率值最大的位置值为1,其余位置值为0,1所在的位置为所属的类别,[1 0 0…0]中1所在的位置为第1位,表示该样本属于第1类,表示手势字母a;[0 1 0…0]中1所在的位置为第2位,表示该样本属于第2类,表示手势字母b;…;[0 0 0 0 0 0 0 0 1 0…]中1所在的位置为第9位,表示该样本属于第9类,表示手势字母i;[0 0 0 0 0 0 0 0 0 1 0…]中1所在的位置为第10位,表示该样本属于第10类,表示手势字母k;…;[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]中1所在的位置为第24位,表示该样本属于第24类,表示手势字母y。

在本发明的训练第一个降噪自动编码器步骤(2)中的第一个降噪自动编码器结构为:输入层神经元个数为32×32,隐含层神经元个数最佳为600,输出层神经元个数为32×32,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,设定最大迭代次数,在预处理后的32×32训练样本图像中加入噪声,即个数为322×0.3像素的灰度值置为0,形成含噪声的样本图像作为输入层,输入层与隐含层之间共(1024+1)×600个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的600维的多尺度特征和输入层与隐含层之间1024×600维的连接权重。

上述的训练第二个降噪自动编码器步骤(3)中的第二个降噪自动编码器结构为:输入层神经元个数最佳为600,隐含层神经元个数最佳为200,输出层神经元个数最佳为600,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,设定最大迭代次数,在600维的多尺度特征中加入噪声,即个数为600×0.3像素的灰度值置为0,形成输入层,输入层与隐含层之间共(600+1)×200个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的200维的多尺度特征和输入层与隐含层之间600×200维的连接权重。

在本发明的训练用于分类的栈式降噪自编码神经网络步骤(4)中,本发明的栈式降噪自编码神经网络的结构由四层组成,第一层为输入层、神经元个数为32×32,第二层为第一隐含层、神经元个数为500~700,第三层为第二隐含层、神经元个数为100~300,第四层为输出层、神经元个数为24,输入层的每一个神经元分别与第一隐含层的所有神经元相连接,第一隐含层神经元中的每一个神经元分别与第二隐含层的所有神经元相连接,第二隐含层神经元中的每一个神经元分别与输出层的所有神经元相连接。

在本发明的训练用于分类的栈式降噪自编码神经网络步骤(4)中,本发明的栈式降噪自编码神经网络的结构由四层组成,第一层为输入层、神经元个数为32×32,第二层为第一隐含层、神经元个数最佳为600,第三层为第二隐含层、神经元个数最佳为200,第四层为输出层、神经元个数为24,输入层的每一个神经元分别与第一隐含层的所有神经元相连接,第一隐含层神经元中的每一个神经元分别与第二隐含层的所有神经元相连接,第二隐含层神经元中的每一个神经元分别与输出层的所有神经元相连接。

本发明针对自然场景下拍摄的不同背景、角度、光照和肤色等干扰的手势图像,利用自动编码器无监督学习的特性和降噪自动编码器在防止过拟合问题中的突出表现,建立一个能够对手势样本图像直接进行识别的网络,克服了复杂的预处理环节,取得了较高的识别率,可用于游戏虚拟手柄、相机手势快门控制、汽车虚拟驾驶等。

附图说明

图1是本发明基于栈式降噪自编码神经网络手势图像的识别方法流程图。

图2是栈式降噪自编码神经网络的结构示意图。

图3是经过预处理后部分32×32的手势图像。

图4是受肤色干扰的测试样本手势识别结果图。

图5是受背景干扰的测试样本手势识别结果图。

具体实施方式

下面结合附图和实例对本发明进行进一步的说明,但本发明不限于下述的实施例。

实施例1

本实施例的手势图像来自美国手势语言数据集(American Sign Language,ASL)。它以静态图像的形式提供了24个英文字母的不同手势表达(英文字母j和z除外)。ASL数据集由5个操作者在不同的光照条件和背景环境下用Kinect录制完成,每个操作者每个字母所对应的手势图像有500张,共有60000张图像。选取每个操作者的每类手势各470张,24类手势共56400张图像作为训练样本集和测试样本集。其中训练样本50400张图像,测试样本6000张图像。

本实施例降噪自编码神经网络的手势识别方法由训练步骤和测试步骤组成,训练步骤如下:

1、对50400张训练样本图像进行预处理

包括彩图灰度化、大小归一化步骤;

50400张彩图灰度化:用(1)式对被训练的样本图像进行灰度化处理,将彩色图像转为灰度图像:

I=0.2989×R+0.5870×G+0.1140×B(1)

式中I为灰度化后的亮度,R为彩色图像的红色分量,G为彩色图像的绿色分量,B为彩色图像的蓝色分量。

50400张图像大小归一化:将上述灰度图像用双三次插值法归一化为32×32的图像,像素总个数为322

2、训练第一个降噪自动编码器

第一个降噪自动编码器结构为:输入层神经元个数为32×32,隐含层神经元个数为600,输出层神经元个数为32×32,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,50400张训练样本分批训练,每批图像100张,学习率为0.5,最大迭代次数为200,在预处理后的32×32训练样本图像中加入噪声,即个数为322×0.3像素的灰度值置为0,形成含噪声的样本图像作为输入层,输入层与隐含层之间共(1024+1)×600个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的600维的多尺度特征和输入层与隐含层之间1024×600维的连接权重。

3、训练第二个降噪自动编码器

第二个降噪自动编码器结构为:输入层神经元个数为600,隐含层神经元个数为200,输出层神经元个数为600,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,50400张训练样本分批训练,每批图像100张,学习率为0.5,最大迭代次数为200。在600维的多尺度特征中加入噪声,即个数为600×0.3像素的灰度值置为0,形成输入层,输入层与隐含层之间共(600+1)×200个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的200维的多尺度特征和输入层与隐含层之间600×200维的连接权重。

4、训练用于分类的栈式降噪自编码神经网络

栈式降噪自编码神经网络的结构为:输入层神经元个数为1024,第一隐含层神经元个数为600,第二隐含层神经元个数为200,输出层神经元个数为24。用训练好的第一个降噪自动编码器中输入层与隐含层的权重初始化栈式降噪自编码神经网络中第一层中每一个神经元分别与第二层中所有神经元的连接权重,用训练好的第二个降噪自动编码器的权重初始化栈式降噪自编码神经网络中第二层中每一个神经元分别与第三层中所有神经元的连接权重,将训练样本输入到栈式降噪自编码神经网络中,经前向传播提取训练样本的多尺度特征,把多尺度特征输入到Softmax分类器中,Softmax分类器按照式2进行计算,得到的结果与样本标签的误差值进行反向传播,调整网络的权重直至最大迭代次数,得到训练好的栈式降噪自编码神经网络。

式中x为样本图像,k为总类别数,zk为样本x属于类别k的概率,w为第三层与Softmax分类器之间的连接权重矩阵。

上述的测试步骤为:

1、对测试样本图像进行预处理

6000张测试样本图像进行预处理与50400张训练样本图像进行预处理步骤1相同。

2、对输入的6000张测试样本图像进行识别

将预处理后的6000张测试样本图像输入到栈式降噪自编码神经网络中,经前向传播提取训练样本的多尺度特征,把多尺度特征输入到Softmax分类器中,计算出该样本所属a、b、c、d、e、f、g、h、i、k、l、m、n、o、p、q、r、s、t、u、v、w、x、y共24个英文字母的每个字母的概率,得到一个由概率值组成的24维向量,置概率值最大的位置值为1,其余位置值为0,1所在的位置为所属的类别,[1 0 0…0]中1所在的位置为第1位,表示该样本属于第1类,表示手势字母a;[0 1 0…0]中1所在的位置为第2位,表示该样本属于第2类,表示手势字母b;…;[0 0 0 0 0 0 0 0 1 0…]中1所在的位置为第9位,表示该样本属于第9类,表示手势字母i;[0 0 0 0 0 0 0 0 0 1 0…]中1所在的位置为第10位,表示该样本属于第10类,表示手势字母k;…;[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]中1所在的位置为第24位,表示该样本属于第24类,表示手势字母y。图4为受肤色干扰的测试样本手势识别的结果图,该测试样本识别结果为字母k。图5为受背景干扰的测试样本手势识别的结果图,该测试样本识别结果为字母n。6000张测试样本图像的识别率为98.02%,平均识别时间为0.8673毫秒/每张。

实施例2

本实施例的手势图像来自美国手势语言数据集(American Sign Language,ASL)。它以静态图像的形式提供了24个英文字母的不同手势表达(英文字母j和z除外)。ASL数据集由5个操作者在不同的光照条件和背景环境下用Kinect录制完成,每个操作者每个字母所对应的手势图像有500张,共有60000张图像。选取每个操作者的每类手势各470张,24类手势共56400张图像作为训练样本集和测试样本集。其中训练样本50400张图像,测试样本6000张图像。

本实施例降噪自编码神经网络的手势识别方法由训练步骤和测试步骤组成,训练步骤如下:

1、对50400张训练样本图像进行预处理

对50400张训练样本图像进行预处理步骤1与实施例1相同。

2、训练第一个降噪自动编码器

第一个降噪自动编码器结构为:输入层神经元个数为32×32,隐含层神经元个数为500,输出层神经元个数为32×32,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,50400张训练样本分批训练,每批图像100张,学习率为0.5,最大迭代次数为200,在预处理后的32×32训练样本图像中加入噪声,即个数为322×0.3像素的灰度值置为0,形成含噪声的样本图像作为输入层,输入层与隐含层之间共(1024+1)×500个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的500维的多尺度特征和输入层与隐含层之间1024×500维的连接权重。

3、训练第二个降噪自动编码器

第二个降噪自动编码器结构为:输入层神经元个数为500,隐含层神经元个数为100,输出层神经元个数为500,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,50400张训练样本分批训练,每批图像100张,学习率为0.5,最大迭代次数为200,在500维的多尺度特征中加入噪声,即个数为500×0.3像素的灰度值置为0,形成输入层,输入层与隐含层之间共(500+1)×100个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的100维的多尺度特征和输入层与隐含层之间500×100维的连接权重。

4、训练用于分类的栈式降噪自编码神经网络

栈式降噪自编码神经网络的结构为:输入层神经元个数为1024,第一隐含层神经元个数为500,第二隐含层神经元个数为100,输出层神经元个数为24。训练用于分类的栈式降噪自编码神经网络步骤的其他步骤与实施例1相同。

上述的测试步骤为:

1、对测试样本图像进行预处理

对测试样本图像进行预处理步骤与实施例1相同。

2、对输入的6000张测试样本图像进行识别

对输入的6000张测试样本图像进行识别步骤与实施例1相同,6000张测试样本图像的识别率为97.9%,平均识别时间为0.8673毫秒/每张。

实施例3

本实施例的手势图像来自美国手势语言数据集(American Sign Language,ASL)。它以静态图像的形式提供了24个英文字母的不同手势表达(英文字母j和z除外)。ASL数据集由5个操作者在不同的光照条件和背景环境下用Kinect录制完成,每个操作者每个字母所对应的手势图像有500张,共有60000张图像。选取每个操作者的每类手势各470张,24类手势共56400张图像作为训练样本集和测试样本集。其中训练样本50400张图像,测试样本6000张图像。

本实施例降噪自编码神经网络的手势识别方法由训练步骤和测试步骤组成,训练步骤如下:

1、对50400张训练样本图像进行预处理

对50400张训练样本图像进行预处理步骤1与实施例1相同。

2、训练第一个降噪自动编码器

第一个降噪自动编码器结构为:输入层神经元个数为32×32,隐含层神经元个数为700,输出层神经元个数为32×32,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,50400张训练样本分批训练,每批图像100张,学习率为0.5,最大迭代次数为200,在预处理后的32×32训练样本图像中加入噪声,即个数为322×0.3像素的灰度值置为0,形成含噪声的样本图像作为输入层,输入层与隐含层之间共(1024+1)×700个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的700维的多尺度特征和输入层与隐含层之间1024×700维的连接权重。

3、训练第二个降噪自动编码器

第二个降噪自动编码器结构为:输入层神经元个数为700,隐含层神经元个数为300,输出层神经元个数为700,输入层的每一个神经元分别与隐含层的所有神经元相连接,隐含层的每一个神经元分别与输出层的所有神经元相连接,50400张训练样本分批训练,每批图像100张,学习率为0.5,最大迭代次数为200,在700维的多尺度特征中加入噪声,即个数为700×0.3像素的灰度值置为0,形成输入层,输入层与隐含层之间共(700+1)×300个训练参数,经过前向传播和反向传播,迭代训练至最大迭代次数,得到以列序为主序的300维的多尺度特征和输入层与隐含层之间700×300维的连接权重。

4、训练用于分类的栈式降噪自编码神经网络

栈式降噪自编码神经网络的结构为:输入层神经元个数为1024,第一隐含层神经元个数为700,第二隐含层神经元个数为300,输出层神经元个数为24。训练用于分类的栈式降噪自编码神经网络步骤的其他步骤与实施例1相同。

上述的测试步骤为:

1、对测试样本图像进行预处理

对测试样本图像进行预处理步骤与实施例1相同。

2、对输入的6000张测试样本图像进行识别

对输入的6000张测试样本图像进行识别步骤与实施例1相同,6000张测试样本图像的识别率为97.77%,平均识别时间为0.8673毫秒/每张。

实施例4

在以上的实施例1~3的对训练样本图像进行预处理步骤1中的大小归一化为:将上述灰度化后的图像用B样条插值法归一化为32×32的图像,像素总个数为322。该步骤中的其他步骤与实施例1相同。

其他步骤与相应的实施例相同。

实施例5

在以上的实施例1~3的对训练样本图像进行预处理步骤1中的大小归一化为:将上述灰度化后的图像用拉格朗日插值法归一化为32×32的图像,像素总个数为322。该步骤中的其他步骤与实施例1相同。

其他步骤与相应的实施例相同。

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