APP下载

面向水下场景的轻量级图像语义分割网络

2023-08-25郭浩然郭继昌汪昱东

浙江大学学报(工学版) 2023年7期
关键词:池化语义卷积

郭浩然,郭继昌,汪昱东

(天津大学 电气自动化与信息工程学院,天津 300072)

语义分割是当今计算机视觉领域的核心问题之一,在自动驾驶、医学影像分析、地理信息系统等领域有着广泛的应用.在过去几年里,基于深度学习的卷积神经网络的发展使得陆地场景下的语义分割方法进步显著.Long等[1]提出全卷积网络(FCN),开启了卷积神经网络应用在语义分割领域的先河.基于FCN,SegNet[2]在降低计算成本的同时,得到了略好于FCN的分割精度.U-Net[3]通过跨连接将各个层次的信息保留,取得了很好的分割效果.Deeplab[4-6]系列网络使用的空洞卷积层和PSPNet[7]提出的金字塔池化模块可以有效地提升网络的性能.周登文等[8]提出基于多级特征并联网络的语义分割网络,能够较好地平衡网络的准确度与速度.

近年来,随着水下机器视觉任务需求的增加,水下图像语义分割成为值得研究的问题.Liu等[9]提出水下图像语义分割网络,设计无监督色彩校正模块,以提高输入图像的质量.Zhou等[10-12]提出多种水下图像增强的方法,全面解决了各种退化问题.

Islam等[13]提出首个用于水下图像语义分割的大规模数据集SUIM.笔者将FCN、SegNet、UNet等经典分割网络应用在SUIM数据集上,取得了不错的分割结果.这些语义分割模型都很少考虑分割速度和计算成本,因此实时语义分割算法越来越受到关注.ENet[14]降低了模型的复杂度,但导致感受野不足.Ocnet[15]结合交叉稀疏自注意力方法与空洞金字塔池化方法,提高了网络的精度.ERFNet[16]提出基于残差连接和深度可分离卷积的语义分割网络,减少了模型的运算量.CGNet[17]设计模块同时学习局部特征和全局特征,模型参数量小于0.5M,但精度较差.DFANet[18]提出的深度特征聚合网络旨在利用网络级和阶段级相结合的特征.LEDNet[19]设计轻量级的上采样模块APN,显著加快了处理速度.Bisenet[20]和Bise-Netv2[21]采用2个分支,语义分支得到的深层信息对空间分支得到的浅层信息进行指导,提升了网络的性能.尽管这些语义分割模型在陆地场景都取得了不错的分割效果,但在水下场景的表现较差[14,16-17,19,21].由于水下图像存在对比度较低、噪声较大的问题,大部分水下图像都存在不同程度的模糊,使得这些语义分割模型得到的分割结果边缘粗糙,语义边界不明显.

为了解决上述问题,本文提出面向水下场景的轻量级语义分割网络.在水下语义分割数据集SUIM和Reus等[22]提出的海草数据集上训练并评估提出的网络.这2个数据集的测试结果表明,该网络能够在保持高准确度的同时,达到实时的处理速度.

1 网络结构

图1中,编码器(Encoder)首先对输入图像进行快速下采样,生成不同分辨率的特征图.解码器(Decoder)由2个特征融合模块组成,在联合高低级特征的同时可以进行快速上采样,最后进行8倍上采样,得到最终的分割图.损失函数部分使用分割损失和边缘损失,通过预先提取的语义边界监督网络的边缘特征,细化了分割的边缘.

1.1 编码器

网络的编码器部分由模块1~模块5这5个模块组成,其中模块1采用2个步长为2的3×3卷积,快速将输入图像下采样到1/4.模块2~模块4由倒置瓶颈层构成,在获取特征信息的同时将图像下采样到1/32,得到具有丰富上下文信息的高级特征.模块5是池化金字塔模块,用于细化特征图并嵌入全局池化信息.各模块的参数如表1所示.表中,s为步长,r为空洞率,W、H、C分别为输出的宽度、高度和通道数.

表1 所提网络的编码器组成Tab.1 Encoder composition of proposed network

编码器中的倒置瓶颈层和金字塔池化模块是进行轻量化设计需要重点考虑的模块.MobileN-etv2[23]利用升降维操作和深度可分离卷积,有效减少了模型的参数量.借鉴MobileNetv2倒置残差的思想,设计倒置瓶颈层,将空洞卷积添加到Mobilenetv2的倒置残差模块(inverted residual block)中.在PSPNet的金字塔池化模块的基础上改进了升降维操作的位置,减小了参数量.设计的倒置瓶颈层和金字塔池化模块如图2所示.

