语义图像分割概览

语义图像分割目标是将图像的每个像素标记为所表示的相关类别。由于我们要对图像中的每一个像素进行预测因此,通常被称为密集预测(dense prediction)。

4a78a967c100f7d2665123ec9adb5002497d4e6d 

重要的是,我们不能对同一类的实例进行分割,而是只关心每个像素的类别。也就是说,如果在输入的图像中有两个相同类别的对象,则分割图不会自动地将它们区分为单独的对象。存在的不同类的模型,称为实例分割模型,它们区分互为同一类的单独对象。

分割模型对于各种任务都很有用,包括:

1.无人驾驶:无人驾驶汽车具备必要的感知,了解周围环境。


2c07a1467ebada1c405d6112acf372595cbe9dbb
用于自动驾驶的实时分段道路场景。

2.医学图像诊断学

增强放射科专家的分析,并大大减少进行诊断测试所需的时间。

c5117d68270c706128320fe25d6a15ea7243a0d3 

心脏(红色)、肺(绿)和锁骨(蓝色)被分割的胸部X光检查

提出任务

我们的目标是采用RGB彩色图像(高**3)或灰度图像(高**1),并输出分割图,其中每个像素包含一个表示为整数的类标签(高**1)。

0aeb9b471f6ea6842d83f05edb8316f1f9c7abc1 

注意:为了视觉清晰,我已经标记了一个低分辨率的预测图。在实际中,分割标签分辨率应该与原始输入的分辨率相匹配。

类似于如何处理标准分类值,将通过一个热编码类标签来创建目标——基本上为每个可能的类创建一个输出通道。

0dcddd38f46b03d21c928ae0deea33e3f68e3b0e 

通过获取每个深度像素向量的argmax值,可以将一个预测图分解成分割图(如在第一图像中所示)。

将目标叠加在观察目标上。

658e4e4cd745a46871d4f8467c12298adf8ce37c 

当覆盖目标(或预测)的单个通道时,我们将其称为掩模(mask),该掩模说明了存在特定类别的图像的区域。

设计一个体系结构

用于设计该任务的神经网络体系结构的一种幼稚的方法是简单地堆叠多个卷积层(具有相同的填充以保持维度),并输出最终分割图。这直接学习了一个通过特征映射的连续变换从输入图像到其对应的分割的映射;然而,在整个网络中保持这种全分辨率的代价是相当大的。

96260475203d4433c55caa7e9123532dcdc0e2a8 

深度卷积网络较早的层倾向于学习低级的概念,而随后的层开发更高级的(和专门的)特征映射。为了保持性能,通常需要增加特征映射(通道)的数量,因为我们在网络中要更深入。

对于图像分类任务我们只关心图像所包含的内容(而不是它在哪)。因此,我们用汇聚或跨越卷积(即压缩空间分辨率)的方式通过周期性地对特征图进行采样来减轻计算负担。但是,对于图像分割,我们更愿意模型产生一个全分辨率的语义预测。

图像分割模型的一种流行的方法是遵循编码/解码器结构,在这里我们对输入的空间分辨率进行下采样,开发低分辨率的特征映射,这些特征映射被认为在类之间是非常高效的,并且对特征进行上采样,表示成全分辨率的分割图。

b885a5217783c8d2d265f3751e473a8c0a09f861 

采样方法

我们可以用几种不同的方法来进行下采样特征图的分辨率。然而池化操作通过汇总具有单个值的局部区域(例如,平均或最大池)进行下采样,通过将单个值分配到更高分辨率来对分辨率进行共用操作采样。

79749913869174104ea1ff59b9639c548f1646f5 

变换卷积是迄今为止最流行的方法,因为它们允许我们开发一个能被学习的上采样。

2245c1d6883ad7c0918d93675915035173da4732 

而典型的卷积操作将取滤波器视图中的当前值的数量积,并为相应的输出位置产生单个值,变换卷积基本上是相反的。对于变换卷积,我们从低分辨率特征图中取一个值,并用这个值与滤波器中的所有权重相乘,将这些加权值展现到输出特征图中。

2bb422e7813e8a5bc57fa58c45280fce39f8394f

通过变换操作的上采样简化1D示例。

对于在输出特征图中产生重叠的滤波器大小(如下述示例中所示的具有2个步幅的3*3滤波器),重叠值被简单地加在一起。不幸的是,这往往会在输出中产生一个棋盘状,这是不可取的,因此最好确保滤波器的大小不会产生重叠。

fed4caa934ef758c4d6c51139f88be623377bc0c
蓝色为输入,绿色为输出

完全卷积网络

2014的年末Long等人提出了一种使用“完全卷积”网络训练的端到端、像素到像素的图像分割任务的方法。本文作者提出了将现有的、训练良好的图像分类网络(如AlexNet)作为网络的编码器模块,附加了一个具有变换卷积层的解码器模块,并上采用粗特征图升到一个全分辨率的分割图中。

48a3a0b84d0ac5c85071ac86c3887bd731096776 

如下图所示,完整的网络是根据像素交叉熵损失量来训练的。

76977c7f48ae01b95ccff239a810d1ed3d9bece0 

