APP下载

基于改进UNet网络的烧结矿气孔分割①

2022-08-04周思雨储岳中张学锋

计算机系统应用 2022年7期
关键词:残差气孔卷积

周思雨,储岳中,张学锋

(安徽工业大学 计算机科学与技术学院,马鞍山 243032)

在烧结矿生产中,烧结矿的FeO 含量是烧结矿强度的一个关键因素. 当FeO 含量较高时,会导致烧结矿还原性能变差,从而影响烧结矿的强度. 一个烧结矿的气孔数量和面积可以判断其FeO 含量,因此检测烧结矿气孔数量和面积是很重要的研究方向. 传统的检测气孔数量和面积的方法是通过人工进行的,由于烧结矿数量多,导致工作量大,使得检测困难. 因此,很多小型企业只是对气孔进行粗略的观察,并没有进行正规检测和记录.

随着科学技术的发展,自动化以及信息化等技术逐步应用到工业领域中. 各种图像分割技术应用到工业中,文献[1,2]都是利用图像分割,对矿石进行粒度检测. 文献[3]利用图像分割技术进行钢铁的缺陷检测. 针对传统图像分割,常用的方法有阈值分割[4]、边缘检测[5]、形态学分水岭算法[6]、Hough 变换算法和轮廓查找算法[7]等. 由于烧结矿气孔的图像存在气孔形状不规则、轮廓不清晰、气孔相互粘连,增加了气孔的分割难度,从而出现了很多改进传统的分割算法的研究,如针对粘连图像进行分水岭算法的改进[8]. 近年来,运用卷积神经网络对图像进行分割,具有很大的优势并取得了较大的进展[9,10]. Shelhamer 等[11]提出的全卷积网络(FCN)使得语义分割得到了快速发展,该网络相比传统的CNN 分割的网络更加高效,减少了像素块带来的冗余存储和计算. Ronneberger 等[12]提出的UNet网络主要用于生物医学图像的分割,使用小数据集训练得到不错的结果,使得很多研究者关注. Zhou 等[13]提出了UNet++使用密集跳跃连接,通过叠加不同层次的特征,减小了编码特征和解码特征之间的语义鸿沟.仝真等[14]提出结合残差网络的方式,形成Res-UNet 网络进行图像轮廓优化. 文献[15]结合特征层密集连接的方式,提出Dense-UNet 模型用以改善分割性能. 这些网络都是在UNet 网络基础上进行改进,存在着在上采样时冗余和丢失部分特征,不适用于烧结矿气孔细节特征分割.

为了获得更高的准确度,本文提出先对原始烧结矿气孔图像进行OpenCV 图像处理[16–18]后进行图像分割. 为减少烧结矿图像分割气孔信息的丢失,在原始的UNet 上结合残差连接和拼接连接的思想提出改进的编码器,加强了气孔轮廓边缘特征的提取.

1 图像预处理和传统的图像分割

1.1 图像预处理

由于受到现场的光线、灰尘等因素干扰,需要对图像进行去噪处理. 为减少干扰,只进行单个烧结矿的采集和处理. 图像预处理的过程如图1 所示.

图1 图像预处理的过程

通过对烧结矿图像进行像素相加处理,如图2(a),消除部分噪声,提高像素亮度. 使用非线性滤波器中值滤波处理,如图2(b),中值滤波对于消除图像中的随机噪声和脉冲噪声具有较好的效果,又能很好的保护细节信息[19]. 之后将图像二值化,如图2(c),增强了烧结矿图像中气孔和其他地方的对比度,看出烧结矿图像上仍存在噪声信息. 最后通过运用形态滤波,开运算和闭运算联合,有效的去除二值图像中存在的前景和背景噪声,并在一定程度上平滑了边界,如图2(d).

图2 图像预处理

1.2 传统图像分割

