基于面部特征与头部姿势的疲劳驾驶监测系统

(整期优先)网络出版时间:2023-04-19
/ 2

基于面部特征与头部姿势的疲劳驾驶监测系统

彭德坤

西北民族大学 数学与计算机科学学院 甘肃省兰州市730106

摘要

在二十一世纪的高压社会环境下,疲劳驾驶汽车已经成为导致交通事故发生的重要因素之一,给国家和社会以及个人的生命财产安全造成了严重的损失。我们认识到利用深度学习的技术可以实现对疲劳驾驶的识别监测,之前也有国外的相关研究,但是我们不难发现他们的研究没有从根本上利用深度学习,而且也是一种单一的判断,这样的精确度不是很高的。而我们可以通过多方面去监测驾驶人员的头部姿势与面部变化利用疲劳状态下人的行为特征与面部特征,运用深度学习进行图像识别,当出现多次的疲劳状态拟合分析结果时,便通过微信等方式联系乘客及其相关的亲属,当司机被多次检测出疲劳驾驶将会通过微信接口通知相关的公安部门,司机存在疲劳驾驶行为。我们以此种方法将能大大降低因为疲劳驾驶引起的交通事故,从根源上降低了交通事故的发生。

关键词:疲劳驾驶、卷积神经网络、向量机、深度学习、目标检测

1.背景

随着科技文化的发展,人类命运共同体的构建,人们拥有越来越多的汽车,方便人们的出行,但是根据大数据的调查显示,也出现越来越多的交通事故,而其中的疲劳驾驶已成为导致交通事故的重要因素之一,给国家和个人的生命财产安全造成了严重的损失。而我国正是交通事故频发的一个国家,单2021年中国有高达数万人死亡, 数万人受伤,损失的财产高达几百亿元,而其中因为疲劳驾驶发生的交通事故,达到四分之一左右,同时给社会与人民带来了潜在的危害,也使交通警察的工作更加困难的开展。

2.系统设计

2.1解决方案概述

图1 解决方案概述图

我们首先通过图像或视频的采集,将内容解析后传输到后台,进行一系列的处理最后将处理后的结果反馈给用户。该系统首先通过车载摄像头获取图像,进行人脸检测,检测驾驶员是否在位,若驾驶员在位,即可检测到人脸,为了保证每一次驾驶的自适应性,我们需要先引导司机进行一分钟的样本采集,以方便后面的采集图像,而采集图像分为面部姿势的采集和眨眼序列采集,以及相关的头部姿势采集。在汽车行驶途中我们再进行对比采集,从而得出相关的图像采集并判断是否达到阈值,若达到阈值,系统开始头部姿态采集,采集得到的样本如果出现疲劳姿态,则立马反馈用户,如果没有达到阈值将重复进行操作。

2.2系统功能

2.2.1面部识别

图2 常用人脸识别方法

我们知道自从2006年,深度学习( Deep Learning )被Geoffrey E. Hinton 教授提出以后人们在各行各业特别是互联网行业得到了广泛的应用和发展,目前深度学习已经成为机器学习领域中最热门的研究领域,并且在人工智能领域也取得很大的突破。因此我们也是采取深度学习方法,进行人脸识别,深度学习其实就是不断对大量的标准数据集进行训练,以达到能够提高机器识别的准度与精度。通过设计精巧的三级网络结构,达到检测性能和实时性之间的平衡。从而能够将人脸识别达到一种更优解。

图3 人脸识别流程图

我们通过对驾驶人员的驾驶环境分析确定基于深度学习的方式进行驾驶人员的面部特征进行检测,从而我们可以成功的识别人脸图像,并且给它精确的定位。这就好比是手机的拍照功能,能够实现人脸识别,之后我们再把面部特征给挑选出来,进行面部特征检测。

2.2.2面部特征检测

