APP下载

基于深度学习的矿石图像处理研究综述

2023-01-07张德政

工程科学学报 2023年4期
关键词:皮带图像处理粒度

王 伟,李 擎,张德政,栗 辉,王 昊

1) 北京科技大学自动化学院,北京 100083 2) 工业过程知识自动化教育部重点实验室,北京 100083 3) 北京科技大学计算机与通信工程学院,北京 100083 4) 材料领域知识工程北京市重点实验室,北京 100083

用于自动质量控制和安全监测的矿石图像处理是智慧矿山建设的重要组成部分,经历了从传统图像处理向深度学习演变的过程.深度学习避免了人为设计特征的限制,在通用场景和特定领域(交通、医学、遥感等)的图像处理任务中均取得了优于传统图像处理方法的效果.鉴于此,已有许多研究人员采用深度学习技术对矿石图像进行处理,如对铁矿、煤矿和岩石图像进行类别、粒度的分析等.本文首先介绍了矿石分类、粒度分析、异物识别三种常见的矿石图像处理任务;接着比较全面地梳理了图像分类、目标检测和语义分割三种常见深度学习技术在三大常见矿石图像处理任务中的应用现状;最后进行总结与展望.

1 矿石图像处理任务

矿石生产流程可分为勘探、开采与选矿,而选矿又大致可分为破碎筛分、磨矿和浮选等工艺,如图1(a)所示.本文聚焦于矿石勘探和将矿石破碎筛分后的皮带运输两个环节,将常见的矿石图像处理任务分为矿石分类、粒度分析和异物识别等,如图1(b)所示.

图1 矿石生产流程与矿石图像处理任务.(a) 生产流程;(b) 矿石图像处理任务分类Fig.1 Ore production process and the ore image processing task: (a) production process;(b) task classification

矿石分类按照一张图像中矿石的数量可分为单个体矿石分类和多个体矿石分类,前者在地质勘探中起着重要作用,而基于后者可以计算出传送皮带上不同种类矿石之间的比例,用于评价配矿质量和协助调整矿山生产设备运行参数.粒度指图像中矿石的尺寸信息,一般可分为粒度统计、粒度分类和大块检测三种任务模式,实际工业生产中以第一种和第三种为主.精确的粒度统计能为破碎机和传送皮带的控制提供参考依据,如对功率和速度的设定等,以提高产品质量、保障设备安全和降低生产成本;而大块检测旨在发现给矿皮带上尺寸过大的矿石,当有大于设定阈值的矿石出现时,系统会发出警报,控制室人员据此进行相应处理,以防止处于给矿皮带和受矿皮带之间的转运缓冲仓内发生堵料事故,保障生产安全.异物识别则是将皮带上混在矿石中的废旧木头、钢钎、锚杆、螺母等有害物品检测出来,以控制产品质量.除此之外,矿石图像处理任务还包括矿石密度分类等.

2 三种常见深度学习技术

图像分类、目标检测和语义分割是三种常见的深度学习技术,它们分别从图像整体、图像中各个目标和图像中各个像素三个不同的维度,由粗到细地完成对图像的分析处理.

图像分类即判断图像所属类别,该类算法起始于用于手写数字识别的LeNet-5[1],复兴于2012年在大规模视觉识别挑战赛(ImageNet large scale visual recognition competition,LSVRC)[2]中获得图像分类和定位双项冠军的AlexNet[3].紧随其后,更是百花齐放,相继涌现出了由牛津大学视觉几何组(Visual geometry group,VGG)提出的采用多层小卷积核(3*3)来替代大卷积核(5*5 或7*7)的VGG[4],采用Inception 模块来提取多尺度特征的GoogLeNet[5],采用残差学习(Residual learning)来改善模型退化问题的ResNet[6],基于通道注意力设计的SE-Net[7],基于轻量化设计的MobileNet[8]、ShuffleNet[9],以及基于Transformer[10]演变而来的Vision transformer(ViT)[11]等.

目标检测通过矩形框的形式锚定图像中所关注的对象及其所在位置,完成图像中各个目标的定位与分类.该类算法的代表包括提出区域建议网络(Region proposal networks,RPN),并首次实现两阶段检测模型端到端训练的Faster R-CNN(Region convolutional neural network)[12],将检测问题通过回归来处理以提高检测速度的YOLO(You only look once)系列[13-15],在多个特征图上进行检测的SSD(Single shot multibox detector)[16],基于Anchorfree 的CenterNet[17],以及基于Transformer 的DETR(Detection transformer)[18]等.

