千里之行,始于足下
只为记录一下自己的目标检测方面的笔记,纸质容易丢;同时,也是自己的第一篇博客,鬼知道应该怎么去写!努力吧,少年!!!
目标检测方法综述笔记
在过去的20年时间里,人们普遍认为,目标检测的发展大致经历了两个历史时期,分别是2014年以前的传统的目标检测时期和2014年以后的基于深度学习的目标检测时期。
1 传统目标检测
早期的目标检测大多是基于手工构建的。由于当时缺乏有效的图像表示,人们别无选择,只能设计复杂的特征表示,以及各种加速技术来用尽有限的计算资源。传统目标类别检测则通过使用 AdaBoost算法框架、HOG特征和支持向量机等方法,根据选定的特征和分类器,检测出有限的几种类别。
1.1 Viola Jones Detectors
Viola Jones算法是第一种能实时处理且效果较好的人脸检测算法,此算法的提出标志着人脸检测进入实际应用阶段。P.Viola和M.Jones在没有任何约束条件(如肤色分割)的情况下首次实现了人脸的实时检测。在同等的检测精度下,检测器的速度是其他算法的数十倍甚至数百倍。这种检测算法,后来被称为“维奥拉-琼斯”(VJ)检测器”,在此以作者的名字命名,以纪念他们的重大贡献。
VJ检测器采用最直接的检测方法,即,滑动窗口:查看图像中所有可能的位置和比例,看看是否有窗口包含人脸。虽然这似乎是一个非常简单的过程,但它背后的计算远远超出了计算机当时的能力。VJ检测器结合了 “ 积分图像 ”、“ 特征选择 ” 和 “ 检测级联 ” 三种重要技术,大大提高了检测速度。
积分图像:积分图像是一种计算方法,以加快盒滤波或卷积过程。与当时的其他目标检测算法一样,在VJ检测器中使用Haar小波作为图像的特征表示。积分图像使得VJ检测器中每个窗口的计算复杂度与其窗口大小无关。
特征选择:作者没有使用一组手动选择的Haar基过滤器,而是使用Adaboost算法从一组巨大的随机特征池 ( 大约180k维 ) 中选择一组对人脸检测最有帮助的小特征。
检测级联:在VJ检测器中引入了一个多级检测范例 ( 又称“检测级联”,detection cascades ),通过减少对背景窗口的计算,而增加对人脸目标的计算,从而减少了计算开销。
1.2 HOG Detector
方向梯度直方图(HOG)特征描述符最初是由N.Dalal和B.Triggs在2005年提出的。HOG可以被认为是对当时的尺度不变特征变换(scale-invariant feature transform)和形状上下文(shape contexts)的重要改进。为了平衡特征不变性 ( 包括平移、尺度、光照等 ) 和非线性 ( 区分不同对象类别 ),将HOG描述符设计为在密集的均匀间隔单元网格上计算,并使用重叠局部对比度归一化 ( 在“块”上 ) 来提高精度。虽然HOG可以用来检测各种对象类,但它的主要动机是行人检测问题。若要检测不同大小的对象,则HOG检测器在保持检测窗口大小不变的情况下,多次对输入图像进行重新标度。多年来,HOG检测器一直是许多目标检测器和各种计算机视觉应用的重要基础。
这个玩意在行人再识别(reid)里经常可以看到,就是传统检测的典型方法
1.3 Deformable Part-based Model (基于可变形部件的模型,DPM)
不能那么书面了,by the way,DPM是reid领域的典型数据集Mars的检测方法。
DPM算法由Felzenszwalb于2010年提出,是一种基于部件的检测方法,对目标的形变具有很强的鲁棒性。虽然今天的物体探测器在检测精度方面已经远远超过了DPM,但仍然受到DPM的许多有价值的见解的影响,如混合模型、硬负挖掘、边界盒回归等。
目前DPM已成为众多分类、分割、姿态估计等算法的核心