一种基于深度学习的快速图像分类方法技术

技术编号:16457237 阅读:214 留言:0更新日期:2017-10-25 21:21
一种基于深度学习的快速图像分类方法,所述方法包括以下步骤:步骤一、网络构建;步骤二、数据集预处理;步骤三、网络训练;步骤四、图像分类,过程如下:步骤4.1:将预处理好的测试数据集送入训练好的网络模型,提取测试图像的多尺度特征;步骤4.2:将提取的多尺度特征送入Softmax分类器,输出测试图像属于某一类别的概率;步骤4.3:将图像属于某一类别的概率和图像对应的标签输入Accuracy网络层,输出图像被正确分类的概率;经过上述步骤的操作,即可实现对测试图像的快速分类。本发明专利技术提供一种训练时间短、训练简便、分类精度高的基于深度学习的快速图像分类方法。

A fast image classification method based on deep learning

A fast image classification method based on deep learning, the method comprises the following steps: step one, to construct the network; step two, data preprocessing; step three, network training; step four, image classification, the process is as follows: step 4.1: the processed test data set into the trained network. The multi-scale feature extraction test image; step 4.2: the multi-scale feature extraction into Softmax classifier output test image belongs to a category of probability; step 4.3: the image belongs to probability and image corresponding to a category label input to the Accuracy network layer, the output image is the probability of correct classification; steps to achieve rapid classification of the test image can be. The invention provides a fast image classification method based on depth learning with short training time, simple training and high classification accuracy.