语义分割通过对图像进行像素级别的分类,来对区域进行分块.该类算法的代表包括首次采用全卷积神经网络来完成分割任务的FCN(Fully convolutional networks)[19],采用编码器-解码器对称设计来分割医学细胞的U-Net[20],采用空洞卷积(Atrous convolution)来增大感受野的DeepLab[21],采用金字塔池化模块(Pyramid pooling module,PPM)来汇聚多尺度特征的PSPNet(Pyramid scene parseing network)[22],用于3D 图像分割的V-Net[23],基于自注意力机制(Self-attention)[10]的CCNet(Criss-cross attention network)[24],以及基于Transformer 的SETR(Segmentation transformer)[25]等.

前景是指图像中所有属于预定义类别集合中的物体.图像分类更倾向于处理单张图像中前景个数为1(图2(a)),或者前景个数大于1 但可以将所有前景视作一个整体来分析的任务.目标检测更擅长处理对获得图像中前景位置有一定要求,或者单张图像中前景个数大于1 且需要将各个前景分开从而达到特定目的的任务,如图2(b)可以用来实现羊群计数.语义分割不论单张图像中前景个数,它更倾向于处理对获得精细的前景形状有一定要求的任务,如图2(c)所示.

图2 深度学习技术分类.(a) 图像分类;(b) 目标检测;(c) 语义分割Fig.2 Deep learning technology classification: (a) image classification;(b) object detection;(c) semantic segmentation

3 基于深度学习的矿石图像处理

3.1 矿石分类

矿石分类在地质勘探和皮带运输两个环节均发挥着重要作用.矿石种类的误判会给生产方案和维修方案的制定带来严重的负面影响,造成经济损失和安全隐患等诸多问题.基于深度学习的矿石分类可按一张图像中矿石(前景)个数分为单个体矿石分类和多个体矿石分类.单个体矿石分类多采用图像分类网络,而多个体矿石分类多采用目标检测网络和语义分割网络.

3.1.1 单个体矿石分类

LeNet-5 是最早基于卷积神经网络的图像分类算法,文献[26]将其网络结构进行优化,并采用20000 张图像对其进行训练,以完成煤与煤矸石的二分类任务,实验结果在验证集上达到了95.88%的准确率.而在数据量比较小时(煤与煤矸石各240 张图像),文献[27]基于迁移学习的思想,先冻结住VGG16 所有卷积层,再自定义全连接层,训练得到的模型在测试集上获得了82.5%的分类准确率.文献[28]采用Wu-VGG19 迁移网络对黑钨矿石与围岩进行二分类,识别率达到了97.51%.

基于Inception-v3[29]网络,文献[30]实现了花岗岩、千枚岩和张角砾岩的自动分类.同样基于Inception-v3,文献[31]和文献[32]分别完成了对5 种和15 种不同矿石的分类.基于强化后的矿石图像纹理特征和利用K-means[33]得到的颜色特征,文献[34]采用Inception-v3 建立了一套完整的矿石智能耦合分类方法,用以区分19 种不同矿石.在文献[34]的基础上,文献[35]验证了深度学习与聚类算法结合的有效性.文献[36]用两层全连接神经网络对标量莫氏硬度进行升维,用EfficientNetb4[37]对矿石图像进行特征提取,再将二者的结果进行融合,最后送入到全连接层中完成了36 类不同矿石的分类.CutMix[38]和Image Cutting 是两种常见的数据增强方式,文献[39]采用它们来改善过拟合问题,并第一次将由Transformer 演变而来的ViT 用于对7 种不同类型的矿石进行分类.本课题组采用ResNet50 完成了对关宝山4 种不同类型铁矿石的分类,包括赤铁矿、假象矿、褐铁矿和透闪矿(图3),准确率达到了85%.

图3 不同类型铁矿石示例.(a) 赤铁矿;(b) 假象矿;(c) 褐铁矿;(d) 透闪矿Fig.3 Examples of different types of iron ore: (a) hematite;(b) false mineral;(c) limonite;(d) tremolite

