掌桥专利:专业的专利平台
掌桥专利
首页

一种基于transformer结构的场景图像语义分割方法

文献发布时间:2024-04-18 19:53:33


一种基于transformer结构的场景图像语义分割方法

技术领域

本发明涉及图像处理领域,特别是涉及一种基于transformer结构的场景图像语义分割方法。

背景技术

一般来说,深度学习中常见全卷积语义分割网络中编码器结构是通过卷积和池化等操作来提取高层语义信息,解码器结构则是通过双线性插值等方式恢复所得特征图到原始图像的分辨率,从而进行逐像素预测。然而,卷积叠加操作带来的感受野的增加并不能捕捉到远距离的上下文信息,因此,一些研究者提出了多尺度特征提取和注意力机制的方法来更有效地捕捉上下文信息。如有人通过设计一个金字塔池化模块来获取更多的上下文信息,并在解码器结构中通过特征图的连接来保留更多的空间信息。陈等人引入了多孔卷积来扩展感受野,并提出空洞空间金字塔池化模块,该模块增强了DeepLabv3+网络中编码器结构的多尺度特征能力。此外,一些研究者提出了尺度注意力、通道注意力和位置注意力模块来捕获长距离上下文信息。然而,在复杂数据集中,依赖先前的方法对全局上下文信息进行建模是不够的。

transformer结构的出现克服了cnn上下文建模困难的问题,然而其小目标和物体边缘的分割能力较差因此需要进行改进。

发明内容

为解决上述技术问题,本发明提出了一种基于transformer结构的场景图像语义分割方法。

本发明的目的通过以下技术方案实现:

一种基于transformer结构的场景图像语义分割方法,包括如下步骤:

步骤一、构建transformer的编码器-解码器场景分割网络结构,所述transformer的编码器-解码器场景分割网络结构包括编码器结构、局部到全局自注意力模块和解码器结构;

步骤二、将原始图片输入编码器结构得到序列化的图片Z;

步骤三、序列化的图片Z输入局部到全局自注意力模块得到高级特征图;

步骤四、将高级特征图输入解码器结构得到的最终映射的特征图,最终映射的特征图输入到分类器中,在交叉熵损失函数的监督下,进行逐像素预测,得到最终的分割结果。

进一步的改进,所述步骤二的步骤如下:

