TGRS 2024 面向雾天遥感图像的定向目标检测算法

news2025/1/10 21:58:14

TGRS 2024 | 面向雾天遥感图像的定向目标检测算法

论文信息

摘要

目前,大量工作集中在航空目标检测上,并取得了良好的结果。尽管这些方法在传统数据集上取得了有希望的结果,但在恶劣天气条件下捕获的低质量图像中定位对象仍然具有挑战性。目前,结合航空目标检测和雾天条件的方法有限,并且很少有基于真实雾天天气的航空图像的公开可用数据集。为此,我们提出了一个数据集HRSI,真实世界中的雾天遥感图像,主要分为三类:机场、大型车辆和船只。HRSI中的所有图像都来自真实的雾天条件。此外,我们提出了一个目标检测模型DFENet,适用于雾天的雾天遥感图像的去雾特征增强模型。DFENet由两个分支和一个去雾模块组成。两个分支结构有助于充分学习雾天和去雾特征。为了避免去雾模块引起的噪声影响,我们还设计了一个雾预测模块(HPM)来预测图像中包含雾的信息。我们引入了交叉融合模块(CFM),以利用雾的信息指导两个分支的特征融合。通过利用雾的信息,DFENet可以动态调整两个分支中的特征权重,避免去雾模块产生的噪声影响。与传统目标检测方法相比,DFENet不仅在雾天条件下具有良好的性能,而且也提高了晴朗条件下的性能。我们在DOTA、HRSI和Foggy-DOTA上测试了DFENet,证明DFENet在雾天条件下表现更好。

关键词

  • 航空目标检测

  • 雾天目标检测

  • 弱监督

方法

A. 雾掩模

大气散射模型[36]通常用于量化雾天和清晰图像之间的关系,许多方法利用大气散射模型生成模糊图像,其公式如下:

其中 是雾天图像, 表示场景辐射率(清晰图像)。 是全局大气光, 是介质传输图,定义为

其中 表示大气的散射系数, 是场景深度

其中 是我们设置的基本散射系数, 是雾天级别,用于控制雾的浓度。通过控制不同的 值,我们可以获得对应不同雾浓度的

我们从上述公式中获得了对应不同浓度雾天天气场景的雾掩模 。基于此,我们从算法1中获得了雾掩模和复合雾天图像,这些雾掩模将在后续模块中使用。

B. 雾预测模块

基于大气散射模型,雾天图像可以被视为干净图像与雾层的融合。我们希望通过模型学习雾的信息,包括雾的位置信息和雾的浓度信息。首先,将模糊图像通过主干网络和FPN层处理以获得多层特征 ,其中 表示不同的层次。如图3所示,我们选择 和 ,它们分别包含图像的低级语义特征和高级语义特征。我们将 和 一起送入HPM模块,如图3所示, 和 各自通过一个卷积层,然后上采样 以获得 。我们将 和 在通道维度上进行连接以获得 。最后,我们对获得的 进行三次卷积操作,并用sigmoid激活以获得 。

C. 交叉融合模块

我们设计了一个注意力模块来接收来自两个分支的深度特征。当去雾模块获得的特征丢失了原始图像的大量细节时,模型的性能将严重下降。为此,我们设计了一个交叉燃料模块,对雾密度高的区域给予较低的权重。此时,融合特征将更多地依赖于干净图像的特征。我们希望通过加权注意力平衡清晰和模糊图像之间的关系。如图4所示,我们将从HPM获得的 作为我们的雾注意力,在训练阶段我们使用真实的标签 而不是 。首先,我们融合从主干网络获得的两个特征,其公式如下:

其中 由添加雾算法获得的雾掩模引导,可以充分反映雾浓度的分布。当雾浓度较高时, 更依赖于 ,当雾浓度较低时, 更依赖于 。我们尝试以这种方式动态整合 和 ,以便模型可以避免去雾模块的噪声影响,即使输入图像中没有雾。 将发送到一个3×3卷积以获得初始融合特征 ,我们通过以下公式获得 :

其中Conv1D是1-D卷积, 是逐元素乘法, 表示Sigmoid激活函数。通过通道注意力模块,我们可以进一步减少冗余通道并抑制特征中的噪声。 将被送入检测器进行回归和分类。

D. 动态平衡机制

我们在算法1中获得了 ,它是一个介质传输图,可以间接反映算法添加的雾的分布, 表示添加到当前图像中的雾的深度, 越大, 中心位置的权重越小。在训练过程中,每个输入的雾天图像对应一个独特的 。在图5中,我们可以看到 的权重从中心位置逐渐向外辐射。在训练过程中,我们可以使用 引导模型学习 的分布,而在推理过程中,模型可以通过HPM预测对应输入图像的 。在推理过程中,我们根据HPM预测的 平衡输入图像和去雾图像之间的特征融合。并根据以下公式合成特征:

