详情

疲劳“智”检员

申报人:黄万尧 申报日期:2024-05-30

基本情况

2024年批次
疲劳“智”检员 学生申报
创新训练项目
工学
电子信息类
学生自主选题
一年期
该项目旨在开发一套基于Dlib与OpenCV的疲劳驾驶检测系统。其主要由树莓派4B控制的二自由度舵机云台人脸位置跟踪及音响的语音播报预警,利用Dlib、OpenCV图像处理技术做人脸识别,并结合EAR算法和MAR算法,实现对驾驶员疲劳驾驶状态的实时监测和警示功能。通过分析驾驶员的面部表情、眼睛活动等指标,使系统能够快速准确地判断是否存在疲劳驾驶行为,并在发现风险时及时发出警报提醒驾驶员采取必要措施,以避免潜在的交通事故发生。该项目结合了先进的人脸识别技术和眨眼、哈欠检测算法,实现了高效的疲劳驾驶监测系统,为驾驶安全提供了有力保障。

2023年全国大学生数学建模竞赛

2024年第二届“华数杯”国际大学生数学建模竞赛

2024年第十四届MathorCup数学应用挑战赛

(1)广西科技计划项目,桂科AB1****2058、城市环境音智能感知与大数据处理,2017/12-2020/12、在研、参加。

(2)桂林电子科技大学“认知无线电与信息处理”省部共建教育部重点实验室项目,项目编号:RZ1****3102,基于频谱认知的智能干扰对抗深度学习算法研究,2018/10-2020/09、在研、参加

指导老师具有丰厚的科研经历和教学经验,可传授研究方法和技巧,指导学生进行文献查找、系统和电路设计;提供理论指导和建议,引导学生解决在研究中遇到的问题。

国家级

项目成员

序号 学生 所属学院 专业 年级 项目中的分工 成员类型
黄万尧 物理与电子信息工程学院 通信工程 2022 系统框架的构建与连接
李雨婕 物理与电子信息工程学院 通信工程 2022 程序端的设计
李雅柯 物理与电子信息工程学院 电子信息工程(应用) 2022 嵌入式端的设计
王智强 物理与电子信息工程学院 电子信息工程(应用) 2022 程序端的设计
董嘉龙 物理与电子信息工程学院 电子信息工程(应用) 2022 嵌入式端的设计

指导教师

序号 教师姓名 所属学院 是否企业导师 教师类型
杨晓斐 物理与电子信息工程学院

立项依据

疲劳驾驶是造成交通事故的重要原因。据调查显示,2023年全国共发生道路交通事故175万起,死亡人数达到50万人,而其中,疲劳驾驶导致的事故占到总事故的15%。因此,实现有效的疲劳驾驶检测,设计出一种准确且能够在最短时间内检测出驾驶员是否陷入疲劳状态,并及时发出警告对驾驶员进行提醒的系统,尤为重要。

1.基于人脸中心位置的舵机PID跟踪控制

2.图像实时处理云计算平台端的构建

3.Web端界面的设计

4.树莓派端和云端通信接口构建

5.基于OpenCV-Python的图像处理技术的图像采集

6.面部特征关键点的检测

7.判断是否处于疲劳状态算法研究

在过去的十几年中,为了能够有效的预防疲劳驾驶所带来的危害,国内外众多专家学者都在积极开展疲劳驾驶检测的相关研发工作。对驾驶员疲劳程度的检测方式很多,可以归纳为以下几种疲劳驾驶检测方法:

1.以驾驶员的生理信号作为疲劳的判定标准,主要是通过心电、脉搏来等信号来实现,驾驶员出现疲劳状态时,心电信号会呈现规律性下降,由于心电测量不同于脑电测量,不需要贴电极,而是可以通过外设装置实时检测心电信号。

现在一些发达国家己经成功研制出了相关的产品。如美国研制的疲劳驾驶员检测系统(The Drowsy Driver Detection SystemDDDS),采用复杂的信号处理方法,可以获取驾驶员的情绪活动、眨眼频率和持续驾驶时间等数据,用来判断驾驶员是否处于疲劳状态;日本研制出的电子 “清醒带”,在使用时将清醒带固定于驾驶员头部,一端插头插入车内点烟器的插座,装在带子里的半导体温差电偶使平展在前额部位的铝片变凉,使驾驶员睡意消除,精神振作。

2.以车辆的参数作为疲劳驾驶的判定标准。车辆参数主要分为车辆的方向盘运动状况和车辆行驶方向。

