目标检测20年——学习笔记

Object Detection in 20 years

目标检测20年——学习笔记

摘要——本文集中回顾了1990s到2019年的400+篇论文,覆盖了目标检测领域的主要话题。并且回顾了一些重要的目标检测应用,如行人检测、人脸识别、文本检测等。并对这些年的挑战和进步进行了深度分析。

1.引言

目标检测处理识别数字图片中的特定类别的视觉实体(例如人、动物、汽车),是计算机视觉领域的重要任务。目标检测的目标是发展一个可计算的模型和技术,以给计算机视觉应用提供最基本的信息:是什么目标,目标在哪里?

目标检测是其他计算机视觉任务的基础,如instance segementation, image captioning, object tracking等。
如下图所示,近二十年目标检测相关论文的发表数量。
近二十年目标检测相关论文发表数量目标检测的挑战有:目标旋转、规模变化、目标定位、加速检测等。

2.近二十年的目标检测

2.1 目标检测路线图
在这里插入图片描述通常认为目标检测经历了两个历史时期:传统目标检测时期(2014年之前),和基于深度学习的目标检测时期(2014年之后)。
2.1.1 里程碑:传统检测器
——“冷兵器时代”
早期大部分目标检测算法都是基于手工提取的特征(handcrafed features)。
(1)Viola Jones Detectors
——第一个无约束实时人脸检测
遍历整张图,判断窗口(window)中是否包含人脸。VJ detector合并了三种方法用于加快检测速度:
①Intergral image(积分图像):使得每个窗口的计算复杂性独立于窗口大小。
②Feature selection
③Detection cascades:一种多阶段检测范式,通过在背景窗口花费更少的计算,而在目标花费更多以减少计算开销。
(2)HOG Detector
——Histogram of Oriented Gradients(方向梯度直方图)
HOG检测规模统一的图片,将不同尺寸的输入图片转换成固定的尺寸
(3)Deformable Part-based Model(DPM)
——VOC07,08以及09目标检测冠军,传统目标检测的巅峰
DPM采用分而治之的思想,训练过程可以被看做学习一个合适的方法分解(decomposing)一个目标,推断过程可以被看作组装每个目标部分的检测。

2.1.2 里程碑:基于两阶段检测器的CNN
在深度学习时代,目标检测可以被分为两类:两阶段检测和单阶段检测。
(1)RCNN
首先通过selective search的方法提取一个object proposals集合。然后每个proposal缩放为固定大小的图片,并提供给ImageNet用于CNN模型的训练。最后,使用线性SVM分类器预测每个区域中目标的存在,并识别目标分类。
缺点:大量重叠的proposal上的冗余特征计算,导致了检测速度非常慢(14s/图片)。
(2)SPPNet
——Spatial Pyramid Pooling Network
之前的CNN模型要求固定大小的输入图片,SPPNet的主要贡献是SPP layer,使得CNN不用缩放图像或region of interest大小的情况下,产生固定长度的表示。
SPPNet比R-CNN快了20倍。
缺点:1.训练仍是多阶段;2.SPPNet值调整全连接层,缺忽略了之前的层。
(3)Fast RCNN
允许在同一个网络配置下同时训练检测器和bounding box回归器。
缺点:检测速度仍被proposal detection限制
可以使用CNN生成目标proposal吗?
(4)Faster RCNN
第一个端到端深度学习检测器。
引入了Region Proposal Network(RPN)使得region proposal几乎无消耗。
至此proposal detection、特征提取、bounding box regression等目标检测的模块都整合到了一个统一的、端到端的学习框架。
但是Faster RCNN仍有在随后的检测阶段有计算冗余。
(5)Feature Pyramid Networks

2.1.3 里程碑:基于单阶段检测器的CNN
(1)You Only Look Once(YOLO)
——深度学习时代的第一个单阶段检测器
训练速度分厂快
(2)Single Shot MultiBox Detector
引入了 multi-reference 和 multi-resolution,显著提升了单阶段检测器的精度,尤其是针对一些小目标。
SSD在不同的层对不同的目标进行检测。
(3)Retina Net

