随着城市化进程不断加快,中国汽车的需求 量和保有量也急剧上升。 截至 2020 年 9 月,中国 汽车保有量达到了 2.75 亿辆,随着车辆保有量的 增加,交通事故的发生率也在逐年上升。2017 年交通事故共计 20.3 万起,因车祸死亡人数 6.3 万 人,2018 年交通事故较 2017 年上升 20.6%,2019 年交通事故较 2018 年下降 18.3% ,虽然事故率 有所下降但仍不容乐观。研究表明疲劳驾驶是致 使车祸发生的重要原因之一,如果能够在交通事 故前检测出驾驶员的疲劳行为并及时提醒可以有 效减少因疲劳驾驶而导致的车祸的发生,因此研 究疲劳检测算法对改善交通道路安全有着重要 意义。目前疲劳检测主要分为三大类:基于车辆信息 的检测方法,基于驾驶员信息的检测方法和基于多 信息融合的检测方法 。 基于车辆信息的检测方 法包括车辆加速度信息、车辆转向角信息等来判断 驾驶员的疲劳情况,该方法对于外界环境变化敏 感,针对于不同的路况、驾驶员驾驶习惯、天气等变 化因素难以定量分析,所以并不是疲劳驾驶的主要 研究方向。 基于驾驶员信息的检测方法分为两种 信息类型,一种是驾驶员的生理参数,主要检测参 数包括脑电信号、心率等;另一种是驾驶员的行为 特征,包括眼动特征、嘴部状态,头部姿态等,不论 是驾驶员的生理参数还是行为特征在当前科技迅 速发展的情况下都是容易收集并处理的。

一、算法框架

目前检测疲劳驾驶状态的方法主要可以分为如下三类: 第一类,基于生理状态的检测;第二类,基于驾驶行为;第 三类,基于图像。第一类,主要是通过可穿戴设备完成信 息的采集,检测精度高、效果好,但是相关传感器设备费 用较高,且跟人体有直接接触,用户体验可能不好;第二 类,通过传感器采集车道偏移、方向盘反转角度、刹车踩。踏次数和力度等相关行为信息,从而 完成对疲劳驾驶状态的判定,但是不 同司机个人驾驶习惯、特点等有差异 性,会对准确率造成不同的影响;第 三类,车载摄像头实时采集司机面部 图像,对眼部、嘴部图像或者是对整 个人脸提取特征进行处理,从而完成 司机驾驶状态的判断。由于基于图像 的疲劳驾驶检测,没有与人体直接接 触,并且能够提取到疲劳驾驶的关键 特征,利用机器学习的方法也能很大 程度提高检测精度。本文将介绍基于 图像的疲劳驾驶检测方法,完成实际 情况下疲劳驾驶检测的相关方法研究。

Yolo 由 Redmon 等于 2016 年首次提出。 在 Yolo 提出之前,传统的检测算法的流程通常是先通 过计算机图形学(或者深度学习)的方法,对图片进 行查找,找出若干个可能存在物体的区域,将这些 区域截取在进行分类。 而 Yolo 不需要提前找到可 能存在目标的图像位置,可以实现端到端的目标 检测 。本方案对眼部图像进行分析,分类情景相对单一。模型选用ResNet-101 网络,其在一定条件下,比VGG和GoogLeNet的准确度要高,计算效率更优, 在进行特征提取的时候优势很大。 ResNet网络中使用了2种残差单元,不同的网络,有不同的策略。最 优的残差结构,没有增加额外参数,计算的复杂度也没有加大,类似于 同等映射的效果。整个网络仍然可以端到端反向传播进行训练。该网络 解决了退化问题,相关数据显示,深度加深,性能相应得到了提升。 在实验中,我们从10位实验人员录制的疲劳和非疲劳视频中,手动 选取相关帧,送入人眼检测。将人眼检测所得到的人眼区域图像作为数 据集,送入ResNet网络进行特征提取,从而得到全连接层输出的特征向量。

