1 You Only Look Once (YOLO)
YOLO是在2015年R. Joseph提出的,在深度学习时期,它是第一个单阶段检测器。YOLO是很快的:YOLO的快速版本可以在VOC07上以mAP=52.7%的准确度跑到155fps,其加强版可以在VOC07以mAP=63.4%和VOC12以mAP=57.9%的准确率跑到45fps。
YOLO是You Only Look Once的缩写,从它的名字可以看出,作者作者已经完全舍弃了之前的检测范式:提议检测 + 验证。然而,它遵循了一个完全不同的哲学,即将一个单神经网络应用到整张图像上。这个网络将图像划分不同成不同的区域,然后同时对每个区域的bounding box和可能性作出预测。R. Joseph基于YOLO作出了一些列的改进,已经提出的v2和v3版本在保持很高的检测速度的情况下,更进一步提高了检测的准确度。
尽管检测速度的很大提高,但是相比于两阶段检测器,其定位的准确性有一定的下降,尤其是对于一些小目标。YOLO随后的版本和后边提出的SSD开始聚焦这个问题。
2 Single Shot MultiBox Dector(SSD)
SSD是在2015年提出来的,它是第二个在深度学习时期的单阶段检测器。SSD的主要贡献是多参考和多分辨率检测技术的引进,其能够很大的提高单阶段检测器的检测准确度,尤其对于小目标(VOC07 mAP=76.8%, VOC12 mAP=74.9%, COCO mAP@.5=46.5%, mAP@[.5,.95]=26.8%, 快速版本可以跑到59fps)。
SSD与之前检测器最大的不同是,SSD在网络中不同层上检测不同尺度的目标,而后者则是仅仅在顶层进行检测。
3 RetinaNet
尽管单阶段检测器的高速度和简单性,但是其准确性在几年内都不及两阶段检测器。后来,T.-Y. Lin等发现了其背后的原因,并在2017年提出了RetinaNet。他们声称,在密集检测器训练中碰到的前景-背景类及其不平衡是最主要的原因。
为了解决这个问题,通过对标准交叉熵的改进,一个命名为“focal loss”的新损失函数在RetinaNet中被引进,所以检测器在训练中将更多的关注那些难分和错误分类的样本,进而实现两阶段检测器相当的准确度,同时也保持比较高的检测速度(COCO mAP@.5=59.1%, mAP@[.5, .95]=39.1%)。