首页 > 其他分享 >第156期 探秘 NTHU-DDD:疲劳与哈欠背后的驾驶安全密码(目标检测)

第156期 探秘 NTHU-DDD:疲劳与哈欠背后的驾驶安全密码(目标检测)

时间:2024-09-21 15:51:18浏览次数:10  
标签:状态 疲劳 检测 模型 156 驾驶 打哈欠 NTHU DDD

亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。

在这里插入图片描述

一、引言

随着交通运输行业的快速发展,道路交通安全问题日益凸显。疲劳驾驶作为导致交通事故的重要因素之一,受到了广泛的关注。传统的疲劳驾驶检测方法多依赖于驾驶员的生理指标或车辆行为分析,但这些方法往往存在实时性差、成本高、易受干扰等问题。近年来,随着计算机视觉和深度学习技术的快速发展,基于视频的疲劳驾驶检测方法逐渐成为研究的热点。

本文基于台湾国立清华大学的NTHU-DDD(Driver Drowsiness Detection)数据集,研究了一种新型的疲劳驾驶与打哈欠检测模型。该数据集包含了白天和黑夜两种场景下的正常驾驶和疲劳驾驶视频,图像帧像素格式为640像素×480像素,每段视频平均60秒左右,每秒取15帧(黑夜)或30帧(白天)。然而,原始数据集的标签仅包含正常和疲劳两种状态,无法满足本文模型输出正常、疲劳和打哈欠三种状态的需求。因此,本文首先对数据集进行了重新标注,将疲劳状态细分为疲劳和打哈欠两种状态,并基于此数据集训练了疲劳驾驶与打哈欠检测模型。

在这里插入图片描述

二、相关工作

(一)疲劳驾驶检测研究现状

疲劳驾驶检测是一个复杂的问题,涉及驾驶员的生理、心理和行为等多个方面。目前,疲劳驾驶检测方法主要包括基于生理指标的方法、基于车辆行为的方法和基于计算机视觉的方法。其中,基于计算机视觉的方法因其非接触性、实时性和成本低廉等优点而受到广泛关注。基于计算机视觉的疲劳驾驶检测方法主要包括眼睛状态检测、头部姿态检测和面部表情识别等。

(二)打哈欠检测研究现状

打哈欠是疲劳驾驶时常见的行为之一,因此打哈欠检测也被广泛应用于疲劳驾驶检测中。目前,打哈欠检测方法主要包括基于图像处理的方法和基于深度学习的方法。基于图像处理的方法通常通过提取嘴巴区域的特征来判断是否打哈欠,但这种方法容易受到光照、遮挡等因素的影响。基于深度学习的方法则通过训练神经网络模型来识别打哈欠行为,具有更高的准确性和鲁棒性。

三、数据集处理与标签制作

(一)数据集概述

NTHU-DDD数据集是一个包含正常驾驶和疲劳驾驶视频的数据集,涵盖了白天和黑夜两种场景。该数据集的图像帧像素格式为640像素×480像素,每段视频平均60秒左右,每秒取15帧(黑夜)或30帧(白天)。数据集包含了戴眼镜、不戴眼镜、打哈欠、低头等多种动作,为疲劳驾驶检测模型的训练提供了丰富的样本。

(二)标签制作

由于原始数据集的标签仅包含正常和疲劳两种状态,无法满足本文模型输出正常、疲劳和打哈欠三种状态的需求。因此,本文首先对数据集进行了重新标注。具体步骤如下:

观看原始视频,记录每个视频帧中驾驶员的状态(正常、疲劳或打哈欠)。

根据记录的状态,对视频帧进行标注。对于疲劳状态的视频帧,需要进一步判断是否为打哈欠行为。如果是打哈欠行为,则标注为2(打哈欠);否则标注为1(疲劳)。

将标注结果保存为新的标签文件,用于后续模型的训练。

在这里插入图片描述

四、疲劳驾驶与打哈欠检测模型设计

(一)模型架构