除了自然场景图像,单个体矿石分类的输入也可以是显微图像[40-43]与光谱图像[44-45].如文献[40]采用ResNet18 对5 种矿石的偏光显微图像进行分类,包括角闪石、石英、石榴石、黑云母和橄榄石,最终模型准确率达到了89%.文献[44]先用可见红外反射光谱仪得到矿石的光谱图像,再将其输入到自定义的空洞卷积神经网络中进行训练,实现了对赤铁矿、磁铁矿、花岗岩、千枚岩和绿泥石的分类.

3.1.2 多个体矿石分类

目标检测网络定位加分类的双重任务处理能力能有效对同一张图像中的多块矿石进行分类(图4(a),不同颜色的框代表不同类别).文献[46]收集了约800 块矿石构造目标检测数据集,用以训练Faster R-CNN,完成了对橄榄岩、玄武岩、大理岩、片麻岩、砾岩、石灰石、花岗岩和磁铁矿石英岩8 种矿石的分类.文献[47]比较了Faster RCNN 与YOLO-v4[48]对三大类(火成岩、沉积岩和变质岩)、32 小类矿石的分类效果,发现前者效果更好.文献[49]采用多尺度特征融合技术和粒子群算法来优化Faster R-CNN,在黑云母、褐铁矿、孔雀石和石英的分类中,达到了98%的准确率.

图4 多个体矿石分类技术.(a) 目标检测;(b) 语义分割[50]Fig.4 Multi-object ore classification technology: (a) object detection;(b) semantic segmentation

语义分割网络的像素级分类模式也可以完成一张图像中多块矿石的分类任务.文献[50]第一次采用改进的U-Net 对图像中的矿石进行分割,完成了对岩石(红色)、赤铁矿(绿色)、碳酸铁(黄色)、绿泥石(蓝色)和亚铁(紫色)的分类,如图4(b)所示.文献[51]采用结合了目标检测和语义分割双重功能的实例分割网络Mask R-CNN[52]对矿石进行识别与定位,综合准确率达到了97.6%.但上述基于摆拍图像训练得到的模型很难真正实现对矿山现场传送皮带上表面被灰尘、泥土所覆盖的矿石进行分类.

3.2 粒度分析

粒度分析任务通常针对皮带上的矿石,一般可分为三种模式:粒度统计、粒度分类和大块检测.粒度统计指得到一张图像中矿石尺寸的确定值,一般先采用语义分割网络分割出图像中的每一块矿石,然后用OpenCV 等工具包得到每块矿石的像素数量,再根据单位像素与实际尺寸的关系求出每块矿石的面积S,最后按照实际需求完成相应的矿石粒度统计,比如图像中每块矿石的粒径d(面积S对应的等效圆直径)等.粒度分类指将图像中所有矿石视作一个整体来划分粒度等级,一般先采用不同粒径的筛子筛分来得到已知粒度等级的矿石,拍照构造数据集,再训练图像分类网络,最后用训练好的模型对未知矿石图像进行粒度分类.大块检测指识别出给矿皮带上过大尺寸的矿石,一般先采用目标检测网络得到矿石的坐标信息,再计算出每块矿石的外接矩形面积,最后与设定阈值进行比较,判断皮带上是否存在大块.

3.2.1 粒度统计

精确的矿石个体分割是粒度统计的重要前提.皮带上的矿石图像具有以下两点典型特征:其一,矿石黏连和灰尘、泥土的遮挡导致图像中多处矿石边缘存在模糊不清甚至是消失的问题(图5 红色箭头所示);其二,图像中的矿石形状与尺寸多种多样.这些因素都给精确的矿石个体分割带来了严峻的挑战.传统图像处理通过设定阈值(OTSU[53])、聚类分析(K-means)和边缘检测(Canny检测算子[54]、分水岭算法[55])等方法完成矿石分割任务,而语义分割则是通过对图像中每个像素进行语义二分类(背景与矿石)来分割矿石.相较于传统图像分割算法,基于深度学习的语义分割算法有着更强大的自动特征提取能力和更好的泛化性能,因此逐渐取得了在矿石图像分割领域中的主导地位[56].

图5 皮带矿石图像[57]Fig.5 Ore image on a conveyor belt[57]

