当前位置: 首页 > news >正文

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)所示,小型对象必须与中型对象和一些大型对象共享相同的特征图,而大型对象等简单情况下可以从合适的级别选取特征。

image-20230226094131503

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

image-20230226094201784

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,将传统的特征金字塔扩展到一个新的层次,以解决小目标检测和更多区域细节的问题。

image-20230226101459976

image-20230226101511227

扩展特征金字塔网络(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中扩展的运算可以描述为

image-20230226101841736

B. 特征纹理传输

B. Feature Texture Transfer

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

image-20230226102205539

如图3所示,FTT模块的主要输入是来自EFPN第三层的feature map P3,参考是来自EFPN第四层的feature map P2。

在参考流中,参考特征P2和超分辨内容特征P3的包装被提供给纹理提取器。纹理提取器的目标是提取出用于小目标检测的可信纹理,并从包装中屏蔽无用的噪声。

最后,纹理和内容元素的添加确保输出集成了输入和引用的语义和区域信息。因此,特征图P3’具有从浅层特征参考P2中选取的可靠纹理,以及从深层特征参考P3中选取的相似语义。

C. 交叉分辨蒸馏

C. Cross Resolution Distillation

image-20230226102649787

使用更高分辨率的输入是提高小目标检测性能的有效方法,如图5所示;然而,检测性能在一定规模时饱和,多尺度测试带来的额外的大量计算资源和运行时间在实际应用中难以承受。为此,我们提出了一种称为交叉分辨率蒸馏的机制,该机制将高分辨率输入的特征作为监督信号引入。image-20230226102234426

如图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

我们在两个基准上测试了我们的方法,包括用于小物体的交通标志检测场景和一般检测场景。我们将我们的方法与基线和两个场景的其他现状相比较。

  1. Tsinghua-Tencent 100 K :是用于交通标志检测和分类的数据集。它包含10万张高分辨率(2400 × 2400)图像,以及3万个交通标志实例。重要的是,在测试集中,92%的实例覆盖的区域小于整个图像的0.2%。清华-腾讯100k中绝大多数的小物体使其成为小物体检测的优秀基准。
  2. 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 递归实现…...

多区域的OSPF实战配置

多区域的OSPF实战配置 需求 如图配置设备的接口IP地址如图规划OSPF网络的区域要求每个设备的 router-id 都是 x.x.x.x(x是每个路由器的名字)确保不同的PC之间可以互通 拓扑图 配置命令 PC1: 192.168.1.1 255.255.255.0 192.168.1.254PC2:…...

现在转行做程序员的多吗?

曾经有一名程序员说,他在编写程序时,就像一个发明家在做实验;当他把程序编好可以运行时,他就已经是个发明家了。 程序员作为众多转行人员首选的职业,也是被大众熟知了。但我们需要知道的不仅是它作为一个职业的定义&a…...

社招前端常见react面试题(必备)

解释 React 中 render() 的目的。 每个React组件强制要求必须有一个 render()。它返回一个 React 元素&#xff0c;是原生 DOM 组件的表示。如果需要渲染多个 HTML 元素&#xff0c;则必须将它们组合在一个封闭标记内&#xff0c;例如 <form>、<group>、<div&g…...

力扣-变更性别

大家好&#xff0c;我是空空star&#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目&#xff1a;627. 变更性别二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言…...

【项目精选】医院管理住院系统的研究与实现(源码+论文+视频)

点击下载源码 本系统主要分为六大模块&#xff0c;分别是医生管理模块、病人管理模块、病床管理模块、收费管理模块、统计分析模块和系统功能模块 &#xff0c;医生、病人和医院的管理人员都可以通过此系统寻找出自己所需要的信息。 1.1 背景 医院管理住院系统是当今大部分现代…...

Lenovo Legion Y530-15ICH电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。硬件型号驱动情况主板Lenovo Legion Y530-15ICH处理器Intel Core™ i7-8750H (Coffee-Lake)已驱动内存16GB RAM DDR4 2667MHz已驱动硬盘2TB HP EX950 PCI-E Gen3 x4 NVMe SSD已驱动显卡Intel UHD Graphics 630Nvidia GTX 10…...

CICD 导航

目录内容链接产研服务产研服务参考文章&#xff1a;【产研】 服务部署配置及使用产研服务问题解决参考文章&#xff1a;【问题解决】产研.Net服务部署 配置 使用代码托管GitlabGitlab参考文章&#xff1a;Gitlab 安装 与 使用代码托管Gitlab问题解决参考文章&#xff1a;【问题…...

xgboost学习-原理

文章目录一、xgboost库与XGB的sklearn APIXGBoost的三大板块二、梯度提升树提升集成算法&#xff1a;重要参数n_estimators三、有放回随机抽样&#xff1a;重要参数subsample四、迭代决策树&#xff1a;重要参数eta总结一、xgboost库与XGB的sklearn API 现在&#xff0c;我们有…...

如何查看CUDA版本

Linux 查看CUDA版本&#xff1a; nvcc --version或 nvcc --VWindows 查看CUDA版本&#xff1a; nvcc --version或进入 CUDA 的安装目录查看&#xff1a; C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA使用PyTorch 查看 CUDA 版本 import torch print(torch.__ver…...

三、iperf3代码主要架构分析之main函数主要流程

iperf3是一个非常强大的工具&#xff0c;它是用C语言编写的。同时iperf3也是用C语言实现面向对象编程的典范&#xff0c;他以数据结构函数指针为基础&#xff0c;非常好的用C语言实现面向对象的编程的三大特征&#xff1a;封装&#xff0c;继承&#xff0c;多态。相信通过阅读i…...