目标检测论文解读复现之十五:基于YOLOv5的光学遥感图像舰船 目标检测算法

news2024/11/27 15:32:39

前言

此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人已进行创新点代码复现,有需要的朋友可关注私信我。

一、摘要

针对YOLOv5算法在应用于光学遥感图像舰船目标检测任务时所面临的小目标误检率、漏检率较高的情况,提出一种基于YOLOv5改进的光学遥感图像舰船目标检测方法。首先对路径聚合网络结构进行改进,设计语义信息增强模块提取更富语义信息的浅层特征,增强对小目标特征的表达能力;然后使用Swish函数作为激活函数,提高网络对数据非线性特征的表征能力,加快模型的收敛速度;最后针对舰船目标的尺寸特点优化检测端结构,移除大目标检测头以减少推理计算量。测试集上的实验表明:该方法相较改进前将检测精度提高了5.2%且推理时间有所减少,在保证检测实时性的同时增强了模型的小目标辨别能力。

二、网络模型及核心创新点

1.语义信息增强模块

2. Swish激活函数

3. 检测端的优化

三、应用数据集

本文实验数据采用Kaggle平台公开的用于舰船检测的遥感图像数据集,数据集中的舰船目标普遍较小且位置分布随机,同时包含有陆地、港口、海面等背景并受到云雾、雨、雪等多种气候干扰。

四、实验效果(部分展示)

1. 为说明改进模型能够提取到更鲁棒的特征,采用Grad-Cam++[30]方法,在模型的检测端对各检测头的特征图进行加权组合,获得含有类别信息的显著图,即类激活图。下图分别绘制了YOLOv5s原始模型检测端以及改进模型检测端的类激活图。

2. 下图展示了改进模型在误检及漏检问题上相较于原始模型的改善,分别选取2张图像说明改进模型在舰船目标大小差异大、目标间位置关系复杂等情况下的检测效果。

五、实验结论

实验表明:改进后的模型在保证实时性的前提下将检测精度AP提高了5.2%,达到了减少小尺寸舰船目标漏检和误检情况的目的。

六、投稿期刊介绍

注:论文原文出自成倩,李佳,杜娟.基于YOLOv5的光学遥感图像舰船目标检测算法[J/OL].系统工程与电子技术.

https://kns.cnki.net/kcms/detail/11.2422.tn.20220712.0940.008.html

解读的系列文章,本人已进行创新点代码复现,有需要的朋友可关注下面公众号,私信我。

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

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

相关文章

关于商业智能BI,今天只谈这五点

数据在当下的价值不断提高,但数据本身只是一种资产,一旦超过一定数据量就很难被人类理解,所以想要利用数据,就必须将数据转化为信息和知识,让管理者看到的是信息,而不是数据堆砌。 之前的文章里写过很多关…

打了10次电话,才总结出来的抖音封号原因分析,能避免大量封号

真正做过视频的人,应该是经常会面对封号 ,如果你号都没有封过,说明你还没有真正开始过 。这个话不是我讲的,是和一个日入3万的大V聊天,他说给我听的。你觉得这话对么?无论任何平台 ,都不会无缘无故封你号 ,平台需要大量的作者去生成内容 ,在符…

马来酰亚胺聚谷氨酸天冬氨酸聚合物药物载顺铂/mPEg-PGA纳米微球的制备

小编在此整理了马来酰亚胺聚谷氨酸天冬氨酸聚合物药物载顺铂/mPEg-PGA纳米微球的制备步骤,与小编一同来看! 载顺铂mPEg-PGA纳米微球的制备: 采用生物相容性好,生物可降解的mPEG-PGA聚合物作为药物载体,通过膜透析法制备了负载顺铂纳米微球,以…

CAN总线在OSI模型中层级

ISO14229-1仅规定了应用层的实现,诊断可以基于不同的总线去实施,以基于CAN的UDS最为广泛。本文开始将陆续介绍CAN总线协议的规范与开发。 关联文章:UDS的OSI模型 文章目录OSI模型与CAN的关系在各层中CAN定义事项CAN总线网络ISO11898 和 ISO…

如何保证优秀的医疗器械设计?

如何保证优秀的产品设计?医疗器械设计领域的出现不是一蹴而就的,而是经历了时间的沉淀。 医疗设备的设计责任重大。这些产品有机会改变和拯救生命。它们可以在市场上销售几年或更长时间,这将影响人们管理自己或他人健康的方式。所以,医疗产品…

报错与解决 | 应用程序无法启动0x7b mysql

文章目录报错解决办法成功解决问题报错 根据“MySQL下载安装使用-完整详细步骤”下载安装好MySQL后,以管理员身份启动cmd,输入: "D:\mysql\mysql-5.7.31-winx64\bin \mysqld.exe" --initialize-insecure # 自己的mysql安装目录 …

C语言easyx颜色模块+案例

