基于深度卷积神经网络的图像分类方法及图像分类系统与流程

文档序号:17540541发布日期:2019-04-29 14:32阅读:532来源:国知局
基于深度卷积神经网络的图像分类方法及图像分类系统与流程

本发明涉及图像识别技术领域,尤其涉及一种基于深度卷积神经网络的图像分类方法及图像分类系统。



背景技术:

如今基于大数据的深度学习方法已经远远超越了传统的识别和检测方法,卷积神经网络(convolutionalneuralnetwork,简称cnn)是深度学习当前较为热门的方法之一,是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。深度学习(deeplearning)是机器学习的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

卷积神经网络通过对图像交替进行卷积和池化操作,逐渐提取图像的高层特征,再使用神经网络对特征分类,完成识别的功能。相比于传统的图像分类方法,基于卷积神经网络的图像分类方法给定一副测试图片作为输入,输出该图片属于哪一类。

现有传统图像分类方法需要很强的先验知识来辅助提取有区分度特征,存在偶然性强,可靠性低,无法精确分类图像的问题。

因此,提供一种基于深度卷积神经网络的图像分类方法及图像分类系统。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于深度卷积神经网络的图像分类方法及图像分类系统,以解决现有传统图像分类方法需要很强的先验知识来辅助提取有区分度特征,存在偶然性强,可靠性低,无法精确分类图像的问题。

根据本发明的一个方面,提供一种基于深度卷积神经网络的图像分类方法,包括:

依次构建深度卷积神经网络图像分类模型的输入层、多个卷积层和输出层,并预设输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值;

利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练,计算出输入层与相邻卷积层之间的前端连接权重实际值、相邻两卷积层之间的中间连接权重实际值、输入层与相邻卷积层之间的后端连接权重实际值,得到训练后的深度卷积神经网络图像分类模型;

将接收的待识别图像输入到训练后的深度卷积神经网络图像分类模型中,训练后的深度卷积神经网络图像分类模型将待识别图像解析成像素点位矩阵,并通过输入层将像素点位矩阵传输至卷积层,在传输过程中像素点位矩阵与输入层与相邻卷积层之间的前端连接权重实际值进行卷积计算,得到前端特征像素点位矩阵;

通过该相邻卷积层将前端特征像素点位矩阵传输至下一个卷积层,在传输过程中前端特征像素点位矩阵与相邻两卷积层之间的中间连接权重实际值进行卷积计算,得到中间特征像素点位矩阵;

通过与输出层相邻的卷积层将前端特征像素点位矩阵传输至输出层,在传输过程中中间特征像素点位矩阵与输出层与相邻卷积层之间的后端连接权重实际值进行卷积计算,得到待识别图像类属矩阵。

进一步地,利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练中,采用带动量项的批梯度下降算法训练输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值,其中,批尺寸为128,初始学习率为0.1,学习率衰减率为0.01,动量系数为0.9,学习率衰减间隔为所有样本数据计算125次,权重衰减项常数为[0,0.001],最大迭代步数为1000,最大迭代次数为50000次。

进一步地,在利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练中,采用relu激活函数。

进一步地,各卷积层包括至少一个卷积核,其中,当卷积核尺寸为w×w的滤波器,步长为k个像素时,对nh×nw的待识别图像进行卷积计算,得到大小为的特征图像。

进一步地,深度卷积神经网络图像分类模型还包括至少一个池层,该池层采用最大池化算法。

进一步地,上述基于深度卷积神经网络的图像分类方法,在接收待识别图像之后,还包括:

对输入图像进行裁剪;

对裁剪后的图像进行去除颜色干扰。

进一步地,在利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练中,采用softmax损失函数。

进一步地,上述基于深度卷积神经网络的图像分类方法,还包括:

根据待识别图像和待识别图像类属矩阵训练深度卷积神经网络图像分类模型,以更新输入层与相邻卷积层之间的前端连接权重实际值、相邻两卷积层之间的中间连接权重实际值、输入层与相邻卷积层之间的后端连接权重实际值。

根据本发明的另一方面,提供一种实现上述方法的基于深度卷积神经网络的图像分类系统,包括:

卷积神经网络图像分类模型建立模块,用于依次构建深度卷积神经网络图像分类模型的输入层、多个卷积层和输出层,并预设输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值;

