Centralized Feature Pyramid for Object Detection解读

Centralized Feature Pyramid for Object Detection

问题

主流的特征金字塔集中于层间特征交互,而忽略了层内特征规则。尽管一些方法试图在注意力机制或视觉变换器的帮助下学习紧凑的层内特征表示,但它们忽略了对密集预测任务非常重要的被忽略的角点区域。

核心思想

提出了一种基于全局显式集中式特征规则的中心化特征金字塔(CFP)对象检测方法

  • 空间显式视觉中心策略,其中使用轻量级MLP来捕捉全局长距离依赖关系,并使用并行可学习视觉中心机制来捕捉输入图像的局部角区域
  • 以自上而下的方式对常用特征金字塔提出了一种全局集中的规则,其中使用从最深层内特征获得的显式视觉中心信息来调整正面浅层特征。

方法

Centralized Feature Pyramid(CFP)

作者提出的CFP不仅能够捕获全局长距离依赖关系,而且能够实现全面和差异化的特征表示

具体的流程如下:

  1. 将输入图像馈送到骨干网络,以提取五层的特征金字塔X,其中特征X i _{i} i(i=0,1,2,3,4)的每一层的空间大小分别为输入图像的1/2,1/4,1/8,1/16,1/32。
  2. 特征金字塔的顶层(即X4)使用了一个EVC结构:提出了一种lightweight MLP架构来捕获X 4 _{4} 4全局长距离依赖关系(与基于多头注意机制的transformer encoder相比,轻量级MLP架构不仅结构简单,而且体积更轻,计算效率更高);一个可学习的视觉中心机制与轻量级MLP一起用于聚集输入图像的local corner regions。基于所提出的ECV,为了使特征金字塔的浅层特征能够同时以高效模式从最深特征的视觉集中信息中受益,其中从最深的层内特征获得的显式视觉中心信息用于同时调节所有的前浅特征(使用GCR调节X3和X2)。
  3. 这些特征聚合到一个解耦的头部网络中进行分类和回归。
    在这里插入图片描述

Explicit Visual Center (EVC)

EVC主要由两个并行连接的块组成,lightweight MLP 和 LVC。这两个块的结果特征图沿着信道维度连接在一起,作为用于下游识别的EVC的输出。在X4和EVC之间,Stem块用于特征平滑,而不是直接在原始特征图上实现。Stem块由输出通道大小为256的7×7卷积组成,随后是批量标准化层和激活功能层。
在这里插入图片描述

Lightweight MLP

本文提出的轻量级 MLP 由两个残差模块组成:基于深度可分离卷积的模块(增加特征的表示能力并减少计算量)和基于通道MLP的模块。其中,MLP 模块的输入是深度可分离卷积模块的输出。这两个模块都经过了通道缩放和 DropPath 操作以提高特征泛化和鲁棒性。与空间 MLP 相比,通道 MLP 不仅可以有效地降低计算复杂度,还可以满足通用视觉任务的要求。

空间 MLP 相比,通道 MLP 不仅可以有效地降低计算复杂度,还可以满足通用视觉任务的要求。最后,两个模块都实现了通道缩放、DropPath 和残差连接操作。

Learnable Visual Center (LVC)

LVC 是一个具有内在字典的编码器,由一个固有的码本(B={b1,b2,…,bK},其中N=H×W是输入特征的总空间数,其中H和W分别表示特征图的高度和宽度的空间大小)和一组可学习的视觉中心比例因子(S={s1,s2,…,sK})组成。

LVC 的处理过程包括两个主要步骤:

  1. 使用一组卷积层对输入特征进行编码,并使用 CBR 块进行进一步处理;

  2. 将编码后的特征通过一组可学习的比例因子与固有码本相结合。

  3. 为此,我们使用一组比例因子s按照顺序地使xi和bk映射相应的位置信息。整个图像中关于第k个码字的信息可以通过以下方式计算(可以看成一个softmax的值当作权重因子):
    在这里插入图片描述

    其中,xi是第i个像素点,bk是第k个可学习的视觉码字,sk是第k种比例因子也是设置的可学习的参数。 xi− bk是关于相对于码字的每个像素位置的信息。K是视觉中心的总数。

之后使用一个完全连接层和一个 1×1 卷积层来预测突出的关键类特征。最后,将来自 Stem 块 X i n _{in} in的输入特征和比例因子系数的局部角区域特征进行通道乘法通道加法

Global Centralized Regulation (GCR)

因为EVC计算的是特征层内部的关系,对每个层计算EVC是一笔不小的开销,所以作者使用全局集中特征规范 Global Centralized Regulation (GCR) 在整个特征金字塔上实现跨层特征规范化。

实现:将深层特征上采样到与低层特征相同的空间尺度,然后沿通道维度进行拼接,将拼接后的特征通过 1×1 卷积降采样到 256 个通道。

实验结果

在这里插入图片描述

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

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

相关文章

【论文精读】PlanT: Explainable Planning Transformers via Object-Level Representations

1 基本信息 院校:德国的图宾根大学 网站:https://www.katrinrenz.de/plant 2 论文背景 2.1 现有问题 现在的基于学习的方法使用高精地图和BEV,认为准确的(达到像素级的pixel-level)场景理解是鲁棒的输出的关键。re…

Java自学第1课:安装JDK+Eclipse

1 引言 在学习前,我想说一句,那就是为什么要学习Java。 每个人的出发点都不同,对于做信息化的工程技术人员来说,java不懂,就没法干项目。 尽管有c和matlab等基础,但java看起来与这些语言都不太一样。 做…

【从0到1设计一个网关】基于Hystrix实现熔断降级

