文件大小:80M

操作系统:Windows10旗舰版

开发工具:Python3.8、OpenCV4.5、dlib

开发语言:.py

简要概述:

疲劳检测

原理

因为人在疲倦时大概会产生两种状态: 眨眼:正常人的眼睛每分钟大约要眨动10-15次,

每次眨眼大概0.2-0.4秒,如果疲倦时眨眼次数会增多,速度也会变慢。打哈欠:此时嘴

会长大而且会保持一定的状态。因此检测人是否疲劳可以从眼睛的开合度,眨眼频率,以

及嘴巴张合程度来判断一个人是否疲劳。

检测工具

dlib :一个很经典的用于图像处理的开源库,shape_predictor_68_face_landmarks.dat是一个用于人脸68个关键点检测的dat模型库,使用这个模型库可以很方便地进行人脸检测,并进行简单的应用。

代码思路

第一步:使用dlib.get_frontal_face_detector() 获得脸部位置检测器

第二步:使用dlib.shape_predictor获得脸部特征位置检测器

第三步:分别获取左右眼面部标志的索引

第四步:打开cv2 本地摄像头

第五步:从视频流进行循环,读取图片,并对图片做维度扩大,并进灰度化

第六步:使用detector(gray, 0) 进行脸部位置检测

第七步:循环脸部位置信息,使用predictor(gray, rect)获得脸部特征位置的信息

第八步:将脸部特征信息转换为数组array的格式

第九步:提取左眼和右眼坐标

第十步:构造函数计算左右眼的EAR值,使用平均值作为最终的EAR

第十一步:使用cv2.convexHull获得凸包位置,使用drawContours画出轮廓位置进行画图操作

第十二步:进行画图操作,用矩形框标注人脸

第十三步:分别计算左眼和右眼的评分求平均作为最终的评分,如果小于阈值,则加1,如果连续3次都小于阈值,则表示进行了一次眨眼活动

第十四步:进行画图操作,68个特征点标识

第十五步:进行画图操作,同时使用cv2.putText将眨眼次数进行显示

第十六步:统计总眨眼次数大于50次屏幕显示睡着。

np.linalg.norm: 0.284s

dist.euclidean: 0.596s

所以看出np.linalg.norm()函数的运算速度要比dist.euclidean()快一点。所以用前者

来测量眼睛和嘴巴的欧氏距离。演示视频:


后续就可以实现疲劳之后的一些警示!还是很有用的,疲劳驾驶就像酒驾,实在累了找个服务区休息两个小时,都好的多,希望各大车主们都能平安出行!

近期有很多朋友通过私信咨询有关Python学习问题。为便于交流,点击蓝色自己加入讨论解答资源基地

Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!相关推荐

  1. Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测

    点击查看:Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测 文件大小:80M 操作系统:Windows10旗舰版 开发工具:Python3.8.OpenCV4.5.dlib 开发语言:.py ...

  2. python + dlib 实现简单疲劳驾驶检测

    引言 本文章实现的疲劳驾驶功能比较单一,仅对眼部进行一个眨眼阈值的检测,并没有对人脸其它部位(瞌睡会点头.嘴部微张等)进行检测,需要在疲劳驾驶这个方向上深究的hxd可以自己对代码进行迭代更新. 这篇文 ...

  3. 毕设 深度学习疲劳驾驶检测 opencv python

    文章目录 0 前言 1 课题背景 2 实现目标 3 当前市面上疲劳驾驶检测的方法 4 相关数据集 5 基于头部姿态的驾驶疲劳检测 5.1 如何确定疲劳状态 5.2 算法步骤 5.3 打瞌睡判断 6 基 ...

  4. python疲劳检测代码_【君奉天|开发日记】疲劳驾驶检测

    我之前写的关于DuerOS开发日记: 今天看了2017百度世界大会上李彦宏董事长介绍了百度的疲劳驾驶检测,正好我之前阿德里安·罗斯布鲁克的文章中介绍了利用Facial landmarks + drow ...

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

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

  6. 基于MATLAB人脸检测的汽车疲劳驾驶检测

    课题介绍 疲劳驾驶导致汽车交通事故逐年增加,为了提升驾车的安全性,需对驾驶员疲劳状态实时监测并及时提醒. 为了提高疲劳驾驶判断效率及准确率,本文运用Viola-Jones 框架特征矩阵进行人脸预判断: ...

  7. python+opencv+dlib实现人脸检测与表情识别

    python+opencv+dlib实现人脸检测与表情识别 一,dlib简单介绍:Dlib包含广泛的机器学习算法.所有的设计都是高度模块化的,快速执行,并且通过一个干净而现代的C ++ API,使用起 ...

  8. 基于脑电功率的疲劳驾驶检测研究_kaic

    基于脑电功率的疲劳驾驶检测研究 摘  要 在道路交通安全领域,疲劳驾驶是一种常见的交通安全隐患.现有数据统计,全球每年有大约21%的重大交通事故与疲劳驾驶有关,疲劳驾驶成为了诱发交通事故的主要原因之一 ...

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

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

最新文章

  1. Android UI 统一修改Button控件的样式,以及其它系统控件的默认样式
  2. 优化javaScript代码,提高执行效率
  3. linux看测试环境版本,最新版 EOS 在 Ubuntu 18.04.1 LTS 环境上的安装测试教程
  4. php时间区间,优化显示
  5. c语言字符数组的应用编程,C语言基础(一)
  6. SegmentFault D-Day 2016 年度总结报告
  7. 【图像去噪】基于matlab中值+均值+Lee+Kuan图像滤波【含Matlab源码 1179期】
  8. 图文并茂搭建STM32开发环境
  9. 电脑扬声器安装程序(UNKNOW)
  10. 同一块芯片,同时使用多个SOCKET工作,应该注意什么问题?
  11. 办公室网络还能这么搭建?从入门到精通,看这里
  12. Linux下查找指定日期的文件
  13. 26丨案例:手把手带你理解TPS趋势分析*
  14. C++ 三维空间的点(继承)
  15. Java之国际化操作
  16. 【CC】| 创建三维模型教程
  17. 微信公众号查询账户余额等
  18. Python 写文件中文乱码问题
  19. 网络游戏外挂制作(3)-1
  20. 【Java游戏开发合集】毕业设计(附源码+资料+课件)

热门文章

  1. 阿里云短信发送接口直接HTTP请求调用
  2. 三维空间无人机均匀分布——球体包围
  3. A deep-learning framework for multi-levelpeptide–protein interaction prediction文章梳理
  4. 详解Unity中的粒子系统Particle System (七)
  5. mongo-java 实现使用and拼接多个or查询条件
  6. 周报格式(sohu)
  7. wifipineapple外接网卡上网
  8. logx求x怎么用计算机,logx(logx等于什么)
  9. 编辑器开发(一):准备工作,百度ueditor移入项目当中
  10. python去掉最高分和最低分怎么算平均分_去掉最高分和最低分算平均分并进行排名...