基于卷积神经网络的行人检测系统设计(3)

以上方法虽然在行人检测方面都取得了不错的进展,但也有很多局限:譬如在提取轮廓模板特征时,由于行人姿态各异以及存在阴影、遮挡这样的复杂的情


以上方法虽然在行人检测方面都取得了不错的进展,但也有很多局限:譬如在提取轮廓模板特征时,由于行人姿态各异以及存在阴影、遮挡这样的复杂的情况,故需要构建大量的形状特征模板才能得到较不错的匹配效果,与此同时又存在出现诸如分类错误的潜在风险;在提取Edgelet特征时,由于每个Edgelet特征都要求人工进行手动标注,显然这又耗时又耗费人力,而对于一些错综复杂的曲线,不太可能以人工进行手工标注来取得贴合程度很高的行人的人体曲线的“小边”特征。可见,通过这些方法,虽然可以得到一个较为不错的准确率,但是显然对于行人检测样本集图像数据的预处理,其中很多需要人工进行手工标注,耗时耗力,在“大数据”时代,自然需要一种高度自动化的方式来替代这些机械化的操作。

而卷积神经网络的出现,通过训练网络,使得提取特征不再像传统方式一样繁琐复杂并且错误率高,同时大大提升了提取特征的效率。随着硬件(主要是以NVIDIA公司生产的图形显卡)水平的提高以及对各类卷积神经网络算法的深入研究,不仅避免了复杂的人工手工进行特征提取和重建样本数据过程,而且基于卷积神经网络的行人检测系统,无论在识别准确率上还是检测速度上,都取得了相比传统的行人检测算法而言很大的进步。

1.2 卷积神经网络发展现状

在BP算法[14]提出3年之后(1989年),LeCun等[15]选择将BP算法用于训练多层卷积神经网络来识别手写数字,这相当于是卷积神经网络的前辈。而后Lecun提出了第一个可以真正称为卷积神经网络模型的网络模型LeNet-5模型[16]。直到2012年,Hinton团队[17]使用了他们团队自己搭建的卷积神经网络模型Alexnet在 ImageNet图像分类竞赛中获得了压倒性的胜利,将1000 类图像的Top-5分类错误率从26.172%降低到15.315%。从此之后,卷积神经网络(CNN)正式进军计算机视觉领域,之后,其应用领域再也不再受限制于手写识别以及语音识别了,在图像分类、目标检测、行人再识别、人脸识别等多个计算机视觉热门方向中都取得了不俗的成绩。

在此期间,有出现过DeepFace[18]和DeepID[19],作为两个出色的高性能的人脸识别与认证的卷积神经网络模型,成为卷积神经网络在人脸识别领域中的标志性研究成果;有出现过包含了连续多层卷积层(19层中包含了16层卷积层),计算量巨大但特征提取效果很好的网络模型——VGGnet[20];同时又有不断加深网络层数,通过应用残差网络以解决网络层数过深出现的无法训练的问题的网络模型——Resnet[21](常用的为152层,现已出现千层);最近也出现了像下文中所用到的MobileNet这样相对层数较深的网络在大大节约计算量的同时在各种目标检测数据集上可以取得几乎差不多的准确率的网络模型等等。

对于卷积神经网络而言,一般通过三种方式来改进,以取得更加好的效果:

○1增强硬件性能:主要是以NVIDIA公司研发的GPU为主,主要的参考参数为算力(Compute Capability,一般要求算力3.5以上)、流多处理器个数(Streaming Multiprocessor,SM)、显存、GPU并行、架构等。同时还要加上GPU加速库(主要是cuDNN)的更新。在经济条件限制的情况下,有时还需要考虑功耗;

○2数据增强:一般而言,训练样本数越大越好(当然同时也需要考虑训练时效和硬件限制),比如ImageNet竞赛数据集,已达百万量级。同时,也可以对数据样本进行诸如平移变换、水平翻转(本文所使用的Faster R-CNN中对数据样本也进行此类处理)、颜色变换等操作,来在原有有限的的数据样本基础上构造新的样本;