一种改进的破碎口矿石图像分割算法

2021-11-22 08:14刘太和苑庆波董恩吉
物联网技术 2021年11期
关键词:矿石损失像素

胡 健,王 伟,刘太和,苑庆波,董恩吉

(1.鞍钢集团关宝山矿业有限公司,辽宁 鞍山 114000;2.北京科技大学 自动化学院,北京 100083;3.北京科技大学 工业过程知识自动化教育部重点实验室,北京 100083;4.山东黄金矿业(鑫汇)有限公司,山东 平度 266700)

0 引 言

粒度信息是判断矿石破碎质量的一项重要指标。粒度检测数据可以用来判断传送皮带上是否存在大块或异形矿石,从而为矿石的破碎和输送提供有用的信息,减少矿山现场常见的事故,如大块矿石堵漏、异形矿石划伤皮带等。精确的矿石分割是矿石粒度统计的前提。然而,传送带上矿石形状与尺寸存在的各异性、现场灰尘与光线的影响、矿石表面复杂的纹理与阴影、矿石与矿石之间严重的粘连和遮挡都给矿石的准确分割造成了严重干扰,特别是矿石之间的粘连导致的矿石边缘模糊甚至是消失,很容易引起矿石分割中常见的欠分割现象。

常见的矿石粒度检测方法包括人工筛分、物理沉降等。这些传统的方法适应性强、适用范围广,但是对于人力资源的消耗十分巨大,且检测结果容易受到工人主观因素的影响[1]。近年来,随着计算机技术的发展,基于传统图像处理的矿石粒度自动检测方法被提出且已经取得了巨大突破,其中以分水岭及其改进方法[2-4]、阈值分割方法[5]和基于特定理论的分割方法[6]为主,但这些方法依赖繁琐的调参过程,且很难泛化到不同的场景。

2012年,AlexNet神经网络[7]是ImageNet项目竞赛[8]的冠军项目,标志着深度学习在图像分类领域取得了突破性的进展,甚至在该数据集上达到了高于人类水平的准确率。受益于图像分类的发展,分类下游领域,如目标检测、语义分割也纷纷取得巨大进步。双阶段目标检测Faster R-CNN算法[9]已成为当下目标检测的基础。基于深度学习的U-Net模型[10]、PSP-Net模型[11]、DeeplabV3+模型[12]及其各种改进模型占据了语义分割的统治地位。进一步地,在矿石分割领域,深度学习也展现出了相对于传统图像处理方法的巨大优势。

Liu等人[13]利用训练的U-Net初步提取了矿石图像轮廓,之后利用训练的Res-Unet对初步分割得到的结果进行二次优化;实验结果表明,基于级联的矿石轮廓检测和优化方法分割得到的结果相较于只进行一次分割得到的结果更加准确。但是,由于该模型具有检测和优化两个单独的网络,不仅需要更多的参数,而且不能实现对矿石端到端的分割。Li[14]等人通过减少U-Net每一层的通道数使得模型更加轻量,通过优化损失函数并结合分水岭算法来改善矿石分割中常见的过分割和欠分割问题。但是,由于该模型结合了传统的图像处理方法,也未能实现对矿石图像端到端的分割预测。根据皮带上矿石形状与尺寸不一的特性,Xiao等人[15]利用可变形卷积[16]代替U-Net特定部位的普通卷积。该模型极大地提高了矿石的分割精度,但可变形卷积相较普通卷积需要耗费更多的计算资源,因此基于视频流并对实时性有一定要求的矿石分割而言,可变形卷积并不适宜。Yang等人[17]利用VGG16网络[18]作为U-Net的编码部分来进行特征的提取,利用改进的轮廓感知损失函数给予矿石中困难分割部分和矿石边缘更多的权重,并在解码器部分融合了不同级别的特征。该模型极大地提高了多类别矿石分割的精度,但由于他们的数据集来自摆拍,与现场实际情况还有较大的差异。

深度学习在矿石分割中的应用并不少见,但到目前为止所选场景据作者所知均在传送皮带。本文以破碎口矿石作为研究对象,为了提高训练准确率和改善因矿石图像数据量少引起的模型过拟合问题,将Res2Net分类网络[19]作为改进模型的编码部分来提取矿石图像特征;为了在保持训练过程平稳性的同时能给予图像中矿石不同部位相适应的损失权重,将交叉熵损失函数与Focal-loss函数[20]按照一定比例结合来反向传播训练网络达到收敛。

