CV——day79 读论文:基于小目标检测的扩展特征金字塔网络
Extended Feature Pyramid Network for Small Object Detection
- I. INTRODUCTION
- II. RELATED WORK
- A. 深层物体探测器
- B. 跨尺度特征
- C. 目标检测中的超分辨率
- III. OUR APPROACH
- A. 扩展特征金字塔网络
- B. 特征纹理传输
- C. 交叉分辨蒸馏
- IV. EXPERIMENTS
- A. Experimental Settings
- 1)benchmarkdataset
- V. CONCLUSION
数据集:小的交通标志数据集清华腾讯100 K;小类别的通用目标检测数据集MS COCO
I. INTRODUCTION
设计了一种新的特征纹理传输模块(feature texture transfer, FTT),同时用于超分辨特征和提取可信的区域细节。
特征金字塔网络(Feature pyramid network, FPN)是第一个通过融合不同层次的特征并构造特征金字塔来增强特征的方法,上面的特征映射负责较大的目标检测,下面的特征映射负责较小的目标检测。
FPN探测器中金字塔级和提议大小之间的启发式映射机制可能会混淆小目标的检测。如图1(a)所示,小型对象必须与中型对象和一些大型对象共享相同的特征图,而大型对象等简单情况下可以从合适的级别选取特征。

此外,如图1(b)所示,随着目标尺度的减小,FPN底层的检测精度和召回率急剧下降。图1表明,在普通FPN探测器中,跨尺度的特征耦合仍然降低了小目标检测的能力。

II. RELATED WORK
A. 深层物体探测器
A. Deep Object Detectors
一般的检测器倾向于更多地关注于提高更容易的大型实例的性能,因为一般的对象检测的度量是所有尺度的平均精度。专门用于小物体的探测器仍然需要更多的探索。
B. 跨尺度特征
B. Cross-Scale Features
利用跨尺度特征是缓解物体尺度变化问题的有效途径。虽然这些FPN变体提高了多尺度目标检测的性能,但它们仍然使用与原始FPN相同的层数。但是这些层并不适合小目标的检测,导致小目标的性能仍然很差。
C. 目标检测中的超分辨率
C. Super-Resolution in Object Detection
在一些特定的情况下,如卫星图像和拥挤的小人脸图像,存在极小的物体时,采用图像级SR(Super-Resolution)。最新的基于参考图像的SR方法、可以增强参考图像的纹理或内容。在此启发下,我们在参考和扩展FPN的基础上,设计了一种新的超分辨特征模块,从而生成更适合小目标检测的细节可信的特征。
III. OUR APPROACH
由于不同尺度的特征耦合以及金字塔级与目标大小之间的不恰当映射会降低检测器的性能,我们提出了一种扩展特征金字塔网络(EFPN)来解耦不同大小目标的检测,并为小目标分配更合适的特征级别。
首先,我们构建了一个扩展的特征金字塔,它是专门针对小目标的,在底部有一个高分辨率的特征图。由于该层具有丰富的区域信息,因此将小对象分配给该层。为了加强扩展层,我们设计了一种新的特征纹理转移(feature texture transfer, FTT)模块来生成扩展特征金字塔的中间特征。此外,我们采用交叉分辨率蒸馏,其中提出了一个新的前景-背景-平衡损失函数,以进一步加强正像素的学习。第三- a节和第三- b节阐述了EFPN网络和FTT模块的流水线,第三- c节阐述了我们的交叉分辨率精馏设计。
A. 扩展特征金字塔网络
A. Extended Feature Pyramid Network
Vanilla FPN通过对CNN的高层特征图进行上采样,并通过横向连接将其与低层特征图融合,构建4层特征金字塔。我们提出了EFPN,将传统的特征金字塔扩展到一个新的层次,以解决小目标检测和更多区域细节的问题。


扩展特征金字塔网络(EFPN)框架。其中Ci表示CNN结构第i阶段的特征图,Pi表示EFPN/FPN上对应的金字塔级。(b)中C2和C2之间的虚线表示C2和C2在第二段主干上平行,语义信息相似。EFPN的前4层为vanilla FPN层。Feature texture transfer (FTT)模块集成了P3的语义内容和P2的区域纹理。然后,一个类似fpn的自顶向下路径将FTT模块输出向下传递,形成最终的扩展金字塔级p2。扩展后的特征金字塔(P2‘, P2,P3,P4,P5)将被送入下面的检测器进行进一步的目标定位和分类。
- 如表I所示,C2与原来的C2具有相同的表示级别,但由于其更高的分辨率,包含了更多的区域细节。c2较小的接受区域也有助于更好地定位小物体。在数学上,提出的EFPN中扩展的运算可以描述为

B. 特征纹理传输
B. Feature Texture Transfer
我们设计了FTT模块,在超分辨特征的同时,从参考特征中提取区域纹理。所提出的FTT输出综合了高分辨率参考特征的强语义和低分辨率参考特征的关键局部细节,但剔除了参考特征中的干扰噪声。

