【深度学习】Semantic Segmentation 语义分割
源自该资源中的链接位置

What exactly is semantic segmentation?
对图片的每个像素都做分类。
在关键性作用下,这些基于语义分割的关键基准数据集包括VOC2012 和 MSCOCO.
What are the different approaches?
经典的机器学习技术包括基于像素级的决策树分类算法。这些算法主要借鉴自两篇重要文献:一是TextonForest算法[1](http://mi.eng.cam.ac.uk/~cipolla/publications/inproceedings/2008-CVPR-semantic-texton-forests.pdf),二是基于随机森林的分类器[2](http://www.cse.chalmers.se/edu/year/2011/course/TDA361/Advanced Computer Graphics/BodyPartRecognition.pdf)。此外,在深度学习领域中也有广泛的应用。具体而言,在计算机视觉领域中得到了最深入的研究与应用的就是卷积神经网络(CNN)。
深度学习早期广泛应用的分割技术是基于块状特征提取的分类策略(patch classification)。通过提取每个像素及其邻域特征来进行分类。受限于当时卷积网络末尾普遍采用全连接层(full connected layers),这种方法仅限于逐像素分割的应用场景。
2014年,来自伯克利的研究人员提出了一种名为Fully Convolutional Networks(FCN)的卷积网络结构,并舍弃了末尾的全连接层。随后的发展中,在语义分割领域内提出了许多基于这种卷积神经网络的新架构。除了全连接层之外,在语义分割过程中还面临另一个关键问题:池化操作。池化操作能够提升模型对抽象特征的学习能力并扩展感受野范围。然而,在保持类别标注与原始图像对应关系的前提下如何恢复像素级别的位置信息仍是一个挑战。为此,研究人员提出了两种不同的解决方案来应对这一问题。
主要采用编码-解码架构,在编码过程中,池化层逐步降低了位置信息并提取了抽象特征;解码过程中则逐步恢复了位置信息。通常情况下,解码模块与编码模块之间存在直接的关联,在该类架构中采用U-net作为其最流行的技术方案。
该种结构采用了扩张卷积而非池化操作,并舍弃池化操作这一关键步骤。使用的卷积核如图所示。

条件随机场的后处理 常用于显著提升分割精度。后处理通过分析图像亮度信息(即像素点灰度值),将具有相似亮度值的像素归为同一类别。这种方法能够使分割结果的质量提升约1到2个百分点。
Summaries
按时间顺序综述八篇论文,探讨其语义分割技术的发展演变历程。具体包括:Fully Convolutional Networks for Semantic Segmentation(FCN)、Segmentation Using Convolutional Neural Networks(SegNet)、Dilation in Convolutional Neural Networks(Dilated Convolutions)、DeepLab: Multi-scale context aggregation by asynchronous convolutional modules(DeepLab)、Atnet(RefineNet)、Pyramid Pooling in Convolutional Neural Networks(PSPNet)、The Stigun Kernel in Deep Learning: Large Scale CNNs with Medium Field of View(Large Kernel Matters)以及DeepLabV3+: Encoding Global Context for Semantic Image Segmentation(DeepLab v3)。
参考:深度学习-语义分割总结
