基于动态随机池化卷积神经网络的图像分类方法与流程

文档序号:15729833发布日期:2018-10-23 17:03阅读:599来源:国知局
基于动态随机池化卷积神经网络的图像分类方法与流程

本发明涉及深度学习及图像分类识别



背景技术:

图像分类识别主要是从原始图像里划分兴趣区域并进行准确分割,并在此基础上进行分类识别任务。近年来计算机视觉与模式识别特别是卷积神经网络的发展,为分类识别提供了良好的技术支持。由于图像分类识别在视频监控、人脸识别、图像分类检索等方面有着广泛的应用前景,因此越来越受到计算机视觉领域研究者的广泛关注与研究。

卷积神经网络是由LeCun等提出的一种用于文档图像识别的神经网络模型,已广泛用于图像识别领域。卷积神经网络本质上是一种有监督的深度学习算法,通过权值共享和卷积运算直接处理二维图像。卷积神经网络的基本结构是由一系列交替连接的卷积层和池化层以及一个全连接的输出层组成,采用梯度下降法对网络中的权值和阈值参数逐层反向调节,以得到网络权值和阈值的最优解,并可以通过增加迭代次数来提高网络训练的精度。其中池化层通过人为设定的池化窗口的大小和步长的大小进行池化运算,目的是减小特征图维度,池化规模一般为2*2。基于最大值池化的池化算法在卷积神经网络的池化层中应用最为广泛,它是一种有效的提取特征算法,能够保留图像的纹理特征,虽然能够提取图像的纹理特征,却忽略了背景特征信息,忽略了特征的平均意义。因此我们在池化层中使用随机池化运算方法,给特征矩阵的每一个特征点赋予概率进行随机采样运算,通过随机采样运算更大程度的反映图像的综合特征。

图像经过一系列卷积层池化层后,最后得到的是一系列的特征图,然后将这些特征图中的像素依次取出,融合成一个向量传给分类器。由于图像采集方式的不同,使得图像维度的多尺度性,造成了输出维度不一。因此,我们在最后的池化层通过动态计算池化窗口的大小和步长的大小来进行随机池化运算,动态输出额定维度的特征图,既避免了原始图像多尺度问题,又可以实现多种额定维度输出特征融合,更大层面上的保留特征信息。

综上所述,动态随机池化卷积神经网络不仅可以解除输入的维度大小限制,还能更多的提取图像的综合特征,提高识别准确率,因此我们设计了基于动态随机池化卷积神经网络的图像分类方法。

为解决现有分类算法存在的问题,如不能进行多维度输入等问题,本发明提出了一种基于动态随机池化卷积神经网络的图像分类方法,

技术实现要素:
主要包括:本方法的流程框架,卷积神经网络结构,动态运算,随机运算,特征融合。

一种基于动态随机卷积神经网络的分类识别方法,至少包括以下几个步骤:

步骤一、把训练集导入一系列卷积层进行卷积运算;

通过卷积运算进行边缘特征提取,使原信号增强并降低噪音。

步骤二、把训练集导入一系列池化层进行随机池化运算;

通过随机池化运算降低维度,进一步增强特征信号使得特征具有平移不变性、旋转不变性、缩放不变性。

步骤三、在最后的池化层进行动态随机池化;

通过动态计算池化窗口大小和步长来进行池化运算,得到多个尺度的特征矩阵,保证特征输出的维度统一。

步骤四、把特征矩阵融合为输出特征向量;

把池化运算之后生成的多个尺度的特征矩阵融合为输出特征向量。

步骤五、对输出特征特征向量进行分类识别;

融合特征向量作为输入,利用softmax分类器实现网络的分类识别。

步骤六、对网络进行多次训练,调整中间参数,使输入输出的关系更加明显。

有益效果:

与现有技术相比,采用本发明所述的设计方案,可以达到以下技术效果:

1、使用卷积神经网络作为整体框架,通过权值共享和局部感受野来减少训练参数,大幅度减少了训练时间。

2、通过动态计算池化窗口和步长可以解除输入维度限制,多尺度的输入样本能够提高提取更多有用的特征,提高整体识别准确率。

3、利用随机池化方法对上一层特征进行处理,能够综合背景特征和纹理特征,更全面的表述整体特征,使得识别精度提高。

4、利用改进的特征融合,可以避免单一尺度的特征输出,多尺度的特征输出会更大程度上的保留上一层所表示的有用特征,进一步加强识别准确率。

附图说明:

图1.方法框架流程图

图2.神经网络结构图

图3.卷积运算示意图