1 数据集构造与预处理

获取破碎口矿石视频,按一定帧率将视频分帧,保存为原始矿石图像。根据构造数据多样性的原则,从所有的矿石图像中选择出具有代表性的70张图像作为训练数据集。图1展示了两张分别在白天和夜晚的矿石图像示例。

图1 破碎口矿石图像示例

在对训练图像挑选完成后,利用专业语义分割标注软件Labelme对图像进行精细标注,矿石原图及其对应的标签示例如图2所示。

图2 矿石原图及其标签示例

为减少模型训练与预测时间,首先对矿石图像进行灰度化处理,以此可以减少输入图像三分之二的数据量。由于矿石图像中存在太多噪声,选择在降噪平滑的同时能保持矿石图像边缘信息的双边滤波,对灰度化后的图像进行滤波处理。最后利用局部直方图均衡化增大矿石与背景的对比度。矿石原图、灰度图、双边滤波处理结果以及局部直方图均衡化处理结果如图3所示。为进一步减少训练与预测时间,将原图分辨率从1 600×1 440调整到416×416。

2 网络结构和损失函数

2.1 网络结构

2.1.1 U-Net网络

U-Net网络是基于FCN网络[21]改进得到的一种典型的编码-解码全卷积网络,最初被用来解决医学细胞图像分割,并取得了很好的效果。U-Net因其类似于“U”型优雅的结构、所需训练集少、分割精度高等优点已成为图像分割领域最著名的基础网络之一。

U-Net网络最新颖的两点分别是对称的编码-解码结构和跳跃连接。如图4所示,U-Net网络编码器部分每一级由两个3×3卷积组成,并利用最大池化对图像进行下采样,每次卷积后利用Batch Normalization(BN)进行归一化处理,利用ReLU进行激活,一共下采样4次,最终特征图的分辨率为原始输入图像的十六分之一。相邻两级之间,高层特征图分辨率是低层特征图的二分之一,而前者的特征通道数是后者的两倍。编码器部分的功能是提取图像高层的抽象语义特征,利于后续像素的分类。解码器部分用来恢复高层语义特征的分辨率。不同于FCN、PSP和 DeepLab系列直接从最小分辨率一步上采样至原图像大小,U-Net采用一种对称于编码器的解码结构,每次上采样的倍数都为2,上采样后也会通过两层的卷积层对信息进行处理,逐步上采样4次,直至恢复到同原图一样的大小。通过这种解码方式,更有利于信息的传递。另外,每次上采样后,反卷积的结果都会与编码器同级最后一层的特征图进行拼接,将高层次的语义信息与低层次的位置信息相结合,再搭配不同尺度的位置信息,U-Net可以做到在保证语义分类准确的情况下恢复图像精细的边缘信息,这一点对于矿石的分割显得尤为重要。解码部分最后一层采用1×1卷积将特征映射到网络的输出层。

图4 U-Net网络结构

2.1.2 Res2Net网络

矿山现场环境恶劣,比如灰尘、泥土对矿石的遮挡;皮带矿石图像本身具有复杂性,比如图像的不清晰、一张图像中矿石数量多,尤其是尺寸小的矿石等,都会急剧加大人工标注的成本。众所周知,深度学习是一种基于数据驱动的方法。在训练集有限时,训练网络模型容易出现过拟合现象。实验证明[17,22],基于迁移学习的方法既可以加快模型训练,抑制模型过拟合,又可以提高模型精度。

视觉任务中多尺度的特征表示十分重要,作为主干网络的卷积神经网络对尺度表征能力越强,性能提升越大。目前,大多数多尺度信息的获取是通过简单的卷积堆叠操作完成的,比如AlexNet、VGG,也有通过在同一层并行不同卷积核大小来达到获取多尺度特征的目的,比如Inception系列[23]。毫无疑问,当前最流行的主干网络是ResNet网络[24],这种基于跳跃连接构成残差块的网络解决了因网络层数加深导致的网络退化问题。然而,经典的ResNet残差块并不包含多尺度信息,已有研究中基于残差模块提出了简单高效的多尺度模块Res2Net,如图5所示。左侧为经典残差模块,右侧为Res2Net模块。后者具备更强的多尺度特征提取能力,但计算负载量与左侧架构类似。具体而言,将输入分成几部分,一组卷积核从对应的一组输入特征图中提取信息,将得到的信息送到另一组卷积核中作为输入;重复此操作,直到处理完所有输入特征图;最后,将每组输出的特征图通过拼接操作送入1×1的卷积中用于特征融合。Res2Net以更细粒度表示多尺度特征,并增加每个网络层的感受野范围,从而提高整个模型的提取特征能力。

