1. 引言
语义分割是许多计算机视觉应用领域(例如场景理解,人类解析和自动驾驶等)的基本技术,语义分割是指根据图像的不同特征,把图像划分为互不相交的部分,使得同一区域内的特征尽可能表现出一致性。因此语义分割是一个非常大的挑战。目前流行的分割方法通常是将主干网络所产生的不同阶段的特征图进行融合来丰富特征信息,进而生成分割结果。然而,这些方法忽略了不同阶段特征图所包含的语义信息和分辨率的差异,只是把它们进行一些简单的融合操作,这种方法使得模型对目标边界分割模糊,相似物体之间分割精度较低。在交通场景的图像分割中会使得车辆无法准确识别周围的环境信息和交通信号。这很有可能给自动驾驶的上层决策系统提供错误的信息,从而影响交通安全。
如图1为全景特征金字塔网络(FPN)的结构示意图。它只是逐步上采样不同阶段的特征图,然后再进行相加操作。这种简单的融合方式,使得目标边界分割模糊或类别间分割错误。模型将地形误分类为植被,人行道边缘分割存在明显错误。在交通场景的图像分割中这个问题是十分有必要解决的。
综上所述,我们的主要贡献如下:
提出了一种新的特征融合网络(FFN)。采用密集连接的方法,最大限度地弥补特征图下采样过程中丢失的信息,并在特征图的拼接中对每个通道的特征赋权,使模型能够识别出需要学习的重要通道。与其他一些简单的网络特征融合方法相比,我们的方法可以获得更高质量的特征图。它能更好地整合特征图中的语义信息和空间信息。在交通场景图像语义分割中,可以更准确地识别出目标特征,并能准确地识别和分割出相似的目标。为上层自动驾驶系统提供更准确的周边环境信息。
提出了一种边界优化网络(BRN)。它使用注意力机制为每个像素位置分配权重。在交通场景中,它帮助车辆感知小物体,如交通灯、可行驶的道路边界和物体的边界。在FFN网络获得高质量特征图的基础上,使得分割结果更加准确,它为自动驾驶汽车的安全驾驶提供了重要的支撑。在上述两种网络的基础上,我们提出了一种新的分割网络DFBNet,该网络采用密集连接的方法,可以弥补下采样过程中空间信息的损失,从而使特征更好地融合,目标边界处的分割也更加精细。
![](//html.hanspub.org/file/2-1543171x7_hanspub.png?20240410100247933)
Figure 1. FPN structure diagram and segmentation result
图1. FPN网络结构图和分割结果
2. 相关工作
图像语义分割可以看作是图像分类从图像级到像素级的延伸,目前的研究方法大致可分为两类,一类是基于卷积神经网络为代表的分割算法,另一类是基于Transformer为代表的分割算法。
FCN (Fully Convolutional Networks) [1] 是第一个将卷积神经网络引入图像分割的算法。FCN采用端到端的训练方法,整个网络由卷积层组成,在输出阶段对特征图进行上采样操作来恢复尺寸。此外,FCN还将浅层特征与深度特征深度融合,逐像素进行分类,实现了图像语义分割,在一定程度上开创了图像语义分割的新时代。此后,研究人员对不同方面进行了改进和研究。Ronneberger等人提出了U-Net [2] ,该网络在医学图像分割中表现优异。U-Net采用编码器–解码器结构,编码网络从图像中提取特征,5个池化层获取不同尺度的特征图,并采用跳跃连接方法实现网络对图像多尺度特征的识别。但是,U-Net的缺点也很明显。模型的效率非常低。网络会计算图像的每个邻域,所以特征图尺寸越大,消耗的计算资源就越多。卷积网络的卷积核在提取特征时只计算一个像素和它周围某一区域的像素,这使得卷积网络能够很好地提取局部信息,具有很好的泛化能力但同时,这也导致了卷积神经网络对全局信息的把握能力较弱。
随着研究者们不断地探索,在语义分割方面,Zheng等人提出的SETR [3] 来证明了在图像语义分割任务中使用Transformer的可行性。他们对分割模型的设计进行重新思考,并提出一种新的方法用纯 Transfomer来代替基于叠加层的逐步降低分辨率的编码器,从而产生了一种新的分割模型,称为分割转换器(SETR)。该编码器将输入图像看作序列,并用全局自注意机制对序列进行变换,以实现识别性的有限元表示学习。具体来说,该方法首先将图像分解成一个由固定大小的贴片组成的网格,形成一个切片序列。将线性嵌入层应用于每个切片的平坦像素向量,然后获得特征嵌入向量序列作为Transformer学习的特征,然后使用解码器恢复原始图像分辨率。关键的是,在空间分辨率上没有下采样,而是在编码转换器的每一层进行全局上下文建模,从而为语义分割问题提供了一个全新的视角。
无论是以卷积网络还是以Transformer为基础的语义分割方法都采用了编码器解码器的设计结构,编码器是预训练的主干模型,用于生成不同阶段的特征图,解码器将这些特征图进行相加、相乘或者拼接等简单的方式进行逐步融合,恢复分辨率,并负责生成分割结果。但是它们都忽略了特征图所包含的语义信息的差异和大小的差异。这些方法使用的特征融合方法与我们的方法相比过于简单。它没有为解码器提供高质量的特征图,容易造成分割精度低的问题。
3. 方法
在本节中,我们将详细介绍所提出的交通场景图像分割网络DFBNet。DFBNet遵循编码器解码器的结构设计,编码器主要是生成特征的骨干网络。解码器由特征融合网络与边界细化网络组成:
(1) 编码器中的骨干网络对输入图像进行卷积操作提取特征,并且对图像进行下采样操作降低特征图的尺寸。(2) 解码器中的特征融合网络(FFN)用来融合不同阶段的特征图,将高级特征图与低级特征图中所包含的特征信息充分融合。(3) 边界细化网络(BRN)对融合好的特征图进行混合注意力机制,给每个像素位置分配权重,使模型自动学习到重点关注区域的权重,通过调整权重,增强特征区域的表达能力,使图中小物体以及物体边界区域分割更加精细。
3.1. 网络整体架构
DFBNet模型结构如图2所示,其中编码器中我用预训练的Resnet [4] 网络作为主干网络进行特征提取。FFN (特征融合网络)用来对特征融合;BRN (边界细化网络)负责产生最后的分割结果。给定一个大小为H × W,通道数为3的RGB图像,首先经过主干网络res-1至res-4进行特征提取,生成4个阶段的特征图。它们分别是原始图片分辨率的1/4,1/8,1/16,1/32。通道数记为C1,C2,C3,C4接着使用1 × 1的卷积进行降维处理,把它们的通道数都降低为C1,这样做是为了使得各个阶段的特征图在经过特征融合网络时,不会因为某一阶段的特征图通道样本数量所占比重较大而影响模型的学习,接着我们将这些特征图进行融合,融合的方式为:
(1)
其中H为融合之后的特征,X为主干网res-1到res-4经过卷积降维后产生的特征矩阵。X4是主干网络所生成的最后一个特征,所包含的语义信水平最高。l越大,表示语义信息的层次越高,但尺寸越小。
,F表示特征融合网络。
![](//html.hanspub.org/file/2-1543171x10_hanspub.png?20240410100247933)
Figure 2. Network model diagram DFBNet
图2. DFBNet模型架构图
3.2. 特征融合网络
我们的特征融合的方法与其他网络使用的简单的方式不同,我们考虑到特征图所包含的语义信息和分辨率的不同,因此将特征图在通道这一维度上都拼接在一起,来丰富特征信息。考虑到数据集中目标物体的形状大小都不一样,所以我们决定利用4个不同空洞率的组卷积分支来对特征图中不同尺寸的目标进行特征提取,之后利用注意力机制进行权重分配,再将4个分支互相通信,让特征更有效的融合,如图3所示。
首先将高级特征图上采样至与低级特征图尺寸大小一致,并进行通道拼接,得到多级特征,记为
。将拼接好的特征E经过4个分组空洞卷积并进行融合,得到特征
。接着将低级特征图X经过平均池化操作,得到1 × 1大小,通道数为C1的一组权重W
(2)
接着将得到的权重W按照通道的维度与融合好的特征E'进行相乘得到特征X'。
(3)
将X'经过1 × 1的卷积进行降维处理,与可学习的特征变换矩阵WK相乘将通道数降为与数据集类别数N一致,得到融合之后的特征,σ是激活函数(本研究采用ReLU作为激活函数)。
(4)
3.3. 边界细化网络
由于图中物体种类繁多,在这种情况下,模型容易对边界处的像素进行错误分类,于是我们将三个特征融合网络融合好的特征图逐步使用上采样操作并进行相加,然后拼接在一起,采用通道注意力来为不同的通道分匹配权重,学习出重要的通道,接着再利用空间注意力为每个像素分配权重,使网络注意到重要的位置进行学习。这样做可以有效的提升目标边界分割效果。如图4所示。
将三个已经融合好的特征图逐步上采样并进行相加,之后进行通道拼接得到特征Z;接着用1 × 1卷积将特征Z与可学习的特征变换矩阵Wq相乘将通道数降为与数据集类别数一致得到特征Z'。
(5)
接着经过残差结构进行全局平均池化操作,得到一组权重Wv,将特征Z'与权重Wv在通道维度上进行相乘得到特征K。
(6)
将特征H经过sigmoid激活函数,生成一组可学习权重矩阵Wb,再与特征K对应位置相乘,最后将得到的结果经过softmax函数得到最终的分割结果Y,完成端到端的训练过程。
(1)
![](//html.hanspub.org/file/2-1543171x20_hanspub.png?20240410100247933)
Figure 4. BRN: boundary refinement network
图4. 边界细化网络
4. 实验结果与分析
为了评估本文提出的分割方法的有效性,我们在两个数据集Cityscape [5] 和CamVid [6] 上验证了我们的方法,并与其他算法进行了比较。
4.1. 数据集简介
Cityscape:Cityscape是一个基于汽车视角的语义场景分析数据集。它包含5000幅精细标注的图像,分为训练集、验证集和测试集,分别包含2975幅、500幅和1525幅图像。标注包括30类其中19类用于语义分割任务,图像分辨率高,为2048 × 1024。
Camvid:剑桥驾驶标记视频数据库(Camvid)是一个从驾驶角度拍摄的道路场景数据集。该数据集包含从视频序列中提取的701幅标注图像,其中367幅用于训练,101幅用于验证,233幅用于测试。图像分辨率为960 × 720,32个语义类别,其中11个类别子集用于分割实验。
4.2. 实验过程
我们使用MMSegmentation [7] 代码库,并在服务器上用两张NVIDIA RTX 3090进行训练,在ImageNet-1K数据集上预训练编码器,并随机初始化解码器。在训练过程中,Cityscape采用随机调整大小、随机水平翻转、随机裁剪0.5~2.0倍的方法进行训练,使用全尺寸进行训练。我们使用SGD优化器训练模型,在Camvid上进行80 K迭代。我们使用的批量大小是8。将学习速率设置为初始值0.01,然后使用Poly学习速率下降测量值,默认系数为1.0。
4.3. 与相关方法的比较分析
对Cityscapes数据集的分割结果如表1所示,我们的模型分割效果最好在MIoU评价指标上高于PointRend、FPN、SETR等经典分割网络。在MIoU指标上,我们的方法比PointRend高0.8%,比FPN高1.7%,比SETR高0.08%。PointRend将计算机图形学中的分割问题视为“渲染”问题,对自适应选择的位置进行基于点的分割预测,可以有效地渲染高分辨率图像,该方法可以使模型对目标对象的边缘更加精细。然而,模型提取图像整体特征的能力较弱。因为PointRend只在像素值与相邻值相差较大的位置进行计算,而对于其他所有位置该值都是通过插值已经计算出的输出值得到的。这种方法没有过多考虑图像整体特征的提取。我们提出的方法考虑了图像的整体特征,也考虑了目标边缘的像素预测问题,所以我们的方法略优于PointRend。FPN被称作特征金字塔网络,它将特征图逐级进行上采样并且逐像素相加,忽略特征图所包含语义信息的差异。因此我们的方法明显优于FPN。SETR是一种基于Transformer设计的网络,Transformer具有很强的全局信息控制能力,但由于我们提出的方法包含了边界细化网络,SETR网络的分割性能略逊于我们的方法,这也是Transformer缺陷。我们的模型的参数仅为46.9 M,是SETR的1/6,这也说明模型实现的分割性能不依赖于参数的叠加,我们的方法不仅分割更准确,而且占用的计算量更少,这意味着我们的模型能够应用于现实世界。
![](//html.hanspub.org/file/2-1543171x21_hanspub.png?20240410100247933)
Figure 5. Segmentation results of the Cityscapes dataset
图5. Cityscapes数据集分割结果展示
如图5所示,FPN的特征融合方法比较简单,所以从FPN的分割效果图中可以看出,FPN很容易对目标的主体部分进行误分类。公共汽车的尾部错分为交通灯,物体边缘的像素分割也比较粗糙,地形和植被边缘的像素分割也比较模糊。在图5中,PointRend的分割结果中,可以看到图片中有很大一部分道路没有被正确识别出来,在公交车末端也有部分分割错误。SETR基于Transformer,具有良好的全局信息控制能力,所以从分割图中可以看出,对象的主体划分基本没有错误,对主体进行了正确的分割,只有边界处的像素分割有点粗糙,把公交车的后视镜误当成了交通灯。对局部信息的控制能力差也是Transformer的弱点。我们的模型分割效果最好。这是因为我们提出的方法将每个阶段生成的特征图与前一阶段生成的特征图进行融合,从而弥补了图像下采样所造成的特征图空间信息的丢失。在FFN网络中,使用不同感受野大小的卷积分支来感知图中不同大小的物体。然后利用注意机制使网络学习到重要通道的特征,使最终的特征图能够包含更多的空间信息和语义信息。图像的分割效果得到了很大的提高。在最后阶段,我们的BRN网络为每个像素位置赋权,使模型注意到物体的重要位置,使得分割结果更加准确。这就是我们的特征融合网络和边界优化网络的用武之地。
Camvid数据集的结果如表2所示,我们的模型达到了75.13% MIoU。超越一些高性能网络,如STDC2seg、BiseNetV1和V2。我们的方法比STDC2seg高1.2%,比BiseNetV1高9%,比BiseNetV2-L高1.9%。BiseNetV1也是一个经典的语义分割网络,虽然它意识到语义信息和空间信息的区别,并专门提出了语义分支和空间分支,但其融合方法相对简单,仅进行乘法处理,这就是为什么BiseNetV1的分割性能比我们的差。STDC2seg设计了一个短期密集级联模块,用于提取接收域可变、多尺度信息的深度特征。并提出细节聚合模块,以更准确地保存底层的空间细节。但其特征融合方法只是简单的加法运算,分割结果不如我们的好。
![](Images/Table_Tmp.jpg)
Table 1. Performance results on the Cityscapes validation set
表1. Cityscapes 验证集分割结果对比
![](//html.hanspub.org/file/2-1543171x22_hanspub.png?20240410100247933)
Figure 6. Segmentation results of the Camvid dataset
图6. Camvid数据集分割结果展示
从图6中可以看出,BiseNetV1的分割比较粗糙,没有将行人划分为一个整体,轮廓非常粗糙。STDC2seg没有完全划分道路两侧的边缘,我们的方法是比较准确的。这再次证明了我们提出的特征融合方法的有效性。
![](Images/Table_Tmp.jpg)
Table 2. Performance results on the Camvid test dataset
表2. Camvid测试集分割结果对比
4.4. 消融实验
为了证明我们所提出方法的有效性,我们建立了以下消融实验,首先,我们分别去除FFN网络和BRN网络,并在cityscape数据集上进行实验。实验结果如表3所示。并选取部分分割结果进行展示,如图7所示。从图7中也可以清楚地看到,去除特征融合网络后,分割效果相对较差,即使不是相似的对象,也容易错分,而去除边界细化网络的分割结果,整体上没有明显的错分,但在对象的边缘处只存在一个轻微的分割缺陷。
![](//html.hanspub.org/file/2-1543171x23_hanspub.png?20240410100247933)
Figure 7. The segmentation results of the Cityscapes ablation experiment are displayed
图7. Cityscapes消融实验分割结果展示
![](Images/Table_Tmp.jpg)
Table 3. Results of ablation experiments on the Cityscapes validation set
表3. Cityscapes数据集消融实验结果
从表3中可知,去掉特征融合网络后网络对图像中较大的目标的分割精度都大幅度降低,例如人行道、墙壁、植被等类别分割效果变差。这些物体在图中占比较大,去掉了特征融合网络后,网络的对于特征的融合能力下降,对于此类占比较大的物体无法准确提取其特征,才造成分割精度急剧下降。相较于去掉边界细化网络后,分割精度仅有微小下降,这证明我们从特征融合和边界细化的方向思考改进图像分割是正确的,实验表明特征融合的质量对分割结果起着决定性的作用,而对象边缘像素的分割也对整体分割结果起到了积极的作用。
5. 结论
本文首先指出,以往分割网络中存在的特征融合方法过于简单,不能充分结合特征图中包含的语义信息和空间信息,导致目标对象划分错误,目标边界划分粗糙等问题。然后我们提出了我们的网络,DFBNet,来解决这个问题。它包括特征融合网络和边界优化网络两个子网络。特征融合网络从特征图大小和语义信息差异的角度出发,利用不同膨胀率的多组卷积从特征图中提取不同大小的对象特征,然后利用注意机制分配权重,弥补了特征图之间的差距,使得不同大小的特征图能够充分的融合,并通过实验证明了该方法的有效性。边界细化网络融合了不同阶段的分割结果。它利用空间注意力为每个像素位置分配权重,从而使模型能够对目标对象的边界进行精细分割。实验表明,该方法在Cityscape、Camvid数据集上取得了良好的分割效果。我们的工作证明了从特征融合的角度提高语义分割准确率的想法是完全可行的。