关于语义学习:4种语义分割数据集Cityscapes上SOTA方法总结

3次阅读

共计 4908 个字符,预计需要花费 13 分钟才能阅读完成。

摘要: 以后语义宰割办法面临 3 个挑战。

本文分享自华为云社区《语义宰割数据集 Cityscapes 上 SOTA 办法总结》,原文作者:fdafad。

1 Cityscapes 数据集介绍

Cityscapes 评测数据集即城市景观数据集,在 2015 年由奔驰公司推动公布,是目前公认的机器视觉畛域内最具权威性和专业性的图像宰割数据集之一。Cityscapes 领有 5000 张精密标注的在城市环境中驾驶场景的图像(2975train,500 val,1525test)。它具备 19 个类别的密集像素标注(97%coverage),其中 8 个具备实例级宰割。具体类别名称见于下表 1。

表 1 Cityscapes 数据集中的类别名称

2 Deep High-Resolution Representation Learning for Visual Recognition(HRNet)

2.1 动机

以后语义宰割办法面临 3 个挑战,其中第一个挑战是基于 FCN 的分辨率由高到低会损失信息。

语义宰割办法须要高分辨率特色,图中 1 展现了几种基于 FCN 的经典办法的,它们的共同点通过一个网络失去 低分辨 feature map,而后通过上采样或反卷积复原到高分辨率。

图 1 基于 FCN 办法的几种经典构造

这些看起来不同,但实质外围思路是差不多的。这些办法存在一个毛病, 分辨率由高到低会损失信息!

2.2 模型构造与外围代码

为了解决 2.1 中的问题,作者团队(MSRA 和中科院)提出一个办法,外围思路是“ 不复原高分辨率,而是放弃分辨率 ”。如下图 2 中是一个根本的高分辨率放弃网络结构,该构造把不同分辨率的 feature map 并联,雷同分辨率的占一条分支,不同分辨率的占不同分支。并在不同分支之间增加通路(图中的斜线),造成 high-resolution network。

图 2 根本的 high-resolution network 构造

图 2 中的机构由 4 个 stage 组成,每一个蓝底色块为一个 stage。在 SOTA 办法中,采纳的是 HRNet-W48,其结构图如图 3 所示。

图 3 HRNet-W48 结构图

HRNet V2-W48 是在 4 个 stage(图 3 中蓝、绿、红、黄 4 种底色区域)的头部加上 stem net(图 3 中红色底色区域),尾部加上 segment head 后(图中未画出)组成。上面依照先后顺序顺次对 stem net、4 个 stage 以及 segment head 进行介绍。

(1)stem net

stem net 由两个 Bottelneck 组成,与 Resnet 的构造一样,通过两个 Bottelneck 当前,输出图像的维度由 H W 3 变成了(H/4)(W/4)256

(2)4 个 stage

  • 每个 stage 上的各个组件配置如下表 2,以 hrnet_48 为例
  • stage 之间通过 transition_layer 连贯,stage 内由反复的根本单元 HighResolutionModule 组成。
  • HighResolutionModule 由分支以及分支开端的 fuse_layers 组成。
  • 每条分支内由反复的 basicblock 组成,具体数量见表 2

表 2 HRNet-W48 模型配置表

A:stage 间的 transition layer: 实现 stage 之间通道转换和尺寸下采样,即图 3 中不同底色之间连贯的直线和斜线 stage 之间的斜线,指向不做任何解决。


图 4 stage 间的 transition layer 构建代码

B:构建 stage

每个 stag 均是有若干反复的 HighResolutionModule 组成,因而构架 stage 的外围在与构建 HighResolutionModule。构建 HighResolutionModule 分两步:构建分支、构建分支开端的 fuse_layers。

构建分支:图 3 种的 4 个间断的 basicblock 即一个分支。

图 5 HighResolutionModule 内分支构建代码

构建 fuselayer:

以下图中蓝色框为例阐明 fuselayer 层的处理过程:

图 6 fuselayer 层

图 6 HighResolutionModule 内 fuselayer 层构建代码

