2. 西安理工大学 自动化与信息工程学院, 西安 710048
2. School of Automation and Information Engineering, Xi’an University of Technology, Xi’an 710048, China
随着科学技术的快速发展, 非金属矿的各种矿种应用日新月异, 其战略意义逐步提高. 尤其是石墨被誉为“二十一世纪支撑高新技术发展的战略资源”, 具有良好的耐高温性、导电性、化学稳定性和抗热震性等[1], 不仅是新能源、新材料、航天航空等领域关键原材料, 还是耐火材料、电极电刷、铅笔等传统工业领域的重要原料[2]. 在高科技产业发展中, 石墨所占地位越来越重要, 其独特的物理特性使其能够应用于国计民生的各个领域, 具有十分重要的工业价值[3, 4].
以卷积神经网络(convolution neural network, CNN)为代表的深度学习算法在大数据时代得到快速发展, 在机器学习和计算机视觉等研究领域备受关注[5, 6]. CNN作为一种深度前馈神经网络, 在图像识别领域取得了不小的突破[7]. 相比于传统的分类方法, 基于卷积网络的全自动分类方法脱离了人力识别的繁琐, 同时利用反向传播算法自动优化模型参数, 获得当前条件最优模型. 深度学习的概念是Hinton等人[8]于2006年提出的, 它能更抽象、更深层次描述物体的属性和特征, 并且设计出AlexNet网络, 从此掀起了一波深度学习的热潮. 2016年, Ebrghimi等人[9]提出了一种基于层次分析法和特征映射的图像视觉方法, 利用图像识别辨别出16种常见矿石; 2017年, 胡发焕[10]采用模糊支持向量机(NP-FSVM)对矿石图像进行初步识别; 同年, 伍云霞[11]将BP神经网络与小波变换相结合, 取得较高的识别率; 2019年, 吕红杰[12]使用AlexNet卷积神经网络用于煤岩识别并取得较好的图像识别结果; 2020年, 王李管等人[13]使用改进的卷积神经网络应用于钨矿分类问题.
作为图像识别领域中的强大算法[6, 7], 目前鲜有研究者将CNN应用到石墨的图像识别任务中. 与GoogLeNet、ResNet等更先进的模型相比, AlexNet具有更简单的网络结构和更少的网络参数[7]; 相比于现有的轻量级网络深度深, 训练难度不会很大, 表征能力强, 更方便做出不同的改进, 可以节省大量模型训练时间, 更不易过拟合[6]. 因此, 本文给出利用AlexNet和深度学习的图像识别技术进行石墨与非石墨识别分选. 针对石墨图像本身特征及数据集过小, 通过对数据集进行图像预处理达到数据增强的目的, 同时对激活函数、归一化层、卷积核、Dropout层和优化器进行替换更新. 仿真实验结果表明, 与相关算法相比, 本文所提方法复杂度低、参数量少, 提高了网络的收敛速度, 减低了损失率, 有效地实现了石墨的图像识别目标.
1 传统AlexNet网络模型 1.1 卷积神经网络AlexNet属于CNN的一种, 而CNN属于人工神经网络, 已经广泛应用于图像识别等机器学习领域[6]. 由于它的网络结构采用了权值共享方式, 更加类似于生物神经网络, 其优点相对于一般神经网络, 减少了网络的权值数量. CNN最大的优势在于通过感受野和共享权重减少网络的参数, 即参数减少和权值共享. 该方法使得训练速度更快, 而且训练需要的样本更少. CNN基本网络结构如图1所示, 分为4个部分: 输入层(input), 卷积层(convolution, Conv), 全连接层(full connected layer, FC)和输出层(output).
卷积神经网络与其他神经网络模型最大的区别在于, 卷积神经网络在神经网络的输入层前面连接了卷积层, 这样卷积层就变成了卷积神经网络的数据输入层. 卷积层是卷积神经网络中独特的网络结构, 主要进行图像的特征提取; 池化层针对特征图进行稀疏处理, 减少数据的运算量; 全连接层在整个卷积神经网络中起到“分类器”作用, 它将在已学到的“内容”映射到样本标记空间(把前面提取到的特征综合起来). CNN的连接过程如图2所示.
图2中,
AlexNet是ISLVRC 2012 (ImageNet large scale visual recognition)竞赛的冠军网络, 分类准确率提升到了80%以上, 其网络结构如图3所示.
该网络包含8层结构, 其中5层卷积层、3层全连接层. 在AlexNet网络中还包含3个池化层(Pooling), 卷积层和池化层交替连接使用.
在AlexNet网络中, 5层卷积层分别使用
为了提高模型的泛化能力, 使用大样本数据集进行训练是最好的办法. 对于小样本数据集, 在深度学习中可以采用数据增强的方法来解决数据不足的问题[14]. 这里利用PyTorch的图像预处理包Transform对数据集中的图片进行如图4所示的预处理操作.
首先将测试集进行随机裁剪得到图像像素为224×224, 并依概率(设置
在AlexNet网络中, 虽然将ReLU函数作为激活函数有效克服了Sigmod和tanh函数梯度消失、收敛速度慢等缺点, 但是ReLU在
$ {\text{ReLU}}6\left( x \right) = {\text{min}}\left( {{\text{max}}\left( {x,0} \right),6} \right) \in \left[ {0,6} \right] $ | (1) |
相比于ReLU函数, 模型中使用ReLU6作为非线性层, 在低精度计算时能压缩动态范围, 算法更稳健.
2.3 批量归一化算法原始AlexNet中使用了LRN对第一、二层进行归一化操作, 以增强模型的泛化性能, 但LRN算法对模型的实际改善效果有限, 同时极大增加模型的训练时间. 文献[15]中提出批量归一化(batch normalize, BN)算法能够减小经过激活函数而导致的数据偏移, 有效解决训练过程中数据分布不一致的问题. BN算法通过计算小批次中的均值和方差达到特征归一化的目的.
给定一个尺寸为n的批量
$ {\mu _B} = \frac{1}{m}\sum\limits_{i = 1}^m {{x_i}} $ | (2) |
$ \sigma _B^2 = \frac{1}{m}{\sum\limits_{i = 1}^m {\left( {{x_i} - {\mu _B}} \right)} ^2} $ | (3) |
最后在实际的测试中求得整个数据集的均值与方差, 进行归一化处理, 即:
$ \hat x = \frac{{{x_i} - {{\hat \mu }_B}}}{{\sqrt {\hat \sigma _B^2 + \varepsilon } }} $ | (4) |
其中,
BN算法的关键之处在于进行变换重构, 引入可拉伸参数
$ {y_i} = \gamma {\hat x_i} + \beta = B{N_{\gamma .\beta }}\left( {{x_i}} \right) $ | (5) |
其中,
VGG (visual geometry group)网络是牛津大学计算机视觉组和Google DeepMind研发的深度卷积神经网络. 该网络结构使用
本文选用Adam优化器, 以0.000 2为初始学习率; 选择交叉熵作为损失函数, 避免均方误差带来的学习速率逐渐降低的问题. 由于在AlexNet网络的全连接层引入了大量的参数, 因此在全连接层后加入Dropout, 这种技术减少了神经元复杂的共同适应, 使模型更有效的进行融合. 改进后的AlexNet网络模型如图5所示.
本文采用改进的AlexNet网络模型完成数据集的自动分类任务. 模型的总体框架如图6所示.
3 实验参数与数据集 3.1 实验环境及参数设置本文在Python语言的编译环境下, 使用1.5.0版本PyTorch框架完成实验仿真, 通过Transform实现图像数据的预处理. 实验环境为: Mac OS 10.14.6版本操作系统, 处理器为1.6 GHz Intel Core i5, 未使用GPU加速, 运行一次网络平均消耗9 000–10 000 s. 设置权衰量为0.01, 用于防止过拟合; 迭代周期epoch为100, 一个batch大小设置为32; 所有权重参数初始化为均值为0、标准差为0.01的高斯分布, 同时将训练集图片在输入前随机打乱, 减少图片顺序对模型的影响.
3.2 样本采集与扩充本文图像样本采集自实验室现有石墨样品, 将其清洗干净后进行干燥操作, 利用iPhone手机后置摄像头从不同方向及角度拍摄样本图像视频, 随后对视频进行分帧处理, 共得到166张样本图像. 同时在网络上收集非石墨矿石图像180张, 最终将图像分为石墨与非石墨两种类别, 共346张彩色图片. 图7为石墨与非石墨的样本图像.
一般的, 数据集越充足, 模型训练的效果越好, 其泛化能力得到增强. 为解决训练样本不足的问题, 本文对以上数据集进行了数据扩充, 对收集到的图像分别做中心裁剪、样本旋转(180°、90°)、绕X轴翻转以及均值模糊操作, 最终得到1 857张图像, 按照比例随机选取数据集中955张(80%)作为训练集对网络进行训练, 902张(20%)作为测试集验证网络的性能. 将训练集与测试集分开处理. 数据集分类情况如表1所示.
3.3 数据集预处理
为降低样本的不平衡性和解决数据集过小容易造成的过拟合现象, 本文对数据集进行数据增强(data augmentation, DA)操作, 提高网络分类准确率. 在DA操作中, 常见方法包括尺度变换、图像对比度调整、图像裁剪、仿射变换、水平或垂直翻转等, 针对不同的数据集可选择不同的增强方法. 基于矿石图像的特征, 将训练集图片在输入前随机打乱, 减少图片顺序对模型的影响; 将训练集中的每张图片进行随机裁剪, 统一图像像素为224×224, 并依概率(设置
本文以准确率(Accuracy,acc)和损失(Loss)这两个指标评估一个网络的训练效果. 测试准确率是指模型在测试集上输出正确结果的比率, 能反映一个网络的使用效果, 是很重要的指标. 其定义公式如式(6)所示:
$ acc = \frac{{{n_{\rm{correct}}}}}{n} $ | (6) |
其中,
神经网络的训练过程是最小化损失函数的过程, Loss即为损失函数的值. 实际上, 损失函数计算的是模型在测试集上的均方误差(MSE, E):
$ E{\text{ = }}\frac{1}{n}\sum\nolimits_i {\left( {{{\hat y}^{\rm{test}}} - {y^{\rm{test}}}} \right)_i^2} $ | (7) |
本文使用改进的AlexNet模型与传统的AlexNet模型分别对数据集进行训练, 图8展示了使用ReLU6函数与ReLU函数的损失与准确率的变化曲线. 通过实验仿真发现, 使用ReLU6函数可使得损失值由0.092 5降为0.077 2, 达到相对较小.
针对归一化层, 本文对比使用BN算法与未使用BN算法两种情况进行仿真, 结果如图9所示.
图9结果表明, 使用BN算法有效降低模型测试的损失值, 同时避免了模型陷入过拟合风险. 为了进一步观察卷积层在使用BN算法前后特征提取的情况, 随机提取出数据集中的一张图片, 如图10所示, 分类为石墨.
依次打印出图10在Conv1, Conv2与Conv3的前12个通道的特征提取图, 如图11所示.
由图11可知, 传统的AlexNet网络在第3卷积层所提取的特征已经较为模糊, 学习能力不是很好; 相比使用BN算法后的模型, 特征提取能力增强, 可保证网络进行快速、充分的学习. 使用BN算法前后的图像识别损失与准确率如表2所示.
除激活函数与归一化层的改进, 本文还对卷积核大小做出修改, 如图12所示.
图12展示了在以上改进的基础上, 使用
为了评估改进的AlexNet网络对石墨分类数据集的识别性能, 将传统的AlexNet网络、文献[7]、文献[17]的AlexNet网络作为对照组, 提取出Conv2的情况, 如图13所示.
通过图13可以看出, 使用改进的AlexNet网络在第2卷积层中的特征情况较其他两种模型更为清晰, 提取学习到更多的特征. 最后得到模型损失与准确率的对比曲线如图14所示, 进一步验证本文提出的改进AlexNet网络的有效性.
通过对测试集的实验, 将传统的AlexNet网络、文献[7]、文献[17]的方法作为对照组, 与本文方法的损失与准确率对比如表3所示.
由表3可知, 使用本文提出的改进的AlexNet网络较其他两种情况效果更好, 有效验证了本文所提出的网络模型的可行性与有效性.
5 结语石墨数据收集难度较大, 该领域研究的专业性较强, 导致石墨的智能识别发展不易. 本文使用改进的AlexNet卷积网络实现石墨识别, 此过程不需要人工提取石墨的图像特征, 智能化程度较高, 训练过程较为简单. 通过对AlexNet的激活函数、归一化层和超参数的优化, 提高了整体模型的鲁棒性, 在不增加模型计算复杂度的同时避免了过拟合问题. 实验结果表明, 本文改进算法较传统AlexNet的分类平均准确率得到提高, 损失值降低, 模型具有较强的泛化性. 将改进AlexNet模型应用于石墨图像识别, 增加了选矿流程的自动化程度, 减少了人工拣选的工作量. 但本文使用数据集为小数据集且石墨样本为块状, 增加石墨种类对数据集进行扩充, 对市面上绝大部分的流动石墨进行识别是下一步的研究方向.
[1] |
孙斌, 孔庆友. 解读地球密码系列: 平凡的奇迹——石墨. 济南: 山东科学技术出版社, 2016.
|
[2] |
刘之能, 申士富, 刘海营, 等. 我国石墨选矿技术及装备进展. 现代矿业, 2020, 36(8): 143-146, 162. DOI:10.3969/j.issn.1674-6082.2020.08.042 |
[3] |
张旭东, 邱杨率, 吴益民, 等. 原料特性和制备工艺对柔性石墨膜导热性能的影响. 硅酸盐通报, 2019, 38(12): 3988-3992, 4012. DOI:10.16552/j.cnki.issn1001-1625.2019.12.041 |
[4] |
高惠民, 张凌燕, 管俊芳, 等. 石墨、石英、萤石选矿提纯技术进展. 金属矿山, 2020(10): 58-69. DOI:10.19614/j.cnki.jsks.202010006 |
[5] |
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe: Curran Associates Inc., 2012. 1097–1105.
|
[6] |
石翠萍, 谭聪, 左江, 等. 基于改进AlexNet卷积神经网络的人脸表情识别. 电讯技术, 2020, 60(9): 1005-1012. DOI:10.3969/j.issn.1001-893x.2020.09.002 |
[7] |
甘岚, 郭子涵, 王瑶. 基于径向变换和改进AlexNet的胃肿瘤细胞图像识别方法. 计算机应用, 2019, 39(10): 2923-2929. |
[8] |
Hinton GE, Salakhutdinov RR. Reducing the dimensionality of data with neural networks. Science, 2006, 313(5786): 504-507. DOI:10.1126/science.1127647 |
[9] |
Ebrahimi M, Abdolshah M, Abdolshah S. Developing a computer vision method based on AHP and feature ranking for ores type detection. Applied Soft Computing, 2016, 49: 179-188. DOI:10.1016/j.asoc.2016.08.027 |
[10] |
胡发焕. 基于多特征融合的钨矿石初选方法研究[博士学位论文]. 南昌: 南昌大学, 2017.
|
[11] |
伍云霞. 矿用图像识别与应用. 天津: 天津科学技术出版社, 2017.30–40.
|
[12] |
吕红杰. 卷积神经网络在煤岩图像识别中的应用研究. 科技创新导报, 2019, 16(9): 137-139. DOI:10.16660/j.cnki.1674-098X.2019.09.137 |
[13] |
王李管, 陈斯佳, 贾明滔, 等. 基于深度学习的黑钨矿图像识别选矿方法. 中国有色金属学报, 2020, 30(5): 1192-1201. |
[14] |
Faris PD, Ghali WA, Brant R, et al. Multiple imputation versus data enhancement for dealing with missing data in observational health care outcome analyses. Journal of Clinical Epidemiology, 2002, 55(2): 184-191. DOI:10.1016/S0895-4356(01)00433-4 |
[15] |
Ioffe S, Szegedy C. Batch Normalization: Accelerating deep network training by reducing internal covariate shift. arXiv: 1502.03167v3, 2015.
|
[16] |
李校林, 钮海涛. 基于VGG-NET的特征融合面部表情识别. 计算机工程与科学, 2020, 42(3): 500-509. DOI:10.3969/j.issn.1007-130X.2020.03.016 |
[17] |
Wang JT, Zheng H, Huang Y, et al. Vehicle type recognition in surveillance images from labeled web-nature data using deep transfer learning. IEEE Transactions on Intelligent Transportation Systems, 2018, 19(9): 2913-2922. DOI:10.1109/TITS.2017.2765676 |