驾驶员嗜睡分类 - 深度学习

本文探讨了如何利用深度学习技术进行驾驶员嗜睡检测,以提高行车安全性。通过对'ULg 多模态嗜睡数据库'的数据进行特征提取,包括眨眼持续时间、眨眼频率、嘴部纵横比和头部姿态,构建了一个简单的神经网络模型,实现了73%的测试准确率和93%的训练准确率。
摘要由CSDN通过智能技术生成
50a2677a9b470e7e214c42141cc19a3e.png

瞌睡检测是一种汽车安全技术,有助于防止驾驶员在驾驶时睡着了造成的事故。根据 NHTSA(美国国家公路交通安全管理局)的数据,警方报告的 91,000 起车祸涉及疲劳驾驶。这些车祸导致 2017 年估计有 50,000 人受伤和近 800 人死亡。目前,方法主要集中在使用深度学习或机器学习技术进行眨眼检测,但是,如果司机戴墨镜怎么办?

如果我们同时考虑驾驶员的头部倾斜、打哈欠和其他因素会怎样?是的,这正是本文所做的。

在进入特征提取部分之前,从“ULg 多模态嗜睡数据库”(也称为DROZY(http://www.drozy.ulg.ac.be/) )中获取数据,该数据库包含各种类型的嗜睡相关数据(信号、图像等)。

该数据集包含大约 45 个视频剪辑,这些剪辑按照卡罗林斯卡嗜睡量表 (KSS) 进行标记。KSS 量表范围从 1 到 9,其中 1 表示非常警觉,9 表示非常困。

由于该数据集中缺少数据和标签,因此将标签从 1-9 转换为 1-3,分别表示无嗜睡、中度嗜睡和高度嗜睡。本来会使用视频分类过程,但由于数据不够,先提取特征并将它们用作我的模型输入。这样,模型将使用更少的数据达到更准确的效果。

特征提取

对于这个特定任务,我将使用 TensorFlow-GPU 2.6 和 python 3.6 以及使用 pip 预安装的库 open-cv、dlib、scipy。

特征提取所需的所有库:

from scipy.spatial import distance as dist 
from imutils.video import FileVideoStream 
from imutils.video import VideoStream 
from imutils import face_utils 
import numpy as np 
import argparse 
import imutils 
import time 
import dlib 
import cv2 
import datetime 
import csv 
import os 
import math

平均眨眼持续时间:眼睛纵横比低于 0.3 然后高于 0.3 的持续时间被检测为眨眼。眨眼发生的时间称为眨眼持续时间。平均每分钟眨眼持续时间以计算平均眨眼持续时间。

# grab the indexes of the facial landmarks for the left and
# right eye, respectively
(lStart, lEnd) = face_utils.FACIAL_LANDMARKS_IDXS["left_eye"]
(rStart, rEnd) = face_utils.FACIAL_LANDMARKS_IDXS[
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值