Pyramid Scene Parsing Network

07 December 2018

Hengshuang Zhao, Xiaojuan Qi, Xiaogang Wang, Jiaya Jia, The Chinese University of Hong Kong. Jianping Shi, SenseTime Group Limited.

Abstract: Scene Parsing is challenging for unrestricted open vocabulary and diverse scenes. In this paper, we exploit the capability of global context information by different-region-based context aggregation through our pyramid pooling module together with the proposed pyramid scene parsing networks(PSPNet). Our global prior representation is effective to produce good quality results on the scene parsing task, while PSPNet provides a superior framework for pixel level prediction. The proposed approach achieves state-of-the-art performance on various datasets. It came first in ImageNet scene parsing challenge 2016, PASCAL VOC 2012 benchmark and CityScapes benchmark. A simple PSPNet yields the new record of mIoU accuracy 85.4% on PASCAL VOC 2012 and accuracy 80.2% on Cityscapes.

摘要:场景解析因为无限制的开放词汇和不同场景具有挑战性。本文通过聚合不同区域的上下文来探究全局上下文信息的性能,这个上下文聚合是通过我们的金字塔池化模块和提出的金字塔场景解析网络来实现的。我们的全局先验表示对在场景解析任务中产生高质量的结果是有效的,而PSPNet为像素级预测提供了优越的框架。所提出的方法在各种数据集上达到了最先进的性能。它在ImageNet场景解析挑战2016、PASCAL VOC 2012基准和CityScapes基准中排名第一。一个简单的PSPNet在PASCAL VOC 2012上获得了mIoU准确率为85.4%的新记录,而在CityScape上获得了80.2%的准确率。

场景解析的困难和场景、标签的多样性极度相关,下图显示了一些复杂场景解析。

  • Mismatched Relationship

    上下文关系是非常重要的,尤其是对复杂场景的理解。存在共存的视觉模式。在图2第一行中,FCN根据外观,把黄框内的船预测成了车。但是众所周知,汽车很少在河上。缺乏手机上下文信息的能力增加了错误分类的机会。

  • Confusion Categories

    标签混淆,如filed和earth, moutain和hill, wall, house, buidling和skyscraper。它们具有相似的外观。在人们识别或标注时仍旧有17.60%的像素误差。FCN把图2第二行中的黄框内的区域预测成了部分是skyscraper,部分building。 这些结果应该被排除在外,使得整个物体要么是skyscraper,要么是building。这个问题可以利用类别之间的关系来弥补。

  • Inconspicuous Classes 不显眼类别

    大物体和小物体。如图2中的第三行,pillow和sheet。俯视全局场景类别可能无法解析pillow。为了提高对显著小、或大对象的性能,应该包含不显眼类别的子区域。

总结这些观察,许多错误与上下文关系和不同感受野的全局信息部分或完全相关。因此,具有合适的全局场景级先验的深度网络可以大大提高场景解析的性能。

Pyramid Pooling Module

接下来介绍金字塔poolin模块,它被经验证明是一种有效的全局上下文先验知识。

在深度神经网络,感受野的大小可以粗略的表示我们使用上下文信息的程度。尽管ResNet的感受野已经远大于输入图像,但是在其他论文中被指出CNN的经验感受野远小于理论感受野,尤其是在高层。这使得很多网络不能够充足的整合重要的全局先验表示。我们提出了一种有效的全局先验表示来解决这个问题。

全局的平均池化是全局上下文经验的良好基线基础,在很多分类模型中被使用,在分割模型(Parsenet)中也有被使用。在场景解析中的图像的像素被注释为许多objects。直接将它们融合成单个向量可能失去空间关系并导致歧义。

全局上下文信息和子区域上下文在这方面有助于区分各种类别。 一个更有力的表现形式可以是来自不同子区域的信息的融合。在深度神经网络的最后一层的feature map上, Pyramid pooling module采用不同的scale来进行pooling,如图Fig.3所示。最粗糙的是全局pooling产生single bin输出。然后其他的都是讲feature map分成不同的子区域,进而在不同的子区域进行pooling。在pooling结束后,接着一个1 x 1的卷积使feature maps的depth减少为原来的1/N(N为pooling level的个数,途中N为3)。但金字塔pooling中这些不同level的pooling产生不同大小的feature map,我们通过双线性插值直接将低维的feature maps上采样得到和原始大小相同的feature maps。最后,不同level的特征通过concatenation,组成最终的金字塔池化全局特征。

pyramid levels和每一个level的size可以根据实际情况更改的。论文中采用了level为4和bin sizes为 1 x 1, 2 x 2, 3 x 3和6 x 6的配置。

Network Architecture

pyramid scene parsing networks(PSPNet)如Fig.3所示。给定一张图片,如Fig.3(a),我使用预训练的带有空洞卷积的ResNet模块来提取特征,最终的feature map大小是输入图片的1/8,如Fig.3(b)所示。接着对(b)中的feature maps,采用pyramid pooling module,如Fig.3(c),来获取上下文信息。使用4层的金字塔,pooling核分别覆盖图像的全部、一半和更小的部分。他们被混合用于全局先验知识。然后将它们与原始feature map连接(concatenate)。最后是一个卷积层来产生最后的预测map,如Fig.3(d).

论文中有一段对PSPNet的总结。

To explain our structure, PSPNet provides an effective global contextual prior for pixel-level scene parsing. The pyramid pooling module can collect levels of information, more represnetative than global pooling. In terms of computational cost, our PSPNet does not much increase it compared to the original dilated FCN network. In end-to-end learning, the global pyramid pooling module and the local FCN feature can be optimized simultaneously.

Deep Supervision for ResNet-Based FCN

论文中在优化时添加了auxiliary损失,如图Fgiure 4.

在训练时,有两个loss需要优化,其中loss1占有较大权重。

在测试时,去除auxiliary分支(loss2)。

这个技巧在很多论文中都用到了,但我在实际应用中没有用过,理解不深,就不在介绍了。