关于司机疲劳驾驶导致的安全系统研究

2021-12-08 11:40李明润
今日自动化 2021年9期
关键词:人脸识别

李明润

[摘    要]疲劳驾驶是指驾驶人在长时间连续行车后,产生生理机能和心理机能的失调,而在客观上出现驾驶技能下降的现象,并且最关键的是,司机自己经常无法发现自己已经疲劳。文章提出的安全系统方案是,通过两个部分来综合判断司机是否已经处于疲劳状态。如果其中一个判断司机已经疲劳,那么系统就会出发提醒,防止交通事故的发生,并且最后还通过模拟试验来验证了这个系统的有效性。

[关键词]疲劳驾驶;人脸识别;姿态识别;加速度传感器

[中图分类号]U270 [文獻标志码]A [文章编号]2095–6487(2021)09–0–02

[Abstract]We can often hear traffic accidents caused by fatigue driving in life and news. Among them, fatigue driving refers to the imbalance of physiological and psychological functions of the driver after a long time of continuous driving, and the phenomenon of decreased driving skills objectively occurs, and the most important thing is that the driver himself often cannot find himself tired. The solution proposed by the article is that we use two parts to comprehensively judge whether the driver is already in a state of fatigue. If one of them judges that the driver is tired, then our system will send out a reminder to prevent the occurrence of traffic accidents, and finally we also verify the effectiveness of our system through simulation experiments.

[Keywords]fatigue driving; face recognition; gesture recognition; acceleration sensor

1 创新点

(1)通过摄像头进行人脸识别,并对闭眼时间判断是否疲劳驾驶。其中人脸姿态识别:采用了最高效敏感的姿态识别的算法来对人的疲劳进行判断识别。

(2)通过在方向盘上增加加速度传感器来综合判断司机是否疲劳,从而防止人脸识别不准确而误判司机疲劳驾驶。疲劳驾驶状态的判断机制:基于感知姿态数据,基于统计学方法建立起分析疲劳驾驶状态的判断机制,防止误判。

(3)直接通过警报来提醒驾驶员疲劳驾驶,比起开窗通风等缓解疲劳,警报更为有效安全。采用了双向测试的检测,从而确保检测结果准确。并且基于疲劳驾驶判断结果,考虑驾驶环境,预采用柔和的报警声代替紧促的报警声,防止驾驶员在状态变化过程中发生意外。

2 硬件设计

首先用摄像头识别人脸,对人脸特征点进行识别然后传入信号处理器通过算法进行计算,当被判定为疲劳驾驶时蜂鸣器将发出警报,如图1所示。

3 软件设计

安全系统是由这些摄像头对人体的姿态进行识别从而做出判断的,同时还通过方向盘上的各种传感器来进行是否瞌睡的判断。当2个都同时判断成功的时候,才认定司机处于疲惫状态,便会发出警报提醒。其安全系统软件部分主要由以下两部分组成。

3.1 姿态识别

3.1.1 原理介绍

如2图所示,模型的基本框架基于强大的CNN,避免了姿态去建立主要模型,而是从大量的数据中学习模型和特征。

而在本文中使用的是OpenPose。OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用,基于它的实例如雨后春笋般涌现。人体姿态估计技术在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,人们更加熟悉的应用就是抖音尬舞机。

3.1.2 人脸识别

大部分用户不需要调用OpenPose的C++和Python的开发接口,这些用户只需要运行OpenPose Demo即可。OpenPose Demo是为了便于处理图片、视频或者网络摄像头的视频流,并展示和处理结果。

其中校准工具即三维的OpenPose处理和其他立体视觉处理任务需要便捷校准摄像机。OpenPose C++ API:如果想定制开发读取特定内容的接口、增加个性定制的后处理功能或者展示存储功能,点击这个链接查看C++的API接口。examples/tutorial_api_cpp/和doc/library_introduction.md。可以增加自己的代码examples/user_code/使用Cmake快速编译整个项目。

