用语义分割突破边界框-阿里云开发者社区

开发者社区> 人工智能> 正文

用语义分割突破边界框

简介: 语义分割是一项计算机视觉任务,视觉输入的不同部分可以分成不同的语义解释类。那么,语义分割在边界框标记上有什么优势呢?

我们应该如何描述一个场景?我们可以说窗户下面有一张桌子,或者沙发右边有一盏灯。理解图像的关键就是:将场景分解成一个个单独的实体,这也有助于我们理解对象的行为。

对象检测有助于绘制某些实体周围的边界框。但人类想要对场景有真正的理解,还需要能够以像素级精度每个实体的边界进行检测和标记。随着我们开始构建无人驾驶汽车和智能机器人,而这些就需要细致了解周围环境,因此,绘制边界框也变得越来越重要。

什么是语义分割?

语义分割一项计算机视觉任务,我们将视觉输入的不同部分分成不同的语义解释类。语义解释,也就是说,这些类具有某些真实世界的含义。例如,我们可能想要获取属于汽车类别的图像的所有像素并将其着色为蓝色。

53990b52ab749156a7a0d076889d863c73a20a48 

虽然聚类等无监督算法可用于分割,但并不适用于语义分割。这些方法不会对他们接受过训练的类别上进行分割,而是更广义上找到区域的边界,参见Thoma et al.2016

相对于图像分类和对象检测,语义分割更有助于我们更详细地了解图像。这种详细的理解在很多领域都非常重要,包括无人驾驶、机器人和图像搜索引擎 本文使用深度学习进行监督语义分割。

数据集和度量标准

常用于训练语义分割模型的数据集包括:

1.Pascal VOC 2012数据集包含20个对象类别,包括PersonVehicle和其他类别。目标是分割对象类或背景。

2.Cityscapes数据集包含50个城市的语义城市场景理解。

3.Pascal Context数据集包含400多个类别的室内和室外场景。

4.Stanford Background数据集:包含至少有一个前景对象的室外场景集。

40f51b1b951f622040bf2087b799b5f217a490e4 

评估语义分割算法性能的一个度量标准是平均交并比IOUIntersection Over Union),其中IOU定义如下

 5f521dcc022e6be533a545deafc99119f4742fad

这个度量标准确保了我们能够捕捉到每个对象(使预测标签与真是对象重叠),并且,也能够做到精确(使尽可能接近重叠)。

管道(Pipeline)

用于语义分割模型的管道通常如下:

7bbd2e8720da3661a8cf19d36f0bfe3c7d66202f 

下面,我们将进一步讨论管道的分类器Classifier 和后处理Post-Processing 阶段。

模型架构和方法

用卷积神经网络进行分类

现在,语义分割架构通常使用卷积神经网络(CNN)为每个像素分配一个初始类别标签。卷积可以有效地捕捉图像中的局部特征,并以分层方式嵌套许多这样的层,试图提取更广泛的结构特征。通过使用能够捕捉图像中越来越复杂特征连续卷积层,CNN可以将图像编码为其内容的紧凑表示。

为了将各个像素映射为类别标签,我们需要将标准CNN编码器扩展编码-解码器。在这里,编码器使用卷积池化层将图像宽度和高度缩小为较低维表示representation);解码器收到该表示通过上采样(通过转置卷积)恢复空间维度,从而在每解码扩展表示的大小。在某些情况下,编码器的中间步骤有助于帮助解码。最终,解码器会生成一个表示原始图像标签的数组。

4291d04f7ba477b2d593ffb092c25550ae872f62 

在许多语义分割架构中,CNN希望最小化的损失函数是交叉熵损失。该目标函数测量每个像素的预测概率分布(在类别上)与实际概率分布之间的距离。

然而,语义分割交叉熵损失并不理想。由于图像的最终损失仅仅是每个像素的损失和,所以交叉熵损失不会使附近的像素保持一致。因为交叉熵损失不能在像素之间施加更高级别的架构,所以使交叉熵损失最小化的标签通常不完整或模糊,并且后续也需要进行处理。

用条件随机场优化

CNN产生的原始标签通常是斑点图像,其中有些小区域可能与其周围像素标签不匹配的错误标签。为了解决这不连续性,可以用一种平滑方法。我们希望这样能够确保对象占据图像中的连通区域,并且给定的像素可能与其大多数邻居具有相同的标签。

