​疲劳检测的原理是根据人体疲劳状态下的特征检测,和正常状态下的特征检测做对比。在做疲劳检测之前,首先需要分析人体在疲劳状态下与正常状态下的特征有哪些不同的的表现,这些不同的表现可以通过哪些数值具体的量化出来,然后通过这些量化后的不同数值来判断属于哪种行为;最后根据获取的各种行为综合判断属于疲劳状态或者正常状态。


场景分析

通过对现有的疲劳检测场景分析,以及对疲劳特征的研究,判断人体属于疲劳或者非疲劳状态的方法可以分为主动检测和被动检测,主动检测需要检测者配合才能进行,操作也相对繁琐,比如问卷调查、体检等;而被动检测相对来说比较容易,被动检测的优势在于不需要检测者刻意的配合,在平时正常的生活和工作状态下就能够检测。

目前被动检测的主要方法是通过人体的外部表现特征来判断人体是否处于疲劳状态,比如在正常活动中的打哈欠、闭眼时长、低头、其他表情等特征都可以做为是否处于疲劳状态的依据之一。主要应用以驾驶疲劳检测、学习工作疲劳检测为主要场景。

驾驶疲劳是指驾驶人在长时间连续行车后,产生生理机能和心理机能的失调,而在客观上出现驾驶技能下降的现象。驾驶人睡眠质量差或不足,长时间驾驶车辆,容易出现疲劳。驾驶疲劳会影响到驾驶人的注意、感觉、知觉、思维、判断、意志、决定和运动等诸方面。

疲劳驾驶带来的危害:

1、驾驶人疲劳时判断能力下降、反应迟钝和操作失误增加。

2、驾驶人处于轻微疲劳时,会出现换档不及时、不准确。

3、驾驶人处于中度疲劳时,操作动作呆滞,有时甚至会忘记操作。

4、驾驶人处于重度疲劳时,往往会下意识操作或出现短时间睡眠现象,严重时会失去对车辆的控制能力。

5、驾驶人疲劳时,会出现视线模糊、腰酸背疼、动作呆板、手脚发胀或有精力不集中、反应迟钝、思考不周全、精神涣散、焦虑、急躁等现象。如果仍勉强驾驶车辆,则可能导致交通事故的发生。

使用检测者的外部特征表现来被动检测是实现商业化、市场化的最有效途径之一,从技术上要实现的就是区分张嘴和闭嘴,睁眼和闭眼,以及闭眼的时长,抬头低头等动作,还有就是微表情的识别。当这些技术上的问题都解决了,那么实现疲劳检测的主要难题也就解决了。


技术分析

从技术上来说,实现疲劳检测,主要是从不同场景对各种影响识别判断的因素进行量化考核,而量化的工具就是以深度学习为主的神经网络模型,比如从眨眼次数这个指标来分析,需要神经网络模型实现一个识别眨眼计数的功能,而如何设计模型来实现这个眨眼计数,就要从具体的实现方法上选择了,目前最流行的就是以面部关键点为判断的依据,具体思路就是训练一个人体面部关键点定位的模型,比如人的眼睛轮廓、嘴角轮廓、还有面部整体轮廓等都可以使用关键点来定位;

当训练好人体面部关键点定位模型后,就是模型使用过程了,使用过程中再对视频中检测出现的关键点进行分析。按照上面的思路,既然是对眨眼次数的计算,那么这里需要做的就是计算眼睛轮廓点中关键位置的定位点之间的距离比,以下图为例,当计算出相关位置的点之间的距离比(轮廓点构成的高度与宽度比)小于一定范围内容的时候,我们认为属于眨眼,当这个距离保持在一定时间后(比如可以设置成3秒),我们认为此时已经不是眨眼了,而是闭眼。

上图是根据眼睛的纵横比表征眼睛的睁开程度,即眼睛宽度与眼睛长度的比例。其原理是,在睁眼状态下,人眼的宽度与长度的比值是一个相对固定的数值,当眼睛闭合时,人眼的宽度将极剧变小,此时眼睛的纵横比就会发生变化。此参数通常被用于眨眼频率计算。

对于是否处于疲劳状态,需要有一个时间段内闭眼帧数的测试,根据卡内基梅隆研究所提出的度量疲劳/瞌睡的物理量 PERCLOS (Percentage of EyeIid CIosure over the PupiI, over Time, 简称PERCLOS) 其定义为单位时间内 (一般取1 分钟或者 30 秒) 眼睛闭合一定比例 (5%或15%) 所占的时间, 满足下式时就认为进入了疲劳状态:

根据国内外学者的大量实验分析可得,当 f ≥ 0.12时,则可认为驾驶员处于疲劳状

态;当 f < 0.12 时,则认为驾驶员处于清醒状态。

当然只从眨眼或闭眼来分析一个人的疲劳程度可能不够客观,那么我们加入再继续加入其他指标,比如通过统计打哈欠的次数来做为另一项疲劳的检测的指标。因为根据人们日常生活中的行为表现来看,平时正常说话和打哈欠的最大区别就是张嘴的大小程度,通过量化指标来判断就是就嘴巴的纵横比。

我在前面已经讲了眨眼计算的算法和计数思路,那么按照这个方法,打哈欠这个指标就很容易实现了,实现方法和眨眼计数一样,也需要对人的嘴角轮廓进行定位,然后根据嘴角轮廓的关键点构成的高和宽之间的距离比来判断是否属于打哈欠的行为。

嘴部纵横比表征嘴部的张开程度,即嘴部高度与嘴部宽度的比例。当打哈欠时,嘴部将极剧变大,此时嘴部的纵横比就会发生变化。

 

