王海亮
摘 要:近几年来,人工智能、物联网技术得到了高速发展,传统的交通行业在二者的辅助下也得到了发展。本文针对智慧交通系统中的行人过街系统进行了改进,提出一种基于人脸检测和人脸识别的行人过街系统。该系统由图像采集模块、人脸检测及识别模块、数据分析及处理模块等部分组成,借助MTCNN、FaceNet等深度卷积神经网络算法实现人脸检测和人脸识别,同时在年龄识别模块中调整了AlexNet模型的网络参数,并对模型进行重新训练。行人过街系统借助深度学习算法,可以实现无感知放行,有效提升道路通行率及行人过马路的安全性。
关键词:人脸检测;人脸识别;行人过街;MTCNN
中图分类号:TN911.73;TP391.4文献标识码:A文章编号:1003-5168(2020)32-0010-04
Abstract: In recent years, artificial intelligence and Internet of Things technologies have developed rapidly, and the traditional transportation industry has also developed with the assistance of the two. This paper improved the pedestrian crossing system in the smart transportation system, and proposed a pedestrian crossing system based on face detection and face recognition. The system consists of an image acquisition module, a face detection and recognition module, a data analysis and processing module, etc, it uses deep convolutional neural network algorithms such as MTCNN and FaceNet to realize face detection and face recognition, at the same time, it adjusts the network parameters of the AlexNet model in the age recognition module and retrains the model. The pedestrian crossing system uses deep learning algorithms to realize non-perceptual clearance, effectively improving road traffic rate and pedestrian crossing safety.
Keywords: face detection;face recognition;pedestrian crossing;MTCNN
智能交通系統通常简称为ITS(Intelligent Transportation System),是将先进的信息技术、数据通信传输技术、电子传感技术、控制技术及计算机技术等有效地集成并运用于交通系统,从而提高交通系统效率的综合性应用系统。除了北京、上海、广州和深圳,天津、重庆、武汉等也正在迈向超大城市行列。与此同时,城市道路人车抢道的问题日益严重,行人既是道路通行中的弱者,也是引起交通秩序混乱和效率低下的根源之一,因此,全国各地纷纷涌现出不同形式的智能行人过街系统。行人过街系统作为ITS系统的一部分,实现智能化是未来交通系统发展的方向,也是未来车联网的重要组成部分。
1 行人过街系统
本文设计的是一种基于人脸识别的智能行人过街系统,该类控制系统以机动车放行为强控制权、行人放行为弱控制权,通过动态分配放行权的方式实现路口的控制,在保障机动车通行效率的同时,也能动态分配行人通行的权利,最大限度保障道路的畅通。目前,比较常见的行人过街控制系统有按钮式行人过街控制系统及感应式行人过街控制系统[1]。
与按钮式行人过街控制系统相比,感应式行人过街控制系统用行人检测模块替换了行人过街的按钮,行人检测模块负责检测在固定等待区内的行人过街请求,可以动态检测过街行人的数量,动态调整行人放行的时间。目前,该系统感应模块主要通过温度、光等传感器实现触发。
按钮式行人过街控制系统安装简单,但存在不够灵活、按键容易损坏等问题,而温度、光等感应式系统受环境、使用时间等因素影响,感应精度偏低。现在,基于深度学习的行人检测算法已经比较成熟,因此本文采用该方案来构建感应式行人过街控制系统[2]。
2 基于人脸识别的行人过街系统
本文设计的行人过街系统由前端视频采集模块、IoT(OneNET)平台及后端识别三部分组成。前端视频采集模块采用高清或标清的摄像机,首先在视频范围内划分行人虚拟等待区,如果有行人进入虚拟等待区,则触发摄像机运行并将视频流通过IoT(OneNET)平台实时推送到后端平台服务器中,后端平台获取每一帧视频数据后通过人脸检测和人脸识别算法提取行人数量、行人运动轨迹、行人年龄等特征,并通过特征加权形成放行方案后传输至道路交通控制系统,最终形成行人的智能化放行方案。
2.1 人脸识别网络模型
一个完整的人脸识别过程包括人脸检测、人脸识别两个过程,首先通过人脸检测算法提取出人脸的候选框,接着通过人脸识别算法识别候选框中的人脸并进行人脸比对,最后完成人脸识别的过程。
从2006年提出深度学习概念,NVIDIA发布了一系列高性能显卡,使得深度学习的训练时间大大缩短。同时,Caffe、TensorFlow等深度学习框架逐渐成熟,封装了深度学习的主要流行框架,大大降低了深度学习的难度。
本文的人脸检测及识别模块采用卷积神经网络结构,卷积神经网络[3](Convolutional Neural Network)的简称是CNN,是深度学习里面最热门的一种网络结构,在图像识别、物体检测等领域普遍应用。与传统神经网络相比,卷积神经网络依旧是层级结构,主要由输入层、卷积层、池化层及输出分类层组成,其各层的功能和形式做了变化,通过卷积计算层替换传统神经网络的全连接层。卷积神经网络在低层使用卷积来获得图像的局部特征,高层对低层获得的图像局部特征进一步卷积可获得更细化的局部特征,最后通过全连接层实现全部特征的提取。
2.2 系统框架
系统由前端信息采集模块、人脸检测及识别模块、云端数据处理模块及交通控制模块四部分組成,前端信息采集模块通过视频摄像机将实时数据流推送到云端平台,云端平台通过人脸检测及识别模块将行人的人脸特征解析出来并送至数据处理模块,数据处理模块根据行人特征信息、权重等参数决定当前行人放行的策略。生成好的策略最后传送至交通控制系统。系统结构框图如图1所示。
2.3 数据采集模块
数据采集模块采集的是人脸数据,人脸采集分为人脸检测和人脸识别[4]两个功能模块,其中人脸检测是进行人脸识别、处理的基础。其间通过检测出实时视频流中的人脸,返回高精度的人脸框坐标及特征点。为了节省方案整体的成本,人脸检测、人脸识别及处理部分均置于云端平台。考虑到路过摄像头的行人会对检测结果形成干扰,摄像机部署时要求摄像头面向行人过街的方向,最大程度降低非过街行人对本系统的影响。
2.4 人脸检测及识别模块
2.4.1 行人虚拟等待区检测。与传统的行人检测方法不同,本文通过视频识别人脸方式实现行人过街。首先需要在视频检测区域内划出行人虚拟等待区,只有进入该区域内的行人才会触发人脸识别检测。当行人进入该区域后,摄像机对该行人进行人脸检测及人脸跟踪。检测工作流程如图2所示。
2.4.2 人脸检测。本文人脸检测算法采用MTCNN的深度学习网络模型[5],该模型是一种多任务的人脸检测框架,使用了3个CNN级联算法结构P-Net、R-Net及O-Net,通过考虑人脸边框回归、面部关键点检测等方法将人脸坐标及特征值同时提取出来。
算法将每一帧图像按照不同的缩放比例,缩放成不同大小的图片,形成特征金字塔。P-Net获取人脸区域内人脸的候选窗口和边界框的回归向量,并对边界框进行回归,实现候选窗口的校准,最后通过非极大值抑制来合并IoU高的候选框。P-Net生成的候选框经过R-Net网络层中继续训练,利用边界框回归值微调候选人脸窗体,同样再通过非极大值抑制来合并候选框。P-Net和R-Net网络层的输出数据最后通过O-Net实现人脸的关键点定位。
人脸检测模块输出参数包括人脸框图、行人数量、行人等待时间等,其中,行人数量特征参数将会作为本系统的重要特征输入数据综合处理模块来决定行人过街的绿灯初始放行时间。
2.4.3 人脸识别。人脸识别的目的是为了分析出一段时间内行人虚拟等待区内同一个人的运动轨迹,本云端系统实时处理人脸检测模块中识别出来人脸框的图片。人脸识别采用Google的FaceNet网络模型[6],FaceNet以图像到欧式空间的距离作为依据,采用基于深度神经网络的图像映射方法和基于Treiplets的损失函数训练神经网络,网络直接输出为128维度的向量空间。具体算法实现流程如图3所示。
FaceNet网络模型的末端使用Triplet Loss来进行分类,Triplet Loss将每个个体的人脸图像与其他人脸图像分开,三元组是三个样例,利用距离关系来进行判断。在尽可能多的三元组中,要使正样本与锚点的距离小于负样本与锚点的距离。
2.4.4 人脸跟踪。在行人等待区域内识别单个行人轨迹的主要目的是判断该行人是否有过街的需求,避免正常路过的行人识别错误,从而引起不必要的过街请求。实际上,本系统只需要行人进入虚拟等待区识别出的第一张照片和行人静止状态的照片即可勾画出该行人的行动轨迹,并不需要形成严格的行动轨迹。人脸识别是实现人脸跟踪的必要条件,人脸跟踪模块中使用人脸识别中已经识别好的人脸数据,根据多张图像中检测的人脸进行比对,当同一个行人进入虚拟等待区内开始,直至其静止,通过人脸跟踪获得该行人的运动轨迹。
2.4.5 年龄识别。行人过街的时间除了跟需要过街的行人数量有关,还跟过街的行人年龄段有关。当过街行人中有老人,本系统会识别出并给出加权因子,调整放行策略。年龄识别的算法[7]在AlexNet模型的基础上做些修改,采用3个卷积层、2个全连接层,与AlexNet相比,CNN网络模型简化了很多,对于年龄的识别,考虑到分类精度,因此只划分了2个年龄段,相当于2个分类,具体为青壮年、老年两分类。图像输入是人脸识别模块输出的人脸框图。模型框图如图4所示。
不同于FaceNet及MTCNN模型,本文需要对AlexNet衍射出来的网络结构进行fine-tuning,将输出的10分类调整为2分类。该网络结构是一个全卷积层的神经网络,模型输入为227×227×3大小的图片,层一为96个11×11的卷积核和3×3的MP,通过该层后生成96个55×55的特征图;层二为256个5×5的卷积核和3×3的MP,通过该层后生成256个27×27的特征图;层三为384个3×3的卷积核,通过该层生成384个13×13的特征图;层四为384个3×3的卷积核生成384大小的全连接层;层五、层六为512个全连接层,最后输出人脸的2个分类。
本文基于TensorFlow框架对整个网络进行了重新训练。具体步骤为:下载AlexNet及其衍生网络模型的数据集,并导入训练模型中;初始化模型权重、卷积核等参数,采用标准差为0.1、均值为0的高斯分布数据;为了防止过拟合,dropout选择为0.5。min-batch选择为100,学习率为0.001,当迭代次数超过5 000次后,调整学习率为0.000 1,迭代次数为1 000次或梯度不发生降低时停止;将人脸检测输出的resize为227×227的图片输入该模型中并进行预测。
经过重新训练后,在测试数据集上最终预测精度为0.9左右,基本满足需求。
2.4.6 行人路段检测。将道路中间的行人过街斑马线划分为虚拟行人过街检测区域,当当前道路放行狀态处于行人放行时,摄像头将处于识别状态,实时识别斑马线上的行人状态。行人路段的检测算法也采用MTCNN,如果剩余的行人过街时间不够,就会主动反馈信息给信号控制系统,使得道路交通信号控制系统进行行人放行配时调整,保证行人安全过街。
2.5 数据综合处理模块
经过人脸检测及人脸识别,多个特征参数形成,包含行人等待数量、行人已等待时间、等待行人中老年人占比率等,云端平台将处理后的数据进行加权分析,并形成放行策略传输给道路交通控制系统,道路交通控制系统在执行该放行策略时根据行人路段检测模块传输的信息进行动态调整。处理流程如图5所示。
权重参数并不是固定值,由特征参数的类型决定,如果某个时间段等待行人数量过多但等待时间较短,则权重1值相应调高,权重2值相应调低,如果某时间段等待行人数量很少,但等待的行人中老年人占比过多,其权重3会相应调高,通过动态调整权重,实现最优行人放行策略。
3 结论
本文设计了一种基于人脸识别的行人过街系统,介绍了总体架构,详细阐述了各个子模块的功能。在人脸检测及识别过程中,本研究通过算法级联的方式实现多种算法在实际应用中的融合,构建无感知行人过街系统。本文设计的系统可以作为V2X的子系统,实现道路信号主动控制,包括机动车辅助驾驶、信号自适应控制、特殊车辆优先控制、行人安全报警等,行驶车辆通过与该路侧系统的互联互通,获取精准的路口信号配时方案、控制方案、相位相序信息、同步信号状态、倒计时信息、行人流量、行人避让和行人画像等信息,提升道路通行安全性。
参考文献:
[1]张惠荣,蔡章辉,高霄.行人过街智能控制系统设计探讨[J].现代建筑电气,2018(7):72-75.
[2]张惠荣,蔡章辉,高霄.浅谈行人过街智能控制系统发展现状[C]//第十三届中国智能交通年会.2018.
[3]Larochelle H,Erhan D,Courville A,er al.An empirical evaluation of deep architectures on problems with many factors of variation[C]//The 24th International Conference on Machine Learning.2007.
[4]韦勇,万旭,徐海黎,等.基于人脸跟踪与识别的行人闯红灯取证系统的设计与实现[J].现代电子技术,2018(19):36-39.
[5]Zhang K,Zhang Z,Li Z,et al.Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks[J].IEEE Signal Processing Letters,2016(10):1499-1503.
[6]Schroff F,Kalenichenko D,Philbin J.FaceNet:A Unified Embedding for Face Recognition and Clustering[J].Computer Vision and Pattern Recognition,2015(1):815-823.
[7]Levi G,Hassncer T.Age and Gender Classification using Convolutional Neural Networks[J].IEEE Computer Society,2015(1):34-42.