基于yolov5n的轻量级MSTAR遥感影像目标检测系统设计开发实战

news/2024/12/27 17:07:55/

做过很多目标检测类的项目了,最近看到一个很早之前用过的数据集MSTAR,之前老师给的任务是基于这个数据集来搭建图像识别模型,殊不知他也是可以用来做目标检测的,今天正好有点时间就想着基于这个数据集来做一下目标检测实践。

首先来看效果图:

 这里选用的模型是yolov5系列的最轻量级的原生的检测模型yolov5n,主要是想快点训练完,毕竟服务器还是有其他的任务要用到的,训练还是挺快的,大概六个小时结束了。

首先来看下数据集:

 标注文件如下所示:

 模型配置如下:

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license# Parameters
nc: 10  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.25  # layer channel multiple
anchors:- [10,13, 16,30, 33,23]  # P3/8- [30,61, 62,45, 59,119]  # P4/16- [116,90, 156,198, 373,326]  # P5/32# YOLOv5 v6.0 backbone
backbone:# [from, number, module, args][[-1, 1, Conv, [64, 6, 2, 2]],  # 0-P1/2[-1, 1, Conv, [128, 3, 2]],  # 1-P2/4[-1, 3, C3, [128]],[-1, 1, Conv, [256, 3, 2]],  # 3-P3/8[-1, 6, C3, [256]],[-1, 1, Conv, [512, 3, 2]],  # 5-P4/16[-1, 9, C3, [512]],[-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32[-1, 3, C3, [1024]],[-1, 1, SPPF, [1024, 5]],  # 9]# YOLOv5 v6.0 head
head:[[-1, 1, Conv, [512, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 6], 1, Concat, [1]],  # cat backbone P4[-1, 3, C3, [512, False]],  # 13[-1, 1, Conv, [256, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 4], 1, Concat, [1]],  # cat backbone P3[-1, 3, C3, [256, False]],  # 17 (P3/8-small)[-1, 1, Conv, [256, 3, 2]],[[-1, 14], 1, Concat, [1]],  # cat head P4[-1, 3, C3, [512, False]],  # 20 (P4/16-medium)[-1, 1, Conv, [512, 3, 2]],[[-1, 10], 1, Concat, [1]],  # cat head P5[-1, 3, C3, [1024, False]],  # 23 (P5/32-large)[[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)]

训练完成结果如下所示:

 标签可视化如下:

 可以看到:不同类别的目标对象的数据量相对来说还是比较均衡的。

F1值曲线:

 PR曲线:

 混淆矩阵:

 训练过程评估:

 batch检测样例:

 为了使用直观,这里开发了界面,实现推理过程的可视化,如下:

 点击【上传图像】即可从本地选取图像上传到系统界面中,如下:

 点击【目标检测识别】即可启动推理计算,如下:


http://www.ppmy.cn/news/621.html

相关文章

keychron矮轴无线机械键盘简直就是yyds

一、背景 日常生活中,我们都离不开键盘,游戏党打游戏要键盘, 工作人员无论使用台式电脑还是笔记本操作都离不开键盘,尤其程序员这一族,键盘简直就是敲代码的灵魂。随着经济和科技飞速发展,我们早已不在像从…

【读论文】GANMcC

GANMcC简单介绍网络结构生成器辨别器损失函数生成器损失函数辨别器tips总结参考论文:https://ieeexplore.ieee.org/document/9274337 如有侵权请联系博主 这几天又读了一篇关于GAN实现红外融合的论文,不出意外,还是FusionGAN作者团队的人写…

下班路上捡了一部手机,我用8年开发知识主动找到了失主

☆ 我们学习开发知识,其实并不是只解决当前用户的需求,实现UI原型的还原,不应该只把自己嵌套在当前的浏览器或者某个docker的环境下。 因为不管你在tomcat或者数据库里折腾得再欢,可能到了生活中发现自己失去了超能力。 ☆ 记得有…

你是否还记得有一款游戏叫做“魔塔”?

目录 前言 正文 游戏介绍: 游戏开发制作流程 1.收集素材 2.创建攻击函数 2.1 定义两个对象(主角和怪物) 2.2 函数输出为【0】表示打不过,胜利输出受损生命值,设置 cancel 可以撤销本次战斗即回到之前状态 2.…

星起航跨境:跨境卖家可以这样获得好评,稳步提升销量

据调查数据显示,90%以上的消费者购物之前会先查看产品评论,好的评价能促进产品更快地转化,不好的评价还会对产品listing权重产生一定的影响。例如:在产品listing的评价较少的情况下,一个1星差评在listing展示超过3天之…

Go-Windows环境的快速搭建

下载 Downloads - The Go Programming Language 或者直接到指定版本下载可以根据个人喜好,下载zip或者执行版 下载后文件夹 查看版本 必须查看版本,通过go version命令进行查看最新版本1.19.3版本 配置的GoPath 已经自动配置进去 需要重新进入一个新的…

pcl中MomentOfInertiaEstimation解析与实例

pcl中features模块又基于惯性矩和偏心率的描述子,也可以求取点云的AABB和OBB包围盒,在计算的过程中法线一些问题,特此记录。 针对惯性矩和偏心率这两个数据的应用场景还不明确,因此暂时不做讨论,主要讨论求取OBB时的代…

C语言详细知识点(下)

⛄️上一篇⛄️C语言详细知识点(上) 文章目录五、数组1、一维数组的定义及使用2、二维数组的定义及使用3、字符数组的定义及使用六、函数1、函数的定义2、函数的调用3、函数的声明4、函数的嵌套调用5、函数的递归调用七、指针1、什么是指针2、指针变量3、…