Path Aggregation Network for Instance Segmentation

news2025/9/22 3:04:33

PANet

  • 摘要
  • 1. 引言
  • 2.相关工作
  • 3.框架

PANet 最初是为 proposal-based 实例分割框架提出来的,mask 是实例的掩码,覆盖了物体包含的所有像素,proposal 在目标检测领域是可能存在目标的区域。在实例分割中,首先利用RPN(Region Proposal Network)生成proposal。然后,对每个proposal使用额外的网络头(head)来预测该区域的掩码(mask),即物体的精确像素级轮廓。实例分割中的 proposal不仅涉及边界框的预测,还包括为proposal内的每个像素分类,生成一个精确的物体轮廓掩码。

摘要

作者提出了路径聚合网络(PANet),旨在增强基于提议的实例分割框 (proposal-based instance segmentation framework) 中的信息流动。具体来说,通过自底向上的路径增强,加强了整个特征层次结构,使得底层的准确定位信号能够加速传播到最顶层的特征。此外,文章提出了自适应特征池化机制,它连接了特征网格和所有特征层次,使得每一层的有用信息都能直接传播到后续的提议子网络中。为了进一步改进掩模预测,还创建了一个补充分支,用以捕捉每个提议的不同视角。

1. 引言

作者通过研究发现,现有的先进技术,如Mask R-CNN在信息传播方面还有改进空间。具体来说,低层次的特征对于识别大型实例非常有帮助。但是,从低层结构到最顶层特征之间有一个长路径,这增加了获取准确定位信息的难度。此外,每个提议都是基于从单一特征层汇集的特征网格来预测的,这种分配方式是启发式的。作者指出,这个过程可以更新,因为在其他层次中被丢弃的信息可能对最终预测有帮助。最后,掩模预测是基于单一视角进行的,这丧失了收集更多多样化信息的机会。

如图1

  1. 首先,为了缩短信息传播路径并增强低层次特征中准确定位信号的特征金字塔,创造了自底向上的路径增强。这意味着通过引入一个新的路径,将低层次的准确定位信息更直接地传递到高层次,这有助于改善特征金字塔中的信息流,并增强对实例的定位能力。

  2. 其次,为了修复每个提议(proposal)与所有特征层之间断裂的信息路径,作者开发了自适应特征池化机制。这是一个简单的组件,用于聚合每个建议的所有特征层的特征,避免了随意分配的结果。通过这种操作,与先前的工作相比,创造了更清晰的信息传播路径。

  3. 最后,为了捕获每个建议的不同视角,作者通过微小的全连接层增强了掩模预测,这些层具有补充FCN的属性,FCN是Mask R-CNN最初使用的。通过融合这两种视图的预测,增加了信息的多样性,并产生了更高质量的掩模。

文章中提到的前两个组件——自底向上的路径增强和自适应特征池化,都被对象检测和实例分割任务共享,从而显著提高了两种任务的性能。

在这里插入图片描述

这张图1详细展示了PANet(路径聚合网络)的架构:

(a) FPN(特征金字塔网络)骨干:它展示了一个典型的特征金字塔结构,其中信息通过侧向连接从顶层传递到底层(以蓝色箭头表示)。顶层特征P5具有最强的语义信息,而底层特征P2具有最精确的空间信息。

(b) 自底向上路径增强:这一部分补充了自顶向下的路径,允许底层的高分辨率特征N2可以直接传递信息到更高层,从而创建了新的特征层N3, N4, N5。这些特征层通过自底向上的增强路径(以橙色箭头表示)直接与相应的FPN层连接,缩短了从底层到顶层的信息传播路径。

© 自适应特征池化:此部分用于从不同的特征层(N2, N3, N4, N5)中提取特征,并将它们合并(通过灰色箭头表示),以提供一个丰富的特征表示用于后续预测。

(d) 盒子分支:这一部分用于对象检测任务,它接受自适应特征池化的输出,并进行分类(class)和边界框回归(box)。

(e) 全连接融合:这是用于实例分割任务的一个额外分支,它接受自适应特征池化的输出,通过全连接层处理后预测每个实例的掩模(mask)。这里提到的“全连接融合”增加了预测掩模的多样性。

请注意,在图中(a)和(b)的部分,为了简洁起见,特征图的通道维度被省略了。在实际应用中,每个特征层都会有多个通道携带不同类型的信息。

2.相关工作

