论文部分内容阅读
摘 要:本文基于现代自动识别技术,利用深度学习的开源框架TensorFlow训练识别模型,建立数据集,对花绿、灰玛瑙、白铅矿、辉锑矿、天青石、玛瑙晶洞、菱铁矿、蓝金砂、条纹玛瑙、油页岩、铝土矿以及普通辉石等十二种矿物进行图像识别并对矿物性质进行介绍。训练模型有利于向社会大众推广地质知识以及有利于高校地质相关专业学生学习。模型训练完成后,可以对模型准确率进行验证,在本文中识别的十二种岩石类型中,每次识别后输出识别概率最大的两种岩石类别,其中TOP2的识别准确率为95.6%,达到预期效果。模型训练完成后,便可部署训练好的模型对拍摄所得图片进行识别。
关键词:岩石;自动识别;Inception v3
1模型介绍
Inception v3这种更深的网络结构是基于Inception module子网构建的,该结构使GoogLeNet能够更有效地利用参数,因此,相对于AlexNet少了10倍的参数。针对每个Inception module,其输入被拷贝四份供不同的层使用,即图中三个1*1+1(S)卷积层和一个3*3+1(S)最大池化层。第二层的三个卷积层为1*1+1(S),3*3+1(S),5*5+1(S),能够获取到不同尺度的特征模式。该结构中所有的卷积层都使用ReLU激活函数。
Inception module中,所有层的步长均为1,并且使用了SAME填充,因此,各个层的输出具有相同的尺寸(深度可以不同)。由于各个输出具有相同的尺寸,可以将其沿深度方向叠加,构成深度叠加层(depth concat layer),该层可以通过TensorFlow中的concat函数实现,其中axis=3(axis 3为深度方向)。Inception module中使用了1*1+1(S)的过滤器(卷积核),其作用如下:相比输入,其输出更少的特征图,起到了降维的作用,因此称为瓶颈层。当在3*3和5*5等计算量巨大的卷积层之前使用时,其作用尤其明显。1*1,3*3和1*1,5*5的结构,构成了更有效的卷积层,能够获取更复杂的特征模式。实际上,在对输入图像进行遍历扫描时,这种卷积层组合相当于一个两层神经网络,而不是简单的线性分类。综上,可以将一个Inception module视為一个卷积层,能够输出具有不同尺度的复杂特征模式的特征图。
2数据增强及处理
识别模型的深度学习需要拥有充足数量的训练样本。训练样本越多,训练得到的模型效果就会越好,准确率越高。本研究中对花绿、灰玛瑙、白铅矿、辉锑矿、天青石、玛瑙晶洞、菱铁矿、蓝金砂、条纹玛瑙、油页岩、铝土矿以及普通辉石等十二种矿物进行训练识别。在图像任务中,对输入的图像进行一些简单的平移、缩放、颜色变换,可以获得更充足的训练数据,而不会改变图像的原有标签。
PIL是一个函式库,提供了几个操作图像的标准程序,包括了基础的图像处理函数。PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。PIL还有一些直方图的方法,可以展示图像的一些统计特性。这个功能可以用来实现图像的自动增强对比度,还有全局的统计分析等。通过PIL库对于收集到的12种岩石的原始图片进行拉伸、剪切、翻转等操作以获得更充足的训练数据,扩充原始数据集,使模型训练的效果更好。
3岩石图像识别功能实现
当在自己的数据集上训练一个新的深度学习模型时,一般采取在预训练ImageNet上进行微调的方法,借助微调,可以从预训练模型出发,将神经网络应用到自己的数据集上。在数据集准备完成之后,需要将数据集切分为训练集和验证集,其中训练集用于训练模型,验证集用来验证模型的准确率。在数据保存时将图片分别保存在训练与验证两个目录下,分别表示训练使用的图片和验证使用的数据。TensorFlow Slim是Google公司发布的一个图像分类工具包,它不仅定义了一些方便的接口,还提供了很多ImageNet数据集上常用的网络结构和预训练模型。Slim提供了本文使用的IncepitonV3的模型结构,下载Slim的源代码之后,将模型代码做适当修改以及对数据集进行定义并建立训练文件夹。在模型中对Inceotion V3/Logits,Inceotion V3/AuxLofits两个变量进行微调,因为只有他们作为Inceotion V3结构的fc8部分是需要调整的[1]。模型训练完成之后,可以对模型准确率进行验证。在本文中识别的十二种岩石类型中,每次识别过后输出识别概率最大的两种类别,TOP2的识别准确率为95.6%。模型训练完成后,便可部署训练好的模型对拍摄图片做种类识别。对于Inception V3模型进行迁移学习得到12种岩石识别模型的训练一共进行了2783步,训练过程中的TOP2准确率的变化过程如图3.1所示,准确率稳步上升,最后准确率稳定在95%左右,当TOP2准确率达到95.6%时停止训练。
4结果展示
识别时将拍照取得图片输入对于Inception V3进行迁移学习得到的模型中,模型将识别可能性最高的2种岩石类型进行展示,显示对识别结果的评分,得分越高则为正确结果的可能性越大。如图4.1所示为白铅矿的输入图片与识别结果展示,可见识别结果为白铅矿的评分约为9.6,为天青石的结果仅为1.4,识别结果准确。
参考文献:
[1]何之源.21个项目玩转深度学习[M].北京:电子工业出版社,2018:49-67.
关键词:岩石;自动识别;Inception v3
1模型介绍
Inception v3这种更深的网络结构是基于Inception module子网构建的,该结构使GoogLeNet能够更有效地利用参数,因此,相对于AlexNet少了10倍的参数。针对每个Inception module,其输入被拷贝四份供不同的层使用,即图中三个1*1+1(S)卷积层和一个3*3+1(S)最大池化层。第二层的三个卷积层为1*1+1(S),3*3+1(S),5*5+1(S),能够获取到不同尺度的特征模式。该结构中所有的卷积层都使用ReLU激活函数。
Inception module中,所有层的步长均为1,并且使用了SAME填充,因此,各个层的输出具有相同的尺寸(深度可以不同)。由于各个输出具有相同的尺寸,可以将其沿深度方向叠加,构成深度叠加层(depth concat layer),该层可以通过TensorFlow中的concat函数实现,其中axis=3(axis 3为深度方向)。Inception module中使用了1*1+1(S)的过滤器(卷积核),其作用如下:相比输入,其输出更少的特征图,起到了降维的作用,因此称为瓶颈层。当在3*3和5*5等计算量巨大的卷积层之前使用时,其作用尤其明显。1*1,3*3和1*1,5*5的结构,构成了更有效的卷积层,能够获取更复杂的特征模式。实际上,在对输入图像进行遍历扫描时,这种卷积层组合相当于一个两层神经网络,而不是简单的线性分类。综上,可以将一个Inception module视為一个卷积层,能够输出具有不同尺度的复杂特征模式的特征图。
2数据增强及处理
识别模型的深度学习需要拥有充足数量的训练样本。训练样本越多,训练得到的模型效果就会越好,准确率越高。本研究中对花绿、灰玛瑙、白铅矿、辉锑矿、天青石、玛瑙晶洞、菱铁矿、蓝金砂、条纹玛瑙、油页岩、铝土矿以及普通辉石等十二种矿物进行训练识别。在图像任务中,对输入的图像进行一些简单的平移、缩放、颜色变换,可以获得更充足的训练数据,而不会改变图像的原有标签。
PIL是一个函式库,提供了几个操作图像的标准程序,包括了基础的图像处理函数。PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。PIL还有一些直方图的方法,可以展示图像的一些统计特性。这个功能可以用来实现图像的自动增强对比度,还有全局的统计分析等。通过PIL库对于收集到的12种岩石的原始图片进行拉伸、剪切、翻转等操作以获得更充足的训练数据,扩充原始数据集,使模型训练的效果更好。
3岩石图像识别功能实现
当在自己的数据集上训练一个新的深度学习模型时,一般采取在预训练ImageNet上进行微调的方法,借助微调,可以从预训练模型出发,将神经网络应用到自己的数据集上。在数据集准备完成之后,需要将数据集切分为训练集和验证集,其中训练集用于训练模型,验证集用来验证模型的准确率。在数据保存时将图片分别保存在训练与验证两个目录下,分别表示训练使用的图片和验证使用的数据。TensorFlow Slim是Google公司发布的一个图像分类工具包,它不仅定义了一些方便的接口,还提供了很多ImageNet数据集上常用的网络结构和预训练模型。Slim提供了本文使用的IncepitonV3的模型结构,下载Slim的源代码之后,将模型代码做适当修改以及对数据集进行定义并建立训练文件夹。在模型中对Inceotion V3/Logits,Inceotion V3/AuxLofits两个变量进行微调,因为只有他们作为Inceotion V3结构的fc8部分是需要调整的[1]。模型训练完成之后,可以对模型准确率进行验证。在本文中识别的十二种岩石类型中,每次识别过后输出识别概率最大的两种类别,TOP2的识别准确率为95.6%。模型训练完成后,便可部署训练好的模型对拍摄图片做种类识别。对于Inception V3模型进行迁移学习得到12种岩石识别模型的训练一共进行了2783步,训练过程中的TOP2准确率的变化过程如图3.1所示,准确率稳步上升,最后准确率稳定在95%左右,当TOP2准确率达到95.6%时停止训练。
4结果展示
识别时将拍照取得图片输入对于Inception V3进行迁移学习得到的模型中,模型将识别可能性最高的2种岩石类型进行展示,显示对识别结果的评分,得分越高则为正确结果的可能性越大。如图4.1所示为白铅矿的输入图片与识别结果展示,可见识别结果为白铅矿的评分约为9.6,为天青石的结果仅为1.4,识别结果准确。
参考文献:
[1]何之源.21个项目玩转深度学习[M].北京:电子工业出版社,2018:49-67.