APP下载

基于STM32 智能算法的汽车防疲劳驾驶检测系统

2023-07-09罗龙

电子制作 2023年10期
关键词:嘴部驾驶员灰度

罗龙

(江西理工大学,江西赣州,341000)

0 引言

我国每年因为疲劳驾驶发生交通事故数量有一定增长,数据显示年交通事故发生率达到20 万起,死亡人数达到6万多人,疲劳驾驶所致交通事故的死亡人数为3000 人左右,占比达到4.9%左右。世界范围内,人为因素所致交通事故占比达到85%左右,驾驶员疲劳驾驶占比较高。人们在驾驶汽车时候,并不能够进行持续驾驶,长时间驾驶容易导致身体疲劳,进而打瞌睡,生理学家研究提出一旦睡意来袭,人们会出现5 ~10s 短暂性睡眠,虽然从表面上看驾驶员眼睛睁着,但是大脑已进入休息状态。针对此情况,为有效减少因为驾驶员疲劳驾驶所致交通事故发生率,需要专门建构一个汽车防疲劳驾驶检测系统[1],因此本次在STM32 智能算法的应用下,实现关于汽车防疲劳驾驶检测系统的设计,并对其应用效果实施试验研究。

1 整体系统设计

在本次系统设计中,整体设计包括有数据采集模块、最小主控系统、蓝牙以及应用层等部分。数据采集模块主要是对驾驶员面部特征数据实施采集,主控系统可以实现和系统芯片的实时通讯,针对所采集的数据值通过SPI 传输协议,直接传输到STM32 智能算法的MCU 主控中,MCU 在获取原始数据后通过串口传输给蓝牙模块,之后将其发送到PC端应用层,以此实现关于相关数据的处理,获取驾驶员的面部特征数据处理结果,进而实现对其状态的评估。整体方案见图1。

图1 整体设计方案

在这一系统架构中,选用的是半导体的STM32 系列作为最小主控系统。当前市面上存在有较多微控制器,例如TI 的MSP 产品、51 单片机以及ST 公司的STM32 以及STM8 等,相对来讲STM32 应用最为广泛,操作最为便捷,因此本次选取这一系列。在秉承够用即可原则下,这一系统选取的是STM32 F0 系列作为主控[2],这一单片机设置有为M0 内核,存在有32 位处理性能,也具备STM32 系列较多功能,属于是一个微控制器,在应用中的优势有实时性强、运算功效低以及具有一定先进性,工作频率为48MHz,且具备丰富的I/0 口,不但可以充分发挥系统主控资源有效利用例,也能够在应用中迅速实施傅里叶算法,对于内存以及闪存的要求不高。另外在市场上应用较为广泛,硬件资源丰富,性价比较高。

2 系统实现

2.1 检测原理

针对图像处理智能分析中,即为通过所获取的图像信息进行评估。其中数据有效性对其评估结果具有直接影响,因此需要将存在遮挡、清晰度不足的图像进行处理[3]。防疲劳检测系统主要是对人脸信息进行检测,详情见图2,先要实施面部信息特征识别,若存在有效信息,采用相关算法对其实施智能判断;若清晰度不足,先要再次采集相关信息,再次识别;若无法成功采集到面部信息,需要再次进行采集之后实时数据处理。

图2 数据清理和过滤

图3 眼睛6 点示意图

针对所获取的数据,可以针对驾驶员眼睛和嘴巴闭合度、闭合时间对其疲劳状态实施判断。在眼睛评估中分析连续20 帧内眼睛闭合情况,若出现连续帧内眼睛闭合,未睁开,也就可以发出提醒语言;若闭眼次数已经达到20 次,需要发出预警提示;若嘴巴张开尺度已经过大情况,即可以判定为疲劳。在针对眼睛特征参数分析中,主要指标包括有眼睛闭合时间百分比、闭眼持续时间最大值以及眨眼频率[4]。其中在眼睛闭合时间百分比(PRRCLOS)中,也就是一定周期内眼睛闭合程度在某一阈值范围之外时间占比。为简化计算,提升计算准确性,可以在视频帧数的应用下替代时间,也就是计算单位时间内闭眼视频帧数在总视频中的占比进行计算,具体计算公式为:

在以上公式中,N 为单位时间内闭眼视频帧数,M 为单位时间内视频总帧数。

针对闭眼持续时间最大值(MDEC)计算中,即为计算特定时间内眼睛闭合持续时间的最大值。通常在人体疲劳状态下,会随着疲劳程度加深而逐渐延长人体的眼睛的睁闭时间。所以,可以针对正常清醒状态下,驾驶员正常闭眼持续时间最大值实施统计,并将其作为阈值,检测发现某段时间内驾驶员闭眼持续时间最大值比这一阈值大,即可判定为驾驶员疲劳。具体计算公式为:

