恒源云(GPUSHARE)_【Object Detection 20年】小结

文章来源 | 恒源云社区

原文地址 | “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/40960756)

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的训练过程以及关键点总结

未完待续……

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutoDL是一个自动化深度学习框架,它可以帮助用户自动化地进行模型选择、超参数调优和模型训练。COCO(Common Objects in Context)数据集是一个广泛使用的目标检测、分割和关键点检测数据集。 要在AutoDL中使用COCO数据集,你需要按照以下步骤进行操作: 1. 下载COCO数据集:首先,你需要从COCO官方网站下载COCO数据集。该数据集包含了大量的图像和对应的标注信息,可以用于目标检测、分割和关键点检测任务。 2. 数据预处理:在使用COCO数据集之前,你可能需要对数据进行一些预处理操作,例如将图像和标注信息转换为模型可接受的格式。这可能涉及到图像的缩放、裁剪、归一化等操作,以及标注信息的解析和转换。 3. 数据加载:在AutoDL中,你可以使用各种数据加载器来加载COCO数据集。这些数据加载器可以帮助你将数据集划分为训练集、验证集和测试集,并提供方便的接口来获取图像和对应的标注信息。 4. 模型选择和配置:在AutoDL中,你可以选择适合COCO数据集的模型,并配置模型的超参数。AutoDL提供了一系列经典的深度学习模型,例如Faster R-CNN、Mask R-CNN等,你可以根据任务需求选择合适的模型。 5. 模型训练:一旦你选择了模型并配置好了超参数,你可以使用AutoDL提供的训练接口来进行模型训练。在训练过程中,AutoDL会自动进行模型选择和超参数调优,以提高模型的性能。 6. 模型评估:在模型训练完成后,你可以使用AutoDL提供的评估接口来评估模型在COCO数据集上的性能。这些评估指标包括准确率、召回率、平均精度等,可以帮助你了解模型的表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值