当前位置:   article > 正文

基于轻量级YOLOv5开发构建鸟类检测识别分析系统_yolov5单类别检测

yolov5单类别检测

在一些特殊场景诸如:环保、湿地公园、电力设施等,鸟类是一个很大的安全隐患,有效地监测到鸟类并及时预警驱逐对于安全正常地生产进行有着重要的作用。这里主要是基于前文的基础上开发构建的轻量级的鸟类检测系统,首先看下效果:

接下来看下数据集:

YOLO格式标注文件如下:

实例标注内容如下所示:

0 0.51875 0.501389 0.579167 0.863889

VOC格式标注文件如下所示:

实例标注内容如下所示:

  1. <annotation>
  2. <folder>DDDD</folder>
  3. <filename>00c25dd7-03f3-4cc8-bc82-c5d21088df21.jpg</filename>
  4. <source>
  5. <database>The DDDD Database</database>
  6. <annotation>DDDD</annotation>
  7. <image>DDDD</image>
  8. </source>
  9. <owner>
  10. <name>YSHC</name>
  11. </owner>
  12. <size>
  13. <width>361</width>
  14. <height>500</height>
  15. <depth>3</depth>
  16. </size>
  17. <segmented>0</segmented>
  18. <object>
  19. <name>Carolina_Wren</name>
  20. <pose>Unspecified</pose>
  21. <truncated>0</truncated>
  22. <difficult>0</difficult>
  23. <bndbox>
  24. <xmin>114</xmin>
  25. <ymin>102</ymin>
  26. <xmax>250</xmax>
  27. <ymax>222</ymax>
  28. </bndbox>
  29. </object>
  30. </annotation>

这里因为是单类别的检测,且整体数据集观察发现,数据是比较清晰直观的,所以直接采用了YOLOv5最轻量的n系列的模型,如下:

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

默认执行100次的迭代计算,如下:

混淆矩阵

F1曲线:

LABEL可视化:

PR曲线

batch计算实例:

可以看到:检测识别的效果是非常不错的,而且置信度都很高。

可视化推理样例如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/295059
推荐阅读
相关标签
  

闽ICP备14008679号