YOLO 9000:Better,Faster,Stronger

1、整体思路

  • YOLOv1虽然检测速度很快,但是再检测精度上却不如R-CNN系检测方法,YOLOv1在物体定位面(localization)不够准确,并且召回率(recall)较低。
  • YOLOv2提出几种改进策略来提升YOLOv1模型的定位准确度和召回率,从而提高mAP,YOLOv2在改进中遵循一个原则:保持检测速度,YOLOv2的改进策略如下图所示,可以看出,大部分的改进方法都可以比较显著提升模型的mAP。

2、改进策略

  • Batch Normalization(批量规范化)简称BN,mAP提升2.4%
    1)神经网络每层输入的分布总是发生变化,通过标准化上层输出,均衡输入数据分布,加快训练速度;
    可以设置较大的学习率和衰减,而不用去care初始参数,BN总能快速收敛,调参狗的福音。
    2)通过规范化输入,降低激活函数在特定输入区间达到饱和状态的概率,避免 gradient vanishing 问题;
    举个例子:0.95^64 ≈ 0.0375    计算累积会产生数据偏离中心,导致误差的放大或缩小。
    3)输入规范化对应样本正则化,在一定程度上可以替代 Drop Out;
    Drop Out的比例也可以被无视了,全自动的节奏。
  • High Resolution Classifier,mAP提升4%
    YOLOv1采用224*224训练分类网络,然后将分辨率增加至448*448,在检测数据集上fine tune。但是直接切换分辨率,检测模型很难快速适应高分辨率,所以YOLOv2首先对分类网络用分辨率448*448训练10轮,这样,使得模型在检测数据集上fine tune之前已经适应高分辨率输入了。
  • Convolutional With Anchor Boxes,召回率提升7%
    YOLO是通过最后的全连接层直接预估绝对坐标,而FasterRCNN是通过卷积层预估相对坐标,作者认为这样更容易学习,因此YOLOv2去掉了全连接层,在最后一层卷积层下采样后用Anchor,yolo有7*7*2 = 98个框,而YOLOv2有超过1k的anchor,最终效果上虽然mAP略有下降3个千分点,但是召回提升7个百分点
  • Dimension Clusters - 维度聚类
    在Faster R-CNN和SSD中,先验框的维度(长和宽)都是手动设定的,带有一定的主观性,如果选区的先验框维度比较适合,那么模型更容易学习,从而做出更好的预测。因此YOLOv2采用k-means聚类方法对训练集中的边界框做聚类分析。
  • Direct location prediction(直接位置预测)
    直接Anchor Box回归导致模型不稳定,中心点可能会出现在图像任何位置,有可能导致回归过程震荡,甚至无法收敛,作者在预测位置时采用强约束方法 
    1)对应 Cell 距离左上角的边距为(Cx,Cy),σ定义为sigmoid激活函数,将函数值约束到[0,1],用来预测相对于该Cell 中心的偏移(不会偏离cell);
    2)预定Anchor(文中描述为bounding box prior)对应的宽高为(Pw,Ph),预测 Location 是相对于Anchor的宽高乘以系数得到;

    直接位置预测与维度聚类一起mAP提升5%。

3、效果

  •  YOLO v2 在大尺寸图片上能够实现高精度,在小尺寸图片上运行更快,可以说在速度和精度上达到了平衡。
    总结下不同分辨率下的震撼的效果:
    1)低分辨率 - 228 * 228,帧率达到90FPS,mAP几乎与Faster媲美;
    2)高分辨率,在VOC2007 上mAP达到78.6%,同时FPS=40;

    相比SSD,YOLOv2在算法理论上并没有明确的突破,但是通过很多trick,效果提升了很多。

4、参考

5、加入我们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值