对于一张矿石图像(图6(a)),语义分割网络可以识别出图像中矿石的边缘(图6(b)),也可以识别出图像中矿石的主体(图6(c)).HED(Holisticallynested edge detection network)网络[58]集合了VGG16和多尺度特征融合的优点,在边缘提取中取得了明显优于Canny 检测算法的效果.文献[59]首次将HED 应用于矿石边缘分割任务中,验证了该方法的有效性.在此基础上,文献[60]利用空洞卷积和多层级特征融合方法对HED 网络进行改进,极大地改善了因矿石黏连导致的边缘分割不精确问题.然而,通过对比图6(b)、图6(c)两种分割模式,可以发现后者视觉效果更加直观,也更方便进行粒度统计.因此,大部分研究工作都采用分割矿石主体的模式.

图6 矿石图像及其标签.(a)原始图像[57];(b) 矿石边缘标签;(c) 矿石主体标签Fig.6 Ore image and label: (a) original image[57];(b) ore edge label;(c)ore mask label

文献[61]首次采用U-Net 来分割破碎石块,在测试集上取得了小于10%的平均错误率,验证了该网络模型的有效性.U-Net 因其优雅的编码解码对称设计和创新性的跳跃连接方式在细胞分割领域取得了巨大成功.解码器逐步、分层的上采样方式能精确地恢复图像中目标的边缘形状,而跳跃连接将低层位置信息和高层语义信息相结合,能兼顾图像中不同尺度的目标[62-63].U-Net 网络的优点与矿石图像的特点相得益彰.因此,大部分研究人员都选择将其作为基准模型.

图像中矿石的形状、尺寸各种各样,而可变形卷积[64]能自动调整形状和感受野,因此能学习到更好的特征.文献[56]在特定层采用该种卷积核代替固定了形状和大小的普通卷积核来建立模型,相较于基准U-Net,改进后的模型在准确率与平衡F 分数(F1-score)两项指标上分别提高了12%和11%,但可变形卷积会极大地增加模型的运算量.

矿石黏连、灰尘掩盖等因素导致的边缘模糊、消失无疑是矿石分割的最大阻碍,会造成严重的欠分割问题,即网络将多块矿石识别为一块,这对后续的粒度统计极为不利.针对该问题,文献[65-66]先利用U-Net 对矿石图像进行分割,再利用Res_UNet 对初步分割结果进行优化,实验结果表明了“分割加优化”两阶段方案的有效性,但该模型也增加了近一倍的参数量.

受文献[67-71]启发,本项目组提出了一种基于U-Net 改进的边缘感知模型来改善矿石欠分割问题[57].该模型由一个编码模块、两个解码模块(边缘解码器和掩码解码器)和一个特征融合模块组成,如图7 所示.边缘解码器旨在让网络编码模块学习到更多的矿石边缘特征,特征融合模块通过将矿石边缘信息融入到矿石主体信息中,以更好地将黏连矿石进行分离.相较于U-Net,该模型的掩码交并比(Intersection over union of mask,IoU_Mask)和边缘交并比(Intersection over union of edge,IoU_Edge)分别提升了1.01%和5.78%,矿石粒度统计错误率下降了12.11%.

图7 边缘感知网络结构图[57]Fig.7 Boundary-aware network structure diagram[57]

边缘感知网络和原始U-Net 对矿石分割的定性对比效果如图8 所示.其中图8(a)、(b)、(c)和(d)分别代表原始矿石图像、人工标签、U-Net 分割结果和边缘感知网络分割结果.对比图8(c)与图(d)中椭圆标记部分可知,本项目组设计的边缘感知网络更有利于图像中黏连矿石的分离.基于DFN[72](Discriminative feature network)网 络,文 献[73]也采用双解码器的设计来更有效地分割黏连矿石,用以协助控制隧道掘进机.且该工作只以图像中的较大块矿石为分割对象,标注成本较小.但文献[57,73]的双解码器无疑增加了网络的参数量.

图8 矿石图像分割结果.(a) 原图;(b) 标签;(c) U-Net 分割结果;(d) 文献[57]分割结果Fig.8 Ore image segmentation results: (a) original image;(b) label;(c) segmentation result by U-Net;(d) segmentation result by reference [57]