车辆方向盘运动:汽车方向盘的转动情况与驾驶员的行驶状态有着密切的关联。如美国Electronic Safety Products公司开发的方向盘监测装置 SAMSteering Attention Monitor)SAM是一种监测方向盘运动状况的传感器装置。当方向盘正常运动时传感器装置不报警,若方向盘持续4s不运动,则SAM系统就会报警提醒驾驶员;还有反应时测试仪PVT(The Psychomotor Vigilance Test),它的原理是根据驾驶员对仪器屏幕上随机出现的光点的反映(当光点出现时敲击键盘)速度来测试驾驶员的反应时间,用来判断其疲劳程度。

检测车辆行驶方向:很多国家对开发车道偏离预警系统表现出了高度重视,其中欧洲在其第六研究框架内稳步进行车道偏离预警系统的研究;澳大利亚智能研究实验室正在致力于车道偏离预警系统的开发;美国IVI也将车道偏离防碰撞列入8大研究领域之一。成形的预警系统如日本研制的DASXX型路面警告系统(The DASXX Road Alert System)是一种设置在高速公路上的用计算机控制的红外线监测装置,当行驶车辆摆过路肩或道路中线时,向驾驶员报警。但是该系统要求路面白线清晰,而且夜间测量容易失败。

3.通过驾驶员面部特征作为疲劳驾驶的判定标准

面部特征和头部位移是与驾驶疲劳有关的个体生理表现特征。其中眼动信号的记录与分析应用比较多的是有关视觉负荷及视觉疲劳的研究。当人处于疲劳状态时,眼睛的眨动较频繁,闭合时间也较长。根据有关研究发现:一般情况下人们眼睛闭合的时间在 0.2-0.3s 之间,当人在驾驶时若眼睛闭合时间达到0.5s 就很容易发生交通事故了。大部分研究驾驶疲劳的机构都采用PERCLOS(Percent Eyelid Closure,单位时间内眼睛闭合时间占总时间的百分率)作为测量指标。目前在此方面国内外研究机构均已取得进展,如美国宾夕法尼亚大学智能交通实验室采用眼睛闭合时间占特定时间的百分率作为精神生理疲劳程度的测量指标,一般认为该方法是目前最可靠、最有效、最有应用前景并且适合实时检测的方法。

明尼苏达大学计算机科学与工程系的教授成功开发出一套驾驶员眼睛的追踪和定位系统,通过安置在车内的摄像头监测驾驶员的脸部特征,用快速简单的算法确定驾驶员眼睛在脸部图像中的精确位置,通过追踪多幅脸部特征图像来监测驾驶员是否疲劳驾驶。

另外中国农业大学车辆与交通工程学院正在进行机动车驾驶员疲劳检测方法的研究。他们使用CCD摄像头来采集图像数据,数据采集到计算机后,先利用高斯肤色模型进行驾驶员人脸定位,再根据人脸图像的灰度投影图检测出眼睛在图像中的具体位置,最后利用模板匹配技术判断出人眼睛的开闭状态,并计算出眼睛的闭合时间和PERCLOS值,当眼睛的持续闭合时间大于3秒,PERCLOS值大于一定值时,就认为驾驶员处于疲劳驾驶状态,发出警告。

创新点:

·基于MTCNN+PERCLOS的方法专注于眼部特征和闭眼频率的监测Dlib+OpenCV的方法注重人脸特征的提取和分析。该项目针对基于MTCNN以及PERCLOS的疲劳检测方法存在的“检测精度较低的问题对其进行了改进,采用了DlibOpenCV图像处理技术并将其EARMAR算法相结合,充分发挥各自的优势,从而提高系统的精确度。

项目特色:

1.便捷性高、车载性强:

整个疲劳驾驶检测系统能够在一个集成的平台上进行实时监测,无需额外的设备或复杂的安装步骤,操作简便,使用方便。

2.检测速度快:

DlibOpenCV、眨眼检测以及哈欠检测等多种技术手段的综合运用,能准确迅速地检测出疲劳驾驶状态。

1.系统设计

在本研究中,我们利用了一种基于EAR算法和MAR算法的叉车驾驶员疲劳检测系统。该系统由摄像头、外接音箱、树莓派微型计算机、云计算平台、互联网以及Web端界面等关键组件构成。系统架构如图所示,其工作流程开始于摄像头对驾驶员面部的实时图像采集其工作流程框图如图1所示

夏日笔记-IMG 

1

