【Feature Pyramid Networks for Object Detection】

Feature Pyramid Networks for Object Detection

    • 摘要
    • 引言
    • 2 相关工作
    • 3 FPN
    • 4 应用

摘要

特征金字塔是识别系统中用于检测不同尺度对象的基本组件。但是,最近的深度学习对象检测器已经避免了金字塔表示,部分原因是它们在计算和内存方面都很密集。在这篇论文中,我们利用深度卷积网络的固有多尺度、金字塔层次结构来构建特征金字塔,额外的成本几乎可以忽略不计。我们开发了一种自顶向下的架构,通过横向连接来构建所有尺度的高级语义特征图。这种架构被称为特征金字塔网络(FPN),在多个应用中作为通用特征提取器显示出显著的改进。在基本的Faster R-CNN系统中使用FPN,我们的方法在COCO检测基准上实现了最先进的单模型结果,无需任何额外的技巧,超过了所有现有的单模型条目,包括COCO 2016挑战赛的获胜者。此外,我们的方法可以在GPU上以6 FPS的速度运行,因此是一种实用且准确的多尺度对象检测解决方案。代码将公开提供。

引言

识别不同尺度的物体是计算机视觉中的一个基本挑战。基于图像金字塔构建的特征金字塔(简称为特征化图像金字塔)构成了一种标准解决方案的基础【1】(图1(a))。这些金字塔在某种意义上是尺度不变的,因为物体的尺度变化可以通过在金字塔中移动其层级来抵消。直观上,这一特性使得模型能够通过在不同位置和金字塔层级上扫描,检测出各种尺度范围内的物体。

在手工设计特征的时代,特征化图像金字塔被广泛使用【5,25】。它们是如此关键,以至于像DPM【7】这样的目标检测器需要密集的尺度采样(例如,每个倍频有10个尺度)才能取得良好的效果。在识别任务中,手工设计的特征已经很大程度上被深度卷积网络(ConvNets)计算的特征所取代【19,20】。除了能够表示更高级别的语义外,ConvNets还对尺度变化更具鲁棒性,从而有助于通过单一输入尺度的特征进行识别【15,11,29】(图1(b))。但即便具备这种鲁棒性,金字塔仍然是获得最准确结果所必需的。在最近的ImageNet【33】和COCO【21】检测挑战中,所有顶尖的参赛作品都使用了特征化图像金字塔的多尺度测试(例如【16,35】)。对图像金字塔的每一层进行特征化的主要优势在于,它生成了一个多尺度特征表示,其中所有层级都具有较强的语义,包括高分辨率层级。
在这里插入图片描述
图1. (a) 使用图像金字塔构建特征金字塔。特征是在每个图像尺度上独立计算的,这样做速度较慢。(b) 近期的检测系统选择仅使用单一尺度特征进行快速检测。© 另一种方法是重用ConvNet计算出的金字塔特征层级,将其视为特征化的图像金字塔。(d) 我们提出的特征金字塔网络(FPN)与(b)和©一样快速,但更加准确。在此图中,特征图由蓝色轮廓表示,较粗的轮廓表示语义上更强的特征。

尽管如此,对图像金字塔的每一层进行特征化仍然存在明显的局限性。推理时间显著增加(例如,增加四倍【11】),这使得这种方法在实际应用中变得不切实际。此外,在图像金字塔上端到端训练深度网络在内存方面也是不可行的,因此如果使用图像金字塔,它们只在测试时使用【15,11,16,35】,这在训练和测试时间推理之间造成了不一致性。出于这些原因,Fast R-CNN和Faster R-CNN【11,29】在默认设置下选择不使用特征化图像金字塔。

然而,图像金字塔并不是计算多尺度特征表示的唯一方法。深度卷积网络(ConvNet)逐层计算特征层次结构,随着子采样层的引入,特征层次结构具有固有的多尺度、金字塔形状。这种网络内部的特征层次结构生成了不同空间分辨率的特征图,但由于深度不同而引入了巨大的语义差异。高分辨率特征图具有低级特征,这些特征会削弱其在目标识别中的表示能力。

单次检测器 (SSD) [22] 是首次尝试将卷积网络(ConvNet)的金字塔特征层次结构视为特征化图像金字塔的工作之一(图1©)。理想情况下,SSD风格的金字塔将重用在前

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

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

相关文章

Java面试题:聚簇索引和非聚簇索引

聚簇索引和非聚簇索引 聚簇索引(聚集索引) 将数据的存储和索引放在一块,索引结构的叶子节点保存了行数据 索引字段必须存在,且只能存在一个 非聚集索引(二级索引) 将数据和索引分开存储,索引结构的叶子节点关联的是对应的主键 索引字段可以存在多个 索引的选取规则 如果…

豆瓣高分项目管理书籍推荐

📬豆瓣网站上有很多项目管理领域的书籍获得了较高的评分,以下是一些高分项目管理书籍的精选列表,发出来跟大家分享一下: 《项目管理知识体系指南(PMBOK指南)》 【内容简介】这本书是美国项目管理协会&…

onnx模型修改:去掉Dropout层

文章目录 尝试1:强行设置dropout层train mode为False尝试2:找到onnx模型中的dropout, train mode设置为False尝试3:直接删除dropout层,连接其输入输出结语 最近训练模型使用了tinyvit,性能挺强的: 但是导出…

超细毛搭配超宽设计,一款更呵护牙龈的牙刷

牙龈敏感的时候,刷牙特别难受,最近试了试惠百施(EBISU)65孔宽头软毛牙刷,感觉它的口腔护理体验很不错。这款牙刷的设计独特,采用宽头设计,一次就能刷两排牙齿,极大地提高了清洁效率。…