本实验利用传统的边缘检测算法和分水岭分割算法对烧结矿图像进行分割,基于边缘检测的图像分割算法是通过检测包含不同区域的边缘来解决分割问题,是最先想到也是研究最多的方法之一. 分水岭算法是一种基于拓扑理论的数学形态学的分割方法. 通过实验,边缘检测算法对图像中的噪声进行了分割,将部分背景也分割成气孔. 分水岭算法存在着过度分割图像的现象. 利用形态学的处理,结合开运算和闭运算的操作,减少噪声再进行分水岭分割,仍然存在烧结矿气孔像素信息相近的背景进行了分割. 开运算是对图像先进行腐蚀然后膨胀,闭运算是对图像先进行膨胀后进行腐蚀. 式(1)是开运算的定义. 式(2)是闭运算的定义.

其中,X代表原图,Y代表结构元,⊙是腐蚀操作,⊕是膨胀操作.

如图3 所示. 由于传统的分割方法需要找到最佳阈值,当分割不同烧结矿图像时,都要改变阈值才能得到更好的效果,这个过程极其复杂. 传统分割算法不具有灵活性,导致分割出来的气孔误差率较大. 所以不能很好地适用于烧结矿气孔的分割.

图3 传统图像分割

2 网络结构与算法原理

2.1 UNet 网络

UNet 网络最早是应用在医学影像分割中,相比于另外几种经典的语义分割网络具有训练数据量少并且精度高的特点,符合烧结矿气孔分割的要求. 图4 为UNet 网络结构. 网络由编码器和解码器两个部分组成.编码部分是通过Conv3×3 卷积、ReLU 激活函数和2×2 最大池化对输入图片进行降维和特征提取,使得特征图的尺寸逐渐减小、特征维度逐渐增加. 解码部分通过对特征图进行2×2 转置卷积以及1×1 卷积,使特征图片尺寸增加,维度增加,加强了气孔特征的细节提取. 解码器与编码器之间通过跳跃连接进行特征图融合,使得不同层气孔特征融合连接到解码相对应层中,其中浅层特征用来分割气孔,深层特征用来定位气孔的位置,二者的有效结合有助于增加气孔特征的多样性. 因此,UNet 网络非常适用于分割烧结矿气孔图像.

图4 UNet 网络结构

2.2 残差结构

为获取更多的烧结矿气孔的信息和特征,可以通过加深网络来实现. 用一种“短路” (shortcut connections)的模型来帮助多层的非线性的神经网络的拟合[20].结合残差结构思想解决网络加深所带来网络退化的问题,使网络可以加深到更深的层次,利用到更多的信息.

当输入为xl时,学习残差是F(xl),xl+1表示下一层输入. 当残差为0 时,此时堆积层仅仅做了恒等映射,此时把该处的深度忽略掉,这样保证网络性能至少不会下降. 但是实际上残差不会为0,这也会使得堆积层在输入特征基础上能学习到新的特征,从而拥有更好的性能. 如果残差映射F(xl)的结果的维度与跳跃连接xl的维度不同,对xl进行升维操作,两个维度相同,然后进行相加计算. 如图5 所示.

图5 残差结构

残差结构可以认为是烧结矿气孔图像的信息,且图像的信息可以直接进行传递,所以在卷积层上学到的东西就比较少,只是学习特殊的表达特征,而全部的信息是可以用残差的另一个恒等式保存下来,一定程度上解决网络退化问题,提升了梯度的反向传播,使得网络更容易训练. 所以残差结构使得网络需要学习的烧结矿气孔特征变少,容易学习.

2.3 扩展模块结构

由于残差连接可以通过前后层特征相加实现特征重用,使训练过程中梯度的反向传播更容易. 为使烧结矿气孔特征不容易丢失,可以采用拼接连接,当提取到新的特征的时候,拼接前面层特征. 所以,为了使烧结矿气孔能更加准确地分割,本文提出了一种结合残差拼接连接思想的模块,在原始UNet 网络的解码器的基础上,在进行一次卷积过后,将其结果直接与下一次卷积结果进行拼接,使气孔特征更少地丢失,提取到更多的气孔特征. 加入特征映射,将提取的原始气孔特征和新的气孔特征进行多尺度融合,使用1×1 的卷积进行相加操作. 最后将特征融合学习得到新特征进行输出.

