多任务卷积神经网络的电梯乘客识别方法①

2021-06-28 06:28王廷银吴允平
计算机系统应用 2021年6期
关键词:人脸关键点卷积

王廷银,郭 威,吴允平

1(福建师范大学 光电与信息工程学院,福州 350007)

2(数字福建环境监测物联网实验室,福州 350117)

3(福建省光电传感应用工程技术研究中心,福州 350007)

1 引言

电梯是现代人类出行活动最后50 米的交通工具[1],它方便人们的生活,使得人们对电梯使用的需求也日益剧增.截至2019年,我国电梯的保有量已达到709 万台,位居世界第一,但其中也包括大量的老旧电梯.电梯作为特种设备的一种,其信息化水平与乘梯的安全性直接挂钩,由于老旧电梯的信息化水平普遍不足以及我国电梯的使用呈现负载高、运量大、随机性强等特点,使得电梯事故时有发生[2].当遇到电梯事故时,如何准确了解到轿厢人员情况,是电梯安全监测系统研究工作中重要的一环,它有助于快速展开救援工作避免不必要的生命财产损失.有的学者在电梯监测系统中应用红外传感器来检测识别电梯事故时是否有乘客[3],但由于红外传感器易受噪声影响而导致误检的情况发生[4].为此,一些学者们通过机器视觉中传统人脸检测算法如Haar-like[5]、HOG[6]识别电梯乘客,避免红外传感易误检的问题,例如,2015年,王潇宇提出HOG 人脸检测算法应用于电梯乘客识别,该方法在简单实验环境下有较好的效果,但实际应用情况不太理想[7];2016年,Kumar 利用Haar-like 人脸检测算法进行轿厢人员的检测,但是利用传统算法所提取的人脸特征难以充分反映真实的人脸特征,导致在实际应用中检测的精度不高[8].

这些年,随着深度学习的发展[9],基于卷积神经网络(Convolutional Neural Networks,CNN)的模型层出不穷,如Faster R-CNN (Faster Region- Convolutional Neural Networks)、SSD (Single Shot multibox Detector)、YOLO (You Only Look Once)、MTCNN (Multi-Task Convolutional Neural Network),它们在人脸检测的精度上比传统算法高,从而被应用到无人机、地铁、安全监控多个领域中,2018年,Shen 等将MTCNN 的人脸检测应用到无人机监控系统中,克服了传统检测算法检测效果不想理的情况,提高了无人机对人员检测的精度[10];胡玲玲将MTCNN和anchor 机制结合提高网络检测的精度同时引入奇异值分解提高网络在移动端的检测速度[11].2019年,周慧娟等应用YOLO 对地铁乘客进行人脸检测实现进站客流量统计,避免传统人脸检测算法在实际客流量统计中精度不理想的问题,有利于站管人员根据客流情况做出相应措施,保障人流安全[12];同年9月,易诗等针对目前视频监控球机识别、跟踪效果不佳等问题,运用SSD 网络人脸检测功能提升对目标识别的精度[13];同年10月,Halawa 等面对停车场的人为监控效果不理想的情况,在闭路监控中应用Faster R-CNN 进行人脸检测,并利用Inception结构优化网络,保障对停车场人员高精度监控[14].

相较于Faster R-CNN、YOLO、SSD 等卷积神经网络,多任务级联卷积神经网络算法(MTCNN)具有计算较快、模型较小的优点[15].综上,将MTCNN 人脸检测算法应用于电梯乘客识别,并对其网络结构进行改进,实现高精度检测,避免因红外传感容易受噪声影响导致乘客的误检和传统人脸检测算法检测精度低的问题的同时,还能与电梯运行状态分析相融合,对电梯运行进行安全评估,当遇到电梯事故时,有助于救援工作的开展.

2 MTCNN 原理

2.1 MTCNN 的网络结构

MTCNN是一种深层次的多任务级联卷积神经网络框架[16],由3 个简单的卷积神经网络级联组成,通过由粗略到精细的方式检测人脸以及关键点的回归.检测过程如图1所示,首先对输入的图像进行尺度变换,得到图像金字塔,然后把图像金字塔输入到第1 级网络P-Net (Proposal Network)中,生成多尺度的人脸候选框,通过边框回归校准候选框,并采用非极大抑制(NMS)合并重叠的候选框,将候选框图输入到第2 级网络R-Net (Refine Network)中;R-Net 网络使用边框回归和NMS 来剔除大部分错误的候选框,将精确后的候选框图输入到第3 级网络O-Net (Output Network)中;O-Net 对候选框进行再次精选得到最终人脸框图以及人脸关键点.

图1 MTCNN 算法检测图

