CV——day79 读论文:基于小目标检测的扩展特征金字塔网络

news2024/11/15 19:01:41

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}定义为:

L f b b ( F , F t ) = L g l o b ( F , F t ) + λ L p o s ( F , F t ) ( 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在更多领域的实际应用

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

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

相关文章

SEATA是什么?它的四种分布式事务模式

一、SEATA是什么? Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 在继续学习使用SEATA之前,对s…

电子科技大学数据库与软件工程实验五

适用于网工和物联网专业 期末考试会考 目录 一、实验目的 二、实验内容 三、实验软件 四、实验步骤及数据记录 1. 权限管理 2. 数据库备份 3. 生成 AWR 报告 五、实验结论及思考题 六、总结及心得体会 七、对本实验过程及方法、手段的改进建议 一、实验目的 1、掌握…

工作九年的机器人讲师收入如何

如下都是个人情况,供各位朋友参考,仅为个人情况,只代表我个人。为何写这样一篇博客:看了最近的热点我在一所普普通通的不知名高校工作了九年。如果问及我存款……我实在是非常非常惭愧的。真实数值如下(组合贷&#xf…

【数据库】第八章 数据库编程

第八章 数据库编程 8.1 嵌入式SQL&#xff08;C语言版&#xff09; 被嵌入的语言&#xff08;java ,C)等被称为宿主语言&#xff0c;简称主语言 当主语言 为 C 语言的时候 ​ 语法格式为 EXEC SQL <SQL语句>当主语言为java的时候 格式为 #SQL {<SQL语句>}以下讲解…

MATLAB | 如何解决实验数据散点图重叠问题(overlap)

本期部分实验效果&#xff1a; 这期讲一下如果数据重合严重该咋办(overlap)&#xff0c;事先说明&#xff0c;本文中的绘图均使用一个几行的简单小代码进行了修饰&#xff1a; function defualtAxes axgca;hold on;box on ax.XGridon; ax.YGridon; ax.XMinorTickon; ax.YMinor…

Redis 之企业级解决方案

文章目录一、缓存预热二、缓存雪崩三、缓存击穿四、缓存穿透五、性能指标监控5.1 监控指标5.2 监控方式&#x1f34c;benchmark&#x1f34c;monitor&#x1f34c;slowlog提示&#xff1a;以下是本篇文章正文内容&#xff0c;Redis系列学习将会持续更新 一、缓存预热 1.1 现象…

云服务器产生背景与历史演进

云服务器产生背景  业务量爆发和衰退周期考验后端服务器性能匹配 在传统IT架构中&#xff0c;需要提前预估业务爆发时间和业务量&#xff0c;提前部署服务器以支撑业务。但是&#xff0c;往往预估与实际结果是有差距的&#xff0c;预估量过大会造成服务器采购成本高&#x…

阿里巴巴内网 Java 面试 2000 题解析(2023 最新版)

前言 这份面试清单是今年 1 月份之后开始收集的&#xff0c;一方面是给公司招聘用&#xff0c;另一方面是想用它来挖掘在 Java 技术栈中&#xff0c;还有一些知识点是我还在探索的&#xff0c;我想找到这些技术盲点&#xff0c;然后修复它&#xff0c;以此来提高自己的技术水平…

2016年chatGPT之父Altman与马斯克的深度对话(值得一看)

2016年9月&#xff0c;现今OpenAI CEO&#xff0c;ChatGPT之父&#xff0c;时任创投公司Y Combinator的总裁Sam Altman在特斯拉加州弗里蒙特工厂采访了埃隆马斯克。马斯克阐述了创建OpenAI的初衷&#xff0c;以及就他而言&#xff0c;对于未来最为重要的五件事。这是OpenAI的两…

【概念辨析】大小端存储

一、情境 在进行内存调试窗口的查看时&#xff0c;是不是会有一种错觉&#xff0c;就是它存的数据与我们预期的都是颠倒的&#xff0c;比如&#xff1a; 这里的a就和我们预期的不是很相同。 二、大小端 大小端是计算机厂家根据自己的习惯制定的关于数据字节序的规则。 1.大端…

2023中职网络安全竞赛Web安全应用任务解析答案

Web安全应用 任务环境说明: 服务器场景:match_win03-4-1(关闭链接)服务器场景操作系统:Windows Server 2003 使用渗透机Kali Linux,访问靶机FTP服务,下载靶机网站中的部分源码并分析,将源码文件post.php中${flag1}空缺处应填写的函数作为Flag值提交。Flag:isset 使用…

程序设计语言(做题)

程序设计语言部分一、高级语言与低级语言1、低级语言&#xff08;面向机器&#xff09;2、高级语言&#xff08;面向对象&#xff09;二、编译程序与解释程序1、区别2、流程&#xff08;加粗点为不可省略过程&#xff0c;顺序不可变&#xff09;&#xff08;1&#xff09;词法分…

(指针内容)当你申请一个变量,在这期间内存会发生什么?

一. 前言C语言是比较偏底层的语言&#xff0c;为什么他比较偏底层&#xff0c;就是因为他的很多操作都是直接针对内存操作的。这篇我们就来讲解C语言的一大特点&#xff0c;也是难点&#xff0c;指针和指针操作。这篇文章我会先从基本类型的存储过程和原理讲起&#xff0c;然后…

【Docker】命令总结

目录 1.镜像命令 1.1拉取镜像 1.2查看镜像 1.3保存镜像 1.4导入镜像 2.容器命令 2.1创建并运行容器 2.2删除容器 2.3进入容器 2.4查看容器状态 2.5暂停容器 2.6恢复容器 2.7停止容器 2.8启动容器 2.8查看容器日志 3.数据卷命令 3.1创建数据卷 3.2查看所有数据…

C语言刷题(2)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰来复习一下之前所学过的内容噢&#xff0c;复习的方式&#xff0c;那当然是刷题啦&#xff0c;现在&#xff0c;就让我们进入C语言的世界吧 当然&#xff0c;题目还是来源于牛客网 完完全全零基础 编程语言初学训练营_在线编程题…

OP-TEE使用过程记录

1 项目概述 1.1项目需求 为确保用户的数据的安全&#xff0c;ARM公司提出了trustzone技术&#xff0c;个人将trustzone理解为cortex的虚拟化技术。在不增加硬件的情况下&#xff0c;使用trustzone技术达到硬件加密的效果。 1.2重点概念简要介绍 1.2.1 TrustZone机制&#x…

电子科技大学数据库与软件工程三

适用于网工和物联网专业 目录 一、实验目的 二、实验内容 三、实验软件 四、实验步骤及数据记录 1.子查询 2. 伪列 3.数据库对象 4. 块、存储过程和触发器 五、实验结论及思考题 实验结论&#xff1a; 思考题&#xff1a; 六、总结及心得体会 七、对本实验过程及方…

【华为OD机试模拟题】用 C++ 实现 - 关联子串(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 获得完美走位(2023.Q1) 文章目录 最近更新的博客使用说明关联子串题目输入输出示例一输入输出说明示例一输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华…

Spring的Bean的生命周期,Bean的装配和注入

Spring容器启动获得BeanDefinition对象中有一个scope 属性。该属性控制着bean对象的作用域。本章节介绍Bean的作用域及生命周期&#xff0c;了解bean是怎么来的又怎么没的。 一、Bean的作用域 在Bean容器启动会读取bean的xml配置文件&#xff0c;然后将xml中每个bean元素分别转…

Bean作用域和生命周期

目录 Bean作用域的例子 作用域定义 Bean的六种作用域 设置作用域 Spring的执行过程和Bean的生命周期 Spring的主要执行流程 Bean的生命周期 在上篇博客中我们使用Spring存储和获取Bean,因此Bean是Spring中最重要的资源,今天这篇博客就深入了解Bean对象 Bean作用域的例子 …