SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS 论文精读

使用深度卷积网络和全连接的 CRFS 进行语义图像分割

个人总结

1、这篇文章主要的两个模块,一个是使用空洞卷积,代替原本的卷积核,在不增加计算量的基础上增加了感受野;第二个模块是使用CRF用于语义分割

2、整篇论文的脉络参照图3

3、条件随机场CRF,这个算法是统计学习方法中的一章,推荐博客 条件随机场CRF详解 - 知乎,这个算法很久以前认真看过,很多数学的东西,后来就全忘了,不推荐深入调研

摘要

深度卷积神经网络 (DCNN) 最近在高级视觉任务(例如图像分类和对象检测)中展示了最先进的性能。 这项工作将 DCNN 和概率图形模型的方法结合在一起,用于解决像素级分类任务(也称为“语义图像分割”)。我们表明,DCNN 最后一层的响应没有充分定位到准确的对象分割。 这是由于非常不变的属性使 DCNN 适合高级任务。我们通过将最终 DCNN 层的响应与完全连接的条件随机场 (CRF) 相结合,克服了深度网络的这种不良定位特性。定性地说,我们的“DeepLab”系统能够以超出以前方法的准确度来定位分段边界。定量地,我们的方法在 PASCAL VOC-2012 语义图像分割任务中设置了新的 state-of-art,在测试集中达到了 71.6% 的 IOU 准确率。 我们展示了如何有效地获得这些结果:仔细的网络再利用和来自小波社区的“洞”算法的新应用允许在现代 GPU 上以每秒 8 帧的速度密集计算神经网络响应。

1、引言

自 LeCun 等人以来,深度卷积神经网络 (DCNN) 一直是文档识别的首选方法 (1998),但直到最近才成为高级视觉研究的主流。 在过去的两年里,DCNN 将计算机视觉系统,在包括图像分类在内的一系列高级问题上,取得了飞跃性的进展(Krizhevsky 等人,2013 年;Sermanet 等人,2013年;Simonyan和Zisserman,2014 年);Szegedy et al.,2014;Papandreou et al.,2014)、目标检测 (Girshick et al., 2014)、细粒度分类 (Zhang et al., 2014) 等等。这些作品中的一个共同主题是,以端到端方式训练的DCNN提供的结果比依赖于精心设计的表示的系统(如 SIFT 或 HOG 特征)要好得多。这一成功可以部分归因于DCNN对局部图像转换的内在不变性,这巩固了它们学习数据分层抽象的能力(Zeiler & Fergus,2014)。虽然这种不变性对于高级视觉任务显然是可取的,但它可能会妨碍低级任务,例如姿势估计 (Chen & Yuille, 2014; Tompson et al., 2014) 和语义分割——我们想要精确定位,而不是空间细节的抽象。

将 DCNN 应用于图像标记任务有两个技术障碍:信号下采样和空间“不敏感”(不变性)。第一个问题与在标准 DCNN 的每一层执行最大池化和下采样(“跨步”)的重复组合所导致的信号分辨率降低有关,我们采用最初为有效计算未抽取离散小波变换而开发的“atrous”(带孔)算法。 这使得 DCNN 响应的高效密集计算可以采用比该问题的早期解决方案简单得多的方案。

第二个问题涉及从分类器获得以对象为中心的决策需要对空间变换保持不变性,这从本质上限制了 DCNN 模型的空间精度。我们通过采用完全连接的条件随机场 (CRF) 来提高模型捕获精细细节的能力。 条件随机场已广泛用于语义分割,将多路分类器计算的类别分数与像素和边缘的局部交互捕获的低级信息相结合(Rother 等人,2004;Shotton 等人,2009)或超像素(Lucchi et al., 2011)。

尽管已经提出了更加复杂的工作来模拟层次依赖(He et al., 2004; Ladicky et al., 2009; Lempitsky et al., 2011)和或段的高阶依赖(Delong et al., 2011), 2012; Gonfaus et al., 2010; Kohli et al., 2009; Chen et al., 2013; Wang et al., 2015),我们使用 Krähenbühl & Koltun (2011) 提出的全连接成对 CRF 计算,以及捕捉精细边缘细节的能力,同时还满足长距离依赖性。Krähenbühl & Koltun (2011) 中展示了该模型,以极大地提高基于 boosting 的像素级分类器的性能,在我们的工作中,我们证明了它与 DCNN 结合时会产生最先进的结果- 基于像素级的分类器。

