• 【实例分割】6、PAN | 反向 FPN! 自下向上的特征融合


    在这里插入图片描述

    论文:Path Aggregation Network for Instance Segmentation

    代码:https://github.com/ShuLiu1993/PANet

    出处:CVPR2018 | 香港大学 北大 商汤 腾讯优图

    一、背景

    在这里插入图片描述

    PANet 的动机:

    • 低层特征的信息对高层也很重要,但传输路径很长,增加了传输准确定位信息的难度
    • 每个 proposal 都是基于单层特征的 grid 预测的,缺失了其他层特征的信息
    • Mask 的预测是基于单个层的,没有和其他更有力的特征结合

    PANet 做了什么(前两点也适用于目标检测):

    • 在 FPN 的后面增加了一个自底向上的路径:为了缩短信息传输路径,并强化低层特征的准确定位信息的作用,建立了一个自底向上的信息传输路径,融合方式如图 2(3x3-s=2 的 conv 进行下采样,然后后 P 进行逐点相加,之后再使用 3x3 conv 进行特征融合,增强表达能力,最后再使用 ReLU 进行非线性化,N2 直接复制 P2,N3-N5 使用如图 2 的融合方式)
    • 增加了两个 shortcut 连接:图 1 中的绿色和红色线,
    • 使用 adaptive pooling 为每个 proposal 都引入整个图的全局特征:为了恢复被打破的 proposal 和 all feature 之间的信息,使用了 adaptive pooling,为每个 proposal 都引入整张图的全局特征
    • 为了从多方面捕捉 proposal 的特征,作者使用 tiny fully-commected layer 来强化 mask 的预测,和 Mask-RCNN 中的 FCN 互补

    二、方法

    在这里插入图片描述

    2.1 Bottom-up Path Augmentation

    高层的特征包含全局特征,低层的特征包含细节定位特征,所以 FPN 中的自顶向下的信息传输方式能够给低层特征引入全局信息,利于分类能力的提升。

    PANet 认为如果使用从下到上的传输路径,则能够将底层的细节定位纹理信息传递到高层,所以,其建立了两个非常“干净”的旁侧路径:

    • 图 1 所示绿色线,其包含的层数 < 10,将底层特征直接传递给高层
    • 图 1 所示红色线,认为 FPN 传输的路径过长,100+ 层,所以直接传递

    PANet 具体是怎么强化自己的特征传输的?

    以使用 ResNet 为例,并且使用 FPN 输出的 P 2 P_2 P2 P 5 P_5 P5 层特征,PANet 在 FPN 的后面(图 1 中展示为右侧)增加了一个特征路径:

    • 输入为 FPN 的 P 2 P_2 P2
    • 然后逐步上采样(自底向上),并和 FPN 对应层的特征融合,每次上采样 2 倍,得到的特征表示为 N 2 N_2 N2 N 5 N_5 N5 P 2 P_2 P2 N 2 N_2 N2 其实是相同的特征)
    • N i N_i Ni 会和 coarse 的 P i + 1 P_{i+1} Pi+1 融合,然后生成新的 N i + 1 N_{i+1} Ni+1
    • 每个 N i N_i Ni 先经过 stride=2 的 3x3 卷积,然后和经过下采样的 P i + 1 P_{i+1} Pi+1 相加,相加后再经过 3x3 卷积,得到 N i + 1 N_{i+1} Ni+1

    2.2 Adaptive Feature Pooling

    FPN 中,根据 proposal 大小的不同,会被分配到不同分辨率的特征上去,这就导致小 proposal 被分配到低层去预测,大 proposal 被分配到高层去预测,但这并非最优的,假设两个 proposal 相差 10-pixel,就可以能被分配到不同吃的的特征图上去,但这两个目标可能非常相近。

    此外,高层特征是由很大的感受野的,能够捕捉到更多的上下文信息,如果小 proposal 能够接收到这些信息的话,会有利于预测。低层特征会蕴含很多细节和定位特征,让大 proposal 接收到这些信息的话,也会有利于预测。

    所以,PANet 中,将每个 proposal都提取了 pooling 特征,然后将他们聚合起来,这个过程称为 adaptive feature pooling。

    怎么聚合呢?—— max 聚合,也就是在每个点上选择最大值

    下图 3 中 level 1-4 表示 low-to-high levels:

    • 蓝线表示小 proposal,其接近 70% 的特征都来自高层特征
    • 黄线是大 proposal,50%+ 的特征是从其他低层 pooled 得到的
    • 这也说明了不同层的特征聚合对提升准确性很有必要

    在这里插入图片描述

    三、效果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    Biotin-PEG-CHO,生物素PEG醛基
    MFC Windows 程序设计[239]之托盘通知展示(附源码)
    C++(17):string_view
    python使用Postgre数据库使用geometry和批量插入数据以及python库psycopg2操作postgre数据库踩坑
    基于springboot的手办定制销售系统毕业设计源码031800
    解决git无法上传大文件(50MB)
    从pom文件里面找不到对应的Maven依赖,通过下面的方法完美解决
    分布式数据库Apache Doris简易体验
    Linux部署Spark 本地模式
    基于Spring Boot+ MyBatis Plus 的多端后台管理框架(若依pro)
  • 原文地址:https://blog.csdn.net/jiaoyangwm/article/details/126960535