其中 是去雾模块, 表示输入图像特征和去雾图像特征的融合特征。在图6中,我们可以看到输入雾天图像时获得的融合特征 会导致HPM预测的 权重较小, 将更倾向于去雾后的图像特征。当输入图像是清晰图像时,模型预测的 权重较大, 倾向于更倾向于清晰图像本身的特征,从而减少去雾后的清晰图像特征的影响。

G. 雾天遥感数据集

据我们所知,目前世界上公开可用的雾天遥感图像数据集很少。因此,我们提出了一个包含796张图像的HRSI数据集,大小从512×512到4000×4000不等,包括各种卫星放大倍数、方向和形状的图像。所有图像都因雾天条件差而模糊。对于特别模糊的图像,我们有多名注释者共同判断。我们在HRSI数据集中主要注释了三个类别:大型车辆、船只和飞机。这三个类别是主要的交通工具类别。对于飞机类别,我们主要选择机场的客机。对于船只类别,我们主要选择运河里的货船和邮船。对于大型车辆,我们主要选择卡车、公共汽车和卡车。我们主要从汽车站、码头、河流和机场收集图像。所有图像的像素到实际地图的比例是93:0.71(像素:米)和93:1.78(像素:米)。在浏览了大量遥感图像之后,我们进行了严格的筛选,主要选择由雾天场景引起的退化图像,大部分对象都是模糊或被雾遮挡。对于难以辨认的对象,我们已经适当地丢弃了一些。对于模糊的对象,多名工作人员将共同注释。此外,图7展示了HRSI的其他细节。在注释框方面,我们选择了与DOTA相同的OBB注释,OBB回归有五个值(x、y、w、h、a),而HBB回归有四个值(x、y、w、h),其中x和y代表边框的中心点位置,w和h代表边框的长度和宽度,a代表边框的旋转角度。OBB比常规HBB多一个角度信息,飞机、船只和卡车的形状主要是常规矩形,遥感图像中的对象具有高密度特征。直接使用非角度边框将导致边框重叠更大。因此,我们使用与DOTA一样的倾斜边框进行注释,这已被证明优于遥感图像领域的HBB型注释框,更适合遥感方向的目标检测任务。HRSI数据集的具体组成可以在表I和图8中找到我们提出的HRSI样本。

实验

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

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

相关文章

RabbitMQ 入门(四)SpringAMQP五种消息类型

一、WorkQueue(工作消息队列) Work queues,也被称为(Task queues),任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。 当消息处理比较耗时的时候,可能生产消息的速度会远远大于…

【亲测可行】ubuntu下载安装c++版opencv4.7.0和4.5.0 安装opencv4.5.0报错及解决方法

文章目录 🌕系统配置🌕打开终端,退出anacoda激活环境(如果有的话)🌕安装依赖🌙安装g, cmake, make, wget, unzip,若已安装,此步跳过🌙安装opencv依赖的库🌙安装可选依赖 …

关于md5强比较和弱比较绕过的实验

在ctf比赛题中我们的md5强弱比较的绕过题型很多,大部分都是结合了PHP来进行一个考核。这一篇文章我将讲解一下最基础的绕过知识。 MD5弱比较 比较的步骤 在进行弱比较时,PHP会按照以下步骤执行: 确定数据类型:检查参与比较的两…

要笑死了java

有一天,Java开发者Jack对他的朋友说:“最近我总感觉自己被逼得喘不过气。” 朋友问:“为什么啊?” Jack叹了口气道:“因为我一直在try里,但从来没有catch到过break!” 为什么程序员总是分不清圣…

【Ubuntu】“Linux版PhotoShop”绘图软件的安装和汉化

【Ubuntu】“Linux版PhotoShop”绘图软件的安装和汉化 零、前言 最近换了Linux系统,但是写教程做PPT的时候还是得用到绘图软件,上网一查,总结对比之后发现Krita比较好用,故此讲解一下如何安装和汉化Krita。 壹、安装 安装很简…

spring 如何将mutipartFile转存到本地磁盘

两者的区别和联系 MutipartFile是spring的一部分,File则是java的标准类MutipartFile用于接收web传递的文件,File操作本地系统的文件 MutipartFile 转换File的三种方式 使用MutipartFile 自带的transferTo方法使用java自带的FileOutPutStream流使用java自…

AirServer v7.2.7 破解版 – iPhone屏幕镜像工具

AirServer v7.2.7 破解版 – iPhone屏幕镜像工具可以将你的Mac转变为一个通用的镜像接收器,除了无法接收Miracast外,你可以使用内置的AirPlay或Google Cast基于屏幕投影功能来镜像你的设备屏幕;一次一个或同时投影到AirServer。用户可以从任何…

