python在线模拟器10.16638/jki.1671-7988.2020.03.041
基于Python的驾驶员打哈欠在线检测方法研究*
李刚,王银烨,张政儒,许艳亭,丁茹伊
(浙江师范大学工学院,浙江金华321004)
摘要:驾驶疲劳是造成交通事故的主要诱因之一。由世界卫生组织发布的调查研究结果表明,在高速公路中由疲劳驾驶引起的交通事故率占了将近百分之四十,驾驶疲劳检测和预警的技术也越来越受到研究人员的重视。而驾驶员打哈欠是疲劳形成过程中的一个直观指标,文章提出基于Python平台开发一套在线检测驾驶员打哈欠的系统,方法简单、指标稳定可靠,具有实际应用价值。
关键词:驾驶员;驾驶疲劳;打哈欠;人脸识别;Python
中图分类号:U471 文献标识码:A 文章编号:1671-7988(2020)03-137-03
Research on online detection method of driver yawn based on Python*
Li Gang, Wang Yinye, Zhang Zhengru, Xu Yanting, Ding Ruyi
( School of technology, Zhejiang Normal University, Zhejiang Jinhua 321004 )
Abstract:Driving fatigue is one of the main causes of traffic accidents. According to the research results released by the World Health Organization, the traffic accident rate caused by fatigue driving accounts for nearly 40% in the expressway, and the technology of driving fatigue detection and early warning has been paid more and more attention by researchers.Driver yawning is an intuitive index in the process of fatigue formation. In this paper, a set of on-line detection system for driver yawning based on Python platform is proposed. The method is simple, the index is stable and reliable, and it has practical application value.
Keywords: Driver; Driving fatigue; Yawn; Face recognition; Python
CLC NO.: U471 Document Code: A Article ID: 1671-7988(2020)03-137-03
引言
驾驶员在长时间的驾驶过程中,需长时间保持高度集中的注意力,随时准备应付各种复杂的内外部环境,易导致注意力不集中、判断能力下降、警戒性水平降低,致使驾驶员难以维持最初的良好技术水平,
出现动作迟误或过早、操作停顿或修正不及时等不安全动作,由此引发重大的安全事故。例如,2018年1月14日,沈海高速(栖霞市境内)发生一起中型客车与大型牵引车追尾道路交通事故,造成8人死亡、6人受伤,调查认定驾驶人涉嫌疲劳驾驶。据高速网2017年05月16日报道,2016年,京沪高速淮安段共发生交通事故787起,其中因驾驶疲劳导致的交通事故414起,占事故总量的52.6%。驾驶疲劳与许多重大交通事故有着显著的因果关系,现已成为交通事故的主要诱因之一[1],给人民的生命、财产安全造成严重威胁。
高危车辆,包括客车、运输车辆、集装箱运输车辆、重载货车等,由于驾驶任务时间长、驾驶员脑负荷重,更易在驾驶途中产生疲劳,也就更容易导致交通事故的发生。由沃尔沃主导的一项对中国交通事故中的重卡驾驶员的调查数据显示,疲劳驾驶引发事故的比例高达73%[2]。所以对高危车
作者简介:李刚(1990-),男,讲师,就职于浙江师范大学工学院,
主要从事智能检测与信号处理方面研究工作。基金项目:浙江省自
然科学基金,项目编号:LQ19E050011。
137
汽车实用技术
138 辆的驾驶疲劳检测尤为重要,建立驾驶疲劳实时检测系统具有重要的社会意义和经济效益。
打哈欠是疲劳检测的一个重要指标[3],驾驶员打哈欠意味着大脑已进入疲劳状态。据报道,西安市公交总公司道路安全委员会出台政策规定,公交驾驶员在运营过程中连续打哈欠3次将被批评教育,以遏制因驾驶员精力不集中而造成的各类交通事故。针对打哈欠的检测,研究人员做了许多研究,例如,童兵亮利用嘴唇特征点定位得到的嘴部几何特征值,然后利用BP 神经网络对驾驶员嘴部状态进行识别,识别准确率高达96.2%[3];张伟伟等人利用深度卷积网络和在线学习跟踪算法检测驾驶员打哈欠,识别准确率高达93.7%[4]
本文提出基于Python 开发平台,利用人脸识别技术定位嘴部坐标,通过实时计算嘴部高宽比判断嘴部状态,然后进行打哈欠实时检测。
1 系统框架
1.1 Python 库的调用
(1)cv2模块的调用,cv2模块是图像处理的一个模块,本系统中主要用于摄像头调用、图像的采集与读取、图像的灰度处理等。
(2)dlib 库的调用,dlib 库是整个打哈欠检测系统最为关键的库文件,能够提供各种机器学习算法和拥有大量的图像处理功能,本文主要用于人脸检测与识别、嘴部坐标确定等。
(3)Numpy 库的调用,主要用于数组操作与运算,如嘴部状态特征参数的实时存储、特征值的计算、数组数据的提取与删除等。
(4)math 库的调用,主要用于实现基本的数学运算功能,包括基本的加减运算、嘴部尺寸计算、嘴部高宽比的计算等。
(5)Winsound 库的调用,主要用于系统扬声器的调用与设置,判断打哈欠后对疲劳进行预警。 2 打哈欠指标
图1  人脸68点图
通过摄像头实时采集人脸视频,经过人脸识别算法获得如图1所示的人脸68点图,获取68点图的二维坐标。众所
周知,人嘴部正常闭合时,上下嘴唇之间的高度为h (63-67)=0、左右嘴角之间的宽度w (61-65)为一定值,当开始说话时h (63-67)变大、w (61-65)减小,深度疲劳打哈欠时h (63-67)最大、w (61-65)最小。因此,打哈欠指标可定义为:R =h (63-67)/w (61-65)。
3 系统流程
整体系统设计采用四个部分,这五个部分分工明确,互相结合:
第一步,定位人脸68点位置。通过import 导入所需的库或模块,cv2.VideoCapture ( )调用内部或外接摄像头,通过cv2.cvtColor ( )对人脸图像进行灰度处理,通过_ frontal_face_detector( )进行人脸检测,通过dlib.shape_predic tor ( )进行人脸68点进行定位。
第二步,计算打哈欠检测指标。通过def 定义R 的计算函数,w (61-65)为点61与点65之间的宽度,h (63-67)为点63与点67之间的高度,通过hypot( )函数计算,由此可计算打哈欠指标R 。
第三步,设定阈值,判断是否存在打哈欠。R 值随着打哈欠而增大,通过设定阈值T ,当R >T 时判定为打哈欠。
第四步,设定打哈欠预警条件及方式。当连续有5个R 值大于T 时,系统报警,设定持续时间t =500 ms ,报警音频率f =1000Hz ,通过winsound.Beep (f, t)实现系统报警。
4 结果与讨论
图2为采集的被试讲话、嘴部动作、打哈欠时的散点图,所有数据均为放大1000倍后的结果。如图2(a )所示,图中两个峰为打哈欠时的R 数据,两个峰的左侧及中间为讲话与嘴部动作,由图可知,打哈欠时的R 值明显大于讲话、嘴部动作时的数值。图2(b )为将所有原始数据四次方后再放大1000倍的结果,由图可见,通过处理后讲话、嘴部动作的波峰已消失,只有打哈欠时的两个峰存在,表面通过对原始数据进行四次方后可以提高数据的灵敏度,使打哈欠更易被识别。
(a )                            (b )
图2  实验结果
5 结论
本文提出的基于Python 的          (下转第141页)
候亚林 等:灰铸铁飞轮疲劳失效分析
141
3.1 飞轮磨损
(1)导致飞轮磨损的主要异常热源来自从动盘工作时与飞轮的摩擦及非正常震动;
(2)飞轮表面摩擦磨损属于正常现象,允许范围内出现的飞轮表面磨损,或磨损后动平衡性能良好,则不会影响飞轮的正常使用;
(3)飞轮表面的异常磨损一般是由于非正当驾驶操作导致,如离合器无自由行程,或离合器压盘压力不足,使离合器与飞轮经常处于半离合状态,从而加剧了飞轮平面的磨损。当离合器摩擦片磨损到极限后,露出的铆钉头会将飞轮表面刮出沟槽,损伤飞轮平面,导致表面异常磨损,失效形态见图2c 。 3.2 飞轮表面裂纹
(1)飞轮表面龟裂是典型的摩擦副特有的“龟裂”,飞轮表面小的龟裂不影响产品使用;
(2)从飞轮与从动盘离合器功能分析以及第一轮试验数据看,飞轮与从动盘离合器之间主要功能是实现力矩的传
递,不是“摩擦副”,正常使用情况不会出现“龟裂”现象。从实际失效件与第二轮数据看,当飞轮与从动盘离合器之间在非正常工作时,如反复频繁高速摩擦、冷热骤变,导致产生了异常摩擦。当工作中存在频繁高速摩擦,必然会产生“龟裂”现象。
为减少飞轮表面磨损及裂纹,可以考虑改善飞轮材质,如提高硬度、添加合金元素[5],同时也需要避免整车超速、超载及非正常工作的现象。
参考文献
[1] 詹宇平.柴油机上飞轮的作用[J].农机能源,2006(12).
[2]《GB/T 9439-1988 灰铸铁件》[M].1版.北京:中国标准出版社,2010. [3]《GB/T 231.1-2008金属材料布氏硬度试验第1部分:试验方法》
[M].1版.北京:中国标准出版社,2010.
[4] 《GB/T 7216-2009 灰铸铁金相检验》[M].1版.北京:中国标准出
版社,2010.
[5] 张永振,铸铁的干滑动摩擦磨损[J].现代铸铁,2000(2).
(上接第138页)
打哈欠检测指标能有效反映嘴部状态,通过对R 指标四次方能有效去除说话、嘴部小动作的峰值,使打哈欠指标更显著。本文提出的驾驶员打哈欠实时检测系统识别准确度高,具有实际应用价值。
参考文献
[1] 李都厚,刘,袁伟,刘浩学.疲劳驾驶与交通事故关系[J].交通运输
工程学报,2010,10(2): 104-109.
[2] 郑培,宋正河,周一鸣.机动车驾驶员驾驶疲劳测评方法的研究状
况及发展趋势[J].中国农业大学学报,2001,6(6):101-105.
[3] 童兵亮.基于嘴部状态的疲劳驾驶和精神分散状态监测方法研究
[D].吉林大学,2004.
[4] 张伟伟,糜泽阳,肖凌云,钱宇彬.基于深度卷积网络和在线学习跟
踪的驾驶员打哈欠检测[J].中国机械工程,2019, 30(08): 902-911.