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

转载 2018年04月17日 15:37:55

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

原创 2017年09月19日 17:31:50

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



YOLO v2 reorg 学习

reorg layer 示意图
  • u012235274
  • u012235274
  • 2016-12-29 10:07:20
  • 4367

目标检测:YOLOv2的cfg转换成caffe的prototxt

yolov1的caffe实现 https://github.com/xingwangsfu/caffe-yolo 里面有提供cfg到prototxt的转换脚本,照着改就可以实现v2版本的转换,就不...
  • lilai619
  • lilai619
  • 2017-08-11 13:54:00
  • 4471

深度学习目标检测(object detection)系列(八)YOLO2

深度学习目标检测(object detection)系列(一) R-CNN 深度学习目标检测(object detection)系列(二) SPP-Net 深度学习目标检测(object de...
  • chaipp0607
  • chaipp0607
  • 2018-02-12 23:55:35
  • 139

yolo2中region_layer理解未完成版

一直想知道配置文件和各层之间是怎么传递参数的,就从想自己做好检测和分类的一个模型中的region曾开始,看源码,一开始时还可以看得进去,可是这两天脑袋进水老是魂不守舍,先记录在此,稍后继续.........
  • Allyli0022
  • Allyli0022
  • 2017-12-13 17:16:45
  • 505

YOLO源码详解(三)- 前向传播(forward)

本系列作者:木凌 时间:2016年11月。 文章连接:http://blog.csdn.net/u014540717 QQ交流群:554590241 一、主函数void forward_netwo...
  • u014540717
  • u014540717
  • 2016-11-19 17:55:31
  • 10809

YOLO源码详解(二)- 函数剖析

本系列作者:木凌 时间:2016年11月。 文章连接:http://blog.csdn.net/u014540717 QQ交流群:554590241...
  • u014540717
  • u014540717
  • 2016-11-17 00:11:59
  • 10998

网站带宽与流量关系

假设一个网站流量是4000GByte/月,很多人没有概念,这到底是多少的带宽(单位是Mbit/s)?以及这4000GB流量可以支持多少IP访问呢? 首先,你自己算一下你的网站有多少PV(页面访问量,1...
  • zying106
  • zying106
  • 2011-02-24 10:49:00
  • 1640

YOLOV2参数详解

原博客:http://blog.csdn.net/fate_fjh/article/details/70598510 前言 You Only Look Once (YOLO) 是一个基于G...
  • xiaoye5606
  • xiaoye5606
  • 2017-06-02 15:50:39
  • 3977

YOLO算法的Caffe实现

YOLO算法有多种实现版本,论文中的作者的实现是在darknet框架下,可以参考链接:点击打开链接,darknet上已经更新到YOLO V2版本了。 这里主要讲Caffe版本的YOLO实现,主要采用y...
  • u014380165
  • u014380165
  • 2017-05-19 19:02:50
  • 10356

caffe yolo移植

yolo的官方版本依赖比较少,但是习惯用caffe了,只好动手移植过来,也算是学习下在caffe中如何写自定义的loss_layer,当做一个练习。 在复现yolo的过程中,挣扎了好长时间,主要是训...
  • wuzhiyang95_xiamen
  • wuzhiyang95_xiamen
  • 2017-05-01 10:18:30
  • 1273
收藏助手
不良信息举报
您举报文章:yolo配置文件的参数说明和reorg层的理解!
举报原因:
原因补充:

(最多只允许输入30个字)