在这里插入图片描述
这张图2展示了PANet中自底向上路径增强的一个构建块的结构。在这个构建块中:

  1. 特征层 N i N_i Ni(在图中为蓝色的底部特征图)经过一个下采样(通常是通过一个带有步长的卷积层,使得特征图的空间分辨率降低,例如步长为2),以匹配更高层特征图 P i + 1 P_{i+1} Pi+1(在图中为蓝色的上部特征图)的大小。

  2. 同时,特征层 P i + 1 P_{i+1} Pi+1是通过FPN得到的高层特征图,它通过横向连接已经获得了一定程度的语义信息。

  3. 然后,通过元素相加操作(图中的圆圈中的加号),将这两个特征图合并,以生成新的特征层 N i + 1 N_{i+1} Ni+1(在图中为橙色的特征图)。这个融合的特征图将结合了 N i N_i Ni的细节和 P i + 1 P_{i+1} Pi+1的语义信息,更适合做更高层次的预测。

通过这样的构建块,网络可以维护低层的细节信息并且增强高层特征图的定位能力,有助于改进实例分割的性能。这种自底向上的路径增强构建块是PANet用来提升特征金字塔信息流的关键元素之一。

3.框架

在这里插入图片描述
这张图4展示的是PANet中的掩码预测分支,该分支包括全连接层融合。

  1. ROI:感兴趣区域(Region of Interest),从特征图中提取的目标区域,是预测掩码的起始点。

  2. conv1 至 conv4:这四个连续的卷积层用于处理提取的ROI,逐步提取更高层次的特征。每个卷积层后通常会跟一个激活函数如ReLU,但在此图中未显示。

  3. deconv:反卷积层(也称为转置卷积层),用于上采样特征图,增加其空间分辨率,以便能够生成像素级的掩码预测。

  4. fc:全连接层,接受从conv3层分出的特征图,此层能够捕捉整个ROI的全局信息。

  5. conv4_fc 和 conv5_fc:这两个卷积层进一步处理全连接层输出的特征。第二个卷积层(conv5_fc)的目的是减少特征的通道数,以减少全连接层输出维度并减少计算负担。

  6. reshape:全连接层的输出将被重塑成二维空间特征图的形状,这样就可以与deconv层的输出合并。

  7. mask:最终的掩码预测是通过将deconv层的输出和重塑后的全连接层的输出相结合来生成的。这里使用了元素级别的融合操作(通常是求和或逐元素最大值),结合了局部特征和全局信息来预测每个像素是否属于目标实例。

通过这种方式,全连接融合的掩码预测分支可以同时利用全局信息和局部纹理信息,以提高实例分割的精度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1583763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【并发】第四篇 原子操作系列-AtomicInteger原子操作类详解

导航 一. 简介二. 源码分析三. 原子操作原理三. 实际用途1. 标志位2. 唯一标识生成器3. 计数器一. 简介 AtomicInteger是Java中提供的一种线程安全的原子操作类,用来实现对整数类型的原子操作。它可以在多线程环境下保证对整数的原子性操作,而不需要使用synchronized关键字或…

小样本计数网络FamNet(Learning To Count Everything)

小样本计数网络FamNet(Learning To Count Everything) 大多数计数方法都仅仅针对一类特定的物体,如人群计数、汽车计数、动物计数等。一些方法可以进行多类物体的计数,但是training set中的类别和test set中的类别必须是相同的。 为了增加计数方法的可拓…

CloudCompare——win11配置CloudComPy

CloudComPy配置 1 基本环境介绍2 安装Anaconda2.1 下载anaconda2.2 安装anaconda2.3 配置镜像源2.4 更改虚拟环境的默认创建位置2.5 其他问题2.5.1 激活自己创建的环境提示:系统找不到指定的路径2.5.2 InvalidVersionSpecError: Invalid version spec: 2.72.5.3 卸载…

Hibernate框架的搭建

Hibernate框架的搭建 分层体系结构与持久化 三层体系结构 分层体系结构 指的是将系统的组件分隔到不同的层中,每一层中的组件应保持内聚性; 每一层都应与它下面的各层保持松散耦合。 层与层之间存在自上而下的依赖关系,即上层组件会访问下…

【一学就会】(一)C++编译工具链——基于VSCode的CMake、make与g++简单理解与应用示例

目录 一、CMake、make与g 1、名词辨析 2、孰优孰劣 二、应用示例 1、工具类安装与配置 1)VSCode安装与配置 2)CMake下载与安装 3)MinGW-W64下载与安装 A、科学上网法 B、无需科学上网法 4)VSCode推荐插件 A、c/c编译环…

nandgame中的Tokenize(标记化)