我们的“DeepLab”系统的三个主要优势是(i)速度:凭借“atrous”算法,我们的密集DCNN以8fps运行,而全连接 CRF 的平均场推断需要 0.5 秒,(ii)准确性:我们在 PASCAL 语义分割挑战中获得了最先进的结果,优于Mostajabi等人的次优方法。(2014)7.2%的边际和 (iii) 简单性:我们的系统由两个相当完善的模块级联组成,DCNNs和CRFs。

2、相关工作

我们的系统直接处理像素表示,类似于Long等人(2014)。这与现在在 DCNN 语义分割中最常见的两阶段方法形成鲜明对比:这种技术通常使用自下而上的图像分割和基于 DCNN 的区域分类的级联,这使得系统承诺潜在的错误 前端分割系统。 例如,由 (Arbeláez et al., 2014; Uijlings et al., 2013) 提供的边界框建议和遮罩区域在 Girshick 等人中使用(2014)和(Hariharan et al., 2014b) 作为 DCNN 的输入,将形状信息引入分类过程。 同样,Mosajabi 等人的作者(2014)依赖于超像素表示。这些作品的一个著名的非 DCNN 前身是 (Carreira et al., 2012) 的二阶池化方法,它还为 (Carreira & Sminchisescu, 2012) 提供的区域提案分配标签。Cogswell 等人的作者了解承诺进行单一分割的危险(2014年)在(Yadollahpour 等人,2013 年)的基础上探索了一组不同的基于 CRF 的分割提议,这些提议也是由(Carreira 和 Sminchisescu,2012 年)计算的。然后根据专门为此重新排序任务训练的 DCNN 对这些分割提议进行重新排序。 尽管这种方法明确地尝试处理前端分割算法的气质性质,但在基于 CRF 的分割算法中仍然没有对DCNN分数的明确利用:DCNN 仅在事后应用,而它会 在分割过程中直接尝试使用其结果是有意义的。

转向更接近我们方法的工作,其他几位研究人员已经考虑使用卷积计算的 DCNN 特征进行密集图像标记。 其中首先是 Farabet 等人。 (2013) 在多个图像分辨率下应用 DCNN,然后使用分割树来平滑预测结果; 最近,Hariharan 等人(2014a)建议在 DCNN 中连接计算的中间特征图以进行像素分类,Dai 等人(2014)建议通过区域提议来汇集中间特征图。尽管这些工作仍然使用与 DCNN 分类器结果分离的分割算法,但我们认为分割仅在后期使用是有利的,避免了过早决策的承诺。

最近,(Long et al., 2014; Eigen & Fergus, 2014) 的无分割技术以滑动窗口的方式直接将 DCNN 应用到整个图像,用卷积层替换 DCNN 的最后一个全连接层。 为了处理介绍开头概述的空间定位问题,Long 等人。 (2014)对来自中间特征图的分数进行上采样和连接,而 Eigen & Fergus(2014)通过将粗略结果传播到另一个 DCNN,将预测结果从粗略细化到精细。

我们的模型与其他最先进的模型之间的主要区别在于像素级 CRF 和基于 DCNN 的“一元项”的组合。 Cogswell 等人专注于在这个方向上最接近的作品。 (2014) 使用 CRF 作为基于 DCNN 的重新排序系统的提议机制,而 Farabet 等人。 (2013) 将超像素视为局部成对 CRF 的节点,并使用图割进行离散推理; 因此,他们的结果可能会受到超像素计算中的错误的限制,同时忽略远程超像素依赖性。 相反,我们的方法将每个像素视为一个 CRF 节点,利用远程依赖关系,并使用 CRF 推理直接优化 DCNN 驱动的成本函数。 我们注意到平均场已被广泛研究用于传统的图像分割/边缘检测任务,例如 (Geiger & Girosi, 1991; Geiger & Yuille, 1991; Kokkinos et al., 2008),但最近 Krähenbühl & Koltun (2011) 表明 推理对于完全连接的 CRF 非常有效,并且在语义分割的上下文中特别有效。

在我们的手稿的第一版公开后,我们注意到另外两个小组独立并同时追求一个非常相似的方向,将 DCNN 和密集连接的 CRF 结合起来(Bell 等人,2014;Zheng 等人,2015)。各个型号的技术方面存在一些差异。 贝尔等人。(2014)专注于材料分类问题,而郑等人。(2015) 展开 CRF 平均场推断步骤,将整个系统转换为端到端可训练的前馈网络。

我们已经更新了我们提出的“DeepLab”系统,在我们的最新工作中使用了很多改进的方法和结果(Chen et al., 2016)。我们建议有兴趣的读者阅读该论文以获取详细信息。