3 Object-Contextual Representations for Semantic Segmentation(OCR)

3.1 动机

以后语义宰割办法面临 3 个挑战中第二个挑战是没有解决好物体上下文信息。

上下文特色:图像中的每一个像素点不可能是孤立的,一个像素肯定和四周像素是有肯定的关系的,大量像素的互相联系才产生了图像中的各种物体,所以上下文特色就指像素以及周边像素的某种分割。具体到图像语义宰割,就是在判断某一个地位上的像素属于哪品种别的时候,不仅考查到该像素的灰度值,还充分考虑和它邻近的像素。

以后办法剖析上下文信息如下图 7 所示,比如说红色点是咱们关注的点,四周绿色几个点是采样进去的,能够看到,绿色点分为两局部,一部分是属于车的,还有一部分是属于背景的。以后办法并没有进行辨别。

图 7 上下文信息图

那咱们该怎么办?咱们找这个物体,要通过四周物体的象素表征来帮忙。因而,咱们须要把红色像素四周属于 object 的 pixel 取出来做为上下文,如下图 8 所示:

图 8 对象区域上下文信息图

3.2 模型构造与外围代码

外围思路:OCR 提出了一种新的关系上下文办法,该办法依据粗宰割后果学习像素与对象区域特色之间的关系来加强像素特色的形容。模型构造如下图所示。

图 9 OCR 模型结构图

计算步骤:

  • STEP1: 取得粗宰割后果。

从 backbone 最初输入的 FM,在接上一组 conv 的操作,而后计算 cross-entropy loss。

  • STEP2: 取得对象区域特色。

联合图 9 中可知,该步骤须要两个分支的 tensor 进行矩阵乘:

Tensor1:pixel representation,骨干网络最初一层 FM,维度为 b×c×h×w->b×c×hw

Tensor2:soft object region,FM 通过 softmax 后的后果,维度为 b×k×h×w->b×k×hw

将 Tensor1 和 tensor2 相乘后的输入后果为 b×k×c,b×k×c 便是图 9 中对象区域特色的示意。

图 10 对象区域特色计算代码

  • STEP3: 取得 pixel-region relation。

联合图 9 中可知,该步骤须要两个分支的 tensor 进行矩阵乘:

Tensor1:pixel representation,骨干网络最初一层 FM,维度为 b×c×h×w->b×c×hw

Tensor2:STEP2 中的对象区域特色,维度为 b×k×c

代码中将两个 tensor 的维度进行了转化,转化两个 tensor 的维度别离为 b×key×hw 和 b×key×k。两个 tensor 相乘后失去 pixel-region relation 的表达式为 b×k×h×w。

  • STEP4: 计算最终对象特色上下文示意。

联合图 9 中可知,该步骤须要两个分支的 tensor 进行矩阵乘:

Tensor1:STEP3 中取得的 pixel-region relation,维度为 b×k×h×w

Tensor2:STEP2 中的对象区域特色,维度为 b×k×c

两个特色相乘后便失去对象上下文特色,即图 10 中的红色块。

图 11 step2-step4 中相干代码

4 SegFix: Model-Agnostic Boundary Refinement for Segmentation(SegFix)

4.1SegFix 的动机

基于 FCN 的办法面临的第三个挑战是边缘宰割不精确。下图 12 显示了宰割后果的误差图。下图 12 中的第一列显示了宰割 GT 图,第二列 / 第三 / 第四列别离显示了 DeepLabv3 / HRNet / Gated-SCNN 的误差图。这些示例是从 Cityscapes val set 中裁剪的。咱们能够看到,对于这三种办法,在细边界上都存在许多谬误。

图 12 模型宰割后果误差图

基于教训察看的后果,即外部像素的标签预测更加牢靠,因而用外部像素的预测代替边界像素的最后不牢靠的预测,可能进步模型对边缘的宰割成果。提出了一种新鲜的模型无关的后处理机制,通过将边界像素的标签替换为对应外部像素的标签来缩小宰割后果,从而缩小了边界误差。

4.2 模型构造与外围代码