题目说明: "Tokenize" "标记化"标记器预先配置为识别数字和符号 。请配置标记器以额外识别符号减号 - 和括号 ( 和 )。您可以编辑源代码区域中的代码以测试它的标记化。level help 我们将构建一种高级编程语言。 高级语言具有更加人性化和灵…

K8s-Ingress Nginx-Day 08

1. 什么是Ingress 官方文档:https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/#what-is-ingress Ingress 是 kubernetes API 中的标准资源类型之一,主要是k8s官方在维护。 2. Ingress的作用 Ingress 提供从集群外部到集群内服务…

NAT转换是怎么工作的?

前言 对象: 服务器S,NAT设备,用户设备C1,用户设备C2 用户C1向服务器S发起一个HTTP请求,经过NAT转化,服务器收到并作出响应,用户C1收到响应。 问题来了,NAT是怎么知道这个响应是给用户C1而不是…

配电室实现智能化用电管理平台的搭建构思

1 宝安区水务现状 河流基本情况:宝安区共有66条河涌,66条河涌分属茅洲河及珠江口沿海河涌两大水系,总长254km,流域总面积532km2。全区水环境状况有以下几个特点:一是水质污染严重,主要污染物为氨氮、总磷和阴离子表面…

利用虚拟机建ITtools

网上给的虚拟机多数都是VMX格式的封包,而我这次用的是ovf 我先把虚拟机在导出为ovf 生成了三个文件 去服务器上创建虚拟机,选择从OVF或OVA文件部署虚拟机,点下一页 给虚拟机起个名字 把相应的文件扡到里面去(这里生成的四个文件中…

(React生命周期)前端八股文修炼Day8

一 React的生命周期有哪些 React组件的生命周期可以分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。React类组件的生命周期方法允许你在组件的不同阶段执行代码。 挂载…

第十二天--二维数组的彻底解刨--地址

1.二维数组我们用父子的地址来称呼二维数组的地址 比如arr[3][4] 这里的arr是二维数组的首地址,也是父数组的首地址,也是子数组的首地址 arr1父数组的地址偏移1,实际上是偏移了4*416个字节 arr[0]是子数组的首地址,arr[0]1是子数…

Vue3---基础2(component)

主要讲解 component 的创建 以及vue插件的安装 Vue.js Devtools 为谷歌浏览器的Vue插件,可以在调试工具内查看组件的数据等 下载 有两种下载方式 1. 谷歌应用商店 打开Chrome应用商店去下载,这个方法需要魔法 2. 极简插件 极简插件官网_Chrome插件下载_…

OpenC910 datasheet 2.0 翻译

概述 C910是由THEAD半导体有限公司开发的一款RISC-V兼容的64位高性能处理器。它通过架构和微架构创新,在控制流、计算和频率方面提供行业领先的性能。C910处理器基于RV64GC指令集,并实现了XIE(XuanTie指令扩展)技术。C910采用先进…

Python自动化测试怎么去学习?熬夜7天整理出这一份3000字学习指南!

一、Python常用领域 Python用于简单脚本编程,如编写2048小游戏或12306的自动抢票软件;Python用于系统编程,如开发系统应用;Python用于开发网络爬虫;网络爬虫的用途是进行数据采集,也就是将互联网中的数据采…

OSPF中配置静态路由负载分担实验简述

OSPF中配置静态路由负载分担 实验简述 在静态路由负载分担中,多个路由器被配置为共享负载的目标,以实现流量的均衡分配。 到达目的地有N条相同度量值的路径,默认值60,N条路由是等价路由,数据报文在N条链路上轮流发送。…

力扣刷题 二叉树遍历的统一迭代法

题干 给定一个二叉树的根节点 root ,返回 它的 前中后序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入:root […

C++设计模式:构建器模式(九)

1、定义与动机 定义:将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化) 动机: 在软件系统中,有时候面临着“一个复杂对象”的创建工作&#x…

基于SSM的课程进度管理系统的设计与实现

摘要: 在信息技术飞速发展的当下, 借助互联网平台以及功能性系统的支持,人们获取信息以及信息整合的通道越来越多元化。系统和平台帮助人们实现了信息的共享,同时帮助人们更加直观的看到成果和过程的变动。以课程进度管理为例&…

python使用uiautomator2操作雷电模拟器9找图

接上篇文章python使用uiautomator2操作雷电模拟器9并遇到解决adb 连接emulator-5554 unauthorized问题-CSDN博客 搭建好uiautomator2后,主要就是使用了。 本文就利用uiautomator2的截屏、模拟点击和aircv的找图功能,实现对指定寻找的图片的位置的点击。…