一种基于卷积神经网络的图片分类方法与流程

文档序号:12471245阅读:386来源:国知局

本发明涉及一种基于卷积神经网络的图片分类方法,属于图像分类技术领域。



背景技术:

近年来,随着数以百万带标签训练集的出现以及基于GPU训练算法的出现,使训练复杂卷积网络模型不再奢望,卷积神经网络逐渐发展,并引起广泛重视的一种高效识别方法。大量基于卷积神经网络的模型在手写体识别,ImageNet库的分类测试中取得不俗的成绩,许多论文都利用卷积神经网络,在视觉分类任务中取得不错成绩。

卷积神经网络的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。

由于卷积神经网络参数庞大,在人脸识别领域,网络参数数量达几兆到几百兆不等,导致神经网络训练时间长,消耗大量内存空间,对训练样本数量也有比较高的要求,同时易出现过拟合或者收敛至局部最小区域。另外,网络模型的训练分析过程中得到的特征,不易观察,难以分析以调整网络。最后,神经网络的训练方法为梯度下降算法,该方法不但易受初始值的影响,而且无法反映神经元的不变性能力。



技术实现要素:

本发明所要解决的技术问题是提供一种针对卷积神经网络架构进行改进,能够有效提高图像分类准确性和效率的基于卷积神经网络的图片分类方法。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于卷积神经网络的图片分类方法,卷积神经网络由输入开始依次包括至少一个隐含层、一个全连层、一个分类输出层,各个隐含层依次相连,且各个隐含层中分别还包括位于归一化层之后的特征过滤层;所述图像分类方法包括如下步骤:

步骤001.构建训练样本图片组,针对训练样本图片组中各张训练样本图片进行预处理,接着由经过预处理的各张训练样本图片针对卷积神经网络各个工作参数进行训练,获得训练后的工作卷积神经网络,然后初始化n=1,并进入步骤002;其中,n={1,…,N},N为隐含层的个数;

步骤002.针对至少两张待分类图片进行预处理,接着将经过预处理的各张待分类图片输入工作卷积神经网络中,并进入步骤003;

步骤003.各张待分类图片分别输入第n个隐含层,并依次经过卷积层、矫正层、降采样层、归一化层,获得各张待分类图片分别对应卷积层中M个滤波器的M张归一化特征图像,即获得K×M张归一化特征图像,然后将K×M张归一化特征图像输入至第n个隐含层中的特征过滤层,依次执行如下步骤00401至步骤00405,然后进入步骤005;其中,M表示卷积层中预设滤波器的个数,且各个滤波器的大小预设;K表示待分类图像的张数;

步骤00401.根据指定像素的属性值,获得第n个隐含层所接收所有归一化特征图像的归一化特征均值图像,并进入步骤00402;

步骤00402.分别针对各张归一化特征图像,计算其相对归一化特征均值图像的L2范数,获得各张归一化特征图像所对应的L2范数,并针对各张归一化特征图像,按对应的L2范数,由大至小进行排序,然后进入步骤00403;

步骤00403.将由最大L2范数所对应归一化特征图像为起始、依序预设第一百分比张数的归一化特征图像构成待过滤归一化特征图像集合,并将第n个隐含层所接收所有归一化特征图像中剩余各张归一化特征图像构成第一归一化特征图像集合,然后进入步骤00404;其中,第一百分比大于0,且小于100%;

步骤00404.针对待过滤归一化特征图像集合,随机删除其中预设第二百分比张数的归一化特征图像,并将待过滤归一化特征图像集合中剩余各张归一化特征图像构成第二归一化特征图像集合,然后进入步骤00405;其中,第二百分比大于0,且小于100%;

步骤00405.将第一归一化特征图像集合中的各张归一化特征图像,与第二归一化特征图像集合中的各张归一化特征图像,合并或更新为初级归一化特征图像集合;

步骤005.判断n是否等于N,是则进入步骤007;否则将n的值加1,并将结果赋予n,然后进入步骤006;

步骤006.将初级归一化特征图像集合中的各张归一化特征图像输入至第n个隐含层中的特征过滤层,依次执行如下步骤00401至步骤00405,然后进入步骤005;

步骤007.将初级归一化特征图像集合中的各张归一化特征图像输入至卷积神经网络中的全连层,并经过分类输出层实现针对各张待分类图片的分类。

作为本发明的一种优选技术方案,所述步骤001包括如下步骤:

步骤00101.构建训练样本图片组,统一训练样本图片组中各张训练样本图片的分辨率,然后进入步骤00102;

步骤00102.根据指定像素的属性值,获得训练样本图片组所有训练样本图片的训练样本均值图片,然后进入步骤00103;