本文设计的疲劳驾驶与打哈欠检测模型采用了卷积神经网络(CNN)和长短期记忆网络(LSTM)相结合的架构。CNN用于提取视频帧中的空间特征,LSTM用于捕捉视频帧之间的时间依赖关系。具体而言,模型首先使用CNN对输入的视频帧进行特征提取,然后将提取的特征送入LSTM中进行时序建模,最后通过全连接层输出驾驶员的状态(正常、疲劳或打哈欠)。

(二)模型训练与优化

在模型训练过程中,本文采用了交叉熵损失函数作为优化目标,并使用Adam优化器进行参数更新。为了防止过拟合,本文还采用了数据增强和dropout等技术。此外,为了提高模型的泛化能力,本文还采用了迁移学习和微调等策略。

五、实验结果与分析

(一)实验设置

本文在NTHU-DDD数据集上进行了实验验证。实验采用了5折交叉验证的方式,即将数据集分为5份,每次取其中4份作为训练集,剩余1份作为测试集。为了评估模型的性能,本文采用了准确率、召回率和F1值等指标。

(二)实验结果

经过实验验证,本文设计的疲劳驾驶与打哈欠检测模型在NTHU-DDD数据集上取得了良好的性能。具体而言,模型在正常、疲劳和打哈欠三种状态下的准确率分别为95.2%、91.3%和88.6%,召回率分别为94.8%、90.1%和87.2%,F1值分别为95.0%、90.7%和87.

(三)结果分析

从实验结果来看,本文设计的疲劳驾驶与打哈欠检测模型在NTHU-DDD数据集上展现出了较高的性能。具体分析如下:

准确率分析:模型在正常状态下的准确率最高,达到了95.2%,说明模型对于正常驾驶状态的识别非常准确。疲劳状态和打哈欠状态的准确率分别为91.3%和88.6%,虽然略低于正常状态,但仍然达到了较高的水平。这表明模型在区分正常与疲劳、疲劳与打哈欠方面具有一定的能力。

召回率分析:召回率反映了模型识别出真实正例的能力。模型在正常状态下的召回率为94.8%,说明模型能够很好地识别出正常驾驶状态。在疲劳状态下,召回率为90.1%,表明模型能够较为准确地识别出疲劳驾驶。然而,在打哈欠状态下的召回率为87.2%,相对较低,这可能是由于打哈欠行为的多样性和复杂性导致的。

F1值分析:F1值是准确率和召回率的调和平均数,用于综合评估模型的性能。模型在正常、疲劳和打哈欠三种状态下的F1值分别为95.0%、90.7%和87.2%,与准确率和召回率的分析结果一致。这进一步验证了模型在疲劳驾驶与打哈欠检测任务中的有效性。

模型改进方向:虽然模型在NTHU-DDD数据集上取得了良好的性能,但仍有改进的空间。针对打哈欠状态的识别准确率较低的问题,可以考虑从以下几个方面进行改进:(1)优化特征提取网络,提高模型对嘴巴区域特征的捕捉能力;(2)引入更多的上下文信息,如驾驶员的头部姿态、眼睛状态等,以提高模型对打哈欠行为的识别准确率;(3)采用更先进的时序建模方法,如Transformer等,以更好地捕捉视频帧之间的时间依赖关系。 在这里插入图片描述

六、结论与展望

本文基于NTHU-DDD数据集,研究了一种新型的疲劳驾驶与打哈欠检测模型。通过对数据集进行重新标注,将疲劳状态细分为疲劳和打哈欠两种状态,并基于此数据集训练了疲劳驾驶与打哈欠检测模型。实验结果表明,模型在正常、疲劳和打哈欠三种状态下均取得了较高的准确率、召回率和F1值,验证了模型的有效性。然而,模型在打哈欠状态的识别准确率上仍有提升空间,未来可以通过优化特征提取网络、引入更多上下文信息和采用更先进的时序建模方法等方式进行改进。此外,随着计算机视觉和深度学习技术的不断发展,未来可以进一步探索基于多模态数据(如视频、音频、生理信号等)的疲劳驾驶检测方法,以提高检测精度和鲁棒性。