系统运用Dlib的人脸识别技术和OpenCV的图像处理功能,精确定位驾驶员的面部及其特征点。接着,通过EAR算法计算眨眼频率,以及通过MAR算法计算哈欠频率,这两种算法都设有特定的阈值。当检测到的频率数据超过这些阈值时,系统会触发报警机制,通过外接音箱发出提醒,并将相关信息传输至云平台。最终,这些数据会被发送至工厂的Web端界面,由管理员对驾驶员进行进一步的安全警告。

此系统的设计旨在实时监控叉车驾驶员的疲劳状态,通过及时的反馈预防潜在的安全事故,从而提高工作场所的整体安全性。

2.Raspberry Pi 4B的工作原理

Raspberry Pi 4B是一款高性能的微型计算机,它基于Broadcom BCM2711 SoC(系统级芯片),集成了1.5 GHz的64位四核ARM Cortex-A72 CPU。这款CPU具备更高的处理速度和更佳的能效比,使得Raspberry Pi 4B能够处理复杂的计算任务和多任务操作。

此外,Raspberry Pi 4B配备了LPDDR4-3200 SDRAM,根据不同型号,内存可选1GB、2GB、4GB或8GB²。这种高速内存支持与GPU共享,提供了足够的带宽来处理图像和视频数据,这对于运行OpenCVDlib库进行图像处理和机器学习任务至关重要。

在网络连接方面,Raspberry Pi 4B提供了10/100/1000 Mbit/s的以太网接口和支持2.4/5 GHz双频的802.11b/g/n/ac无线网络,以及Bluetooth 5.0技术,确保了设备能够快速且稳定地连接到网络资源³。

Raspberry Pi 4B还支持多种操作系统,包括基于DebianRaspbian Buster,以及Ubuntu等。用户可以通过NOOBS(新的开箱即用软件)或直接烧录镜像的方式安装操作系统¹。

3.DlibOpenCV的工作原理

(1) Dlib人脸关键点检测

本系统采用Dlib库提供的68个人脸关键点进行检测,以准确捕捉驾驶员的面部特征。系统首先利用dlib.get_frontal_face_detector()函数定位面部,然后通过dlib.shape_predictor(predictor_path)函数识别出眼睛和嘴巴的关键点索引,从而实现对驾驶员面部的精确识别。

(2)OpenCV眼睛位置检测

OpenCV作为一个功能丰富的开源计算机视觉库,提供了一系列图像处理和视觉算法。本系统通过OpenCVVideoCapture类直接与摄像头接口,获取实时视频流。系统分析视频帧,提取画面尺寸、高度、宽度和帧率信息。随后,系统循环处理每一帧,利用OpenCV的坐标点类型cv::P oint,根据检测到的左眼、右眼和嘴巴的坐标,绘制出相应的面部特征形状。

4.用于疲劳检测的EAR算法和MAR算法原理

(1)EAR算法

在本文中,我们探讨了一种基于眼睛纵横比(Eye Aspect Ratio, EAR)的眨眼频率检测方法,该方法由Soukupová等人于2016年提出。EAR算法通过分析眼睛和眼睑轮廓的几何位置来计算眼睛的长宽比,其计算公式如下:

 夏日笔记-IMG


 夏日笔记-IMG

2

 

 夏日笔记-IMG

3

其中,P1至P6代表眼睛轮廓上的特定点。如图所示,Dlib人脸检测和OpenCV特征点标注结果表明,左眼的坐标为36至41,右眼的坐标为42至47。

在正常状态下,眼睛处于开放状态时,EAR值会在一定范围内波动。当眼睛闭合时,EAR值会显著下降,理论上闭眼状态下EAR值趋近于0。正常眨眼动作的速度较快,通常在1至3帧内完成。然而,在疲劳状态下,眨眼速度减慢,频率增加。当EAR值迅速降至某阈值以下,随后又快速回升至该阈值以上,可判定为一次眨眼。若在1分钟内眨眼频率显著高于平时,则可能表明驾驶员处于疲劳状态。

在实际检测中,通过计算左右眼的EAR值并求其平均值,以得到最终的EAR指数。根据实验数据,我们将EAR阈值设定为0.2,即当EAR值低于0.2且随后迅速升高至0.2以上时,判定为一次眨眼。文献显示,正常情况下人每分钟眨眼15至20次。因此,当1分钟内眨眼频率超过20次时,系统将判定驾驶员疲劳,并发出警报提醒。这些参数的设定需根据具体情况进行调整。

(2)MAR算法