图5 普通残差块与Res2Net块对比示意图

考虑到矿石尺寸的多样性,基于迁移学习的Res2Net被用来代替经典U-Net网络的编码部分,用以提高训练准确率和改善因矿石图像数据量少而造成的过拟合问题。

2.2 损失函数

交叉熵损失函数是分类中最常见的损失函数。矿石语义分割的本质是对每一个像素进行二分类,求出每个像素是矿石的概率,因此二分类交叉熵(BCE)被采用,其公式如下:

其中:yi为像素的真实标签,取0时代表背景,取1时代表矿石;pi为单个像素被预测为矿石的概率;n为像素总数。

然而,交叉熵损失函数对所有像素“一视同仁”。在矿石分割中,神经网络是很难对处于模糊边缘的像素进行“轻而易举”地预测的,它既有可能把边缘像素预测为背景,也有可能把该像素预测为矿石,则该像素应被当作困难样本处理,给予更多的损失权重,;同样对于矿石表面复杂的纹理与阴影这种极易分错为背景的像素也应给予更多的损失权重。而Focal-loss的设计专门针对图像中存在不同困难程度的像素,对Focal-loss的计算如公式(2)所示:

其中α和γ为超参数,α取0.25,γ取2。

将二值交叉熵BCE与Focal-loss结合起来,通过对比试验寻找二者之间合适的比值,既保留了交叉熵训练平稳的优点,又利用了Focal-loss自适应地给予矿石不同部位像素不同损失权重的优点。最终损失函数的构造如公式(3)所示。其中7是为了平衡Focal-loss本身值比BCE低太多,避免BCE在损失函数中占据主导地位而根据相关规则[25]给定的一个数值。

3 模型训练与预测结果

3.1 模型训练环境与参数设置

实验基于Windows10操作系统、PyTorch开源框架、Python3.6、CUDA10.2、两块 NVIDIA Geforce GTX 1080 GPU显卡。优化器为Adam,学习率为0.000 1,Epoch为300,Batch_size为2。除了预训练部分初始化参数来自ImageNet,其余网络部分均采用初始方法。保存训练集准确率最高的参数模型用来对图像进行预测。为了实验的可复现和实验公平地对比,固定随机种子。

3.2 模型评价函数

选取训练集像素准确率(PA)为评价指标,其计算公式如下:

其中:TP表示预测值与标签值均为1的像素总数:TN表示预测值与标签值均为0的像素总数;FP表示预测值为1而标签值为0的像素总数;FN表示预测值为0而标签值为1的像素总数。

3.3 实验结果分析与预测

图6为训练过程中训练集像素准确率随迭代轮数的变化图。在迭代150步后,模型接近收敛。保存训练集最高准确率为90.1%时的参数为最终的预测模型。利用得到的模型对未经过训练的图像进行预测。如图7所示,训练得到的模型在测试集上有不错的分割效果,能为现场生产运作提供比较可靠的矿石粒度以及大块和异形信息。

图6 训练准确率示意图

图7 模型预测结果示例

4 结 语

本文利用基于U-Net改进的深度学习网络模型对破碎口矿石进行分割。为了提高训练准确率和改善因矿石图像数据量少引起的模型过拟合问题,将分类网络Res2Net作为改进模型的编码部分来提取矿石图像特征;为了在保持训练过程平稳性的同时能给予图像中矿石不同部位相适应的损失权重,将交叉熵损失函数与Focal-loss按照一定比例结合来反向传播训练网络达到收敛。实验结果表明,基于U-Net改进的模型在训练集上达到了90.1%的准确率,在测试集上也有不错的分割效果,表明了训练模型的有效性,能为现场生产运作提供更可靠的矿石粒度以及大块和异形信息。

猜你喜欢
矿石损失像素
赵运哲作品
在课堂上“挖矿石”
像素前线之“幻影”2000
胖胖损失了多少元
矿kuànɡ石矿石多美丽
“像素”仙人掌
玉米抽穗前倒伏怎么办?怎么减少损失?
锑矿石中锑的准确快速测定法
一般自由碰撞的最大动能损失
损失