深度学习之语义分割-PSPNet

In this paper, we exploit the capability of global context information by different-region-based context aggregation through out pyramid pooling module together with the proposed pyramid scene parsing network(PSPNet)

作者意识到大部分的FCN-based的模型都缺少合适的策略去利用全局场景下的类别信息[global scene category clues]

模型


深度学习之语义分割-PSPNet_第1张图片

  • 说明:
    • 基础网络ResNet
    • 基于FCN全卷积网络
    • 多尺度特征融合
    • 结构化预测:
      • 金字塔场景解析能够提升全局范围信息
    • 金字塔池化
      • 四种不同的尺度
        • 1x1, 2x2, 3x3, 6x6
        • 每个尺度下的filter个数为1/N【N为卷积网络最后输出的通道个数】
      • pooling操作后,接1x1卷积
      • 将不同尺度的特征上采样upsample
      • 然后把特征进行cancat,作为金字塔池化的特征输出
    • 通过卷积进行续重的分割预测
    • 辅助loss网络
      深度学习之语义分割-PSPNet_第2张图片
      • 类似ResNet中的辅助网络
        • 测试阶段去掉该辅助网络

注:相比dilate FCN网络,该方法没有增加太多的计算,并且金字塔pool和局部FCN特征可以端到端的学习。

效果

有效去掉了FCN中的问题:


深度学习之语义分割-PSPNet_第3张图片

  • 说明:
    • mismatched relationship
      • 例如将船识别成car,而car应该行驶在道路上,而不是水上
    • confusion categories
      • 很多相似的类别容易混淆
        • field/earth, mountain/hill, wall/house/building/skyscraper
      • 例如将大楼识别成skyscraper
    • inconspicouous classes
      • 对于一些小的物体FCN检测不好

实验1:

不同方法之间的对比


深度学习之语义分割-PSPNet_第4张图片

  • 说明
    • B1/B1236:代表不同的pool核大小
    • MAX/AVE:代表池化操作,取最大/平均
    • DR:池化后是否进行降维操作

实验2

辅助网络作用分析


深度学习之语义分割-PSPNet_第5张图片

  • 说明
    • 辅助网络确实能带来效果的提升,当alpha=0.4的时候,效果最好

实验3

基础网络的影响


深度学习之语义分割-PSPNet_第6张图片

深度学习之语义分割-PSPNet_第7张图片

  • 说明
    • 基础网络表达能力却强,效果越好

实验4

不同网络结构对比


深度学习之语义分割-PSPNet_第8张图片
深度学习之语义分割-PSPNet_第9张图片

  • 说明
    • 数据集:ADE20K
    • 最基本的结构ResNet50-Baseline也已经超过了之前的方法
    • 通过增加基础模型的深度,数据增强DA,辅助网络训练AL,金字塔池化PSP,和多尺度测试,模型能达到很高的效果

实验5

PASCAL VOC2012数据        


深度学习之语义分割-PSPNet_第10张图片
深度学习之语义分割-PSPNet_第11张图片
深度学习之语义分割-PSPNet_第12张图片

  • 说明
    • 相比较之前的效果,PSPNet提高了非常大
      注:该论文没有提高RefineNet的结果【RefineNet在VOC2012上能达到83.4的mIoU效果】

实验6

CityScapes数据集


深度学习之语义分割-PSPNet_第13张图片
深度学习之语义分割-PSPNet_第14张图片
深度学习之语义分割-PSPNet_第15张图片

总结

金字塔池化可以有效的提取纹理信息

参考文献

https://arxiv.org/abs/1612.01105

你可能感兴趣的:(segmentation,深度学习)