【论文阅读】PSPNet(Pyramid Scene Parsing Network)

用于语义分割的金字塔场景识别网络
论文链接

摘要

该论文通过金字塔池化模块以及金字塔场景解析网络(PSPNet),通过基于不同区域的上下文信息聚合来利用全局上下文信息的能力。全局先验表示在场景解析任务中产生了高质量的结果,而PSPNet为像素级预测提供了更好的框架。本论文提出的方法在各种数据集上实现了最先进的性能。它在ImageNet 2016场景解析挑战中,在PASCAL VOC2012上获得了mIOU准确率达85.4%的新纪录,在CityScapes上获得了80.2%的准确率。

1、介绍

基于语义分割的场景解析是计算机视觉中的基本主题。它的目标是为图像中的每一个像素分配一个类别标签。场景解析提供了对场景的完整理解,它预测每个元素的标签、位置以及形状。场景解析在自动驾驶、机器人传感器等应用上具有广泛应用。

【场景解析常见的数据集】场景解析的复杂度和场景和标签的多样性密切相关。较早的场景解析任务是在LMO数据集上为2688个图像分类33个场景。最近的PASCAL VOC语义分割和PASCAL上下文数据集包括更多相似背景的标签,例如椅子和沙发,马和牛等。最新的ADE20K数据集是最具挑战性的一个场景解析数据集,具有更多的场景类,如图1.
ADE20K数据集的一些图片

目前最先进的场景解析网络主要是基于全卷积网络FCN,基于深度卷积神经网络的方法增强了动态对象的理解,但仍然面临着多样场景和不受限制的词汇表达的限制。如图2中,把一艘船误认成一辆车。这些错误主要是由于对象的相似外观造成的。但是,在将场景描述为河流附近的船库之前,查看图片的上下文信息,应该还是可以产生正确的预测。
在这里插入图片描述
为了获得准确的场景感知,知识图依赖于场景的上下文先验知识。作者发现当前基于FCN的模型主要问题是缺乏可以利用全局场景类别线索的合适策略。对于复杂的场景理解,为了获得全局图像级别的特征,空间金字塔池被广泛采用,其中空间统计为整体场景提高了良好的描述。空间金字塔池化网络进一步增强了这种能力。

与其他方法不同,为了结合合适的全局特征,作者提出了金字塔场景解析网络。除了用于像素级预测的传统扩张FCN外,作者将像素级特征扩展到专门设计的全局金字塔池中,局部线索和全局线索可以使最终预测更加可靠。作者还提出了一种具有深度监督损失的优化策略,具体实施细节在后文中说明。

PSPNet为像素级预测提供了有前途的研究方向,甚至有益于基于CNN的立体匹配、光流识别、深度预测的研究。该论文的主要贡献有三点:

  1. 提出了一种金字塔场景解析网络,在基于FCN的像素级预测框架中嵌入复杂的场景上下文特征
  2. 基于深度损失,为深度ResNet开发了一种有效的优化策略
  3. 为最先进的场景解析和语义分割构建了一个实用的系统,其中包含了所有关键的实现细节。

2、相关工作

主要回顾场景解析和语义分割最新进展。在深度神经网络的推动下,像素级预测任务如场景解析和语义分割,通过用卷积层替换分类中的全连接层而取得了巨大的进步。为了扩展神经网络的感受野,Noh等人提出了扩张卷积,提出一种带有反卷积网络的由粗到细结构来学习分割掩模。PSPNet的基础网络是FCN和扩张网络。

其他方法主要有两个方向。其中一个方向是多尺度特征融合。因为在深度网络中,高层特征包含更多的语义信息和更少的位置信息,融合多尺度特征可以提高网络的性能。另一个方向是结构化预测。在之前的工作中,有利用条件随机场CRF来优化分割结果的,也有基于CRF和场景解析网络通过端到端建模来优化网络的。这两个方向
都改善了预测语义边界的合适对象的场景解析任务的定位能力。然而在复杂的场景中仍然有很大的空间来利用必要的信息。

