语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab 2017-07-10 13:02来源:量子位 原标题:语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab 王小新 编译自 Qure.ai Blog 量子位 出品 | 公众号 QbitAI 图像语义分割就是机器自动从图像中分割出对象区域,并识别其中的内容。 量子位今天推荐的这篇文章,回顾了深度学习在图像语义分割中的发展历程。 发布这篇文章的Qure.ai,是一家用深度学习来读取医学影像的公司,他们在官方博客上梳理了语义分割中的深度学习方法。 他们希望通过这份介绍,能让大家了解这个已经在自然图像处理比较成熟、但是在医学图像中仍需发展的新兴技术。 作者Sasank Chilamkurthy三部分介绍了语义分割相关研究: 以下内容编译自Qure.ai官方博客: 语义分割是什么? 语义分割方法在处理图像时,具体到像素级别,也就是说,该方法会将图像中每个像素分配到某个对象类别。下面是一个具体案例。 △左边为输入图像,右边为经过语义分割后的输出图像。 该模型不仅要识别出摩托车和驾驶者,还要标出每个对象的边界。因此,与分类目的不同,相关模型要具有像素级的密集预测能力。 目前用于语义分割研究的两个最重要数据集是VOC2012和MSCOCO。 VOC2012: MSCOCO: 有哪些方法? 在深度学习应用到计算机视觉领域之前,研究人员一般使用纹理基元森林(TextonForest)或是随机森林(Random Forest)方法来构建用于语义分割的分类器。 卷积神经网络(CNN)不仅能很好地实现图像分类,而且在分割问题中也取得了很大的进展。 最初,图像块分类是常用的深度学习方法,即利用每个像素周围的图像块分别将各像素分成对应的类别。其中,使用图像块的主要原因是分类网络通常具有全连接层,其输入需为固定大小的图像块。 2014年,加州大学伯克利分校的Long等人提出的完全卷积网络(Fully Convolutional Networks),推广了原有的CNN结构,在不带有全连接层的情况下能进行密集预测。 这种结构的提出使得分割图谱可以生成任意大小的图像,且与图像块分类方法相比,也提高了处理速度。在后来,几乎所有关于语义分割的最新研究都采用了这种结构。 除了全连接层结构,在分割问题中很难使用CNN网络的另一个问题是存在池化层。池化层不仅能增大上层卷积核的感受野,而且能聚合背景同时丢弃部分位置信息。然而,语义分割方法需对类别图谱进行精确调整,因此需保留池化层中所舍弃的位置信息。 研究者提出了两个不同形式的结构来解决这个问题。 第一种方法是编码器-解码器(encoder-decoder)结构。其中,编码器使用池化层逐渐缩减输入数据的空间维度,而解码器通过反卷积层等网络层逐步恢复目标的细节和相应的空间维度。从编码器到解码器之间,通常存在直接的信息连接,来帮助解码器更好地恢复目标细节。在这种方法中,一种典型结构为U-Net网络。 △一种典型的编码器-解码器结构U-Net 第二种方法使用了称作空洞卷积的结构,且去除了池化层结构。 △空洞卷积,当比率为1时,即为经典的卷积结构。 条件随机场(Conditional Random Field,CRF)方法通常在后期处理中用于改进分割效果。CRF方法是一种基于底层图像像素强度进行“平滑”分割的图模型,在运行时会将像素强度相似的点标记为同一类别。加入条件随机场方法可以提高1~2%的最终评分值。 △发展中的CRF方法效果。b图中将一维分类器作为CRF方法的分割输入;c、d、e图为CRF方法的三种变体;e图为广泛使用的一种CRF结构。 接下来,我们会梳理一些代表性论文,来介绍从FCN网络开始的分割结构演变历程。 这些结构都使用了VOC2012数据集来测试实际效果。 一些有趣的研究 接下来将按照论文的发表顺序来介绍以下论文: 1.FCN网络; 2.SegNet网络; 3.空洞卷积(Dilated Convolutions); 4.DeepLab (v1和v2); 5.RefineNet; 6.PSPNet; 7.大内核(Large Kernel Matters); 8.DeepLab v3; 对于上面的每篇论文,下面将会分别指出主要贡献并进行解释,也贴出了这些结构在VOC2012数据集中的测试分值IOU。 FCN 论文: Fully Convolutional Networks for Semantic Segmentation 于2014年11月14日提交到arvix https://arxiv.org/abs/1411.4038 主要贡献: 将端到端的卷积网络推广到语义分割中; 重新将预训练好的Imagenet网络用于分割问题中; 使用反卷积层进行上采样; 提出了跳跃连接来改善上采样的粗糙程度。 具体解释: 本文的关键在于:分类网络中的全连接层可以看作是使用卷积核遍历整个输入区域的卷积操作。 这相当于在重叠的输入图像块上评估原始的分类网络,但是与先前相比计算效率更高,因为在图像块重叠区域,共享计算结果。 尽管这种方法并不是这篇文章中所特有的,还有一篇关于overfeat的文章也使用了这种思想,但是确实显著提高了在VOC2012数据集上的实际效果。 △用卷积运算实现的全连接层结构 在将VGG等预训练网络模型的全连接层卷积化之后,由于CNN网络中的池化操作,得到的特征图谱仍需进行上采样。 (责任编辑:本港台直播) |