2.2 目标检测数据集和度量
(1)Pascal VOC
Pacal Visual Object Class Challenge是早期计算机视觉社区最重要的比赛,包含图像分类、目标检测、语义分隔以及动作识别等
(2)ISLVRC
ImageNet Large Scale Visual Recognation Challenge
(3)MS-COCO
当下最具挑战的目标检测数据集
更贴近真实生活
(4)Open Image
2.2.1 度量
Average Precision (AP)
mean Average Precision(mAP):所有目标检测的平均AP,通常用作性能的最终度量。
为了检测目标定位的精度,Intersection over Union用来检查预测的box和ground truth box之间的IoU是否大于预定义的threshold,如0.5,若大于则标记为预测成功,否则标记为"missed"

2.3 目标检测的技术发展
2.3.1 早期黑科技
目标检测的早期(2000年前)还没有统一的检测思想,例如滑动窗口检测。当时的检测器都是基于低级和中级视觉设计的。
(1)成分、形状和边
(2)早期目标检测的CNN
2.3.2 多尺度检测技术的发展
对于“不同尺寸”和“不定长宽比”的多尺度检测,是目标检测的主要技术挑战之一。
(1)Feature pyramids+sliding windows(2014年前)
早期的检测模型,如VJ和HOG,都指定检测的目标的固定比例,构造feature pyramid并滑动固定比例的检测窗口。
为了解决不同长宽比输入图片的问题,混合模型是当时最佳的方案,即训练多个模型分别检测不同长宽比。
随着当代数据集的目标越来越多样,混合模型不可避免地导致了混杂地检测模型。一个统一的多尺度目标检测方法?
(2)使用object proposal检测
object proposal指一组未知类别地候选框,这些候选框可能包含任意目标。obeject proposal有助于避免太过详尽地滑动窗口搜索整个图片。
所有object proposal检测算法都满足以下三条要求:
1)高召回率(recall rate)
2)高定位精度
3)在前两个要求地基础上,提升经读并减少处理时间
当代地object proposal可以被分为三类:
1)分割分组方法
2)窗口评分方法
3)基于神经网络的方法
(3)Deep regression
直接介于深度学习特征预测边界框的作用。
优点是简单易实现,缺点是定位不够精准,尤其对一些小目标。
(4)Multi-reference
主要思想是在图片的不同地方,预定义一组不同尺度和长款比的参考框(reference boxex/ anchor boxes),然后基于参考框预测检测框。
典型的预定义anchor box损失包含以下两部分:
1)分类识别的自差商
2)目标定位的L1/L2回归损失
Loss function表示如下:
Ll(p,p*,t,t*) = Lcls(p,p*) + βI(t)Lloc(t,t*)
IOU{a,a*}>η时I(t)=1,
否则 I(t)=0
t和t分别时预测框和ground truth框的坐标
p和p
时他们的费雷可能性
IOU{a,a*}时anchor a和他的ground truth a*之间的IOU
η时IOU的阈值,例如0.5
如果一个anchor没有覆盖任何目标,它的定位损失不会被算进最终的损失中。

2.3.3 Bounding Box Regression的技术发展
边框回归旨在基于初始proposal或者anchor box,改善预测边框的定位。
(1)没有BB regression(2008年前)
大多数早期检测方法如VJ,HOG等都没有使用BB regression,而且直接把滑动窗口当作检测结果。为了获得精确的物体定位,研究者没除了构建非常密集的pytamid和滑动窗口之外别无他法。
(2)From BB to BB(2008-2013)
BB regression一开始时用作后续处理模块,因此时可选的。
(3)From features to BB(2013之后)
自从2015年引入了Faster RCNN之后,BBregression不再是单独的后续处理模块,而是与检测器整合起来并且进行端到端的训练。同时,BB regression已经发展出了基于CNN特征的BB预测。为了获得更加鲁棒的预测,通常使用光滑函数L1:
L(t)= 5t*t if |t| <= 0.1
= |t|-0.05 else

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值