胥 维,段 云,王博楠
(1.北京矿冶研究总院,北京 100160;2.矿冶科技集团有限公司,北京 100160)
矿岩块度分布是评价岩石爆破效果的主要参数之一,可以为爆破参数设计和优化提供数据依据。矿岩块度测量方法研究可以追溯到19世纪末,澳大利亚学者Rozival首次用线段法测量岩石的粒度组成。1960年Bapon通过照片取样,将线段法引入矿岩块度的测量。矿岩块度分布的研究经历了半个多世纪,产生了多种测量方法。归纳现有测量方法,可以分为两大类,一类是直接测量方法,另一类是间接测量方法[1]。直接测量方法是对爆破后岩石的块度直接进行测量,从而获得块度分布信息。直接测量法主要有筛分法、二次爆破岩块统计法和爆堆直接测量法。直接测量法费时费力、测量人员安全难以保障,逐渐被以图像分析法为代表的间接测量方法代替。
早在1995年,加拿大滑铁卢大学的富兰克林开发的Wipfrag视觉系统就能用于测量岩石块度信息[2]。Wipfrag第二代系统[3]包括图像输入输出、块体在线分析、比例尺标定、场景转换、块体特征参量设定、报表输出等功能,该系统处理一张图像大概需要4 s,针对灰度特征复杂的岩堆图像,可以结合人工操作如缩放和合并、鼠标手动编辑、删除和绘制线条等方式进行更准确的图像分割,使得获取岩石块体信息更真实。类似的块度自动分析系统还有美国富科斯博公司研发的95PSD颗粒尺寸分布仪器,其原理是利用颗粒弦长关系反映块度分布规律,但是局限性在于只适用于传送带上的块度分割。吕林[4]基于国外Split岩体分析系统,利用 Matlab强大的计算能力,开发出一个能对露天台阶坡面进行岩体分割的算法模型,提高了裂隙岩体尺寸的计算效率,充分发挥了Split软件自动分割提取的优势。国内外研究成果中不缺乏矿岩块度测量软件,但没有真正实现从图像采集到块度信息分析全流程的自动化、智能化。图像采集方面,这些软件都需要人工采集图像,每次采集的距离和角度难以固定,不能实现自动连续采集图像;图像分析方面,这些软件需要大量用户交互,对每张图片调整不同的阈值,以获取良好的分割效果,难以自动分析批量图像的块度信息。
近年来,随着卷积神经网络的出现,基于深度学习的计算机视觉算法开始快速发展。深度学习方法的主要优点是,只要有足够的训练数据、合理的网络模型、充足的算力,训练出的模型就有良好的泛化性能和鲁棒性,在从未见过的数据上,模型也能取得接近甚至超过人类水平的预测效果,而不需要依赖用户干预或者设置特定的阈值。
本论文综合应用物联网、深度学习等技术开发矿岩块度自动分析系统,该系统能够在无人参与情况下连续工作,自动采集与筛选适合块度分析的图像样本,并能通过网络实现信息共享,最终在Web界面实现块度信息展示。本文主要工作如下:
1)创建电动轮状态分类数据集,开发电动轮卸矿图像自动采集系统。
2)提出一种基于U-Net模型的块度信息自动分析算法。
3)搭建块度信息在线云平台,整合自动分析算法,实现对大容量流数据的实时分析和块度信息可视化。
本系统由基于MobileNet分类模型的图像采集子系统、云平台图像分析子系统和Web用户界面三部分组成。该系统的结构如图1所示。数据采集子系统由工业电脑、高精度工业相机、4G无线传输装置组成。工业相机用于捕捉每辆电动轮料斗达到最大高度时的卸矿图像,工业电脑用于部署基于MobileNet的图像分类模型和基于网络编程的图像传输程序。云平台基于Django框架搭建,分为图像接收模块、图像分析模块、图像存储模块、用户管理模块。用户界面基于Lay UI框架和Echarts图表库实现,用于粒度信息可视化。
图1 矿岩块度自动分析系统Fig.1 Automatic analysis system of ore fragmentation
系统硬件包括工业电脑、工业相机、DTU、开关电源等。硬件参数信息如表1所示,满足户外恶劣环境下连续工作的需求。采集系统安装在旋回破碎站中控室外壁,安装示意图如图2所示,采集示意图如图3所示。为保证拍摄质量,进行多次现场实验,最终相机帧率、曝光率等参数设置如表2时,达到最佳采集效果。
表1 采集系统硬件信息Table 1 Acquisition system hardware information
图2 采集系统安装示意图(单位:m)Fig.2 Installation diagram of the acquisition system
图3 采集系统采集示意图Fig.3 Schematic diagram of an acquisition system
表2 相机采集最优参数设置Table 2 Optimal parameter setting of camera acquisition
文献[5]认为旋回破碎站智能图像采集系统应满足以下要求:①自动“感知”样本图像的存在;②自动从休眠状态转为工作状态;③判断当前电动轮料斗是空斗还是满斗;④自动“丢弃”不满足分析要求的图像(如模糊的图像);⑤通过网络“共享信息”;⑥如果没有监测到进一步的活动则进入休眠状态。传统的距离传感器触发方式难以满足以上复杂的判断逻辑,得益于深度学习的出现,基于卷积神经网络的图像分类器能够将相机视野中的图像分为满足图像分析要求和不满足图像分析要求两类,实现对电动轮卸料图像的自动、准确采集。其中满足图像分析要求的图像只包括电动轮卸料时料斗达到最大高度且料斗中有矿石的图像,如图4所示。不满足图像分析要求的图像主要包括以下几种情况:①无电动轮出现的图像,如图5(a);②有电动轮出现但是电动轮还没有开始卸矿的图像,如图5(b);③电动轮卸完矿石的空斗图像,如图5(c);④电动轮卸完矿石离开旋回破碎站的图像,如图5(d);⑤低光照时,运动模糊的图像,如图5(e);⑥扬尘挡住相机视野的图像,如图5(f)。
图4 满足图像分析要求的图像Fig.4 Image meeting image analysis requirements
图5 不满足图像分析要求的图像Fig.5Images that do not meet the requirements of image analysis
数据集质量是提升深度学习模型性能的关键。在二分类问题中,类别不平衡问题将会降低模型泛化性能、降低系统鲁棒性[6]。本论文使用的分类数据集共520张图像,来自国内某露天矿山旋回破碎站。使用GT4905高精度工业相机,编写Python脚本调用OpenCV的运动物体检测函数,每次电动轮出现在相机视野中,相机就会自动采集,采集多次电动轮卸料全过程图像,用于训练适合精准、自动采集的二分类模型。采集时间为2021年4月22日到4月29日,持续一周时间,共采集7 000张图像,每张图片大小均为2 448×1 632。从这7 000张图像中精选出260张满足分析要求的高质量图像,标记为类别Qualified,选出260张不满足分析要求的图像(包含图5中的所有情况),标记为类别Unqualified。按9∶1划分训练集与验证集,训练集共468张图像,Qualified和Unqualified类别各234张图像。
采集程序部署在NI CVS-1458嵌入式工业电脑中,NI CVS-1458采用包含两个处理单元的异构处理架构:①四核Intel Atom处理器,运行Windows 7嵌入式操作系统的处理器,用于通信和信号处理;②Spartan-6 FPGA协处理器,对硬件实现高速控制和自定义触发。异构处理器提升了计算机视觉程序的运行速度,但NI CVS仍属于嵌入式设备,外存仅32 GB,所以本文选择了MobileNet V1图像分类模型。MobileNet[7]是谷歌团队针对手机等嵌入式设备研发的一种轻量级深度神经网络,使用深度可分离卷积降低模型参数量,从而降低模型的存储空间。模型结构如图6所示,包含1个普通卷积层、6个尺寸不同的深度可分离卷积层、5个相同尺寸的深度可分离卷积层、1个平均池化层、1个全连接层和1个Softmax层,所有层后面都会经过批归一化操作,除全连接层和Softmax层,其它层均连接Re LU非线性激活函数。
图6 MobileNet V1模型结构Fig.6 MobileNet V1 model structure
MobileNet V1有很多版本复现代码,本文实验代码基于Kearas官方版本修改,实验在台式机上进行,处理器为因特尔酷睿i5,内存为16 GB。为增强模型泛化能力、解决数据量不足的问题,引入迁移学习[8]的理念,具体流程为先在ImageNet公有数据集预训练MobileNet模型,模型收敛后在本文分类数据集上进行训练微调。训练Epoch(在训练集上的迭代次数)设为100次,读取数据的批量大小设为32。使用前文准备好的数据集作为输入,所有输入图像经过双三次插值、图像填充等操作调整为224×224×3大小,将像素值归一化到[-1,1]范围输入MobileNet模型。使用交叉熵损失函数计算当前模型预测值与真实值的差异,完整的损失函数值变化见图7。由图7可知,在第80个Epoch后,损失趋近于0,不再降低,模型收敛,最终模型top1准确率为98.08%,模型训练总时间为3 h,每张图片推理用时1~2 s,满足应用需求。图8为模型在验证集上的预测效果,图中Class为类别,Probability为模型推理的类别概率,取值范围为0~1。
图7 MobileNet训练损失及验证损失曲线Fig.7 MobileNet training loss and verification loss curve
图像自动采集系统采集到电动轮卸矿图像,通过4G网络上传云平台,由云平台部署的图像自动分析程序计算矿石的二维几何信息。本文图像自动分析算法基于两个U-Net模型。算法分为三层,第一层是基于U-Net的车斗区域分割模型,第二层是基于U-Net的矿石分割模型,第三层是基于OpenCV图像处理库的轮廓查找函数和轮廓几何信息计算函数。算法架构图如图9所示。第一层用于剔除图像中与矿石无关的背景区域,第二层用于分割每个矿石轮廓,第三层为统计层,统计每个轮廓面积和等效直径。图10(a)所示的原始图像经过第一层算法处理,输出如图10(b)所示;经过第二层算法处理,输出如图10(c)所示;经过第三层的轮廓查找算法处理,输出如图10(d)所示;最终等效直径计算结果如图11所示。本算法在计算过程中不涉及参数调整、阈值设定,实现了矿石图像几何特征的自动计算。
图9 图像自动分析算法架构图Fig.9 Architecture of automatic image analysis algorithm
图10 各层算法处理后的输出结果Fig.10 Output results of each layer algorithm processing
图11 等效直径分布图Fig.11 Distribution of equivalent diameter
在深度学习领域,数据集的获取途径主要有两种,自定义数据集和公共数据集,本文的车斗分割模型在公共数据集中并无先例,需要自定义数据集。自动采集系统采集的电动轮卸料图像存放在云服务器文件系统中,这些数据构成分割模型的原始数据,从原始数据中挑选出25张图像,使用Labelme工具进行标注,如图12所示。编写Python脚本,将标注生成的json文件转换为Pascal VOC2007图像分割标准数据集格式,用于模型训练。
图12 使用Labelme软件标记车斗区域Fig.12 Annotate the body area with Labelme
车斗区域分割模型基于Keras官方版本的U-Net程序修改,训练集和验证集图像数量之比为9∶1,实验硬件环境与前文分类模型相同,车斗区域特征简单,经过4轮迭代,训练集损失下降到0.074,模型训练过程中,损失函数变化曲线如图13所示。
图13 车斗区域分割模型损失函数变化曲线Fig.13 Variation curve of loss function of vehicle body area segmentation model
使用Io U(交并比)和PA(像素准确率)作为车斗分割模型的性能评价指标,两个指标分数越高,模型分割性能越好,计算结果如表3。
表3 车斗区域分割模型IoU与PA指标Table 3 Io U and PA indexes of vehicle body area segmentation model /%
其中Io U计算公式如式(1):
PA计算公式如式(2):
式中:假阳性(FP)表示背景类像素被分类为车斗区域类的像素数量,真阳性(TP)表示车斗区域类被分类为车斗区域类的像素数量,假阴性(FN)表示车斗区域类被分类为背景类的像素数量,真阴性(TN)表示背景类被分类为背景类的像素数量。
矿石分割模型将车斗区域分割模型的输出作为输入,分割出每个矿石。矿石分割主要困难如下:①单张图像各空间域的光照不均,不同时间自然光照强度不同;②矿石没有固定的形状和大小,纹理特征复杂;③矿石之间相互堆叠,难以分割。本文使用文献[9]开源的岩石语义分割数据集,该数据集包括950张原始图像和对应的标注图像,按9∶1划分训练集和验证集,实验的软硬件环境与车斗区域分割模型一致,经过9轮迭代,模型趋于收敛。训练过程中,损失函数变化曲线如图14所示,模型IoU和PA计算结果如表4所示。
图14 矿石分割模型损失函数变化曲线Fig.14 Variation curve of loss function of the ore segmentation model
表4 矿石分割模型IoU与PA指标Table 4 IoU and PA indexes of the ore segmentation model/%
为实现对采集端图像进行实时分析和计算结果展示,解决信息孤岛问题[10],需要搭建云平台。此外云平台还应具有数据查询、用户管理等功能。云平台后端基于Django框架开发,前端界面基于Lay UI框架,平台架构如图15所示。平台基于B/S架构,用户可以使用任意装有浏览器的设备访问,无需安装其它软件或插件。图16为矿岩块度信息显示界面,使用不同颜色的曲线区分D10、D25、D50、D75、D90粒度数据。
图15 云平台架构图Fig.15 Cloud platform architecture
图16 块度信息查询界面Fig.16 Fragmentation information query interface
矿岩块度数据为爆破效果评价提供定量信息。本文开发了一套矿岩块度分析系统,该系统由图像采集子系统、图像分析子系统和可视化界面组成。本系统可以自动采集旋回破碎站的电动轮实时卸料图像,并上传云平台,使用基于U-Net的图像分割算法自动分析当前图像的块度信息。以上流程均实现无人化、智能化,因此可以不间断分析当前破碎站的块度信息,为整个矿山的爆破效果评价提供数据支持,为实现智能化爆破提供可靠依据。