目标检测入门系列手册五:YOLO训练教程

目标检测入门系列手册五:YOLO训练教程

YOLO

由于在R-CNN 的系列算法中都需要首先获取大量proposal,但proposal 之间有很大的重叠,会带来很多重复的工作。YOLO[5] 一改基于proposal 的预测思路,将输入图片划分成SxS 个小格子,在每个小格子中做预测,最终将结果合并,如图2-14 所示。

接下来我们看一下YOLO 学习的关键步骤:

(1)YOLO 对于网络输入图片的尺寸有要求,首先需要将图片缩放到指定尺寸(448x448),再将图片划分成SxS 的小格。

(2)每个小格里面做这几个预测:该小格是否包含物体、包含物体对应的矩形框位置以及该小格对应C 个类别的分数是多少。因此,每个小格需要预测的的维度为B x(1+4)+ C,其中B 代表每个小格最多可能交叠物体的个数,1 为该小格是否包含物体的置信度,4 用来预测矩形框,C 表示任务中所有可能的类别个数(不包含背景)。因此,YOLO 网络最终特征层的大小为 S x S x( Bx5 + C),图 2-14 中特征
层大小即为 7 x 7 x ( 2 x 5 + 20)=7x7x30(Pascal VOC2012 目标检测数据集共有20 种类别)。
目标检测入门系列手册五:YOLO训练教程
由于YOLO 直接将输入图片划分为SxS 个小格,不需要产生proposal 的过程,所以速度比Faster R-CNN 快很多,但是因为粒度较粗,所以精度相比Faster R-CNN 略逊一筹。YOLO 的主要贡献是为目标检测提供了另一种思路,并使实时目标检测成为可能。近几年,YOLOv2 和YOLOv3 接连推出,感兴趣的读者可以参考附录的[6]。