YOLO1很渣,但YOLO2却很6,在保证速度的前提下精度还很高。而且基于YOLO2的YOLO9000,可以实时检测不同类别下的不同品种。比如检测dog,YOLO9000可以检测出是哪一种狗:哈士奇、阿拉斯加、拉布拉多等等。
YOLO9000跟我做的联系比较密切。我之前做交通标志的检测是先检测出交通标志这个大类,然后再单独训练一个分类网络,进行类下的具体交通标志的识别。如果利用YOLO9000,会使这样工作更加unified。但最近比较忙,暂时没有时间拿来跑一跑,估计下个月会试一试YOLO9000。
- Better
Better = mAP更高,在VOC2007上,达到78.6%
1.1 引入了anchor
YOLO1中,是不用anchor的,直接在7X7的image上做检测,而且一个grid只使用2个bbox。但这样recall低、定位精度差,mAP渣,唯一好处就是速度快。所以YOLO2引入了anchor,在feature map上每个grid(论文中是13X13),有5个尺寸不同、尺度不同的anchor,每个anchor分别预测类别C+位置(5项)。这样一个grid输出(C+5)5。 YOLO1是(C+55),直接是一个grid就进行分类。YOLO2则是用anchor做分类。(faster r-cnn是用RPN产生的proposal做分类,ssd是用不同feature map上的anchor做分类)。
这样做的好处是可以有效的提高recall,让模型在预测时不至于总是漏掉object。