一种基于深度学习的图像分类方法与流程

文档序号:16000944发布日期:2018-11-20 19:26阅读:1084来源:国知局

本发明属于计算机视觉领域,涉及一种基于深度学习的图像分类方法。



背景技术:

从1965年开始,人们开始研究图像处理和识别。随着科技进步,深度学习成为了图像分类的主流方法。AlexNet模型就是一种基于深度学习的图像分类模型。

AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky 设计的,它主要包括5个卷积层,3个全连接层。

AlexNet在输入时对224*224*3的图像进行预处理,将其处理为 227*227*3的图像。

第一个卷积层中,AlexNet采用96个11*11*3的卷积核,在步长为4的前提下对227*227*3的图像进行了滤波。最初的输入神经元个数为224*224*3=150528个,由于其步长为4,卷积核大小为11*11*3,故而本层的特征图的大小为:

(227-11)/4+1=55

也就是96个55*55大小的特征图,其神经元个数为55*55*96=290400。得到卷积数据后,对其进行一次Relu,并对其进行池化(map大小减半),之后将其作为第二层的输入。

第二个卷积层中,AlexNet采用256个5*5的过滤器对96*27*27 个特征图进行进一步特征提取,但是此时过滤器是对96个特征图中的某几个特征图中相应的区域乘以相应的权重,之后再加上偏置之后所得到的区域进行卷积,经过这样的处理,会得到256个新的特征图,特征图的大小为:

(27+2*2-5)/1+1=27

也就是256个27*27大小的特征图,其神经元个数为

256*27*27=186624。之后对其进行Relu操作,在对其进行降采样处理(特征图的大小减半),得到256个13*13大小的特征图。

第三个卷积层中,AlexNet采用384个3*3大小的过滤器对 256*13*13个特征图进一步提取特征,经过处理,会得到384个新的特征图,特征图的大小为:

(13+2*1-3)/1+1=13

即384个13*13的新特征图,其神经元个数为384*13*13=64896。之后对其进行Relu操作,在第三个卷积层中,不对其使用降采样处理。

第四个卷积层中,AlexNet采用384个3*3大小的过滤器对 384*13*13个特征图进一步提取特征,经过处理,会得到384个新的特征图,特征图的大小为:

(13+2*1-3)/1+1=13

即384个13*13的新特征图,其神经元个数为384*13*13=64896。之后对其进行Relu操作,在第四个卷积层中,同样不对其进行降采样处理。

第五个卷积层中,AlexNet采用256个3*3大小的过滤器对 384*13*13个特征图进一步提取特征,经过处理,会得到256个新的特征图,特征图的大小为:

(13+2*1-3)/1+1=13

即256个13*13的新特征图,其神经元个数为256*13*13=43264。之后对其进行Relu操作,并对其进行降采样处理(特征图的大小减半),得到256个6*6大小的特征图。

第一个全链接层中,AlexNet网络在这里使用4096个神经元,对于神经元中的一个点,它是由256个特征图中的某些特征图卷积所得到的特征点乘以相应的权重,再加上一个偏置得到的。之后进行一个dropout随机从4096个节点中丢掉一些节点信息,得到新的4096 个神经元。

第二个全链接层中,方法与第一个全链接层相似。

第三个全链接层中,采用的是1000个神经元(竞赛中是1000个类),在此过程中是对第二个全链接层中的4096个神经元进行全链接,之后通过高斯过滤器,得到1000个float的值,也就是最终的预测可能性。

根据以上原理,可以根据以下步骤对图片进行预测:

1.数据准备:准备好训练集,测试集和验证集。

2.图片预处理:图片大小归一化→生成caffe所支持的数据库→生成均值文件;

3.模型训练;

4.模型测试



技术实现要素:

本发明的目的是针对现有技术的不足,在使用深度学习工具对图像进行分类时,通常是将所有的图片输入进去训练出一个模型,之后用这个模型对图片进行预测。在本发明中,提出将图片分组训练,并在一次训练的基础上对图片进行二次训练,进而提高预测精度。

本发明解决其技术问题采用的技术方案包括如下步骤:

S1、将图片分为n组,将n组图片集分别作为样本输入到AlexNet 模型中进行训练,得到图像分类模型Ⅰ;

S2、将待测图像样本输入到已经完成训练的图像分类模型Ⅰ中进行图像分类;

S3、将不同待测图像对应的结果集归入不同的文档中,将精度较高的图像结果集重新组成图像样本输入到AlexNet模型中进行训练,得到图像分类模型Ⅱ;

S4、将所对应的待测图像样本输入到其对应的图像分类模型Ⅱ中进行图像分类。

所述步骤S1具体包括:

S11、将N类图片每M类分为一组,组成n=ceil(N/M)组图片集;

S12、对每一组图片集分别进行标记(标记从0开始);

S13、对图片进行预处理;

S14、将多组图片集依次输入到AlexNet模型中进行训练,每组会得到对应的判断结果错误率,修改模型中的参数,直至错误率收敛,则代表得到一个较好的图像分类模型Ⅰ。

所述步骤S3具体包括:

S31、经过步骤S2后,每张待测图像样本都会对应5*n个预测结果,将同一张待测图像对应的预测结果归入同一个文档中,则m张待测图像会得到m个文档;

S32、将每一个文档中的结果均按照精度值从大到小排列,取前一半的结果集,并将该结果集(图像类的标签)对应的图像重新组成一个图像集,m张待测图像都会有对应的结果集;

S33、将得到的图像集作为样本集放入AlexNet模型中训练,得到图像分类模型Ⅱ。

所述步骤S4具体包括:

S41、通过步骤S3的训练,每张待测图像都会有其对应的训练模型Ⅱ。

S42、将待测图像放入其对对应的训练模型中进行预测,最终所得的结果便是其对应的二次训练的预测结果。

本发明有益效果如下:

本发明通过建立网络模型,在其一次训练的基础上,提出二次训练的方法,有效提高了分类精度。两次训练对比一次训练,精度平均提高30%。

附图说明

图1为本发明实施例的流程图;

图2是本发明中AlexNet模型运算结构框图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本实施例中有1000类RGB图像,每张图像的大小为68*68。

结合本发明的步骤,具体过程如下:

S11、将1000类图像分为20组,每组50类图像;

S12、对每组的50类图像进行标记,这里我们只拿一组来做主要说明,则第一组的50类图像的标签为:0、1、2……49;

S13、图像大小为68*68,经过预处理将其处理为227*227的图片作为以后要用的训练样本;

S14、将训练样本按照5:1的比例分为训练集和测试集放入 AlexNet模型中进行训练,每次训练完毕之后都会得到loss值,修改网络中的参数,知道最终的loss值收敛(不变),此时便得到了比较好的训练模型了。

S2、将38张待测图像放入20组模型中依次进行分类。

S31、放入模型中分类后,最终会得到20个文档,每个文档都会有38个预测结果;

S32、将待测图像对应的预测结果整理其对应的文档中,则20个文档经过整理后回到38个文档,每个文档中有100个预测标签,38 个文档对应38张待测图像的一次预测结果。拿其中一个文档来说,将该文档中的标签按照对应的精度值由大到小排列,取前50个标签,将这50个标签对应的图片类整合成一个图片集,则最终经过整合会得到38个图片集,每个图片集合都对应着一张待测图像。

S33、将图片集放入AlexNet模型中进行训练,得到38个模型

S41、每张待测图片都会得到一个对应的模型;

S42、38张图片一一对应38个模型,将待测图片放到对应的模型进行预测,最终得到的结果便是最终的分类结果。

以上所述便是本发明的具体实例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。

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