【技术实现步骤摘要】
一种基于深度学习的快速图像分类方法
本专利技术涉及计算机视觉领域的多媒体大数据处理与分析,,特别涉及一种基于深度学习的快速图像分类方法,属于图像分类领域。
技术介绍
卷积神经网络作为深度学习的代表方法,能够自动学习图像特征提取,并通过权值共享减少训练参数,在大部分的计算机视觉任务中都有很好的效果。但是,目前用于计算机视觉任务的卷积神经网络都是趋向于通过增加网络深度来获得更精确的图像特征信息,这不仅增加网络参数,也需要更长的训练时间。近些年来随着网络上可获得的信息量不断增多,在大数据集上进行图像分类不仅在时间开销上还是计算开销上都不乐观。传统的卷积神经网络在应对大数据量的图像分类问题上,存在训练时间长、训练困难、分类精度低的问题。
技术实现思路
为了解决现有图像分类技术存在的训练时间长、训练困难、分类精度低的问题,本专利技术提供一种训练时间短、训练简便、分类精度高的基于深度学习的快速图像分类方法。本专利技术解决其技术问题所采用的技术方案是:一种基于深度学习的快速图像分类方法,所述方法包括以下步骤:步骤一、网络构建,过程如下:步骤1.1:该网络框架由一个输入层、五个卷积层、三个池化层、三个全连接层、一个隐层和一个Softmax层组成;步骤1.2:第一个卷积层后接Relu激活函数,并在激活函数后接批规范化处理和数据归一化,归一化后接第一个池化层用最大值池化;步骤1.3:池化后接第二个卷积层,第二个卷积层后接Relu激活函数,并在激活函数后接批规范化处理和数据归一化,归一化后接第二个池化层,第二个池化层用最大值池化;步骤1.4:第二个池化层后接第三个卷积层,第三个卷积层后接Relu激活函数,第四个卷积层和第三个卷积层参数设置相同;步骤1.5:第五个卷积层后接Relu激活函数,以及批规范化处理,批规范化后接最大值池化;步骤1.6:池化后接全连接层FC-6,并在全连接层后接Maxout激活函数和Dropout函数。,全连接层FC-7设置和FC-6相同;步骤1.7:在全连接层的FC-7和FC-8层之间增加一个隐层H,隐层神经元个数为128,隐层H后接一个Sigmoid激活函数,把输出控制为{0,1};步骤1.8:FC-8层输出节点数根据具体分类类别设定;步骤二、数据集预处理,过程如下:步骤2.1:准备训练数据集和测试数据集,并做好对应图像的标签;步骤2.2:将数据集图像统一缩放到固定像素大小;步骤2.3:利用Python代码将图像和对应的标签转换成卷积神经网络能识别的数据类型:LEVELDB格式的输入文件;步骤三、网络训练,过程如下:步骤3.1:计算训练数据集的均值文件;步骤3.2:将训练样本预处理后的图像输入卷积神经网络,并在全连接层设定随机参数;步骤3.3:采用预训练网络模型的方式,用在ImageNet数据集上预训练好的网络权值来初始化网络,并对隐层和输出层的权值重新命名网络层,并采用随机初始化的方式;步骤3.4:向初始化后的网络模型中输入训练样本和标签,通过前向传播和反向传播两个步骤反复训练直到达到最大的迭代次数,使损失函数值最小;步骤四、图像分类,过程如下:步骤4.1:将预处理好的测试数据集送入训练好的网络模型,提取测试图像的多尺度特征;步骤4.2:将提取的多尺度特征送入Softmax分类器,输出测试图像属于某一类别的概率;步骤4.3:将图像属于某一类别的概率和图像对应的标签输入Accuracy网络层,输出图像被正确分类的概率;经过上述步骤的操作,即可实现对测试图像的快速分类。本专利技术的效果和益处是:本专利技术提出了一种基于深度学习的快速图像分类方法。通过隐层的二值哈希编码和全连接层的Maxout激活,能在获得高效特征表达的同时表达更紧凑的二值特征向量;卷积层的批规范化处理可加快网络收敛速度,降低网络训练难度,使得本专利技术提出的图像分类方法能在保证分类精度的同时加快分类速度。附图说明图1是一种基于深度学习的图像分类方法流程图。图2是本专利技术用到的深度卷积神经网络框架示意图。具体实施方式为了更好的说明本专利技术的技术方案,下面结合附图,通过一个实施例,对本专利技术做进一步说明。参照图1和图2,一种基于深度学习的快速图像分类方法,所述方法包括深度卷积神经网络的构建、数据集预处理、网络训练和图像分类测试四个过程。本实施案例中的图片分为100类,每类图片有600张。在每类图片中随机挑选500张图片用于训练,剩余100张图片用于测试。图像分类流程如图1所示,其结构框架如图2所示,操作步骤包括网络构建,训练过程和测试过程。所述快速图像分类方法包括以下步骤:步骤一、网络构建,过程如下:步骤1.1:该网络框架由一个输入层、五个卷积层、三个池化层、三个全连接层、一个隐层和一个Softmax层组成;步骤1.2:第一个卷积层滤波器个数为96,卷积核大小为11*11,步长为4,无边缘填充,第一个卷积层后接Relu激活函数,并在激活函数后接批规范化处理特征数据、数据归一化、池化。第一个池化层用最大值池化。池化核大小为3,步长为2,边缘填充为1;步骤1.3:第二个卷积层滤波器个数为256,卷积核大小为5*5,步长为1,边缘填充为2,第二个卷积层后接Relu激活函数,并在激活函数后用批规范化处理特征数据、数据归一化、池化。第二个池化层用最大值池化,池化核大小为3,步长为2,边缘填充为1;步骤1.4:第三个卷积层滤波器个数为384,卷积核大小为3*3,步长为1,边缘填充为1,第四个卷积层和第三个卷积层参数设置相同;步骤1.5:第五个卷积层后接Relu激活函数,以及批规范化处理、池化,采用最大值池化,池化核大小为3,步长为2,边缘填充为1;步骤1.6:池化之后接全连接层FC-6,数据输出维度为2048维,并在全连接层后接Maxout激活函数和Dropout函数,Dropout的概率为0.3,全连接层FC-7参数设计与FC-6相同;步骤1.7:在全连接层的FC-7和FC-8层之间增加一个新的隐层H,隐层神经元个数为128,隐层的其他设计和其他全连接层一样,隐层H后接一个Sigmoid激活函数,把输出控制为{0,1};步骤1.8:FC-8层输出节点数设定为100;步骤二、数据集预处理,过程如下:步骤2.1:准备训练数据集和测试数据集,并做好对应图像的标签;步骤2.2:将数据集图像统一缩放到256*256像素大小;步骤2.3:利用Python代码将图像和对应的标签转换成卷积神经网络能识别的数据类型:LEVELDB格式的输入文件;步骤三、网络训练,过程如下:步骤3.1:对256*256的输入图像随机裁剪到227*227大小,并将裁剪后的图像和裁剪旋转180度后的图像一起输入网络输入层;步骤3.2:计算训练数据集的均值文件,保存为.binaryproto格式的文件。并在网络的输入层指定均值文件的位置;步骤3.3:采用预训练网络模型的方式,用在ImageNet数据集上预训练好的网络权值来初始化网络,并对隐层和输出层的权值采用随机初始化的方式;步骤3.4:设定批处理数据大小为64,初始学习率0.01,最大迭代次数50000次,迭代25000次的时候学习率乘以0.1,并采用随机梯度下降法训练数据,设定迭代25000次保存一次网络模型;步骤3.5:向初始化后的网络中输入训练样本本文档来自技高网...
一种基于深度学习的快速图像分类方法