为了使U-Net 模型更加轻量化和改善欠分割问题,文献[74]将每层的通道数减少为原来的四分之一,并辅以分水岭算法对预测结果进行优化.这种将深度学习与传统图像处理算法(分水岭算法、凸型检测和椭圆适配等)结合起来进行矿石分割的方式能充分发挥二者的优点,提升分割效果[75-78].

相较于通过复杂的网络设计来改善黏连矿石不可避免的欠分割问题,文献[79]发现焦点损失函数(Focal loss)[80]通过给与图像中困难像素(矿石边缘像素)更多损失权重的方式,可以将矿石更有效地分离.本项目组将Focal loss 与最常见的二值交叉熵损失函数(Binary cross entropy,BCE)进行对比,发现前者不仅更有利于将黏连的矿石进行分离,而且通用性较强,无论是对破碎入口粗破、传送皮带中破,还是传送皮带细破矿石图像均行之有效,如图9 所示.然而采用该损失函数的网络对细小矿石的识别能力较弱.

图9 基于不同损失函数的U-Net 矿石图像分割结果.(a) 矿石原图;(b) 二值交叉熵损失函数;(c) 焦点损失函数Fig.9 U-Net ore image segmentation result based on different losses: (a) original ore image;(b) BCE;(c) focal loss

除了从网络设计、损失函数和后处理等方面来改善欠分割问题外,最直接改善欠分割的方法或许是先将矿石图像的原始标签进行腐蚀处理,即标签中的掩码比其对应的实际矿石要小,再送入到神经网络中进行训练[81].当通过语义分割和后处理得到初步的矿石粒度统计结果后,还可以利用经验公式对其进行修正,以得到更加准确的数值[82-83].

3.2.2 粒度分类

矿石图像可以通过语义分割加后处理的方式得到确定的矿石粒度统计值,如每块矿石的粒径等.但当我们不关心矿石粗细的具体数值,而只想得到一个粗略的粒度范围时,则可以通过图像分类的方式将矿石图像分为若干粒度等级.文献[84]利用VGG16 对矿石图像进行10 种粒度等级的分类,包括1.7+、2.36+、3.3+、4.75+、6.7+、8+、11.2+、13.2+、19+和26.5+,为后续矿山生产运行控制提供指导.文献[85]通过VGG16 将矿石图像分为了“几乎不包含大块矿石”、“包含一些大块矿石”、“包含较多大块矿石”和“几乎全是大块矿石”四类,依此对矿石图像粒度能有一个大致的判断.但粒度分类不及粒度统计结果精确,更重要的是其只比较适用于处理筛分过后得到的分布比较均匀的矿石图像,因此在实际工业场景中的应用比较受限.

3.2.3 大块检测

给矿皮带上的超大块矿石容易造成转运缓冲仓内的堵料问题.目标检测和语义分割的结果[73,86]都可以用来估算矿石面积,以此来判断矿石是否属于大块.相较于语义分割,目标检测有着更小的标注工作量,且更容易将黏连矿石分离,因此本项目组采用目标检测算法Faster R-CNN 来完成大块矿石检测任务,将其应用于实际工业中,并取得了不错的效果.

基于目标检测技术的大块检测只需对图像中少数的较大块矿石进行标注,且基于尺寸这一主要特征,Faster R-CNN 能有效分辨出一张图像中的大块,如图10 所示.根据检测出来的矿石坐标信息,可以计算出每块矿石的外接矩形面积,当存在某块矿石的面积大于设定阈值时,系统发出警报,随后工作人员进行相应处理,以防止在转运缓冲仓内发生堵料事故.

图10 基于Faster R-CNN 的皮带大块矿石检测.(a) 原图;(b) 标签;(c) 检测结果Fig.10 Large block ore detection based on Faster R-CNN: (a) original image;(b) label;(c) detection result

3.3 异物识别

