写这篇文章的契机是6月底和7月初,Yolo v6和Yolo v7版本相继发布。其中Yolo v7还得到了darknet官方的背书。
Yolo系列从2015年提出的Yolo(You Only Look Once),到如今已经经历了7年。它的历程可以用下图进行展示。本篇博客仅仅是对Yolo犀利中,Yolov1, Yolov2和Yolov3的梳理。
Yolo提出于2015年6月,在此之前的RCNN系列还是借用分类器来解决目标检测任务。而Yolo则通过一个网络直接以回归的方式来建模。具体的过程可以参看下图。这样做的好处在于训练简单并且推理迅速。
Yolo采用了如下图所示的方法
在介绍一下这里面的Dimension Clusters和Location prediction方法。
最终Yolov2的性能在VOC数据集上达到了sota。(注意这里强调的是VOC数据集这个条件)。
yolov3所使用的方法也都是基本来自于prior work。具体可以总结为如下3条:
Yolov3适用于对速度要求快,但对IOU阈值要求相对不高的场景。这可能也是Yolo系列论文在工业界流行的原因所在。作者对新的IOU@0.5:0.95的评判标准也提出了自己的一定质疑,并引用了”Best of both worlds: human-machine collaboration for object annotation.“中的一段话:”Training humans to visually inspect a bounding box with IOU of 0.3 and distinguish it from one with IOU 0.5 is surprisingly difficult”。0.3和0.5可能有点夸张了,但0.5和0.7的区分性确实不大。