论文精读:EfficientDet: Scalable and Efficient Object Detection

news2024/11/17 18:21:09

Abstract

        首先,本篇论文提出了一种加权双向特征金字塔网络(BiFPN),进行简单、快速的多尺度特征融合;其次,作者提出了一种复合尺度方法,同时统一调整所有主干、特征网络和box/类别预测网络的分辨率、深度和宽度。基于这些优化和更好的骨干,提出了一个目标检测算法称为Effificientdet.

1. Introduction

        目标检测算法有两个挑战:

        挑战1:高效的多尺度特征融合——FPN、PANet [26]、NAS-FPN [10]等研究在融合不同的输入特征时,只做了简单的融合,各部分特征对输出特征的贡献相等;然而,由于这些不同的输入特征具有不同的分辨率,他们对输出特征的重要性很可能是不同的。为了解决这一问题,作者提出了一种简单而高效的加权双向特征金字塔网络(BiFPN),该网络在重复应用自顶向下和自下向上的多尺度特征融合的同时,引入可学习权值来学习不同输入特征的重要性。

          挑战2:模型缩放——虽然以前的工作主要依赖于更大的主干网络[24,35,34,10]或更大的输入图像尺寸[13,45]来获得更高的精度,但作者观察到,当考虑到精度和效率时,扩展特征网络和box/类预测网络也是至关重要的。作者提出了一种用于对象检测器的复合缩放方法,该方法联合扩展了所有主干、特征网络、box/类预测网络的分辨率/深度/宽度。

        主干,即在backbone部分进行缩放,特征网络,即在neck(特征金字塔)进行缩放,box/类预测网络即对预测head也进行缩放

3. BiFPN

         传统的自上而下的FPN在本质上受到单向信息流的限制。为了解决这个问题,PANet [26]添加了一个额外的自底向上的路径聚合网络。最近,NAS-FPN [10]采用神经结构搜索来搜索更好的跨尺度特征网络拓扑,但在搜索过程中需要数千小时的GPU,发现的网络不规则,难以解释或修改,如图2(c).所示。BiFPN做了两个方面的改进:(1)PANet进行特征融合时,是通过Concat的,一般高层和低层的特征贡献程度相同,BiFPN在特征融合时,通过一组可学习的归一化权重参数调整各层贡献程度。(2)BiFPN堆叠多层实现更高维度的特征融合。

不同特征金字塔效果对比,这里,我们注意到,BiFPN与PANet构建上都是两条路径,但是PANet参数量更大,这是由于,作者为了保持参数量,在PANet前面使用了FPN的堆叠。 

 

 3.3. Weighted Feature Fusion

        在权重上,作者使用标量权重,然而,由于标量权值是无界的,它可能会导致训练的不稳定性。因此,采用权重归一化来约束每个权重的值范围。 

        在权重归一化上,采用Softmax降低了推理速度,因此,作者采用简单的归一化操作:

level的BiFPN特征融合示例: 

         

 4. EffificientDet

         EffificientDet在backbone、BiFPN、Box/class prediction network 均进行缩放,

Backbone network

        使用EffificientNet-B0 to B6

