基于MATLAB的人眼开度疲劳检测识别

一、课题背景

目前,随着人们生活水平的提高,各国人民汽车保有量也越来越多,伴随而来的是交通事故也在不断增多。研究表明,疲劳驾驶是造成交通事故日益严重的重要原因。开展驾驶员疲劳检测和预警的研究工作,有着十分重要的现实意义。

本文研究的主要内容包括:人脸检测、人眼定位、眼睛特征提取和状态识别、疲劳程度的计算等算法的原理及实现。

研究旨在协助驾驶员提高行车安全, 减少疲劳驾驶带来的隐患。检测汽车驾驶员的唤

醒状态, 若得到疲劳信息, 则发出警报。边缘检测算法, 边界跟踪算法以及人眼定位算法以实现对驾驶员的监测; 设计中定义眼睛闭合度的参数, 衡量所采集到的眼睛图像的纵横之比, 使系统对不同的人或同一个人的不同状态进行测量, 保证实际应用价值。

关键词:驾驶安全;边缘检测算法;Hough变换;人眼定位算法;闭合度参数


二、 人眼疲劳识别研究现状

目前眼睛的识别方法基本上分为两类:一是基于被动图像处理的传统方法,此方法主要包括基于模板的方法、基于外观的方法和基于特征的方法。二是基于主动红外的方法。传统的被动图像处理方法主要是通过探测眼部与脸部其他部位的外观或形状差异来实现的,受外界光照条件的影响很大,而且在夜间不可以识别,所以目前主要的研究方法是基于主动红外的方法。

2.1 国外研究现状

目前国外的许多国家都对汽车安全方面投入了大量的资金,用来解决交通安全的问题。许多高校和科研机构也都在该方面进行了大量的研究,并得了丰硕成果。进入 21 世纪后,计算机视觉和集成电路技术的发展给驾驶疲劳检测的研究拓宽了空间,之进入了黄金时期。下面介绍几种国外的典型试验产品。

脑电图(EEG)信号检测:澳大利亚 University of Sydney 健康研究中心在采集了不同驾驶员的脑电图信号之后,利用人工神经网络对其进行处理,主要是提取不同波段不同脑电图的典型特征并对其进行分类,并由此来判断驾驶员是否疲劳。另外,为了准确、快速的得到脑电图信号,Tran 等人利用集中趋势测量法所定义的二阶差分结构和采样熵对采集的脑电图信号进行非线性分析和处理,从而判断驾驶员是否处于疲劳状态。新西兰研究人员发明的监控报警器用于监控驾驶员在驾驶过程中脑电波以及眼睛的活动情况,可以测定驾驶员是否处于疲劳状态以及驾驶员的脑意识是否出现停顿,必要时会自动向驾驶员发出警报。日本 canon KK 提供的作为脑电波连接刺激发生器的防瞌睡装置安置于被检者头部,当由脑电波检测确定被检者处于瞌睡状态时,即发出语音报警。

心电图(ECG)信号检测:Calcagnini 等人发现心电图信号的几个典型特征在驾驶员疲劳和清醒时有着明显的不同,比如高频能量、低频能量、超低频能量及低频能量/高频能量的比率等等,利用心电图可以判断驾驶员是否疲劳。另外,韩国 Jeong等人同样在采集驾驶员的心电图信号之后,分析驾驶员的心率变化情况进而来判断驾驶员是否疲劳。日本先锋公司(Pioneer)于 1994 年研究并开发出了一款防止驾驶员开车时打瞌睡的系统。该系统设计如下,当驾驶员转动方向盘的时候会握住一个纸状心跳感应器,该感应器通过检测心跳速度的变化来确定驾驶员是否疲劳或者瞌睡,一旦认定驾驶员有睡意,则提前 15min 以改变音乐节奏等方式提醒驾驶员注意。丰田汽车公司(Toyota Motor Corporation)也发明了一款防瞌睡装置,该装置通过心搏传感器来判断驾驶员是有瞌睡,一旦确认驾驶员有睡意,则采用震动驾驶员座椅的方式来唤醒驾驶员,该装置成本低,结构也比较简单,并且容易实现。但是因为每个驾驶员在处于不同状况时,心率变化也不一样,很难形成统一的规律来判定,因此,基于心电信号来监测疲劳的方法更多的是个辅助方法。

PERCLOS参数检测:Wierwille 等人于 1994 年针对驾驶员的眼睛闭合程度在驾驶模拟器上进行了一系列实验,实验结果表明,在单位时间内(一般为 1min 或者 30s)眼睛的闭合时间可以在一定程度上反映驾驶员的疲劳状态。在这基础上,卡内基梅隆大学(Carnegie Mellon University)经过反复实验,提出了“PERCLOS”作为检测驾驶员是否疲劳的指标参数,即单位时间内(一般为 1min 或者 30s)眼睛闭合 80%左右的时间所占比例,并设计了疲劳检测装置。

