APP下载

基于改进PSPNet的氩花图像分割算法

2022-10-17达,熊

计算机工程与设计 2022年10期
关键词:轻量化卷积损失

张 达,熊 凌+

(1.武汉科技大学 冶金自动化与检测技术教育部工程研究中心,湖北 武汉 430081; 2.武汉科技大学 机器人与智能系统研究院,湖北 武汉 430081)

0 引 言

实时分割氩花图像,指导钢包底吹氩流量控制任务,可提高氩气流量控制精度,提升钢液质量[1,2]。近年来,基于深度学习的图像分割算法发展迅速[3]。Jonathan L等[4]提出的全卷积神经网络实现了像素级分割,但分割小物体能力较弱。Olaf等[5]提出U-Net网络,提高了小目标分割精度,但在分割时给临近分离边界的像素分配权重较大,降低了分割相邻样本的准确率。Zhao等[6]提出金字塔场景解析网络(pyramid scene parsing network,PSPNet),改善了类别混淆和小样本误判问题,但增加了网络的计算量,导致实时性降低。因此,为缩短图像处理时间,需要轻量化网络结构[7-10]。目前轻量化网络结构主要有MobileNet、Xception、ShuffleNet和SqueezeNet等,其中SqueezeNet[11]采用squeeze层对上层特征图使用1×1卷积核进行卷积,减少特征维数[11]。ShuffleNet[12]采用深度可分离卷积替代标准卷积以减少计算量[13],但缺少通道间的联系,导致特征复杂度降低。而MobileNet[13]在深度可分离卷积基础上加入了逐点卷积,融合了不同通道在相同空间位置上的特征信息,解决了深度可分离卷积中信息流不通畅问题,较好地完成了轻量化网络结构任务。但在使用轻量化网络提取特征时,会损失部分细节信息,使分割精度降低[14]。

为满足实时性和精度的要求,本文提出融合MobileNet-V2网络特点的轻量化PSPNet网络。利用深度可分离卷积降低参数量和计算量,使用金字塔池化模块聚合上下文信息,提高信息利用率。结合Dice损失函数和交叉熵损失函数特点提出融合损失函数,辅助优化分割网络。同时交替使用ReLU激活函数和线性连接层(Linear),避免特征退化。实验结果表明,改进的PSPNet网络分割精度高,实时性表现良好,适用于钢包底吹氩任务。

1 氩花图像分割算法

为实现钢包底吹氩流量智能控制,需要根据氩花区域覆盖面积和氩气流量之间的关系建立控制模型,其中获取氩花区域面积是建立模型的首要问题,但钢包底吹氩过程中产生的氩花形状不规则且类间差异大,导致从钢渣表面分割出氩花区域变得困难。PSPNet网络利用金字塔池化模块对复杂场景解析,高效利用全局上下文信息,在像素级预测中体现了良好的性能,可满足氩花图像分割任务对精度的需求。但应用传统PSPNet网络分割氩花图像时,会因为网络中庞大的计算量和参数量降低图像处理速度,导致氩气流量控制产生滞后,影响钢液质量,造成成本损失。所以需要对PSPNet网络进行轻量化设计,在保证分割精度的同时提高图像处理速度。

1.1 改进的PSPNet网络结构

本文以PSPNet网络框架为主体,对分割网络进行了轻量化设计,改进后的网络结构如图1所示。

如图1所示,改进的PSPNet网络沿用了传统PSPNet网络架构,在分割氩花图像时,首先采用MobileNet提取图像数据特征,将得到的特征图划分成不同大小的区域,在各区域内部进行全局自适应平均池化,再使用1×1卷积进行降维。然后利用双线性插值还原输出特征图大小,并与输入特征图并联连接。最后使用3×3卷积整合特征,1×1卷积调整通道,上采样还原图像尺寸,就可得到网络对原图中每个像素类别的预测结果。改进后网络通过金字塔池化模块增大感受野,采用并联特征融合的方式将低级特征与高级特征拼接,加强网络信息间交流,提高网络对图像细节的处理能力,可较好地完成语义分割任务。该网络主要特点体现在以下几个方面:

(1)使用MobileNet网络替代ResNet网络作为特征提取主干网络,降低卷积运算参数量。在提取特征网络的首末端使用步长为1的深度可分离卷积,中间层连续使用3次步长为2的深度可分离卷积,同时应用倒残差模块和瓶颈层结构解决低维信息映射到高维过程中信息丢失的问题,提高特征利用率,在不损失精度的同时尽量减少计算量;

