基于卷积神经网络的行人人头检测方法对比研究
2019-02-22邢志祥顾凰琳魏振刚汪李金
邢志祥,顾凰琳,魏振刚,钱 辉,张 莹,汪李金
(常州大学环境与安全工程学院,江苏 常州 213164)
在车站、商场等人员密集的公共场所,如果发生突发事件,容易引起人群拥堵、踩踏等事故,如果对行人进行有效的检测和预警,可以及时阻止此类事件的发生。行人检测的方法有多种,近几年来智能安监技术、无人驾驶技术等由于计算机视觉的兴起已成为研究的热点,计算机视觉的快速发展也提供了许多新的行人检测方法。
针对传统的计算机行人检测方法已有较多研究。如何鹏[1]提出了一种基于改进背景减除法的类圆形目标检测算法,这种方法可以降低背景变化和噪声对检测结果的影响,但也可能会出现目标丢失和伪目标的现象;陈亮[2]采用光流法的视频分析技术对地铁客流进行了监测,该技术可以较为准确地反映对象的平移运动,但是步骤较为繁琐、复杂。可见,一些传统的计算机行人检测方法都具有一定的局限性。
近几年来随着深度学习的快速发展,许多基于卷积神经网络的行人检测方法开始兴起。本文基于卷积神经网络,主要研究了几种不同的行人人头检测方法,通过不同的行人人头特征提取与目标检测结构组合的方式来探索最优的行人人头检测方法。传统方法对车站、商场、地铁等人员密集的公共场所的客流进行统计时,一般都是检测行人,但由于行人高矮不一、胖瘦不均等原因,容易出现遮挡等情况,所以本文尝试通过高位摄像头采集行人的人头数据,这样可以减少遮挡的情况,从而更容易、准确地统计客流。
1 卷积神经网络与行人人头检测算法
卷积神经网络(Convolutional Neural Network,CNN)[3-4]是一种受到生物自然视觉感知启发而建立的一种深度学习体系结构,是一种至少使用一层卷积运算来替代一般的矩阵乘法运算的神经网络。卷积神经网络主要由输入层、卷积层、池化层、全连接层和输出层构成,其复合了多个卷积层和池化层对输入数据进行加工,并在连接层实现与输出目标之间的映射。卷积神经网络的经典模型——LeNet-5的网络结构,见图1。
图1 卷积神经网络的经典模型——LeNet-5的网络结构Fig.1 Structure of the classical Convolutional Neural Network model -LeNet-5 network
对行人人头的检测可以看成是一个目标检测的问题,目标检测一般要确定三个问题:目标定位、目标检测和目标分类。其中,目标定位是确定候选区域,即确定行人人头的位置;目标检测是对候选区域进行特征提取,提取目标分类所需要的行人人头特征;目标分类是通过提取的行人人头特征来进行所需要的分类,本文主要分为两类,即‘是行人人头’和‘非行人人头’。基于卷积神经网络的行人人头检测的主要步骤,见图2。
图2 基于卷积神经网络的行人人头检测的主要步骤Fig.2 Main steps of pedestrian head detection based on convolutional neural network
1. 1 行人人头数据的采集
在行人人头检测时,需要对行人人头进行数据采集,本文在常州某车站安检站台处通过高位摄像头采集行人的人头数据,通过一段30 min的视频监控截取464张图片并进行标签,本文选取其中一张图片的人头候选区域作为例图,见图3。
图3 行人人头检测图像Fig.3 Images of pedestrian head detection
为了使采集的行人人头图像数据在试验中可以使用,必须将所需要的行人人头图像进行归一化处理后再进行标签。由于是通过视频截图,图像的分辨率是一致的,所以不需要再对行人人头图像进行另外的归一化处理,主要是对样本进行标签。通过Spyder软件将行人人头图像数据导入,通过编写脚本程序来对样本进行标签,标签完成后就可以将行人人头图像数据和标签数据用来试验。图3为通过脚本程序手动选择的行人人头检测区域,图4为脚本程序运行后与图3相对应打上标签的行人人头数据标签,即将图片里的行人人头区域转化为数据的形式以方便之后的试验。图4中的第一行代表了本张图片中的行人人头区域个数,下面的数据则分别代表行人人头区域的范围(通过x、y轴的最大值、最小值来确定行人人头区域范围)。
图4 行人人头检测数据标签Fig.4 Data label of pedestrian head detection
1. 2 特征提取网络
卷积神经网络的特征提取网络有多种形式,本文主要研究3种特征提取网络:Inception模块、ResNet特征提取网络和MobileNet特征提取网络。
(1) Inception模块:Inception模块最初是由Szegedy在2014年提出的,可以广泛应用到卷积神经网络中,目前主要的Inception模块有Inception V1~V4[5-8]。其中,Inception V1主要构建了1×1、3×3、5×5的卷积层和3×3的池化层,同时使用MLP池化和全局平均池化,扩宽了卷积层网络宽度,增加了网络对尺度的适应性;Inception V2提出了BN方法,同时使用两个3×3的卷积核代替5×5的卷积核,在降低参数量的同时提高了网络学习的能力;Inception V3引入了Factorization;Inception V4研究了Inception模块结合Residual Connection。本文通过阅读文献选择了较为常见的Inception V2特征提取网络。
(2) ResNet特征提取网络:ResNet特征提取网络[9]是由何凯明博士的团队于2015年首次提出,ResNet网络也称为深度残差网络,一般较常用的是Resnet 50和ResNet 101两种类型。ResNet网络主要是应用了一种叫identity mapping的连接方式,可以解决“随着网络加深,准确率不下降”的问题。
(3) MobileNet特征提取网络:MobileNet特征提取网络[10]是一种轻量级、低延迟的卷积神经网络模型,可以将标准卷积分解成一个深度卷积和一个1×1卷积核,通过深度可分离的卷积来构建轻量级的深层神经网络,可广泛应用于物体检测、细粒度分类、人脸属性识别和大规模地理定位等。
1. 3 目标检测结构
目标检测结构的卷积神经网络也有很多种类,本次试验所用到的3种目标检测结构为:Faster R-CNN、R-FCN和SSD。
(1) Faster R-CNN目标检测结构:Faster R-CNN最初是由Girshick团队[11]于2015年提出的一种目标检测结构,它是R-CNN、SPP-Net和Fast R-CNN等目标检测结构系列的最终版,其准确率和检测速度都有了很大的提升。Faster R-CNN是主要由RPN候选框提取模块和Fast R-CNN检测模块组成的算法,其中RPN候选框提取模块可以输出区域建议的物体分类和预测物体的回归边界;Fast R-CNN检测模块是在得到的RPN候选框提取模块中进行最终的目标检测与分类。具体的Faster R-CNN目标检测结构的网络框架,见图5。
图5 Faster R-CNN/R-FCN目标检测结构的网络框架Fig.5 Network framework of Faster R-CNN/R-FCN
(2) R-FCN目标检测结构:R-FCN网络是由代季峰等[12]于2016年首次提出的基于区域的全卷积神经网络,这是一种全新的目标检测结构。R-FCN网络在进行目标检测时所有的步骤与Faster R-CNN网络一样(见图5),都是先确定候选框,再进行目标的检测与分类,不过它的主要目的是通过最大化共享计算来提升速度。
(3) SSD目标检测结构:相比以上两个目标检测的算法,SSD[13]的目标检测结构网络就简单了许多,它是由Wei Liu最先在ECCV 2016上提出的一种目标检测算法。尽管SSD网络的目标检测率虽不如以上两个目标检测算法,但是它的检测速度却大大提高了。SSD目标检测结构将目标检测与分类一体化,实现端对端的训练,它最大的特点是不同时考虑图像每个位置的每个边界及其分类,而是选择可信度最大者来进行目标检测与分类。SSD目标检测结构的网络框架,见图6。
图6 SSD目标检测结构的网络框架Fig.6 Network framework of SSD
2 基于卷积神经网络的行人人头检测模型试验设计与检测结果分析
2. 1 模型试验设计
由前述可知,目标检测中特征提取网络有Inception模块、ResNet和MobileNet等,目标检测结构有Faster R-CNN、SSD、R-FCN等。通过将不同行人特征提取网络与目标检测结构相组合的方式设计模型试验,对比研究各种行人人头检测组合模型的准确率和检测速度。因此,本次试验在采集的行人人头数据库的基础上设计了基于卷积神经网络的行人人头检测组合模型,见表1。
表1 基于卷积神经网络的行人人头检测组合模型的试验设计
注:表中的“√”表示不同的特征提取网络和目标检测结构相互组合的选择。
由于模型组合较多,本文仅选择几种比较具有可行性的模型组合方式来进行研究。根据试验所设计的基于卷积神经网络的行人人头检测模型利用Tensor flow软件进行试验训练,并给出最终的试验数据。Tensor flow是一种使用数据流和图来进行数值计算的开源软件,主要用于机器学习和深度神经网络的研究。
2. 2 模型检测结果分析
2.2.1 不同组合模型的准确率与检测速度对比分析
不同的组合模型对行人人头检测的效果不同,本试验所得到的行人人头检测不同组合模型的准确率和单张图片检测时间见表2和表3,不同组合模型的单张图片检测时间与准确率效果图见图7。
表2 行人人头检测不同组合模型的准确率
表3 行人人头检测不同组合模型的单张图片检测时间
由表2和表3可知,由目标检测结构Faster R-CNN和R-FCN与各种特征提取网络组成的组合模型比目标检测结构SSD与各种特征提取网络组成的组合模型的准确率要高,但其检测速度比由目标检测结构为SDD与各种特征提取网络组成的组合模型慢。由此可归结出:①目标检测模型的准确率与检测速度有一定的相关性,一般来说检测模型的准确率越高,其检测速度则越低,因此需要平衡准确率与检测速度来探索最优的目标检测模型;②不同的特征提取网络也会影响目标检测模型的检测效果,特征提取网络的层数越多,目标检测模型的准确率越高,但同时检测速度越慢,如Faster R-CNN目标检测结构在Resnet 50和Resnet 101不同特征提取网络下的检测效果不同。
图7 行人人头检测不同组合模型的单张图片检测时间与准确率效果图Fig.7 Single image detection time and accuracy of different combined models for pedestrian head detection
通过分析图7并结合本文的行人人头检测实例可知,可选择Faster R-CNN目标检测结构与Inception V2的特征提取网络组合的目标检测模型,其在保证准确率的同时也具有一定的实时可操作性,属于最优的目标检测模型,可以用于车站的行人人头检测。
2.2.2 不同平台上各组合模型的检测速度对比分析
为了研究各种行人人头检测组合模型在不同平台上的检测速度,本文设计了对比试验,即将这些组合模型分别在计算机单机和服务器平台上运行来进行试验。计算机单机的操作系统为Windows10系统,CPU为Intel Core i5,主频为2.10 GHz,无显卡;服务器的系统为Ubuntu-16.04,CPU为Intel Xeon E5-2620 v4,单显卡为GeForce GTX 1080 Ti,服务器端使用的处理计算机与计算机单机的配置相同。计算机单机和服务器平台上相同图片的单张检测时间对比见表4。
表4 不同平台上相同图片的单张检测时间对比
由表4可知,计算机单机对这些组合模型的检测速度远远低于服务器平台的检测速度。因此在进行实际的行人人头检测中,在考虑实时性的条件下,建议使用检测效果较好的服务器平台来进行试验。
2.2.3 不同组合模型的检测效果分析
本试验运行后行人人头检测不同组合模型的效果图,见图8。
图8 行人人头检测不同组合模型的检测效果图Fig.8 Model diagram of pedestrian head detection by different combined models
由图8可见,不同特征提取网络与目标检测结构的组合模型对行人人头检测的效果不尽相同,其中Faster R-CNN目标检测结构与各种特征提取网络组成的组合模型几乎都可以检测出大部分的人头,R-FCN目标检测结构与ResNet101特征提取网络组成的组合模型对行人人头的检测效果也较好,但目标检测结构为SSD与各种特征提取网络组成的组合模型的检测精度没有其他的组合模型高,且还存在漏检的情况。因此,在考虑精度的条件下,建议选择目标检测结构为Faster R-CNN和R-FCN与各种特征提取网络组成的组合模型对车站等公共场所的行人人头进行检测。
3 结 论
本文利用基于卷积神经网络的组合模型对行人人头检测进行试验研究与分析,得到以下结论:
(1) 在实际的行人人头检测过程中,使用Inception-V2特征提取网络与Faster R-CNN目标检测结构相组合的检测方法,可以满足准确率和实时性的要求。
(2) 在行人人头检测研究的试验中,还需要考虑的是测试平台的实用性,本文通过对比分析计算机单机与服务器平台上的检测速度,结果显示试验在降低精度要求、满足基本需求的情况下,采用计算机单机也可以完成行人人头检测任务。
计算机视觉技术的快速发展给人们带来了很多便利,尤其在行人检测方面,促使许多基于卷积神经网络的特征提取和目标检测方法也有了快速发展。本文研究的行人人头检测方法可以满足准确率和实时性的要求,如果再配备服务器资源,就可以顺利地进行各种目标检测模型的试验研究。该研究对客流统计具有一定的应用价值,可以让公共场所的管理人员及时了解客流情况,从而在发生火灾或其他突发事件时能及时疏散群众,以避免安全事故的发生。