文章起源 | 恒源云社区

原文地址 | “Salute!” Object Detection 20年 前三章小结

原文作者 | 小侥幸


Object Detection 20年


这是19年末发表的一篇文章,外面提到的有些技术以当初眼光来看可能有些过期,然而我集体认为仍然是一篇很好的启蒙时读物。假使将外面每个知识点掰开嚼碎,一点点排汇。这有助于你对指标检测有一个系统性理解。

第一章 指标检测的里程碑

能够用一张很经典的图来示意指标检测的发展史

1.概要

2012年是深度学习的元年,那一年AlexNet应用卷积神经网络,突破机器学习的极限。从此开启深度学习年代。

2.技术总结

2014年RCNN的公布开启了指标检测的时代,而后指标检测开启三分天下的场面,一是以RCNN为代表的 two-stage detector,一是以yolo为代表的one-stage detector,最初是以ssd为代表的中间派,准确度介于两者之间。

名称准确度辨认速度
RCNN
SSD
YOLO
而后几年特地是最近几年技术都是在这几个根底上倒退的,然而2020年-至今,钻研人员冲破方向放在无先验框上,趋势朝着无监督学习下来。(仅个人观点,如有异议欢送探讨)

第二章

2.SPPNET

2014年, K. He 等人提出了空间金字塔网络(SPPNet)。以前的 CNN 模型须要一个固定大小的输出,例如,AlexNet 的224x224图像。SPPNet 的次要奉献是引入了 Spatial Pyramid Pooling (SPP)层,这使得CNN能够生成固定长度的输入模式,而与输出的图像大小无关,而无需对其进行从新缩放。应用 SPPNet 进行指标检测宰割时,只须要进行一次特征提取,而后生成任意尺寸的特色层,用于训练,无效的防止了反复计算卷积特色。SPPNet 比 R-CNN 快20倍以上,而且不就义任何探测精度(VOC07 mAP = 59.2%)。
只管SPPNet无效地进步了检测速度,但依然存在一些毛病:首先,训练依然是多阶段的,其次,SPPNet仅微调其全连贯的层,而疏忽了先前的所有层。第二年当前,Fast R-CNN 提出并解决了这些问题。

2.1.1 传统检测器

N. Dalal和B. Triggs [12]最后于2005年提出了定向梯度直方图(HOG)特征描述器。 HOG可被认为是其时间尺度不变特色变换[33,34]和形态上下文[35]的重要改良。为了均衡特色不变性(包含平移,缩放,照度等)和非线性(辨别不同的对象类别),将HOG描述符设计为在平均距离的像元的密集网格上进行计算,并应用重叠的部分对比度归一化(在“块”上)以进步准确性。只管HOG可用于检测各种对象类别,但它次要是由行人检测问题引起的。为了检测不同大小的物体,HOG检测器会屡次缩放输出图像,同时放弃检测窗口的大小不变。多年来,HOG检测器始终是许多对象检测器[13、14、36]和各种计算机视觉利用的重要根底。
HOG (转至https://zhuanlan.zhihu.com/p/...)

2.1.2 Milestones: CNN based Two-stage Detectors

在2012年,世界见证了卷积神经网络的新生[40]。因为深度卷积网络可能学习图像的鲁棒(鲁棒性代表这该模型的稳定性以及扛烦扰性,如果在迁徙学习中还能够代表该模型的可迁移性)。有一个例子能够加深了解且高级的特色示意,因而自然而然的问题是,咱们是否能够将其用于对象检测? R. Girshick等通过提出Regions with CNN features(RCNN)来检测物体,率先突破了僵局。从那时起,物体检测开始以前所未有的速度倒退。
在深度学习时代,对象检测能够分为两类:“Two-stage检测”和“One-stage检测”,其中前者将检测过程称为“从粗到精”过程,而后者则将其视为“一步实现”。
RCNN背地的思维很简略:它始于通过selective search提取一组object proposals(object candidate boxes)[42]。 而后将每个proposal从新缩放为固定大小的图像,并输出到ImageNet上训练的CNN模型中(例如AlexNet [40])以提取特色。 最初,线性SVM分类器用于预测每个区域内对象的存在并辨认对象类别.
只管RCNN获得了长足的提高,但它的毛病也很显著:对大量重叠的proposals(从一张图像中提取2000多个框)进行冗余特色计算会导致极慢的检测速度(应用GPU,每张图像14s)。 同年晚些时候,SPPNet 提出并克服了这个问题。
总结:
selective search ——> rescale proposal ——> CNN提取特色 ——> SVM分类
参考:
指标检测(1)Selective Search

2.1.3 Milestones: CNN based One-stage Detectors

3 FAST R-CNN

在2015年,R,Girshick提出了Fast R-CNN检测器,这是对R-CNN和SPPNet的进一步改良。Fast R-CNN使咱们可能在雷同的网络配置下同时训练一个detector和一个bounding box regressor。 在VOC07数据集上,Fast RCNN将mAP从58.5%(R-CNN)进步到70.0%,同时检测速度比R-CNN快200倍。
只管Fast-RCNN胜利地集成了R-CNN和SPPNet的长处,但其检测速度依然受到提议检测的限度。 而后,天然会产生一个问题:“咱们能够应用CNN模型生成object proposals吗?” 起初,Faster R-CNN 答复了这个问题。

4 FASTER R-CNN

2015年,S.Ren等人在Fast RCNN之后不久,提出了Faster RCNN检测器。Faster RCNN是第一个端到端和第一个近实时深度学习探测器。Faster-RCNN的次要奉献是引入了Region Proposal Newwork(RPN),该网络使简直无代价的region proposal成为可能。 从R-CNN到Faster RCNN,对象检测零碎的大多数独立模块,例如提议检测,特征提取,边界框回归等,已逐渐集成到对立的端到端学习框架中。
只管Faster RCNN冲破了Fast RCNN的速度瓶颈,但在后续检测阶段仍存在计算冗余。起初,人们提出了各种改良措施,包含RFCN 和Light head RCNN 。

5 FEATURE PYRAMID NETWORKS(FPN)

2017年,T.-Y.Lin 等人提出了基于Faster RCNN 的特色金字塔网络(FPN)。在 FPN 之前,大多数基于深度学习的检测器只在卷积网络的顶层进行特征提取。只管卷积神经网络深层特色有利于类别辨认,但不利于对象的定位。因而,开发了具备横向连贯的自顶向下架构 FPN,用于在所有规模上构建高级特色。因为 CNN 通过其前向流传天然造成一个特色金字塔,FPN 在多尺度下检测指标方面显示了微小的提高。在一个根本的疾速 R-CNN 零碎中应用 FPN,它在(COCO mAP@.5 = 59.1% ,COCO mAP@[.5,.95] = 36.2%)的状况下,实现了最先进的单模型检测后果。FPN 当初曾经成为许多最新探测器的根本组成部分。
FPN
faster-RCNN的训练过程以及关键点总结

未完待续……