卷积神经网络图像分类模型训练模块,用于利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练,计算出输入层与相邻卷积层之间的前端连接权重实际值、相邻两卷积层之间的中间连接权重实际值、输入层与相邻卷积层之间的后端连接权重实际值,得到训练后的深度卷积神经网络图像分类模型;

图像分类模块,用于将接收的待识别图像输入到训练后的深度卷积神经网络图像分类模型中,训练后的深度卷积神经网络图像分类模型将待识别图像解析成像素点位矩阵,并通过输入层将像素点位矩阵传输至卷积层,在传输过程中像素点位矩阵与输入层与相邻卷积层之间的前端连接权重实际值进行卷积计算,得到前端特征像素点位矩阵;通过该相邻卷积层将前端特征像素点位矩阵传输至下一个卷积层,在传输过程中前端特征像素点位矩阵与相邻两卷积层之间的中间连接权重实际值进行卷积计算,得到中间特征像素点位矩阵;通过与输出层相邻的卷积层将前端特征像素点位矩阵传输至输出层,在传输过程中中间特征像素点位矩阵与输出层与相邻卷积层之间的后端连接权重实际值进行卷积计算,得到待识别图像类属矩阵。

进一步地,在卷积神经网络图像分类模型训练模块中,采用带动量项的批梯度下降算法训练输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值,其中,批尺寸为128,初始学习率为0.1,学习率衰减率为0.01,动量系数为0.9,学习率衰减间隔为所有样本数据计算125次,权重衰减项常数为[0,0.001],最大迭代步数为1000,最大迭代次数为50000次。

本发明与现有技术相比具有以下的优点:

1.本发明选择不同类别图像采用多卷积层的方法进行模型训练,能够递进式地捕获待识别图像的特征,以客观精确地判定待识别图像可能属于的类别以及属于各类别的概率;

2.本发明的基于深度卷积神经网络的图像分类方法及图像分类系统根据待识别图像训练深度卷积神经网络图像分类模型,以更新输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值,使得预定类别图像特征集中的特征更全面,进一步提高图像分类的准确度。

附图说明

以下结合附图和实施例对本发明作进一步说明。

图1是本发明的基于深度卷积神经网络的图像分类方法步骤图;

图2是图像在卷积神经网络的卷积层,池层,全连接层进行处理,最后在输出层得到结果的示意图;

图3是本发明的基于深度卷积神经网络的图像分类系统框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1是本发明的基于深度卷积神经网络的图像分类方法步骤图,参见图1,本发明提供的基于深度卷积神经网络的图像分类方法,包括:

s101,依次构建深度卷积神经网络图像分类模型的输入层、多个卷积层和输出层,并预设输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值;

具体地,卷积神经网络图像分类模型的基本结构可以分为四个部分:输入层,卷积层,全连接层和输出层四个部分。

输入层:卷积输入层可以直接作用于原始输入数据,对于输入是图像来说,输入数据是图像的像素值。

卷积层:卷积神经网络的卷积层,也叫做像素点提取层,包括二个部分。第一部分主要作用是提取输入数据特征。每一个不同的卷积核提取输入数据的特征都不相同,卷积层的卷积核数量越多,就能提取越多输入数据的特征。第二部分是池层,也叫下采样层,主要目的是在保留有用信息的基础上减少数据处理量,加快训练网络的速度。通常情况下,卷积神经网络至少包含二层卷积层,即卷积层-池层-卷积层-池层。卷积层数越多,在前一层卷积层基础上能够提取更加抽象的特征。

全连接层:可以包含多个全连接层,实际上就是多层感知机的隐含层部分。通常情况下后面层的神经节点都和前一层的每一个神经节点连接,同一层的神经元节点之间是没有连接的。每一层的神经元节点分别通过连接线上的权值进行前向传播,加权组合得到下一层神经元节点的输入。

输出层:输出层神经节点的数目是根据具体应用任务来设定的。如果是分类任务,卷积神经网络输出层通常是一个分类器,通常是softmax分类器。

s102,利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练,计算出输入层与相邻卷积层之间的前端连接权重实际值、相邻两卷积层之间的中间连接权重实际值、输入层与相邻卷积层之间的后端连接权重实际值,得到训练后的深度卷积神经网络图像分类模型;