文章目录 依赖引入服务降级效果演示上文我们已经成功实现了请求重试与请求限流,接下来我们开始实现熔断与服务降级。 熔断与服务降级,在SpringCloud中设计到的就是我们的hystrix,这里我们也将会考虑配合hystrix来实现熔断与服务降级。 如果不了解hystix的可以先进行一下了解…

LeetCode 面试题 16.16. 部分排序

文章目录 一、题目二、C# 题解 一、题目 给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。注意:n-m尽量最小,也就是说,找出符合条件的最短序…

基于单片机的智能饮水机系统

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、系统设计方案分析2.1 设计功能及性能分析2.2设计方案分析 二、系统的硬件设计3.1 系统设计框图系统软件设计4.1 总体介绍原理图 四、 结论 概要 现在很多学校以及家庭使用的饮水机的功能都是比较单一的&#…

【JavaScript】事件监听、事件委托和回调函数

1. 事件监听 on 方法:box.onclick function(){},但是这种方式会被覆盖,直接使用null覆盖偶就可以实现事件的解绑。 addEventListener 是 DOM 对象专门用来添加事件监听的方法,它的前两个参数分别为【事件类型】和【事件回调】&…

MySQL InnoDB数据存储结构

1. 数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读…

第四次pta认证P测试

第一题 试题编号: 试题名称:整数排序 时间限制: 1.0s 内存限制: 128.0MB 【问题描述】 老师给定 10 个整数的序列,要求对其重新排序。排序要求: 1.奇数在前,偶数在后; 2.奇数按从大到小排序&am…

分享68个工作总结PPT,总有一款适合您

分享68个工作总结PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/1juus0gmesBFxJ-5KZgSMdQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付…

C语言----每日五道选择题Day1

1.第一题 1、指出下列代码的缺陷&#xff08; &#xff09;【多选】 float f[10]; // 假设这里有对f进行初始化的代码 for(int i 0; i < 10;) {if(f[i] 0)break; } A: for(int i 0; i < 10;)这一行写错了 B: f是float型数据直接做相等判断有风险 C: f[i]应该是…

[MICROSAR Adaptive] --- autosar官方文档阅读建议

目前互联网上没有太多的 Adaptive AUTOSAR 的学习资料,官方文档是一个很不错的途径。看过官方文档才发现,目前很多关于 Adaptive AUTOSAR 的文章都是官方文档的简化翻译,不如直接看官方文档更全面深入。 1 Adaptive AUTOSAR 文档官方下载地址 https://www.autosar.org/sta…

微信小程序:实现多个按钮提交表单

效果 核心步骤 通过data-type给不同按钮进行设置&#xff0c;便于很好的区分不同按钮执行不同功能 data-type"" 完整代码 wxml <form action"" bindsubmit"formSubmit"><button style"margin-bottom:5%" data-type"pa…

SpringBoot 多组 Kafka 配置

SpringBoot 多组 Kafka 配置 单组 Kafka 配置 时隔多日&#xff0c;冒个泡吧。 场景 是 我在日常的开发过程中需要监听 kafka 的消息进行回调处理&#xff0c;但是呢&#xff0c;不同的三方服务他们用了不同的 kafka 集群&#xff0c;那么默认的 Spring 自动读取的 kafka 配…

[黑马程序员SpringBoot2]——运维实用篇

目录&#xff1a; 工程打包与运行打包插件Boot工程快速启动&#xff08;Linux版本&#xff09;临时属性配置文件4级分类自定义配置文件多环境开发(yaml版)多环境开发多文件版&#xff08;yaml版&#xff09;多环境开发多文件版&#xff08;properties版&#xff09;多环境分组…

vue如何实现视频全屏切换

最近项目开发中遇到一个视频窗口全屏切换功能&#xff0c;为此在这里做个记录。 具体的实现思路&#xff1a; <template><div class"content-box"><div class"container"><div id"screen" class"screen"><…

难题来了:分库分表后,查询太慢了,如何优化?

说在前面&#xff1a; 尼恩社群中&#xff0c;很多小伙伴反馈&#xff0c; Sharding-JDBC 分页查询的速度超级慢&#xff0c; 怎么处理&#xff1f; 反馈这个问题的小伙伴&#xff0c;很多很多。 而且这个问题&#xff0c;也是面试的核心难题。前段时间&#xff0c;有小伙伴…

MySQL数据库干货_13—— MySQL查询数据

MySQL查询数据 SELECT基本查询 SELECT语句的功能 SELECT 语句从数据库中返回信息。使用一个 SELECT 语句&#xff0c;可以做下面的事&#xff1a; 列选择&#xff1a;能够使用 SELECT 语句的列选择功能选择表中的列&#xff0c;这些列是想 要用查询返回的。当查询时&#xf…

vue-render函数的三个参数

第一个参数(必须) - {String | Object | Function} Vue.component(elem, {render: function(createElement) {return createElement(div);//一个HTML标签字符/*return createElement({template: <div></div>//组件选项对象});*//*var func function() {return {t…

使用electron ipcRenderer接收通信消息多次触发

使用electron ipcRenderer接收通信消息多次触发 在使用electron ipcRenderer.on接收ipcRenderer.send的返回值时&#xff0c;ipcRenderer.send发送一次信息&#xff0c; ipcRenderer.on会打印多个日志&#xff0c; renderer.once(get-file-path, (event: any, paths: any) &g…

商用车自动驾驶进入「拐点」时刻

对于自动驾驶的商业化落地来说&#xff0c;这个「性感」的赛道一直备受争议。在过去几年&#xff0c;包括港口、矿山等在内的封闭场景进入商业订单的收获期&#xff1b;但类似干线物流这样的半开放式场景&#xff0c;却喜忧参半。 今年初&#xff0c;作为全球自动驾驶领域的技…