论文背景
论文全称:YOLO9000: Better, Faster, Stronger
论文链接:https://arxiv.org/abs/1612.08242
论文日期:2016.12.25
首先在YOLO算法的基础上进行了改进,称为 YOLOv2。
在YOLOv2算法的基础上,对数据集进行了融合,提出一个实时检测算法,能识别超过9000类对象,算法被称为YOLO9000。
本文提出了一种能联合训练目标检测与分类的方法,这种联合训练允许YOLO9000预测没有检测数据标签的对象类的检测。
既能保证检测速度,又能保证准确率:
- At 67 FPS, YOLOv2 gets 76.8 mAP on VOC 2007.
- At 40 FPS, YOLOv2 gets 78.6 mAP。
算法简介
相对于分类任务,目标检测任务的数据集图片数目以及标签更小,同时检测的标签图片比分类的标签图片更昂贵。因此,我们不太可能在不久的将来看到与分类数据集具有相同规模的检测数据集。
本文希望能提出一种新的方法,能利用原有的分类数据集来拓展检测系统。因此使用一种目标分类问题中的分层观念,这样就允许将不同的数据集结合起来。
本文也提出一种联合训练的方法,在检测与分类数据上均训练目标检测器。提取标签检测图像,以便学习精确定位对象,同时考虑分类图像以增加其词汇量和鲁棒性。
之前的算法只能检测少部分的对象。YOLO9000能检测9000类样本。
算法细节
优化方向:
- YOLO与Faster RCNN相比,YOLO有很显著的定位误差;
- 相对区域检测算法,YOLO有更低的查全率(recall)。
神经网络结构改进:
- 不进行神经网络尺寸的扩大,而进行神经网络的简化,从而使表示更容易学习。
YOLOv2
BN:
在所有的卷积层都加入了BN(局部正则化),准确率提高了2% mAP。在加入BN之后,可以移除dropout。
High Resolution Classifier:
输入图片由224×224调整至448×448,准确率提高了4% mAP。
Convolutional With Anchor Boxes:
YOLO直接使用全连接层预测边界框的坐标,而不是使用手工挑选的标签预测边界框