APP下载

基于视频分析的疲劳驾驶监测技术研究

2022-06-03陈嘉宁车俐廖嘉宁

电脑知识与技术 2022年8期
关键词:卷积神经网络

陈嘉宁 车俐  廖嘉宁

摘要:随着神经网络算法的高速发展,计算机视觉领域发展越来越迅猛,对算法精确度和识别速度的要求也越来越高。MTCNN(Multi-task Convolutional Neural Networks)作为一种基于深度学习的人脸检测和人脸特征点对齐的方法,以速度快、精度高而广为人知,并且被应用得最广泛。根据改进的MTCNN作为主干网络,构造一个精度高识别速度快的特征点检测算法,在开源的LFW数据集上获得0.003的特征点损失, 并将其应用于疲劳检测算法, 取得较好的效果。

关键词:卷积神经网络;特征点定位;疲劳检测;MTCNN

中图分类号:G424      文献标识码:A

文章编号:1009-3044(2022)08-0009-03

近年来,交通事故频发,人们的生命财产安全受到了极大的威胁。每年超过数十万人因事故丧生,道路交通事故已经成为最具破坏性的危害之一,其中因疲劳驾驶造成的事故占比高达12%,因此对预防疲劳驾驶的监测技术的研究已是迫在眉睫。

本文描述了一种基于计算机视觉原理的疲劳监测技术。通过改进后的MTCNN算法得到精准的人脸特征点后,将特征点用于疲劳检测算法。其中MTCNN是当下较为流行的用于检测人脸和定位特征点的方法,有着识别速度快、精度高的优点[1],但是已有的MTCNN算法仅能定位粗略的特征区域,并无法通过训练得到精准的人脸特征点定位,因此,本文通过对MTCNN模型结构的改进,以提取局部特征作为主要改进思想,新增了用于检测特征点精准定位的网络[2]。在保证浅层网络对识别速度影响不大的情况下,提高了特征点的定位精准度,大大提高了疲劳检测的准确性。

1 特征点定位算法

1.1数据的采集和增强

特征点定位就是模型经过大量数据的训练学习后,根据学习得到的权重进行位置预测的过程。文中特征点定位算法的目的是得到可以用于疲劳检测的精准特征点,以求得各疲劳特征。因此,要求在不同大小的人脸中都需要得到精准的特征点定位,并要求模型各种天气变化下有较强的鲁棒性以应对行车过程的复杂状况。

本系统的训练、测试数据主要来自LFW人脸数据集。通过对LFW数据集的对比度随机调整,模拟多种路况所带来的光线变化,如夜间暗光、白天强光、雨雾天气弱光等情况;通过对数据集中人脸的镜像、旋转等操作,模拟人脸在驾驶过程中的轻微倾斜等非标准情况。

由于本文所用测试数据集量级较小,因此需要进行一系列如上述操作进行数据增强,以增加数据量及复杂度。随着数据集量级的增长,得到检测模型的准确性和鲁棒性也会随之增长。

1.2多尺度人脸检测和特征提取

由于MTCNN的第一个网络是全卷积网络,并不需要固定的图像输入尺寸,因此本系统在此特点上结合图像金字塔实现了多尺度人脸检测。图像金字塔中的不同层级对应不同大小的人脸,随着图像金字塔层数的不断增加,能够检测的人脸尺度也在不断变大[3]。因此,图像金字塔结合全卷积网络很好地实现了多尺度人脸检测,解决了卷积神经网络输入尺度需要固定的难题。

本系统中MTCNN算法的前三层网络沿用已有网络PNet、RNet、ONet,通过已有的模型架构可以得到粗略的特征区域定位,为了得到更精准的特征点定位,本文新增了一个级联网络LNet以对局部特征进行分析提取,通过对局部特征区域的训练分析,可以使系统得到由粗到细的特征点定位,最后得到准确的人脸特征点共计30个。

1.3 NMS

NMS是非极大值抑制,顾名思义就是抑制不是极大值的元素,搜索局部的极大值。在面对多个相似的候选框时,NMS会对抑制重合度较大的候选框,选出其中分值最大的值保留,即保留极大值。在预测人脸框位置时,通常会出现冗余候选框,NMS可以保证留下最具特征代表性的一個,这样可以有效减少算法多余的计算量,提高系统的计算速率。

1.4 交叉熵代价函数

交叉熵代价函数是机器学习在反向传播更新权重过程中常用的损失函数[4],公式如式(1)所示。

其中[Ldeti]为交叉熵代价函数所得损失值,[ydeti]为真实值,[ai=f(wxi+b])为预测值,[f(x)]为非线性激活函数。

对某次损失计算而言,可以得到导数:

可以看出,式(2)中梯度[?L?w]的激活函数导数被消掉了,梯度只与预测值[f(z)]和实际值[y]的误差呈线性相关,即误差越大,梯度越大,该性质更利于在反向传播中得到更直接的下降梯度,有利于模型更快地收敛。

1.5 改进的MTCNN模型

改进后的MTCNN模型相较原模型仅仅新增了一个浅层网络,参数量不大,因此并不会产生大量的计算代价,对计算效率的影响较小。增加级联新网络后,本系统实现了从粗略特征区域定位到精准特征点定位,更有效地满足了需求。改进后的MTCNN算法模型如图1所示。

1.6 模型推断过程

首先,本系统得到缩放后的图像金字塔,并输入到PNet判断。在识别过程中,PNet通过对分类得分高的滑动窗口(即人脸框)通过映射推理的方式得到该窗口在原图上的绝对位置。结合预测偏移量,对框进行逻辑回归,得到较为准确的人脸框定位。此过程中,会得到大量可能是人脸的候选框。

