【语义分割】12个主流算法架构介绍、数据集推荐、总结、挑战和未来发展
背景语义分割是将图像中的每个像素按其语义类别进行分类从而实现像素级别的语义理解。其在自动驾驶、医学图像、结构损伤检测等领域有着广泛的应用。1.主流算法架构1.1 U-Net论文地址https://arxiv.org/abs/1505.04597U-Net2015年由Ronneberger等人提出,是经典的编码-解码架构。其中编码器部分利用卷积层和池化层逐步提取输入图像的特征获取输入图像特征的潜在表示。解码器部分使用转置卷积和卷积从编码器的各级分辨率级别还原目标的细节特征。U-Net因其结构简单、易于训练和有效性而受到青睐同时也为图像分割任务提供了一个强大的基准模型。1.2 SegNet论文地址https://arxiv.org/abs/1511.00561SegNet是2016年由Cambridge提出旨在解决自动驾驶的图像语义分割深度网络。SegNet与U-Net网络类似主要的区别在于SegNet提出了记录池化的位置反池化时恢复。SegNet在解码恢复信息时不再和编码器对应的分辨率级别进行拼接操作而是直接进行转置卷积。1.3 PSPNet论文地址https://arxiv.org/pdf/1612.01105.pdfPSPNet是2017年提出的一种用于语义分割的深度卷积神经网络。其架构的主要特点是金字塔池化模块Pyramid Pooling Module。PSPNet最大的创新是引入金字塔池化模块通过不同尺度的池化操作获得全局和局部信息。输入特征图被分割为不同大小的区域并进行池化操作以提取每个区域的特征。不同池化尺度下的特征被级联在一起形成了一个更加丰富和多样的特征表示。1.4 UNet论文https://arxiv.org/pdf/1807.10165.pdfUnet于2018年提出Unet继承了Unet的结构同时又借鉴了DenseNet的稠密连接方式。其主要有四个结构特点1密集连接的多级UNet结构UNet采用了分层的、多级的UNet结构。每个UNet模块都由一个编码器和多个解码器组成。每个解码器的特征图与上一级解码器的所有特征图相连接形成了一种密集连接的结构有助于更好地传递和利用不同层级的信息。2嵌套连接与跳跃连接UNet结构通过嵌套连接将不同分辨率的特征图相互连接以多层级方式传递信息。跳跃连接也被保留在不同层次使得不同分辨率的信息可以更有效地在编码器和解码器之间传递。3特征重组和特征融合每个UNet模块内部通过特征重组和特征融合操作将不同分辨率和不同层级的特征图结合起来增强了特征表达的多样性和丰富性。4多尺度特征提取UNet在编码器和解码器中都包含了多尺度特征提取模块有助于捕获不同尺度下的语义信息。1.5 DeepLabv3论文https://arxiv.org/pdf/1802.02611v3.pdfDeepLabv3是由Google于2018年提出的图像语义分割模型旨在解决语义分割任务中的精度和效率问题。它是DeepLab系列模型的最新版本结合了深度卷积网络和空洞卷积网络的优势并引入了空间金字塔池化模块(ASPP)和解码器模块利用多尺度信息增强模型的性能有助于解决对象尺度不一致的问题。DeepLabv3整体来说也是一个编码-解码架构其中编码器中的DCNN是可以按照具体任务需求修改的backbone。举例来说DCNN可以是高效轻便的MobileNet、EfficientNet也可以是深度残差网络ResNet也可以是经典的Xception、Inception等网络。具体的架构方案需要根据当前的任务做具体的设计和调整。1.6 HRNet论文https://arxiv.org/pdf/1904.04514.pdfHRNet于2019年提出作者通过通过聚合来自所有并行卷积的上采样的表示来增强高分辨率表示而不是仅聚合来自高分辨率卷积的表示。这种架构设计模式是模型有更强的表征能力。其架构的主要特点如下1多分辨率特征金字塔HRNet在网络的不同分支中保持多个分辨率的特征图同时通过高分辨率和低分辨率的交互保留了更多的细节信息。通过多个分支每个分支都以不同的分辨率来处理输入图像然后进行特征融合以综合不同分辨率的信息。2多层级信息融合HRNet内部进行多层级的信息融合使得不同分辨率特征图之间可以相互交流和融合充分利用不同分辨率的特征。3高分辨率信息保留通过保留高分辨率特征图HRNet在姿态估计和图像分割任务中能够更好地捕获和利用细节信息避免了传统网络中由于下采样导致的低分辨率特征损失问题。4通道交流HRNet在不同分辨率特征图之间引入了通道交流channel fusion使得不同分辨率的特征图可以相互交流和融合提高了特征的丰富性和表达能力。1.7 U2NetU2Net于2020年发表于CVPR。U2Net的主体是一个两层嵌套的U型结构网络中的每个编码器和解码器模块也是类似UNet的结构也就是在大的UNet中嵌入了一堆小UNet。其架构的主要特点如下1ReSidual U块RSU中混合了不同大小的感受野它能够从不同的尺度捕获更多的上下文信息。2RSU块中使用了池化操作它增加了整个架构的深度而不显著增加计算成本。这种架构使得使用者能够从头开始训练深度网络而无需使用图像分类任务中的主干backbone。1.8 HRNet-OCR论文https://arxiv.org/pdf/1909.11065.pdfHRNet-OCR于2021年提出它在HRNet的基础上进一步引入了OCR Object-Contextual Representations机制。这种OCR机制是一种简单而有效的对象上下文表示方法帮助网络更好地理解图像中不同对象之间的关系和上下文信息。OCR模块在每个HRNet分支上引入了空间注意力机制Spatial Attention和对象级别的上下文信息建模。空间注意力机制有助于网络学习不同区域的重要性对象级别的上下文信息帮助网络更好地理解对象之间的联系。1.9 SETR论文地址https://arxiv.org/pdf/2012.15840.pdfSETR于2021年提出是基于ViT来进行语义分割的第一个代表模型。它提出以纯Transformer结构的编码器来代替CNN编码器改变现有的语义分割模型架构。其架构的主要特点如下1Image to sequence 图像序列化方法作者参考了ViT的做法即对输入图像进行切片处理将每一个2D的图像切片patch视为一个“1D”的序列作为整体输入到网络当中。2Transformer: 通过将序列输入到Transformer架构可进行特征的提取其主要包含两个部分Multi-head Self-Attention (MSA) and Multilayer Perceptron (MLP) blocks。3解码作者给出了三种解码上采样方式即朴素上采样、渐进上采样、多级特征融合类似于特征金字塔。1.10 SegFormer论文地址https://arxiv.org/pdf/2105.15203.pdfSegFormer于2021年提出其架构的主要特点如下1patch的局部连续性之前ViT做patch embedding时每个patch都是独立的而SegFormer对patch设计成有重叠的保证局部连续性。2多尺度融合Encoder输出多尺度的特征Decoder将多尺度的特征融合在一起这使得模型能够同时捕捉高分辨率的粗略特征和低分辨率的细小特征优化分割结果。3轻量级decoder: 编码器中分层Transformer的设计使其相较于CNN有更大的感受野这使得在设计decoder时可以仅由MLP层组成。所以decoder的计算量和参数量非常小从而使得整个模型可以高效运行简单直接。并且通过聚合不同层的信息结合了局部和全局注意力。1.11 Swin-UNet论文地址https://arxiv.org/pdf/2105.05537.pdfSwin-UNet于2021年提出它是一个类Unet的纯Transformer。Token化的图像patch被输入到基于transformer的U型编码器-解码器架构中并具有跳跃连接用于局部全局语义特征学习。具体来说Swin-UNet使用带有移位窗口(shifted windows)的分层Swin Transformer作为编码器来提取上下文特征设计了一种基于对称Swin Transformer的patch expanding层解码器对特征图进行上采样操作恢复特征图的空间分辨率。1.12 SegNeXt论文地址https://arxiv.org/abs/2209.08575SegNeXt于2022提出展示了卷积注意力在编码上下文信息上比transformer自注意力更有效。其架构特点主要如下1采用一种新的多尺度卷积注意力Multi-Scale Convolutional Attention, MSCA。MSCA包含三个部分分别是深度可分离卷积获取局部信息多分支深度可分离strip卷积以捕获多尺度上下文1×1卷积建模不同通道之间的关系2在解码器中轻量级的Hamburger 以进一步建模全局上下文。2. 数据集推荐在这里小编针对道路交通领域推荐一个易于上手的道路标记数据集CeyMo Dataset。所有图像均配备有像素级人工标注的道路标记真值图像Ground-truth。数据集的详细信息可见GitHub - oshadajay/CeyMo: CeyMo: See More on Roads - A Novel Benchmark Dataset for Road Marking Detection (IEEE/CVF WACV 2022)。针对语义分割任务为了方便测试小编将数据集进行了处理将原来的11个标记类别变成了一个类别。如果想要处理后的数据集可从百度网盘下载。链接https://pan.baidu.com/s/1p6mGDiCGEAvoyBMwD0twowpwd2twg提取码2twg此外小编用处理后的数据集测试了几个语义分割模型。所有语义分割架构均在Tensorflow2.0环境下测试。在测试集上参考测试结果如下ModelF1-score(%)IOU(%)UNet91.0082.81DeepLabv389.9681.12HRNetV2-W4886.3675.46HRNet-OCR88.2078.30PSPNet88.1078.15SegNet88.8078.85SegFormer88.9179.43SegNeXt90.2982.98总结回顾近10年来经典的语义分割模型无论是基于CNN的架构还是基于Transformer的架构最核心的理念是“编码-解码”。直观上来讲就是通过下采样获取特征的潜在表示再通过上采样从抽象的底层特征表示中恢复目标的细节信息。从交通、医学、遥感、自动驾驶、智能施工管控等领域近些年发表的关于语义分割的论文来看采用的架构大多是以上所提到的模型的变体包括但不限于添加各种注意力机制模块、更换主流的特征提取网络backbone、CNN与transformer混合设计、多尺度特征融合。其中一个主要原因是面对不同的分割任务和分割对象已有的语义分割架构并不能保证表现得很出色。所以在利用语义分割算法解决自己特定领域的问题时往往需要结合实际需求精度为第一要素、速度为第一要素、还是速度和精度要达到出色的平衡对架构进行改造设计。挑战与未来发展目前来看各种语义分割架构层出不穷但本质上都是基于最小元素“卷积”或“Transformer”的各种组合变体。未来针对特定的专业分割任务仍需要结合具体场景和需求选择或搭建适合自己的架构体系。除此之外以上所提到的语义分割架构全是基于监督学习的也就是有标签的深度学习。但现实情况是很多任务的标签获取很难或者非常珍贵。面对这一痛点基于自监督学习、半监督学习以及无监督学习的深度学习范式是一个非常不错的研究思路。目前已有很多学者开展了对自监督学习、半监督学习以及无监督学习的研究并取得了一定的进展。关于这一块的内容小编将在后续进行介绍。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2413664.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!