intel OneAPI 黑客松 —— 基于intel Python 驾驶员疲劳检测方案

我们通过使用 intel python 和 intel tensorflow实现了一个简单的驾驶员疲劳检测方案。能获得英特尔的分享奖励。
摘要由CSDN通过智能技术生成

我参加本次intel 黑客松 分享奖的评选。请为我助力吧!


背景

驾驶疲劳是指驾驶人在长时间连续行车后,产生生理机能和心理机能的失调,而在客观上出现驾驶技能下降的现象。驾驶人睡眠质量差或不足,长时间驾驶车辆,容易出现疲劳。
在这里插入图片描述
根据国家相关部门统计的数字,全国平均每天发生的交通事故在5万起左右。每年因交通事故死亡的人数在10万人左右,也就是说每天平均要死亡300多人。

这300多人中可能有结伴去旅游的朋友,有负责异地往返送货的货车司机,有公司组织出差的打工人,还有返乡探亲的全家人等等…

本次黑客松,我计划实现一个基于intel Python 驾驶员疲劳检测方案

环境准备

Windows 10系统

DLib库安装

dlib是一个开源的机器学习库,具有一系列高性能的算法和工具,包括人脸检测、图像分割、目标检测、人脸关键点检测、人脸特征提取等。它包含了基于统计学的机器学习算法,如支持向量机(SVM)、回归、聚类和随机森林等,也包括深度学习算法,如卷积神经网络(CNN)、循环神经网络(RNN)和变分自编码器(VAE)等。

安装anconda python 3.9

直接从清华源下载(百度一下)点击anaconda
在这里插入图片描述

直接根据提示一步一步安装就好了。
在这里插入图片描述

配置conda的国内源

刚才勾选了Add Anaconda3 to my PATH environment variable 选项的同学。点击桌面的搜索框,输入CMD,打开命令行(没有勾选的同学,输入“Anaconda Prompt”)这一步可以直接百度,非常简单。

安装并验证DLib

conda install -c conda-forge dlib

直接在命令行输入:python回车,进入python环境。然后输入:import dlib 回车,没有任何报错和输出就是安装完毕了。

intel Python 及相关库安装

在这里插入图片描述
win环境下我们已经安装了conda,使用conda环境去下载对应包就可以了。这个官网有写,就不在阐述了。

驾驶员疲劳检测实现原理

车内驾驶员疲劳监测技术,本质上是在行驶过程中捕捉并分析驾驶员的生物行为信息,比如眼睛、脸部、心脏、脑电活动,等等的技术等等。然而心跳活动和脑电监测由于受接触的限制,没有在车内批量应用。当前最多被采用的疲劳检测手段是驾驶员驾车行为分析,即通过记录和解析驾驶员转动方向盘、踩刹车等行为特征,判别驾驶员是否疲劳。但是这种方式受驾驶员驾驶习惯影响极大。另一大类别的检测方法是:通过图像分析手段对驾驶员脸部与眼睛特征进行疲劳评估。
在这里插入图片描述

基于人脸表面特征的疲劳检测,主要分为三个部分,打哈欠、眨眼、点头。本实验从人脸朝向、位置、瞳孔朝向、眼睛开合度、眨眼频率、瞳孔收缩率等数据入手,并通过这些数据,实时地计算出驾驶员的注意力集中程度,分析驾驶员是否疲劳驾驶和及时作出安全提示。

视觉疲劳检测原理:因为人在疲倦时大概会产生两种状态: 眨眼:正常人的眼睛每分钟大约要眨动10-15次,每次眨眼大概0.2-0.4秒,如果疲倦时眨眼次数会增多,速度也会变慢。打哈欠:此时嘴会长大而且会保持一定的状态。因此检测人是否疲劳可以从眼睛的开合度,眨眼频率,以及嘴巴张合程度来判断一个人是否疲劳。

具体实现

1.眨眼计算疲劳

(1) 计算眼睛的宽高比
基本原理:计算 眼睛长宽比 Eye Aspect Ratio,EAR.当人眼睁开时,EAR在某个值上下波动,当人眼闭合时,EAR迅速下降,理论上会接近于零,当时人脸检测模型还没有这么精确。所以我们认为当EAR低于某个阈值时,眼睛处于闭合状态。为检测眨眼次数,需要设置同一次眨眼的连续帧数。眨眼速度比较快,一般1~3帧就完成了眨眼动作。两个阈值都要根据实际情况设置。
(2)当前帧两双眼睛宽高比与前一帧的差值的绝对值(EAR)大于0.2,则认为是疲劳

import cv2  
  
# 定义眼睛宽度和高度的比例  
ear = 0.2  
  
# 定义同一次眨眼的连续帧数  
consecutive_frames = 3  
  
# 初始化前一帧的眼睛宽度和高度的比例为0  
prev_ear = 0  
  
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值