之前读了一下这篇综述,《Object Detection in 20 Years: A Survey》,是19年底新出的文章。想写个博客记录一下,但还没读完,就把阅读笔记分章节放上来。
这是第二章。
文章目录
-
- 2. OBJECT DETECTION IN 20 YEARS
-
- 2.1 A Road Map of Object Detection
- 2.2 Object Detection Datasets and Metrics
- 2.3 Technical Evolution in Object Detection
2. OBJECT DETECTION IN 20 YEARS
2.1 A Road Map of Object Detection
2.1.1 Milestones: Traditional Detectors
介绍了Viola Jones Detectors、HOG Detector和Deformable Part-based Model (DPM)三种,其中,HOG Detector:
N. Dalal和B. Triggs [12]最初于2005年提出了定向梯度直方图(HOG)特征描述器。 HOG可被认为是其时间尺度不变特征变换[33,34]和形状上下文[35]的重要改进。为了平衡特征不变性(包括平移,缩放,照度等)和非线性(区分不同的对象类别),将HOG描述符设计为在均匀间隔的像元的密集网格上进行计算,并使用重叠的局部对比度归一化(在“块”上)以提高准确性。尽管HOG可用于检测各种对象类别,但它主要是由行人检测问题引起的。为了检测不同大小的物体,HOG检测器会多次缩放输入图像,同时保持检测窗口的大小不变。多年来,HOG检测器一直是许多对象检测器[13、14、36]和各种计算机视觉应用的重要基础。
补充:HOG特征
2.1.2 Milestones: CNN based Two-stage Detectors
在2012年,世界见证了卷积神经网络的重生[40]。由于深度卷积网络能够学习图像的鲁棒且高级的特征表示,因此自然而然的问题是,我们是否可以将其用于对象检测? R. Girshick等通过提出Regions with CNN features(RCNN)来检测物体,率先打破了僵局。从那时起,物体检测开始以前所未有的速度发展。
在深度学习时代,对象检测可以分为两类:“Two-stage检测”和“One-stage检测”,其中前者将检测过程称为“从粗到精”过程,而后者则将其视为“一步完成”。
RCNN
RCNN背后的思想很简单:它始于通过selective search提取一组object proposals
(object candidate boxes)[42]。 然后将每个proposal重新缩放为固定大小的图像
,并输入到ImageNet上训练的CNN模型中(例如AlexNet [40])以提取特征
。 最后,线性SVM分类器
用于预测每个区域内对象的存在并识别对象类别.
尽管RCNN取得了长足的进步,但它的缺点也很明显:对大量重叠的proposals(从一张图像中提取2000多个框)进行冗余特征计算会导致极慢的检测速度(使用GPU,每张图像14s)。 同年晚些时候,SPPNet [17]提出并克服了这个问题。
总结:
selective search ——> rescale proposal ——> CNN提取特征 ——> SVM分类
参考:
目标检测(1)-Selective Search
目标检测(一) R-CNN
SPPNet
2014年,K. He等人提出了空间金字塔池化
网络(SPPNet)[17]。先前的CNN模型需要固定大小的输入,例如AlexNet的224x224图片[40]。 SPPNet的主要贡献是引入了空间金字塔池化(SPP)层,SPP层使CNN可以生成固定长度的representation,而与感兴趣的图像/区域的大小无关
,而无需对其进行重新缩放。当使用SPPNet进行目标检测时,只从整个图像计算一次特征图
,然后可以生成任意区域的固定长度表示以训练检测器,从而避免了重复计算卷积特征。 SPPNet的速度是R-CNN的20倍以上,而且丝毫没有牺牲任何检测精度(VOC07 mAP = 59.2%)。
尽管SPPNet有效地提高了检测速度,但仍然存在一些缺点:首先,训练仍然是多阶段的;其次,SPPNet仅微调其全连接层,而忽略了之前的所有层。次年晚些时候,提出了Fast RCNN [18]并解决了这些问题。
参考:
目标检测(二) SPPNet,包括:
- 池化野
- SPPNet的训练
- Mapping a Window to Feature Maps
Fast RCNN
在2015年,R。Girshick提出了Fast RCNN检测器[18],这是对R-CNN和SPPNet的进一步改进[16,17]。 快速RCNN使我们能够在相同的网络配置下同时训练一个detector和一个bounding box regressor。 在VOC07数据集上,Fast RCNN将mAP从58.5%(RCNN)提高到70.0%,同时检测速度比R-CNN快200倍。
尽管Fast-RCNN成功地集成了R-CNN和SPPNet的优点,但其检测速度仍然受到提议检测的限制(有关更多详细信息,请参见第2.3.2节)。 然后,自然会产生一个问题:“我们可以使用CNN模型生成object proposals吗?” 后来,Faster R-CNN [19]回答了这个问题。
参考:
目标检测(三) Fast R-CNN(RoI Pooling)
Faster RCNN
2015年,S。Ren等人 在Fast RCNN之后不久,提出了Faster RCNN检测器[19,44]。 Faster RCNN是第一个端到端和第一个近实时深度学习探测器(COCO mAP @ .5 = 42.7%,COCO mAP @ [。5,.95] = 21.9%,VOC07 mAP = 73.2 %,VOC12 mAP = 70