典型语义分割算法

目录

一、 FCN全卷积网络

二、 SegNet 

三、U-Net  

四、DeepLab V1

五、 DeepLab V2

六、 DeepLab V3

七、Mask R-CNN

八、PSPNet

九、 RefineNet


一、 FCN全卷积网络

        全卷积网络FCN在会议CVPR 2015的论文 中提出.

        它将CNN分类网络(AlexNet, VGG 和 GoogLeNet)修改为全卷积网络, 通过对分割任务进行微调,将它们学习的表征转移到网络中。然后,定义了一 种新的架构,它将深的、粗糙的网络层的语义信息和浅的、精细的网络层的表 层信息结合起来,来生成精确和详细的分割。

        全卷积网络在 PASCAL VOC(2012年的数据,相对之前的方法提升了 20% ,达到62.2% 的平均IoU),NYUDv2 和 SIFT Flow 上实现了最优的分割结果, 对于一个典型的图像,推断只需要 1/3 秒的时间。

        FCN的网络结构如下所示,典型的编码器解码器结构:

 

        我们来看看FCN的中间层的一些数字,如下:

 

 

 

关键特点:

FCN的特征由编码器中的不同阶段合并而成的,它们在语义信息的粗糙 程度上有所不同。

低分辨率语义特征图的上采样使用经双线性插值滤波器初始化的「反卷 积」操作完成。

从 VGG16、Alexnet 等分类器网络进行知识迁移来实现语义细分。  

        如上图所示,预训练模型 VGG16 的全连接层( fc6 , fc7 )被转换为全卷 积层,通过它生成了低分辨率的类的热图,然后使用经双线性插值初始化的反 卷积,并在上采样的每一个阶段通过融合(简单地相加) VGG16 中的低层 ( conv4 和 conv3 )的更加粗糙但是分辨率更高的特征图进一步细化特征。 

        在传统的分类 CNNs 中,池化操作用来增加视野,同时减少特征图的分辨 率。对分类任务来说非常有效,分类模型关注图像总体类别,而对其空间位置 并不关心。所以才会有频繁的卷积层之后接池化层的结构,保证能提取更多抽 象、突出类的特征。

        一方面,池化和带步长的卷积对语义分割是不利的,这些操作会带来空间 信息的丢失。不同的语义分割模型在解码器中使用了不同机制,但目的都在于 恢复在编码器中降低分辨率时丢失的信息。如上图所示,FCN-8s 融合了不同粗 糙度( conv3 、 conv4 和 fc7 )的特征,利用编码器不同阶段不同分辨率的空 间信息来细化分割结果。

        下图为训练 FCNs 时卷积层的梯度:  

        第1个卷积层捕捉低层次的几何信息,我们注意到梯度调整了第一层的权 重,以便其能适应数据集。

        VGG 中更深层的卷积层有非常小的梯度流,因为这里捕获的高层次的语义 概念足够用于分割。 

        语义分割架构的另一个重要点是,对特征图使用「反卷积」(如上动图所 示),将低分辨率分割图上采样至输入图像分辨率,或者花费大量计算成本, 使用空洞卷积在编码器上部分避免分辨率下降。即使在现代 GPUs 上,空洞卷 积的计算成本也很高。

        最后,我们来看看FCN的优缺点: 

二、 SegNet 

        SegNet 的新颖之处在于解码器对其较低分辨率的输入特征图进行上采样的 方式。

        解码器使用了在相应编码器的最大池化步骤中计算的池化索引来执行非 线性上采样。

        这种方法消除了学习上采样的需要。经上采样后的特征图是稀疏的,因此 随后使用可训练的卷积核进行卷积操作,生成密集的特征图。

        SegNet与FCN等语义分割网络比较,结果揭示了在实现良好的分割性能时 所涉及的内存与精度之间的权衡。

关键特点:

        SegNet 在解码器中使用「反池化」对特征图进行上采样,并在分割中 保持高频细节的完整性。

        编码器舍弃掉了全连接层(和 FCN 一样进行卷积),因此是拥有较少 参数的轻量级网络。  

 

        如上图所示,编码器中的每一个最大池化层的索引都被存储起来,用于之 后在解码器中使用那些存储的索引来对相应的特征图进行反池化操作。虽然这 有助于保持高频信息的完整性,但当对低分辨率的特征图进行反池化时,它也 会忽略邻近的信息。

三、U-Net  

        U-Net 架构包括一个「捕获上下文信息的收缩路径」和一个「支持精确本 地化的对称扩展路径」。这样一个网络可以使用非常少的图像进行端到端的训 练,它在ISBI神经元结构分割挑战赛中取得了比之前方法都更好的结果。

 

 

 

