本发明属于数字图像处理及深度学习领域,涉及计算机视觉领域。具体为一种基于优化特征权重的有效精细图像分类方法。
背景技术:
利用现有的深度卷积神经网络对图像进行分类是目前使用较多的方法,由于深度卷积神经网络的输入图像数据大小决定了网络的计算量,需要传统网络不断抛弃特征信息,这样导致后期分析时信息不足。有研究提出一种可充分保留图像特征的特征提取模型,用于对任意分辨率的输入图像进行无损的特征提取操作。如文献1(cn1106596553a“一种可充分保留图像特征的特征提取模型及特征提取方法”)
针对精细图像,其图像整体上相似,一般可通过一些部分特征来对图像进行分类,但是对于深度卷积神经网络,其学习模式为自主学习,无法明确哪些特征影响分类结果,需要通过不断的学习过程才能找出影响分类的特征。有研究提出一种改进型的centerloss的精细图像分类方法,在centerloss的基础上,在损失函数中增加了计算最近其他类中心距离的约束项,此约束项可以增大类别间距离的优点。如文献2(罗材.基于深度学习的精细图像分类算法研究[d].)
目前用来提高图像分类算法的准确度方法一般从以下几个方面考虑:数据集预处理,模型调整,损失函数优化等。大多数的图像分类任务中,图像内部特征差异明显,一般通过常用的卷积神经网络如alexnet、vgg16、resnet进行分类能够达到较高的准确率,但是通常只使用一般的卷积神经网络模型来进行精细图像分类任务能够获得的准确率较低。
技术实现要素:
本发明的目的在于提供一种基于优化特征权重的有效精细图像分类方法,对精细图像的分类准确性高。
实现本发明的技术解决方案为:
一种基于优化特征权重的有效精细图像分类方法,包括以下步骤:
(10)图像数据集预处理:将精细图像进行统一裁剪和精细裁剪,取预处理好的70%作为训练数据集,剩余的作为测试数据集,得到最终预处理图像数据集;
(20)初始化特征权重向量:采用标准正态分布进行特征权重初始化;
(30)网络模型搭建与训练:搭建卷积神经网络模型,训练特征权重向量,优化特征权重向量,将测试图像数据集输入到训练好的模型和特征权重中,测试数据集检验模型效果,输出分类结果。
本发明与现有技术相比,其显著优点为:
能够提高精细图像分类的准确率:主要原因在于:
(1)充分考虑精细图像与普通图像的差异,精细图像在整体上相似,在部分特征上不同。将精细图像切分,通过研究图像的部分区域来更加准确对图像分类
(2)在卷积神经网络模型后加入简单一层人工神经网络,增加的特征权重表示每个划分后的图像区域对整体的图像分类任务所起到的决定性作用有所不同,具有较明显的特征决定性作用大,反之则小。
附图说明
图1为本发明基于优化特征权重的有效精细图像分类方法的主流程图。
图2为图1中网络模型搭建与训练步骤的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
如图1所示,本发明基于优化特征权重的有效精细图像分类方法,包括以下步骤:
(10)图像数据集预处理:将精细图像进行统一裁剪和精细裁剪,取预处理好的70%作为训练数据集,剩余的作为测试数据集,得到最终预处理图像数据集;
优选地,所述(10)图像数据集预处理步骤包括:
(11)图像统一裁剪:将图像数据集统一裁剪为长宽一致的图像m*m,m为图像边长;
(12)图像精细裁剪:对统一裁剪后的图像进行精细裁剪,将每张图像采用步长为stride,裁剪框大小为n*n,从左至右,从上至下进行裁剪,裁剪得到n*n份图像数据,每份的图像数据集为xij,其中n为图像数据集预处理后的xij数量,,xij表示截取每个类别图像左上角坐标为(i,j),大小为n*n的图像数据。其中n为裁剪框边长,n=(m-n)/stride+1,0<i<m,0<j<m,0<n<m。
(20)初始化特征权重向量:采用标准正态分布进行特征权重初始化;
所述(20)初始化特征权重向量步骤具体为:
初始化特征权重向量w,w为二维向量,初始化方式为标准正态分布,其中特征权重向量的值满足
权重向量
(30)网络模型搭建与训练:搭建卷积神经网络模型,训练特征权重向量,优化特征权重向量,将测试图像数据集输入到训练好的模型和特征权重中,测试数据集检验模型效果,输出分类结果。
所述(30)网络模型搭建与训练步骤中,其中网络模型步骤中搭建的卷积神经网络模型为vgg16,对于输入的图像数据n*n,所建立的vgg16模型为:
block1:2个卷积层,每个卷积核大小为3*3,通道数为64,其次为池化层,采用maxpool,池化层大小为2*2;
block2:2个卷积层,每个卷积核大小为3*3,通道数为128,其次为池化层,采用maxpool,池化层大小为2*2;
block3:3个卷积层,每个卷积核大小为3*3,通道数为256,其次为池化层,采用maxpool,池化层大小为2*2;
block4:3个卷积层,每个卷积核大小为3*3,通道数为512,其次为池化层,采用maxpool,池化层大小为2*2;
block5:3个卷积层,每个卷积核大小为3*3,通道数为512,其次为池化层,采用maxpool,池化层大小为2*2;
block6:3个全连接层,第一层权重个数为4096,第二层权重个数为4096,第3层权重个数为1000,最后通过softmax,输出分类结果s*1;
其中s为图像分类任务的类别数。
优选地,如图2所示,所述(30)网络模型搭建与训练步骤包括:
(31)网络模型搭建:搭建vgg16卷积神经网络模型;
(32)训练特征权重向量:对卷积神经网络的输出结果作为输入来训练特征权重向量;
将预处理好的n*n份训练数据集分别输入到vgg16网络模型中,设定迭代次数t,筛选率θ,在网络训练到t次后输出卷积神经网络的分类结果s*1,将分类结果排序,筛选出θ*n2个准确率低的图像分类结果与其赢对应图像,将r个分类结果拼接成二维向量a,a的结构为s*r,其中r=(1-θ)*n2。
(33)优化特征权重向量:根据反向传播算法缩小损失函数值来优化特征权重向量;
将初始化的特征向量w与向量a进行相乘并与偏置量b相加,即y=a*w+b,其中特征权重w结构为r*1,偏置b=[μ1…μk…μs],随机初始化为(0,0.5)之间的数,其中1<k<s,y向量的结构为s*1;
将输出结果y与实际标签值c通过softmax交叉熵损失函数
(34)测试数据集检验模型效果:将测试数据集输入到训练好的vgg16网络模型和特征权重向量中,得出模型分类结果。
将测试数据集输入到训练好的vgg16卷积神经网络模型,将输出的结果再次输入到更新后的特征权重和偏置进行运算,最后得出分类结果。
本发明处理的精细图像数据为一种难于分类的图像数据,在数据集中的图像数据整体相似,且分类的特征是较难发现与识别的,由于考虑到图像分类任务中主要是寻找一些隐含在图像信息中的特征,而精细图像整体上相似。所以采用将图像数据进行裁剪,通过尝试对每个图像的局部信息进行分类,由于精细图像在部分图像区域差异性较大,在某区域差异性较小,本发明采用的图像分类方法能够扩大类别间的差异,从而有效进行图像分类。