Path Aggregation Network for Instance Segmentation

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.mzph.cn/news/805372.shtml

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

相关文章

练习题(2024/4/10)

1. 删除有序数组中的重复项 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元…

2022年蓝桥杯省赛——直线

目录 题目链接:11.直线 - 蓝桥云课 (lanqiao.cn) 题目描述 思路 代码思路如下 代码实现 坑来喽~~ 导致这个BUG的原因!!! 总结 整体的 两种b的情况对比数据 题目链接:11.直线 - 蓝桥云课 (lanqiao.cn) 题目描…

JVM面试整理--对象的创建和堆

文章目录 对象的创建过程是怎样的?对象在内存中的结构是怎样的(专业的叫法:对象的内存布局)对象在内存分配时使用的哪种方式(有的地方也称为:分配算法)知道什么是“指针碰撞”吗?知道什么是“空…

LeetCode 80—— 删除有序数组中的重复项 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 让 index指向删除重复元素后数组的新长度;让 st_idx 指向重复元素的起始位置,而 i 指向重复元素的结束位置,duplicate_num代表重复元素的个数;一段重复元素结束后&am…

php校园活动报名系统vue+mysql

开发语言:php 后端框架:Thinkphp/Laravel 前端框架:vue.js 服务器:apache 数据库:mysql 运行环境:phpstudy/wamp/xammp等本选题则旨在通过标签分类管理等方式,管理员;首页、个人中心、学生管理、…

Redis 缓存穿透、缓存击穿、缓存雪崩区别和解决方案

缓存穿透 什么是缓存穿透? 缓存穿透说简单点就是大量请求的 key 是不合理的,根本不存在于缓存中,也不存在于数据库中 。这就导致这些请求直接到了数据库上,根本没有经过缓存这一层,对数据库造成了巨大的压力&#xf…

2、Qt UI控件 -- qucsdk项目使用

前言:上一篇文章讲了qucsdk的环境部署,可以在QDesigner和Qt Creator中看到qucsdk控件,这一篇来讲下在项目中使用qucsdk库中的控件。 一、准备材料 要想使用第三方库,需要三个先决条件, 1、控件的头文件 2、动/静态链…

记录vue之npm run serve报错SET NODE_OPTIONS

> vue-antd-pro3.0.0 serve > SET NODE_OPTIONS--openssl-legacy-provider && vue-cli-service servesh: SET: command not found 一定要注意:将 SET NODE_OPTIONS–openssl-legacy-provider && 删除即可

17 - Games101 - 笔记 - 材质与外观

**17 **材质与外观 材质与BRDF 自然界中的材质:丝绸、头发、蝴蝶翅膀表面、寿司表面等等 图形学中的材质:同一个模型之所以渲染出不同结果的原因就是因为材质。在图形学中是给不同的物体指定不同的材质,知道它们如何和光线作用后就能正确的…

C++11 数据结构0 什么是 “数据结构“?数据,数据对象,数据元素,数据项 概念。算法的基本概念 和 算法的度量,大O表示法,空间换时间的代码

数据: 是能输入计算机且能被计算机处理的各种符号的集合。数值型的数据:整数和实数。非数值型的数据:文字、图像、图形、声音等。 数据对象: 性质相同的 "数据元素" 的集合 例如一个 int arr[10], Teacher tea[3]; 数…

汽车4S行业的信息化特点与BI建设挑战

汽车行业也是一个非常大的行业,上下游非常广,像主机厂,上游的零配件,下游的汽车流通,汽车流通之后的汽车后市场,整个链条比较长。今天主要讲的是汽车流通,汽车4S集团。一个汽车4S集团下面授权代…

MySQL高级篇(存储引擎InnoDB、MyISAM、Memory)

目录 1、存储引擎简介 1.1、查询建表语句,默认存储引擎:InnoDB 1.2、查看当前数据库支持的存储引擎 1.3、创建表,并指定存储引擎 2、 存储引擎-InnoDB介绍 2.1、存储引擎特点 3、MyISAM存储引擎 4、Memory存储引擎 5、InnoDB、MyISAM、Memory…

HTML基础(3)

1、内联框架 iframe用于在网页内显示网页&#xff0c;语法如下&#xff1a; <iframe src"URL"></iframe> URL指向隔离页面 hight&#xff0c;weight设置高宽&#xff0c;删除边框将frameborder设置为0 <td> <iframe frameborder"0&qu…

麒麟v10安装mysql-8.0.35

因为要修复漏洞的原因&#xff0c;这两天将麒麟v10操作系统的服务器上的MySQL版本由5.7.27升级到8.0.35&#xff08;mysql安装包下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions)&#xff09;&#xff0c;mysql的安装过程主要参考了这个博主…

JavaScript-throw、try,2024年前端高级面试题总结

提交电话 二、xml初识 xml文件是用来做什么的 核心思想&#xff1a; 答&#xff1a;存储数据 延伸问题&#xff1a; xml是怎样存储数据的&#xff1f; 答&#xff1a;以标签的形式存储 例: coco 什么是xml元素? 元素该如何编写? xml中的元素其实就是一个个的标签 标签…

面试官为什么喜欢考察Vue底层原理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

国产低代码工具,轻松搞定数据迁移

在日常的业务系统升级或者数据维护过程中&#xff0c;数据迁移是各个企业用户不得不面临的问题&#xff0c;尤其是数据迁移过程中要保障数据完整性、统一性和及时性&#xff0c;同时也需要注意源数据中的数据质量问题&#xff0c;比如缺失、无效、错误等问题&#xff0c;需要在…

前端面试算法题1

1.已知&#xff1a; • 布局分为&#xff1a;父元素A和N个子元素B&#xff1b; • A宽度不固定&#xff1a;最小宽度为1000px&#xff0c;内部边距是32px • B的宽度不固定&#xff1a;相邻两个B元素的间距是16px&#xff0c;所有B的宽度相同&#xff0c;边框为1像素&#x…

【JAVA语言-第19话】多线程详细解析(一)

目录 多线程 1.1 并发和并行 1.2 线程和进程 1.2.1 进程 1.2.2 线程 1.3 单线程 1.3.1 单线程案例 1.4 创建多线程的方式 1.4.1 继承Thread类 1.4.2 实现Runnable接口 1.4.3 使用匿名内部类 1.5 Thread类 1.5.1 构造方法 1.5.2 常用方法 1.5.3 Thread类中…

《QT实用小工具·二十四》各种数学和数据的坐标演示图

1、概述 源码放在文章末尾 该项目实现了各种数学和数据的坐标演示图&#xff0c;下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #ifndef FRMMAIN_H #define FRMMAIN_H#include <QWidget> class QAbstractButton;namespace Ui { class frmMain; }class fr…