关键特点:

        U-Net 简单地将编码器的特征图拼接至每个阶段解码器的上采样特征 图,从而形成一个梯形结构。该网络非常类似于 Ladder Network 类 型的架构。

        通过跳跃 拼接 连接的架构,在每个阶段都允许解码器学习在编码器池 化中丢失的相关特征。

        上采样采用转置卷积。 

        U-Net 在 EM 数据集上取得了最优异的结果,该数据集只有30个密集标注 的医学图像和其他医学图像数据集,U-Net 后来扩展到3D版的 3D-U-Net。虽 然 U-Net 最初的发表在于其在生物医学领域的分割、网络的实用性以及从非常 少的数据中学习的能力,但现在已经成功应用其他几个领域,例如 卫星图像分 割等。

四、DeepLab V1

        DeepLab V1结合 DCNN 和概率图模型来解决语义分割问题。DCNN 最后 一层的响应不足以精确定位目标边界,这是 DCNN 的不变性导致的。DeepLab V1的解决方法是:在最后一层网络后结合全连接条件随机场。DeepLab V1在 PASCAL VOC 2012 上达到了 71.6% 的 mIoU。

关键特点:

提出 空洞卷积(atrous convolution)(又称扩张卷积(dilated convolution)) 。

在最后两个最大池化操作中不降低特征图的分辨率,并在倒数第二个最 大池化之后的卷积中使用空洞卷积。

使用 CRF(条件随机场) 作为后处理,恢复边界细节,达到准确定位 效果。

附加输入图像和前四个最大池化层的每个输出到一个两层卷积,然后拼 接到主网络的最后一层,达到 多尺度预测 效果。  

五、 DeepLab V2

        DeepLab V2 在2017的论文中提出。

        DeepLab V2 提出了一种空洞空间金字塔池化(ASPP)的多尺度鲁棒分割 方法。

        ASPP 使用多个采样率的过滤器和有效的视野探测传入的卷积特征层,从而 在多个尺度上捕获目标和图像上下文。再结合 DCNNs 方法和概率图形模型,改 进了目标边界的定位。

        DCNNs 中常用的最大池化和下采样的组合实现了不变性,但对定位精度有 一定的影响。DeepLab V2通过将 DCNN 最后一层的响应与一个全连接条件随 机场(CRF)相结合来克服这个问题。DeepLab V2 在 PASCAL VOC 2012 上得到 了 79.7% 的 mIoU。

        DeepLab V2的主干网络是ResNet,整体网络如下图所示,核心的一些结 构包括 空洞卷积组建的ASPP模块、空洞空间金字塔池化。

上图中的 ASPP 模块具体展开如下方2个图所示: 

 

 

具体的,DeepLab V2 论文中提出了语义分割中的三个挑战:

① 由于池化和卷积而减少的特征分辨率。

② 多尺度目标的存在。

③ 由于 DCNN 不变性而减少的定位准确率。  

第①个挑战解决方法:减少特征图下采样的次数,但是会增加计算量。

第②个挑战解决方法:使用图像金字塔、空间金字塔等多尺度方法获取多 尺度上下文信息。

第③个挑战解决方法:使用跳跃连接或者引入条件随机场。 DeepLab V2 使用 VGG 和 ResNet 作为主干网络分别进行了实验。

 关键特点:

        提出了空洞空间金字塔池化(Atrous Spatial Pyramid Pooling) , 在不同的分支采用不同的空洞率以获得多尺度图像表征。

六、 DeepLab V3

        DeepLab V3 依旧使用了ResNet 作为主干网络,也依旧应用空洞卷积结 构。

        为了解决多尺度目标的分割问题,DeepLab V3 串行/并行设计了能够捕捉 多尺度上下文的模块,模块中采用不同的空洞率。

        此外,DeepLab V3 增强了先前提出的空洞空间金字塔池化模块,增加了图 像级特征来编码全局上下文,使得模块可以在多尺度下探测卷积特征。

        DeepLab V3 模型在没有 CRF 作为后处理的情况下显著提升了性能。

        DeepLab V1-V3 的结构对比如下所示:

DeepLab V3 对 ASPP 模块进行了升级,升级后的结构细节如下图所示:  

DeepLab V3 的具体结构细节如下,包含多个残差块结构。

 

DeepLab V3中引入了Multi-grid,可以输入大分辨率图片: 

        DeepLab V3包含2种实现结构:分别为 cascaded model 级联型 和 ASPP model 金字塔池化型。

        两种模型分别如下的2幅图所示。

        cascaded model 中 Block1,2,3,4 是 ResNet 网络的层结构(V3主干网 络采用 ResNet50 或 101),但 Block4 中将 3 * 3 卷积和捷径分支 1*1 卷积步长 Stride 由 2 改为 1,不进行下采样,且将 3 * 3 卷积换成 膨胀卷积,后面的 Block5,6,7是对 Blockd 的 copy。(图中 rate 不是 真正的膨胀系数,真正的膨胀系数 = rate*Multi - grid参数)  

