Path Aggregation Network for Instance Segmentation

2024-04-11 02:12

本文主要是介绍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层的输出和重塑后的全连接层的输出相结合来生成的。这里使用了元素级别的融合操作(通常是求和或逐元素最大值),结合了局部特征和全局信息来预测每个像素是否属于目标实例。

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

这篇关于Path Aggregation Network for Instance Segmentation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892810

相关文章

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

OpenStack实例操作选项解释:启动和停止instance实例

关于启动和停止OpenStack实例 如果你想要启动和停止OpenStack实例时,有四种方法可以考虑。 管理员可以暂停、挂起、搁置、停止OpenStack 的计算实例。但是这些方法之间有什么不同之处? 目录 关于启动和停止OpenStack实例1.暂停和取消暂停实例2.挂起和恢复实例3.搁置(废弃)实例和取消废弃实例4.停止(删除)实例 1.暂停和取消暂停实例

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D

Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解

Flask 在创建app的时候 是用 app = Flask(__name__) 来创建的,不传入 static_folder参数的话 ,默认的静态文件的位置是在 static目录下 我们可以进入 Flask的源码里面查看 ctrl+鼠标左键进入 这是Flask的 __init__源码(后面还有一些,我就选了需要的代码)     def __init__(self,import_

Neighborhood Homophily-based Graph Convolutional Network

#paper/ccfB 推荐指数: #paper/⭐ #pp/图结构学习 流程 重定义同配性指标: N H i k = ∣ N ( i , k , c m a x ) ∣ ∣ N ( i , k ) ∣ with c m a x = arg ⁡ max ⁡ c ∈ [ 1 , C ] ∣ N ( i , k , c ) ∣ NH_i^k=\frac{|\mathcal{N}(i,k,c_{

(4)SVG-path中的椭圆弧A(绝对)或a(相对)

1、概念 表示经过起始点(即上一条命令的结束点),到结束点之间画一段椭圆弧 2、7个参数 rx,ry,x-axis-rotation,large-arc-flag,sweep-flag,x,y (1)和(2)rx,ry rx:椭圆的x轴半径(即水平半径) ry:椭圆的y轴半径(即垂直半径) 这两个参数好理解,就是椭圆的两条对称轴半径,相等即为圆 也可以写比例,写比例时默认用符合条件

Error: label vector and instance matrix must be double的解决方法

在使用uci下载的数据时,建模时出现这个错误的解决方法 首先现在UCI上面下载数据 然后右键另存为就行了。这样我们就从UCI里面下载到了训练数据 在matlab 点 导入数据,数据类型要记得选第二个, 如果选择最后一个table就会出现这个问题 最后附上代码 %%之前先import wine.date IMPORTED DATA 设为Numeric Matrix (数值矩

【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期:最小成本路径原理及实操案例 概述(Creating the least-cost path)1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径(Cost path)2.1.2 成本距离(Cost distance)2.1.2 路径距离(Path Distance) 2.2 案例: 参考 概述(Cre

F12抓包05:Network接口测试(抓包篡改请求)

课程大纲         使用线上接口测试网站演示操作,浏览器F12检查工具如何进行简单的接口测试:抓包、复制请求、篡改数据、发送新请求。         测试地址:https://httpbin.org/forms/post ① 抓包:鼠标右键打开“检查”工具(F12),tab导航选择“网络”(Network),输入前3项点击提交,可看到录制的请求和返回数据。