c语言exsyx学习颜色模型rgbhsvhsv转换为rgb案例 绘制彩虹窗体案例 绘制天空和彩虹画面颜色模型 1.1 什么是RGB颜色模型 不知道你有没有近距离看过各种电子显示屏。若非常近距离的观察电子显示屏,可以发现屏幕居然是由 一个一个的红色、绿色、蓝色的小点组成。 红…

毕业设计 - SSM中药店商城系统(含源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.3 系统结构设计4 项目获取1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品,【基于SSM的中药店商…

半年销售100万辆 关注比亚迪后300万时代

11月16日,比亚迪第300万辆新能源汽车下线发布在比亚迪全球总部举行,标志着比亚迪成为首个达成这一里程碑的中国品牌。从“第1辆新能源汽车到第100万辆新能源汽车”用时13年、从“100万到200万”用时1年,从“200万到300万”仅用时半年&#xf…

HTML5——周技能检测——菜单编辑——2022年11月22日(考完)

HTML5——周技能检测——菜单编辑——2022年11月22日(考完) 一、语言和环境 1. 实现语言:HTML5。 2. 开发环境:VScode。 二、要求 1、完成下列菜单显示效果。 2、添加【:hover】选择器,鼠标悬停在文字上方时文字…

全面详解云计算

【导读】本文从企业IT建设发展痛点解析入手,从云计算的标准定义、云平台分类、云计算优劣势分析,到企业规模、业务类型与云平台适用以及企业上云流程简析,全面详解云计算,结合作者的思考和观点,为读者认识云计算提供一个全景式的概貌。 前言 大数据、人工智能、云计算可…

C++ 手动实现双线链表(作业版)

双向链表&#xff0c;并实现增删查改等功能 首先定义节点类&#xff0c;类成员包含当前节点的值&#xff0c; 指向下一个节点的指针和指向上一个节点的指针 //节点定义 template <typename T> class Node { public:Node<T>* prior;T value;Node<T>* next;N…

Python对Excel的读取

在python自动化中&#xff0c;经常会遇到对数据文件的操作&#xff0c;比如添加多名员工&#xff0c;但是直接将员工数据写在python文件中&#xff0c;不但工作量大&#xff0c;要是以后再次遇到类似批量数据操作还会写在python文件中吗&#xff1f; 应对这一问题&#xff0c;可…

【OpenDDS开发指南V3.20】第七章:运行时配置

配置方式 OpenDDS 包括一个基于文件的配置框架,用于配置全局选项以及与特定发布者和订阅者相关的选项,例如发现和传输配置。 OpenDDS 还允许通过命令行对有限数量的选项和配置 API 进行配置。 本章总结了 OpenDDS 支持的配置选项。 OpenDDS 配置涉及三个主要领域: 通用配…

QT 实现简单的天气 哈哈

前 言 前段时间开始接触QT&#xff0c;想着没事学习一下QT&#xff0c;这个小列子主要是用到了QJSON 和QNetworkAccessManager 来实现&#xff0c;QJSON 主要是用来json格式文件的解析&#xff0c;QNetworkAccessManager 主要来实现网络请求。 界面展示 界面上看非常low&…

解决java: 程序包org.springframework.boot不存在的解决方法

问题描述 最近IDEA抽风了&#xff0c;不管是新建SpringBoot工程&#xff0c;还是导入项目。 IDEA代码里面都会飘红~ Build项目时&#xff0c;会提示错误&#xff1a;错误:(3, 32) java: 程序包org.springframework.boot不存在 后来找到一个靠谱的解决方案&#xff0c;建议使…

Java如何安装https证书

Java为什么需要证书&#xff1f; 出于安全的考虑&#xff0c;很多网站都使用https 协议&#xff0c;而要访问一个https 的站点则需要一个证书文件&#xff0c;这些证书文件由CA (Certificate Authority) 颁布&#xff0c; 各站点将这些认证过的证书放在各自的服务器上&#xf…

深度解析:为何在 SwiftUI 视图的 init 初始化器里无法更改 @State 的值?

问题现象 如下代码所示,我们希望用 “hopy” 初始化 ContentView 中的 secret 属性,但是最终 ContentView 显示时, secret 的值仍旧为默认值 “none” ! 为什么会出现这种情况呢? 其实答案就在 @State 包装器属性内部实现机制上,它比表面看起来要复杂那么一丢丢。 在本…

第十四届校模拟赛第一期(一)

“须知少时凌云志&#xff0c;自许人间第一流” 鄙人11月八号有幸参加学校校选拔赛&#xff0c;题型为5道填空题&#xff0c;5道编程题&#xff0c;总时间为4小时。奈何能力有限&#xff0c;只完成了5道填空和3道编程大题&#xff0c;现进行自省自纠&#xff0c;分享学习&#…

Unity | Cinemachine 2D 设置边界及错误记录

1 背景介绍 在使用大地图的项目中&#xff0c;通常需要摄像机跟随玩家移动&#xff0c;而且需要根据地图尺寸限制摄像机的边界 借助 Cinemachine 及其扩展组件 CinemachineConfiner 可以很方便的实现该功能&#xff0c;但这次遇见一个问题&#xff1a;运行时&#xff0c;当摄…