驾驶员监控系统是基于驾驶员面部图像处理来研究驾驶员状态的实时系统。首先挖掘出人在疲劳状态下的表情特征,然后将这些定性的表情特征进行量化,提取出面部特征点及特征指标作为判断依据,再结合实验数据总结出基于这些参数的识别方法,最后输入获取到的状态数据进行识别和判断。

通过一个面向驾驶员的红外摄像头来实时监测头部、眼部、面部、手部等细节,可以从眼睛闭合、眨眼、凝视方向、打哈欠和头部运动等检测驾驶员状态。通常通过检测人脸眼睛和其他脸部特征以及行为,同时跟踪变化,提取症状实现驾驶员疲劳、分神、不规范驾驶检测。

至于为什么采用红外摄像机,是因为系统要求能够在全部工况环境下(包括白天、夜晚、顺光、逆光等)工作,能适应各种光源环境,即视在夜间、逆光等情况下,也能提供高品质的。同时在驾驶员佩戴帽子、眼镜、墨镜、口罩等情况下由于红外特性可以穿透墨镜镜片,被遮挡的眼部信息也能正常成像,很好地解决了驾驶员眼镜反光或佩戴墨镜的问题。

DMS系统挑战:

1.如何定义疲劳:面部状态和大脑活动之间存在关系,可从面部提取眼睛嘴巴鼻子及突出点。

2.如何测量注意力:从驾驶员的头部和注视方向估计驾驶员对道路的注意力。

3.人脸检测难点:面部旋转、化妆品胡须眼镜等、表情(快乐,哭泣)、照明及遮挡。

4.面部跟踪难点:三维映射到二维的信息丢失,部分遮挡,光线变化。

DMS症状提取:

1.与眼部区域有关的症状:开/闭距离、闭合频率、凝视方向、眼皮运动。

2.与嘴巴区域有关的症状:开/闭距离,打哈欠频率。

3.与头部区域有关的症状:点头、左右转动、头部运动。

4.与面部预取有关的症状:不同的表情。

5.与身体姿势有关的症状:喝酒抽烟,调收音机,面向后面,与乘客交谈,打电话,发短信。

DMS主要预警功能:

闭眼预警:闭眼检测分为两个等级:闭眼0.8秒触发1级预警,闭眼2秒触发2级预警

低头预警:检测到低头超过超过1.0秒,触发报警

打哈欠预警:检测到打哈欠超过0.8秒,触发报警

打电话预警:检测到驾驶员有打电话行为时,触发报警

抽烟预警:检测到驾驶员有抽烟行为时,触发报警

左顾右盼预警:检测到驾驶员视线偏移超过1.0秒,触发报警

遮挡镜头预警:通过画面检测功能发现一定范围内的黑屏,触发报警

驾驶座无人预警:检测到驾驶座位上没有驾驶员时触发报警

眼镜墨镜过滤:检测到戴眼镜/墨镜驾驶员出现疲劳状态触发报警

身份验证预警:对比司机实时照片和数据库内照片识别出司机身份,或给出未知身份警报

DMS之疲劳检测:

脸部检测其过程又分为人脸定位、人脸识别和人脸跟踪。人脸定位的作用是在图像中通过识别面部特征点以检测人脸并标记出位置;人脸识别的作用是将在新图像中检测到到的面部数据和已储存的数据进行匹配;人脸跟踪的作用是在每帧图像上跟踪之前图像帧里发现的人脸。

头部特征:由三个姿态角构成,基于CNN设计头部跟踪系统以图像中脸部区域为输入,通过检测出的面部特征点结合默认的头部模型,可以得到大概的头部姿态。通过进一步跟踪已发现的面部特征和寻找到的更多特征,可以获取更多的数据用以添加到头部模型中,进而更新头部的几何特性。系统运行中,此过程不停的循环,从而以三维姿态角持续输出头部的当前姿态。

眼神检测:利用视线方向来判断驾驶员是否注意力分散。根据之前得到的头部姿态可以推算出大概的视线方向。在瞳孔、角膜能够良好识别的情况下,可以进一步根据普尔钦斑点计算出准确的视线方向。再根据系统内搭建的相关零部件布置数据,就可以知道当前驾驶员的观察目标。结合当前的驾驶行为进而判断驾驶员是否注意力分散。

