【darknet】【reorg】yolo配置文件的参数说明和reorg层的理解!



1、yolo V2配置文件的说明:


 
 
  1. [net]
  2. batch= 64 每batch个样本更新一次参数。
  3. subdivisions= 8 如果内存不够大,将batch分割为subdivisions个子batch,每个子batch的大小为batch/subdivisions。
  4. 在darknet代码中,会将batch/subdivisions命名为batch。
  5. height= 416 input图像的高
  6. width= 416 Input图像的宽
  7. channels= 3 Input图像的通道数
  8. momentum= 0.9 动量
  9. decay= 0.0005 权重衰减正则项,防止过拟合
  10. angle= 0 通过旋转角度来生成更多训练样本
  11. saturation = 1.5 通过调整饱和度来生成更多训练样本
  12. exposure = 1.5 通过调整曝光量来生成更多训练样本
  13. hue= .1 通过调整色调来生成更多训练样本
  14. learning_rate= 0.0001 初始学习率
  15. max_batches = 45000 训练达到max_batches后停止学习
  16. policy=steps 调整学习率的policy,有如下policy:CONSTANT, STEP, EXP, POLY, STEPS, SIG, RANDOM
  17. steps= 100, 25000, 35000 根据batch_num调整学习率
  18. scales= 10, .1, .1 学习率变化的比例,累计相乘
  19. [convolutional]
  20. batch_normalize= 1 是否做BN
  21. filters= 32 输出多少个特征图
  22. size= 3 卷积核的尺寸
  23. stride= 1 做卷积运算的步长
  24. pad= 1 如果pad为 0,padding由 padding参数指定。如果pad为 1,padding大小为size/ 2
  25. activation=leaky 激活函数:
  26. logistic,loggy,relu,elu,relie,plse,hardtan,lhtan,linear,ramp,leaky, tanh,stair
  27. [maxpool]
  28. size= 2 池化层尺寸
  29. stride= 2 池化步进
  30. [convolutional]
  31. batch_normalize= 1
  32. filters= 64
  33. size= 3
  34. stride= 1
  35. pad= 1
  36. activation=leaky
  37. [maxpool]
  38. size= 2
  39. stride= 2
  40. ......
  41. ......
  42. #######
  43. [convolutional]
  44. batch_normalize= 1
  45. size= 3
  46. stride= 1
  47. pad= 1
  48. filters= 1024
  49. activation=leaky
  50. [convolutional]
  51. batch_normalize= 1
  52. size= 3
  53. stride= 1
  54. pad= 1
  55. filters= 1024
  56. activation=leaky
  57. [route] 这是指用当前层减去 9得到的那一层来进行特征组合
  58. layers= -9
  59. [reorg] 这里是把上面得到大分辨率的特征图以什么方式组合到当前层,成为当前层的特征。其中stride的值要根据大分辨率特征图跟当前层来确定的
  60. stride= 2
  61. [route]
  62. layers= -1, -3
  63. [convolutional]
  64. batch_normalize= 1
  65. size= 3
  66. stride= 1
  67. pad= 1
  68. filters= 1024
  69. activation=leaky
  70. [convolutional]
  71. size= 1
  72. stride= 1
  73. pad= 1
  74. filters= 125 region前最后一个卷积层的filters数是特定的,计算公式为filter=num*(classes+ 5)
  75. 5的意义是 5个坐标,论文中的tx,ty,tw,th,to
  76. activation=linear
  77. [region]
  78. anchors = 1.08, 1.19, 3.42, 4.41, 6.63, 11.38, 9.42, 5.11, 16.62, 10.52 预选框,可以手工挑选,
  79. 也可以通过k means 从训练样本中学出
  80. bias_match= 1
  81. classes= 20 网络需要识别的物体种类数
  82. coords= 4 每个box的 4个坐标tx,ty,tw,th
  83. num= 5 每个grid cell预测几个box,和anchors的数量一致。当想要使用更多anchors时需要调大num,且如果调大num后训练时Obj趋近 0的话可以尝试调大object_scale
  84. softmax= 1 使用softmax做激活函数
  85. jitter= .2 通过抖动增加噪声来抑制过拟合
  86. rescore= 1 暂理解为一个开关,非 0时通过重打分来调整l.delta(预测值与真实值的差)
  87. object_scale= 5 栅格中有物体时,bbox的confidence loss对总loss计算贡献的权重
  88. noobject_scale= 1 栅格中没有物体时,bbox的confidence loss对总loss计算贡献的权重
  89. class_scale= 1 类别loss对总loss计算贡献的权重
  90. coord_scale= 1 bbox坐标预测loss对总loss计算贡献的权重
  91. absolute= 1
  92. thresh = .6
  93. random= 0 random为 1时会启用Multi-Scale Training,随机使用不同尺寸的图片进

