RCNN系列(5):Panoptic FPN-Panoptic Feature Pyramid Networks用于全景分割的特征金字塔网络

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevin_zhao_zl/article/details/86493864

论文地址: Panoptic Feature Pyramid Networks

0. 摘要

  当下用于语义分割和实例分割的方法使用的是完全不同的网络,二者之间没有很好的共享计算,该论文通过赋予Mask R-CNN一个使用特征金字塔网络的语义分割分支来在架构层面将这两种方法结合成一个单一网络来同时完成实例分割和语义分割的任务。

1. 介绍

  该论文的目标是设计一个相对简单的单一网络来进行全景分割,即一种同时进行实例分割和语义分割的分割任务,然而设计这样的一个网络面临着很大的挑战。对于语义分割任务来说,空洞卷积扩充的FCNs是目前主流的方法;对于实例分割来说,带有特征金字网络的基于区域提议的Mask R-CNN则比较常见。改论文避免了在两个任务各自的精度上做取舍,设计的模型能够同时产生实例分割中的区块输出和语义分割中的像素密集输出。
在这里插入图片描述
  论文提出的模型结构如上图,保持FPN主干网络不变,在这个主干的基础上新增一个与实例分割的分支并行的分支进行语义分割。这两个分支的训练对于最终产生结果的好坏影响很大论文中也在损失函数,训练批次,学习率,数据增广等多方面进行了研究,
  最终发现单独对每个分支进行训练最终会得到非常好的结果,实例分割效果和Mask R-CNN相同,语义分割的效果与重量级的模型DeepLabV3+相近。
  对于全景分割来说,适当的训练单个FPN来同时解决两个问题和训练两个FPNs的效果相同,前者还能减少一半的计算量。Panoptic FPN在Mask R-CNN上加了一个轻量级的前端,内存占用和计算量上都非常高效,而且避免了使用空洞卷积。论文也可以移植使用不同的主干网络来获得更好的性能,比如ResNeXt。

2. 全景分割特征金字塔网络

  Panoptic FPN是一个简单的单一网络同时实现实例分割和语义分割并希望取得顶级的效果,两个任务一齐称为全景分割。

2.1 模型架构

特征金字塔网络:FPN网络使用一个标准的网络提取多个空间位置的特征,然后加一个轻量级的自顶而下的通路,并且和特征提取网络横向连接。自定而下的通路在网络最深的层开始然后进行上采样,生成原始图像的1/32,1/16,1/8,1/4四个分辨率的特征图,每个层级的通道数默认都是256.
实例分割分支:FPN和相同通道数的设计都是为了基于区域提议的目标检测器更易于检测。例如,FPN之后Faster R-CNN在不同的金字塔层级分别进行RoI池化,然后增加一个网络分支来为每个候选区域预测其类别得分和边界框位置。为了得到实例分割的结果,扩展Faster R-CNN新增一个FCN分支来为每一个候选区域生成一个二进制掩码图,即Mask R-CNN。
Panoptic FPN:该论文的工作就是对带有FPN的Mask R-CNN进行修改使其能够进行逐像素的语义分割预测。然而为了得到这个逐像素的预测,有三个必须的条件:

  • 一是分辨率适当高的特征图以便捕获细节信息
  • 二是编码密集语义信息的同时进行类别预测
  • 三是捕获多尺度的信息

  尽管FPN是为目标检测设计的,但是这三个条件FPN正好具备,因此只需要在FPN上添加一个简单的分支用于语义分割即可。
在这里插入图片描述
语义分割分支:这个分支的构造如上图所示,最顶层的输入来字FPN最底层的输出,但是都进行了上采样操作恢复至特征图的四分之一大小,,每个上采样阶段包括一个 3 × 3 3\times 3 的卷积层,一个ReLU层和一个两倍双线性内插上采样。之后的横向连接也用到了这个基础的上采样模块。最终特征图的结果是原始图像的四分之一,最终接一个 1 × 1 1 \times 1 卷积核一个四倍双线性内插上采样恢复到原始的尺寸,然后使用softmax来生成类别标签。[还有一个特殊的其他类,没理解,原文:for all pixels belonging to objects to avoid predicting stuff classes for such pixels,感觉就是背景]
其他实现细节:FPN每个金字塔层级都有256个输出通道,语义分割分支降到128个。对于FPN之前的主干网络,论文选择了带有BN的在ImageNet预训练的Resnet和ResNeXt。在进行微调的时候,将BN换成一个固定的信道仿射变换。

2.2 推断和训练

  实例分割和语义分割的输出会有部分重合,进行一个后处理以消除这种重合:

  • 根据它们的置信图消除不同实例之间的重叠
  • 根据实例之间的差别消除语义分割和实例分割的重叠
  • 一处stuff region根据分类(其他类)或者是设定的阈值

联合训练:实例分割训练会产生三个损失函数即 L C L b L m L_C,L_b,L_m ,实例分割的损失就是此三者之和,前两个损失函数通过RoIs采样的数量进行归一化,后一个损失通过RoIs判定为前景的数量进行归一化。语义分割的损失 L S L_S ,通过已分类的像素点的数量进行归一化。这两个分支的损失有不同的初读和归一化策略,简单地加在一起用于联合训练显然不可行,可以通过两个参数 λ i λ s \lambda_i和\lambda_s 来调节二者所占的比重。

3. 实验和结果

论文的目标是证明Panoptic FPN可以作为一个简单有效的单网络baseline,用于实例分割、语义分割,以及他们的联合任务全景分割。
因此,我们从测试语义分割方法(这个单任务变体称为Semantic FPN)开始分析,这个简单的模型在COCO和Cityscapes数据集上实现了具有竞争力的语义分割结果。
接下来,分析了语义分割分支与Mask R-CNN的集成,以及联合训练的效果。最后,我们再次在COCO和Cityscapes数据集上展示了全景分割的结果。定性结果如下图:
在这里插入图片描述
在这里插入图片描述
欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kevin_zhao_zl/article/details/86493864