眨眼检测:根据识别出的人脸和头部姿态进一步识别出眼睛的位置及其状态,主要用于进行疲劳状态和注意力是否分散的计算。其中,利用眼睛开度等信息基于PERCLOS来判断疲劳状态。包括眨眼信息(速率与时差)和眼部信息(开与合)。眼部信息为二分类问题,需要神经网络较小;眨眼信息需要分析过去数帧。

DMS之危险动作检测:

在驾驶过程中,一切注意力不在驾驶上的行为都被称为危险驾驶行为。例如,低头找东西,看窗外的风景,接打电话,抽烟、喝水,未系安全带、故意遮挡等等。对于这些异常情况,可以将其分为两种。例如低头或者看窗外都是跟人头有关,如果能够得到人头姿态角度,那么问题就可以解决;喝水,打电话等动作,都属于动作识别,设计一个动作识别的算法也可以解决。

头部姿态检测:得到人头姿态角度,一般有两种方法。第一种是上文中提到的landmark,人脸上关键点的坐标全部已知,使用PnP算法可以直接拟合出人头三维角度;第二种是使用标记好的yaw,pitch,roll三个角度的人脸图片直接训练一个小型网络,网络输出层直接回归三个float量,简单粗暴,精度较高,训练数据集直接使用开源人脸数据集,无需标注。

异常动作识别:识别打电话动作,喝水动作,抽烟等动作,如果单纯地将其是作为动作行为识别,使用LSTM或者3D-Conv算法,其计算消耗资源很严重。所以,一般有两种比较简单的方法。第一种是将此类的动作识别视为目标检测问题,例如打电话识别,就将手机视为待检目标,喝水检测就将水杯视为待检目标。这种方法思路很简单,但是有一个缺点就是,例如DMS摄像头装在汽车A柱,司机右手打电话,这时候成像画面中是看不到手机的,所以这种场景下检出率不高。另一种方法是将动作识别视为单帧图像分类任务,采集多种动作行为下的图片,人工标注监督信号进行训练,使用分类器判断最后的动作分类。

DMS之驾驶员身份识别:

驾驶员身份识别主要是根据驾驶员面部图像或识别信息来对驾驶员身份确认。技术流程包括:

  • 人脸图像采集及检测
  • 人脸图像预处理
  • 人脸图像特征提取
  • 人脸图像匹配与识别

DMS系统流程:

