当前位置:   article > 正文

Yolov5_DOTA_OBB源码学习_dota源码

dota源码

yolov5旋转框的版本地址https://github.com/hukaixuan19970627/YOLOv5_DOTA_OBB

一、配置文件
B站学习地址:https://www.bilibili.com/video/BV1Pq4y1S7Q4?p=73

在项目的model文件夹下有各个版本的yolov5的yaml配置文件,从s-m-l-x网络依次变大,下面是yolov5m.yaml的代码内容。
运行:项目读取配置文件后解析文件配置模型每一层的内容
特点:v5配置文件比v3版本的配置文件更简洁,可读性强,易于修改(只需要修改小部分能起到v3修改大部分的效果)

# parameters
nc: 16  # number of classes
depth_multiple: 0.67  # model depth multiple
width_multiple: 0.75  # layer channel multiple

# anchors coco:24,9, 37,12, 52,15 64,23, 81,19, 98,29 137,27, 199,41, 342,65
anchors:
  - [10,5, 21,10, 38,16]  # P3/8
  - [65,23, 75,53, 167,33]  # P4/16
  - [178,93, 493,80, 486,271]  # P5/32

# YOLOv5 backbone
backbone:
  # [from, number, module, args]
  [[-1, 1, Focus, [64, 3]],  # 0-P1/2
   [-1, 1, Conv, [128, 3, 2]],  # 1-P2/4
   [-1, 3, BottleneckCSP, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 3-P3/8
   [-1, 9, BottleneckCSP, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 5-P4/16
   [-1, 9, BottleneckCSP, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32
   [-1, 1, SPP, [1024, [5, 9, 13]]],
   [-1, 3, BottleneckCSP, [1024, False]],  # 9
  ]

# YOLOv5 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, BottleneckCSP, [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, BottleneckCSP, [256, False]],  # 17 (P3/8-small)

   [-1, 1, Conv, [256, 3, 2]],
   [[-1, 14], 1, Concat, [1]],  # cat head P43
   [-1, 3, BottleneckCSP, [512, False]],  # 20 (P4/16-medium)

   [-1, 1, Conv, [512, 3, 2]],
   [[-1, 10], 1, Concat, [1]],  # cat head P5
   [-1, 3, BottleneckCSP, [1024, False]],  # 23 (P5/32-large)

   [[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)
  ]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

其中,较为重要的参数是:

nc
depth_multiple
width_multiple

nc:number of class 根据检测的需要确定类别的个数

depth_multiple 模型深度参数。
在一个block有多个模块,每一个模块需要重复多次, [-1, 9, BottleneckCSP, [512]这个
BottleneckCSP模块需要重复(9×depth_multiple = 9*0.67)次
当number为1不做乘积操作,只对非1的模块进行乘积操作。

width_multiple 模型通道参数
[-1, 1, Focus, [64, 3],这个Focus模块能得到64×width_multiple = 64*0.75 = 48个特征图。

anchor 不同规格的候选框,可修改

backbone 特征提取模块
head 预测输出

[from, number, module, args]
from:当前层的输入,-1表示上一层的输入
number:模块重复个数
module:模块名
args:通道和卷积和的个数。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号