随着交通运输行业和自动驾驶行业的发展,公路上每天行驶的车辆都会产生许多 未知的风险,因此车辆安全领域的科研人员对 ABS、ESP、电子手刹、驾驶员疲劳检测 系统等车辆主动安全设备进行了广泛的研究。驾驶员疲劳检测技术是车辆主动安全设 备的关键部分,旨在通过监控司机状态并进行预警,达到保障司机及行人财产和生命 安全的目的。 首先,对目前驾驶员疲劳检测的关键技术——特征提取算法和状态分类算法的原 理和优缺点进行研究,并最终选取深度学习作为驾驶员疲劳检测系统的特征提取和状 态分类方法。然后基于深度学习方法设计疲劳检测系统的特征提取算法与状态分类算 法,其中特征提取算法用于驾驶员的脸部区域图像提取,状态分类算法将对瞌睡、哈 欠、抽烟、打电话、正常驾驶五种状态进行分类。对深度学习算法的脆弱性进行分析, 并设计了一个生成对抗网络算法作为攻击模块,通过其生成的疲劳对抗样本和采集的 驾驶员真实样本同时训练状态分类网络,使分类网络具备区分对抗样本与真实样本的 能力,提高对疲劳对抗样本的防御能力。 其次,提出了一种将卷积神经网络和生成对抗网络进行级联的驾驶员疲劳检测框 架,主要包括信息采集模块、特征提取模块、攻击模块、状态分类模块和判定及预警 模块。信息采集模块:通过红外摄像头采集驾驶员的实时状态视频,然后从视频中获 取表征驾驶员状态的帧图像;状态分类模块:将驾驶员图像作为输入,获取驾驶员的 人脸范围和关键点坐标,然后根据获取的人脸及关键点位置对驾驶员脸部进行区域划 分和区域提取,获得驾驶员耳朵、嘴巴、眼睛的区域图像;攻击模块:使用生成对抗 网络技术,通过噪声生成驾驶员的疲劳对抗样本,即伪瞌睡、伪哈欠图像,并将其标 记为非疲劳状态;状态分类模块:使用真实样本与疲劳对抗样本共同训练,使状态分 类模块在区分驾驶员状态的同时具备抵抗伪疲劳图像攻击的能力,其能够对五种驾驶 员状态进行分类,包括正常驾驶、瞌睡、哈欠、打电话、抽烟;判定及预警模块:将 经过状态分类后的图像作为输入,根据 PERCLOS 算法和一段时间内驾驶员特征判定驾 驶员是否处于疲劳状态,并对疲劳状态进行记录和预警。 最后,对疲劳检测系统的硬件解方案进行研究,提出了使用树莓派 3B+、英特尔神 经计算棒作为硬件解决方案,满足了算法运行的需求同时具有较高的性价比。然后对提出的级联卷积神经网络和生成对抗网络的驾驶员疲劳检测系统的可行性进行验证, 其中包括对区域提取算法准确率的验证、疲劳检测系统准确率的验证,并使用恶意图 像进行攻击从而验证系统的鲁棒性。实验表明,本文在防御疲劳对抗样本攻击方面, 经过对抗样本训练的状态分类网络对伪疲劳图像的检出率从 15%提高到 84%,说明本 检测系统具备一定的防御伪疲劳图像攻击的能力。提出的区域提取算法对驾驶员五官 的提取准确率达到 94%以上,疲劳检测系统在对驾驶员疲劳状态的检测中,准确率达 到了 92%。综上所述,本文提出的硬件方案检测效果较好,能够满足疲劳检测系统的 运行需求。

二、代码实现

由于目前特征提取算法和状态分类算法不能满足疲劳检测系统的需求,本章将基 于深度学习算法设计驾驶员的特征提取算法和状态分类算法,为了增强疲劳检测系统 的扩展能力,特征提取算法将驾驶员图像作为输入,最终输出驾驶员的耳部、嘴部、 眼部的图像;状态分类网络将对提取的驾驶员图像进行分类,该分类网络能够识别以 下五种驾驶员图像:正常驾驶、瞌睡、哈欠、抽烟、打电话。