DMS疲劳驾驶监测系统相关推荐

  1. 基于YOLOv5的疲劳驾驶检测系统(Python+清新界面+数据集)

    摘要:基于YOLOv5的疲劳驾驶检测系统使用深度学习技术检测常见驾驶图片.视频和实时视频中的疲劳行为,识别其闭眼.打哈欠等结果并记录和保存,以防止交通事故发生.本文详细介绍疲劳驾驶检测系统实现原理的同 ...

  2. 疲劳驾驶检测系统的研究

    MATLAB疲劳驾驶检测系统 摘要:随着我国生活水平的提高,在交通方面有了质的飞跃,其中汽车保有量更是与日俱增.但是,随之而来的交通事故也源源不 断.据统计,我国交通事故死亡人数己连续10多年居世界第 ...

  3. 疲劳驾驶监测方案_一种基于手机的疲劳驾驶监测方法与流程

    本发明属于安全驾驶领域,具体涉及一种基于手机的疲劳驾驶监测方法. 背景技术: 疲劳驾驶是指驾驶员在长时间连续行车后,产生生理机能和心理机能的失调,从而在客观上出现的驾驶技能和反应下降的现象.若驾驶员在 ...

  4. 基于MATLAB的疲劳驾驶检测系统

    基于MATLAB的疲劳驾驶检测系统 设计内容(论文阐述的问题)疲劳驾驶检测系统以对驾驶员面部图像进行分析的方式来获取其疲劳信息,是一种智能检测系统.通过在车内安装固定摄像头实时采集驾驶员信息,将驾驶员 ...

  5. 疲劳驾驶监测方案_盘点疲劳驾驶的几种检测方法

    随着人们生活水平的逐渐提高以及各大城市道路交通系统的不断完善,我国的汽车保有总量也在不断增加,这在为人们的出行带来便捷的同时也导致了交通事故的频频发生,对驾驶员和行人的生命财产安全构成了巨大的威胁. ...

  6. 疲劳驾驶监测方案_【Nano Energy】TENG用于驾驶员驾驶状态监测

    01 研究背景 研究表明,驾驶员的疲劳和分心会降低其感知能力和对汽车控制的决策能力.大约20%车祸和30%致命车祸的原因是由于驾驶员疲劳和注意力不集中造成的,同时也会导致单车撞击事故和大型车撞击事故发 ...

  7. RISC-V MCU 智能安全驾驶监测系统

    智能安全驾驶检测 Binary Tree小队 张浩然 谢文倩 杜晓霞 智能安全驾驶检测系统 队员:张浩然 谢文倩 杜晓霞 摘要 现代社会频频发生车祸事件,为了减少各类车祸事故的发生,我们设计了一个智能 ...

  8. 疲劳驾驶监测方案_疲劳驾驶检测方法

    司机疲劳驾驶容易引起严重的交通事故,根据以往的交通事故案例分析,由于疲劳驾驶造成的交通事故占据37.91%,由此可见疲劳驾驶的危害之大.但是目前还是有很多人不知道自己是否属于疲劳驾驶,下面小编给大家说 ...

  9. 基于机器学习的疲劳驾驶检测系统

    目录 (一)课程设计内容 (二)交互方式 (三)开发平台/工具简介 (四)总体设计 (五)详细设计 (六)问题及心得体会 (七)参考文献,网站 (一)课程设计内容 驾驶疲劳检测系统,通过摄像头对驾驶员 ...

  10. matlab实现疲劳驾驶监测

    第2章 人脸的检测与定位 本论文通过人眼状态来判断疲劳状态,在判断是否疲劳之前要先进行人脸与人眼的检测与定位.整个流程,要先进行人脸的检测,在检测人脸的基础上识别出人眼并定位,在此基础上,实现了对眼球 ...

最新文章

  1. android开发常用的设计模式,android开发设计模式之——单例模式详解
  2. Hessian HTTP POST访问时,Nginx返回411问题
  3. 查询与删除MSSQL中所有外键约束
  4. 超详细的Java面试题总结(三)之Java集合篇常见问题
  5. vw vh vm CSS长度单位
  6. TortoiseSVN-1.9.4-中文语言包-官方下载地址
  7. 下载的ContentType设置
  8. Python宣传自己很快的orjson真的比ujson快吗(orjson与ujson速度比较)
  9. c语言运行excel中vba程序,VBA代码在WPS上可运行,在EXCEL中报错
  10. 旅行也能玩儿转区块链?看星牛APP的!
  11. 网络监控器mrtg全攻略
  12. sbrk() 函数是干什么的?
  13. MySQL读取JSON转换
  14. 【Redis】Redis布隆过滤器工作原理与实战(Redis专栏启动)
  15. 1w 字的 pandas 核心操作知识大全
  16. 论文解读:NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task——Next Sentence
  17. FS210开发平台板载LED灯控制实验
  18. Android开发你需要了解的那些事,附赠课程+题库
  19. 银行ATM活动图文档
  20. 如何搞懂交换机以及实现vlan间的通信

热门文章

  1. namecheap域名注册商怎么样?可以注册哪些后缀域名?
  2. 相见恨晚的编程学习词典!谁还不是南极滑冰的那个崽儿?!
  3. 英语四级和计算机二级考试时间安排,计算机二级考试时间一年几次呢
  4. 精美摘抄,献给每一位喜欢文学的人
  5. 《麦肯锡结构化战略思维》:4大原则 5个步骤,快速了解一个行业
  6. H无穷控制学习笔记——H无穷/H2控制
  7. matlab 循环和判断语句,matlab中循环语句与for循环
  8. 误删文件恢复免费软件推荐
  9. 洛谷 3097 USACO13DEC 最优挤奶 Optimal Milking
  10. hdu5294Tricks Device【最短路+网络流】