如图3所示,FTT模块的主要输入是来自EFPN第三层的feature map P3,参考是来自EFPN第四层的feature map P2。
在参考流中,参考特征P2和超分辨内容特征P3的包装被提供给纹理提取器。纹理提取器的目标是提取出用于小目标检测的可信纹理,并从包装中屏蔽无用的噪声。
最后,纹理和内容元素的添加确保输出集成了输入和引用的语义和区域信息。因此,特征图P3’具有从浅层特征参考P2中选取的可靠纹理,以及从深层特征参考P3中选取的相似语义。
C. 交叉分辨蒸馏
C. Cross Resolution Distillation

使用更高分辨率的输入是提高小目标检测性能的有效方法,如图5所示;然而,检测性能在一定规模时饱和,多尺度测试带来的额外的大量计算资源和运行时间在实际应用中难以承受。为此,我们提出了一种称为交叉分辨率蒸馏的机制,该机制将高分辨率输入的特征作为监督信号引入。
如图4所示:利用2×规模输入的FPN中间层来指导1×-scale输入的学生模型EFPN的训练。为了节省GPU内存,教师模型FPN和学生模型EFPN从EFPN的前4层选取相同的参数权重。
常见的全局LOSS会导致对小目标区域的学习不足,因为小目标只占整个图像的一小部分。前景-背景均衡损失函数通过两个部分来提高背景和前景的特征质量:
1)全局重建损失。global reconstruction loss
**2)正补丁损失。**positive patch loss
将前景-背景-平衡损失函数L_{fbb}定义为:
Lfbb(F,Ft)=Lglob(F,Ft)+λLpos(F,Ft)(8)L_{fbb}(F,F^t)= L_{glob}(F,F^t)+ λL_{pos}(F,F^t) (8) Lfbb(F,Ft)=Lglob(F,Ft)+λLpos(F,Ft)(8)
λ是一个权重平衡因子。平衡损失函数通过提高前景区域的特征质量来挖掘真阳性,通过提高背景区域的特征质量来消除假阳性。
IV. EXPERIMENTS
A. Experimental Settings
1)benchmarkdataset
我们在两个基准上测试了我们的方法,包括用于小物体的交通标志检测场景和一般检测场景。我们将我们的方法与基线和两个场景的其他现状相比较。
- Tsinghua-Tencent 100 K :是用于交通标志检测和分类的数据集。它包含10万张高分辨率(2400 × 2400)图像,以及3万个交通标志实例。重要的是,在测试集中,92%的实例覆盖的区域小于整个图像的0.2%。清华-腾讯100k中绝大多数的小物体使其成为小物体检测的优秀基准。
- Microsoft COCO(MS COCO):它由三个子集组成:包含118 k张图片的列子集,包含5 k张图片的val子集,以及包含20k张图片的测试-开发子集。对象检测在MS COCO面临三个挑战:(1)小对象:约65%的实例的大小小于图像大小的6%。(2)单个图像比其他类似数据集有更多的实例(3)不同光照和不同形状的物体。
V. CONCLUSION
在本文中,我们提出了一种扩展的金字塔网络来解决小目标检测的问题,它是由类似fpn的框架生成一个专门针对小目标的层。在类fpn框架中嵌入一种新的特征纹理传递模块,通过基于参考的特征级SR有效地捕获扩展金字塔级的更多区域细节。此外,我们引入交叉分辨率蒸馏机制来提高SR特征的质量,其中我们设计了前景-背景-平衡的训练损耗来缓解前景和背景的区域不平衡。在各种数据集上的最新性能表明了EFPN在小目标检测方面的优越性。
EFPN可以与各种探测器、各种骨干相结合来加强小目标检测,也就是说,EFPN可以转移到更具体的小目标检测情况,如人脸检测或卫星图像检测。在未来的工作中,我们希望探索EFPN在更多领域的实际应用
相关文章:
CV——day79 读论文:基于小目标检测的扩展特征金字塔网络
Extended Feature Pyramid Network for Small Object DetectionI. INTRODUCTIONII. RELATED WORKA. 深层物体探测器B. 跨尺度特征C. 目标检测中的超分辨率III. OUR APPROACHA. 扩展特征金字塔网络B. 特征纹理传输C. 交叉分辨蒸馏IV. EXPERIMENTSA. Experimental Settings1&…...
智能家居项目(五)测试串口功能
目录 一、写一个单独测试串口的demo 二、直接运行上一篇智能家居的代码 一、写一个单独测试串口的demo 1、TTL串口与树莓派的连接方式 (1)TTL的RXD和TXD针脚连接到树莓的TXD和RXD上(T–>R R–>T),交叉连&…...
2023年全国最新道路运输从业人员精选真题及答案7
百分百题库提供道路运输安全员考试试题、道路运输从业人员考试预测题、道路安全员考试真题、道路运输从业人员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 71.根据《中华人民共和国安全生产法》,生产经营单位…...
python的所有知识点(含讲解),不看就亏死了
目录 简介 特点 搭建开发环境 版本 hello world 注释 文件类型 变量 常量 数据类型 运算符和表达式 控制语句 数组相关 函数相关 字符串相关 文件处理 对象和类,注:不是那个对象!!!!&…...
【Servlet篇】Response对象详细解读
文章目录Response 继承体系Response 设置响应数据设置响应行数据设置响应头数据设置响应体数据Response 重定向Response 响应字符数据Response 响应字节数据Response 继承体系 前面说到,我们使用 Request 对象来获取请求数据,使用 Response 对象来设置响…...
SAP FICO期初开账存货导入尾差
一、问题 1.AFS物料网格级别库存导入先除再乘有尾差: 旧系统数据迁移自两个系统:一个管理数量账(网格级别),一个管理金额账(物料级别) 2.MB52分工厂与MB5L分工厂统计差异: M…...
微信商城小程序怎么做_分享实体店做微信商城小程序制作步骤
各行各业都在用微商城小程序开店,不管是餐饮店还是便利店,还是五金店。都是可以利用微信小程序开一个线上店铺。实现线上跟线下店铺更加全面的结合。维护好自己的老客户。让您的客户给您拉新,带来新客户。小程序经过这几年的快速发展和不断升…...
【moment.js】时间格式化插件
Moment.js 用于在JavaScript中解析,验证,操作和显示日期和时间。是一款在项目中使用频率极高的时间格式化工具,Ant Design Vue 组件中就是使用它来处理时间的。 安装 npm install moment --save # npm yarn add moment # Ya…...
微信小程序开发【壹】
随手拍拍💁♂️📷 日期: 2023.02.24 地点: 杭州 介绍: 2023.02.24上午十点,路过学院的教学楼时🏢,突然看见了一团粉红色。走进一看是一排梅花🌸,赶在它们凋零前,将它们定格在我的相…...
2 k-近邻算法
0 问题引入 想一想:下面图片中有三种豆,其中三颗豆品种未知,如何判断他们类型? 1 KNN概述 1.1 KNN场景 电影可以按照题材分类,那么如何区分 动作片 和 爱情片 呢? 动作片:打斗次数更多爱情…...
深入探究文件I/O
目录Linux 系统如何管理文件静态文件与inode文件打开时的状态返回错误处理与errnostrerror 函数perror 函数exit、_exit、_Exit_exit()和_Exit()函数exit()函数空洞文件概念实验测试O_APPEND 和O_TRUNC 标志O_TRUNC 标志O_APPEND 标志多次打开同一个文件验证一些现象多次打开同…...
【LeetCode】剑指 Offer(9)
目录 题目:剑指 Offer 25. 合并两个排序的链表 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 26. 树的子结构 - 力扣&#…...
python 遍历可迭代对象的方法
python 遍历可迭代对象的方法 可迭代(iterable) 迭代(遍历)就是按照某种顺序逐个访问对象中的每一项。 Python中有很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等,这些对象都是可迭代的,被称为可迭代对象。 可以将可迭…...
【数据库】 第11章 并发控制
第11章 并发控制 事务 事务:(从微观角度,或者从DBMS角度)是数据库管理系统提供的控制数 据操作的一种手段,通过这一手段,应用程序员将一系列的数据库操作组合 在一起作为一个整体进行操作和控制,以便数据库管理系统能…...
Python3-数字
Python3 数字(Number) Python 数字数据类型用于存储数值。 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。 Python 支持三种不同的数值类型: 整型(int) - 通常被称为是整型或整数,是正或负整数&#x…...
(四十一)Read Committed隔离级别是如何基于ReadView机制实现的?
今天我们来给大家讲一下,基于之前我们说的ReadView机制是如何实现Read Committed隔离级别的,那么当然了,首先就是要先做一些简单的回顾。所谓的Read Committed隔离级别,我们可以用骚气一点的名字,就是简称为 RC 隔离级…...
React echarts封装
做大屏的时候经常会遇到 echarts 展示,下面展示在 React (^18.2.0) 中对 echarts (^5.4.0) 的简单封装。 文章首发于https://blog.fxss.work/react/echarts封装.html,样例查看 echarts 封装使用 props 说…...
【C语言进阶】了解计算机的程序环境和预处理过程 掌握计算机预处理操作
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C语言进阶 🎯长路漫漫浩浩,万事皆有期待 文章目录1.编译与链接1.1 程…...
(三十六)大白话数据库幻读,本质到底是个什么问题?
上一讲我们给大家讲解了不可重复读这个问题,这个问题简单来说,就是一个事务多次查询一条数据,结果每次读到的值都不一样,这个过程中可能别的事务会修改这条数据的值,而且修改值之后事务都提交了,结果导致人…...
【算法经典题集】递归(持续更新~~~)
😽PREFACE🎁欢迎各位→点赞👍 收藏⭐ 评论📝📢系列专栏:算法经典题集🔊本专栏涉及到的知识点或者题目是算法专栏的补充与应用💪种一棵树最好是十年前其次是现在1.递归1.1 递归实现…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