BiFPN network 

        作者线性增加BiFPN深度(#层),因为深度需要四舍五入到小整数。对于BiFPN宽度(#通道),BiFPN宽度(#通道)呈指数增长,具体来说,选择最佳值1.35作为BiFPN宽度缩放因子。在形式上,BiFPN的宽度和深度按以下公式进行缩放: 

Box/class prediction network

        将它们的宽度始终与BiFPN相同,但使用公式线性增加深度(#层): 

Input image resolution

        使用方程线性增加分辨率:

 

 

5. Experiments  

5.1. EffificientDet for Object Detection          

 5.2. EffificientDet for Semantic Segmentation

         

6. Ablation Study  

6.1. Disentangling Backbone and BiFPN          

        EffificientNet骨干和BiFPN对最终的最终模型都至关重要。 

6.2. BiFPN Cross-Scale Connections  

        BiFPN实现了与repeated FPN+PANet相似的精度,但使用更少的参数和计算量。通过附加的加权特征融合,BiFPN进一步以更少的参数和计算量实现了最好的精度。 

6.3. Softmax vs Fast Normalized Fusion 

        快速归一化融合方法实现了与基于softmax的融合相似的精度,但在gpu上运行速度快1.26x-1.31倍。

 

归一化的权值在训练过程中变化迅速,这表明不同的特征对特征融合的贡献不相等。尽管有快速的变化,快速归一化融合方法对所有三个节点总是显示出与基于softmax的融合非常相似的学习行为。 

 

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

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

相关文章

kali linux的安装教程

kali linux的安装教程 在网上输入网址https://www.kali.org/get-kali/#kali-virtual-machines。 向下滚动鼠标滑轮选择如下图所示的图标进行安装iso镜像文件。 我们打开虚拟机,选择创建新的虚拟机 选择其中的自定义,随即点击下一步 点击下一步 点击下一步…

uboot通过bootargs传递内核中的模块传递参数

前言 bootargs是uboot向内核传递参数时使用的,本次我们要验证的是bootargs向内核启动后加载的模块传递的参数,真正的跨过山和大海。跟着我的脚步,来一次bootargs之旅。 这是一个综合性,系统性很强的实例验证,要做这个…

模式识别-期末复习题(问题集锦)

1.什么是模式?监督模式识别和非监督模式识别的典型过程分别是什么? 模式:指需要识别且可测量的对象的描述 监督模式识别:分析问题→原始特征提取→特征提取与选择→分类器设计 非监督模式识别:分析问题→原始特征提…

C++ Reference: Standard C++ Library reference: Containers: map: map: insert

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/insert/ 公有成员函数 <map> std::map::insert C98 single element (1) pair<iterator,bool> insert (const value_type& val); with hint (2) iterator insert (iterator positio…

【密码学】MD5、UUID,加盐,JWT的理解与使用范例

文章目录MD5加密&#xff1a;1、MD5加密安全访问认证示例代码&#xff1a;2、UUID简介&#xff1a;使用&#xff1a;3、加盐原理&#xff1a;示例代码&#xff1a;4、jwt认知&#xff1a;JWT 结构&#xff1a;范例代码&#xff1a;MD5加密&#xff1a; 1、MD5加密 Message Di…

计算机毕业设计springboot+vue基本微信小程序的疫情防控平台系统

项目介绍 当今社会疫情防控平台是必不可少的,大家都在听从政府的号召在居家隔离,不管是在城市还是在乡镇、农村,这引起我的注目,设计一套社区疫情防控系统,疫情防控需要大家共同努力、团结对社区居民进行了新型冠状病毒肺炎防控知识普及和宣传教育。针对这一需求,本文设计并实现…

LVS详细介绍,这么讲不信你不明白负载均衡

Linux virtual server&#xff0c;是一个基于集群技术和Linux操作系统&#xff0c;目的是实现一个高性能、高可用的服务器&#xff0c;主要工作在网络层。 他采取IP负载均衡&#xff0c;也叫三层负载均衡&#xff08;因为工作在OSI模型的第三层--网络层&#xff09;&#xff0…

java计算机毕业设计springboot+vue旅游攻略平台

项目介绍 目前,我国旅游业正处于高度发展的状态。越来越多的人在假日里选择出游作为放松自己身心的手段。随着网络的普及和发展,人们开始习惯性地在做某事之前先在网络上浏览相关的内容。旅游网站能够帮助游客了解景点相关信息,推出相应的线路信息供游客们选择,并查看相应的旅…

计算机网络实验——路由器的配置静态与RIP配置

前言 由于几个资料和老师给的ppt说的都不清楚&#xff0c;自己也没想到什么很巧妙的归纳方法&#xff0c;写个总结记录一下。 想必静态路由配置的过程中唯一的难点就是ip route这个指令&#xff0c;其他的什么添加接口&#xff0c;设置ip啥的都是基础路由配置中的内容&#xf…

2023春招面试专题:JAVA基础高频面试

ArrayList和LinkedList有哪些区别 ArrayList扩容机制: ArrayList() 会使用长度为零的数组ArrayList(int initialCapacity) 会使用指定容量的数组public ArrayList(Collection<? extends E> c) 会使用 c 的大小作为数组容量add(Object o) 首次扩容为 10&#xff0c;再次…

3D激光里程计其一:ICP

这里写目录标题1. ICP 整体流程2. ICP 的数学表示3. 基于 SVD 的 ICP3.1 旋转部分求解3.2 平移部分求解4. 基于优化的 ICP5. ICP 系列汇总Reference: 深蓝学院-多传感器融合 1. ICP 整体流程 目的&#xff1a;有两个相似的刚体点云&#xff0c;它们之间没有做好配准&#xff…

Golang原理分析:闭包及for range延迟绑定问题原理及解决

1.Golang中的闭包 1.1.什么是闭包 当一个函数引用了环境的变量&#xff0c;被引用的变量与该函数同时存在组成的系统&#xff0c;被称为闭包。 闭包 环境的变量 函数。 以下JavaScript代码展示了一个基础的闭包&#xff1a; name是init函数中的内部变量displayName()是i…

机器学习 鸢尾花(Iris Flower)数据集分析

目录 一&#xff1a;加载数据 二&#xff1a;提取特征数据 三&#xff1a;提取标签数据 四&#xff1a;数据划分 一&#xff1a;加载数据 加载数据&#xff0c;查看数据特征 from sklearn.datasets import load_iris# 1 加载数据 鸢尾花load_iris iris_datasets load_iri…

数据校验及在数据校验的情况下增加headers拿回数据

什么是数据校验&#xff1a; 当你向一个数据端口请求数据时&#xff0c;如果这个数据端口没有设置&#xff1a;Access-Control-Allow-Origin&#xff1a;*&#xff0c;那就是存在跨域限制了&#xff0c;你是拿不回来数据的。图示&#xff1a; 但是有些数据端口是设置了 Access…

【JS ES6】了解学习set类型和weakset类型

✍️ 作者简介: 前端新手学习中。 &#x1f482; 作者主页: 作者主页查看更多前端教学 &#x1f393; 专栏分享&#xff1a;css重难点教学 Node.js教学 从头开始学习 ajax学习 目录set类型与array和object的区别set元素检测与管理类型转换的重要性遍历set类型的方式使用set…

Spring - 事件监听机制 源码解析

文章目录Pre概述ApplicationEvent ------ 事件ApplicationListener ------ 事件监听器ApplicationEventPublisher ------ 事件发布者ApplicationEventMulticaster ------ 事件广播器spring主要的内置事件ContextRefreshedEventContextStartedEventContextStoppedEventContextCl…

设计模式概述之单例模式(四)

很多小伙伴&#xff0c;不知道设计模式是什么&#xff1f; 通常我们所说的设计模式是一种设计方案&#xff0c;是前人留下的经验及最佳实践。 想要学习设计模式&#xff0c;至少要把面向对象的基本结构全部了解。 设计模式&#xff0c;是建立在一定基础上的思维训练。 学习…

喜报 | 中关村发来贺电

2022年12月14日&#xff0c;由中关村金融科技产业发展联盟、中关村互联网金融研究院举办的“中关村金融科技系列活动——2023第十届中关村金融科技论坛年会暨2022“光大杯”中关村番钛客金融科技国际创新大赛颁奖典礼”已圆满落幕。本次会议为建设金融科技中心&#xff0c;共建…

【Pintos】实现自定义 UserProg 系统调用

&#x1f4ad; 写在前面&#xff1a;本文讲解的内容不属于 Pintos 的 Project 项目&#xff0c;而是关于 userprog 如何添加系统调用的&#xff0c;学习如何额外实现一些功能到系统调用中以供用户使用。因为涉及到 src/example 下的Makefile 的修改、lib 目录下 syscall-nr 系统…

搜索二叉树详解

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位大佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 文章目录一、搜索二叉树框架二、搜索二叉树概念三、搜索二叉树操作①Erase②Find递归③Insert递归④Erase递归&#xff0c;比Erase更简洁⑤析构函数⑥…