【论文学习笔记007】YOLOV2

1.论文信息

题目YOLO9000:Better, Faster, Stronger
作者Joseph Redmon, Ali Farhadi
年份2017
论文地址https://arxiv.org/abs/1612.08242
项目地址https://pjreddie.com/darknet/yolo/

2. 论文创新点

  • 采用一系列方法对YOLO目标检测框架作了改进,保持帧率的同时,提升了检测精度;
  • 提出一种目标分类与检测的联合训练方法,YOLO9000能同时在COCO和ImageNet数据集中训练,得到的模型可以实现对9000种目标的检测

3.欲解决的问题

  • YOLOV1检测精度低于Faster RCNN和SSD;
  • YOLOV1定位不准确且与二阶段目标检测算法相比查全率较低;

4.解决方案

4.1 Better

在这里插入图片描述

4.1.1 批归一化
  • BN层对网络的每一个卷积层输入都做了归一化操作,避免每层输入的分布都在改变,加速了网络的收敛,mAP提升了2%
  • BN能规范化模型,能移除dropout层的同时避免过拟合
4.1.2 高分辨率分类器
  • YOLOV1网络在预训练时采用的是224x224的输入(预训练的分类模型都是在ImageNet数据集上进行的),在检测时采用448x448的输入
  • YOLOV2将预训练分成两步:在ImageNet数据集上,首先用224x224的输入训练网络,循环运行160轮,然后将输入调整到448x448,循环运行10轮。最后在检测的数据集上微调,也采用448x448的输入,mAP提升4%
4.1.3使用锚框卷积
  • YOLOV1利用全连接层直接预测边界框的坐标,丢失了较多的空间信息,定位不准;
  • YOLOv2借鉴了Faster R-CNN的思想,引入了anchor。
  • 首先移除了YOLOV1的全连接层和最后一个池化层(最后的卷积层可以得到更高分辨率的特征);然后采用416x416的输入代替448x448(得到的特征图都有奇数大小的宽和高);最后将416x416的输入变成13x13的特征图输出。
  • mAP略有下降,但查全率提高了7%
4.1.4 维度聚类
  • Faster R-CNN中锚框的大小和比例是按经验设定的,然后在训练过程中调整锚框的尺寸;
  • YOLOV2采用k-means对训练集的边界框做聚类以得到合适的锚框,因此网络可以更好地预测;但采用标准的k-means算法(欧式距离衡量差异),当锚框的尺寸比较大的时候,误差也比较大;而理想情况是误差与锚框的尺寸无关,因此利用IOU定义了如下的距离函数
    d (  box, centroid  ) = 1 −  IOU (box, centroid )  d(\text { box, centroid })=1-\text { IOU (box, centroid ) } d( box, centroid )=1 IOU (box, centroid ) 
  • 采用K=5,平衡模型复杂度与查全率,聚类后的锚框多是高瘦型,如下图所示。
    在这里插入图片描述
4.1.5 直接位置预测
  • 引入锚框的第二个问题:模型不稳定,不稳定主要来自预测框的(x,y)值。Faster RCNN是通过预测 t x t_{x} tx t y t_{y} ty得到(x,y)值(偏移量),如下式所示。
    在这里插入图片描述
  • YOLOV2算法直接预测相对于网格单元的坐标位置。 t x t_{x} tx t y t_{y} ty经过sigmoid函数处理后值域在0到1之间。计算公式以及示意图如下所示。
    在这里插入图片描述
    在这里插入图片描述
4.1.6 细粒度特征
  • 添加了passthrough层,将前一层26x26x512的特征图与本层的13x13x2048的特征图连接,实现检测大目标的同时精确检测小目标。
4.1.7 多尺度训练
  • 采用了多尺度训练,检测数据集上微调时输入图像的大小是动态变化的
  • 在训练网络时,每训练10轮,网络就会随机选择另一种大小的输入。网络原本的输入是416x416,输出13x13的特征图,即下采样的因子是32,因此采用32的倍数作为输入{320,352,…,608}。
  • 多尺度训练使网络可以检测多种分辨率的图像,实现精度与速度的平衡
4.2 Faster
4.2.1 Darknet-19

在这里插入图片描述

  • Darknet-19的网络结构图如上所示。
  • Darknet-19只需要55.8亿次浮点运算,包含19个卷积层和5个最大池化层,与YOLOV1的GooleNet相比,卷积层数量减少,即计算量减少
  • Darknet-19在ImageNet上mAP为91.2%
4.2.2 分类器训练
  • 在ImageNet数据集上进行预训练,首先从头开始训练Darknet-19,训练160轮,输入图像是224x224,初始学习率为0.1,同时采用了标准的数据增强方式,比如随机裁剪,旋转以及色度,亮度的调整等;
  • 然后微调网络,采用448x448的输入,学习率改为0.001,训练10轮,其余参数不变;
  • 结果表明微调后的top-1准确率为76.5%,top-5准确率为93.3%
4.2.3 检测器训练
  • 首先移除最后一个卷积层,添加3个3x3的卷积层,每个卷积层有1024个filter且每个后面都连接一个1x1的卷积层
  • 然后将最后一个3x3x512的卷积层和倒数第二个卷积层相连
  • 最后在检测数据集上微调预训练模型,训练160轮,学习率为0.001,其中第60和90轮将学习率为0.0001,权重衰减为0.0005
4.3 Stronger
  • 带标注的检测数据集比较小,而带标注的分类数据集比较大,YOLO9000通过结合分类和检测数据集使检测模型可以检测约9000类目标;
  • 首先要构造数据集,采用WordTree来解决分类和检测数据集的标签问题,即在这个树里面任意一个节点只能属于唯一一个节点,如下图所示
    在这里插入图片描述
  • 其次要解决模型训练问题,采用联合训练。

5.几点思考

5.1 为什么希望只有一个center cell?
  • 因为大目标一般会占据图像的中心,所以希望用一个center cell去预测,而不是4个center cell去预测,极大地提升了效率。

6.论文结果

  • VOC2007数据集中,mAP为76.8%,FPS为67

7.待解决的问题

  • 未解决重叠的分类问题
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值