基于stm32的HAL库的串口实现不定长中断(空闲中断)(四)

串口实现不定长中断(空闲中断) 目录 串口实现不定长中断(空闲中断) 1、串口头文件 2、串口初始化配置 3、msp公用的一个函数这里有三个串口,都会调用msp先进行一个判断 4、对接收数组进行清空 5、中断服务函数--…

HDLBits中文版,标准参考答案 | 3.2.5 Finite State Machines | 有限状态机(5)

关注 望森FPGA 查看更多FPGA资讯 这是望森的第 20 期分享 作者 | 望森 来源 | 望森FPGA 目录 1 Q6b: FSM next-state logic | Q6b:FSM 下一状态逻辑 2 Q6c: FSM one-hot next-state logic | Q6c:FSM 独热下一状态逻辑 3 Q6: FSM 4 Q2a: FSM 5 Q2b…

R编程环境的搭建

【图书推荐】《R语言医学数据分析实践》-CSDN博客 R语言对编程环境的要求不高,可以在多种操作系统平台上运行,包括Windows、macOS和Linux。要运行R语言,需要安装R解释器。可以从R语言的官方网站下载和安装最新版本。R语言还需要一个集成开发…

【可答疑】基于51单片机的水位检测系统(含仿真、代码、报告、演示视频等)

✨哈喽大家好,这里是每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~ 🐱‍🐉这是51单片机毕业设计100篇…

postman变量,断言,参数化

环境变量 1.创建环境变量 正式环境是错误的,方便验证环境变化 2.在请求中添加变量 3.运行前选择环境变量 全局变量 能够在任何接口访问的变量 console中打印日志 console.log(responseBody);//将数据解析为json格式 var data JSON.parse(responseBody); conso…

HTML(七)表格

在HTML中&#xff0c;表格的标准形式如下&#xff1a; <table></table> 使用上面的语言&#xff0c;就已经生成了一个表格&#xff0c;只不过这个表格什么都没有 那么&#xff0c;该如何让表格存在东西呢&#xff1f; 首先&#xff0c;我们需要使用到<tr> …

sqli-labs less-26 空格绕过

空格绕过 过滤空格 用Tab代替空格%20 %09 %0a %0b %0c %0d %a0 //() 绕过空格注释符绕过//–%20//#–- -;%00; 空白字符绕过SQLite3 —— 0A,0D,0c,09,20 MYSQL 09,0A,0B,0B,0D,A0,20 PosgressSQL 0A,0D,0C,09,20 Oracle_11g 00,0A,0D,0C,09,20 MSSQL 01,02,03,04,05,06,07,…

python爬虫案例——selenium爬取淘宝商品信息,实现翻页抓取(14)

文章目录 1、任务目标2、网页分析3、代码编写3.1 代码分析3.2 完整代码1、任务目标 目标网站:淘宝(https://www.taobao.com/) 任务要求:通过selenium实现自动化抓取 淘宝美食 板块下的所有商品信息,并实现翻页抓取,最后以csv格式将数据保存至本地;如: 2、网页分析 首先…

Servlet[springmvc]的Servlet.init()引发异常

报错&#xff1a; 原因之一&#xff1a; web.xml配置文件中监听器导入依赖项错误

android——自定义控件(不停变化的textview、开关switch、动画效果的打勾)

一、从开始数字到结束数字&#xff0c;不断变化 import android.animation.TypeEvaluator; import android.animation.ValueAnimator; import android.content.Context; import android.util.AttributeSet; import android.view.animation.AccelerateDecelerateInterpolator;i…

OpenCV答题卡识别

文章目录 一、基本流程二、代码实现1.定义函数2.图像预处理&#xff08;1&#xff09;高斯模糊、边缘检测&#xff08;2&#xff09;轮廓检测&#xff08;3&#xff09;透视变换&#xff08;4&#xff09;阈值处理和轮廓检测 3.筛选和排序选项轮廓4.判断答案5.显示结果 三、总结…

ssm基于javaweb的数学竞赛网站的设计与实现+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 目 录 III 第1章 绪论 1 1.1选题动因 1 1.2目的和意义 1 1.3论文结构安排 2 第2章 开发环境与技术 …

Redis 缓存预热,缓存雪崩,缓存击穿,缓存穿透

Spring-data-redis 说明&#xff1a; 在 SpringBoot2.x 之后&#xff0c;原来使用的jedis 被替换为了 lettuce jedis : 采用的直连&#xff0c;多个线程操作的话&#xff0c;是不安全的&#xff0c;如果想要避免不安全的&#xff0c;使用 jedis pool 连接池 lettuce : 采用n…