然而,由于编码器模块将输入的分辨率降低了32倍,因而解码器模块努力产生了细粒度分割(如下所示)

99931d71cd22b9dd8e5df999192dede403106b87 

该论文写到:

语义分割面临语义和位置之间的内在矛盾:全局信息决定了局部信息所决定的和在何处解决的问题。结合精细层和粗糙层,使模型在遵从全局结构的条件下作出局部预测。 

添加跳转连接

作者通过上采样(阶段性)编码表示来解决这一问题,从早期的层添加“跳转连接”,并总结这两个特征图。

5594c48852f37fdf0e7e95c7350851a5cf17126f 

这些从网络中的早期层(在下采样操作之前)的跳转连接应该提供必要的细节以便重构用于分割边界的精确形状。事实上,我们可以通过添加这些跳转连接来恢复更多细粒度的细节。

7a0811d959b972319fac14ed0d6d4366b2fa6b56 

Ronneberger等人通过网络上的解码器模块U-NET结构的性能提高完全卷积结构包括一个捕获上下文的收缩路径和一个对称的扩展路径,能够精确定位。这种更简单的结构已经变得非常流行,并且已经适应了各种分割问题。

b6c7c9dbc54adbcb0f641315997a41d63d226fc6 

注意:由于使用有效填充,原来的结构提出了降低分辨率。然而,一些专业人士选择使用相同的填充,其中填充值是通过在边界处的图像反射获得的。

Long等人(FCN论文)公布了数据增大(随机镜像和通过将图像转换到最高32像素而来回波动)没有导致明显的性能改善Ronneberger等人(U-NET论文)相信数据扩大(训练样本的伸缩弹性变形)作为学习的关键概念。

高级 U-Net变形

标准的U-NET模型由在体系结构中的每个“块”的一系列卷积操作组成。正如我在文章中讨论的通用卷积网络结构,存在一些更先进的“块”,可以取代堆叠卷积层。

德罗兹扎尔等人提出了基本堆叠卷积块,以取代残差块。该残余块在标准U-NETE结构中发现的现有的长跳转连接(在编码器和解码器模块的对应特征图之间)旁引入了短跳转连接(块内)。他们公布了训练时短跳转连接允许更快的汇聚,并允许更深层次的模型训练。

基于这些,Jegou等人建议使用密集快,还是遵循U-Net结构,坚决主张“DenseNets的特性使得它们非常适合于语义分割,因为它们自然地引起跳转连接和多尺度监督。”这些密集块是有用的,因为它们从最近层直接与更高层的特征一起带来低层特征,并允许高效特征的重用。

b4fdad2e540136ff078c522074dfdec602d8a227 

这种体系结构的一个非常重要的方面是,上采样路径在密集块的输入和输出之间没有跳转连接。作者们指出,由于“上采样路径提高了特征图空间的分辨率,所以特征数量的线性增长会对内存要求太高”,因此,只有密集块的输出在解码器模块中传递。

f992be0f8e964274d8a573fe1c6414eb1aa2bf7d
FC-DeNeNET103模型在CamVid数据集上取得了最好的结果(OCT 2017)

扩张/暗色卷积

下采样特征图的一个好处是,在给定的滤波器尺寸不变的情况下,它为下面的滤波器扩大了接收域(相对于输入)。回想一下,由于大滤波器参数的低效,这种方法比增加滤波器尺寸更令人满意。然而,这种更广泛的背景是以降低空间分辨率为代价的。

扩张卷积提供了另一种方法来获得广阔的视野,同时保持完整的空间维度。如下图所示,用于扩张卷积的值根据某些特定的扩张率呗间隔开了。

78b817bc6d816d74e0168b0baaf7ce0c9c186fbf 

一些架构交换了最后的几个汇聚层,以持续不断地增大扩张率来保持相同的域,同时防止空间细节的损失。然而,它通常还是以太大代价的计算用扩张卷积来完全取代汇聚层。

加权损失方案

Long等人(FCN论文)讨论给每个输出信道的损失加权,以抵消在数据集中存在的类失衡。

在此期间,Ronneberger等人U-Net论文)讨论一个给每个像素损失加权的方案,在分割对象的边界,每个像素都有一个更高的权值。这种损失加权方案以不连续的方式帮助了其在生物医学图像中的U-NET模型的片段细胞,这使得单个细胞体可以容易地在分割图中被识别出来。

01ab84cac90b0153e838ad5ca8ac948f81d151e1

注意分割图是如何在这些细胞周围产生清晰的边界的。

通用数据集

以下为一些常用的数据集,用于训练新的模型和基准。你还可以探索以前的Kaggle竞赛,并了解获胜解决方案如何为给定任务实现分割模型。

数据集

·PASCAL VOC 2012 分割竞赛

·COCO 2018素材分割任务

·剑桥主办标记视频数据库(CamVid)

·Cityscapes Dataset

·Mapillary Vistas Dataset

·ApolloScape Scene Parsing

  数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

以上为译文。

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《An overview of semantic image segmentation》,译者:Mags,审校:袁虎。

文章为简译,更为详细的内容,请查看原文

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值