为了充分利用全局图像级别的先验知识来解决多样场景理解问题,一些方法提取了具有传统特征的全局上下文信息,而不是深度神经网络。Liu等人在目标检测网络下进行了类似的改进。还有些方法证明了FCN的全局平均池化可以改进分割结果。但是作者的实验表明,这些全局描述对于具有挑战性的ADE20K数据集而言并不具有足够的代表性。因此,作者通过金字塔场景解析网络可以利用不同区域的上下文聚合来利用全局上下文信息的能力。

3、金字塔场景解析网络

3.1 一些重要的观察

新的ADE20K数据集包含150过个类别标签(例如墙、天空、树木)1038张图片级别的场景描述(例如,机场航站楼、卧室、街道),因此存在大量的标签和场景分布。在以FCN方法为基础的预测结果中,以下总结了复杂场景解析的几个场景问题。

语境关系不匹配

语境关系在复杂场景理解中是很重要的。存在一些同时发生的视觉模式,例如飞机可能在跑道上或者在天空中飞行,而不是在马路上。例如图2中的第一行示例,FCN根据其外观预测黄色框中的船是汽车,但常识是汽车很少在河里。缺乏收集上下文信息的能力会增加错误分类的几率。

类别混乱

ADE20K数据集中有许多类别标签容易混淆。例如田野和泥土,山峰和山丘,墙、房屋、建筑物和摩天大楼。它们都有相似的外观,即使是标注整个数据集的标注专家都会有17.6%的错误率,如图2所示。

不显眼的类

3.2 金字塔池化

感受野的大小可以表示使用上下文信息的程度,zhou等人提出的CNN的经验感受野比理论上的感受野小得多,尤其是在深层卷积中,这样会让很多网络无法充分融合上下文信息。作者通过提出一个有效的全局先验表示来解决这个问题。

全局平均池化是全局知识先验的一种好的解决办法。
将金字塔池化生成的feature map平滑和串联到一个全连接层可以解决图像分类中输入图像是固定尺寸大小的问题。

PSPNet主要原理:

  • 给定一个输入图像,使用CNN来提取特征得到最后一个卷积层的feature map
  • 使用金字塔池化模块得到不同子区域的表示,再接上采样层和串联层生成最终的特征表示,这个最终的特征表示包含了所有的局部和全局上下文信息
  • 最后把这个特征表示放入到一个卷积层来得到最终的像素级预测。
    PSPNet原理
    金字塔池化模块融合4个不同金字塔尺度的特征,最上层(最粗糙,红色)是全局池化操作,用来产生一个单一的bin输出;接下来的金字塔层将feature map划分为不同的子区域,并形成不同位置的池化表示。在金字塔池化模块中不同层的输出包含不同尺寸大小的feature maps。
  • 为了维持全局特征的权重,若金字塔层的尺寸大小为N在每一个金字塔层后面加一个1*1的卷积,降低上下文信息表示的维度为原来的1/N。
  • 再通过双线性插值的方法将低维度的feature maps上采样到和原始feature maps大小一样
  • 最后将不同层的特征串联起来作为最后金字塔池化的全局特征。

金字塔的层数和不同层的尺寸大小是可以修改的,这和送入到金字塔池化层的feature map的尺寸大小有关,该结构通过在一定步长内采用不同尺寸大小的池化内核来抽象出不同的子区域,因此在特征表示中多阶段的内核大小需要保持合理的差距。该论文的金字塔池化模块是四层的,内核大小分别为11, 22, 33,66。

3.3 网络结构

  1. 在a和b部分,使用一个预训练的带有扩张网络策略的ResNet来提取feature map,最终的feature map大小为输入图像的1/8
  2. c部分,对最后的feature map采用金字塔池化模块来收集上下文信息。采用一个4层的金字塔,池化核分别覆盖整个图像,图像的一半以及图像的一小部分,它们被融合成全局先验。
  3. 在金字塔池化模块的最后,将全局先验和原始的feature map串联起来
  4. 在d部分,使用一个卷积层来得到最终的预测map
    网络结构
    PSPNet对像素级的场景解析提供了一个高效的全局知识先验,金字塔池化模块可以收集不同层的信息,比全局池化具有更多的表示。PSPNet相比最初的扩张FCN网络,计算成本也没有明显增加。在端到端的学习中,可以同时优化全局金字塔池化模块和局部的FCN特征。

