YOLO v2详解

 

YOLO v2和YOLO9000是同一篇论文提出的两个模型,二者略有不同。前者主要是YOLO的升级版,比YOLO拥有更高的精度和速度,后者的主要检测网络也是YOLO v2,同时对数据集做了融合,使用联合训练算法,使得模型可以检测9000多类物体。

 

一、Better(更准)

YOLO 一代有很多缺点,作者希望改进的方向是改善 recall,提升定位的准确度,同时保持分类的准确度。

目前计算机视觉的趋势是更大更深的网络,更好的性能表现通常依赖于训练更大的网络或者把多种模型综合到一起。但是 YOLO v2 则着力于简化网络。具体的改进见下表:

1、Batch Normalization(批处理标准化)

BN(Batch Normalization)层简单讲就是对网络的每一层的输入都做了归一化,这样网络就不需要每层都去学数据的分布,收敛会快一点,同时还消除了对其它形式的正则化(regularization)的依赖,即作者加入BN后就把dropout去掉了。通过对 YOLO 的每一个卷积层增加 Batch Normalization,最终使得 mAP平均精度均值)提高了 2%。

 

2、High resolution classifier(高分辨率分类器)

目前业界标准的检测方法,都是用预训练的网络来fine-tuning自己的网络,而不是从随机初始化所有参数开始。原来的YOLO网络在预训练的时候采用的是224*224的输入(因为从 Alexnet 开始,大多数的分类器都运行在小于 256*256 的图片上),然后在检测(detection)的时候输入调整到448*448,这就意味着网络需要适应新的输入分辨率。而YOLOv2则将预训练分成两步:先用224*224的输入从头开始训练网络,大概160个epoch(循环训练所有数据160趟),然后再将输入调整到448*448,再训练10个epoch,让网络有时间调整滤波器filters)。注意这两步都是在ImageNet数据集上操作。最后再在检测的数据集上fine-tuning,也就是detection的时候用448*448的图像作为输入就可以顺利过渡了。作者的实验表明这样可以提高几乎4%的mAP。

 

3、Convolution with anchor boxes(使用anchor boxes卷积)

YOLO 一代包含有全连接层,从而能直接预测 Bounding Boxes 的坐标值。  Faster R-CNN 的方法只用卷积层与 Region Proposal Network 来预测 Anchor Box 偏移值与置信度,而不是直接预测坐标值。作者发现通过预测偏移量而不是坐标值能够简化问题,让神经网络学习起来更容易,即YOLO v2借鉴了Faster R-CNN的思想,引入anchor。

首先将原网络的全连接层和最后一个pooling层去掉,使得最后的卷积层可以有更高分辨率的特征;然后缩减网络,用416*416大小的输入代替原来448*448。这样做的原因在于希望得到的特征图都有奇数大小的宽和高,奇数大小的宽和高会使得每个特征图在划分cell的时候就只有一个center cell(比如可以划分成7*7或9*9个cell,center cell只有一个,如果划分成8*8或10*10的,center cell就有4个)。为什么希望只有一个center cell呢?因为大的object一般会占据图像的中心,所以希望用一个center cell去预测,而不是4个center cell去预测。网络最终将416*416的输入变成13*13大小的feature map输出,也就是缩小比例为32。

我们知道原来的YOLO算法将输入图像分成7*7的网格,每个网格预测两个bounding box,因此一共只有98个box,但是在YOLO v2通过引入anchor boxes,预测的box数量超过了1千(以输出feature map大小为13*13为例,每个grid cell有9个anchor box的话,一共就是13*13*9=1521个,当然由论文后面可知,最终每个grid cell选择了5个anchor box)。顺便提一下在Faster RCNN在输入大小为1000*600时的boxes数量大概是6000,在SSD300中boxes数量是8732。显然增加box数量是为了提高object的定位准确率。

作者的实验表明:虽然加入anchor使得mAP值(平均精度均值)下降了一点(69.5降到69.2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值