图4.池化运算示意图

图5.动态运算示意图

图6.随机运算示意图

图7.残差运算示意图(1)

图8.残差运算示意图(2)

具体实施方式:

步骤一、把训练集导入一系列卷积层进行卷积运算

通过卷积层卷积运算进行边缘特征提取,使原信号增强并降低噪音。每个输出特征图连接到一个或多个输入特征图。每个输出节点和输入节点通过局部感受窗口相连接。水平和垂直的两个相邻窗口之间的距离叫做步长。每一个特征图上的所有节点共享相同的权重。

卷积运算公式如下:

其中为下一层的输出特征,其中x和y为特征的长度和高度,为感受窗口,其中x和y为感受窗口的长度和高度,为本层的输入特征,wn为权重,bn为置偏,f为激活函数,如下:

其中x的范围包含整个实数域,函数值在0-1之间。

*为卷积运算,经过卷积运算输出特征的维度发生改变,具体变化如下:

其中Sn为步长大小,一般设为1。

步骤二、把训练集导入一系列池化层进行随机池化运算

通过池化层随机池化运算降低维度,进一步增强特征信号使得特征具有平移不变性、旋转不变性、缩放不变性。

利用图像局部相关性的原理,对图像进行子抽样,可以减少数据处理量同时保留有用信息,通过随机池化方法,最大限度的提取了背景和纹理信息,加强了一定的不变性。

随机池化运算公式如下:

其中为下一层的输出特征,其中x和y为特征的长度和高度,为本层的输入特征,为池化窗口,一般为全1矩阵,f为激活函数,P为随机运算,如图6所示,把矩阵A中每个值赋予概率,根据概率大小进行排序,随机生成一个值,最后结果就是值对应的矩阵值。

经过池化运算输出特征的维度发生改变,具体变化如下:

其中Sn为步长大小,视情况而定。

随机池化运算具体步骤:

Step 1:获取特征矩阵xn

Step 2:在矩阵xn中获取区域特征矩阵和窗口点乘得到矩阵B(x,y)。

Step 3:对矩阵B(x,y)的每一个值除以矩阵B(x,y)的矩阵值和,得到C(x,y)。

Step 4:对C(x,y)进行随机取值D,D所对应的矩阵B(x,y)的值作为最后输出。

步骤三、在最后的池化层进行动态随机池化

通过式(6)、式(7)可知,经过池化运算后特征的维度发生了改变,本发明可以控制输出的维度大小。假设输出的特征维度为a*a,输入的特征维度为b*b,那么池化窗口的维度为:

步长的值为:

根据式(8)、式(9)求得池化窗口和步长的值,带入到式(6)、式(7)中,实现了无论输入的维度是多少,都会产生额定的输出维度,输出的维度恒定为a*a。

步骤四、把特征矩阵融合为输出特征向量

特征融合具体步骤:

Step 1:设经过最后池化层之后有n个特征矩阵其中n代表第n个矩阵,x和y代表矩阵的维度。

Step 2:将特征矩阵中每一个像素点(1.1),(1.2),(1.3),…,(x,y)拉抻成一个向量Bn={(1.1),(1.2),(1.3),…,(x,y)},其中n代表第n个向量。

Step 3:将n个向量{B1,B2,B3,…,Bn}依次首尾连接起来生成总特征输出B。

步骤五、对输出特征特征向量进行分类识别。融合特征向量作为输入,利用Softmax分类器实现网络的分类识别

Softmax相当于多类别情况下的逻辑回归。

逻辑回归的假设函数:

逻辑回归的代价函数:

Softmax的假设函数:

Softmax的代价函数:

步骤六、对网络进行多次训练,调整中间参数,使输入输出的关系更加明显

1.计算实际输出与期望值的差,通过梯度下降法从后向前一层一层训练参数,调整参数。

梯度下降法又称最速下降法,是一种可微函数的最优化算法。梯度下降法基于这样的道理:对于实值函数F(x),如果F(x)在某点x0处有定义且可微,则函数在该点处沿着梯度相反的方向-ΔF(x)下降最快。权值更新公式如下:

设第N次迭代的误差信号定义为:

e(n)=d(n)-Y(n) (14)

其中d(n)为期望输出,Y(n)为实际输出。

误差能量定义为:

根据梯度下降法,应计算误差对ω的梯度在沿着该方向反向进行调整:

梯度可有求偏导得到,根据微分的链式规则结果如下:

权值调整量Δω=学习率η*局部梯度δ*上一层输出信号v (17)

具体运算步骤如图7、图8所示。

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