其中,X1和X2是通过BN (batch normalization)、ReLU、3×3 卷积操作得到的结果,C(·)是拼接函数. 通过将X1和X2特征进行拼接,能得到更多的烧结矿气孔特征,且X1直接与输出连接,在反向传播过程中,使这部分传递的更容易. 输入通过1×1 卷积操作,使与前面输出维度相同,然后进行相加计算,最后输出结果,如图6.

图6 扩展连接结构

2.4 改进的UNet 网络架构

UNet 网络能够高效地利用不同层的特征,但是作为独立模型使用时还存在着很多不足,每一层提取特征使用了两次Conv3×3 卷积 ,很多气孔的细节信息丢失,分割效果较差,网络层数还较浅,提取气孔特征较少,使得特征学习次数也有限,表达性不强. 本文使用改进的残差拼接连接结构作为特征提取模块,结合UNet 网络的设计思路,网络结构如图7 所示. 采用改进的残差拼接结构Block 移植到编码器部分,进行烧结矿气孔特征的提取. 操作过程如下: 在特征提取部分,将得到的尺寸为512×512 烧结矿气孔图像输入到改进的UNet 网络特征提取模块中,采用不同Block 模块数量,加深网络,形成多层特征融合,学习到更多的新特征,提取了更高级的烧结矿特征. 利用上采样对烧结矿气孔图像进行还原图像分辨率,使用特征复制拼接操作将特征提取部分和上采样部分相同尺度的特征进行拼接融合. 上采样部分的终层卷积使用Sigmoid 分类器目标分类函数,以提高学习效率,保证分类的准确率.本文方法可以有效地解决UNet 烧结矿气孔特征遗失的问题,减少网络参数并且很大程度上防止梯度消失和爆炸.

图7 改进网络架构

3 实验结果与分析

3.1 实验设置

本文利用工业相机采集了尺寸为3024 像素×4032像素的烧结矿图像200 张,并挑选出100 张作为数据样本. 为增加训练速度和效果,将烧结矿图像裁剪成为512 像素×512 像素尺寸. 将数据集(100 张图片)划分为训练集、验证集和测试集,训练集用以训练模型,验证集用以对模型进行调优工作,测试集用以测试模型的性能. 利用 labelme 对数据样本进行标注,制作标签集,样本集与对应的标签集即构成了新的数据集. 图8(a)是原图,图8(b)是通过人工分割气孔,进行标注的标签图像.

图8 数据与标签

原始的烧结矿图像样本是进行预处理过的数据集.为扩充样本的数量,对训练集和验证集进行数据增强.通过随机旋转、翻转和镜像等处理将数据集扩充到200 张. 测试集不作处理. 用生成的样本数据训练网络模型,模型初始设置中网络模型权重为随机值,批量大小设置为2,采用Adam 作为模型的优化器,学习率设置为0.000 01,训练批次设置为100,损失函数使用经典的二分类交叉熵损失函数,如式(6)所示.yi表示样本i的label,正类为1,负类为0,pi表示样本i预测为正类的概率根据训练集和验证集的损失,来判断网络模型是否收敛.

实验环境为Intel Xeon E5 v3 处理器,32 GB 内存,NVIDIA GeForce RTX 2080 Ti 11 GB 显卡,采用CUDA 10.0

架构,使用PyTorch 深度学习框架,Python 3.6 语言编写.

3.2 评价指标

本文为了对烧结矿气孔分割网络性能进行评估,采用准确率(Accuracy)和Dice 系数(Dice)、平均交并比(MIoU)来量化分析本文算法分割结果,计算公式如式(7)–式(9):

式(7)和式(8)中,Rgt表示ground truth 的气孔区域面积;Rpred表示本文算法预测的分割结果;TP表示算法图和标准图中各个气孔像素均为1 的像素点数量;TN为结果图和标准图中像素值均为0 的像素点数量;FP表示测试结果图中像素值为1 而标准图像素值为0 的像素点数量;FN表示结果图像素值为0 且标准图像素值为1 的像素点数量. 式(9)中pij表示真实值为i,被预测为j的数量,k+1是类别个数(包含空类).pii是真正的数量.pij和pji则分别表示假正和假负.

