Extended Feature Pyramid Network for SmallObject Detection

摘要

各种尺度的特征耦合会削弱小对象的性能,本文中,我们提出了具有超高分辨率金字塔的扩展特征金字塔网络(EFPN ),专门用于小目标检测。具体来说,我们设计了一个新模块,称为特征纹理转移(FTT ),用于同时超分辨率特征和提取可信的区域细节。此外,我们设计了一个前景 - 背景平衡损失函数来缓解前景和背景的面积不平衡。
总结
设计了一个 特征纹理转移( FTT )新模块 ,它 用于超分辨率特征和提取可信的区域细节
设计了一个 前景 - 背景平衡损失函数 来缓解前景和背景面积不平衡。

1、介绍

由于 CNN 重复使用池化层来提取高级语义,因此可以在 下采样过程中过滤掉小对象的像素
利用低级特征是提取小对象信息的一种方式。在 FPN 中,如图 1 a) 所示,小型对象必须与中型和大型对象共享相同的特征图,而像大型对象这样的简单情况可以从合适的级别提取特征。此外,如图1(b) 所示,随着对象规模的减小,FPN 底层的检测精度和召回率显著下降。图 1 表明,在普通 FPN 检测中,跨尺度的特征融合仍然削弱了小对象检测的能力。
普通的 FPN 中,跨尺度特征融合仍然削弱了小对象检测的能力
补偿小物体信息损失的另一种方法是提高特征分辨率。因此, 一些超分辨率( SR )方法被引入到目标检 测中
本文中,我们提 出了扩展特征金字塔网络( EFPN ),该 网络利用具有丰富区域细节的大规模 SR 特征来 解耦中小型目标检测 EFPN 以专门用于小型物体检测的高分辨率水平扩展了原始 FPN 。为了降低成本,我们的扩展高分辨率特征图是由嵌入特征 SR FPN-like 框架生成
在构建 vanilla 特征之后,所提出的特征纹理转移 FTT )模块首先将来自低分辨率特征的深层语义和来 自高分辨率特征参与的浅区域纹理相结合 。然后, 后续的 FPN-like 横向连接将通过量身定制的中间 CNN 特征图进一步丰富区域特征。
EFPN 的一个优点是,高分辨率特征图的生成依赖于 CNN FPN 产生的原始真实特征,而不是其他类似方法中不可靠的想象。如图1(b) 所示, EFPN 中具有可信细节的扩展金字塔级别显著提高了对小物体的检测性能。
此外,我们引入了由大规模输入图像生成的特征作为监督来优化 EFPN ,并设 计了一个前景 - 背景平衡损 失函数
主要贡献如下:
1 )我们提出了 扩展特征金字塔网络( EFPN ,它提高了小目标检测的性能。
2 )我们设计了一个关键的基于特征参考的 SR 模块, 称为特征纹理转移( FTT ),为扩展的特征金字塔 赋予可信的细节 ,以实现更准确的小目标检测。
(3) 引入了一个前景 - 背景平衡损失函数 ,以引起人们对正像素的关注,缓解前景和背景的面积不平衡。

2、超分辨图像用于目标检测

一些研究将 SR 引入到物体检测中,因为小物体检测总是受益于大尺度,图像级 SR 用于存在极小物体的一些特定情况,如卫星图像和具有拥挤的图像。STDN DenseNet 的顶层采用亚像素卷积来检测小对象, 同时减少网络参数 。最近 基于参考的 SR 方法具有利用参考图像的纹理或内容增强 SR 图像的能力 。受基于参考的SR 的启发,我们设计了一种新的模块来超分辨率参考下的具有可信细节的浅特征,从而生成更适合小物体检测的特征。

3、我们的方法

首先,我们 构建了一个扩展的特征金字塔 ,它专门用于底部有高分辨率特征图的小物体。具体来说,我们设计了一个名为特征纹理转移( FTT )的新模块,为扩展的特征金字塔生成中间特征 。此外,我们采 用了一种新的前景 - 背景平衡损失函数 来进一步加强对正像素的学习。

3.1 扩展特征金字塔网络