(2)结合交叉熵损失(cross entropy,CE)函数和Dice相似系数(Dice similarity coefficient,DSC)损失函数特点,对DSC损失函数进行拉普拉斯平滑,最终将两种损失函数相加得到融合损失函数。采用融合损失函数辅助模型训练,解决氩花图像中正负样本不平衡问题和零概率问题,提高语义分割结果的边缘精细度;

(3)根据模型结构的数据特点,选择性使用ReLU激活函数或Linear,在通道数较多的位置使用非线性ReLU函数作为激活函数,在通道数少的位置使用线性Linear,避免低维映射过程中ReLU激活函数过滤掉负值信息造成激活空间坍塌,导致特征退化的问题;

(4)采用Adam和Momentum两种优化器优化网络参数,避免出现病态曲率减缓训练速度,加速网络训练过程。

1.2 深度可分离卷积

为降低模型参数量和计算量,使PSPNet网络轻量化,使用深度可分离卷积替代标准卷积。深度可分离卷积与标准卷积具有相似的卷积效果,但花费的计算量仅为标准卷积的12%左右。深度可分离卷积运算过程可分为逐通道卷积(depthwise convoluteion,DW)和逐点卷积(pointwise convolution,PW),DW中一个卷积核负责一个通道,一个通道只被一个卷积核卷积,DW运算后再进行PW运算,使输出的每个特征图包含输入层所有特征图的信息。深度可分离卷积和标准卷积运算过程如图2所示。

由图2可知,深度可分离卷积在block构成上有所不同,深度可分离卷积含有逐通道卷积、逐点卷积和Linear结构,运算过程可分为步长为1或2两种情况,步长为1时,输入与特征图维度匹配,可采用shortcut,步长为2时,输入与特征图维度不匹配,则不采用shortcut。并且深度可分离卷积采用Inverted Residuals结构,运算时先利用1×1卷积升维,然后进行3×3卷积,再利用1×1卷积降维,先进行扩张,再进行压缩,相比直接使用3×3网络卷积效率更高,尽可能在不降低精度的同时减少模型参数量和计算量。

同时标准卷积运算后结果直接通过非线性激活函数ReLU,这会使原本为负值的激活值变为零,导致深度网络仅在输出域的非零部分具有线性分类器的功能,这将不可避免地造成通道中的信息损失,所以在通道数较少处可采用Linear,避免损失有效信息,提高模型分割精度。

假设卷积核大小为KW×Kh, 输入通道数为Cin, 输出通道数为Cout, 输出特征图的宽和高分别为W和H, 则标准卷积的参数量(Params)和计算量(FLOPs)如下式所示

Pb=KW×Kh×Cin×Cout

(1)

Fb=Kw×Kh×Cin×Cout×W×H

(2)

其中,Pb表示标准卷积参数量,Fb表示标准卷积计算量。深度可分离卷积的参数量和计算量公式如下所示

Pd=Kw×Kh×Cin+Cin×Cout

(3)

Fd=KW×Kh×Cin×W×H+Cin×Cout×W×H

(4)

其中Pd表示深度可分离卷积参数量,Fd表示计算量。与标准卷积相比得式(5)

(5)

通过分析上式可知,采用深度可分离卷积运算可以成倍地减少模型的参数量和计算量,降低网络模型的时间复杂度和空间复杂度,大幅度缩短卷积运算时间,因此可以采用此方法节约计算成本,对网络结构进行轻量化。

1.3 融合损失函数

语义分割任务中常使用交叉熵损失函数来反映预测结果与真实值之间的差距,辅助模型训练,对分割网络进行优化,CE损失函数公式如下

(6)

式中:Gi为像素点i的真实类别,Pi为语义分割网络对像素点i的预测结果。钢包底吹氩过程中产生的氩花图像,通常存在钢渣覆盖区域远大于氩花覆盖区域的情况,存在类别不平衡现象。而使用交叉熵损失函数分割仅有前景与背景的图片时,如果前景像素的数量远远小于背景像素的数量,损失函数中背景的成分就会占据主导,导致模型严重偏向背景,影响语义分割效果。

DSC损失函数也常用于优化语义分割网络,结果取值范围在[0,1]之间,取值越大表示与真实值越相似,公式如下

(7)

式中:Gi·Pi代表两像素矩阵点乘。当语义分割目标正负样本强烈不平衡时,DSC损失函数效果更佳。但在正样本为小目标时DSC易产生严重的震荡,因为在仅有前景和背景的情况下,小目标一旦有部分像素预测错误,就会导致Loss值大幅度的变动,从而使梯度变化剧烈。因此,可对DSC进行改进,加入拉普拉斯平滑得到LSSC(laplace smoothing similarity coefficient)损失函数,这样可避免当预测值和真实值都为零时,分子被零除,解决零概率问题,同时可以有效减少过拟合现象,公式如下