图2 倒置瓶颈层与池化金字塔的结构示意图Fig.2 Architectures of inverted bottleneck layer and pyramid pooling module

1.1.1 倒置瓶颈层 设计轻量化模块倒置瓶颈层来提取特征,如图2(a)所示.图2(a)中,input为输入特征图,主路径用3×3卷积有效地对特征进行聚合并拓展到高维空间.为了控制计算成本,膨胀比率选择了3.第2个卷积层中使用深度可分离卷积和空洞卷积,减少了计算量,增大了模型感受野的分辨率,在编码器不同的模块中采用不同的空洞率.在快捷路径上,添加3×3卷积来细化特征图,但没有增加太多的计算成本,因为3×3卷积是在CUDNN库中特别优化的,此外使用LeakyReLU替代ReLU作为激活函数.

1.1.2 池化金字塔 PSPNet提出的金字塔池化模块可以有效提升网络的性能,本文改进后的金字塔池化模块结构如图2(b)所示.相较于PSPNet的池化金字塔,该模块用加和操作替代了通道连接,减少了参数量,选择了较大的池化核.此处选择3×3、7×7、13×13和H×W,经过池化层后再上采样到之前的尺寸,通过将不同深度的信息与不同大小的池化核相结合,形成多尺度特征提取.该模块融合了4个不同尺度的特征,可以聚合不同尺度的上下文信息,提高获取全局信息的能力.

1.2 解码器

所提网络采用非对称的结构,解码器部分只采用2个特征融合模块,在解码器的最后部分采取8倍上采样,得到与原图分辨率相同的分割结果.各模块的参数如表2所示.表中,N为数据集包含的类别数.

利用改进的Jensen尾流模型计算位于下游的风机所捕获的风速。简化的尾流效应模型如图1所示。在大多数研究中,图1所示的锥形区域为风通过每个单独的风机时所形成的尾流效应区域。本文将其简化为二维模型[14]。

表2 所提网络的解码器组成Tab.2 Decoder composition of proposed network

编码器第5个模块得到的特征图为高级特征,第4个模块得到的特征为低级特征.高级特征的分辨率更低,具有更丰富的上下文信息;低级特征的分辨率更高,具有更丰富的空间细节信息.对于高级特征和低级特征来说,简单的合并方式忽略了这2类信息的多样性,会导致分割精度下降.

该网络利用特征融合模块,融合编码器得到的高低级特征,如图3所示.图中,input1表示输入的低级特征,input2表示输入的高级特征.该模块将2个输入分别通过简单的残差结构进行细化,利用高级特征的上下文信息来指导低级特征,利用低级特征的空间信息来指导高级特征,将2个路径的特征图相加,最后通过3×3卷积层以改变通道数.

图3 特征融合模块的结构示意图Fig.3 Architecture of feature fusion module

1.3 损失函数

总损失函数是在线难样本挖掘交叉熵损失(online hard example mining crossentropy loss, OHEMCELoss)和二元交叉熵损失(binary crossentropy loss, BCELoss)2种损失函数的线性组合.使用OHEMCELoss作为分割损失函数,如下所示:

式中:ls为分割损失,GT为真实的语义标签,Seg(X)为得到的分割结果,OHEMCE为OHEMCELoss的计算过程.使用BCELoss作为语义边界损失函数,如下所示:

式中:lb为边缘损失,GTedge为从真实的语义标签中通过边缘提取得到的边缘标签,Segedge(X)为从分割结果提取得到的边缘,BCE为BCELoss的计算过程.使用参数α来平衡分割损失和边界损失,如下所示:

式中:L为总损失,α为平衡参数.

对原图的真实语义标签及得到的分割结果图进行边缘提取,如图4所示.明确的语义边界监督使得网络获得更准确的语义边界,双边特征更加明显.

图4 真实语义标签和分割结果的边缘特征提取Fig.4 Edge feature extractions of Ground Truth and segmentation results

2 实验及结果分析

2.1 数据集及实验参数设置

采用Islam等[13]提出的用于水下图像语义分割的数据集SUIM和Reus等[22]提出的海草数据集.SUIM包含1 525幅自然水下图像及其真实语义标签、110幅图片的测试集,这些图像是在海洋探索和人-机器人合作实验期间收集的.该数据集对8个对象类别进行了像素级注释: 鱼类和其他脊椎动物、珊瑚礁和其他无脊椎动物、水生植物/植物群、沉船/废墟、人类潜水员、机器人和仪器、海底和岩石、水体背景.海草数据集包含12 682幅图片,该数据集包含海草和水体背景2个类别.其中6 037幅是人工标注过的,这些图片采集于0~6 m深的海底,实验中随机挑选其中的80%作为训练集,剩余20%作为测试集.