RS232自由转Profinet协议网关模块连接1200PLC与扫码枪通讯及手动清零案例

一、RS232和Profinet这两种通讯接口的特点和应用场景: RS232是一种串行通讯接口标准,常用于连接计算机和外部设备,传输速率较低但稳定可靠。Profinet则是一种工业以太网通讯协议,具有高速、实时性强的特点,适用于工业…

【C语言】解决C语言报错:Dangling Pointer

文章目录 简介什么是Dangling PointerDangling Pointer的常见原因如何检测和调试Dangling Pointer解决Dangling Pointer的最佳实践详细实例解析示例1:释放内存后未将指针置为NULL示例2:返回指向局部变量的指针示例3:指针悬空后继续使用示例4&…

自编码器笔记

编码器解码器自编码器 先压缩特征,再通过特征还原。 判断还原的和原来的是否相等 encode data 在一个“潜在空间”里。它的用途是“深度学习”的核心-学习数据的特征并简化数据表示形式以寻找模式。 变分自编码器: 1. 首先、假设输入数据是符合正态分布…

【SQL Server点滴积累】Setup SQL Server 2008 Database Mirror (二)

【SQL Server点滴积累】Setup SQL Server 2008 Database Mirror (一)-CSDN博客今天分享SQL Server 2008 R2搭建数据库镜像(Database Mirror)https://blog.csdn.net/ncutyb123/article/details/139749117?spm1001.2014.3001.5501本篇Blog基于以上Blog步骤进行SQL Server 2008 R…

python03——文件操作(new)

“变量”open(‘文件路径’,‘模式’) //注意加引号 “变量”.write( ) //write函数是写的是字符串,如果你写的东西不是字符串,要写成write(str(。。)) “变量”.read…

vue3学习教程第四十节(pinia的用法注意事项解构store)

pinia 主要包括以下五部分,经常用到的是 store、state、getters、actions 以下使用说明,注意事项,仅限于 vue3 setup 语法糖中使用,若使用选项式 API 请直接查看官方文档: 一、前言: pinia 是为了探索 vu…

力扣算法-9.回文数

9.回文数 个人思考 首先从示例2可以看出符号也算在整数这个整体内,可以先判断整数若为负数则返回false其次很容易就会想到遍历两次,从头以及从尾,遍历得到的结果相比较,相同则为回文数 public class Alee9 {public static void …

【linux基础】后台执行命令,防止中断nohup

前台运行与后台运行:前台运行,就是运行过程一直在屏幕输出。 目的:1. 提交至后台 & 2.防止中断 nohup 1.终端上不要有大量的log出现,后台运行 (1) & 程序后台运行 #脚本、修改权限 vi test.sh chmod 777 test.sh#后…

ArcGIS Pro SDK (三)Addin控件 3 事件功能类

22 ArcGIS Pro 放置处理程序 目录 22 ArcGIS Pro 放置处理程序22.1 添加控件22.2 Code 23 ArcGIS Pro 构造工具23.1 添加控件23.2 Code 24 ArcGIS Pro 表构造工具24.1 添加控件24.2 Code 22.1 添加控件 22.2 Code 放置处理程序可以实现文件拖动放置、TreeVIew、ListBox等控件拖…

ArcGIS批量设置多图层的三调地类符号

​​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 01需求说明 这次我们要实现的是将多个地类图层批量符号化。比如将多个三调地类图斑批量符号化。 ​ 有什么好方法呢 ? 我们可以将一个图层利用三调符号库进行…

Stable Diffusion 3 正式开源,超强文生图模型 SD3-M 上线,赶紧来试试吧!

前言 我们都知道 Stable Diffusion 3 是一款强大的文生图模型,拥有20亿参数,因其高效的推理速度和卓越的生成效果而备受瞩目。 近日,Stability AI在推特上宣布正式开源了 Stable Diffusion 3 Medium(SD3-M) 权重&…

Dooprime外汇:如何高效规划家庭理财?从哪里开始?

摘要: 家庭理财是每个家庭都必须面对的重要课题。合理的理财规划不仅能提高家庭的生活质量,还能为未来的生活提供保障。然而,许多人在面对复杂的理财选项和信息时感到无从下手。本文将从不同角度详细分析如何进行高效的家庭理财规划&#xf…

【Playwright+Python】手把手带你写一个自动化测试脚本

如何使用代理方式打开网页 在 playwright.chromium.launch() 中传入 proxy 参数即可,示例代码如下: 1、同步写法: from playwright.sync_api import sync_playwrightproxy {server: http:/127.0.0.1:8080}def run():with sync_playwright(…

Kafka精要

Apach Kafka 是一款分布式流处理框架,用于实时构建流处理应用。它有一个核心 的功能广为人知,即 作为企业级的消息引擎被广泛使用 kafka设计 Kafka 将消息以 topic 为单位进行归纳 将向 Kafka topic 发布消息的程序成为 producers. 将预订 topics 并消…

Linux内核开发-编写一个proc文件

0.前言 上一章(点击返回上一章)完成了一个内核模块的编写,实现了在内核运行时的动态加载和卸载。 在模块的开发调测过程中或者模块运行过程中,可能需要打印内核模块的变量的值或者想要动态开关模块的运行日志打印,那么…

小盒子跑大模型!基于算能BM1684X+FPGA平台实现大模型私有化部署

当前,在人工智能领域,大模型在丰富人工智能应用场景中扮演着重要的角色,经过不断的探索,大模型进入到落地的阶段。而大模型在落地过程中面临两大关键难题:对庞大计算资源的需求和对数据隐私与安全的考量。为应对这些挑…