(8)

本文结合以上各损失函数特点,针对氩花图像特性,设计了一种善于挖掘正样本为小目标的融合损失函数LD,公式如下

LD=LCE+LLSSC

(9)

在网络训练时使用融合损失函数辅助优化分割模型,可以避免分割结果中出现类别混淆现象,提高网络对小目标的分割能力和分割结果的边沿精细度。

2 实验与结果分析

本文模型基于Tensorflow和Keras框架实现,硬件环境为:CPU为Intel Core i7-10750H,GPU为NVIDIA GTX 1660Ti。软件环境为:Window10、Tensorflow 1.14、Keras2.2.4、Python3.6.2。

2.1 评价指标

为验证网络有效性,使用精确率(Precision)、召回率(Recall)、F-score、类别平均像素准确率(mean intersection over union,MIoU)和平均交并比(mean pixel accuracy,MPA)作为模型评价指标。采用Labelme软件对氩花图像标注标签,用于训练网络模型,标签图像如图3所示。

验证时将氩花图像像素预测结果分为4个部分,即真阳性(true positive,TP)、假阳性(false positive,FP)、真阴性(true negative,TN)、假阴性(false negative,FN),结果中TP表示预测为氩花实为氩花的部分,FP表示预测为氩花但不是氩花的部分,TN表示预测为背景实为背景部分,FN表示预测为背景但不是背景的部分,可得召回率公式为

(10)

精确率公式为

(11)

其中,| |运算符表示相关区域中的像素数。同时选用F-score作为综合评价指标,其公式如下

(12)

MPA公式为

(13)

式中:c代表类别数,pii表示类i被预测为类i的像素,pij表示类i被预测为类j的像素。MIoU为真实值和预测值的交集和并集之比,公式如下

(14)

2.2 建立氩花图像数据集

实验采用工业相机获取钢包底吹氩图像制作数据集,共采集260张氩花图片用作模型训练,图像分辨率为473×473,使用Labelme软件对图像进行手工标注。同时为提高模型精度和增加模型鲁棒性,对原始数据集采用了基于几何变换、颜色空间变换和像素点操作3类数据扩充方案,具体方法包括水平翻转、垂直翻转、平移、随机旋转、加入噪声、对比度增强这6种扩充方式,结果如图4所示。

扩充后数据集总数达到1300张,其中训练集、验证集和测试集图像数量分配情况见表1。

2.3 网络训练与消融实验

将扩充数据集的70%划分为训练集,30%划分为验证集,训练次数设置50个Epoch,Batchsize设置为4,Dropout设置为0.1,采用Adam和Momentum优化器共同优化网络参数,提升训练速度。改进后的PSPNet网络在训练集和验证集上的损失函数随迭代次数的变化曲线如图5所示,准确率变化曲线如图6所示。

表1 数据集划分情况

通过分析上图可知,训练50个Epoch后准确率和损失函数都已经收敛,语义分割模型状态稳定,模型大小为9.58 M,可用于氩花图像分割。

同时为验证网络结构中各模块的有效性,对模型进行消融实验。采用控制变量法,分别使用MobileNet和ResNet作为模型的主干网络,验证模型的轻量化效果。选择不同尺度和层数的池化层,判断特征融合对网络精度的影响。分别使用交叉熵损失函数和融合损失函数辅助网络训练,观察融合损失函数对分割结果的优化效果。检测同时使用两种激活函数和仅使用ReLU激活函数时,分割结果的精度变化。使用上述不同策略构建分割网络,具体精度指标见表2。

分析实验结果可知,使用MobileNet或ResNet作为主干网络提取模型特征时,二者的特征提取效果相近,但MobileNet网络缩短了5倍的时间,体现了更好的实时性,实现了轻量化网络的目的。同时发现随着特征融合程度加深,在分割效果显著提升的同时损耗时间也在逐渐增加,不过与降低的时间相比可以接受这部分的时间损耗而选择保留精度的大幅度提升。对低高维区域合理分配不同的激活函数可使分割结果提高约4%的MPA,减轻了低维映射时信息损失带来的影响。应用融合损失函数辅助模型训练,在同等条件下使模型的MIoU提升了约10%,提高了模型分割小氩花的能力,表现出较好的优化效果。

2.4 氩花分割结果对比分析

使用扩充后的氩花图像数据集训练分割网络,然后将该网络与其它经典分割网络进行对比实验。实验选取3张不同场景、不同状态下的氩花图像,图片大小为473×473,实验结果如图7所示。