2、reorg层的理解:

这里写图片描述

其输出的网络结构:


 
 
  1. layer filters size input output
  2. 0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32
  3. 1 max 2 x 2 / 2 416 x 416 x 32 -> 208 x 208 x 32
  4. 2 conv 64 3 x 3 / 1 208 x 208 x 32 -> 208 x 208 x 64
  5. 3 max 2 x 2 / 2 208 x 208 x 64 -> 104 x 104 x 64
  6. 4 conv 128 3 x 3 / 1 104 x 104 x 64 -> 104 x 104 x 128
  7. 5 conv 64 1 x 1 / 1 104 x 104 x 128 -> 104 x 104 x 64
  8. 6 conv 128 3 x 3 / 1 104 x 104 x 64 -> 104 x 104 x 128
  9. 7 max 2 x 2 / 2 104 x 104 x 128 -> 52 x 52 x 128
  10. 8 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256
  11. 9 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128
  12. 10 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256
  13. 11 max 2 x 2 / 2 52 x 52 x 256 -> 26 x 26 x 256
  14. 12 conv 512 3 x 3 / 1 26 x 26 x 256 -> 26 x 26 x 512
  15. 13 conv 256 1 x 1 / 1 26 x 26 x 512 -> 26 x 26 x 256
  16. 14 conv 512 3 x 3 / 1 26 x 26 x 256 -> 26 x 26 x 512
  17. 15 conv 256 1 x 1 / 1 26 x 26 x 512 -> 26 x 26 x 256
  18. 16 conv 512 3 x 3 / 1 26 x 26 x 256 -> 26 x 26 x 512
  19. 17 max 2 x 2 / 2 26 x 26 x 512 -> 13 x 13 x 512
  20. 18 conv 1024 3 x 3 / 1 13 x 13 x 512 -> 13 x 13 x1024
  21. 19 conv 512 1 x 1 / 1 13 x 13 x1024 -> 13 x 13 x 512
  22. 20 conv 1024 3 x 3 / 1 13 x 13 x 512 -> 13 x 13 x1024
  23. 21 conv 512 1 x 1 / 1 13 x 13 x1024 -> 13 x 13 x 512
  24. 22 conv 1024 3 x 3 / 1 13 x 13 x 512 -> 13 x 13 x1024
  25. 23 conv 1024 3 x 3 / 1 13 x 13 x1024 -> 13 x 13 x1024
  26. 24 conv 1024 3 x 3 / 1 13 x 13 x1024 -> 13 x 13 x1024
  27. 25 route 16 //指的是第16层
  28. 26 reorg / 2 26 x 26 x 512 -> 13 x 13 x2048 //把16层网络进行重整
  29. 27 route 26 24 //指的是进行融合的网络
  30. 28 conv 1024 3 x 3 / 1 13 x 13 x3072 -> 13 x 13 x1024
  31. 29 conv 125 1 x 1 / 1 13 x 13 x1024 -> 13 x 13 x 125
  32. 30 detection














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值