为了解决这问题,一些模型架构使用条件随机场(CRF,它使用原始图像中的像素相似性CNN的标签进行细化

b338ca84d739142f84a53edcaa40cc968d08f53b 

条件随机场是一个随机变量的图形。在这种情况下,每个顶点代表

1.某个像素的CNN标签(绿色顶点Xi

2.某个像素的实际对象标签(黄色顶点Yi

边缘编码两种类型的信息:

1.蓝色框:两个像素的实际对象标签之间的依赖性物理上彼此接近。

2.红色框:CNN的原始预测与给定像素的实际对象标签之间的依赖性

每个依赖性都与一个势函数相关联,势函数是一个有两个相关随机变量值的函数。例如,当相邻像素的实际对象标签相同时,第一种依赖性可能就有较高的可能性。直观上来说,对象标签用作隐藏变量,能够根据某种概率分布产生可观察的CNN像素标签。

为了使用CRF来改进标签,首先使用交叉验证对带有训练数据的图形模型的参数进行学习。然后,我们修改参数将概率PY1Y2... Yn | X1X2... Xn最大化。CRF推断的输出是原始图像像素的最终对象标签。

实际上,CRF图形是完全连接的,这就意味着,物理上距离较远像素的节点之间仍然可以共享边缘。这样的图形具有数十亿个边缘,使得精确的推断在计算上难对其进行处理。CRF架构倾向于使用高效的近似技术进行推理。

分类器的架构

CNN分类和CRF细化仅仅是语义分割过程的一个例子。一些研究论文已经对这方面进行了论述:

1.U-Net2015通过生成原始训练数据的失真版本,对其训练数据进行增强。这使CNN编码-解码器能够抵抗这种变形,并从更少的训练图像中进行学习。在少于40张的生物医学数据集图像上进行训练时,其IOU值仍高至92%。

2.DeepLab2016CNN编码-解码器与CRF细化相结合,来生成对象标签(作者重点介绍了解码中的上采样)。空洞卷积(Dilated Convolutions)在每个层使用不同大小的滤波器,使得每个层都可以捕捉各种不同比例的特征。在Pascal VOC 2012测试装置上,此架构的平均IOU70.3%。

3.Dilation102016是空洞卷积的替代方法。完整的管道将空洞卷积前端模块连接到上下文模块和CRF-RNN,以便做进一步处理。Dilation10Pascal VOC 2012测试装置上的平均IOU75.3%。

其他的训练体系

本小节介绍现在主要的的偏离分类器和CRF模型的训练方案。这些方法并不是由单独的组件和优化组成,而是一些端到端的方法。

完全可微的条件随机场

Zheng等人的CRF-RNN模型介绍了一种方法:将分类和后处理合并为单一端到端模型,可以共同优化两个图形。因此,模型可自动学习类似于CRF高斯内核权重的参数——将推理逼近算法中的步骤用卷积表示来实现,并且通过使用递归神经网络(RNN)来对推理算法的完全迭代进行建模。

d0bfadda906ef99acb3d3897748299ce2699ff37 

对抗训练

对抗训练有助于提高高阶一致性。受生成对抗网络(GAN)的启发,Luc等人训练了一个标准CNN用于语义分割)和对抗网络(尝试学习区分标记过的真实数据分割和分割网络的预测。分割网络旨在产生分割,而这种分割是对抗网络无法从真实分割中区分开来的。

在这里,我们希望分割看起来能够尽可能贴近真实。如果其他网络很容易将预测与实际情况分开,那么我们的预测就不够好。

d4e2850012859deacb52d2c5010b39b63ba033d7 

时间上的分割

我们如何对未来的对象进行预测?为了实现这一点,可以通过对场景中的连续分割进行建模。这比较适用于机器人或无人驾驶场景,其中对物体的运动进行建模对计划有用。

Luc等人的文章表明,直接预测未来语义分割,比先预测未来帧再进行分割的性能要好。他们使用自回归模型,使用过去的分割来预测下一个分割St + 1。然后使用SiSt + 1预测下一个分割St + 2

e1a6d12b4bb2e522f5afb2aa724fc9d4717a7ee3 

他们对模型在不同时间尺度上的表现进行了对比:在Cityscapes数据集上,预测模型在下一帧、未来0.5秒和未来10秒上的性能。结果显示,模型在10s的时间尺度上表现不佳,但在下一帧和未来0.5s的时间尺度上表现较好。总体来说,该方法在性能上要比由基于光流的经典技术组成的基线方法好的多。

总结

这些方法(如U-Net)基本上都遵循一个基本结构:采用深度学习(卷积网络)进行预处理,再用经典概率技术对其输出做后处理。尽管卷积网络的原始输出可能不完美,但后处理能够更好的使用与人类直觉相匹配的分割,输出好的标签。

其余的方法(如对抗学习),可以作为语义分割的端到端解决方案。与前面介绍的CRF步骤不同,端到端技术不需要手动对各个组件进行建模,来完善原始预测。由于端到端解决方案的性能更加优于多级管道方法,未来的研究可能会越来越多地关注端到端算法。


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

以上为译文。

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

文章原标题《Going beyond the bounding box with semantic segmentation》,译者:Mags,审校:袁虎。

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章