其中独立的脸部和手指检测:不对身体关键点进行识别,仅对脸部关键点识别。使用自己的脸部和手部识别工具:与身体关键点识别不同,可以使用自己的脸部和手部识别工具。比方说,在手指能看清但身体看不清的时候使用(OpenPose的识别器不能正常工作)。

4 实物组装图

对防疲劳驾驶装置进行了组装,整个装置主要分为电子部分和机械部分,如图3所示。电子部分主要包括传感器(运动传感器和压力传感器),基于Arduino UNO的控制中枢以及提示作用的蜂鸣器,机械部分则利用3D打印机制成了模拟方向盘。

本文设计的安全装置充分考虑了司机的操作习惯。规范的习惯是双手控制方向盘的转向,那么在打方向的过程中必定对方向盘有一定的握持力度。将基于机械按键的压力传感器放置在方向盘的左右两侧,能够很好地感知到司机在打方向的过程中压力数据输入。接下来,传感系统的核心部分——基于运动传感器MPU6050模块装置在方向盘的中央,能够很好地感知在打方向过程中方向盘变化的角度数据。这两部分数据能够实时地被Arduino UNO采集,做预处理。

5 试验部分

5.1 试验设计

(1)试验目的:疲劳状态监测与逻辑分析试验。

(2)试验方法:模拟驾驶。

(3)试验设备:防疲劳方向盘。

(4)理论知识:首先要了解RPY模型(Roll-Pitch-Yaw),这个模型表示飞行器当前飞行姿态的一个通用模型,即建立图4所示坐标系,并用Roll表示绕x轴的旋转,Pitch表示绕y轴的旋转,Yaw表示绕z轴的旋转。这里借鉴了这个模型,将其用在反映驾驶方向盘的状态上。

使用四个量来表示空间直角坐標系的位置。常见的是6个量,分别是单位矢量i,j,k,以及点坐标x,y,z。而四元素则表示为:

四元数姿态解算算法式(2)将传感器原始数据加速度a,角速度ω和三轴RPY模型转向姿态角随时间的变化率联系起来。于是,通过学习了基于四元素算法的库文件,对MPU6050原始数据进行解算。

5.2 试验结果

5.2.1 期望

通过对按键数据的采集,发现按键数据主要分布在0~1,如果长时间握持方向盘,按下按键,那么数据均值趋向于1;相反,如果处于疲劳状态,可能长时间没有按压,那么数据均值趋向于0。于是用统计学中的期望概念去描述按键的状态。

5.2.2 标准差

通过对运动传感器数据的采集,发现如果司机一直在打方向盘,那么姿态数据波动较大;相反,波动较小。于是数据波动大小是判断司机疲劳驾驶的必要条件。用统计学中的标准差概念去描述运动数据的波动。

6 结论

经试验,各项数据如预期可以正常运行,且达到了预期的目的。

参考文献

[1] 陈瑜,李锦涛,徐军莉,等.基于眼动特征的驾驶员疲劳预警系统设计[J].软件导刊,2020,19(5):116-119.

[2] 史瑞鹏,钱屹,蒋丹妮.一种基于卷积神经网络的疲劳驾驶检测方法[J].计算机应用研究,37(11):6.

[3] 丁红林.汽车驾驶员心理素质对行车安全的影响研究[J].科技与创新,2019(23):124-125.

[4] 曹昱聪.基于多特征融合的疲劳驾驶检测系统研究[C].2019中国汽车工程学会年会论文集,2019.

猜你喜欢
人脸识别
人脸识别的“国标”来了
AI企业云从科技全球FRVT测试中获得双冠
基于改进的2DPCA人脸识别方法
中科视拓开放商业版本人脸识别算法
人脸识别好用但不能滥用
睡梦中被刷脸盗走万元
荣耀畅玩7C:人脸识别
iPhoneX来了!
刷脸支付
刷脸(双语加油站)