面向遥感图像的小目标检测最新方法 FFCA-YOLO

news2024/12/28 22:23:41

论文简介

在遥感图像中,小目标检测面临着特征表示不足和背景混淆等挑战,特别是当算法需要在有限计算资源的约束下进行实时处理时,对准确性和速度的优化要求尤为严格。为解决这些问题,本文提出了一种高效的目标检测器——特征增强、融合与上下文感知YOLO(FFCA-YOLO)。FFCA-YOLO设计包含三项创新且轻量级的模块:特征增强模块(FEM)、特征融合模块(FFM)以及空间上下文感知模块(SCAM)。这三个模块分别提升了网络在局部区域的感知能力、多尺度特征融合能力以及跨通道和空间的全局关联性,同时尽量避免增加模型复杂度。如此一来,小目标的弱特征表现得以强化,混淆的背景得到有效抑制。

为了验证FFCA-YOLO的有效性,作者采用了两个公开的遥感小目标检测数据集(VEDAI和AI-TOD)以及一个自建数据集(USOD)。实验结果显示,FFCA-YOLO在这些数据集上的平均精度(mAP50)分别达到了0.748、0.617和0.909,超越了多个基准模型及当前最优方法。此外,该方法在不同模拟退化条件下的鲁棒性也得到了验证。

为进一步降低计算资源消耗同时保持效率,基于部分卷积(PConv)重构了FFCA-YOLO的主干和颈部结构,优化出了FFCA-YOLO的轻量版本(L-FFCA-YOLO)。与原版相比,L-FFCA-YOLO速度更快、参数规模更小、计算力需求更低,而精度损失甚微,展现了良好的性能与效率平衡。

方法介绍

作者认为,遥感应用中小目标检测的主要挑战可以概括为三点:特征表示不足、背景混淆,以及在有限的硬件条件下优化速度和精度。

在这篇文章中,作者的动机是设计一个高精度同时具备潜在的实时处理能力的小目标检测器。由此,作者首先分别提出了特征增强模块(FEM)与空间上下文感知模块(SCAM)来丰富局部和全局的上下文特征信息。其中,FEM通过多分支卷积拓宽了骨干网络的感受野;SCAM通过构建全局上下文关系来确定小目标与全局特征的联系。对特征融合而言,作者又提出了特征融合模块(FFM),它可以在不增加计算复杂度的情况下利用通道信息重新加权不同的特征图,进而提升特征的融合策略。上述三个模块都被引入到YOLO模型中,形成了一个特征增强、融合与上下文感知的YOLO网络,作者称其为FFCA-YOLO。

最后,作者为了在确保精度的情况下降低模型的计算资源消耗量,又利用部分卷积重构了FFCA-YOLO的骨干网络和颈部网络,得到了一个小版本的FFCA-YOLO模型,称之为L-FFCA-YOLO。

作者在本文的主要贡献可分为以下三点:

设计了一种高效的小目标检测器(FFCA-YOLO)及其精简版L-FFCA-YOLO。与几种基准模型和最先进的(SOTA)方法相比,FFCA-YOLO在小目标检测任务中具有先进的性能,并具有未来实时应用的潜力。

提出了三个创新的和轻量级的即插即用模块:FEM、FFM和SCAM。这三个模块分别提高了局部区域感知、多尺度特征融合、全局关联跨通道和空间的网络能力。它们可以作为公共模块插入到任何检测网络中,以增强小目标的弱特征表示,并抑制可混淆的背景。

基于航空遥感图像构建了一种新的小物体数据集USOD,在低光照和阴影遮挡条件下,小物体(小于32×32像素)的比例超过99.9%。此外,USOD在不同的模拟退化条件下有多个测试集,如图像模糊、高斯噪声、条纹噪声、噪声和雾等,可以作为遥感小目标检测的基准数据集。

作者选择YOLOv5作为他们的基准框架,因为与最新的YOLOv8相比,它的参数更少,并且可以在小目标检测任务中保持一定程度的准确性。FFCA-YOLO的整体架构如下图所示。首先,FFCA-YOLO只使用4个卷积子采样操作作为特征提取的主干,这与原来的YOLOv5不同。其次,在YOLOv5的颈部增加了三个专门设计的模块:提出了一个轻量级FEM来提高网络的局部区域感知;提出了FFM来提高多尺度特征融合的能力;SCAM的设计旨在提高全局关联跨信道和空间的能力。最后,通过基于PConv重构FFCA-YOLO,精度损失较小,得到了一个称为L-FFCA-YOLO的精简版本。

图片

| 特征融合模块(FEM)

