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


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

    首先来看效果图:

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

    首先来看下数据集:

     标注文件如下所示:

     模型配置如下:

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

    训练完成结果如下所示:

     标签可视化如下:

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

    F1值曲线:

     PR曲线:

     混淆矩阵:

     训练过程评估:

     batch检测样例:

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

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

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

  • 相关阅读:
    小谈设计模式(18)—适配器模式
    nacos 源码阅读 发布订阅模式
    MFC中LIST控件的问题
    【Rust日报】2022-06-22 Rust 连续第 7 年成为最受喜爱的语言
    【Mysql】有关数据表中存在重复数据问题解决方案(已实现mysql类型的sql)
    【js基础】js中常用的操作数组的方法
    【附源码】计算机毕业设计JAVA药品管理系统演示录像 2021
    视图!!!
    微服务系统设计——API 网关服务设计
    vue.js 短连接 动态连接
  • 原文地址:https://blog.csdn.net/Together_CZ/article/details/128137140