步骤00103.将训练样本图片组中各张训练样本图片分别减去训练样本均值图片,获得训练样本图片组中各张训练样本图片分别所对应的训练样本差值图片,然后进入步骤00104;

步骤00104.分别针对各张训练样本差值图片,针对训练样本差值图片上各个像素值进行缩放,使不同位置像素值的方差均等于1,然后进入步骤00105;

步骤00105.针对各张训练样本差值图片制定输入顺序,使得相邻训练样本差值图片不属于预设分类标准中的同一类,然后将各张训练样本差值图片按输入顺序,依次输入至卷积神经网络当中,针对卷积神经网络各个工作参数进行训练,获得训练后的工作卷积神经网络。

作为本发明的一种优选技术方案,所述步骤00102中,若训练样本图片组中的训练样本图片为灰度图,则根据像素灰度值,获得训练样本图片组所有训练样本图片的训练样本均值图片;若训练样本图片组中的训练样本图片为彩色图,则根据像素RGB值,获得训练样本图片组所有训练样本图片的训练样本均值图片。

作为本发明的一种优选技术方案,所述步骤002中,针对至少两张待分类图片,统一各张待分类图片的分辨率,实现针对各张待分类图片预处理。

作为本发明的一种优选技术方案,所述步骤003中,各张待分类图片分别输入第n个隐含层,并依次经过卷积层、矫正层、降采样层、归一化层,获得各张待分类图片分别对应卷积层中M个滤波器的M张归一化特征图像,即获得K×M张归一化特征图像,包括如下步骤:

步骤00301.将各张待分类图片分别输入第n个隐含层的卷积层,分别针对各张待分类图片,将待分类图片分别与卷积层中各个滤波器进行卷积操作,获得该待分类图片分别对应卷积层中M个滤波器的M张特征图像,进而获得各张待分类图片分别对应卷积层中M个滤波器的M张特征图像,即获得K×M张特征图像,然后进入步骤00302;

步骤00302.将K×M张特征图像分别输入第n个隐含层的矫正层,分别针对各张特征图像,将小于0的像素值置为0,更新K×M张特征图像,然后进入步骤00303;

步骤00303.将K×M张特征图像分别输入第n个隐含层的降采样层,分别针对各张特征图像进行降维处理,更新K×M张特征图像,然后进入步骤00304;

步骤00304.将K×M张特征图像分别输入第n个隐含层的归一化层,分别针对各张特征图像进行归一化处理,获得K×M张归一化特征图像。

本发明所述基于卷积神经网络的图片分类方法采用以上技术方案与现有技术相比,具有以下技术效果:本发明所设计基于卷积神经网络的图片分类方法,针对卷积神经网络架构进行改进,在隐含层中新增特征过滤层,通过对卷积网络提取的大量特征进行过滤,去除部分带有较多噪声的特征,提高卷积网络训练效率,减少训练时间,降低内存使用需求,并且集合多种训练技巧,使卷积神经网络训练收敛到更好的解,避免训练参数陷入局部最小区域,通过减少网络参数数量,降低神经网络过拟合的可能,进而能够有效提高图像分类准确性和效率。

附图说明

图1是本发明设计的一种基于卷积神经网络的图片分类方法的流程图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

如图1所示,本发明所设计的一种基于卷积神经网络的图片分类方法,在实际应用过程当中,卷积神经网络由输入开始依次包括至少一个隐含层、一个全连层、一个分类输出层,各个隐含层依次相连,且各个隐含层中分别还包括位于归一化层之后的特征过滤层;应用中,所述图像分类方法包括如下步骤:

步骤001.构建训练样本图片组,针对训练样本图片组中各张训练样本图片进行预处理,接着由经过预处理的各张训练样本图片针对卷积神经网络各个工作参数进行训练,获得训练后的工作卷积神经网络,然后初始化n=1,并进入步骤002;其中,n={1,…,N},N为隐含层的个数。

其中,上述步骤001具体包括如下步骤:

步骤00101.构建训练样本图片组,统一训练样本图片组中各张训练样本图片的分辨率,然后进入步骤00102。

步骤00102.根据指定像素的属性值,获得训练样本图片组所有训练样本图片的训练样本均值图片,其中,若训练样本图片组中的训练样本图片为灰度图,则根据像素灰度值,获得训练样本图片组所有训练样本图片的训练样本均值图片;若训练样本图片组中的训练样本图片为彩色图,则根据像素RGB值,获得训练样本图片组所有训练样本图片的训练样本均值图片,然后进入步骤00103。

步骤00103.将训练样本图片组中各张训练样本图片分别减去训练样本均值图片,获得训练样本图片组中各张训练样本图片分别所对应的训练样本差值图片,然后进入步骤00104。