具体地,在构建深度卷积神经网络图像分类模型中,可以选取cifar-10数据集进行训练,cifar-10数据集含有6万张32×32的自然图像,共分为10种类型,由alexkrizhevsky,vinodnair和geoffreyhinton收集而来。包含50000张训练图片,10000张测试图片,数据集的数据存在一个10000×3072的数组中(按行存储,每一行表示一副图像),前1024位是r值,中间1024位是g值,最后1024位是b值,对实验数据集可以仅作简单的裁剪与白化处理后将像素值送入神经网络中进行训练。

s103,将接收的待识别图像输入到训练后的深度卷积神经网络图像分类模型中,训练后的深度卷积神经网络图像分类模型将待识别图像解析成像素点位矩阵,并通过输入层将像素点位矩阵传输至卷积层,在传输过程中像素点位矩阵与输入层与相邻卷积层之间的前端连接权重实际值进行卷积计算,得到前端特征像素点位矩阵;

s104,通过该相邻卷积层将前端特征像素点位矩阵传输至下一个卷积层,在传输过程中前端特征像素点位矩阵与相邻两卷积层之间的中间连接权重实际值进行卷积计算,得到中间特征像素点位矩阵;

s105,通过与输出层相邻的卷积层将前端特征像素点位矩阵传输至输出层,在传输过程中中间特征像素点位矩阵与输出层与相邻卷积层之间的后端连接权重实际值进行卷积计算,得到待识别图像类属矩阵。

本发明选择不同类别图像采用多卷积层的方法进行模型训练,能够递进式地捕获待识别图像的特征,以客观精确地判定待识别图像可能属于的类别以及属于各类别的概率。

各卷积层包括至少一个卷积核,其中,当卷积核尺寸为w×w的滤波器,步长为k个像素时,对nh×nw的待识别图像进行卷积计算,得到大小为的特征图像。

深度卷积神经网络图像分类模型还包括至少一个池层,该池层采用最大池化算法。最大池(maxpooling)可以将代价函数降到更低,这是由于最大池减小了卷积层参数误差造成的估计均值偏移,因此,pooling(池)方式采用最大池的方式。随着卷积层数的增多相应的分类精度也在提高,这是由于卷积层数越多,对特征的抽象能力也就越强大,最后提取到的特征质量也就越高,所以采用深度卷积网络。

因此,在实际应用中,一张图片(28x28),把它丢给卷积神经网络里面一系列处理层,卷积层,池层,全连接层,最后在输出层得到结果。正如之前所说,输出可能是一个分类或者可能的分类对应的概率。该流程如图2所示。

卷积,利用卷积核对图像进行像素点提取,其中最重要的就是卷积核。卷积核的设计涉及卷积核的大小,卷积核的数目以及卷积核的步长。

卷积核的个数表示从上层中通过卷积滤波得到特征图的个数,提取的特征图越多,网络表示特征空间就越大,学习能力也就越强,最后识别结果就比较准。但卷积核太多(特征图太多),增大网络的复杂度,增加参数的个数,加大了计算的复杂度,易出现过拟合现象,所以卷积核也不并是越多越好,应根据具体的数据集图像的大小确定卷积核的个数。

图像卷积像素点提取,通过设定的一个卷积核尺寸为w×w的滤波器,步长为k个像素,对一幅新的图像(nh×nw)进行卷积处理,得到一个大小为的特征图。一般来说卷积核尺寸越小,像素点提取的质量也就越高,具体大小还应根据输入图像的尺寸决定。

对输入的图像邻域进行卷积处理得到图像的邻域特征图,再通过亚采样层使用池化技术将小邻域内进行下采样得到新的特征。通过对上层池化,特征结果可以使得参数减少(降低了特征维数),且增强特征使得最后的特征表达保持了某些不变性(旋转、平移、伸缩等),所以说池化的作用就是简化卷积层里输出的信息,减少数据维度,降低计算开销,控制过拟合。

在实际应用中,一张28x28的输入图片,经过5x5的过滤器后会得到一个24x24的特征图像,继续简化这个24x24特征图像里的信息,只保留关键信息,需要加入一个池层。