实验使用PyTorch1.9在一张NVIDIA GeForce GTX 1080Ti显卡上进行训练,使用Adam优化器,训练600代.训练时批处理个数设置为32,初始学习率设置为0.000 5,权重衰减为0.000 1,动量设置为0.9.学习率采用“Poly”策略,随着迭代次数的增加,学习率逐渐衰减.

2.2 训练过程

实验中预先将输入图片的分辨率统一调整为320像素×256像素.为了增加网络训练可用的数据,使用了几种不同的图像预处理方法: 以50%的概率左右翻转图像;以-20°~20°的随机角度旋转图像;使用预先计算好的数据集的均值和方差,对数据集的每一个图片进行归一化处理.

2.3 实验结果

在SUIM和海草数据集的测试集上,评估所提网络的性能.与训练时一样,预先将图片的分辨率统一调整为320像素×256像素,得到的实验结果如图5、6所示.图中,第1行为输入的原图,第2行为真实的语义标签,第3行为本文所提网络得到的实验结果.

图5 所提网络与经典网络的SUIM数据集的实验结果对比Fig.5 Experimental results on SUIM dataset of proposed network compared with classical network

从图5可得如下结论.1)所提网络与经典的常规语义分割网络U-Net、SegNet、Deeplab、GCN[24]相比,得到的语义分割结果的视觉效果明显优于这4种网络.例如第1列,U-Net和SegNet得到的语义分割结果明显出现了大面积分类错误的情况,所提网络可以较准确地进行分类并划分出准确的语义边界.2)所提网络与优秀的轻量级网络ENet、ERFNet、LEDNet、BiseNetv2得到的分割结果在视觉效果上相差不大,在某些情况下的分割准确度更优.例如第4列,所提网络得到的分割结果图获得了最接近真实语义标签的分割边界,这是因为所提网络使用的辅助边缘损失函数可以使网络更关注边缘,起到细化边缘的作用.3)与经典的常规语义分割网络PSPNet、OCNet相比,所提网络的分割效果略差,这是由于PSPNet、OCNet的网络层数和通道数更多,特征学习能力更强.例如第6列,所提网络的部分区域出现分类错误的情况,而PSPNet、OCNet分割结果更准确.

从图6可得如下结论.1)与经典的常规语义分割网络U-Net、SegNet相比,所提网络得到的语义分割结果的视觉效果明显更优,例如第2、4、5列,U-Net和SegNet出现了部分错检和漏检的区域,所提网络得到的分割结果更接近GT.2)与经典的常规语义分割网络PSPNet、OCNet相比,所提网络得到的语义分割结果的视觉效果略差,例如第2列,PSPNet、OCNet得到的分割结果与所提网络相比,更贴近于GT.3)所提网络与优秀的轻量级网络ENet、ERFNet、LEDNet、BiseNetv2、CGNet得到的分割结果在视觉效果上相差不大.

图6 所提网络与经典网络的海草数据集实验结果对比Fig.6 Experimental results on seagrass dataset of proposed networkcompared with classical network

如图7所示为所提网络的SUIM数据集的实验失败案例.可知,所提网络的分割结果出现了部分区域分类错误的情况.这可能是由于网络主体结构部分为了减少参数量,采用非对称的编解码器结构,这种不对称的结构会导致空间细节的丢失.尽管所提网络使用的特征融合模块及U型结构在一定程度上弥补了空间信息的损失,但不能彻底解决该问题.此外,所提网络使用的通道数较少,学习特征的能力相对较弱.

图7 所提网络的SUIM数据集实验失败案例Fig.7 Experimental failure cases on SUIM dataset of proposed network

2.3.1 对比实验 为了体现所提网络的优势,考虑几种先进的语义分割模型,包括非轻量级模型UNet、SegNet、Deeplab、PSPNet、GCN、OCNet、SUIMNet、轻量级模型ENet、ERFNet、LEDNet、BiseNetv2、CGNet.这些语义分割模型都是在SUIM数据集和海草数据集上训练并进行测试.

选择平均交并比(mean intersection over union,mIoU)和像素准确率(pixel accuracy,PA)作为衡量分割精度的评价指标.像素准确率PA为预测类别正确的像素数占总像素数的比例.mIoU为语义分割的标准度量,是所有类别交集和并集之比的平均值.