2.1 特征提取算法

本文提出的特征提取算法由驾驶员脸部关键点提取算法和区域图像提取算法组成。 驾驶员脸部关键点提取算法将驾驶员图像作为输入,经过神经网络的卷积计算和反向 传播算法,最终输出一个十元组,即驾驶员的眼睛、鼻子以及两个嘴角——五个关键 点。将驾驶员脸部关键点坐标输入到区域提取算法中,最终将获得驾驶员的眼部、耳 部、嘴部图像。

2.2 状态分类算法

纵观图像分类网络的发展过程,从 VGG、Inception-NET到 RES-NET,为 了提高特征提取的维度,分类网络的识别准确率,神经网络的层数越来越高,模型也 变得越来越厚重。即使经过区域提取算法得到的驾驶员区域图像尺寸较小,在图像分 类网络训练过程中能够较快的进行特征提取和学习,如果在状态分类网络中设计的层 数较高,要想应用到嵌入式设备中仍然无法满足实时性的要求。 我们调研发现网络结构对运算时间的影响巨大,本文在设计状态分类网络时对网 络结构进行了优化,尽可能使用低计算量的网络结构,以获得实时性更好的疲劳检测 系统。在对神经网络优化的研究中,A.G. Howard 等人做了大量的工作,他 们提出的深度级可分离卷积(depthwise separable convolution),将标准卷积分解为深 度卷积+逐点卷积,这种分解能够有效的大量减少计算量以及模型的大小,在实验中显 示在输入输出效率和性能不变的情况下,计算量降低 9 倍。因此,本文设计的驾驶员状态分类网络采用深度级可分离卷机代替普通卷积的方式,加速网络的运算过程。

2.3 攻击算法

本文设计的攻击算法将采用噪声作为输入,通过驾驶员状态分类网络结合生成对 抗网络的方法生成对抗样本,对驾驶员状态分类模块进行攻击。经过调研,深度卷积 生成对抗网络[45](DCGAN)在 GAN 提出后,在生成图像上表现出非常优异的结果, 本文将采用 DCGAN 生成驾驶员的疲劳对抗样本包含瞌睡和哈欠的对抗样本。因为本 文希望模拟对检测系统的黑盒攻击,即从噪声生成对抗样本,因此将对 DCGAN 进行 改进。本文将使用中的方法,此方法使用生成样本代替原始图像进行训练,第 二部分与 D. Song 等人在中提出的 advGAN(生成对抗样本的生成对抗网络)算 法相似。 本文设计的攻击模块算法如图 3-8 所示。正常训练部分的目的是使 DCGAN 学习 到符合正常数据集的数据分布,网络包含生成器与判别器。生成器从任意噪声

