智能交通中毫米波雷达数据处理方法与实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 视频目标检测的研究现状

目标检测的目的是从图像中获取一个或多个目标的位置和类别。传统目标检测算法更依赖人类主观设计的特征算子,如HOG特征和SIFT算子等。但在大多数情况下,特征提取算法具有一定的局限性,很难用于进行其他检测。2008年,Felzenszwalb基于目标的不同组件可以组合成一个弹簧模型的思想提出了DPM算法,该算法采用根滤波器和组件滤波器提取图像特征,并通过隐支持向量机(Latent Support Vector Machine,LSVM)训练目标的梯度模型,将该模型作为模板进行目标匹配。近年来,深度学习的兴起,尤其是卷积神经网络的发展,为特征提取提供了新的思路,即避免主观特征设计,利用模型从数据中自动完成特征提取。

目前,基于卷积神经网络的目标检测可以分为两类:基于候选区域(Region Proposal)的R-CNN系列算法和基于网格划分(Grid Partition)的YOLO算法。2013年,Ross Girshick提出了R-CNN算法,抛弃了传统滑动窗的穷尽式搜索算法,采用“聚类”思想预先给出1000~2000个可能为目标的候选区域,再利用卷积神经网络进行特征提取,并由SVM分类器和Bounding box回归器分别进行分类和回归。R-CNN算法首次将深度学习引入目标检测领域,并大幅提高了检测率,在PASCAL VOC上的检测率由35.1%提升至53.7%。2015年,为了解决R-CNN算法速度过慢的问题,Ross Girshick进一步优化R-CNN算法,提出了Fast R-CNN和Faster R-CNN算法。Fast R-CNN算法借鉴了SPP-Net的空间金字塔池化(Spatial Pyramid Pooling)思想,取消了图像归一化过程,解决了图像变形导致的信息丢失问题,使算法流程更紧凑,不仅将目标识别率提高到67%左右,还大幅提高了检测速度。在网络规模相同的情况下,与R-CNN相比,Fast R-CNN的训练时间从84小时缩短至9.5小时,测试时间从47秒缩短至0.32秒。Faster R-CNN算法的最大改进是提出了RPN(Region Proposal Network),不再使用单独步骤提取候选区域,将目标检测的所有步骤统一到一个深度学习框架中,实现了端对端检测,是目前识别率最高的目标检测算法。

由于R-CNN系列算法的速度依然无法满足实时检测需求。2015年,Joseph Redmon提出了基于网格划分的YOLO算法。与基于候选区域的算法不同,YOLO算法将目标检测视为回归问题,输入图像经过一次网络的Inference就可以直接得到所有目标的位置、类别和置信概率,并可以端对端优化目标检测性能。因此,YOLO算法的检测速度远远快于R-CNN系列算法,在Titan X的GPU上可达45fps。但采用YOLO算法进行目标检测的识别率较低,且对小目标的检测效果不是很理想,原因在于网格划分导致特征丢失严重,缺乏多尺度上的回归。2015年,刘伟提出了SSD(Single Shot Multibox Detector)目标检测算法,该算法利用卷积神经网络中具有不同感受野(Receptive Field)的网络层提取不同尺度的特征图,并利用多尺度特征图改善小目标检测问题。