在语义分割问题中,这2个集合为真实值和预测值.平均交并比的计算公式如下:

式中:classes为分割类别的总数量.

表3给出SUIM数据集每一类的交并比(intersection over union,IoU),包括水体背景(background waterbody, BW)、人类潜水员(human divers, HD)、水生植物/植物群(aquatic plants and sea-grass, PF)、沉船/废墟(wrecks or ruins, WR)、机器人和仪器(robots, RO)、珊瑚礁和其他无脊椎动物(reefs and invertebrates, RI)、鱼类和其他脊椎动物(fish and vertebrates, FV)以及海底和岩石(sea-floor and rocks,SR)8个类别.由表3可得如下结论.1)该网络在SUIM测试集上达到53.55%的mIoU指标和85.32%的PA指标,相较于U-Net、SegNet、GCN等经典网络优势较大,与其他轻量级网络相比,所提网络的精度最高,mIoU和PA指标远远优于ENet,略优于BiseNetv2,仅次于非轻量级网络PSPNet和OCNet.2)该网络在BW和SR 2个类别上达到最优的分割精度;在HD和RO类别上的分割精度在所有网络中排在前3位,十分接近于经典语义分割网络PSPNet,明显优于LEDNet、BiSeNetv2、ENet等其他轻量级语义分割网络.在RI和FV 2个类别上,该网络的分割精度较BiseN-etv2差,这可能是由于BiseNetv2可以通过空间分支(detail branch)来弥补快速下采样过程中的信息损失,说明该网络在该方面有一定的提升空间.3)该网络在PF和WR 2个分类较困难的类别上的分割精度与PSPNet差距较大,这是因为该网络为了减少模型参数量,使用了较少的卷积层和网络通道数,相较于基础网络采用了ResNet-101的PSPNet,所提网络的特征学习能力较差.

表3 各网络在SUIM数据集上的精度指标对比结果Tab.3 Comparison results of accuracy index on SUIM dataset in each network

从表4可知,所提网络在海草数据集上分别在0~2 m和2~6 m的范围内达到88.63%和89.01%的mIoU指标以及96.08%和96.10%的PA指标,在所有轻量级网络中精度指标可以排在前两位,仅次于轻量级网络BiseNetv2.相比于经典的语义分割网络U-Net、SegNet、Deeplab等,所提网络的分割精度明显更优,但与PSPNet和OCNet相比,所提网络的分割精度略差.

表4 各网络在海草数据集上的精度指标对比结果Tab.4 Comparison results of accuracy index in each network on seagrass dataset

因为本文的目标是设计轻量且高效的水下图像语义分割网络,通过对比实验评估其他语义分割网络与所提网络的效率和实时性.评估指标包括模型参数量p(Param)、浮点运算数f(floating point operations,FLOPs)和推理速度v(inference speed).其中浮点运算数表示网络模型的计算成本,浮点运算数越小表明需要的计算成本越小.推理速度v以每秒帧数来衡量,每秒帧数越大,表明网络每秒可以处理的图片数越多,实时性越强.

从表5可得如下结论.1)所提网络每秒可以处理近258帧的图片,在推理速度上所提网络最优,比其他轻量级网络ENet、ERFNet、LEDNet、BiseNetv2、CGNet的推理速度分别高出141、60、147、14、142帧/s,相比于非轻量级网络,优势更明显,推理速度达到PSPNet的40多倍.2)所提网络的模型参数量为1.45×106,排在第4位,仅次于轻量级网络ENet、LEDNet和CGNet,相比于非轻量级网络,参数量大幅降低.3)所提网络的浮点运算数为0.31×109,在所有分割网络中排在第1位,计算成本很小.

表5 各网络的效率指标对比结果Tab.5 Comparison results of efficiency index in each network

综合对比平均交并比、像素准确率、推理速度、参数量和浮点运算数可知,所提网络在参数量、计算成本及处理速度等方面与常规的语义分割网络相比得到了很大的提升,与其他轻量级网络相比体现出一定的优势.在分割精度上十分接近甚至优于常规的语义分割网络,在所有的轻量级语义分割网络中取得了较好的分割精度.

2.3.2 消融实验 为了证明每个模块的有效性,开展消融实验,消融实验结果如表6所示.池化金字塔模块的消融实验结果表明,利用该模块可以显著提高网络的性能,使得mIoU有了显著的提升.这主要是因为池化金字塔模块通过全局池化和多尺度特征融合,引入了更多的上下文信息,有效地提高了分割精度.