以上是能够观察到的面部行为,我们可以根据面部行为特征(眨眼、闭眼、打哈欠)来判断被检测者是否处于疲劳状态,但是有的时候我们可能并不能检测到面部特征,比如仰头、低头、转头等动作。这种情况属于个别情况,不能够检测出疲劳指数,但是可以根据实际的应用场景加入对仰头、低头、转头的动作姿态识别,进行相关的警示。

另外疲劳检测的技术实现流程和应用实现过程不太一样的,技术实现流程主要考虑的是技术上的难点,怎么从技术上实现这个效果;而应用实现就不一样了,不但要求实现技术上的效果,还需要在实际应用场景下达到能够真正检测到疲劳状态的目的。

现实生活中,由于不同的场景有不同的客观因素影响,实际上是很难统一量化评估的。比如驾驶中的疲劳检测结果,会由于驾驶环境的变化而变化。驾驶环境的变化可以分为两种,一种空间上的变化,比如公路和隧道中的变化;另一种是时间上的变化,比如白天和夜晚。不管是时间还是空间上的变化,都会导致驾驶室的明暗度情况会不一样的。

以深度学习为主的图像视觉领域,主要得益于近年来的计算力和数据成倍的增长,有了大量的数据和计算力,加上优秀的算法模型就可以解决很多行业的问题。但是同样也带来了一些问题,除了计算力的要求之外,首当其冲的就是数据问题。数据质量如果不好,会造成最终的效果下降。在疲劳检测中,这个问题也是需要处理的,所以采集什么样的数据就显得很重要,既要求数据的数量不能太少,还要求数据的质量不能太差,具有多样性。

当然除了数据上的影响,想要得到好的输出结果,还需要考虑模型的设计、训练优化、评估验证、指标测试等多方面的因素,有兴趣的同学可以参考上一篇文章:人工智能项目的开发流程概述关 注 V 信 公 众 号:深度人工智能学院,我们将会长期致力于人工智能的职业教育,分享人工智能技术在各行业的实际应用案例。

 

关注微信公众号:深度人工智能学院,获取更多人工智能方面的知识!

              

官方公众号                                                    官方微信号

基于深度学习的AI疲劳检测系统相关推荐

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

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

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

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

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

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

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

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

  5. 基于深度学习的高精度交警检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度交警检测识别系统可用于日常生活中检测与定位交警目标,利用深度学习算法可实现图片.视频.摄像头等方式的交警目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本系统采用 ...

  6. 无人驾驶汽车系统入门(十二)——卷积神经网络入门,基于深度学习的车辆实时检测

    无人驾驶汽车系统入门(十二)--卷积神经网络入门,基于深度学习的车辆实时检测 上篇文章我们讲到能否尽可能利用上图像的二维特征来设计神经网络,以此来进一步提高识别的精度.在这篇博客中,我们学习一类专门用 ...

  7. 基于深度学习的高精度苹果检测识别系统(Python+Pyside6)

    摘要:基于深度学习的高精度苹果检测识别系统可用于日常生活中来检测与定位苹果目标,利用深度学习算法可实现图片.视频.摄像头等方式的苹果目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本系统采 ...

  8. 基于深度学习的高精度塑料瓶检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度塑料瓶检测识别系统可用于日常生活中或野外来检测与定位塑料瓶目标,利用深度学习算法可实现图片.视频.摄像头等方式的塑料瓶目标检测识别,另外支持结果可视化与图片或视频检测结果的导 ...

  9. 基于深度学习的高精度野生动物检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度野生动物检测(水牛.犀牛.斑马和大象)识别系统可用于日常生活中或野外来检测与定位野生动物目标,利用深度学习算法可实现图片.视频.摄像头等方式的野生动物目标检测识别,另外支持结 ...

  10. 基于深度学习的高精度奶牛检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度奶牛检测识别系统可用于日常生活中或野外来检测与定位奶牛目标,利用深度学习算法可实现图片.视频.摄像头等方式的奶牛目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本 ...

最新文章

  1. Style Report中报表组件的使用场景简析
  2. 2018年台湾为陕西最大贸易伙伴
  3. 转贴一篇关于NAT(DNAT)以及PAT的讨论
  4. python支付系统开发,python支付整合开发包
  5. python3精要(84)-字节码原理及分析(2)
  6. Python 文件处理、字符编码(二)
  7. sort+参数+linux,linux sort下令参数及用法详解
  8. .NET 6 即将到来的新特性 — 隐式命名空间引用
  9. 非参数统计中的核平滑方法/Kernel smoother
  10. 通过mtd读写flash_【转】 Linux下读写FLASH驱动——MTD设备分析
  11. 并发和多线程(一)并发、进程、线程概念
  12. VLDB 2021 COCO 论文阅读
  13. java switch是什么意思_java switch语句详解
  14. 尚硅谷 硅谷外卖_关于多样性,硅谷未能想到与众不同
  15. 什么是OpCode?
  16. B树和B+树的查找方式及原因
  17. Mac终端terminal光标快速移动方法 emacs/vim模式 | bash vim 、zsh vim模式
  18. 最便捷的神经网络可视化工具之一--Flashtorch
  19. 软件著作权人享有的权利有哪些
  20. ssh自动添加hostkey到know_hosts

热门文章

  1. office2019安装D盘_office2016or2019安装在D盘的方法-可收藏备用
  2. Oracle的学习视频
  3. 坚守,一个烂俗的词,驱动人生带它走过了15年
  4. 掘金夜谈-畅聊程序人生(笔记)
  5. HP UINX磁带管理
  6. Linksys e3200初试tomato系统
  7. List转Map-JDK8实现
  8. Java实现zip文件压缩与解压缩--附完整代码
  9. mac adb环境变量配置
  10. 清华EMBA课程系列思考之十七(1) -- 新企业的孵化与创业投资