3、用于密集图像标签的卷积神经网络

在此,我们描述了我们如何将公开的Imagenet预训练的16层分类网络(VGG-16)重新设计并优化为我们的稠密语义图像分割系统的高效稠密特征提取器。

3.1、利用空洞算法进行高效密集滑动窗口特征提取

密集的空间分数评估有助于我们的密集CNN特征提取程序的成功。作为实现这一点的第一步,我们将VGG-16的完全连接层转换为卷积层,并在原始分辨率的图像上以卷积方式运行网络。然而,这是不够的,因为它会产生非常稀疏的计算检测分数(步幅为32像素)。为了在8像素的目标步幅下更密集地计算分数,我们开发了Giusti等人(2013)之前使用的方法的变体;Sermanet等人在Simonyan&Zisserman(2014)的网络中,我们跳过最后两个最大池层之后的子采样,并通过引入零来增加其长度(最后三个卷积层中的2×和第一个完全连接层中的4×),修改紧随其后的层中的卷积滤波器。我们可以通过保持过滤器完好无损,而不是分别使用2或4个像素的输入步长对应用过滤器的特征图进行稀疏采样来更有效地实现这一点。这种方法,如图1所示,被称为“空洞算法”(“Atrus算法”),以前曾被开发用于有效计算非抽样小波变换。我们在Caffe框架内通过向im2col函数(它将多通道特征图转换为矢量化面片)添加稀疏采样底层特征图的选项实现了这一点。这种方法是普遍适用的,允许我们在任何目标子采样率下高效地计算密集的CNN特征图,而无需引入任何近似。

图1:当内核大小=3,输入步幅=2,输出步幅=1时,1-D中孔算法的图示

我们按照Long等人的程序,对Imagenet预训练VGG-16网络的模型权重进行微调,以使其直接适应图像分类任务。我们将VGG-16最后一层中的1000路Imagenet分类器替换为21路分类器。我们的损失函数是CNN输出图中每个空间位置的交叉熵项之和(与原始图像相比,二次抽样为8)。所有位置和标签在总体损失函数中的权重相等。我们的目标是地面真相标签(8个二次抽样)。我们根据Krizhevsky等人(2013年)的标准SGD程序优化了所有网络层的权重目标函数。

图2:得分图(在softmax功能之前输入)和置信度图(softmax功能的输出)。我们展示了每次平均场迭代后的得分(第一行)和置信度(第二行)图。最后一层DCNN的输出用作平均场推断的输入。最好是彩色的。

在测试过程中,我们需要原始图像分辨率的等级分数图。如图2所示,并在第4.1节中进一步阐述,类别分数图(对应于对数概率)非常平滑,这允许我们使用简单的双线性插值,以可忽略的计算成本将其分辨率提高8倍。请注意,Long等人(2014年)的方法不使用空洞算法,在CNN输出中产生非常粗略的分数(以32的因子进行二次抽样)。这迫使他们使用学习过的上采样层,显著增加了系统的复杂性和训练时间:在PASCAL VOC 2012上微调我们的网络大约需要10个小时,而他们报告的训练时间为几天(两种时间都在现代GPU上)。

3.2、用卷积网络控制感受野大小加速密集计算

为密集分数计算重新设定网络用途的另一个关键因素是明确控制网络的感受野大小。最新的基于DCNN的图像识别方法依赖于在Imagenet大规模分类任务中预先训练的网络。这些网络通常具有较大的输入图像大小:在VGG-16网络的情况下,我们认为,如果接受卷积网络,它的输入图像大小是224×224(零填充)和404×404像素。在将网络转换为全卷积网络后,第一个全连接的层有4096个7×7大空间大小的滤波器,成为密集分数图计算中的计算瓶颈。

我们通过对第一个FC层进行空间二次采样(通过简单的抽取)以达到4×4(或3×3)的空间大小,解决了这个实际问题。这将网络的感受野降低到128×128(零填充)或308×308(非进化模式),并将第一个FC层的计算时间减少了2-3倍。使用我们的,基于Caffe和Titan GPU实现生成的VGG衍生网络非常高效:给定306×306的输入图像,它在测试期间以大约8帧/秒的速率在网络顶部生成39×39密集的原始特征分数。训练期间的速度为3帧/秒。我们还成功地将完全连接层上的通道数量从4096个减少到1024个,从而在不牺牲性能的情况下大大减少了计算时间和内存占用,如第5节所述。使用更小的网络,如Krizhevsky等人(2013年),即使在重量较轻的GPU上,也可以进行视频速率测试时间密集的特征计算。

