Semantic Segmentation with Deep Learning(深度学习的语义分割)
Semantic Segmentation with Deep Learning–A guide and code
What is semantic segmentation?

Semantic Segmentation
在深度学习与计算机视觉领域中, 大多数研究人员都熟悉图像分类任务的基本概念: 我们希望我们的模型能够识别单一物体或场景. 这一过程在细节上较为粗略且层次分明.
很多人都知道物体检测技术。为了识别图像中的物体,我们采用了在图像上绘制边界框并分析其内容的方法。该技术目前处于中级阶段,在我们的工作中提供了很多实用信息和详细数据资料但它仍有一定局限性因为我们仅实现了简单的边界框绘制而未能充分理解物体的具体形状特征。
语义分割在这一技术中占据着至关重要的地位。我们的目标是将图像中的每一个像素进行分类,请参考上面的动态图示!在过去的几年里,这一过程完全是依靠深度学习实现的。
在本指南中, 您将掌握语义分段模型的核心架构及其运作机制, 并深入了解当前最前沿的技术与最佳实践.
如果您有兴趣体验模型使用,请访问我的语义分段套件,并通过完成TensorFlow培训来实现对代码进行测试以及熟悉本指南中的各种模型。
Basic structure
在当前最先进语义分割方法中所包含的核心架构即是我将向您展示的内容。由于这些方法都基于相同的底层主干、设置和流程进行设计与实现,在此基础上构建不同任务的方法也变得相对容易。
U-Net模型有效地展示了这种结构。左侧部分对应于图像分类任务中的特征提取网络,在这里被详细阐述并进行了深入分析与探讨。这些网络包括VGGNet、ResNets、DenseNets、MobileNets以及NASNets等!请注意,你可以根据需要选择并使用其他任何类型的网络以增强该模块的功能与性能表现
在进行特征提取的过程中,在选择分类网络时必须注意到平衡的重要性。深度的ResNet152能够实现极高的准确度指标,在性能上与较轻量化的MobileNet相比则显得相对迟緩。当这些网络被应用于分类任务时所遇到的权衡问题也会反映到分割任务中。在设计或选择分段网络的过程中需要注意的关键点在于这些核心组件将在后续应用中发挥重要作用。

该方法用于图像分割。
在提取这些特征后,在不同的层级上进行进一步的处理。
主要原因在于模型可能需要应对多种多样尺寸的对象;通过在不同尺度下分析特征的能力来适应这一需求。
在进行分割时需要权衡取舍。若希望提升分类准确率,则建议从网络后期处理这些高级功能。因为它们具有更强的辨别能力,并提供了丰富的语义信息。相比之下,仅考虑这些深层次的功能因分辨率较低将难以实现高效的本地化处理。
当前最前沿的方法均基于上述特征提取架构,并执行多尺度处理。Ideal simple end-to-end approaches can be readily implemented. I would select a particular method based on the balance between performance and speed/memory requirements, as all researchers are actively seeking new solutions while maintaining efficiency.
本次最新技术演示活动旨在分享一些最新的解决方案。由于我们在基础理论学习后掌握了核心要领,在此阶段向大家介绍这些方案会更加贴合实际需求。演示活动将按照大致的时间顺序展开,并且这一安排也与当前最先进技术水平的发展相一致。
State-of-the-art walkthrough
全分辨率剩余网络(FRRN)是一种显著的深度学习模型。该研究论文中提出的[FRRN]模型可视为多尺度处理技术的典型代表,并通过并行计算实现两个关键操作:残差分支与池化分支。
我们致力于提取并分析这些语义特征以提升分类的准确度,并通过分阶段的方式对池流中的特征进行提取与降采样。FRRN在这一过程中表现出独特的特性:它在残余流中采用全分辨率策略来处理相应的特征图。具体而言,在汇集流中我们重点提取高级别语义信息以便获得较高的分类精度;而残差流则集中于分析低级像素级别的细节信息以实现精准定位!
为了训练端到端网络的高效性, 我们避免让这两个数据流完全分隔. 在每一轮最大池化操作后, 我们的模型通过融合来自两个数据流的特征映射来整合信息.