步骤00104.分别针对各张训练样本差值图片,针对训练样本差值图片上各个像素值进行缩放,使不同位置像素值的方差均等于1,然后进入步骤00105。

步骤00105.针对各张训练样本差值图片制定输入顺序,使得相邻训练样本差值图片不属于预设分类标准中的同一类,然后将各张训练样本差值图片按输入顺序,依次输入至卷积神经网络当中,针对卷积神经网络各个工作参数进行训练,获得训练后的工作卷积神经网络。

上述步骤00105中,所述预设分类标准可以是基于像素灰度值大小,按预设各区间进行划分;也可以是基于像素亮度值大小,按预设各区间进行划分。

步骤002.针对至少两张待分类图片,统一各张待分类图片的分辨率,实现针对各张待分类图片预处理,接着将经过预处理的各张待分类图片输入工作卷积神经网络中,并进入步骤003。

步骤003.各张待分类图片分别输入第n个隐含层,并依次经过卷积层、矫正层、降采样层、归一化层,获得各张待分类图片分别对应卷积层中M个滤波器的M张归一化特征图像,即获得K×M张归一化特征图像,这里具体按如下步骤00301-00304进行操作,实际应用中,卷积层中的滤波器数量为3,各个预设大小的滤波器分别为1*1、3*3、5*5。

步骤00301.将各张待分类图片分别输入第n个隐含层的卷积层,分别针对各张待分类图片,将待分类图片分别与卷积层中各个滤波器进行卷积操作,获得该待分类图片分别对应卷积层中M个滤波器的M张特征图像,进而获得各张待分类图片分别对应卷积层中M个滤波器的M张特征图像,即获得K×M张特征图像,然后进入步骤00302.

步骤00302.将K×M张特征图像分别输入第n个隐含层的矫正层,分别针对各张特征图像,将小于0的像素值置为0,更新K×M张特征图像,然后进入步骤00303。

步骤00303.将K×M张特征图像分别输入第n个隐含层的降采样层,分别针对各张特征图像进行降维处理,更新K×M张特征图像,然后进入步骤00304。

步骤00304.将K×M张特征图像分别输入第n个隐含层的归一化层,分别针对各张特征图像进行归一化处理,获得K×M张归一化特征图像。

然后将K×M张归一化特征图像输入至第n个隐含层中的特征过滤层,依次执行如下步骤00401至步骤00405,然后进入步骤005;其中,M表示卷积层中预设滤波器的个数,且各个滤波器的大小预设;K表示待分类图像的张数。

步骤00401.根据指定像素的属性值,获得第n个隐含层所接收所有归一化特征图像的归一化特征均值图像,并进入步骤00402。

步骤00402.分别针对各张归一化特征图像,计算其相对归一化特征均值图像的L2范数,获得各张归一化特征图像所对应的L2范数,并针对各张归一化特征图像,按对应的L2范数,由大至小进行排序,然后进入步骤00403。

步骤00403.将由最大L2范数所对应归一化特征图像为起始、依序预设第一百分比张数的归一化特征图像构成待过滤归一化特征图像集合,并将第n个隐含层所接收所有归一化特征图像中剩余各张归一化特征图像构成第一归一化特征图像集合,然后进入步骤00404;其中,第一百分比大于0,且小于100%。

步骤00404.针对待过滤归一化特征图像集合,随机删除其中预设第二百分比张数的归一化特征图像,并将待过滤归一化特征图像集合中剩余各张归一化特征图像构成第二归一化特征图像集合,然后进入步骤00405;其中,第二百分比大于0,且小于100%。

步骤00405.将第一归一化特征图像集合中的各张归一化特征图像,与第二归一化特征图像集合中的各张归一化特征图像,合并或更新为初级归一化特征图像集合。

步骤005.判断n是否等于N,是则进入步骤007;否则将n的值加1,并将结果赋予n,然后进入步骤006。

步骤006.将初级归一化特征图像集合中的各张归一化特征图像输入至第n个隐含层中的特征过滤层,依次执行如下步骤00401至步骤00405,然后进入步骤005。

步骤007.将初级归一化特征图像集合中的各张归一化特征图像输入至卷积神经网络中的全连层,并经过分类输出层实现针对各张待分类图片的分类。

上述技术方案所设计基于卷积神经网络的图片分类方法,针对卷积神经网络架构进行改进,在隐含层中新增特征过滤层,通过对卷积网络提取的大量特征进行过滤,去除部分带有较多噪声的特征,提高卷积网络训练效率,减少训练时间,降低内存使用需求,并且集合多种训练技巧,使卷积神经网络训练收敛到更好的解,避免训练参数陷入局部最小区域,通过减少网络参数数量,降低神经网络过拟合的可能,进而能够有效提高图像分类准确性和效率。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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