4.详细的边界恢复:全连通条件随机场和多尺度预测

4.1、深卷积网络和本地化挑战

如图2所示,DCNN分数图可以可靠地预测图像中物体的存在和大致位置,但不太适合于精确定位其轮廓。在分类精度和卷积网络定位精度之间有一个自然的权衡:具有多个最大池层的更深层次模型已被证明在分类任务中最成功,然而,它们不断增强的不变性和较大的感受野使得从最高输出水平的分数推断位置的问题更具挑战性。

最近的工作有两个方向来应对这一本地化挑战。第一种方法是利用卷积网络中多层的信息,以便更好地估计对象边界(Long等人,2014;Eigen&Fergus,2014)。第二种方法是采用超像素表示,本质上是将定位任务委托给低级别的分割方法。遵循这条路线的是Mostajabi等人(2014年)最近非常成功的方法。

在第4.2节中,我们基于DCNN的识别能力和全连接CRF的细粒度定位精度的耦合,寻求了一个新的替代方向,并表明它在解决定位挑战方面取得了显著成功,生成准确的语义分割结果,并以现有方法无法达到的细节级别恢复对象边界。

4.2、精确定位的全连通条件随机场

传统上,条件随机场(CRF)被用于平滑有噪声的分割图(Rother等人,2004年;Kohli等人,2009年)。通常,这些模型包含耦合相邻节点的能量项,有利于将相同的标签分配给空间上接近的像素。从质量上讲,这些短期CRF的主要功能是清除基于本地手工设计特征的弱分类器的虚假预测。

图3:模型说明。深度卷积神经网络(具有全卷积层)的粗分数映射通过双线性插值进行上采样。一个全连接的CRF被用于细化分割结果。最好是彩色的。

与这些较弱的分类器相比,现代DCNN体系结构(如我们在本研究中使用的体系结构)生成的分数图和语义标签预测在质量上是不同的。如图2所示,Core Map的分类结果通常比D的分类结果一致。在这种情况下,使用短程CRF可能是有害的,因为我们的目标应该是恢复详细的局部结构,而不是进一步平滑它。将对比敏感电位(Rother et al.,2004)与局部范围CRF结合使用,可以潜在地改善定位,但仍会遗漏薄结构,通常需要解决昂贵的离散优化问题。

为了克服短程CRF的这些局限性,我们将Krähenbühl&Koltun(2011)的全连接CRF模型整合到我们的系统中。该模型采用能量函数

,其中x是像素的标签分配。我们用一元势θi(xi)=−logP(xi),其中P(xi)是DCNN计算的像素i处的标签分配概率。成对势为θij(xi,xj)=µ(xi,xj)pkm=1wm·km(fi,fj),其中如果xi6=xj,µ(xi,xj)=1,否则为零(即Potts模型)。图像中的每对像素i和j都有一个成对项,无论它们彼此相距多远,也就是说,模型的因子图是完全连通的。每个km是高斯核,取决于为像素i和j提取的特征(表示为f),并由参数wm加权。我们采用双边位置和颜色术语,具体来说,核

其中,第一个核取决于像素位置(表示为p)和像素颜色强度(表示为I),第二个核只取决于像素位置。超参数σα、σβ和σγ控制高斯核的“尺度”。

关键是,该模型适用于有效的近似概率推理(Krähenbühl&Koltun,2011)。在完全可分解平均场近似b(x)=Qibi(xi)下的消息传递更新可以表示为特征空间中高斯核的卷积。 高维滤波算法(Adams et al.,2010)显著加快了这种计算,从而产生了一种在实践中非常快速的算法,使用公开的实现(Krähenbühl&Koltun,2011),Pascal VOC图像的平均速度不到0.5秒。

4.3、多尺度预测

根据Hariharan等人2014a;Long等人,2014年的最新研究成果,我们还探索了一种多尺度预测方法,以提高边界定位精度。具体来说,我们将两层MLP(第一层:128个3x3卷积滤波器,第二层:128个1x1卷积滤波器)连接到输入图像和前四个最大池层中每个层的输出,其特征映射连接到主网络的最后一层特征映射。因此,馈送到softmax层的聚合特征映射增强了5*128=640个通道。我们只调整新添加的权重,将其他网络参数保持为通过第3节的方法学习的值。正如在实验部分中所讨论的,从高分辨率层引入这些额外的直接连接可以提高定位性能,但效果不如使用完全连接的CRF获得的效果显著。

猜你喜欢

转载自blog.csdn.net/XDH19910113/article/details/123190373