遥感论文 | Scientific Reports | 一种显著提升遥感影像小目标检测的网络!

本文主要是介绍遥感论文 | Scientific Reports | 一种显著提升遥感影像小目标检测的网络!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 论文题目:MwdpNet: towards improving the recognition accuracy of tiny targets in high-resolution remote sensing image
  • 论文网址:https://www.nature.com/articles/s41598-023-41021-8

摘要

提出MwdpNet,以提高对高分辨率遥感(HRS)图像中微小目标的识别准确性。提出了一种新颖的多级加权深度感知网络,4个方面

  • 提出了一种多级特征加权融合策略,充分利用浅层特征信息来提高检测性能,特别是对于微小目标。
  • 为了充分描述图像的高级语义信息,实现更好的分类性能,我们设计了一个深度感知模块(DPModule)。
  • 提出了通道注意引导模块(CAGM),用于获取每个尺度的注意特征图,增强微小目标的召回率并更有效地生成候选区域。
  • 我们创建了四个微小目标数据集,并对其进行了比较实验。

结果表明,我们提出的MwdpNet在这四个数据集上的平均精度(mAP)分别达到了87.0%、89.2%、78.3%和76.0%,优于九种主流目标检测算法。我们提出的方法为在HRS图像上检测微小目标提供了一种有效的手段和策略。

背景

在高分辨率遥感(HRS)图像中进行目标检测目前是遥感图像智能解译领域的一个重要研究方向。在HRS图像中准确识别微小目标是遥感图像目标检测的主要任务。然而,在HRS图像中,微小目标仅占据少数像素,具有模糊的特征,并且容易受到背景干扰的影响。这些因素使得现有的网络检测模型难以提取足够的语义信息用于这些目标,导致检测和识别性能差,存在显著的局限性。因此,在HRS图像中检测微小目标仍然是一个重大挑战。

方法

模型总体框架

  • backbone在原有DarkNet53基础上进行了改进,借用了Res2Net33的结构,用分组残差替换了原始的残差结构。(改动见Figure1的f到g)

模块1:Multi‑level feature weighted fusion

  • 首先,图像被送入骨干增强网络,输出不同层级的特征图C = {C1,C2,C3,C4}。
  • C1通过BN和ReLU处理,得到具有恒定大小通道的M1特征图。然后,通过1×1卷积减少C2的通道数,并通过BN、ReLU和双线性插值进行上采样,得到具有不同维度的M2。
  • 上述步骤重复进行,得到M3、M4特征图。

所提出策略的主要思想是加权基础融合特征图的不同维度通道,从而选择融合特征图的重要特征信息。这使得语义特征和早期特征的融合更为有效,并允许充分增强浅层卷积层的语义信息。

模块2:Deeper Perception Module

DPModule主要包括两个步骤。

  • (1) 附近尺度平均:将前一节中获得的浅层增强特征和相邻的卷积层集成在一起,变成一个特征向量,并通过主成分分析进行降维。
  • (2) 浅层增强特征向量和深层特征向量的融合:降维后的浅层增强特征向量和深层特征向量从上到下级联,形成一个新的密集特征向量。

模块3:Channel Attention Guided module

CAGM专注于位置信息,并旨在增强高分辨率遥感(HRS)图像中多层次特征的表示能力。CAGM模块的设计如图所示。

Loss

**损失函数优化:**由于在微小目标和背景之间难以分类困难样本,模型可能面临正负样本不平衡的问题。因此,有必要考虑不同样本对损失的贡献比例,并在损失函数中给予微小目标样本更多的权重。在本文中,损失函数定义为:

其中:pt表示一个样本属于真实标签的概率

数据集

  • 数据集1:基于DOTA数据集,我们选择了小型车辆、小船和飞机作为微小目标。我们手动选择了总共1022张包含小型车辆和飞机类别的图像,其中小型车辆的尺寸范围从24.7×24.7到40.9×40.9,飞机的尺寸范围从37.1×37.1到51.2×51.2。
  • 数据集2:基于VEDAI数据集,我们将包括汽车、露营车、卡车和卡车在内的最小尺寸的车辆合并为一类,并选择尺寸范围从11.5×11.5到18.7×18.7的目标。
  • 数据集3:基于VEDAI数据集,我们评估了9个目标类别(小船、汽车、露营车、飞机、航天飞机、拖拉机、卡车、货车和其他类别)的检测性能。显示的目标尺寸范围从13.5×13.5到24.9×24.9。
  • 数据集4:基于NWPU VHR-10数据集,我们手动选择了包含飞机、小船、坦克和车辆的526张图像。显示的目标尺寸范围从42.28×42.28到48.32×48.32,创建了一个微小目标数据集。每个数据集的详细信息见表1。

实验

  • 评价指标采用常见目标检测指标,如下所示

实验一:

  • 通过输入两种尺寸的图像来评估MwdpNet的性能,其中"m"表示1000×1000的图像,"l"表示2000×2000的图像(例如,SSDm:将1000×1000的图像输入到SSD中)。比较的算法包括单级检测算法(SSD17、RSSD19、FFESSD20、MDSSD37)。SSD使用的骨干网络是VGG16,而RSSD、FFESSD和MDSSD使用ResNet-101。结果如表2所示。

实验二:

  • 基于丰富的经验,作者发现YOLO系列算法在VEDAI数据集上表现良好,因此将我们的模型与它们进行了比较。我们使用两种不同的输入尺寸(512×512和1024×1024)以及单级检测算法(YOLOV421、YOLOV522、YOLOV6-M23)进行了比较性实验。YOLOV4、YOLOV5和YOLOV6-M使用的骨干网络是Darknet-53。结果如表3所示。

实验三:

  • 为了全面评估我们网络的有效性,我们在实验1和实验2中将其与两级检测算法进行了比较,而不是与单级算法。两级算法在识别微小目标方面更为出色,因此我们在数据集3上进行了此实验。实验3的输入图像尺寸设置为1024×1024。比较的算法包括Faster-RCNN15、OHEM38、ION39和R-FCN31。Faster-RCNN、OHEM和ION使用的骨干网络是VGG16,而R-FCN使用的是ResNet-101。结果如表4所示。

实验四:

  • 实验四在数据集4上进行。比较的算法包括RSSD、FFESSD、MDSSD、YOLOV5和YOLOV6-M等单级检测算法,以及Faster-RCNN、OHEM、ION和R-FCN等两级检测算法。结果如表5所示,其中APs、APm

模型复杂度对比

模型消融实验

对比有无DP和**CAGM(图中的CM)**的效果

评价指标随着训练epoch的对比图

特征图可视化热力图

小结

本文提出了一种新颖而有效的 MwdpNet 框架,用于检测高分辨率遥感图像中的微小目标。

  • 设计了一种多层次特征加权融合策略。
  • 引入了深度感知模块(DPModule)和通道注意引导模块(CAGM)到 MwdpNet 中,

可以借鉴两个模块中的思路,提高特征提取的效果。

这篇关于遥感论文 | Scientific Reports | 一种显著提升遥感影像小目标检测的网络!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506190

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee