• YOLOv7实验测试之二:遥感图像检测应用(yolov7-tiny-silu.yaml)


    需要更多程序资料以及答疑欢迎大家关注——微信公众号:人工智能AI算法工程师 

    前期一直没有时间跑YOLOv7源码,今天对YOLOv7在NWPU-10遥感图像数据集上进行实验测试,现将实验训练以及评估过程分享如下,希望对大家有帮助。为了客观分享,我对整个过程进行了截图,能够让大家看到我的实验参数以及实验设置。先说结论,珍惜时间。

    一、结论

        训练过程用了0.55个小时,得到的权值文件为11.77MB,mAP为89.3%,与YOLOv5s对比来看,YOLOv5s(5.0版本)在nwpu-10数据集上mAP可以达到91.7%,权值文件为13MB,实验设置几乎一致的前提下。目前来看,该算法与YOLOv5s对比来看,相差不大,可能综合整体来说稍微有所提升,没有想象中那样提高很大的精度,有很惊人的表现。

    个人建议:有需要发论文的朋友,可以改YOLOv7网络,之前也分享很多改进方法也可以用到V7,可以在其他数据集上进行尝试。但是网络结构比较多,比较难画图,还不如YOLOv5好用,个人倾向于用V7来做对比试验验证自己算法优越性。

    二、训练过程:选择YOLOv7.yaml配置文件,具体超参数以及实验过程如下所示

    1. # parameters
    2. nc: 80 # number of classes
    3. depth_multiple: 1.0 # model depth multiple
    4. width_multiple: 1.0 # layer channel multiple
    5. # anchors
    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. # YOLOv7-tiny backbone
    11. backbone:
    12. # [from, number, module, args]
    13. [[-1, 1, Conv, [32, 3, 2]], # 0-P1/2
    14. [-1, 1, Conv, [64, 3, 2]], # 1-P2/4
    15. [-1, 1, Conv, [32, 1, 1]],
    16. [-2, 1, Conv, [32, 1, 1]],
    17. [-1, 1, Conv, [32, 3, 1]],
    18. [-1, 1, Conv, [32, 3, 1]],
    19. [[-1, -2, -3, -4], 1, Concat, [1]],
    20. [-1, 1, Conv, [64, 1, 1]], # 7
    21. [-1, 1, MP, []], # 8-P3/8
    22. [-1, 1, Conv, [64, 1, 1]],
    23. [-2, 1, Conv, [64, 1, 1]],
    24. [-1, 1, Conv, [64, 3, 1]],
    25. [-1, 1, Conv, [64, 3, 1]],
    26. [[-1, -2, -3, -4], 1, Concat, [1]],
    27. [-1, 1, Conv, [128, 1, 1]], # 14
    28. [-1, 1, MP, []], # 15-P4/16
    29. [-1, 1, Conv, [128, 1, 1]],
    30. [-2, 1, Conv, [128, 1, 1]],
    31. [-1, 1, Conv, [128, 3, 1]],
    32. [-1, 1, Conv, [128, 3, 1]],
    33. [[-1, -2, -3, -4], 1, Concat, [1]],
    34. [-1, 1, Conv, [256, 1, 1]], # 21
    35. [-1, 1, MP, []], # 22-P5/32
    36. [-1, 1, Conv, [256, 1, 1]],
    37. [-2, 1, Conv, [256, 1, 1]],
    38. [-1, 1, Conv, [256, 3, 1]],
    39. [-1, 1, Conv, [256, 3, 1]],
    40. [[-1, -2, -3, -4], 1, Concat, [1]],
    41. [-1, 1, Conv, [512, 1, 1]], # 28
    42. ]
    43. # YOLOv7-tiny head
    44. head:
    45. [[-1, 1, Conv, [256, 1, 1]],
    46. [-2, 1, Conv, [256, 1, 1]],
    47. [-1, 1, SP, [5]],
    48. [-2, 1, SP, [9]],
    49. [-3, 1, SP, [13]],
    50. [[-1, -2, -3, -4], 1, Concat, [1]],
    51. [-1, 1, Conv, [256, 1, 1]],
    52. [[-1, -7], 1, Concat, [1]],
    53. [-1, 1, Conv, [256, 1, 1]], # 37
    54. [-1, 1, Conv, [128, 1, 1]],
    55. [-1, 1, nn.Upsample, [None, 2, 'nearest']],
    56. [21, 1, Conv, [128, 1, 1]], # route backbone P4
    57. [[-1, -2], 1, Concat, [1]],
    58. [-1, 1, Conv, [64, 1, 1]],
    59. [-2, 1, Conv, [64, 1, 1]],
    60. [-1, 1, Conv, [64, 3, 1]],
    61. [-1, 1, Conv, [64, 3, 1]],
    62. [[-1, -2, -3, -4], 1, Concat, [1]],
    63. [-1, 1, Conv, [128, 1, 1]], # 47
    64. [-1, 1, Conv, [64, 1, 1]],
    65. [-1, 1, nn.Upsample, [None, 2, 'nearest']],
    66. [14, 1, Conv, [64, 1, 1]], # route backbone P3
    67. [[-1, -2], 1, Concat, [1]],
    68. [-1, 1, Conv, [32, 1, 1]],
    69. [-2, 1, Conv, [32, 1, 1]],
    70. [-1, 1, Conv, [32, 3, 1]],
    71. [-1, 1, Conv, [32, 3, 1]],
    72. [[-1, -2, -3, -4], 1, Concat, [1]],
    73. [-1, 1, Conv, [64, 1, 1]], # 57
    74. [-1, 1, Conv, [128, 3, 2]],
    75. [[-1, 47], 1, Concat, [1]],
    76. [-1, 1, Conv, [64, 1, 1]],
    77. [-2, 1, Conv, [64, 1, 1]],
    78. [-1, 1, Conv, [64, 3, 1]],
    79. [-1, 1, Conv, [64, 3, 1]],
    80. [[-1, -2, -3, -4], 1, Concat, [1]],
    81. [-1, 1, Conv, [128, 1, 1]], # 65
    82. [-1, 1, Conv, [256, 3, 2]],
    83. [[-1, 37], 1, Concat, [1]],
    84. [-1, 1, Conv, [128, 1, 1]],
    85. [-2, 1, Conv, [128, 1, 1]],
    86. [-1, 1, Conv, [128, 3, 1]],
    87. [-1, 1, Conv, [128, 3, 1]],
    88. [[-1, -2, -3, -4], 1, Concat, [1]],
    89. [-1, 1, Conv, [256, 1, 1]], # 73
    90. [57, 1, Conv, [128, 3, 1]],
    91. [65, 1, Conv, [256, 3, 1]],
    92. [73, 1, Conv, [512, 3, 1]],
    93. [[74,75,76], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
    94. ]

    三、评估过程:评估将iou_thres=0.5,得到mAP@0.5的值。

    预告一下:该系列下一篇将分享YOLOv7其他的轻量化的配置文件。

    如果觉得对大家有帮助,欢迎点赞收藏关注,我会继续给大家做实验提供参考。有问题也欢迎私信我。

    需要更多程序资料以及答疑欢迎大家关注——微信公众号:人工智能AI算法工程师 

  • 相关阅读:
    开源与闭源:数字化时代的辩论与未来走向
    设计模式---代理模式
    TensorFlow基本概念:张量、计算图
    面试中常见的的 web 安全问题
    redis问题:三种集群——主从、哨兵、cluster集群;16384槽等
    依赖倒置原则(Dependence Inversion Principle)
    ViT简述【Transformer】
    Guava入门~CacheBuilderSpec
    【C进阶】之定义结构体及使用typedf
    视频编解码 — DCT变换和量化
  • 原文地址:https://blog.csdn.net/m0_70388905/article/details/125907857