基于Matlab深度学习的驾驶员疲劳检测系统相关推荐

  1. 毕业设计 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

    文章目录 0 前言 1 课题背景 2 Dlib人脸识别 2.1 简介 2.2 Dlib优点 2.3 相关代码 2.4 人脸数据库 2.5 人脸录入加识别效果 3 疲劳检测算法 3.1 眼睛检测算法 3 ...

  2. 机器视觉毕业设计 深度学习驾驶人脸疲劳检测系统 - python opencv

    文章目录 0 前言 1 课题背景 2 Dlib人脸识别 2.1 简介 2.2 Dlib优点 2.3 相关代码 2.4 人脸数据库 2.5 人脸录入加识别效果 3 疲劳检测算法 3.1 眼睛检测算法 3 ...

  3. 基于Matlab深度学习Yolov4-tiny的交通标志识别道路标志识别检测

    交通标志检测是辅助驾驶.自动驾驶系统中的重要组成部分,针对交通标志检测任务中复杂环境下的小目标检测精度低的问题,提出一种基于YOLOv4-tiny的交通标志检测方法. 基于Matlab深度学习的道路标 ...

  4. 基于深度学习的海洋动物检测系统(Python+YOLOv5+清新界面)

    摘要:基于深度学习的海洋动物检测系统使用深度学习技术检测常见海洋动物,识别图片.视频和实时视频中的海洋动物,方便记录.展示和保存结果.本文详细介绍海洋动物检测系统,在介绍算法原理的同时,给出Pytho ...

  5. 基于Matlab深度学习目标检测算法系统GUI,单目标、多目标检测

            深度学习是一种功能强大的机器学习方法,可用于训练稳健的目标检测器.目标检测有多种方法,包括 Faster R-CNN 和 you only look once (YOLO) v2!本文 ...

  6. 【信号识别】基于matlab深度学习CNN信号调制分类【含Matlab源码 2066期】

    ⛄一.深度学习CNN信号调制分类概述 1 背景介绍 在通信信号处理领域, 特别是在非协作通信信号盲解调研究领域, 每时隙突发信号的调制方式不同, 必须进行信号的调制方式自动识别.信号的调制方式识别效果 ...

  7. 【OFDM通信】基于matlab深度学习OFDM系统信号检测【含Matlab源码 2023期】

    ⛄一.深度学习OFDM系统信号检测简介 1 OFDM系统模型 OFDM系统是一种常用的多载波调制方式, 因为其具有能够在带宽较窄的情况下传输大量数据.能够对抗频率选择性衰落.传输速率高.实现简单.信道 ...

  8. 热门论文| 基于深度学习的黑色素瘤自动检测系统

    论文概述     该论文提出了一种基于深度学习的方法实现黑色素瘤病变的自动检测和分割.该方法包含一种增强的编码-解码网络用于提取特征,该网络通过一系列跳步路径(skip pathway)连接编码子网络 ...

  9. 计算机视觉与深度学习 | 基于MATLAB 深度学习工具实现简单的数字分类问题(卷积神经网络)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 %% Time:2019.3.7 ...

  10. 【毕业设计】深度学习驾驶行为状态检测系统(疲劳 抽烟 喝水 玩手机) - opencv python

    1 前言

最新文章

  1. 没有绝对安全的系统!激光瞄准二极管,25米外从被物理隔绝的计算机中窃取数据...
  2. 1390: 队列问题(1)(vector模拟)
  3. zigbee 协议栈数据类型及转换
  4. EF创建上下文对象HttpContext和CallContext
  5. python+pycharm+Django报错
  6. IDEA 创建 SpringCloud项目-多项目方式
  7. js后退页面不重新加载_快应用:支持加载单独JS文件的规范思考
  8. MySQL中如何定义外键[转]
  9. 关于java.lang.ArithmeticException: divide by zero的异常
  10. rnn 简要_注重文化的简要招聘指南
  11. C语言中调用可执行程序的方法。
  12. 中药说明书实体识别抽取top1
  13. amaze ui使用简介
  14. 03.Msbuild
  15. Win10华硕atk驱动怎么安装_【打印机安装】WIN10打印机【驱动下载】和【安装方法】...
  16. 【Python爬虫】之西瓜视频地址解密20210822
  17. SMOTE过采样算法
  18. hihoCoder #1498 : Diligent Robots【数学】
  19. VLOOKUP函数 table_array:无效引用
  20. 【阅读笔记】联邦学习实战——联邦学习智能用工案例

热门文章

  1. URLDecoder解码报错
  2. 【调音小栈】跳羚PRO12PRO22声卡搭载机架跳线设置教程
  3. 研磨设计模式笔记之简单工厂模式
  4. 淘宝客工具箱源码,一键转链,淘口令解析 淘宝客中间页生成
  5. python上传文件接口_Python接口测试文件上传实例解析
  6. 高等数学所有符号的写法与读法
  7. python数学符号读法大全_高等数学中所有符号的读法
  8. 软考程序员资源免费分享
  9. Altium Designer使用-----LOGO脚本的使用
  10. 抖音快手无水印视频下载教程解析