由于遥感图像的复杂性,在小目标检测任务中容易出现具有相似特征的误警。然而,骨干网的提取能力却很有限。本阶段提取的特征包含较少的语义信息和狭窄的接受域,这使得很难区分小物体和背景。因此,这里所提出的FEM考虑从两个角度增强小物体的特征。从特征丰富度增加的角度来看,采用多分支卷积结构提取多重判别语义信息。从扩大接受域的角度来看,采用空洞卷积获得更丰富的局部上下文信息。受RFB-s的启发,FEM的整体结构如下图所示。不同之处在于FEM只有两个具有空洞卷积的分支。每个分支对输入特征图进行1×1的卷积操作,初步调整后续处理的通道数。第一个分支是一个残差结构,它形成一个等价的映射来保留小物体的关键特征信息。其他三个分支执行级联标准卷积操作,其内核大小分别为1×3、3×1和3×3。在中间的两个分支上添加了额外的空洞卷积层,这样提取的特征图就可以保留更多的上下文信息。

图片

与RFB-s相比,FEM具有更轻的结构,使模型能够通过多分支空洞卷积学习更丰富的局部上下文特征,提高了小对象的特征表示能力。

| 特征融合模块(FFM)

高级和低级的特征映射包含不同的语义信息。从多尺度特征图中聚合特征可以增强小目标的语义表示。作者所提出的FFM采用了基于BiFPN的颈部结构。与BiFPN不同,FFM改进了名为CRC的重新加权策略,并调整了原始的BiFPN以容纳三个检测头。FFM的结构如下图所示。

图片

与BiFPN相比,FFM改进了涉及重加权通道的多尺度特征图的融合策略。BiFPN的融合策略是在特征图之间,这导致不同的通道具有相同的权重。为了加强多尺度特征对小目标的表示,充分利用不同通道的特征,所提出的CRC对特征图的通道进行了重新加权,如上图的下半部分所示。

作者这里设计了三种重新加权通道的策略。第一种策略使用类似于SENet或ECANet的通道注意机制来重新加权通道。该策略是可行的,但显著增加了计算成本和参数计数。第二种策略首先将特征映射连接起来,然后将相同数量的参数与标准化的可训练权值相乘。第三种策略进一步考虑了不同特征映射之间的语义差距,首先对每个特征映射中的通道进行重新加权,然后对不同的特征映射进行重新加权。

三种策略都提高了性能,但第二种和第三种策略之间的差异并不显著。因此,作者在FFM中选择了第二种策略来进行特征重加权。FFM的结构及其通道重加权策略优化了针对小目标的多尺度语义信息的融合过程,为后续的全局上下文建模提供了更有效的特征映射。

| 空间上下文感知模块(SCAM)

经过FEM和FFM之后,特征图已经考虑了局部上下文信息,并对小目标特征有很好的表示。在这个阶段,对小目标和背景之间的全局关系进行建模比对主干关系进行建模更有效。全局上下文信息可以用来表示像素交叉空间之间的关系,它抑制了无用的背景,增强了对象与背景之间的辨别能力。受GCNet和SCP的启发,SCAM由三个分支组成。第一个分支使用GAP和GMP来集成全局信息。第二个分支使用1×1卷积生成特征图的线性变换结果,在下图中命名为value。第三个分支使用1×1卷积来简化query和key的倍数。这个卷积在下图中被命名为QK。然后,将第一个分支和第三个分支分别与第二个分支进行矩阵相乘,随后所得到的两个分支分别代表了跨通道和空间的上下文信息。最后,在这两个分支上使用broadcast Hadamard product,得到了SCAM的输出。

图片

| Lite-FFCA-YOLO(L-FFCA-YOLO)

FFCA-YOLO中的CSP块通过结合FasterNet中的FasterBlock进行重建,称为CSPFasterBlock,如下图所示。FasterNet得出的结论是,直接用PConv替换标准卷积将导致准确性的严重下降。因此,作者只用FasterBlock替换CSPBlock中的bottleneck,这保证了不同层的特征信息流过所有通道,而精度损失很小。FFCA-YOLO和L-FFCA-YOLO的主干中的参数计数如下表所示,说明L-FFCA-YOLO的主干中的参数比FFCA-YOLO少30%。

图片

图片

实验结果

| 定量分析

图片

图片

图片

图片

| 定性分析

图片

图片

图片

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

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

相关文章

用vite 打包之后项目不能在本地查看

安装插件 npm i vitejs/plugin-legacy 在vite.config.js 中配置 重新打包就可以正常访问了(注意vite 和 vitejs/plugin-legacy的版本要匹配,否则会打包失败)

什么是CDN?CDN的工作原理是怎样的?

1.什么是CDN? CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容&am…

React hydrateRoot如何实现

React 服务器渲染中,hydrateRoot 是核心,它将服务器段的渲染与客户端的交互绑定在一起,我们知道 React 中 Fiber Tree 是渲染的的核心,那么 React 是怎么实现 hydrateRoot 的呢?首先我们验证一下,hydrateRo…

2024广东省职业技能大赛云计算赛项实战——集群部署GitLab Runner

集群部署GitLab Runner 前言 题目如下: 部署GitLab Runner 将GitLab Runner部署到gitlab-ci命名空间下,Release名称为gitlab-runner,为GitLab Runner创建持久化构建缓存目录/home/gitlab-runner/ci-build-cache以加速构建速度,并将其注册到…