表6 SUIM数据集消融实验精度指标的对比结果Tab.6 Comparison results of accuracy indicators for ablation experiments on SUIM dataset

为了验证特征融合模块的优势,在解码器部分采用不同的上采样方式.具体如下:将解码器部分替换成类似于FCN的编码器结构,将高级特征2倍上采样后与低级特征简单的对应元素相加,将该过程重复2次,最后进行8倍上采样得到最后的分割结果.实验数据表明,利用特征融合模块可以有效地结合高低级特征,提高了网络的性能.此外,通过消融实验验证了预先进行图像预处理操作的有效性,包括对图片进行随机翻转和归一化处理.实验结果表明,图像预处理操作可以将mIoU提升0.4%.

测试不同的基础网络编解码器结构对分割精度和速度的影响.将编码器的5个模块分别替换为Mobilenetv2和ResNet-18[25],测试精度指标mI-oU和速度指标FPS.为了验证采用的非对称的编解码器结构的优势,将所提网络的解码器部分替换成与编码器对称的结构,把编码器中步长为2的卷积层替换成2倍上采样模块,实验结果如表7所示.

表7 基础网络消融实验不同指标的对比结果Tab.7 Comparison results of different indexes in baseline network ablation experiments

从表7可得如下结论.1)相比于Mobilenetv2,本文的基础网络的分割精度与分割速度都更优.2)本文的基础网络的mIoU略逊于ResNet-18,但是在推荐速度指标上明显高于ResNet-18,检测速度更大,实时性更强.3)与本文的非对称结构相比,对称结构可以提高分割精度,这是由于非对称的编解码器结构会不可避免地在下采样过程中损失空间信息.对称结构可以在一定程度上缓解该问题,提升网络性能,但增加了大量的卷积层,网络复杂度大大提升,推理速度大幅下降.与对称结构相比,非对称的编解码器结构可以在精度和速度间取得优秀的平衡.

测试不同的损失函数对分割精度的影响.测试3种不同的分割损失函数,包括OHEMCELoss、交叉熵损失(crossentropy loss, CELoss)和交并比损失(intersection over union loss, IoULoss),实验结果如表8所示.可以看出,使用OHEMCELoss时的训练效果最好.这是因为OHEMCELoss会对分割难度较大的样本增大训练次数,使得训练更有效,且与边缘损失函数BCELoss组合使用可以进一步提升网络的性能.验证辅助边缘损失函数的有效性,测试平衡参数α对分割结果的影响,实验结果如表9所示.可知,当α = 0.1时,分割效果最佳,利用辅助边缘损失函数可以显著提升网络的性能,将mIoU指标从52.66%提升到53.55%.

表8 损失函数消融实验精度指标的对比结果Tab.8 Comparison results of accuracy index in loss function ablation experiments

表9 平衡参数α消融实验精度指标的对比结果Tab.9 Comparison results of accuracy index in balance parameter α ablation experiments

图8给出所提网络有、无辅助边缘损失函数的实验结果对比图.如图8(a)所示为真实的语义标签,如图8 (b)所示为不使用边缘损失函数得到的分割结果,如图8 (c)所示为使用辅助边缘损失函数得到的分割结果.从图8可以看出,当α = 0.1时,辅助边缘损失函数可以使得相同类别内的特征更加一致,不同类别间的特征更加明显.通过明确的语义边界监督,网络模型获得更准确的语义边界,分割效果更好.

图8 所提网络有、无边缘损失函数的对比结果Fig.8 Comparison results of proposed network with or without edge loss function

3 结 语

本文提出面向水下场景的轻量级图像语义分割网络,在分割精度和速度之间达到较好的平衡.利用辅助边缘损失函数,使得语义边界更准确.所提网络解决了现有语义分割模型在水下场景表现较差、分割边界粗糙的问题,对水下图像的语义分割研究具有重要意义.

所提网络主要考虑水下图像的边缘模糊问题,对于颜色对比度较低的水下图像,分割性能较差.在未来的研究中,将会考虑设计颜色校正模块以解决色偏问题,提高模型的鲁棒性.

猜你喜欢

池化语义卷积
基于Sobel算子的池化算法设计
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
基于3D-Winograd的快速卷积算法设计及FPGA实现
语言与语义
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究
基于傅里叶域卷积表示的目标跟踪算法
“上”与“下”语义的不对称性及其认知阐释
认知范畴模糊与语义模糊