YOLO V2是YOLO系列的第二版,在YOLO V1的基础上加以改进,改善了YOLO V1定位不准的问题,又保证了检测的速度,可谓集准确性与速度于一身(YOLO V2获得了CVPR2017的最佳论文提名)。YOLO V2的原文提出了两个模型:YOLO V2和YOLO9000,本文主要着重YOLO V2,下面让我们一同走进YOLO V2的世界。
Outlines:
- YOLO V2 vs V1;
- YOLO V2的3个核心;
- YOLO V2的损失函数;
1. YOLO V2 vs V1
YOLO V2的mAP和FPS:
首先,我们明确一点,V2强于V1(速度和准确率),并且可与Faster RCNN,SSD媲美,确切来说在Pascal VOC上,V2准确率比V1高出10%,同时最慢的版本速度可以持平V1。那么我们下面看看YOLO V2在Pascal VOC上的精彩表现:
图1 YOLO V2在Pascal VOC2007上的mAP和FPS统计
我们发现,YOLO V2的准确率远高于V1(78.6 vs 63.4),同时速度更快,而且相比于SSD和Faster RCNN,准确率与速度都不逊色。
图2 YOLO V2在Pascal VOC2012上的mAP统计
可以发现YOLO V2在Pascal VOC2012上表现得也很强势;
下面我们看看在COCO上V2的表现如何呢?
图3 YOLO V2在COCO test-dev2015上的mAP统计
不难发现在COCO上,YOLO V2的mAP不敌SSD和Faster RCNN,这也说明在目标种类增多以及尺度变化增大的情况下,YOLO V2会稍显弱势。
YOLO V2相比于YOLO V1的改进:
图4 YOLO V2 vs V1
上图诠释了YOLO V2相对于V1的各个方面的改进以及每种改进所带来的提高,下面我们一一分析。
1)增加Batch Normalization层 (+2%)
在V1的基础上增加了BN层,位置在Conv层的后面,同时去掉了Dropout,增加BN层后,给YOLO 的mAP带来了2%的提升,也说明了BN的重要作用。
图5 BN的位置