【技术保护点】
一种基于深度学习的快速图像分类方法,其特征在于:所述方法包括以下步骤:步骤一、网络构建,过程如下:步骤1.1:该网络框架由一个输入层、五个卷积层、三个池化层、三个全连接层、一个隐层和一个Softmax层组成;步骤1.2:第一个卷积层后接Relu激活函数,并在激活函数后接批规范化处理和数据归一化,归一化后接第一个池化层用最大值池化;步骤1.3:池化后接第二个卷积层,第二个卷积层后接Relu激活函数,并在激活函数后接批规范化处理和数据归一化,归一化后接第二个池化层,第二个池化层用最大值池化;步骤1.4:第二个池化层后接第三个卷积层,第三个卷积层后接Relu激活函数,第四个卷积层和第三个卷积层参数设置相同;步骤1.5:第五个卷积层后接Relu激活函数,以及批规范化处理,批规范化后接最大值池化;步骤1.6:池化后接全连接层FC‑6,并在全连接层后接Maxout激活函数和Dropout函数。,全连接层FC‑7设置和FC‑6相同;步骤1.7:在全连接层的FC‑7和FC‑8层之间增加一个隐层H,隐层神经元个数为128,隐层H后接一个Sigmoid激活函数,把输出控制为{0,1};步骤1.8:FC‑8层输出节点数根据具体分类类别设定;步骤二、数据集预处理,过程如下:步骤2.1:准备训练数据集和测试数据集,并做好对应图像的标签;步骤2.2:将数据集图像统一缩放到固定像素大小;步骤2.3:利用Python代码将图像和对应的标签转换成卷积神经网络能识别的数据类型:LEVELDB格式的输入文件;步骤三、网络训练,过程如下:步骤3.1:计算训练数据集的均值文件;步骤3.2:将训练样本预处理后的图像输入卷积神经网络,并在全连接层设定随机参数;步骤3.3:采用预训练网络模型的方式,用在ImageNet数据集上预训练好的网络权值来初始化网络,并对隐层和输出层的权值重新命名网络层,并采用随机初始化的方式;步骤3.4:向初始化后的网络模型中输入训练样本和标签,通过前向传播和反向传播两个步骤反复训练直到达到最大的迭代次数,使损失函数值最小。步骤四、图像分类,过程如下:步骤4.1:将预处理好的测试数据集送入训练好的网络模型,提取测试图像的多尺度特征;步骤4.2:将提取的多尺度特征送入Softmax分类器,输出测试图像属于某一类别的概率;步骤4.3:将图像属于某一类别的概率和图像对应的标签输入Accuracy网络层,输出图像被正确分类的概率;经过上述步骤的操作,即可实现对测试图像的快速分类。...

【技术特征摘要】
1.一种基于深度学习的快速图像分类方法,其特征在于:所述方法包括以下步骤:步骤一、网络构建,过程如下:步骤1.1:该网络框架由一个输入层、五个卷积层、三个池化层、三个全连接层、一个隐层和一个Softmax层组成;步骤1.2:第一个卷积层后接Relu激活函数,并在激活函数后接批规范化处理和数据归一化,归一化后接第一个池化层用最大值池化;步骤1.3:池化后接第二个卷积层,第二个卷积层后接Relu激活函数,并在激活函数后接批规范化处理和数据归一化,归一化后接第二个池化层,第二个池化层用最大值池化;步骤1.4:第二个池化层后接第三个卷积层,第三个卷积层后接Relu激活函数,第四个卷积层和第三个卷积层参数设置相同;步骤1.5:第五个卷积层后接Relu激活函数,以及批规范化处理,批规范化后接最大值池化;步骤1.6:池化后接全连接层FC-6,并在全连接层后接Maxout激活函数和Dropout函数。,全连接层FC-7设置和FC-6相同;步骤1.7:在全连接层的FC-7和FC-8层之间增加一个隐层H,隐层神经元个数为128,隐层H后接一个Sigmoid激活函数,把输出控制为{0,1};步骤1.8:FC-8层输出节点数根据具体分类类别设定;步骤二...

【专利技术属性】
技术研发人员:白琮黄玲陈佳楠郝鹏翼潘翔陈胜勇
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1