MTCNN 各级的网络结构图,如图2所示.它们从内容上看起来很相似,但是各自的作用还是有所不同的[17].P-Net 的网络结构如图2(a)所示,P-Net是3 个网络中深度最浅的,且是一个全卷积神经网络,它主要的任务是获得大量人脸区域候选框.图2(b)是R-Net 的网络结构图,它的任务是过滤错误的候选框,在结构上比P-Net 新增一层池化层与全连接层,使得R-Net 网络的学习能力更强,进而可以较好地抑制错误的候选框.图2(c)是O-Net 的网络结构图,它比R-Net 增加一层卷积层与池化层,在结构上更加的复杂,从而更严格地抑制错误的候选框,输出最终人脸候选框和5 个面部关键点.

图2 MTCNN 各级网络结构图

2.2 MTCNN 的损失函数

MTCNN 中的每级网络都需要进行人脸分类、边框回归、关键点回归3 个任务的训练.

人脸分类属于二分类任务,通过交叉熵损失函数计算每个样本Xi的损失值,如式(1)所示.

其中,pi表示网络预测样本属于人脸的概率,∈{0,1}属于样本标签,0是非人脸,1是人脸.

边框回归是回归问题.边框包含了左上角坐标(X,Y)以及边框的宽和高4 个数值,通过解算网络预测边框坐标与真实标注边框坐标的欧几里德损失值纠正坐标位置,如式(2)所示.

关键点回归也是属于回归问题.关键点包含左右眼、鼻子、左右嘴角5 个坐标,共10 个数值,通过解算网络预测的脸部关键点坐标和真实脸部关键点坐标的欧几里德损失值从而修正坐标位置,如式(3)所示.

在训练时,各个网络的总损失函数通过上述3 种损失函数以加权形式表示,如式(4)所示.

其中,N表示训练样本数量,αj是各任务权重系数,表示该任务在网络中的重要程度,βij∈{0,1}表示样本类型标签,在计算各个网络的损失值时,根据网络对各个任务的注重程度不同来设置权重系数[18].

3 MTCNN 算法改进优化

本文通过引入Inception 模块和BN 算法进行MTCNN 算法的改进优化研究.

3.1 引入Inception 模块

由于不同大小的卷积核对图片处理能力不同,Szegedy等因此而设计Inception 模块并应用在GoogLeNet中[19],其特点是并行使用多个大小不同的卷积核,增强整体网络的特征提取能力,图3就是典型的Inception模块结构图.由于轿厢人员的人脸在图片中的比例大小不固定,在卷积神经网络中使用固定大小的卷积核会影响人脸检测的准确率,所以将GoogLeNet 中Inception 模块的思想与MTCNN 网络结合,增强网络多尺度特征提取的能力,进而提高人脸检测的准确性.

图3 Inception 模块结构图

3.2 引入BN 层

在训练卷积神经网络的时候,各参数的初始化设置会影响到训练的结果.而BN (Batch Normalization)算法可以避免此影响[20],有效加快收敛过程,同时,BN 算法还具有正则化的作用可增强网络分类效果,所以在MTCNN 网络中加入BN 层.BN 算法的传导过程如图4所示,其中①是对数据进行标准正态分布处理,加快收敛;②是进行线性变换处理,恢复数据特征,避免标准正态分布对数据特性以及网络表达能力的影响.

图4 BN 算法传导过程图

3.3 改进后的MTCNN 网络结构图

改进后的MTCNN 网络结构图如图5所示,通过并行不同大小的卷积核来对特征图进行处理,并在每个卷积层后面添加BN 层,增加网络的宽度和深度,同时也增强网络的分类能力.

图5 改进后的MTCNN 网络结构图

4 实验与分析

4.1 实验环境

本实验中软件环境为:Python 2.7、VS 2015、OpenCV、Caffe、Android Studio;硬件环境为:NVIDIA960 显卡的主机和RK3288 嵌入式开发板.

4.2 实验数据

使用公开的WINDERFACE 人脸检测数据集进行人脸分类任务和人脸边框回归任务训练.WINDERFACE人脸数据集包含32 203 张图片,共393 703 张人脸,具有各种尺度、姿势、表情、光照等特征,非常匹配于电梯场景的乘客人脸情况,将其中16 106 张图片(包含198 485 张人脸)有人脸标注的作为训练集.使用文献[21]提供的数据集进行人脸关键点回归任务训练,该数据集有13 466 张人脸图像,每张人脸都标注5 个关键点,其中5590 张来自LFW 数据集,另外7876 张来自互联网.使用FDDB 数据集对网络进行测试评估,该数据集常用于人脸检测算法的验证,共有2485 张图片,共5171 张人脸.