FRRN model structure
金字塔场景解析网络(PSPNet)
该网络在直接执行多尺度操作方面展现出色性能。
然而,在每个尺度层次上的数据量巨大导致计算负担过重。
此外,在全分辨率操作时该网络效率明显不足。
改写说明
为了获取多尺度信息, PSPNet通过4种不同设计的最大池操作,每种最大池操作分别拥有不同的窗口大小和步幅.这些池操作成功地捕获了不同尺度的特征信息,从而无需过多地针对各个尺度进行个性化处理.我们只需在每一种池操作后执行轻量级卷积,随后执行上采样步骤,即可使所有特征图达到相同的分辨率,并实现统一连接.
瞧!我们结合了多尺度特征图,而不对其进行多次卷积!
基于低分辨率的高速特征图生成。在此基础上,我们通过双线性插值方法将分割图放大至所需尺寸。该技术仅在处理完成后进行缩放,并广泛应用于当前最先进的一些工作领域。

PSPNet model structure
The One Hundred Layers Tiramisu (FCDenseNet)
深度学习正在催生一个令人瞩目的趋势。那就是其名称本身就彰显出研究领域的卓越成就:Hundred Layers Tiramisu FCDenseNet(听起来非常美味!)它采用了与U-网架构相似的设计模式。其主要贡献在于通过密集连接机制实现了类似于DenseNet这样的高效分类模型。
显著凸显了该领域的发展趋势,在任何其他相关任务中表现卓越的主要支撑点通常是您的特征提取模块。由此可见,在优化模型性能时,优先考虑您的特征提取模块通常能带来最佳效果。

FCDenseNet model structure
重新思考Atrous Convolution(DeepLabV3)
基于DeepLabV3提出的一种创新方法,在多尺度特征提取方面表现突出,并且通过巧妙的设计实现了无需额外参数开销的高效策略。
该设备具有显著的便携性。在特征提取环节的基础上,我们采用了第四级下采样功能进行后续处理。此分辨率相对较低(仅比输入图像缩小16倍),因此若能在这一阶段完成处理将十分有益。在这一过程中存在一个关键挑战:当分辨率极低时(因像素精度不足),定位效果往往欠佳。
这是DeepLab V3的核心创新点所在之处,在巧妙地采用了Atrous卷积机制的基础上实现了对细节信息的有效捕捉能力得到了显著提升。传统的滤波器设计仅能处理高度局部的信息特征由于滤波器仅与邻近像素相关联因此难以捕捉长距离的空间关系这使得在标准的3×3卷积操作中一个滤波器所关注的空间范围仅为单个步长/像素
针对存在混乱的卷积层,在操作过程中并不会增加权重的数量。然而,在这一过程中,并不会影响到操作中的权重数量。因此我们仍然采用一个9参数的3×3卷积,并通过调整各乘数间的距离来实现这一效果。这里所说的各乘数间的距离即为膨胀率的概念。以下模型图很好地展示了这一设计的核心思想。
当我们将网络架构设计为低扩张率时,我们负责处理本地的小范围区域信息;而当采用更高比例的高扩张率时,则能够有效管理更大范围的大规模信息.基于此,DeepLabV3模型通过结合不同比例的网络组件,实现了对多尺度特征的高效提取和融合.
在PSPNet所解释的所有处理之后的最终扩展技术也在这里完成。

DeepLabV3 model structure
Multi-Path Refinement Networks (RefineNet)
我们曾认识到FRPN能够高效整合来自不同分辨率的信息,并将其有机地结合起来。然而,在如此高的分辨率下运行FRPN存在较高的计算复杂度这一主要缺陷,并仍需对这些特征进行处理,并将其与其相应的低分辨率信息结合起来。
该方法不需要采用传统的下采样策略。通过特征提取网络对输入图像进行处理,在每次下采样过程中,系统会生成多尺度特征图。
随后
在对PSPNet和DeepLabV3进行解析的过程中,在整个流程结束后放大技术的应用也被纳入其中。