4.基于ResNet的FCN深度监督

使用预训练的深度网络可以提高网络的性能,但是会产生额外的优化困难。ResNet通过每个块中的跳跃层解决这个问题。ResNet的后期层主要基于先前的残差块来学习残差。
相反地,作者提出,通过一个额外的loss监督来生成初始结果,然后在最终的loss后学习残差。这样深度网络的优化问题就可以被分解为两个更容易解决的部分。

论文中举例了深度监督模型ResNet101结构如下图所示。除了主分支使用了softmax分类器来训练最终的分类器之外,在第四阶段之后还使用了另一个分类器,如res4b22模块。relay反向传播将后向辅助损失阻挡在一些浅层,与之不同的是,作者将2个loss贯穿前面所有的层。辅助loss(图中的loss2)可以帮助优化网络的学习过程,而主分支的loss(图中的loss1)起主要作用,因此作者增加了权重来平衡辅助loss(loss2)。
ResNet101
在测试阶段,作者取消了辅助分支,只使用了为最终预测优化好的分支。基于ResNet的FCN深度监督学习策略已经被广泛使用了。具体细节在5.2节中。

5.实验

作者提出的方法适用于场景解析和语义分割,论文在ImageNet 2016场景解析数据集、PASCAL VOC2012语义分割和场景理解Cityscapes数据集上进行了评估。

5.1 实验细节
实验框架:Caffe
学习率策略:poly,当前学习率=(1-iter/max_iter)^power, 其中power = 0.9
初始学习率:0.01
batch_size =16
axuliary loss weight=0.4

5.2 ImageNet Scene Parsing Challenge 2016
数据集:ADE20K,包括150个类,1038个图像级别的场景标签
数据集划分:训练集20k/验证集2K/测试集3k
评价指标:PA(pixel-wise accuracy)和mIOU(mean of class-wise intersection over union)

PSPNet验证(分别配置最大池化、平均池化、带有一个全局特征的池化或带4个全局特征的池化、池化操作后串联操作前有无降维),见table 1。以基于ResNet50的FCN为基准,B1和B1236分别表示被池化的feature map的大小为1x1,{1x1,2x2,3x3,6x6}.
MAX和AVE分别表示最大池化和平均池化操作,DR表示池化后的降维操作。
PSPNet配置实验
辅助损失验证实验 辅助损失有助于学习过程,且不会影响主分支的学习。作者为辅助损失设置了不同的权重α(范围是0~1),见table 2。同样以基于ResNet50的扩张FCN网络为基准,主分支使用softmax损失进行优化,添加辅助损失分支,当辅助损失的权重α=0.4时,网络的性能最好。作者认为,对于新增的辅助损失,网络越深性能提升效果可能会越好。(这里可以自己做实验验证)
辅助损失验证设置
预训练模型验证实验 设置不同深度的预训练模型ResNet,分别采用ResNet50,ResNet101,ResNet152,ResNet269进行实验,其他设置相同,见图5。
不同深度的预训练模型
Table3列出了使用不同深度的预训练模型的PSPNet的详细得分。
采用不同深度的预训练模型的PSPNet得分
更多详细的性能分析见table4
性能分析
table5是ImageNet Challenge scene parsing2016的一些结果。
最终模型结果
同理在Pascal VOC2012和Cityscape数据集上的实验结果见论文原文。

6、结论

该论文为复杂的场景解析提出了一个有效的金字塔场景解析网络,全局金字塔池化特征提供了额外的上下文信息,同时提出了一种深层监督的优化策略,即基于ResNet的FCN网络。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值