前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于YOLOv8的遥感小目标车辆检测,加入一种基于内容引导注意力(CGA)+SPDConv卷积魔改,助力遥感检测

基于YOLOv8的遥感小目标车辆检测,加入一种基于内容引导注意力(CGA)+SPDConv卷积魔改,助力遥感检测

原创
作者头像
AI小怪兽
发布2024-07-23 10:23:22
4270
发布2024-07-23 10:23:22
举报
文章被收录于专栏:YOLO大作战

💡💡💡本文主要内容:详细介绍了遥感小目标车辆检测整个过程,从数据集到训练模型到结果可视化分析,以及如何优化提升检测性能。

💡💡💡加入 一种基于内容引导注意力(CGA)的混合融合方案 ,mAP@0.5由原始的0.870提升至0.882

💡💡💡加入内容引导注意力(CGA)+SPDConv卷积魔改方案,mAP@0.5由原始的0.870提升至0.896

1.小目标检测介绍

1.1 小目标定义

1)以物体检测领域的通用数据集COCO物体定义为例,小目标是指小于32×32个像素点(中物体是指32*32-96*96,大物体是指大于96*96); 2)在实际应用场景中,通常更倾向于使用相对于原图的比例来定义:物体标注框的长宽乘积,除以整个图像的长宽乘积,再开根号,如果结果小于3%,就称之为小目标;

1.2 难点

1)包含小目标的样本数量较少,这样潜在的让目标检测模型更关注中大目标的检测;

2)由小目标覆盖的区域更小,这样小目标的位置会缺少多样性。我们推测这使得小目标检测的在验证时的通用性变得很难;

3)anchor难匹配问题。这主要针对anchor-based方法,由于小目标的gt box和anchor都很小,anchor和gt box稍微产生偏移,IoU就变得很低,导致很容易被网络判断为negative sample;

4)它们不仅仅是小,而且是难,存在不同程度的遮挡、模糊、不完整现象;

等等难点

参考论文:http://sjcj.nuaa.edu.cn/sjcjycl/article/html/202103001

1. 3 遥感小目标数据集

数据集大小:训练集2100张,验证集900

细节图

2.基于YOLOv8的遥感小目标车辆检测

2.1 修改vehicle.yaml

代码语言:javascript
复制
path: ./data/vehicle/  # dataset root dir
train: images/train2017   # train images (relative to 'path') 118287 images
val: images/val2017  # val images (relative to 'path') 5000 images

# number of classes
nc: 1

# class names
names:
  0: vehicle

2.2 开启训练

代码语言:javascript
复制
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/v8/yolov8n.yaml')
    model.train(data='data/ExDark_yolo/vehicle.yaml',
                cache=False,
                imgsz=640,
                epochs=200,
                batch=16,
                close_mosaic=10,
                workers=0,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train',
                name='exp',
                )

3.结果可视化分析

代码语言:javascript
复制
YOLOv8n summary (fused): 168 layers, 3005843 parameters, 0 gradients, 8.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 29/29 [00:49<00:00,  1.72s/it]
                   all        900       6917      0.876      0.823       0.87      0.323

PR_curve.png :PR曲线中的P代表的是precision(精准率)R代表的是recall(召回率),其代表的是精准率与召回率的关系。

4.如何优化模型

💡💡💡创新点:提出了一种基于内容引导注意力(CGA)的混合融合方案,将编码器部分的低级特征与相应的高级特征有效融合。

💡💡💡如何跟YOLOv8结合:将backbone和neck的特征融合,改进结构图如下

4.1.1 实验结果分析

mAP@0.5由原始的0.870提升至0.882

4.2 加入SPDConv模块

1)SPDConv模块:为了更好的提取输入数据中的关键结构信息,我们使用spdconv替换了原有的卷积模块,这一替换有效提升了模型在复杂环境下的特征提取能力,增强了模型对小目标和微弱目标的检测能力。

4.3 CGA+SPDConv结果分析

mAP@0.5由原始的0.870提升至0.896

代码语言:javascript
复制
YOLOv8_SPD-CGAFusion summary (fused): 216 layers, 3604404 parameters, 0 gradients, 52.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 113/113 [00:41<00:00,  2.70it/s]
                   all        900       6917      0.909      0.846      0.896      0.349

原文链接:https://blog.csdn.net/m0_63774211/article/details/140608323

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.小目标检测介绍
    • 1.1 小目标定义
      • 1.2 难点
        • 1. 3 遥感小目标数据集
        • 2.基于YOLOv8的遥感小目标车辆检测
          • 2.1 修改vehicle.yaml
            • 2.2 开启训练
            • 3.结果可视化分析
            • 4.如何优化模型
              • 4.1.1 实验结果分析
                • 4.2 加入SPDConv模块
                  • 4.3 CGA+SPDConv结果分析
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档