分析图7可知,改进的PSPNet网络与FCN和U-Net网络相比,在使用FCN网络分割时,FCN仅将氩花的光圈范围分割出来,分割结果边沿粗糙,表现较差。使用U-Net网络分割时,结果表现优于FCN,可以识别出氩花的轮廓,但仍存在着一定的误差,不利于指导高精度的氩气流量控制任务。而改进的PSPNet网络分割结果与真实标签图像相近,分割结果表现良好,可以较好地将紧密相邻的氩花和较小的氩花都分割出来,同时分割结果的边沿精细,分割误差小,更适合钢包底吹氩流量控制任务。而且,改进的网络模型在保证分割精度的同时,对PSPNet网络进行了轻量化设计,减少了模型的参数量和计算量,加快了网络运行速度,满足工业应用对实时性的要求。传统PSPNet网络在CPU运行条件下分割一张图片需要2.24 s,在GPU运行条件下分割一张图片需要0.21 s,图像处理速度较慢,易导致氩气流量控制产生滞后,影响钢液质量。而轻量化后的PSPNet网络在CPU运行条件下分割一张图片需要0.46 s,在GPU运行条件下分割一张图片仅需0.04 s,大大地提升了模型的图像处理速度。

将轻量化PSPNet网络与其它基于编码解码类的分割网络进行对比实验,实验结果量化指标见表3。

分析表3可知,在对氩花图像进行分割时,FCN网络的MIoU为0.77,MPA为0.81,分割精度较低,不满足氩花图像分割任务对精度的要求。U-Net网络虽然在分割精度方面有一定的提升,但是网络的参数量和计算量较大,分别为267 M和234.8 GFlops,提高了模型对硬件设备要求,使网络分割速度降低,在GPU运行条件下处理一张图片需要0.18 s,不能满足实时性的要求。在使用传统PSPNet网络分割时,氩花图像分割精度最高,但模型的参数量和计算量也最大,图像处理速度缓慢,在CPU条件下为2.24 s,在GPU条件下为0.21 s,网络实时性表现较差,会产生严重的氩气流量控制滞后的问题。而采用改进的PSPNet网络分割氩花图像时,网络分割精度远高于FCN网络,与U-Net网络相比,轻量化的PSPNet网络MIoU也提高了6%,MPA提高了5%,高质量地完成了语义分割任务。同时,分析模型的时间复杂度和空间复杂度可知,轻量化后的PSPNet网络参数量仅为9.58 M,相比传统PSPNet网络缩小了45倍,计算量为21.4 GFlops,缩小了12倍,模型的图片处理速度提升了5倍,在GPU运行条件下处理单张图像仅需40 ms,满足了底吹氩图像分割任务对实时性的要求。分析可知应用深度可分离卷积替代传统卷积大幅度提高了网络运算速度,降低了模型对硬件的需求。相比其它基于编码解码类的语义分割网络,改进的PSPNet网络在保持良好的精确性的前提下,减少了模型的参数量和计算量,满足了氩花图像分割时对精度和速度的要求。实验结果表明轻量化的PSPNet网络适用于钢包底吹氩任务。

3 结束语

为实现钢包底吹氩过程中氩气流量智能控制,首先需要完成氩花图像分割的任务,这对分割模型的准确性和实时性都提出了较高的要求。本文融合MobileNet-V2网络轻量化特点对PSPNet进行改进,使用MobileNet中的倒残差模块和瓶颈层结构保留特征多样性,并提高网络特征利用率。沿用金字塔池化模块增加图像感受野,提高复杂场景解析能力。使用融合损失函数辅助模型训练,解决正负样本不平衡问题和零概率问题对分割结果的影响,提高对正样本的挖掘率和分割结果边缘精细程度。对高维信息使用ReLU激活函数,对低维信息使用Linear,避免低维映射过程中ReLU函数过滤掉负值信息而造成激活空间坍塌,导致分割精度降低。实验结果表明,改进的PSPNet网络具有语义分割精度高和处理速度快的特点。其中MPA为0.97,MIoU为0.94,图片平均处理速度为40 ms,在保障精度的同时尽可能地提升了图像处理速度,使网络满足了钢包底吹氩过程对实时性和精度的要求。

猜你喜欢

轻量化卷积损失
重卡车架轻量化设计
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
两败俱伤
从滤波器理解卷积
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
基于傅里叶域卷积表示的目标跟踪算法
瞄准挂车轻量化 锣响挂车正式挂牌成立
菜烧好了应该尽量马上吃