RefineNet model structure
Large Kernel Matters (GCN)
在之前的研究中,我们了解到DeepLabV3模型通过不同扩张率的渐开线卷积捕捉多尺度特征。其中一项关键挑战在于每次只能处理单一尺度的信息(即一个刻度),随后必须将其与其他尺度的数据进行融合才能完成后续操作。例如,在处理本地信息时(即区域内的细节),如果采用速率16的渐开线卷积可能会有所不足,并且必须将其与其他低速率卷成交叉融合(以提升整体性能)。
在此前的方法中,这些方法通常会将细节与整体信息分开处理,随后再整合起来进行综合分析。如果能够实现对多尺度信息的直接获取,这将具有重要意义
为此,《全球卷积网络》(Global Convolutional Network, GCN)论文提议采用大型一维卷积核取代传统的方形卷积核。传统的3×3及7×7等方形卷积架构存在明显局限性,在保持高性能的前提下增大其规模将导致显著的计算资源消耗。相比之下,在同样保持计算速度的前提下能够达到较大尺寸的一维卷积核展现出更高的扩展效率。该研究工作甚至将一维卷 convolution 核的最大尺寸扩展至15×15。此外,在平衡水平与垂直方向上的 convolutions 的基础上实施的小规模 3×3 卷积操作与少量滤波器设计有助于实现对 1D 转换过程中可能遗漏信息的有效补充。
GCN通过采用与先前研究一致的方法来处理来自特征提取前端的各个比例,在所有比例上执行处理直到达到全分辨率,并避免了后续阶段中低分辨率到高分辨率升级带来的潜在问题。从而使得我们在按比例放大时能够持续进行精细分割,并有效避免了因保持较低分辨率可能导致的问题。

GCN model structure
DeepLabV3+
基于名称的DeepLabV3 +模型可被视为DeepLabV3的一个衍生品,它汲取了前人的诸多创新理念。正如我们所观察到的那样,在仅依赖双线性插值对网络末梢进行升级时可能会导致性能受限。实际上,最初的DeepLabV3模型最终实现了从x16倍率提升至更高的倍率
为解决这一问题, 该方法建议在原有模型基础上增加一个中间解码器模块. 经过DeepLabV3处理后, 随后采用x4因子对功能进行上采样. 接着, 在完成x4倍率升级之前, 这些增强后的特征将与模型前端提取的原始特征共同参与后续处理. 这不仅减少了网络末端负担, 还为从模型前端提取的特征通往网络近端环节提供了便捷途径.

DeepLabV3+ model structure
在2018年的CVPR和ECCV会议上
基于深度监督的图像级联网络(ICNet),能够对输入图像按不同尺度进行处理;每个子网络分别负责这些不同尺度的特征提取,并逐步将各尺度的结果融合起来。
Discriminative Feature Network(DFN)通过深度监督机制分别针对图像的不同区域进行平滑处理和边缘检测。
该模型通过整合密集连接网络与卷曲收缩机制实现了高效的特征提取
上下文编码 - 通过引入频道注意力机制来捕捉全局上下文信息,并通过新增的频道关注模块提升模型准确性。具体而言, 该模块基于设计的新损失函数来激活特定特征图中的注意力机制, 这种机制能够聚焦于与当前任务相关的图像区域. 此外, 该模型采用多支路结构, 每个支路独立负责识别图像中存在的不同类别 (涉及更高层次的全局语境).
该研究提出了一种新的密集解码器快捷方式连接框架,在该框架下设计了一种基于密集连接的快速解码机制,在实验结果表明该方法相较于传统方法能够显著提升模型性能(相较于传统方法仅依赖于特征提取和编码阶段的单一途径)
双边分段网络(BiSeNet)由两个部分构成:一个是语义提取模块用于捕捉整体图像的信息另一个是对输入图像进行微调处理的部分旨在保留细节像素特征
ExFuse 基于深度监督,在特征提取前端有意识地整合多尺度特征,并在同一层次进行融合以确保多尺度信息在各个层面一起处理。

ICNet model structure
TL;DR or how to do semantic segmentation
- 关注分类权衡。
- 您的分类网络是您处理功能的主要驱动力之一;同时,在此过程中, 最大的收益与损失将由此处产生。
- 通过多尺度分析和信息整合
- 这些技术包括多尺度池、空洞卷积和大型一维转换.
- 建议避免对高分辨率图像进行大规模计算处理; 反而, 在低速条件下完成速度任务, 并根据需要补充最后的光精细度.
- 深度监督机制能够显著提升模型性能(尽管其参数配置和训练优化相对复杂)
