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层输出节点数根据具体分类类别设定;
步骤二、数据集预处理,过程如下:
步骤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网络层,输出图像被正确分类的概率;
经过上述步骤的操作,即可实现对测试图像的快速分类。