目标检测任务是计算机视觉任务的基础任务之一,一直以来都研究的热门课题,无论在国内或是国外,一直以来每年都会有很多的研究人员发表大量的关于目标检测算法的论文,而这些论文主要可以分为两大类。第一类目标检测算法是基于传统算法的,而另一类则是近年来研究热度较高的基于深度学习的目标检测算法。
传统的目标检测算法可以分成目标实例检测以及传统目标类别检测。目标实例检测算法通常是利用图像的稳定性特点,前景物体相对于背景影响来说是动态变化较大的量,通过这个方法来区分前景和背景,以此检测出目标物体。Lowe 提出的 SIFT算法就是根据不容易受到噪声、光照等影响的特征点来匹配目标的。而传统目标类别检测算法则是通过特定的特征算子和分类器来检测出特定类别的目标,以此来实现目标检测,Viola 和 Jones 在 2001 年发表了经典的《Rapid Object Detection using a Boosted Cascade of Simple Features》和《Robust Real-Time Face Detection》,在 Adaboost 算法的基础上,使用 haar 特征和积分图方法实现了人脸检测,因为其检测效率高速度快被广泛的应用在实际项目当中。
自从 AlexNet在 2012 年的 ImageNet 大规模视觉识别挑战赛中取得了惊人的成绩,借此深度神经网络又重新回归了到人类的视野当中,人们从 AlexNet的身上看到了远超传统算法的无限未来,从此便掀起了一波深度学习研究的热潮。经过人们不断的探索和发展,从 2014 年的 VGG(Visual Geometry Group)和GoogleNet(Google Inception Net),越来越深的网络,到 2015 年的 ResNet(Residual Network),为了解决网络层数过深带来的梯度消失的问题,ResNet 提出了残差学习,残差块通过跳跃链接将浅层的信息传递给了深层模块,这使得网络更加容易优化,并且可以通过相当的深度来提高网络的整体精度。深度神经网络以然成为了计算机视觉主流研的究方向了,而这些网络结构也被用作了计算机视觉模型的基础网络模型。
纽约大学的 LeCun 团队,在 2013 年带着 OverFeat(Integrated Recognition, Localization and Detection using Convolutional Networks)拿下了 ImageNet 定位任务的冠军,同时 OverFeat 算法在分类和检测任务上也有着相当的准确率,它成为了最先将深度学习应用到目标检测中的算法之一。Overfeat 通过累计预测来求定位框的位置,它使用了一个共享的 CNN 来处理分类,定位和检测任务,并且有效的实现了多尺度滑动窗口的任务处理方法。Overfeat 提出不久之后,Ross Girshick 等人便提出了大名鼎鼎的 R-CNN 模型。R-CNN 利用 Selective Search 获取候选区域,将候选区域归一化后输入到 CNN 网络中,再通过 AlexNet 获取候选框的特征,最后使用多个 SVM 进行分类以及线性回归调整定位框(Bounding-box)。随后通过简化候选框提取网络、softmax 的引入等操作将 R-CNN进化为 FAST-RCNN 。而后 又 经 过一系列的优化进一步提高了 Fast-RCNN的效率进而得到了Faster-RCNN 网络。在 2016 年的 CVPR 上 YOLO以更为轻便的姿态出现在了人们的面前,YOLO 不再有独立地求取候选框地模块,并且将物体检测看作一个回归问题,一次性地将物体所在位置以及其类别的置信概率计算出来。 传统的目标检测算法大多都基于滑动窗口或先验框的方式,在 2019 年的CVPR 上有一篇名为《High-level Semantic Feature Detection: A New Perspective for Pedestrian Detection》的文章,文章提出了一种基于高级语义特征的目标检测算法 CSP(Center and Scale Prediction),CSP 通过卷积操作对行人的中心位置和维度大小进行预测。