ASPP模型的升级在前面介绍里提到了。

 

关键特点:

        在残差块中使用多网格方法(MultiGrid),从而引入不同的空洞率。

        在空洞空间金字塔池化模块中加入图像级(Image-level)特征,并且 使用 BatchNormalization 技巧。  

七、Mask R-CNN

        Mask R-CNN在论文 Mask R-CNN 中被提出。

        Mask R-CNN以Faster R-CNN 为基础,在现有的边界框识别分支基础上添 加一个并行的预测目标掩码的分支。

        Mask R-CNN很容易训练,仅仅在 Faster R-CNN 上增加了一点小开销,运 行速度为 5fps。

        此外,Mask R-CNN很容易泛化至其他任务,例如,可以使用相同的框架进 行姿态估计。

        Mask R-CNN在 COCO 所有的挑战赛中都获得了最优结果,包括实例分 割,边界框目标检测,和人关键点检测。在没有使用任何技巧的情况下,Mask R-CNN 在每项任务上都优于所有现有的单模型网络,包括 COCO 2016 挑战赛 的获胜者。

 

Mask R-CNN 是在流行的 Faster R-CNN 架构基础上进行必要的修改,以执 行语义分割。

 

关键特点:

在Faster R-CNN 上添加辅助分支以执行语义分割

        对每个实例进行的 RoIPool 操作已经被修改为 RoIAlign ,它避免了特 征提取的空间量化,因为在最高分辨率中保持空间特征不变对于语义分 割很重要。

        Mask R-CNN 与 Feature Pyramid Networks(类似于PSPNet,它 对特征使用了金字塔池化)相结合,在 MS COCO 数据集上取得了最 优结果。  

八、PSPNet

        PSPNet在论文 PSPNet: Pyramid Scene Parsing Network 中提出。

        PSPNet利用基于不同区域的上下文信息集合,通过我们的金字塔池化模 块,使用提出的金字塔场景解析网络(PSPNet)来发挥全局上下文信息的能 力。

        全局先验表征在场景解析任务中产生了良好的质量结果,而 PSPNet 为像 素级的预测提供了一个更好的框架,该方法在不同的数据集上达到了最优性 能。它首次在2016 ImageNet 场景解析挑战赛,PASCAL VOC 2012 基准和 Cityscapes 基准中出现。

 

        如上图所示,PSP网络解决的主要问题是「缺少上下文信息」带来的不准 确,其利用全局信息获取上下文,具体如下

之前的问题: 缺少上下文信息

如上图所示

        图中的boat区域和类别”car”的appearance相似

        模型只有local 信息,Boat 容易被识别为”car”

        Confusion categories: Building and skyscraper  

应用上下文信息方法

        利用全局信息 (global information)

        全局信息 in CNN ~= feature/pyramid

PSP网络的一些细节如下几幅图中介绍:

 

 

 

 

 

 

 

关键特点:

        PSPNet 通过引入空洞卷积来修改基础的 ResNet 架构,特征经过最初 的池化,在整个编码器网络中以相同的分辨率进行处理(原始图像输入 的 1/4 ),直到它到达空间池化模块。

        在 ResNet 的中间层中引入辅助损失,以优化整体学习。

        在修改后的 ResNet 编码器顶部的空间金字塔池化聚合全局上下文。  

        图片展示了全局空间上下文对语义分割的重要性。它显示了层之间感受野 和大小的关系。在这个例子中,更大、更加可判别的感受野(蓝)相比于前一 层(橙)可能在细化表征中更加重要,这有助于解决歧义  

九、 RefineNet

        RefineNet是一个通用的多路径优化网络,它明确利用了整个下采样过程中 可用的所有信息,使用远程残差连接实现高分辨率的预测。通过这种方式,可 以使用早期卷积中的细粒度特征来直接细化捕捉高级语义特征的更深的网络 层。RefineNet 的各个组件使用遵循恒等映射思想的残差连接,这允许网络进行 有效的端到端训练。

 

        如上图所示,是建立 RefineNet 的块 - 残差卷积单元,多分辨率融合和链 式残差池化。

        RefineNet 解决了传统卷积网络中空间分辨率减少的问题,与 PSPNet(使 用计算成本高的空洞卷积)使用的方法非常不同。提出的架构迭代地池化特 征,利用特殊的 RefineNet 模块增加不同的分辨率,并最终生成高分辨率的分 割图。          

关键特点:

        使用多分辨率作为输入,将提取的特征融合在一起,并将其传递到下一 个阶段。

        引入链式残差池化,可以从一个大的图像区域获取背景信息。它通过多 窗口尺寸有效地池化特性,利用残差连接和学习权重方式融合这些特 征。

        所有的特征融合都是使用 sum (ResNet 方式)来进行端到端训练。

        使用普通 ResNet 的残差层,没有计算成本高的空洞卷积。

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值