本发明涉及一种基于卷积神经网络的图像识别方法,属于计算机视觉和深度学习技术领域。
背景技术:
人的大脑总是不断地接收信息,且能够记住并在以后接收的同时立刻识别出来,神经网络就是根据人脑的神经结构所提出的,并且在图像识别领域取得了很大的进展。20世纪60年代,hubel和wiesel在研究猫脑皮层时,发现用于局部敏感和方向选择的神经元时,可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(convolutionalneuralnetworks,cnn)。后来,卷积神经网络越来越多地被应用在图像识别领域,比如人脸识别和手写数字识别,而且都取得了不错的成绩。直到2012年10月,hinton教授和他的学生们在著名的imagenet问题上采用了卷积神经网络模型,象征着卷积神经网络在图像识别领域取得了突破性的研究。
现阶段,图像识别主要包括两个阶段,即“特征提取”和“分类识别”。特征提取阶段总是不可避免的丢失一些图像信息,如果图像本身含有大量噪声,那么提取的特征往往不够准确。随着深度学习的发展,如今的图像识别的效率也在不断地提高。但是,深度学习的框架需要学习的参数太多,计算速度比较慢,有可能出现过拟合的情况,所以图像识别还存在着很多需要改进的地方。
技术实现要素:
针对现有技术存在的不足,本发明目的是提供一种高效的基于卷积神经网络的图像识别方法,能够很好的提取图像的特征,且只对子网络结构计算各层残差以减少计算量。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明的一种基于卷积神经网络的图像识别方法,其特征在于,包括以下几个步骤:
a、获取原始图像;
b、对所述原始图像进行预处理;
c、将预处理后的图像输入卷积神经网络中的第一个卷积层,再将结果输入到池化层;
d、将上一层的输出结果输入到卷积神经网络中的子网络;
e、将上一层的输出结果输入到卷积神经网络中交替分布的卷积层和池化层;
f、将上一层的输出结果输入到卷积神经网络中的全连接层;
g、将上一层的输出结果输入到卷积神经网络中的最后一层,即softmax层,得到图像属于各个类别的概率;
h、根据图像属于各个类别的概率,得出图像分类结果,最后输出图像分类结果。
步骤b中,所述预处理的方法即原始图像的每个位置上的像素值减去均值rgb。
步骤c中,所有卷积层包括一个卷积层以及其后的一个relu层,relu激活函数的表达式是relu(x)=max(0,x),其中x表示卷积层的输出。
步骤c中,为了减少子网络输入与原始图像输入之间的误差,卷积神经网络结构中的第一个卷积层采用3×3的卷积核,步长为1,卷积层提取出的特征映射的大小为((w-f)/s)+1,其中,w是输入的大小,f是卷积核的大小,s是步长;所述池化层的滑动窗口大小为2×2,步长为2,越界时,以0填充,采用最大值的池化方式。
步骤c中,为了与relu层的激活函数对应,卷积层的节点只与前一层的节点相连,每一条相连的线对应一个权重。
所述卷积层的权值矩阵的初始化采用xavier方法,其初始化方法如下:
定义参数所在层的输入维度为n,输出维度为m,那么参数将以均匀分布的方式在
步骤d中,所述子网络依次包含一个1×1卷积层,一个3×3的卷积层,一个5×5的卷积层,一个1×1卷积层和一个pooling层;在提取特征的同时,子网络计算各层残差。
步骤c中,步骤d中,所述子网络计算各层残差的方法分两种情况:
第一种:当前层l为卷积层,下一层l+1为pooling层,则第l层的第j个featuremap为:
其中,*是卷积符号,
其中,
其中,
其中,
随后利用主成分分析法对各层间特征残差和最后提取特征进行降维处理,最后对降维后的特征进行加法融合,获取特征融合后的特征表达,获得输出。
步骤c中,步骤g中,softmax层通过softmax函数得到图像属于各个类别的概率,softmax函数的表达式为:
其中,k表示图像分类的个数,zj表示节点属于第j类,zi表示节点属于第i类。
本发明通过将一个子网络结构加入到经典卷积神经网络中,并在子网络结构中计算残差以修正权值矩阵,能够很好的提取图像的特征,且只对子网络结构计算各层残差以减少计算量,对图像的识别比较高效。
附图说明
图1为本发明的基于卷积神经网络的图像识别方法工作流程图;
图2为本发明的基于卷积神经网络的图像识别方法的子网络结构图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
如图1所示,本发明的基于卷积神经网络的图像识别方法首先获取原始图像imam×n,其中m、n分别是图像的宽和高,然后此图像进行预处理,即原始图像的每个位置上的像素减去均值rgb,得到预处理后的图像fm×n,随后将图像fm×n输入到卷积神经网络中的第一个卷积层,所使用的卷积核大小为3×3,步长为1,得到输出结果
然后再将
然后将f(2)输入到子网络中的第一个卷积层,如图2所示,该卷积层使用的是1×1的核,提取得到的特征映射再输入到子网络中的第二个卷积层,该卷积层使用的是3×3的核,提取得到的特征映射再输入到子网络中的第三个卷积层,该卷积层使用的是5×5的核,随后将提取得到的特征输入到子网络中的最后一层,pooling层。在提取特征的同时,计算各层特征经过多层传递产生的残差,子网络中计算残差的方法分两种情况,第一种:当前层l为卷积层,下一层l+1为pooling层,则第l层的第j个featuremap为:
其中,*是卷积符号,
其中,
第二种:当前层l为pooling层,下一层l+1为卷积层,则第l层的第j个featuremap为:
其中,
其中,
随后利用主成分分析法对各层间特征残差和最后提取特征进行降维处理,最后对降维后的特征进行加法融合,获取特征融合后的特征表达,获得输出f(3)。
然后将f(3)输入到卷积神经网络中交替分布的卷积层和池化层,得到输出结果f(4)。其次将f(4)输入到卷积神经网络中的全连接层,得到输出结果f(5),最后将f(5)输入到卷积神经网络中的最后一层,即softmax层,得到图像属于各个类别的概率f(zj),其中,j=1,2,…,k,k为图像的类别个数。
最后根据图像属于各个类别的概率,来决定图像分类结果。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。