3.3 实验结果分析

由图9 可知,改进的UNet 网络(UNetnext)相较原始UNet 网络,损失函数收敛的更快,并且收敛于更小的值,因此改进后的UNet 网络具有更高的训练效率.

图9 网络训练过程的损失函数

为了验证本算法的分割能力,本文选取传统的UNet和具有密集连接的UNet++进行对比实验,其中各网络的数据集和参数设置与本文算法相同,计算得到各模型网络的精度评价指标.

从表1 评价指标可知,UNet 网络准确率达到95.55%,UNet++网络准率达到95.73%,改进网络准确率达到95.56%,可以看出,各网络的准确率都很高,可能是由于前景气孔面积过小,导致分割的准确率都高,并不能说明气孔分割的准确. UNet++网络的MIoU和Dice系数高于原始的UNet 网络,说明密集连接提取到了更多的烧结矿的特征. 改进的网络模型的MIoU和Dice系数也优于原始的UNet 网络,改进的残差拼接连接提取到了更多的特征.

表1 网络模型的评价指标 (%)

为了测试本文改进的模型网络应用效果更好,进行可视化效果显示,结果见图10 所示. 每一行是一个烧结矿的样本,图10(a)为原始烧结矿图像,图10(b)为真值图像,图10(c)–图10(e)分别为UNet、UNet++和本文网络的分割结果.

从图10 中虚线方框中可以看出,UNet 网络可以大致分割出烧结矿的气孔,但是由于气孔轮廓模糊,很多气孔都没有分割出来,存在着欠分割现象,UNet++网络由于存在密集连接使模型能在一定程度上提高了对细节部分的检测能力,对轮廓模糊的气孔进行了分割,但是对气孔轮廓分割不够精细,有些气孔还存在了过分割的现象,相比,改进的网络结合了残差和拼接连接,更准确地分割烧结矿气孔.

图10 网络分割效果

将前面的轮廓图二值化. 利用 OpenCV 的相关算法获取各个模型算法轮廓图的参数,利用findContours函数算法,检测出每个图像中的轮廓的个数,由于烧结矿气孔大小不一,统计没有规律,设置一定的周长或面积的限制,排除特小的气孔轮廓,再进行气孔个数统计.

如表2 所示,通过与原始的图像气孔数量进行比较,改进网络分割出来的烧结矿气孔数量比OpenCV 改进的分水岭算法检测出的气孔数更加准确,比UNet 和UNet++网络分割出来的气孔数量误差率较小.

表2 各算法法分割气孔的个数

4 结论与展望

本文通过传统图像分割算法分割烧结矿气孔效果较差的不足,应用图像语义分割技术,提出UNet 网络,结合残差和拼接连接的思想,分割烧结矿气孔图像. 利用扩展连接模块将UNet 的每个子模块替换,通过不断增加提取模块,进行多层特征融合,使得网络在保持原本空间信息的情况下,获取更多气孔的局部特征. 使用残差连接,解决了网络退化的问题. 使用拼接连接,保证了更多的特征信息. 该思想能够有效分割出气孔区域,有利于更好判断气孔的占比和数量,对于烧结矿的烧结质量具有重要价值. 然而,由于烧结矿气孔图像样本是人工标注,气孔图像不清晰等诸多因素的影响,改进后的网络仍然存在气孔边缘轮廓不精确,错把背景当成气孔检测出来等问题. 因此,后续模型的改进方向仍然是提升模型的分割精度,并且对气孔实现更加精确的语义标注.

猜你喜欢

残差气孔卷积
基于全卷积神经网络的猪背膘厚快速准确测定
多级计分测验中基于残差统计量的被试拟合研究*
孔内压力对规则多孔Cu-1.3Cr合金气孔形貌的影响
基于图像处理与卷积神经网络的零件识别
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
轿子山六种杜鹃花属植物中气孔群的发现
基于深度卷积网络与空洞卷积融合的人群计数
KD490:一种软包锂离子电池及其制作工艺
卷积神经网络概述
测量数据的残差分析法