4.3 网络训练

将训练的数据集划分成4 个不同类型的数据集用于对应任务的训练,分别为正样本集、负样本集、半人脸样本集、关键点样本集.其中,负样本集:与真实人脸框的重叠率IOU 小于0.3;正样本集:与真实人脸框的重叠率IOU 大于0.65;半人脸样本集:与真实人脸框的重叠率IOU 在0.3和0.65 之间;关键点样本集:标注了人脸面部5 个关键点位置.其中,正样本集和负样本集用于训练人脸分类任务,正样本集和半人脸样本集用于训练人脸边框回归任务,关键点样本集用于训练人脸关键点回归的任务.在训练时,由于每个网络对各个任务的注重程度不同,所以各个网络损失函数的权重系数也有所差异,其中P-Net和R-Net 中人脸分类的任务更为重要,所以人脸分类任务、人脸边框回归任务、人脸关键点回归任务三者权重比为1:0.5:0.5,而O-Net 增大了人脸关键点回归的重要程度,3 个任务的权重比为1:0.5:1.

4.4 结果分析

通过在各级网络中加入Batch Normalization 算法对训练过程进行优化,图6中的3 个子图分别是改进前后P-Net、R-Net 以及O-Net 的损失曲线对比图.从图中可以看出,改进后各网络的收敛速度更快,训练损失值更加的稳定,迭代步数也相对减少,从而减少不必要的训练时间.

图6 网络改进前后损失曲线对比图

通过在网络中使用大小不同卷积核并行的方式,结合Batch Normalization 算法的优化策略,对各级网络结构进行调整.表1是各级改进前后的网络在训练集上人脸检测精度的对比结果.由表1可见,本文所述的优化改进方案对人脸检测准确率有一定的提高.

表1 改进前后各个网络训练集上准确率对比(%)

在FDDB 数据集上使用ROC 曲线对改进前后算法、文献[11]算法、Faster R-CNN、Haar-like 进行测试评估,如图7所示,其中横坐标假正例数FP(False Positives)表示的是误检数目,即把非人脸检测为人脸,纵坐标真正例率TPR (True Positives Rate)为数据集中标注的人脸被检测出的比例,图中MTCNN 算法、本文算法、文献[11]算法以及Faster R-CNN 算法它们的准确率都要远高于传统算法Haar-like,本文算法比MTCNN和文献[11]算法有更好的检测效果,虽然三者的准确率都低于Faster R-CNN,但是Faster R-CNN的网络较深、模型较大,难以部署在移动端并实时检测.

图7 FDDB 数据集的ROC 曲线图

对随机拍摄到的100 张电梯人员人脸图片,分别使用改进前后的MTCNN 算法进行检测,将检测的准确率和模型大小以及在基于嵌入式平台开发的电梯信息终端上电梯乘客人脸检测的速度进行综合性能对比,如表2所示,虽然增大了模型但对检测速度没有造成过大的影响,而且改进后的模型检测的准确率比原来高.图8是两种算法电梯乘客人脸检测的效果对比图,图9是两种算法是电梯乘客多人人脸检测的效果对比图,可见本文算法对电梯乘客识别效果更好.

图8 电梯乘客人脸检测的效果对比图

图9 电梯乘客多人人脸检测的效果对比图

表2 MTCNN 改进前后算法模型的性能综合比对

5 总结

在电梯安全监测系统中使用传统人脸检测算法识别电梯乘客,但检测精度并不高难以满足实际情况的应用,本文将MTCNN 人脸检测算法应用于电梯人员检测,并在此基础上,结合Inception 模块的设计思想,通过并行操作多个大小不同的卷积核,来加深加宽各级网络的结构,增强各级网络的表达能力,同时基于BN 算法能够避免训练时人工参数选择的随机性提高训练的收敛速度以及BN 算法具有一定增强网络的分类能力的优点,将二者引入到MTCNN 的网络结构中,提高网络对人脸检测的准确率,使得改进后的MTCNN人脸检测算法对电梯乘客的识别更加理想,在电梯安全监测系统应用中,能准确了解轿厢乘客具体情况,当电梯出现异常时,有利于救援工作的展开,进一步提高了乘梯安全.

猜你喜欢
人脸关键点卷积
基于全卷积神经网络的猪背膘厚快速准确测定
论建筑工程管理关键点
基于图像处理与卷积神经网络的零件识别
水利水电工程施工质量控制的关键点
玻璃窗上的人脸
基于深度卷积网络与空洞卷积融合的人群计数
智力考场:有趣的图片测试
利用定义法破解关键点
“领家系”可爱脸VS“高冷系”美人脸
机械能守恒定律应用的关键点