将PNet输出得到的人脸框集合输入到RNet,其中输入过程中需要注意的是,由于RNet是常规CNN结构,因此需要固定输入尺寸。同时为了保留人脸框周围的更多细节,需要将输入尺寸固定且形状为正方形。

将处理后的图片输入RNet,通过训练所得的深层特征激活,得到二分类。根据分类结果和设定的高阈值,系统将过滤掉大部分非人脸框,留下的定位框包含人脸的可能性极大,准确性较高。至此,系统得到了较为准确的人脸框定位集合。CA3E1CE6-D75E-4DDF-BAF2-9A2417BDDD0D

得到RNet的输出后,进行如同对PNet的输出集所作操作,完成处理后输入ONet。ONet将结合前层网络提供的局部特征和训练所得的深层逻辑特征,对图像进行抽象分析,最后得到预测最为精准、预测置信度最高的一个候选框。同时,通过模型训练所得的特征区域定位点也在同一过程中被预测得到。至此,完成了人脸检测和对该人脸的特征区域定位。

根据得到的人脸特征区域定位对人脸进行裁剪缩放,输入到LNet中。由于LNet的网络设计包含了三个并行的子网络,分别对各特征区域进行特征分析,因此可以同时对一张人脸的不同局部特征进行扫描识别,最后得到所需要的30个人脸特征的精准定位点。

2 疲劳检测

本系统选取基于计算机视觉原理的疲劳检测算法。本系统在得到人脸特征点定位,并分析得到眼睛和嘴巴的疲劳特征,融合这些特征进行判断驾驶员是否处于疲劳状态[5]。

疲劳状态分析过程具体为通过计算特征点的欧氏距离并与系统开始运行时得到的标准值进行比较,在某一特征变化持续时间达到设定阈值后判定为疲劳;若在过程中始终未检测到疲劳状态,则系统持续监测。

其中眼睛和嘴巴的特征分布如图2、图3所示。

3 实验结果和性能分析

3.1 MTCNN模型训练及测试

如图4所示,改进后的MTCNN模型训练、测试流程包含四个阶段。第一步,对LFW数据集进行预处理以及数据增强后得到训练集;第二步,对训练集人工标注人脸特征点共计30个;第三步,训练MTCNN模型;第四步,对改进后MTCNN模型进行测试[6]。

3.2 MTCNN算法准确率评估

改进后的MTCNN算法在模拟真实行车状态的测试视频下进行试验,评测数据为该视频中的视频帧,评测人脸框预测的指标是Accuracy,评测特征点定位准确率的指标是Loss。各检测类别的评测指标如表1所示。

可看出,改进后的MTCNN模型具备良好的准确率,对于特征点的精准定位效果有显著的提升,十分适用于本系统。

3.3 改进MTCNN算法后识别速度评估

改进后的MTCNN模型与原模型对比如表2所示。

可以看出,改进后的MTCNN算法在牺牲了极小的计算代价的基础上,获得了很好的特征点定位效果,识别速度相较原模型并无太大损失。

3.4 疲劳检测效果

本次评估由模拟驾车的现实视频作为测试数据源,整个测试过程持续5分钟,在过程中将通过人工对检测效果进行判断。评判结果如表3所示。

4 实验环境

将模型部署到基于Tensorflow框架的Python环境下,在GPU加速下能以0.07秒/帧的速度正常处理图片,保证实时率,可见模型优化效果良好,内存占用较低。训练环境如表4所示。

5 总结与展望

随着交通的违规行为不断增加,其中很大一部分是由于驾驶员的疲劳驾驶所造成的。因此,对于长期驾驶的驾驶员进行实时的疲劳监测是必要的。本系统能够实时地对驾驶员的驾驶状态进行判断,对驾驶员的行车安全提供了保障。同时本系统无须驾驶员在行驶过程中进行额外操作,也在一定程度上减少了安全隐患。

本系统可以实现实时监测,能够在驾驶过程中及时对存在的疲劳驾驶等安全隐患进行检测、提醒,有效保护驾驶员及乘客的安全,减少危险因素。本系统虽然实现了主要的功能需求,但仍然存在不足,需要进一步改进。其中改進的方向主要有:(1)对于车载的低算力终端,仍无法有效实现实时监测,因此需要进一步降低算法复杂度,提高计算效率,降低计算成本。(2)低光照强度下检测效果不理想,仍需进行提升检测效率的研究。

参考文献:

[1] Zhang K , Zhang Z ,  Li Z , et al. Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks[J]. IEEE Signal Processing Letters, 2016, 23(10):1499-1503.

[2] Sun Y,Wang X G,Tang X O.Deep convolutional network cascade for facial point detection[C]//2013 IEEE Conference on Computer Vision and Pattern Recognition.June 23-28,2013,Portland,OR,USA.IEEE,2013:3476-3483.

[3] 谢玉波.图像多分辨率特征研究[D].武汉:华中科技大学,2007.

[4] 杨萍,田玉敏,汪志宏.概率论与数理统计学考指要[M].西安:西北工业大学出版社,2006.

[5] 柳龙飞.基于人脸分析的疲劳驾驶检测方法研究[D].武汉:武汉科技大学,2019.

[6] 陈澳格,车俐,农喜钧,等.基于SSD算法的深度视频测距方法研究[J].大众科技,2020,22(12):4-6.

【通联编辑:唐一东】CA3E1CE6-D75E-4DDF-BAF2-9A2417BDDD0D

猜你喜欢

卷积神经网络
基于深度神经网络的微表情识别
卷积神经网络中减少训练样本时间方法研究
卷积神经网络语言模型研究
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习技术下的中文微博情感的分析与研究
基于卷积神经网络的树叶识别的算法的研究