全连接层,来检测获取到的这些特征图像与哪种类别更相近:该层接收上一层的输出当作输入,上一层的输出就是一些学习出来的特征图像,该层输出一个n维的向量,代表图片可能的分类概率[0.01,0.04,0.94,0.02],数值越高表示这些特征图像和那一类更相近。这里0.94代表图像是船的可能性为94%,表示预测图片与过滤器产生了很高的激励,获取到了很多高层次的特征,例如船帆,船桨等等特征。0.02表示图像是鸟的可能性为2%,表示预测图片与过滤器产生了很低的激励,没有获取到了很多高层次的特征,例如翅膀,喙等等特征。

卷积神经网络的训练时间、准确率和稳定性之间进行折中后,利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练中,输入图像尺寸为32×32,利用带动量项的批梯度下降算法训练输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值,其中,批尺寸是通过神经网路传播一次的样本数,本发明中,批尺寸为128,学习率为权值更新一次的幅度,本发明中,初始学习率为0.1,学习率衰减率为0.01,学习率衰减间隔为所有样本数据计算125次,动量系数为用于动量稳定迭收敛的因子,动量系数为0.9,权重衰减项常数为防止过拟合使所有权重等比缩小的因子,在本发明中,权重衰减项常数为[0,0.001],最大迭代步数为1000,最大迭代次数为50000次。实验证明,经过50000次迭代后,代价函数大约稳定在0.20左右,最低为0.10,最后的分类精度为89.8%。

通过分析影响卷积神经网络模型的各个因素(网络层数、学习算法、卷积核大小、pooling方式、relulayer等),设计了深度网络模型,经过实际应用,本方法设计的深度网络模型的分类精度更高,并取得了接近90%的分类精度。

进一步地,在利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练中,采用relu激活函数。

具体地,在这里,调用一种激励函数来加入非线性因素,解决线性不可分的问题。选择线性整流函数为激励函数,其方程为f(x)=max(0,x),就是把小于零的值都归为0,好处是可以是网络训练的更快,减少梯度消失的问题出现。relu激活函数的震荡更小,对应代价函数下降到一个比tanh型函数更小的值,所以relu型激活函数更适用于深度神经网络,采用relu激活函数。

另外,激励函数还可以选择sigmoid函数或近似神经激活函数。

进一步地,在利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练中,采用softmax损失函数。

具体地,根据感受野大小、核个数、池化大小、网络的层数等影响因素并结合cifar-10数据集,结合了影响卷积网络性能的影响因素设计以下深度卷积神经网络图像分类模型:

输入层>卷积层>线性整流层>卷积层>线性整流层>池层>权值衰减层>卷积层>线性整流层>卷积层>线性整流层>池层>权值衰减层>全连接层

在以上深度卷积神经网络图像分类模型结构中,不仅仅只有卷积层,池层,全连接层,还有其它一些层穿插在卷积层之间,可以减少出现过拟合,提高学习率,缓解梯度消失等等问题。

仅考虑每个卷积层,不考虑它们之间穿插的其他层,在第一个卷积层之后,又进入下一个卷积层,那么第一个卷积层的输出就变成了下一个卷积层的输入。第一个卷积层的输入是一个普通的图片,第二个卷积层的输入是从第一个卷积层变化而来的一些特征图像。以后每一个卷积层的输入,基本上都是上一个卷积层提取出来的特征图像,后面的卷积层组合之前的卷积层里提取的简单特征,得到更复杂的特征数据。

其中,权值衰减层是通过修改代价函数来实现的,但是权值衰减通过修改神经网络结构来实现的,它是在训练神经网络时用的一种优化方法。权值衰减是指在模型训练时随机让网络部分隐含层单元的不工作,不工作的那些单元可以暂时不作为网络的部分计算,但保留它的权重(暂时不更新),因为下次样本输入时它可能又工作。在训练过程中,权值衰减是以一定概率1-p将隐含层节点的输出清0,而用反向传播更新权值时,不再更新与该节点相连的权值。

另外,深度卷积神经网络还包括:损失函数层,也就是输出层,用于将数据映射为一个标量。通过随机梯度下降的方式,使得损失函数逐渐的降低。目前使用比较广泛的是softmax回归和hinge损失函数。其中,softmax回归在输入时,表示输入图像在各个类别上的可能性;同时需要输入图像的标签k。输出是损失值。首先将输入归一化到[0,1]之间,通过softmax函数,然后通过交叉熵定义损失值,也就是:该损失函数主要应用与单类别分类问题中。

