传统的目标检测方法诸如在2005年提出的HOG[7]特征方法,该方法是一种特征描述算子,使用该方法能够极大的提高检测算法的性能。HOG特征是通过计算局部区域内的梯度信息来获得相应的特征信息,该方法结合SVM技术可以实现比较好的物体检测效果。HOG特征对于光学和几何都具有较好的形变性,同时稍许动作不影响检测性能,所以HOG技术比较适合用于人体检测。但是HOG存在着具有时间复杂性高以及鲁棒性差的特点,所以后续对于HOG的改进也有许多。但是这些都是基于手工设计特征方法进行的,虽后续的改进方法性能变强了一些,但是没有出现突破性的进展,所以如何更好的对图像或者视频中目标进行检测成为了研究者们的研究热点。
随着近些年来计算机大批量计算能力的提升,深度学习技术开始出现在人们的眼前,它依靠海量的数据来学习训练出有用的特征信息。其中,如何学习出特征信息则需要神经网络这一黑盒子,多层神经网络通过从原始图像中提取信息,然后逐层学习训练进而得到图像的高级表示信息。使用神经网络进行特征提取逐渐代替了诸如HOG等比较传统的方法。从2006年深度学习技术被提出之后,伴随着计算机计算能力的提升,人们对于深度学习的研究逐渐热
了起来。在2012年的国际大规模视觉识别大赛中,Hinton的学生利用卷积神经网络获得了大赛的冠军,其中,该团队得到了15.3%的top5分类错误率,大幅度领先于26.2%的手工设计方法,在此次比赛后,基于深度学习的特征提取方法进入了人们的视野。在此之后,人们相继提出了多种多样的卷积神经网络,这些特征提取网络的识别能力都已经远远超于其他的方法,这些都强有力的证明了基于深度学习的特征提取方法具有巨大的发展潜力。
近些年来卷积神经网络的迅速发展使得基于深度学习的检测方法比传统的方法更加优秀。人类最早使用的卷积神经网络可以追溯到1998年构建的LeNet[8]网络,LeNet-5是一个仅仅5层的卷积神经网络,它被应用于手写体字符识别任务中并取得了较好的识别效果,在LeNet-5网络中提出了池化层,该结构之后也被广泛应用。在这之后的多年里由于计算机发展的限制,卷积神经网络并没有得到广大研究者的关注。2012年AlexNet网络在ImageNet大赛中,通过加入激活函数Relu、添加Dropout技术、使用数据增强等取得了该大赛的冠军成绩,在这之后,卷积神经网络开始得到人们的广泛关注,各种优异的卷积神经网络相继被提出。VGGNet通过使用3*3的卷积核和2*2的池化并不断堆叠达到了16-19层的级别,该网络在ImageNet上Top5的分类错误率仅仅为7.5%。GoogleNet采用模块化结构、移除全连接部分等,网络的各种优化使得其具有比较好的学习能力,也实现比较好的分类性能。在2015年,残差网络ResNet被提出,旨在解决神经网络在非常深的时候引起退化的问题,使得神经网络在加深网络时性能不会下降。2017年DenseNet被提出,它在ResNet的基础上添加了密集连接部分,可以使每一个特征层被多次的利用,从而进一步的提高了神经网络的泛化效果。
基于深度学习的目标检测算法也在经历着一个不断被优化的过程,从原理上来说它可以被分为两种类型:两阶段检测算法和单阶段检测算法。RCNN作为两阶段检测算法的开山之作,它将卷积神经网络第一次应用于检测算法中,相比于传统的方法,基于深度学习的RCNN方法在PASCAL VOC数据集上实现了检测准确率的飞跃。但是RCNN算法也存在着一些问题,比如检测速度过慢、重复计算多等问题,所以后面学者们又相继提出了SPP-Net、Fast-RCNN、Faster-RCNN、Mask-RCNN等目标检测算法。在这几种检测器中,最为经典的就是Faster-RCNN检测算法,它是一个端到端的检测算法,检测精度比较高,同时,它还提出了区域生成的方法,该方法对于检测精度的提升起到了至关重要的地位。两阶段检测器虽然检测精度很高,但是在商业应用中需要算法实时的运行,所以检测速度也是一个非常重要的指标,单阶段检测器的特点就是相比于两阶段检测器而言检测速度快了很多。Yolo-V1是第一个单阶段检测算法,检测速度非常快,但是精度不是很高,这是由于它是一种直接在神经网络中对默认框进行分类和回归的一种算法,而没有检测框的矫正阶段。SSD算法也是一种单阶段检测算法,它具有多尺度检测的功能,同时使用VGG深度网络来进行特征提取,所以性能相比于Yolo-V1更加强大。随后研究者们对Yolo-V1提出了较多的改进版本,如经典的YOLOv2,YOLOv3等。同时,针对SSD检测算法也出现了许多变种包括FSSD、DSSD等。
经典的两阶段检测器和单阶段检测器都是使用一些参数量和运算量相对较多的一些卷积神经网络,如VGG、DarkNet等。为了进一步的提升检测的速度,就需要研究出高效且高精度的轻量化神经网络。轻量化神经网络虽损失了一些精度,但是检测速度能够明显提升,在一些实时性比较高的任务中尤其需要此种网络。轻量化网络MobileNet提出了将正常的卷积替换为深度可分离卷积的结构,该结构能够加大的降低参数量,对于一个3*3的卷积核,使用深度可分离结构大约可以节省到原来九分之一的参数量。在这之后研究者们也提出了许多轻量化结构,比如ShuffleNet、MobileNetV2、ShuffleNetV2等,通过使用这些深度学习网络,检测算法的速度越来越快但是参数量和运算量却越来越少。为了对目标检测算法进行轻量化研究,有学者专门针对检测任务提出了 PeleeNet目标检测网络,它可以达到一定的检测精度但是同时也具有较高的轻量化和实时性。为了使得目标检测算法的网络参数量与计算量更小,模型占用存储空间更小,更好的实现检测精度与效率之间的平衡,面向目标检测进行轻量化研究具有重要意义。