七、数据集地址

关注公众号,回复“第159期” 在这里插入图片描述

标签:状态,疲劳,检测,模型,156,驾驶,打哈欠,NTHU,DDD
From: https://blog.51cto.com/catCode2024/12074798

相关文章

  • 反DDD模式之“复用”
    本文书接上回《反DDD模式之关系型数据库》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景在我们软件开发过程中,“复用接口(webapi)”、“复用服务(service)”是非常常见的现象,很多老司机都会为自己设......
  • 反DDD模式之“复用”
    本文书接上回《反DDD模式之关系型数据库》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景在我们软件开发过程中,“复用接口(webapi)”、“复用服务(service)”是非常常见的现象,很多......
  • 【F156】基于Springboot+vue实现的驾校预约学习系统
    主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。收藏点赞不迷路,关注作者有好处项目描述一切系统都要遵循系统设计的最基本全过程,系统也是如此。它还要通过市场调查、需求分析报告、汇总设计、详尽设计......
  • 反DDD模式之关系型数据库
    本文书接上回《图穷匕见-所有反DDD模式都是垃圾》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景我在与开发者交流关于DDD的建模思路时,往往会遇到一个难题,就是不少经验丰富的开发者,总是带着技......
  • 反DDD模式之关系型数据库
    本文书接上回《图穷匕见-所有反DDD模式都是垃圾》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景我在与开发者交流关于DDD的建模思路时,往往会遇到一个难题,就是不少经验丰富的开发者,总是带......
  • 高级java每日一道面试题-2024年9月12日-架构篇[DDD领域驱动篇]-如何使用领域驱动设计(D
    如果有遗漏,评论区告诉我进行补充面试官:如何使用领域驱动设计(DDD)中的事务脚本模式?我回答:在Java高级面试中,讨论如何使用领域驱动设计(DDD)中的事务脚本模式是一个很好的话题,因为它不仅考察了面试者对DDD原则的理解,还检验了其在实际项目中应用这些原则的能力。事务脚本模......
  • 为什么DDD通用语言可以拯救中国足球
    DDD领域驱动设计批评文集做强化自测题获得“软件方法建模师”称号《软件方法》各章合集领域驱动设计(DDD)是革命性的创造,是划时代的洞见。其中的通用语言(UbiquitousLanguage)不仅彻底改变了软件开发的面貌,更为各行各业的发展指明了方向。今天,在中国足球叕一次让国人绝望的时......
  • 为什么需要DDD
    1、为什么贫血模型在目前国内开发市场当中很流行?(1)、大多数的时候,业务相对简单,如基于数据库表,SQL语句,结合代码当中进行CRUD就可以完成;(2)、充血模型在开发的时候,需要更多的思考以及前瞻性,全局性的思考,而大多数开发人员缺乏这样的思考习惯;(3)、开发人员大多存在对旧有......
  • 当谈论DDD到底在谈论什么
    你好,今天简单写写DDD领域驱动设计。字少总结版什么是DDD:DDD是将业务领域概念和规则映射到软件设计的方法,能打通产品、设计、编码人员的信息壁垒。DDD、ER和UML三者关系:三者在软件开发中相互关联但侧重点、范围和目的不同,DDD可结合UML,ER作用可弱化。DDD的核心概念有哪些:包括事......
  • 马老师浑元十三刀本质是DDD程序=算法+数据结构:浑元形意太极的本质是领域驱动设计(02)
    浑元形意太极的本质是领域驱动设计(01)在软件开发的旅程中,领域驱动设计就是我们的指路明灯。它照亮了我们前进的道路,驱散了迷茫的阴霾。有了领域驱动设计的指引,我们不再畏惧未知,不再害怕挑战。我们知道,无论前方有多么艰难的障碍,都有领域驱动设计为我们指明方向。领域驱动设计就......