APP下载

基于神经网络的端到端的砂石粒径检测

2023-10-22秦宋林陈嘉浩

智能计算机与应用 2023年8期
关键词:分水岭均方砂石

秦宋林, 吕 鹏, 陈嘉浩, 吴 锐

(1 哈尔滨工业大学, 哈尔滨 150001; 2 中电建河南万山绿色建材有限公司, 河南 洛阳 471900)

0 引 言

粒度控制是选矿破碎作业中的核心工作。 粒度参数主要有破碎颗粒的面积、周长、粒径和体积等;粒度分布是指不同粒度的颗粒占总颗粒的百分比含量。 破碎矿石的粒度分布是破碎过程主要的工艺考核指标,若能精确检测破碎矿石产品的粒度分布,并据此及时调节破碎工序控制参数,调整破碎产品的粒度分布,那么就可以实现破碎过程粒度控制的优化,进一步提高破碎效率,降低能源消耗[1-2]。

为此,研究使用基于神经网络的方法直接完成对砂石图像的粒度估计。 具体包括数据集的获取、数据集的标注、以及模型骨架网络设计、损失函数的设计等方面。

1 研究现状

传统视觉分割主要包括分水岭[3]、Canny 算子[4]和Graph cut 算法[5]等。 Beucher 等学者[3]提出了分水岭算法,根据分水岭的构成来考虑图像的分割。 分水岭计算分为2 个步骤,一个是排序过程,一个是淹没过程。 首先对每个像素的灰度级进行从低到高排序,然后在从低到高实现淹没过程中,对每一个局部极小值采用先进先出(FIFO)结构进行判断及标注。 分水岭算法在诸多分割任务中重验证了操作的可行性。 Canny 开发出多级边缘检测算法Canny 算子,首次提出了边缘检测计算理论并且应用于图像分割领域。 Canny 算子通过降噪、寻找图像中的亮度梯度、在图像中跟踪边缘等步骤完成图像的边缘检测,并且这种方法可以适用于不同的场合[4]。 Boykov 等学者将Graph cut 用于分割任务当中[5]。 此类方法把图像分割看作像素标记问题,目标区域和背景区域标记为不同的值。 进而通过最小化能量函数来得到目标区域和背景区域的边界,即可得到分割结果。

由于砂石开采的实际情况充满了粉尘颗粒,大量的粉尘颗粒对于算法的鲁棒性提出了更高的要求。 对于分水岭算法而言,需要调节众多的超参数,无法满足实际的工作要求。 同时现场工作空间的不稳定性导致一套超参数无法满足长时间的工作需要,即参数需要随时进行调整,从而降低了算法的适用性。 基于上述的分析可知,传统算法难以适用于砂石粒度检测问题研究中。 因此,基于神经网络,本文提出了鲁棒性更强、效果更好、超参数更少的粒度检测算法。

2 算法描述

为实现粒度检测的实时化、自动化、智能化,需要搭建自动化的粒度检测系统,能对破碎所产生的砂石粒度分布进行实时监测。 通过粒度分布的情况,就能对生产作业进行指导,实现智能生产。 采用神经网络直接估计工业相机拍摄图像的砂石粒度分布。 具体训练流程如图1 所示。

图1 训练过程图Fig. 1 Training process diagram

2.1 数据采集

构建砂石粒度检测数据集的关键在于使用工业相机获取图像以及对图像进行正确的标注。 在图像获取阶段,本文使用真实的砂石人为进行混淆,进而用相机进行拍摄获取图像。 这种操作相比于直接在生产环境中获取具有简便灵活等特点,同时图像并不会有较大差距。 在采集图像中,关键就在于控制图像数据的分布。 在构建数据集之初将砂石按照大小进行初步的分类,共分为大粒度、中粒度、小粒度三种。 因此在获取图像阶段,不断从3 种粒度砂石堆中拿出砂石进行混淆,在混淆阶段不断地调整大粒度、中粒度、小粒度三种砂石的比例,以此来保证分布的均匀性。 采样得到的砂石图像如图2 所示。

图2 采样得到的砂石图像Fig. 2 The sampled gravel images

2.2 训练数据集构建

完成砂石粒度获取的另一个关键的步骤在于图像数据的标注。 砂石的分布信息无法从图像中直接获取,必须借助于统计图像中砂石的个数,并且依靠每个砂石的粒径大小计算整体的粒度分布。 本文对于一个砂石标注信息定义为(x1,y1,x2,y2),其中坐标系原点为图像左上方。 标注如图3 所示。 图3中,红色线条表示标注的粒径。

图3 砂石图像的粒径标注Fig. 3 Particle size annotation of gravel images

在粒度检测中,图像的标签是一个图像中矿石的粒度分布情况,概率密度函数能够对分布做很好的表达,然而对标注提出了更高的要求,因此本文采用离散型概率分布来对图像粒度分布进行表达。