异物识别是将皮带上混在矿石中的有害物品(包括废旧木头、锚杆、槽钢、废石等)检测出来,以保障产品质量,防止皮带发生撕裂,常采用目标检测技术来完成异物识别任务.针对传送皮带上矿石中夹杂的废旧木头、钢钎和塑料导爆管等杂物,基于YOLO-v3[87],文献[88]提出了一种改进的异物检测方法YOLO-Ore.该模型结合了轻量化网络MobileNet-v2[89]、PPM 和注意力机制模块CBAM(Convolutional block attention module)[90]的优点,完成了对皮带上异物准确快速的检测.文献[91]采用以Focal loss 为分类损失函数的YOLO-v3 模型实现了对带式输送机上锚杆、角铁和螺母3 种非煤异物的识别,置信度达到了94%以上.文献[92]提出了一种基于CenterNet 改进的检测算法,该算法利用深度可分离卷积[8]来减少冗余参数,同时采用加权特征图融合方法来提高网络检测精度,以实现对运煤皮带上槽钢、锚杆、钎子以及工字钢等异物的识别.文献[93]在YOLO-v3 的基础上,融入主动学习的思想,利用少量的标签完成了在皮带铝块矿石中检测出泥团的任务.文献[94]通过将深度可分离卷积、PPM 和平均绝对误差(Mean absolute error,MAE)损失函数引入到YOLOv3 网络中,实现了在煤与煤矸石混合体中实时精准地检测出煤矸石的功能.

3.4 其他矿石图像处理任务

基于表面颜色、纹理等特征,利用卷积神经网络可以完成对单块矿石的密度分类任务.文献[95]在AlexNet 和VGG 的基础上,通过考虑模型深度、模型结构和数据集大小,探索了一种小型深度学习模型来对图像中的气煤进行密度二分类(<1.8 g·cm-3和>1.8 g·cm-3).文献[96]比较了VGG16、VGG19、Inception-v3 和ResNet50 四种不同模型的矿石密度分类准确率,最后选取了效果最好的ResNet50 来对气煤、焦煤和无烟煤进行密度四分类(<1.4、1.4~1.6、1.6~1.8 和>1.8 g·cm-3).同文献[96]矿石密度分类任务,文献[97]在ResNet的基础上研究了不同注意力机制(通道注意力、空间注意力和通道空间混合注意力)对矿石密度分类准确率的影响,最后选取了效果最好的混合注意力来协助分类网络完成对矿石密度的分类.文献[98]采用卷积神经网络来学习金矿表面的纹理特征,从而完成了对金矿品味的三分类(<1、1~5和>5 g·t-1).

4 总结与展望

本文对三大类、六小类常见的矿石图像处理任务及其用到的三种常见深度学习技术进行了较为全面的总结,具体包括:①采用图像分类技术可以完成单个体矿石分类和粒度分类;②采用语义分割技术可以完成多个体矿石分类和粒度统计;③采用目标检测技术可以完成多个体矿石分类、大块检测和异物识别.上述任务在矿山质量控制、安全监控等方面起着重要作用.在现有研究基础上,还存在以下问题值得研究:

(1) 传送皮带上多个体矿石分类的研究.由于矿石表面被灰尘、泥土和水分等所覆盖,丢失了具有判别性的颜色和纹理等重要特征,导致矿山现场皮带上的矿石分类问题还未被很好地解决.

(2) 矿石三维重构技术的研究.二维矿石图像丢失了大量特征,三维重构能得到矿石更加丰富的形状、体积等信息,将更有利于矿石粒度的分析.

(3) 时空多样性数据集的构造.由于矿石种类、尺寸和形状各异,以及外界自然条件的多变,目前大部分研究的训练集往往没有覆盖真实样本的多样性,导致了很多模型难以走出实验室这一困境.

(4) 语义分割标签的智能化制作.传送皮带图像中矿石数量多且存在很多细小目标,导致人为制作标签费时费力.

(5) 模型的轻量化处理.无论是针对便携嵌入式设备,还是为了满足对高速传送皮带图像处理的实时性要求,都需要对深度模型进行轻量化处理,在尽可能保证模型精度的同时,提高模型预测效率.

总之,随着深度学习技术的进一步发展和智能制造的进一步落实,有理由相信深度学习技术和矿石图像处理任务的结合会更为多样、更为有效,进而推动智慧矿山的建设.

猜你喜欢

皮带图像处理粒度
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
粉末粒度对纯Re坯显微组织与力学性能的影响
煤焦库供焦皮带应急控制改造
动态更新属性值变化时的最优粒度
1万多元的皮带
1万多元的皮带
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
双粒度混合烧结矿颗粒填充床压降实验