2.2 国内研究现状

我国的驾驶疲劳研究起步较晚,到目前为止,还没有很成熟的产品问世。这方面的研究主要以高校居多,目前的检测方法主要有:上海交通大学的杨渝书、姚振强、焦昆等人模拟驾驶员疲劳条件下,通过采集驾驶员的疲劳时心电图,肌电图来进行的数据分析,评估驾驶员的疲劳状况;中南大学对驾驶员驾驶时的疲劳检测方法进行了研究,设计出了一套眼睛跟踪系统,可达到实时的跟踪效果,同时研究了疲劳时眼睛的闭眼时间、快眨眼次数、慢眨眼时间和次数的特征模式。国防科技大学的吴沫等将驾驶员-汽车-道路作为一个闭环系统,利用计算机视觉的方法研究出一个车辆跑偏预警系统,分析了驾驶员的行为与车辆运动之间的关系;另外吉林大学的施树明对驾驶员的嘴巴进行了深入研究,通过 Fisher分类器提取其特征作为神经网络的输入,分析驾驶员的正常行为、说话、疲劳等特征。上海交通大学的石坚等人也采用神经网络的方法,与其之前所不同的是,他们采集的驾驶员驾驶时方向盘、踏板作为输入特征。总体看来,驾驶员疲劳检测是个复杂的过程,我国的驾驶疲劳检测的方同发达国家相比,还存在较大的差距。研究表明,眼睛状态和疲劳有很大的关联性,现阶段随着数码相机和网络摄像头的价格越来越便宜,通过监测驾驶员的眼睛状态来判断驾驶员是否疲劳的技术正逐步成为热点。

三、算法流程

本文从图像处理的角度出发,研究了图像中的面部识别,人眼定位,人眼开度状态识别,基于已测人眼状态进行疲劳检测以上几个方面进行研究。

图像中的面部识别。首先通过摄像头获取一幅带人脸的图像,对图像进行处理,利用中值滤波的方法对获取的图像去噪,在对滤波后的图像灰度化,利用图像网络处理识别出人脸区域,图像网络处理识别人脸是一种常见的人脸识别方法是对人脸图像中的一些像素值进行分析得出图像中人脸区域。

  1. 人眼的定位。

面部识别的部分已经检测出了人脸,在检测的人脸上划分眼睛的大致区域,对该区域进行积分投影之后可以精确地定位眼睛的位置。然后利用边缘检测算法和Hough变换找到眼睛的位置。

  1. 人眼开度状态识别。

判断一个人是否处于疲劳状态,计算检测到的人眼的在横向和纵向上的实际所占像素值,计算眼睛的纵横比,这个比值对同一个人的睁眼或闭眼状态来说是相对固定的。但不同的人在这个值上都有一个共同点即眼睛闭合时值偏小( 小于0. 3) , 由此做出的判断适用于大多数的人。

  1. 疲劳的判断。

由于摄像头获取的图像是一帧一帧获取的,对获取的图像的所有帧进行相同的处理之后,判断眼睛的开闭状态在所有的图像之中所占的百分比,与在眼睛疲劳情况下眼睛开闭状态的百分比进行比较判断是否处于疲劳状态。


四、实现过程

1、人眼定位

74fd1780d987330b6a23e65d3bb033c7.png

d1c49bdc78327421de0a9f1b5876cc9b.png

2疲劳检测


4e92928a6415925c2cf689721856b699.png




ebc283e324a68e491c5664e34276850e.png

当实验中所测帧数里面,闭眼状态的帧数大于总帧数的40%,就能判定已经处于疲劳状态。故以此为依据来进行一段视频流进行取帧的检测结果。

实验中去了两组50帧的图像具体数值记录与表4-6:

上图中a检测开度小于设定的阀值,故其为睁开的状态,b检测的开度大于设定的阀值,故其测试为闭合的状态。

实验分组闭合帧数未闭合帧数闭合帧数百分比未闭合帧数百分比检测结果
第一组311962%38%疲劳
第二组242648%52%疲劳
第三组163432%68%非疲劳


由实验结果可以分析得到,第一组实验闭合状态所占帧数62%大于限定值40%故判断其为疲劳状态;第二组实验闭合状态占总实验数据的48%故也处于疲劳状态;第三组实验中闭合状态帧数占总帧数的32%小于限定值40%故此实验者处于非疲劳状态。

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的matlab大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值