本文设计离散型随机变量X,K个特定大小的粒径{t0,t1,…,tk} 且满足t0≤t1≤…≤tk。 标注的图像为一张图像所有砂石的粒径信息,因此需要完成粒径信息到粒度信息的转换。 对于粒度分布P,有:

其中,P(tm≤X <tn) 表示一张图像中粒径范围在[tm,tn) 中砂石数目占总体砂石数目的比例;n表示图像中砂石的总数目;A表示图像中粒径的集合。另外,随着数值K的增大,粒度分布P可以更好地对真实的粒度分布进行表达。 本文设定K=6,即粒度分布曲线由6 种指定的粒径进行划分。

2.3 模型训练

提出的模型包括输入输出、骨架网络设计、损失函数设计三个方面。 模型的输入即工业相机拍摄的砂石图像,输出即砂石的粒度分布情况

在处理视觉图像中,最为有效的骨架网络为卷积神经网络。 然而随着神经网络的研究不断深入,卷积神经网络也涌现出不同的结构,其中不同的网络适用的任务类型也多种多样。 因此,选取符合砂石粒度检测的网络是非常关键的。 本文选取DenseNet[6]作为骨架网络,选用具有121 层、4 个DenseBlock 结构的DenseNet-121 作为砂石粒度检测算法的骨架网络。 DenseNet 的架构如图4 所示。

图4 DenseNet 基本架构Fig. 4 Architecture of DenseNet

在粒度检测任务中,使用KL 散度作为损失函数[7]:

其中,P分布表示图像真实的粒度分布情况,Q分布表示神经网络预测的砂石分布情况。

3 结果分析

为了能更好地进行比较,本文采用了2 种评价指标,分别是均方误差和正确率。 均方误差计算方法如式(3)所示:

其中,Ek表示6 种指定粒度中第k个粒度的误差;N表示测试集的大小;zi表示预测粒度分布;表示真实的粒度分布。 上述指标是针对6 个粒度范围设计的各自评价指标,对于整体粒度分布的均方误差公式如下所示:

均方误差指标能够较好地反映模型对整体数据集预测结果和真实值之间的误差,但是无法有效衡量单个样本的粒度检测结果。 因此,本文提出正确率指标来衡量分割结果,推得的计算公式为:

正确率的含义可以看作如果一张砂石图像的粒度分布和真实分布各个粒径范围的均方误差小于一定的阈值,那么这张图像判别正确,反之则错误。

提出的神经网络算法及分水岭算法的均方误差见表1。

表1 神经网络和分水岭算法均方误差比较Tab. 1 Mean Squared Error comparison of neural network and watershed algorithm %

基于神经网络的方法在6 种粒度范围和整体粒度上均高于基于分水岭的算法,并且在小粒度上神经网络得到的提升更加显著。 同时,基于神经网络的方法得到的误差均较低,尤其是在大粒度砂石上拥有极低的均方误差。 这说明大粒度砂石具有相对来说比较明显的特征,而小粒度砂石的特征不容易区分。

正确率指标见表2。 为了更好地度量算法的性能,本课题采用了3 种不同的阈值(τ=5%,τ=7%,τ=10%) 来评估模型最终的性能。

表2 神经网络和分水岭算法正确率比较Tab. 2 Comparison of Acc between neural network and watershed algorithm%

由表2 可知,基于神经网络的算法性能远远超过基于分水岭的算法,并且在τ=10%的时候算法在测试集上达到了100%。 将现有正确率结果和均方误差结果做对比,理论上基于神经网络的算法在测试集上的均方误差为3.5%,当τ >3.5%时理论上算法性能应该达到100%,但是显然τ=5%算法准确率却只有92.2%。分析内在原因,主要是均方误差指标无法衡量一些测试集中的异常样本。 测试集中某些样本存在较小的误差而某些样本存在较大的误差,使用均方误差将会淹没掉这些较大误差的样本带来的误差,从而显示算法在整体数据集上具有较好的性能。

4 结束语

本文首先对现有的砂石粒度检测算法进行了全面分析,得出了分水岭算法并不适用于当前砂石粒度检测这个任务的结论。 同时提出了基于神经网络的砂石粒度检测算法,并且详细说明了如何进行数据集的采集和标注;算法的具体实现包括骨架网络的搭建和损失函数的设计。 最后,本文对提出的算法在测试集上进行量化分析,分析结果表明基于神经网络的端到端的砂石粒径检测方法展现了出色的性能。

猜你喜欢

分水岭均方砂石
一类随机积分微分方程的均方渐近概周期解
砂石在铁路上的妙用
Beidou, le système de navigation par satellite compatible et interopérable
2019,一定是个分水岭!
砂石换填法在地基处理中的应用
基于抗差最小均方估计的输电线路参数辨识
基于随机牵制控制的复杂网络均方簇同步
砂石采砂量核定方法的一些探讨
砂石含泥量对混凝土的影响
“华北第一隧”——张涿高速分水岭隧道贯通