Path Aggregation Network for Instance Segmentation 论文笔记

本文详细解读了PANet论文,针对Mask R-CNN中信息传递的局限,提出了bottom-up增强路径和自适应特征池,旨在缩短特征层级之间的距离并充分利用各层级信息。通过构建新的特征融合路径和自适应池化策略,PANet提高了实例分割的性能,并且其结构可以应用于目标检测任务。
摘要由CSDN通过智能技术生成

前言

作者认为在Mask R-CNN中的信息传递过程可以得到进一步提升。一般来说,低级特征有助于识别较大的目标,但低级特征到高级特征的路径太长了,这增加了定位信息流动的难度。而且,每个proposal是基于某一个特征层级得到的,而具体将proposal分配到哪个特征层级,这是一个启发式的分配过程。这个分配过程其实是不太合理的,因为在其它没有使用的特征层级中会有一些信息,这些信息对于最终的预测来说可能会有所帮助。另外,Mask R-CNN中的mask预测分支仅在单层特征图上(single view),这失去了收集不同信息的机会。

基于此,本文提出PANet,它的结构如下图所示:
在这里插入图片描述

  • 通过建立bottom-up增强路径(图b)来缩短信息传递的路径,利用低级特征中的准确的定位信息,增强特征金字塔的结构。
  • 建立自适应特征池(图c),以恢复每个proposal与所有的特征层级之间被破坏的信息路径,也就是将每个proposal与所有的特征层级关联起来,为每个proposal聚合来自所有特征层级的特征,不再是以前那种自适应分配。
  • 使用一个小型全连接层来增强mask预测(图e),以捕获每个proposal的不同view,它与Mask R-CNN中使用的FCN有互补作用。这样就可以得到两个view:来自fc的view,和来自FCN的view,通过融合这两个view的预测结果,可以增强信息的多样性,mask的质量也能得到提高。

网络结构

PANet的框架如下图所示:
在这里插入图片描述
和FPN一样,PANet带来的性能上的提升和CNN的结构是没有关系的。

1. bottom-up增强路径

一般来说,高层的神经元对整个目标响应,而其它层的神经元更可能是被局部图像激活,因此构建一条top-down通路,以传播高层的语义特征是非常有必要的,这样可以增强FPN中所有层级的特征的分类能力。本文通过传播低级特征对边或部分目标的响应,进一步增强了整个特征层级的定位能力。

如下图所示,左边是FPN,右边是本文提出的bottom-up增强路径。绿色的虚线就是本文构建的特征融合路径,它跨越的卷积层很少,连10个都不到;红色虚线是FPN中的特征融合路径,从底层到高层共跨越了一百多层。本文的bottom-up路径缩短了底层特征到高层特征的距离,能实现更有效的特征融合。
在这里插入图片描述
接下来说一下具体如何构建这条bottom-up通路。和FPN一样,在同一个stage中的卷积层生成的特征图的空间大小是相同的,每个特征层级对应一个stage,使用 { P 2 , P 3 , P 4 , P 5 } \lbrace P_2,P_3,P_4,P_5 \rbrace { P2,P3,P4,P5}表示FPN生成的特征层级。bottom-up通路从

### Path Aggregation Network (PANet) 实现的 GitHub 仓库 以下是几个常见的开源项目,它们实现了 PANet 或类似的架构用于实例分割: #### 1. **Facebook Research 的 Detectron2** Detectron2 是 Facebook 提供的一个模块化的对象检测库,支持多种最先进的算法,其中包括 PANet。它是一个功能强大的工具包,能够轻松实现并测试各种目标检测和实例分割模型。 ```python import detectron2 from detectron2.config import get_cfg from detectron2.engine import DefaultPredictor cfg = get_cfg() cfg.merge_from_file("configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml") # 使用预定义配置文件 cfg.MODEL.WEIGHTS = "detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl" predictor = DefaultPredictor(cfg) # 测试图像输入 output = predictor(im) ``` GitHub 地址: [https://github.com/facebookresearch/detectron2](https://github.com/facebookresearch/detectron2)[^5] --- #### 2. **MMDetection** MMDetection 是由 OpenMMLab 开发的一套灵活的目标检测框架,其中包含了 PANet 和其他先进的实例分割方法。该框架易于扩展,并且提供了丰富的文档和支持。 安装命令如下: ```bash pip install mmdet ``` 运行示例代码: ```python from mmdet.apis import init_detector, inference_detector config_file = 'configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py' checkpoint_file = 'checkpoints/faster_rcnn_r50_fpn_1x_voc0712.pth' model = init_detector(config_file, checkpoint_file, device='cuda:0') result = inference_detector(model, img) ``` GitHub 地址: [https://github.com/open-mmlab/mmdetection](https://github.com/open-mmlab/mmdetection)[^6] --- #### 3. **PyTorch Implementation of PANet** 这是一个独立的 PyTorch 实现版本,专注于 PANet 架构的核心部分——路径聚合网络(Path Aggregation Network)。此存储库适合希望深入理解 PANet 工作原理的研究人员或开发者。 GitHub 地址: [https://github.com/NVIDIA/DeepLearningExamples/tree/master/PyTorch/Detection/PANet](https://github.com/NVIDIA/DeepLearningExamples/tree/master/PyTorch/Detection/PANet)[^7] --- ### 关键技术点解析 - PANet 引入了一种新的特征传播机制,即自底向上的路径增强,这使得低层特征可以更有效地传递位置信息给高层特征[^2]。 - Adaptive Feature Pooling 技术允许每个 proposal 更加灵活地从多层特征图中提取信息,从而提高了 mask 预测的能力。 - 此外,在某些改进版的 PANet 中加入了全卷积分支来进行像素级别的内容分割,进一步增强了上下文感知能力[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值