Spark SQL 血缘解析方案

背景 项目背景建设数据中台,往往数据开发人员首先需要能够通过有效的途径检索到所需要的数据,然后根据检索的数据模型进行业务加工然后得到一些中间模型,最后再通过数据抽取工具或者OLAP分析工具直接将数据仓库中加工好的公共模型输出到应用层。这里我不在去介绍数据仓库为…

在操作系统中,background通常指的是运行于后台的进程或任务

在计算机中,"background"一词具有多种含义,以下是一些主要的解释和相关信息: 计算机视觉中的背景(Background): 在计算机视觉中,background指的是图像或视频中的背景部分,…

【TOOL】ceres学习笔记(一) —— 教程练习

文章目录 一、Ceres Solver 介绍二、Ceres 使用基本步骤1. 构建最小二乘问题2. 求解最小二乘问题 三、使用案例1. Ceres Helloworld2. Powell’s Function3. Curve Fitting4. Robust Curve Fitting 一、Ceres Solver 介绍 Ceres-solver 是由Google开发的开源C库,用…

接口测试代码和工具

通过python的requests给接口发送请求进行测试 #coding:utf-8 import requests class TestApi(): url_login "https://legend-sit.omodaglobal.com/api/auth/oauth2/token" url_topic_b "https://legend-sit.omodaglobal.com/api/community/topic_b/page?…

12 学习总结:操作符

目录 一、操作符的分类 二、二进制和进制转换 (一)概念 (二)二进制 (三)进制转换 1、2进制与10进制的互换 (1)2进制转化10进制 (2)10进制转化2进制 2…

React useId Hook

React 中有一个 useId hook,可以生成一个唯一 ID,这个有什么用处呢,用个 UUID 是不是可以替代呢?如果我们只考虑客户端,那么生成唯一 Id 的方法比较简单,我们在 State 中保存一个计数器就好,但是…

第二天的课根本跟不上啊 难难难啊

编程实现三个数求最大 编程实现求解一元二次方程 传参问题 直接使用返回值 复制控制 复制控制是指在C中控制对象复制行为的机制, 包括拷贝构造函数(copy constructor)、 赋值操作符(copy assignment operator)、 …

Win10可用的VC6.0绿色版及辅助插件assist_X

VC6.0,作为微软的经典开发工具,承载着无数开发者的青春与回忆。它曾是Windows平台上软件开发的重要基石,为开发者们提供了稳定且强大的编程环境,尤其是其MFC(Microsoft Foundation Classes)库,为…

STM32HAL库--DMA实验(速记版)

本章利用 DMA 来实现串口数据传送,并在LCD 模块上显示当前的传送进度。 DMA 简介 DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场…

微服务中不同服务使用openfeign 相互调用

首先 我们上文 已经知道了 nacos 的注册服务,现在 我们 在不同服务中相互调用就可以使用openfeign 直接调用,而不是 再写冗余的调用代码啦 首先 我们的微服务组件如下 因为我这个微服务是我在 员工登录demo 中 拆出来的,在userlogin模块中…

2024年不可错过的12个Web程序设计语言!

Web开发行业出现以来,通过各种形式和渠道不断发展壮大。随着5g时代的到来,Web开发在移动互联网领域不断出现新的开发场景,也是最受欢迎的技能之一。掌握Web程序设计语言是在Web开发领域大放异彩的必要条件之一。接下来,即时设计选…

[论文笔记]Mixture-of-Agents Enhances Large Language Model Capabilities

引言 今天带来一篇多智能体的论文笔记,Mixture-of-Agents Enhances Large Language Model Capabilities。 随着LLMs数量的增加,如何利用多个LLMs的集体专业知识是一个令人兴奋的开放方向。为了实现这个目标,作者提出了一种新的方法&#xf…

DCT-Net - 一键图片、视频转卡通动漫风格工具,本地一键整合包下载

只需要输入一张人物图像或者一段视频,就可以实现端到端全图卡、视频通化转换,生成二次元虚拟形象,返回卡通化后的结果图像或视频。 开发者叫menyi Fang,来自阿里巴巴通义实验室的的技术女大佬,国内大佬集成到webui&am…

mprpc框架的配置文件加载

目录 1.回顾测试 2.mprpc框架的配置文件加载 2.1 mprpcconfig.h 2.2 完善mprpcapplication.h 2.3 完善mprpcapplication.cc 2.4 mprpcconfig.cc 2.5 test.conf 2.6 测试运行 ​3.扩展问题 1.回顾测试 我们先把之前的项目代码工程编译好,然后进入bin里面&am…

用VScode打开keil下的文件中文编码乱码的问题,以及利用VScode转换字符编码的方法

目录 问题描述 解决方法 利用VScode转换字符编码的方法 问题描述 keil中默认的编码是ANIS如下图所示。 而VScode中默认的编码为UTF-8 ,打开后如下。 解决方法 建议另存后,再打开目标文件,防止误操作! 在VScode的最下方可以找…