张洪昌,王子介,张振江,荆洪迪,刘伟新,任海龙,何文轩
(1.鞍钢矿业有限公司眼前山分公司,辽宁 鞍山市 114000;2.中国科学院沈阳自动化研究所,辽宁 沈阳 110169)
从矿山企业的角度来说,最重要的两个方面就是生产和安全,生产关系到整个企业的利润,让企业能够获得更多的资金进行发展;安全则是保证生产能够正常进行的前提。在铁矿的生产过程中,尤其是井下生产,如何安全、高效生产是矿山考虑的头等大事,不同的矿岩条件会带来两方面问题:(1)不同的矿岩条件对爆破设计的装药量有很大影响,同样影响了出矿的截止品位;(2)矿石和围岩交界的地方结构不稳固,为了预防事故的发生需要对矿岩交界处进行加强支护。因此,现场及时识别矿岩界限是非常必要的,并且需要能够搭载在井下便携设备上,方便井下施工技术人员随时使用。这就需要在树莓派等移动端处理设备上搭载训练好的人工智能识别模型。
自从 2015年提出残差网络以来,神经网络的深度大大增强,图像识别的精确率不断上升,更是产生了一系列先进的算法,这些算法在各个工程以及民生领域都得到了广泛的应用,但铁矿行业目前应用还较少。地下矿山的矿岩识别可以看作是单一背景下的图像识别,在现场采集到大量的学习样本后,可以利用高效的神经网络对样本数据进行初步的特征提取和特征识别,并适当改变图像环境光等数据,以使模型具有较大的容错率与识别范围。模型训练好后引入测试集,对测试集样本进行识别,获得测试结果并调试模型。在现场使用时,识别速度这一因素显得尤为关键,由于地下矿山环境的特殊性,需要将结果快速地提供给现场施工技术人员,所以选择了具有很高灵活性的EfficientDet架构进行训练。整个系统流程如图1所示。
图1 系统流程
EfficientDet是一种具有很高灵活性的深度学习框架,根据参数的选择可以将网络分为 D0~D7共8个等级。EfficientDet主要由EfficientNet主干特征提取网络、BiFPN和prediction net组成,具体如图2所示。
图2 模型结构
EfficientNet模型将主流神经网络的3个优点结合起来。(1)利用残差神经网络增加主干特征提取网络的深度,加强特征提取。(2)增加每一层提取的特征层数,实现更多层的特征提取。(3)通过增大输入图像的分辨率来增加网络在图片中所获得的物体细节信息和语义信息,增加识别效率。EfficientNet模型相比于其他主流神经网络将这3个优点又结合起来,通过一起缩放baseline模型,同时调整深度、宽度及输入图片的分辨率,完成一个优秀的网络设计。
EfficientNet主干特征提取网络主要由 1个Stem结构块与 16个大 Blocks结构块堆叠构成,Blocks是由Block结构块堆叠而成。Block的网络结构如图3所示,其总体的设计思路是 Inverted residuals结构和残差结构,在3×3或者5×5卷积前利用1×1卷积升维并对通道添加了注意力机制,最后利用1×1卷积降维后增加一个大残差边。
图3 MBConBlocks结构块
BiFPN为复杂双向融合,这种融合模式将浅层网络的图片细节特征和深层网络的语义特征不断进行上下采样并堆叠,构建了一个多尺度复融合和一个双向复杂的特征提取网络,并提出模型的复合尺度融合变换方法,选择不同适配不同计算资源的多级别神经网络,见表1。
EfficientNet特征提取网络需要进行一系列的上采样和下采样,获得最后的输出值 P3_out、P4_out、P5_out 、P6_out、P7_out输入 Class prediction net以及 Box prediction net并进行最终的预测。如图4所示,EfficientDet-D0则重复图片红色虚线框选部分一次,D1则2次并依次类推。
图4 BiFPN结构
在试验数据集准备方面,选取了磁铁矿和赤铁矿的矿石以及对应的两种围岩,共4个类别的矿岩图像作为原始数据,数据大部分为现场和试验室获得,小部分为网络图片爬取。具体为磁铁矿114张、磁铁矿围岩123张、赤铁矿119张、赤铁矿围岩120张,另有矿岩混合图片89张,共计565张,对所有图片进行标注生成原始数据集,部分数据集情况见表2。
表2 部分数据集
深度学习识别模型的应用场景主要分为露天矿矿岩识别和地下矿矿岩识别。对于露天开采来说,搭载识别模型的设备,使用时光线较为充足。但对于地下矿山来说,设备使用时,大概率会出现设备补光不足的情况,在这种情况下会产生显著的噪声影响,影响模型识别的准确率。本文主要从两个方面来解决这个问题:(1)在使用常规剪切、旋转、缩放等数据增强操作后,对比现场拍摄的图片上的噪声,人为对所有图像添加0.05以及0.1小幅度的椒盐噪声;(2)在模型应用前,对拍摄的图像以及视频进行图像预处理操作,在对比中值滤波、均值滤波和均值滤波后,选择效果较好的中值滤波对输入模型的图像进行去噪操作。最终,将565张图片扩充到2825张。数据集按照85%作为训练集、5%作为验证集、10%作为测试集进行使用,测试集包括多段现场拍摄视频。
为了保证前期的模型训练效率与后期的地下矿现场识别速度,模型训练采用高性能计算机,在python3.7版本下使用Tensorflow2.2对EfficientDet进行构建。整个训练过程总共分为100 epoch,前50 epoch采用1e-3学习率,后50 epoch采用5e-5学习率,在训练过程中采用迁移学习的思想,减少训练迭代的时间。
为了实现该模型训练与识别的最优化,本文使用YOLOv4、SSD、Faster-RCNN以及EfficientDet-D0、EfficientDet-D1进行测试对比,使用测试的平台为 Latte Panda 4 GB/64 GB,测试结果对比见表3。
表3 算法测试对比
在对比算法中EfficientDet-D0单项参数的数值都不是最高的,但综合所有参数证明 EfficientDet-D0是最优选择。采用Early Stopping控制迭代在第89 epoch提前终止,loss值最终为10.1,loss迭代曲线如图5所示。
图5 loss迭代
最终,利用提前准备的地下矿矿岩测试数据集对模型进行测试,测试结果如图5所示,所训练的神经模型能够有效地对不同种类的矿石和围岩进行分类,对于单张图片,不论是单一种类还是多种类识别,正确识别的概率都超过96%,说明模型具有很好的鲁棒性和泛化性,识别结果如图6所示。
图6 矿岩测试识别结果
(1)EfficientDet-D0对于矿石围岩可以进行较为准确的分类判断,在加入迁移学习的思想后,训练的时间大大降低;
(2)EfficientDet-D0相比于其他算法更具有灵活性,可以在不同的硬件条件下选择不同等级的网络,减少设备更换造成的浪费和再次训练的成本;
(3)模型样本量少、测试所用单片机摄像头参数不同、灯光补光程度不一都会使模型的准确率降低2~8个百分点;
(4)利用本文模型可以辅助现场确定矿岩条件,优化爆破装药方式以及预防事故进行加强支护;
最终在 Latte Panda 4 GB/64 GB 平台测试正确率可以达到96%,对于单张图片处理基本上可以作为1~2 s得出结果。综合所有测试,充分证明了本模型对于矿石围岩的识别具有较好的鲁棒性和泛化性,又可以根据不同设备搭载选择不同等级的网络,充分利用现有的资源。