Vanilla FPN 通过对高级 CNN 特征图进行上采样,并通过横向连接将其与较低的特征融合, 构建了一个 4 层特征金字塔 。不同金字塔级别上的特征负责不同大小的对象, 小对象检测和中等对象检测仍然耦合在 FPN 的统一底层 P2 ,如图所示
为了缓解这个问题,提出了 EFPN vanilla 特征金字塔扩展到了新的层次 ,该层次考虑了具有更多区域细节的小目标检测。
我们 通过嵌入特征 SR 模块的 FPN-like 框架来实现扩展的特征金字塔 。该过程直接从低分辨率图像中生成高分辨率特征,以支持小目标检测。EFPN 的概述如图 2 所示。
顶部 4 个金字塔层由自上而下的路径构建,用于中等和大型对象检测。 EFPN 中的底部扩展包含图 2 中的FTT模块、自上而下的路径和紫色金字塔旨在捕获小物体的区域细节。更具体的说,在扩展中, EFPN 第三和第四金字塔层,分别在图 2 中用绿色和黄色层表示。在特征 SR 模块 FTT 中混合,以产生具有所选区域信息的中间特征P_3^ {'} 其中在图 2中由蓝色菱形表示。然后, 自上而下的路径将P_3^ {'} 定制的高分 辨率CNN特征图C_2^ {'}合并,产生最终的扩展金字塔层P_2^ {'}。我们 ResNet/ResNeXt stage2 中删除了一个最大池化层,并得到C_2^ {'}作为 stage2 的输出,如表 1所示。
C_2^ {'}与原始C2共享相同的表 示级别,但由于其更高的分辨率而包含更多的区域细节。
C_2^ {'}中较小的感受野也有助于更好地定位小物体,从数学上讲,所提出的EFPN中的扩展操作可以描述为
其中 表示通过 最近邻插值的双重放大。
EFPN 检测器中, 建议 size 和金字塔级别之间的映射仍然遵循 [19] 中的方式:
这里 l 表示金字塔级别, w h 表示方框建议的宽度和高度, 224 是规范的 ImageNet 预训练大小, l0 是wxh=224x224的方框方案映射到的级别目标。

3.2 FTT模块

基于图像参考的 SR 的启发 下,我们 设计了 FTT 模块来超分辨率特征,并同时从参考特征中提取区域纹 。如果没有 FTT EFPN 的第 4 P2 中的噪声将直接传递到扩展金字塔级,即淹没有意义的语义。
然而,所提出的 FTT 输出 综合了上低分辨率特征中的强语义 下高分辨率参考特征中的关键局部细节 ,但丢弃了参考中的干扰噪声。
如图 3 所示, FTT 模块的主要输入是来自第三层 EFPN 的特征图 P3 ,参考是来自第四层 EFPN 的特征图 P2。 输出P_3^ {'}可以定义为:
其中E_t(\cdot )表示纹理提取器成分,E_c(\cdot )表示内容提取器部分。 表示通过 sub 像素卷
积的双重放大, 表示特征C串联。内容提取器和纹理提取器都是由残差块组成的。
在主 stream 中,考虑到其效率,我们就将 sub-pixed 卷积 应用于 提高 来自主输入 P3 的内容特征的 空间分 辨率 sub像素卷积通过在通道维度上转移像素来增加宽度和高度维度上的像素。将卷积层生成的特征表示为F \in R^{H \times W\times C\times r^2}。亚像素卷积中的像素混洗算子将特征重新排列为 rH \times rW \times C形状 为的映射。(也就是说 经过 sub-pixed 卷积的特征图,是将原特
征图的宽度和高度放大了 r 倍,通道数不变
该运算在数学上可以定义为
其中,PS(F)_{x,y,c}表示像素混洗操作 PS(.) 之后的坐标 (x,y,c)上的 输出特征像
( 像素坐标 ) ,并且 r 表示放大因子。在我们的 FTT 模块中,为了使空间尺度加倍,我们采用 r=2
在参考 stream 中,参考特征 P2 和超分辨率内容特征 P3 的包裹被馈送到纹理提取器中。纹理提取器旨在提取用于小目标检测的可信纹理,并从包裹中屏蔽无用的噪声。
纹理和内容的最终元素添加确保了输出集成了来自输入和引用的语义和区域信息。因此,特征图 P3’ 具有从浅层特征参考P2 中选择的可靠纹理,以及从深层 P3 中选择的相似语义。

3.3训练损失

前景 - 背景平衡损失 。为了提高 EFPN 的综合质量,设计了前景背景平衡损失。常见的全局丢失会导致小物体区域的学习不足,因为小物体只占整个图像的一小部分。前景背景平衡损失函数通过两个部分提高了前景和背景的特征质量:
1 )全局重建损失
2 )正补丁损失
由于背景像素构成了图像的大部分,因此全局构造损失主要导致与真实背景特征的相似性。在这里,我们采用SR 中常用的 l1 损失作为全局重建损失L_{glob}
其中 F表示生成的特征图,F^t表示目标特征图。
正补丁丢失用于吸引人们对正像素的关注,因为严重的前景 - 背景不平衡会阻碍检测器的性能。我们使用前景区域上的l1损失作为正补丁损失L_{glob}
其中, P_{pos} 表示 ground truth 对象的块, N表示正像素的总数,并且(x,y)表示 特征图上的像
素的坐标。正补丁丢失对对象所在的区域起着更强的约束作用,强制学习这些区域的真实表示。
前景 -背景平衡损失函数L_{fbb}被定义为:
其中 \lambda 是权重平衡因子。平衡损失函数通过提高前景区域的特征质量来挖掘 true positives ,并通过提 高背景区域的特征品质来消除 false positives
总损失 。引入 2X 尺度 FPN 的特征图来监督 EFPN 的训练过程,不仅底部扩展特征金字塔级别受到监督,FTT模块也受到监督。 EFPN 的总体训练目标定义为:
是来自 2x 输入 FPN 的目标P2, 来自 2x 输入 FPN 的目标 P3

4、实验

首先,使用了微调完成实验,在实验过程中通过对有无 FTT 模块,进行了实验,同时在前景 - 背景平衡损
失函数上,通过对不同的损失权重进行设置进行了实验。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《Effective Modern C++》- 极精简版 5-14条

本文章属于专栏《业界Cpp进阶建议整理》 继续上篇《Effective Modern C》- 极精简版 1-4条。本文列出《Effective Modern C》的5-14条的个人理解的极精简版本。 Item5、优先考虑auto而非显示类型声明 auto的优势: 强制变量初始化在返回部分场景,会返回一…

释机器学习中的召回率、精确率、准确率

精确率和召回率又被叫做查准率和查全率,可以通过P-R图进行表示 如何理解P-R(精确率-召回率)曲线呢?或者说这些曲线是根据什么变化呢? 以逻辑回归举例,其输出值是0-1之间的数字。因此,如果我们想要判断用户的好坏&…

如何做好【沟通】管理

目录 管理的定义 管理的四大职能: 四共团队: 领导力: 沟通的四种类型听、说、读、写(计划、报告) 沟通四原则 思维框架:结构树报告 管理的定义 彼得.德鲁克:管理通过他人去完成任务的学…

基于java SSM图书管理系统简单版设计和实现

基于java SSM图书管理系统简单版设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系…

c++ 11 新特性 不同数据类型之间转换函数之const_cast

一.不同数据类型之间转换函数const_cast介绍 const_cast是C11中引入的一种类型转换操作符,用于修改类型的const或volatile属性。const_cast的主要用途是移除对象的常量性,它是唯一具有此能力的C风格的转型操作符。在C11中,const_cast可以完成…

Linux安装,配置,启动HBase

Linux安装,配置,启动HBase 一、HBase安装,配置 1、下载HBase安装包 Hbase官方下载地址: http://archive.apache.org/dist/hbase 选择相应的版本点击下载,这里以2.3.5为例 # linux可以通过wget命令下载 wget https://archive…

如何解决Firefox提示“此网站可能不支持TLS1.2协议”的问题 错误代码:SSL_ERROR_UNSUPPORTED_VERSION

1.问题描述 当你在Firefox浏览器中访问一个网站时,可能会遇到这样的提示:   之后,不停地刷新或 重新输入,怎么也访问不进去?? 2.解决步骤 按照以下步骤操作,可以降低Firefox对TLS版本的要求…

HEUFT电源维修x-ray发生器维修HBE211226

HEUFT电源维修x-ray发生器维修HBE211253;海富HEUFT在线液位检测X射线发生器维修,不限型型号系列。 德国海富推出HEUFT在线液位检测装置,满瓶检测系统HEUFT有着强大的功能,它的模块机构能整合很多程序,并依据不同的产品及其包装特性,照相技术,高频技术或X-ray技术。…

[eslint error] ‘v-model‘ should be on a new line.

错误详情 错误原因 此问题是由于.eslintrc.js文件中的vue/max-attributes-per-line配置错误产生的 esline默认要求属性单独开一行 错误解决 所以解决的方法有两个一个是遵从eslint默认规则让属性新开一行,能解决问题 但是我不喜欢看这样子的代码,所以我只好去改掉eslint的规…

声强和能量及其praat操作

强度、声压、能量、功率 这是我们在电学和声学等领域较常见到的词汇,但有时候可能会搞混淆,所以再整理一下。 强度(intensity) 强度,也叫做声强(Sound intensity)。《声学基础》中对于声强的…

Unity 关节:铰链、弹簧、固定、物理材质:摩檫力、 特效:拖尾、

组件-物理-关节:铰链(类似门轴) 自动动作、多少力可以将其断开、 弹簧可以连接另一个刚体(拖动即可) 固定一般是等待一个断裂力,造成四分五裂的效果。 物理材质 设置摩檫力,则可以创造冰面的…

K8S之实现业务的金丝雀发布

如何实现金丝雀发布 金丝雀发布简介优缺点在k8s中实现金丝雀发布 金丝雀发布简介 金丝雀发布的由来:17 世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;当瓦斯…

redis缓存(穿透, 雪崩, 击穿, 数据不一致, 数据并发竞争 ), 分布式锁(watch乐观锁, setnx, redission)

redis的watch缓存机制 WATCH 机制原理: WATCH 机制:使用 WATCH 监视一个或多个 key , 跟踪 key 的 value 修改情况,如果有key 的 value 值在事务 EXEC 执行之前被修改了,整个事务被取消。EXEC 返回提示信息,表示 事务已…

蓝桥杯——矩形拼接

矩形拼接 题目分析 对于一个矩形而言,我可以把它横着放,而可以把它竖着放,比如下图, 3个矩形的拼接情况可以通过在纸上画图模拟出来,情况有以下三种 ​ 图1 图3是4条边,即四边形。观察一下什么时候会是四…

邮件api有哪些作用?使用API发邮件的方法?

邮件api接口发信的流程?如何使用邮件API发送邮件? 在现代的数字化社会,电子邮件成为了人们日常生活和工作中不可或缺的一部分。为了提高邮件处理的效率和自动化程度,邮件API的应用越来越广泛。那么,邮件API究竟有哪些…

FMEA视角下的未来:拥抱变化,探索无限可能!

在快速发展的现代社会中,预测未来变得越来越具有挑战性。FMEA(失效模式与影响分析)作为一种预防性质量工具,虽然主要用于评估产品设计或过程中的潜在故障,但其核心理念——识别风险、预防失误,同样适用于我…

使用anaconda管理多python版本环境

anaconda使用 安装 下载地址 miniconda anaconda 两者区别 Miniconda只包含了conda和Python,以及一些必要的依赖项,它的安装文件较小,占用空间较少,用户可以根据需要自行安装其他的包。Anaconda包含了conda、Python和超过150…

Android应用界面

概述:由于学校原因,估计会考,曹某人就浅学一下。 View概念 安卓中的View是所有UI控件的基类,它代表着屏幕上的一个矩形区域,用于展示数据和接收用户事件。 UI控件的基础:在Android开发中,Vie…

SpringCloud 微服务架构编码构建

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第一篇,即不使用 SpringCloud 组件进行模块之间的调用,后续会有很多的文章循序渐…

12.WEB渗透测试-Linux系统管理、安全加固(下)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:11.WEB渗透测试-Linux系统管理、安全加固(上)-CSDN博客 Linux任务…