在以上公式中,Z1,Z2,...,ZN分别为某时间段内的眼睛闭合持续时间。

针对眨眼频率(BF)计算中,即为统计1min 中的眨眼次数。在这一指标评估中,是在眼睛纵横比(EAR)应用下实现对眼睛张开程度的评估[5],即为采用的是6 点判定法,针对每只眼睛采用6 个点表示,具体见图2。眼部纵横比的应用计算公式为:

在以上公式中,P1,P2...P6即为眼部特征点6 点。

嘴部特征参数提取中,是在嘴巴纵横比(MAR)应用下实现对其张开程度的判定,结合持续时间,通常打哈欠时间在4s 以上,以此判定驾驶员是否打哈欠。

嘴部纵横比计算方法为:

在以上公式中,M1,M...M6 为嘴部特征点。如果MAR计算结果在正常状态下最大阈值以上,即为判定为打哈欠。

2.2 系统实现

在我们日常生活中,图像处理技术的应用较为广泛,即为在图像识别中,针对采集的图像实施预处理,消除冗余信息,以能够有效提取关键特征信息。

2.2.1 数据处理

系统中的数据比较多,也具备多样性以及异构性,针对数据处理过程中需要数据具备一定实时性和准确性。所以,针对数据处理可以有效应用数据融合、数据激活、数据挖掘以及数据可视化等相关技术。因此本次设计系统检测采集的数据中,还存在有部分视频图像数据,所以也需要有效应用图像智能分析技术,进而实施视频图像数据处理,在分层处理过程中有效分离视频图像的有用信息。这一技术在应用中,主要是建立在强大数据处理功能基础上,能够迅速分析视频图像数据,且对其实施过滤冗余信息处理。自动分析以及提取视频源中的关键信息,因此为驾驶员状态评估提供有用信息[6]。例如在图像识别技术的应用下,可以在通行数据的应用下,实现关于车辆车牌号以及品牌等信息的识别。也能够在驾驶员驾车视频的应用下,实现对驾驶员驾驶状态的判断评估。

2.2.2 图像识别

在计算机和电子技术迅速发展应用下,计算机不但能够实现图像的实时处理,也能够为图像处理提供高效算法以及识别技术。其中识别技术的应用较为广泛,主要是针对图像特征,实现关于图像的预处理,以此将图像中的冗余信息有效消除,进而实现关于图像中关键人物信息的提取。之后还能够针对图像样本实施分类,以此获取不同特征分类组,进而也就可以实现关于识别完成图像的识别分类。

想要进一步提升检测模块识别率,首先要实施图像处理。针对图像实施预处理,可以显著降低图像信息中的冗余信息,最大化减少原始图像噪声。在这一单元建构中主要包括有照相机、扫描仪以及其他采集设备。通常图像预处理过程中,主要为灰度化、去噪、分割等相关步骤。

2.2.3 图像灰度级

因为彩色图像调色板内容相对较为复杂,对于较多图像

算法没有足够的处理能力,所以需要处理彩色图像的灰度值。图像中各个像素R、G 以及B 分量灰度图像值一致。通常图像灰度值即为针对图像的R、G 以及B 分量实施加权,最终获取的灰度值即为最终的使用参数。一般在针对灰度值计算过程中,所采用的方法有平均法、加权平均法以及最大法等[7]。本次采用的是平均法,以此实现关于各个像素R、G 以及B 分量的平均亮度计算,所得结果即为这一像素的灰度值,计算方法为:

这一像素点的两个值是在把一定标准内实现对像素的分类,通常是分成具有较大对比度的两种颜色。在灰度值计算中所采用的方法有自适应阈值和给定阈值,本次是在阈值法应用下实施计算,具体为设置图像(fx,y),灰度范围需要在两者之间选取合理灰度值P,其中灰度值P 的范围为,具体为:

在以上公式中,(x,y)为像素点图表,P 代表阈值,F(x,y)即为在这一像素点经过两值处理中的灰度图像,g(x,y)即为原始灰度图像。通过以上公式可以看出,如果g(x,y)<P 情况下,f(x,y)为0,这一点即为背景图像点;如果g(x,y)≥P 情况下,f(x,y)为1,这一点即为目标像点。如果计算发现P 值较大,也会出现将出现物体作为是背景情况;如果发现P 值较小,容易导致这一值和噪声出现混合。通过自适应阈值化应用下,能够针对图像依照所选取阈值实施二值化处理,处理对象呈现出黑色,背景为白色。

3 试验分析