面部特征检测,最重要的是检测出眼部与嘴部。因为疲劳驾驶的面部特征主要通过人们的眨眼与打哈欠表现出来。眼部检测我们可以采取灰度投影的方法,根据R/G/B 通道将原图转换成一个灰度图像,之后我们可以利用积分计算得到不同的色区积分投影。根据训练集的眼部特点,和面部颜色与皮肤颜色区别较大,再根据通过对眼睛纵横比数据训练与色区训练相结合就可以对眼睛状态进行直观准确的判断,从而得到眼睛的精确位置。

图4 面部特征检测效果图

通过运用回归树集合的方法我们便可以将面部特征给提取出来,并且能够达到上图的效果,成功的识别面部的相关部位。

2.2.3头部姿势估计

图5 头部姿势欧拉角定义

我们知道当人们出现疲劳状态时,人们的头部姿势往往会向前倾,这是因为我们的肌肉处于完全放松的状态,导致肌肉对头部的支撑也处于放松的状态。在实际驾驶过程中,当驾驶人员在驾驶汽车的时候,如果出现疲劳状态时,也是会导致头部向下倾斜,同时当头部下垂过久,驾驶人员还会将脖子进行转动使我们的颈椎放松得到长时间支撑的缓解。

2.2.4疲劳状态检测与判定

(1)眨眼频率

通过对大量数据的观察统计,我们发现当人处于驾驶状态下,驾驶员的眨眼速度相对较快,能够达到不到400ms之间进行一次眨眼,但是我们发现当驾驶人员长期处于疲劳状态下那么他的眨眼速度将会超过1秒,为了缓解疲劳驾驶人的眨眼频率也会增加。所以,我们通过驾驶人的眨眼频率与眨眼的速度能够直观的反映出驾驶人的疲劳程度。

通过查阅资料我们知道,在2017年Soukupová等人提出了眼睛纵横比的概念,通过计算EAR数值,就可以对眼睛状态进行直观准确的判断。本文运用眼睛纵横比概念,通过上文对眼睛的数据结果不断迭代得到驾驶人员在某一瞬间的眼睛纵横比,通过双眼红外摄像镜头,在一定的时间段进行定时拍摄,在对其进行处理,从而得到驾驶人员的眨眼频率与眨眼速度。

(2)哈欠频率

与眨眼频率相似,我们也可以采用计算EAR值来检测哈欠的频率,只是会改变为不同的参数。哈欠频率也是评价疲劳程度的重要指标,当驾驶人员处于疲劳状态下,会将打哈欠的频率提高几十上百倍。因此我们可以采用上面对眨眼频率检测的方法进行哈欠频率的检测。但是这里我们需要对面部嘴型进行数据集迭代训练计算阈值,然后得到哈欠频率从而判断驾驶人是否处于疲劳驾驶。

(3)头部姿态的疲劳判定

我们在上文介绍了头部姿势的欧拉角,通过对标准数据集的迭代训练能够得到一个精确的阈值,通过对驾驶人员的欧拉角不断测试比对便能知道驾驶人员是否处于疲劳状态。

3.实现目标

本文基于面部特征与头部姿势的疲劳驾驶监测系统,运用基于深度学习的人脸检测算法与卷积神经网络算法结合黑夜增强算法与Harr算法,最后使用Python语言进行系统开发。同时使用了由谷歌人工智能团队开发和维护的深度学习库 TensorFlow,以及其他机器学习库:Opencv等。由于我们编程语言使用的是Python,大大提高了系统其通用性、增强了可移植性,能够在Windows、Android、IOS等多种系统上运行

4.总结

改变了传统的方式通过心率、血压的方式进行疲劳驾驶的测试,当使用心率血压进行疲劳驾驶测试的时候需要在用户身上佩戴仪器,一定程度上给用户造成了不适,而我们通过深度学习的方法不会给用户照成不适,同时提高了检测的精确度。

参考文献

1伊恩·古德费洛.深度学习deep learning中文版

2邱锡鹏.神经网络与深度学习 复旦大学

3马雪婷.基于面部特征与深度学习的疲劳驾驶状态检测研究 东南大学

4李晓星,朱明. 基于低光增强的夜间疲劳驾驶检测算法 中国科学技术大学

作者简介:彭德坤2000— ),,西北民族大学数学与计算机科学学院本科生,研究方向:物联网工程