在本研究中,我们采用嘴部纵横比(Mouth Aspect Ratio, MAR)算法来监测打哈欠频率,该算法的原理与眨眼频率检测相仿。通过Dlib库与OpenCV技术,我们能够精确捕获嘴部的关键节点。具体来说,使用图2中的点51、53、57、59作为嘴部的纵坐标对应M2、M3、M4、M5,点49、55作为横坐标对应M1、M4,以此来计算嘴部的张开程度,即MAR值。MAR的计算公式如下:

                                                                             夏日笔记-IMG     

在正常情况下,如说话或哼歌时,嘴部的张开时间较短,张开程度也较小。然而,在疲劳状态下,驾驶员可能会出现打哈欠的行为,此时嘴部张开的时间和程度都会增加。一般而言,人在说话时嘴部的连续张开时间不会超过3秒。因此,当MAR值从低于某一阈值上升至高于该阈值,并且这一过程的持续时间超过3秒时,我们将其记录为一次打哈欠行为。根据Ji等人(2018年)对超过1000张打哈欠照片的统计分析,我们采用0.75作为MAR的判断阈值,该阈值的准确率达到97.5%。此外,当1分钟内打哈欠次数超过3次时,系统将判定驾驶员处于疲劳状态,并立即发出警报提醒。这些参数的设定需根据具体情况进行调整。

拟解决的问题:

以树莓派端作为人脸位置追踪(保证摄像头正对驾驶员脸部)的图像采集平台,并由Ubuntu操作系统作为图像的实时处理云端计算平台,二者通过网线连接,由socket技术进行通信;二自由度舵机由树莓派4B控制来进行人脸位置跟踪,并Ubuntu操作系统运行OpenCVDlib库做数据的采集和分析结合EARMAR算法,实现对驾驶员眨眼频率以及打哈欠频率的检测,设置EARMAR的判断阈值,就可实时监测驾驶员状态,推断此时驾驶员是否处于疲劳驾驶的状态,一旦超过阈值,就说明驾驶员已处于疲劳驾驶的状态,由树莓派控制的音响立刻发出语音播报提醒

预期成果:

建立一套基于Dlib与OpenCV人脸识别的疲劳驾驶检测系统,并发表研究论文一篇,申请专利一项。

2024年5月:

·搜集与该项目相关的学习资料

2024年6月~9月:

·深入研究嵌入式端和程序端的相关知识并开始搭建基础框架

2024年10月~12月:

   ·对进行系统整合测试,验证基本功能

2025年1月~2月:

·对算法进行性能优化,提升检测准确性和稳定性调试系统功能,进行系统功能测试和性能测试

2025年3月~4月:

·准备结题工作,撰写好研究论文和总结报告,参加结题答辩等。

有与该研究有关的项目经历:

物体尺寸检测系统

曾从网上的开源资料上复刻了一个基于OpenCV的物体尺寸检测系统能够实时识别和测量物体的尺寸,通过摄像头捕获图像,并运用边缘检测与轮廓识别技术,实现了对物体尺寸的自动测量。该项目首先通过高分辨率摄像头实时捕获待测物体的图像,然后应用滤波算法去除噪声,使用灰度转换和二值化技术进行图像的预处理,再运用Canny边缘检测算法识别物体的轮廓,利用轮廓检测算法从背景中分离出物体的轮廓,根据摄像头与物体的已知距离和像素尺寸关系,计算物体的实际尺寸,最后将测量结果以图形或文本形式实时显示在用户界面上。

已具备条件:已大致构建出了整个疲劳检测系统的基本框架,掌握OpenCV的图像处理技术,PID控制;懂得如何调用Dlib库以及构建通信接口

尚缺少条件:对EARMAR算法研究较浅,对云端和Web端的设计不熟悉

经费预算

开支科目 预算经费(元) 主要用途 阶段下达经费计划(元)
前半阶段 后半阶段
预算经费总额 8000.00 4900.00 3100.00
1. 业务费 4000.00 2600.00 1400.00
(1)计算、分析、测试费 0.00 0.00 0.00
(2)能源动力费 0.00 0.00 0.00
(3)会议、差旅费 0.00 0.00 0.00
(4)文献检索费 0.00 0.00 0.00
(5)论文出版费 4000.00 论文出版 2600.00 1400.00
2. 仪器设备购置费 0.00 0.00 0.00
3. 实验装置试制费 1000.00 PCB板的制作等 600.00 400.00
4. 材料费 3000.00 树莓派、二自由度舵机、电容电阻等 1700.00 1300.00
结束