在驾驶员面部特征提取疲劳状态评估中,最容易提取的体征即为眼部及嘴部特征,所以本次试验研究则以驾驶员眼睛和嘴巴特征参数作为识别参数。

3.1 数据采集

在实际道路驾驶过程中,在本次系统应用下实现对驾驶员驾驶过程面部图像数据实施采集,以此对其面部特征提取,并评估系统的应用有效性。本次研究共选取8 位驾驶员,6 位男性、2 位女性,年龄不同。试验过程中叮嘱驾驶员驾驶过程中尽量减少换道操作,如果遇到阻挡尽可能实施跟车,避免交谈,禁止播放音乐等。选取城市站道路,驾驶速度为50—80km/h,尽可能不要超出所选取的形式路段。在得到视频样本后,和驾驶员的自我描述及评价小组综合评价结果实现对其疲劳状态的评估[8]。评估规则即为:分割驾驶员的面部视频,将其转变为时长为30s 的视频片段,结合面部特征评价各个驾驶员疲劳状态。评估结果为三级,分别为清醒、疲劳以及严重疲劳。具体见表1。

表1 试验样本情况

3.2 特征点定位

在特征点定位中,针对系统所采集的图像实施随机像素点阈值对比,实现对其分裂方向的判断,将图像在某个叶节点中进行划分,通过叶节点平均残差,也就是在位置偏移量的应用下,实现对初始形状向量的更新,之后将结果输给下一棵树。各级回归期均需要实施多次更新,且将偏移位移量输出,针对输出结果实施级联回归更新,即可以获取预测形状。人脸特征点定位见图4。

图4 人脸特征点定位过程

3.3 疲劳判定流程

在关于眼睛状态评估中,选取的PETCLOS 参数阈值为0.12,如果针对驾驶员状态评估中计算结果在这一阈值以上,即判定为疲劳;选取的MDEC 计算结果如果在0.8s 以上,即判定为疲劳;选取的眨眼频率参数,统计的阈值为15~20 次/min,若计算结果在这一范围之外即判定为疲劳;针对嘴部纵横比,阈值为0.8,如果计算结果在这一值以上,即判定为出现打哈欠行为。在针对驾驶员状态实施检测中,若发现眼部和嘴部特征参数不一致,处理策略为:第一,如果发现驾驶员眼睛参数存在有两项或以上在阈值之上,但是嘴部并未打哈欠,主要参考指标即为眼部特征,即为疲劳;第二,如果发现驾驶员嘴部打哈欠,但是眼睛相关指标正常,依旧是以嘴部特征为主,即为疲劳。因为一旦人体出现重度疲劳,也就会出现面部表情僵硬,头部动作变换迟缓,肢体动作时有时无或者缓慢,所以在状态判断中主要参数为眼睛特征。所设定的眼部状态参数有两项或以上超出阈值范围25%,即可以判定为严重疲劳。相应的疲劳判定流程如图5 所示。

图5 疲劳判定流程

3.4 结果评估

针对本次所采集的8 位驾驶员样本集中,随机抽取100个有效样本实施分析,分别标定有效样本,将样本输入到系统中,由系统对其实施识别。

其中样本标定结果和系统识别结果见表2。通过评估结果可以发现,系统识别结果具有较高准确率[9],针对驾驶员的清醒和非清醒状态可以实施准确评估,平均识别准确率为91.26%,具有比较高识别准确率。

表2 样本评估结果

4 结语

通过以上研究,所得结果为:第一,在针对驾驶员疲劳状态检测中,通过驾驶员面部特征实施识别,进而提取脸部图像,判定有效信息,除去无效信息,可以实现对驾驶员疲劳状态的评估;第二,在汽车防疲劳驾驶检测系统应用中,可以在数据处理、图像识别以及图像灰度级的应用下,实现关于图像特征的提取和评估;第三,针对汽车防疲劳驾驶检测系统所采集的数据,实施疲劳状态评估中,所选取的面部特征参数为眼睛和嘴部特征,主要为眼睛闭合时间百分比、闭眼持续时间最大值以及眨眼频率、嘴部纵横比,制定相关参数阈值,进而实现对驾驶员疲劳状态的评估;第四,本次设计系统在应用中,所得平均识别准确率达到91.26%,针对交通安全具有重要预防作用。

猜你喜欢

嘴部驾驶员灰度
基于高速公路的驾驶员换道意图识别
采用改进导重法的拓扑结构灰度单元过滤技术
驾驶员安全带识别方法综述
基于灰度拉伸的图像水位识别方法研究
此人为何杠得如此嚣张?
圆号教学中嘴部教学的重要性及训练方法研究
高中素描头像教学中提高嘴部刻画能力的策略探究
基于Horn-Schunck光流法的多目标反刍奶牛嘴部自动监测
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算