YOLOv2学习笔记

YOLOv2

论文:YOLO9000: Better, Faster, Stronger

YOLOv2学习笔记_第1张图片

相较于YOLOv1的尝试:

  1. Batch Normalization
    • 在YOLOv1的每个卷积层后加上了BN层,加了BN层后,对于训练收敛帮助很大,起到了对模型的正则化作用,BN层可以替代Dropout层
  2. High Resolution Classifier
    • 采用更高分辨率的分辨器
  3. Convolutional With Anchor Boxes
    • 使用基于Anchor偏移的目标边界框的预测方式
  4. Dimension Clusters
  5. Direct location prediction
  6. Fine-Grained Features
    • 增加了PassThrough Layer层
  7. Multi-Scale Training
    • 每迭代10个batch,就改变输入图像的大小,{320,352,…,608}的随机数,即32的整数倍,最小为320,最大为608

网络结构:其中主干网络为Darknet19YOLOv2学习笔记_第2张图片

PassThrough Layer:将相对底层的26 * 26 * 512的特征矩阵经过1 * 1 * 64的卷积层得到的26 * 26 * 64的特征矩阵,经过PassThrough Layer得到13 * 13 *256的特征矩阵与相对高层的13 * 13 * 1024的特征矩阵进行融合(即深度方向进行拼接相加,1024+256=1280),得到13 * 13 * 1280的特征矩阵

即特征矩阵经过PassThrough Layer层后会W、H减半,然后深度变为4倍

YOLOv2学习笔记_第3张图片

因为输入特征矩阵为416 * 416 * 32 最终得到的特征矩阵为 13 * 13 * 1024,即缩放因子为416 / 13 = 32,所以可以选择的输入图像大小为{320,352,…,608},即32的整数倍,最小为320,最大为608

Convolutional 是有 Conv2d + BN + LeakReLU 组成

注意:
最后的1 * 1的卷积层即为预测器,输出深度为(所检测数据集的类别数+(x,y,w,h, confidence)) * 5
论文中为125为:总共使用了5个Anchor,对于每个Anchor中有(x,y,w,h)、confidence以及对于VOC数据集中20个类别对应的分数,即(5+20) * 5

你可能感兴趣的:(目标检测,深度学习,人工智能,计算机视觉)