因此,在卷积神经网络的内部,是由很多的层构成。每一个层可以认为是一个函数,输入是信号x,输出是信号,输出的y又可以作为其他层的输入。以下从图像的处理过程,各种神经元,与训练网络有关的损失函数这三个角度介绍在卷积神经网络中常用的层的定义,即输入的数据x是什么维度,输出y是什么维度以及如何从输入得到输出。

上述基于深度卷积神经网络的图像分类方法,在接收待识别图像之后,还包括:

对输入图像进行裁剪;

具体地,输入的图像的大小可能各不相同,有一些图像的分辨率较大,有一些比较小。而且长宽比也不一定会一样。对于这样的不一致性,理论上可以不处理,但是这要求网络中其他的层次支持这样的输入。目前大部分情况下采用的是通过裁剪的方法使得输出的图像是固定分辨率的。在网络训练的阶段,裁剪的位置从原始的图像上随机选择,只需要满足裁剪的子图完全落在图像中即可。通过随机的方式,是因为相当于增加了额外的数据,能够缓解过拟合的问题。

对裁剪后的图像进行去除颜色干扰。

具体地,裁剪之后的原图,每一个像素的是0到255的固定的数值。进一步的处理,包括减去均值,以及等比例缩放像素值使得像素值的分部基本在[-1,1]之间。除了这些常规的操作之外,也会对图像进行归一化,相当于图像增强,比如对cifar10的数据预处理中。比如,对于每一个像素,随机选择rgb三个通道中的一个,然后在原像素值的基础上,随机添加一个[-20,20]之间的数值。

进一步地,上述基于深度卷积神经网络的图像分类方法,还包括:

根据待识别图像和待识别图像类属矩阵训练深度卷积神经网络图像分类模型,以更新输入层与相邻卷积层之间的前端连接权重实际值、相邻两卷积层之间的中间连接权重实际值、输入层与相邻卷积层之间的后端连接权重实际值。

本发明的基于深度卷积神经网络的图像分类方法根据待识别图像训练深度卷积神经网络图像分类模型,以更新输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值,使得预定类别图像特征集中的特征更全面,进一步提高图像分类的准确度。

图3是本发明的基于深度卷积神经网络的图像分类系统框图,参见图3,本发明提供的实现上述方法的基于深度卷积神经网络的图像分类系统,包括:

卷积神经网络图像分类模型建立模块,用于依次构建深度卷积神经网络图像分类模型的输入层、多个卷积层和输出层,并预设输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值;

卷积神经网络图像分类模型训练模块,用于利用多种类型的图像对该深度卷积神经网络图像分类模型进行训练,计算出输入层与相邻卷积层之间的前端连接权重实际值、相邻两卷积层之间的中间连接权重实际值、输入层与相邻卷积层之间的后端连接权重实际值,得到训练后的深度卷积神经网络图像分类模型;

图像分类模块,用于将接收的待识别图像输入到训练后的深度卷积神经网络图像分类模型中,训练后的深度卷积神经网络图像分类模型将待识别图像解析成像素点位矩阵,并通过输入层将像素点位矩阵传输至卷积层,在传输过程中像素点位矩阵与输入层与相邻卷积层之间的前端连接权重实际值进行卷积计算,得到前端特征像素点位矩阵;通过该相邻卷积层将前端特征像素点位矩阵传输至下一个卷积层,在传输过程中前端特征像素点位矩阵与相邻两卷积层之间的中间连接权重实际值进行卷积计算,得到中间特征像素点位矩阵;通过与输出层相邻的卷积层将前端特征像素点位矩阵传输至输出层,在传输过程中中间特征像素点位矩阵与输出层与相邻卷积层之间的后端连接权重实际值进行卷积计算,得到待识别图像类属矩阵。

进一步地,在卷积神经网络图像分类模型训练模块中,采用带动量项的批梯度下降算法训练输入层与相邻卷积层之间的前端连接权重初始值、相邻两卷积层之间的中间连接权重初始值、输入层与相邻卷积层之间的后端连接权重初始值,其中,批尺寸为128,初始学习率为0.1,学习率衰减率为0.01,动量系数为0.9,学习率衰减间隔为所有样本数据计算125次,权重衰减项常数为[0,0.001],最大迭代步数为1000,最大迭代次数为50000次。

对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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