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.rhkb.cn/news/303789.html

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

相关文章

机器学习中的激活函数

激活函数存在的意义: 激活函数决定了某个神经元是否被激活,当这个神经元接收到的信息是有用或无用的时候,激活函数决定了对这个神经元接收到的信息是留下还是抛弃。如果不加激活函数,神经元仅仅做线性变换,那么该神经网…

Linux 线程:线程同步、生产者消费者模型

目录 一、死锁 二、条件变量实现线程同步 1、为什么需要线程同步 2、条件变量、同步、竞态条件 3、条件变量函数:初始化 销毁 等待 唤醒 4、实现简单的多线程程序 不唤醒则一直等待 实现线程同步 三、生产者消费者 1、借助超市模型理解 2、优点 四、基于…

【刷题】备战蓝桥杯 — dfs 算法

送给大家一句话: 风度真美! 即使流泪,也要鼓掌, 即使失望,也要满怀希望。 ——刘宝增 dfs 算法 1 前言2 洛谷 P1030 [NOIP2001 普及组] 求先序排列题目描述算法思路 3 洛谷 P1294 高手去散步题目描述算法思路 4 蓝桥…

pdfjs-4.0.379-dist直接打开viewer.html报错

下载了pdfjs-4.0.379-dist,但是直接打开viewer.html报错。解决方法:安装live Sever,并用live Server打开 打开浏览器截图 错误提示如下: Access to image at file:///D:/work/web-common/car-knowledge-base-web/static/pdfjs-4…

STM32 H7系列学习笔记

必备的API知识 第 1 步:系统上电复位,进入启动文件 startup_stm32h743xx.s,在这个文件里面执行复位中断服务程序。 在复位中断服务程序里面执行函数 SystemInit,在system_stm32h7xx.c 里面。*之后是调用编译器封装好的函数&…

[CSS]样式属性+元素设置

哎呀,好多东西,根本记不住,更多的还是边用边记吧,这里的代码就当使用范例,但其实如果可以让gpt应该会更好,哎学吧,反正记得住当然更好 文本 属性名描述word-break单词换行。取值如下&#xff1…

Java System类和Runtime类

System常见API exit:退出程序currentTimeMillis :获取当前的毫秒数(1970年是c语言诞生的那一年) 代码 System.out.println("Hello, World!"); // System.exit(0); // 退出程序 尽量别使用long currentTimeMillis System.currentTi…

计算机进制

进制 进制也就是进位制,是人们规定的一种进位方法对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进…

管理用户(删除指定用户)shell脚本实现

系统中删除一个用户,要慎之又慎。编写一个shell脚本交互式实现用户删除。代码逻辑: 1、获取正确用户名 2、创建函数获取正确的用户名 3、验证获取的用户名 4、确认获取的用户是否存在 5、删除属于用户的进程 6、查找属于用户的文件并输出文件报告便于后续…

600MA线性锂电池充电芯片 - YB4054DJ

描述: YB4054一款完整的单节锂离子电池充电器。其SOT23-5的封装与较少的外部元件数使得YB4054成为便携式应用的理想选择。采用了内部PMOSFET架构,加上防倒充电路,不需要外部检测电阻器和隔离二极管。热反馈可对充电电流进行自动调节,以便在大…

Commitizen:规范化你的 Git 提交信息

简介 在团队协作开发过程中,规范化的 Git 提交信息可以提高代码维护的效率,便于追踪和定位问题。Commitizen 是一个帮助我们规范化 Git 提交信息的工具,它提供了一种交互式的方式来生成符合约定格式的提交信息。 原理 Commitizen 的核心原…

面试(02)————Java基础和集合

一、Java基础知识 1、面向对象的特征 2、Java 的基本数据类型有哪些 3、JDK JRE JVM 的区别 4、重载和重写的区别 5、Java中和equals的区别 6 、String、StringBuffer、StringBuilder三者之间的区别 7、接口和抽象类的区别是什么? 8、反射 9、jdk1.8 的新特…

AI大模型日报#0409:Llama 3下周发布、特斯联20亿融资、Karpathy新项目

导读: 欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 120亿Stable LM 2上线即开源!2万亿token训练,碾压Llama 2 70B 摘要: Stable LM 2 12B参数版本发布&#x…

vue项目中使用html2canvas 下载当前页面(动态页面宽度、高度)

老规矩先上效果图: 需求1、 只要上图红色区域的内容下载,就需要计算红色区域的内容的动态宽度、高度。 需求2、当前页面可视区域的内容下载,上传按钮下面的所有内容。 一、 安装依赖 :安装html2canvas插件 npm isntall html2canvas 或者…

Docker容器嵌入式开发:在Ubuntu上配置Postman和flatpak

在 Ubuntu 上配置 Postman 可以通过 Snap 命令完成,以下是所有命令的总结: sudo snap install postmansudo snap install flatpak在 Ubuntu 上配置 Postman 和 Flatpak 非常简单。以下是一些简单的步骤: 配置 Flatpak 安装 Flatpak&#x…

OpenHarmony实战开发-如何实现一个小鸟避障游戏。

介绍 本示例用于验证OpenHarmony提供的Stage模型,Canvas组件做小游戏的能效是否符合预期,以及验证资源调度子系统的API接口是否符合后台规范运行的预期。 效果预览 使用说明 1.点击ConnectService按钮,创建一个ServiceAbility并连接。 2.…

数据的属性与相似性

目录 一、数据集的结构(一)二维表(二)数据矩阵 二、属性的类型(一)连续属性(二)离散属性(三)分类属性(四)二元属性(五&…

【图论】图的存储--链式前向星存图法以及深度优先遍历图

图的存储 介绍 无向图-就是一种特殊的有向图-> 只用考虑有向图的存储即可 有向图 邻接矩阵邻接表 邻接表 存储结构: (为每一个点开了一个单链表,存储这个点可以到达哪个点) 1:3->4->null2:1->4->null3:4->null4:null 插入一条新的边 比如要插一条边&am…

Go语言不能常量取址!?

题如下图 在软件开发中,常量是一种重要的编程元素,它们在程序中起到固定值的作用被大量使用 Go语言中的常量取址 在 Go 语言中,常量是无法被取址的。这意味着我们不能使用取址操作符 & 来获取常量的地址。例如: const a …

vue3移动端H5 瀑布流显示列表

以上效果 是之前发送的改进版 waterList <template><view class"pro-cons" v-if"data.length"><view class"cons-left"><template v-for"(item, index) in data"><template v-if"(index 1) % 2 1…