依据 4.1 中的形容,天经地义的会牵引出两个问题:(1)如何确定边缘(2)如何关联边缘像素与外部像素。这里借助于一个边缘预测分支和一个方向预测分支来实现。在取得良好的边界和方向预测之后,就能够间接拿来优化现有办法预测的宰割图了。所以另一问题在于,如何将现有的针对边缘的关联方向的预测利用到理论的预测优化上。这次要借助于一个坐标偏移分支。这三个分支形成了 SegFix 的次要构造,其结构图如图 13 所示。

图 13 SegFix 模型结构图

边缘预测分支:

方向预测分支:

获取真值:

坐标偏移分支:

5 Hierarchical Multi-Scale Attention for Semantic Segmentation

5.1 动机

大尺度物体在较小分辨率的特色图上会宰割的更好,而小尺度物体则须要精密的细节去推理宰割后果,所以在较高分辨率的特色图上进行预测后果会更好。且论文也举例剖析了此状况的原因,如下图所示。

图 12 不同尺寸物体在不同分辨率上的宰割体现

因而本文采纳注意力机制的办法让网络去学习如何最好地组合多个尺度的推理预测。十分直观的做法就是输出不同分辨率的图片,让网络学习一下,什么样的物体应该用什么样的分辨率。

5.2 模型构造

图 13 分层多尺度注意力机制

训练阶段:

本文提出的 attention 机制与之前的某个办法相似(Attention to scale: Scale-aware semantic image segmentation,图 13 中左侧办法),对于每个尺度学习一个密集的 mask,而后不同尺度的预测再联合起来,这些多尺度预测通过在 mask 之间进行像素相乘,而后在不同尺度之间进行像素求和,从而失去最终后果。

在本文的分层办法中,学习相邻尺度之间的绝对 attention 掩码,而不是学习每个固定尺度集的所有 attention 掩码。在训练网络时,只训练相邻尺度对。如上图 13 所示,给出一组来自 lower scale 的特色图,预测一个两个图像尺度之间的密集的相干 attention。在试验中,为了失去 scaled 图像对,应用一个输出图像而后将其下采样两倍利用 scale 尺度 2,这样,就有一个 1x 的输出和一个 0.5x 的缩放输出,当然其余 scale-down 尺度也能够抉择。须要留神的是,网络输出自身是原始训练图像的从新缩放版本,因为咱们在训练时应用图像缩放加强。这使得网络学会预测一个范畴内的图像尺度的绝对注意力。

在训练过程中,给定的输出图像按因子 r 进行缩放,其中 r = 0.5 示意向下采样按因子 2 进行,r= 2.0 示意向上采样按因子 2 进行,r= 1 示意不进行操作。对于训练过程,抉择 r = 0.5 和 r = 1.0。因而,对于两种尺度的训练和推断,以 U 为双线性上采样操作,将∗和 + 别离作为像素级的乘法和加法,方程能够形式化为:

上式中注意力权重 α 的计算步骤:

1)取得 OCR 模块输入的 augmentations,即图 9 中的正蓝色块。

2)见过若干次间断的 conv-bn-relu 后,取得维度为 b×1 的向量

3)对 b×1 的向量进行 sogmoid 后,便取得一个 batch 上的注意力权重 α。

推理阶段:

在推理阶段,分层的利用学到的注意力来联合 N 个不同的 scale 预测。对于各尺度的组合优先思考较低的 scale,而后逐渐回升到较高的 scale,因为,它们具备更多的全局上下文信息,对于须要改良的 scale 能够应用更高 scale 的预测。

多尺度推理时,各尺度组合先后顺序:{2.0,1.5,1.0,0.5}

6 论文链接

1.HRNet:https://arxiv.org/abs/1908.07919

2.OCR:https://arxiv.org/abs/1909.11065

3.SegFix:https://arxiv.org/abs/2007.04269

4.Hierarchical Multi-Scale Attention:https://arxiv.org/abs/2005.10821

点击关注,第一工夫理解华为云陈腐技术~

正文完
 0