将原始图片输入编码器结构切片形成一系列块,记为x=[x

将每个块x

用由L层网络结构组成的transformer结构来生成序列上下文Z(R

a

z

其中a

序列化的图片Z经过transformer结构建模上下文信息编码后得到,包含丰富的语义信息。

进一步的改进,所述局部到全局自注意力模块由三个矩阵组成,包括查询矩阵Q、键值矩阵K和V值矩阵V,大小为R

其中T表示转置操作,softmax()表示激活函数,D

进一步的改进,所述步骤三的步骤如下:设序列化的图片Z的编码特征为

含多尺度上下文信息的特征图通过重塑形状操作获得补丁嵌入,记作z

其中令m=Masks(z

然后,将每个类概率的输出重塑为二维特征图作为高级特征图。

进一步的改进,所述步骤四的具体步骤如下:

将高级特征图与具有丰富空间信息的大小为R

解码器结构得到的最终映射的特征图输入到分类器中,在交叉熵损失函数的监督下,进行逐像素预测,得到最终的分割结果

本发明的有益效果在于:

本发明以视觉transformer为骨干,加入了局部到全局自注意力模块和MtFAM解码器结构,在ADE20K数据集上已经达到了目前最先进的效果。另外,考虑到视觉transformer在Cityscapes数据集上难以取得很好的效果,使用Resnet-18作为特征提取模块,并加入了金字塔方法,取得了非常好的效果。所提出的金字塔变换器模块具有良好的可移植性,可以添加到任何当前使用卷积神经网络和视觉transformer作为主干的方法中,从而进一步提升该网络的分割性能。

附图说明

利用附图对本发明做进一步说明,但附图中的内容不构成对本发明的任何限制。

图1为基于金字塔transformer模块和MtFAM解码器结构的复杂场景分割网络结构示意图;

图2为金字塔transformer模块结构图示意图;

图3为MtFAM解码器结构示意图;

图4为+分割图上相同16×16块大小下的定性结果。基线(左列)与添加到基线的金字塔变换器结构所得到的分割结果(右列);

图5为ADE20K验证数据集的可视化结果图。从左往右,依次为原始图像、SERT方式、本发明提出的方法、Ground Truth;

图6为在Cityscapes验证数据集上的本章节提出方法下的结果图。从左往右,依次为原始图像、基于Resnet-18的FCN的方式、提出的方法、Ground Truth。

具体实施方式

为了使发明的目的、技术方案及优点更加清楚明白,以下结合附图及实例,对本发明进行进一步的详细说明。

1网络结构设计

本发明提出的方法是依赖于transformer的编码器-解码器场景分割网络结构。整体网络结构图如图1所示。网络结构包含编码器结构、局部到全局自注意力模块和解码器结构。在图1的左角显示了作为编码器结构的ViT主干的细节节。网络结构将图片分成块,将一系列的块嵌入到像素级分取,从视觉transformer获得的特征图包括丰富的语义信息和详细的空间信息;其次,将丰富的语义信息特征图输入到金字塔transformer模块中,对捕获的上下文特征进行全局建模,以增强获取多尺度信息的能力;然后,从金字塔模块获得的特征图和低层特征输入到MtFAM解码器结构中,不仅使用掩码transformer来增强高层特征图的能力,而且利用低层特征图的更多的空间信息来提升小目标和物体边缘的效果。最后将MtFAM解码器结构得到的特征图输入到分类器中,进行逐像素预测,得到最终结果。下面将详细介绍所有模块或结构的详细信息。

1.1编码器结构

在自然语言处理中,是将词嵌入的一维序列输入到transformer结构中以对上下文关系进行建模。在场景分割中,原始图像在切成图像块编码后对上下文进行建模。假设图像大小为H×W×C,其中H、W、C分别为图像的高、宽、通道数。

首先,将原始图片切片形成一系列块,记为x=[x

其次将每个切片块x

然后使用由L层组成的典型transformer结构来生成序列上下文Z(R

a

z

自注意力机制由三个矩阵组成,包括Q,K,V,大小为R

最后,序列化的图片Z经过transformer结构建模上下文信息编码后包含丰富的语义信息。

1.2金字塔transformer模块

毫无疑问,物体的多尺度特征对于场景分割是极其重要的。在Resnet中通过卷积和池化进行特征提取或通过transformer主干建立上下文关系后,从高层特征图中捕获多尺度具有重要意义。考虑到一个像素通常与周围像素的联系更紧密,卷积运算比transformer更好地捕捉到这些信息。因此,高级特征图可以通过多个不同空洞率下卷积的特征提取模块获得多个尺度的特征图,再使用transformer结构对多尺度特征进行建模后,可以获得更强的多尺度上下文信息。

如图2所示,假设经过视觉transformer建模的图片序列的全局上下文信息后得到的编码特征为

1.3 MtFAM解码器结构

解码器结构旨在通过将编码器结构获得的特征图恢复到原始图像大小来逐个像素地执行。受全卷积网络中的解码器方式和语义分割中应用的掩码变换器的启发,本发明在使用Mask Transformer结构获得每个像素块的值后,再通过特征对齐模块充分利用低等级特征,该结构命名为MtFAM解码器结构,所提解码器结构的操作如下:

如图3所示,包含多尺度特征信息的蓝色块表示的特征图通过重新改变形状操作获得由浅橙色块表示的补丁嵌入,记作z

其中m=Masks(z

然后,将每个类概率的输出重塑为二维特征图。将高级特征图与具有丰富空间信息的特征图连接起来,经过3×3卷积后,可以获得从具有更多空间的低级特征到具有丰富语义信息的高级特征的相同位置特征的偏移量,用于执行特征对齐。通过学习到的偏移量来对齐底层特征,获得对齐后的底层特征图。因此,将对齐的底层特征映射和MaskTransformer结构获得的特征映射相加,得到最终的特征映射。

最后,由解码器结构得到的特征图输入到分类器中,在损失函数的监督下,进行逐像素预测,得到最终结果。

2实验结果与性能比较

2.1数据集介绍

ADE20K:这是一个非常具有挑战性的场景分割数据集,其包含150个精细标记的类别对象。数据集由分别用于训练、验证和测试的20210、2000和3352张图像组成。

2.2网络结构参数

网络结构详解:对于编码器结构,我们不仅使用Resnet作为backbone,还在视觉transformer(ViT)特征提取模块上进行了实验。具体来说,卷积神经网络使用Resnet-18作为主干;由于参数不同,ViT模块包含三个类别:“Tiny”、“Small”、“Base”。由于编码器结构的层数不同,token序列的长度也不同,ViT模块的参数量也不同。具体参数如表1所示。在实验ViT模块作为编码器结构的同时,实验部分还考虑了切块大小为32×32,16×16,8×8情况下的语义分割结果。在解码器结构中,Mask Transformer层数设置为2。

不同主干下的预训练模型:深度Resnet-18网络使用在ImageNet上获得的预训练模型,ViT预训练模型需要在JFT-300等更大数据集上获得。相同的是,无论是在深层Resnet-18、金字塔transformer还是提出的解码器结构中,都使用随机方法进行初始化。

其他相关操作:在本实验中,通过翻转和裁剪来增强训练数据集。ADE20K数据集的裁剪大小为480×480,Cityscapes数据集的裁剪大小为800×800。图片按0.5~2.0的比例调整大小,随机左右翻转。对于ADE20K数据集,原始速率设置为0.001,使用80个epoch,批量大小为8。对于Cityscapes数据集,初始学习率设置为0.01,本发明训练了100个周期,批量大小为4。

表1几种视觉transformer编码器的结构细节

2.3消融试验

本发明所提方法已经在ADE20K数据集上进行了足够的实验。本发明从ViT或Resnet模块提取丰富的特征后,通过设置不同空洞率的卷积来进行多尺度特征提取,并在此基础上使用transformer结构对多尺度特征的上下文信息进行建模,得到的特征图与原始特征图连接后作为解码器结构的输入。为了提高推理速度,本发明以ViT-Tiny为Backbone进行了消融实验。表2是探索在ADE20K验证数据集上使用不同空洞率提取的多尺度特征图以及使用transformer建模上下文信息所得mIoU的值。从表中可以看出,当使用ViT-Tiny transformer结构作为backbone作为基准时,ADE20K验证数据集上的mIoU值为38.15%。在此基础上,考虑到图像中每个像素点与周围像素点连接较多的性质,当使用空洞卷积2、6、8的空洞卷积进行多尺度提取时,mIoU值为39.29%;当孔卷积的atrous rate值为4、8、12时,此时mIoU值最大,为39.55%。因此,本发明分别基于空洞率为4、8、12的空洞卷积进一步考虑了多尺度特征之间的全局上下文关系,即使用transformer对多尺度特征进行建模。在金字塔模块的预训练的基础上,训练了多孔空间金字塔transformer模块。从表2可以看出,加入金字塔transformer模块建模的多尺度上下文信息后,此时的mIoU为40.59%,mIoU值增加了1.04%。

表2不同空洞率金字塔transformer模块下ADE20K验证数据集上的mIoU值

此外,图4显示了添加到基线的金字塔transformer结构的定性可视化结果。比如小台灯,枕头在卧室里很难分割。但是,通过金字塔transformer模块后,就可以识别出小台灯,也可以很好地分割枕头

在相同的主干下,不同的图像切片大小对最终的语义分割结果有着不可或缺的影响。为此,本发明继续探讨在不同切片大小的情况下,所提出的金字塔transformer模块对分割结果的影响。如表3所示,当encoder结构为ViT-Tiny时,可以看出当切片数量减少时,相应的mIoU值也会相应减少。当模型参数量增加时,相同切片数下的mIoU值会有所提高。具体来说,当ViT-Small作为编码器结构的主干网络,且切片块大小为32×32时,此时mIoU值为41.43%。当切片块大小减小到16×16时,mIoU值为45.98%,增加了4.55%。由于显存限制,本发明没有研究切片块大小为8×8时的mIoU。但是,理论上它会高于切片块大小16×16。在ViT-Tiny的backbone下,transformer文章中没有提供分类预训练的模型用来进行语义分割,所以,本发明不研究切片块大小为32×32的情况。表格中‘-’表示没有提供预训练模型。

表3在不同的transformer结构作为主干并结合不同切片大小下添加金字塔transformer结构后在ADE20K验证数据集上的mIoU值

这部分基于之前ViT-Tiny和金字塔transformer组成的编码器结构,继续研究几种典型的解码器方法得到的mIoU值。在之前的工作中,通过金字塔transformer模型的操作,特征图中多尺度信息更加丰富。在此基础上,我们通过reshape操作后的特征图,再通过1×1卷积实现特征降维,直接用插值的方法对得到的热点图进行上采样,此刻得到的mIoU值为38.83%。与解码器直接上采样的方式不同,在最终的特征图上通过逐层上采样方式得到的mIoU为39.65%,比之前的方式高0.82%。最后,当采用上采样方式之前在ViT中连接多级特征图的方式时,mIoU的值为39.66%。mIoU的值没有太大变化。这意味着低级功能没有得到充分利用。具体实验结果如表4所示。

表4具有不同解码方式单尺度预测下ADE20K验证数据集上的mIoU

区别于原来的直接上采样和逐层上采样,或者简单的特征融合方法会伤害边界的预测的原因。为了利用解码器结构中低级特征的空间信息,本节继续研究在文章第三部分提出的MtFAM解码器结构中,使用来自视觉transformer结构的不同低级信息。为了证明所提出的解码方法的可行性,如表5所示,当采用Mask Transformer解码方式时,获得的mIoU值为40.85%,比线性解码器的方式更好,这表明分类能力高级别特征像素已得到增强。此外,当通过特征对齐模块将第3层特征与高级特征组合时,获得的mIoU值是41.53%,比以线性解码器的方式不使用低级特征图结果值更优。因此,为了进一步提高场景分割的准确率,本发明在使用Mask Transformer增加高等级像素分类能力的同时,充分利用低层次特征图中的空间信息。可以看出,经过所提解码方式后,最终mIoU值为41.66%,相比于原始解码方式,mIoU提升了1.07%。

表5不同解码方式下的语义分割结果

在切片块大小相同的编码器结构和结合Mask Transformer方式和特征对齐模块的解码器结构的情况下,本发明通过增加训练次数来改进分割的最终结果。从表6可以看出,以ViT-Tiny为骨干,切片大小为16×16,当网络训练次数从80增加到120epoch时,ADE20K验证数据集上的mIoU值从原来的41.66%上升到41.88%,增加了0.22%。

表6 ADE20K数据集上不同训练时期下的mIoU值

2.4对比实验

ADE20K上的结果:在这一部分,本发明比较了ADE20K验证数据集上的其他高级方法。从表7中可以看出,在多尺度预测的情况下,本发明提出的方法实现的mIoU值为49.90%,像素精度值为83.37%。在ADE20K验证数据集上,主干为ViT-Hybrid的DPT-Hybrid方法的结果为49.02%。在ADE20K数据集上以Resnet-101作为主干的其他方法的结果也在表7中可见。“-”表示原始论文中没有提供数据。它高于当前的先进方法,如CPNet

表7在ADE20K验证数据集上不同场景分割方法的结果

与其他先进方法相比,除了mIoU值的定量分析外,我们将代表性方法和本发明提出的方法在ADE20K验证数据集上的可视化效果进行比较。如图5,原始图像、通过SERT和本章节提出的方法以及Ground Truth被显示出来,其中目标分割提升的部分用红色框标记出来。

表8在Cityscapes数据集上的IoU值

Cityscapes上的结果:考虑到Cityscapes数据集上的训练图像数量较少,使用transformer作为主干无法取得良好的效果。因此,本发明从联合卷积神经网络和transformer结构的角度出发,以Resnet-18结构为骨干来研究所提出的金字塔transformer模块的有效性。Resnet-18的预训练模型是从ImageNet得到的,用于图像分类。Resnet-18由四个阶段组成,这些阶段是通过残差的方式进行连接的。在每个阶段的最后,一个步长为2的卷积层旨在扩大感受野,同时保留更多的空间信息。从表8可以看出,使用Resnet-18作为主干的原始FCN,mIoU的值为70.41%。然而,当附加到提出的金字塔transformer模块和特征对齐模块时,mIoU值为74.16%,提高了4.25%。在实验中,考虑到通过Mask Transformer解码方式得到的特征图的通道数,对于特征对齐模块作为输入是没有用的。如图5所示,道路、路灯与仅作为主干的Resnet-18相比可以更好地分割。

表9在Cityscapes验证数据集上的mIoU值

如表9所示,与ESPNet和ERFNet等网络相比,所提方法获得更好的结果。为了比较的公平性,在FaPN中不使用特征选择模块,与基于Resnet-18的FaPN相比,添加提出的金字塔模块时,mIoU值增加了1.16%。

最后应当说明的是,以上实施例仅用于说明本发明的技术方案而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细说明,本领域的普通技术人员应当了解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

相关技术
  • 一种石墨烯量子点-稀土上转换纳米复合材料及其制备方法和应用
  • 基于量子点的复合光转换结构、其制作方法及应用
  • 量子点色转换结构的制作方法以及量子点色转换结构
技术分类

06120116338560