基于matlab的人眼开度识别

我国已经成为世界汽车生产和制造大国,道路车辆的不断增加道路基础设施不断增强,但是随之而来的问题也日益严重,比如交通事故,噪声大气污染等。汽车行驶的安全性由于关乎人民生命安全,所以日益受到各国政府以及研究机构的重视。从宏观上来说,安全是任何交通出行方式所必须考虑的最重要因素。从 1899 年发生的第一次车祸到现在为止,世界上死于交通安全事故的人数已经达到惊人的 2000 多万人。我国人口众多,出行情况复杂,行人,自行车,机动车等人员和交通工具多变,这就造成了我们的道路交通事故发生频率也是世界上最高的,重大恶性交通事故死亡人数也是连年处于世界最高的位置。

    历年的数据显示,从2004年我国发生交通事故的567753起、2005年的450254起、2006年的278781起、2007年的327209起、2008年的265204起、2009年的238351起、2010年219521起、2011年210812起、……,呈下降趋势。每年的死亡人数也成下降趋势,从2004年的9.4万余人、2005年的9.8万余人、2006年的8.9万余人、2007年的8.1万余人、2008年7.3万余人、2009年的6.7万余人、2010年6.5万余人…..,虽然成下降趋势但是仍然保持较高数字。

   尽管交通事故发生的次数及引起的损失在逐年减少,但伤亡人数却一直居高不下,国家和人民的财产损失数目更是触目惊心。据统计,我国是交通事故中死亡人数最多的国家,且连续数年来一直居世界首位。交通事故分析原因表明:目前,疲劳驾驶、酒后驾驶以及超速驾驶是引发交通事故的最主要原因。其中由疲劳驾驶引发的交通事故占总数的20%左右,占特大交通事故的40%以上,可以说疲劳已成为安全行车的大敌。目前,疲劳驾驶检测的方法很多,主要包括检测驾驶员生理参数,如脑电图、心电图、肌肉状况等;检测驾驶员的行为特征,如眼皮的运动、头部运动、眼睛开闭状态等;检测交通工具的行为特征,如车速车辆行驶的轨迹是否偏离车道等。

生理学研究表明,一般情况下,当驾驶员精神饱满时,一分钟的眨眼次数为三四次,最多十几次,而当驾驶员处于疲劳状态时,眼睛的眨动次数会明显增加。同时,眼睛的眨动次数还受各种心理状态的影响,如愤感、惶恐等。驾驶员在繁华街道上行驶时眨眼次数要少于高速公路,当驾驶员疲劳到一定程度时眨眼次数会大大增加,而且驾驶员紧张的情绪也会增加眨眼次数,因此眼睛是判断驾驶员疲劳度最重要的依据,通过对驾驶员眼睛开闭状态的识别可以较准确的判断出驾驶员是否疲劳,同时实时性也比较高,容易实现。尽管目前疲劳驾驶检测系统正在向多参数检测,多信息融合系统发展,但眼睛的变化在众多识别参数中始终占据着最重要的地位,因此提高眼睛的识别准确率和快速的跟踪眼睛对发展疲劳驾驶检测系统具有重大的作用。

1.2 人眼疲劳识别研究现状

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

1.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%左右的时间所占比例,并设计了疲劳检测装置。

1.2.2 国内研究现状

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

1.3 课题内容

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

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

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

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

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

3.1.1 目前研究进展

人脸区域分割作为人脸信息处理技术的第一步, 对于整个人脸信息研究有着极其重要的作用。本节从目前进展以及存在的问题两个方面来对人脸区域分割展开论述。

当前出现的人脸区域分割算法主要集中在肤色分割这一领域, 通过在图象中分割肤色区域来找到人脸。肤色检测是在图象中选取对应于人体皮肤象素的过程。近年来对图象中肤色区域分割的研究日趋活跃, 与人有关的各种机器视觉系统中, 肤色检测技术正得到越来越多的应用, 具有巨大的市场潜力。目前比较典型的应用包括人脸检测与识别、表情识别、手势识别、基于部分内容的图象与视频检索, 新的人机接口技术、肌体检测和黄色图片过滤等方面。

目前的人脸区域分割主要依赖于肤色在某些特定色彩空间中聚类性较好这一特点展开。众多研究表明不同人的肤色在色度上很接近只是在亮度上差异较大。这也就促使研究者们不断寻找一种手段使得图象的色度信息和亮度信息分离。最后集中在了色彩空间转换上, 因为某些色彩空间能够很好的分离色度和亮度信息。

色彩空间又叫做色域,是表示颜色的一种数学方法,人们用他来指定和产生颜色, 使颜色形象化。实际就是各种色彩的集合, 色彩的种类越多, 色彩空间越大,能够表现的色彩范围越广。对于具体的图象设备而言, 其色彩空间就是它所能表现的色彩的总合。颜色空间中的颜色通常使用代表三个参数的三维坐标来指定,这些参数描述的是在颜色空间中的位置。常见的颜色空间模型包括:

以及

模型。一定程度上

模型都能够实现亮度和色度的分离, 但是考虑到以下几点, 目前用于人脸肤色分割的模型主要是

的优点有:具有与人类视觉感知过程相类似的构成原理;不仅具有能够将亮度和色度分离的优点, 而且其计算过程和空间坐标表示形式比较简单;肤色的聚类特性较好。

3.1.2 肤色分割纯在的问题

利用肤色分割进行人脸区域分割的方法由来己久, 而且取得了很大的进展,但是仍然存在很多难以解决的问题。

对于光线不均匀的图片, 很难得到理想的分割结果。由于光线的问题很容易使得脸部肤色亮度不均匀, 这也就难以按照肤色模型的标准来实施检测。比如利用

空间实施分割的时候, 大量实验表明, 在光线不均的情况下很容易将高亮度区域的肤色检测为非肤色, 而在低光区域很容易将非肤色检测为肤色。可以说光线问题是制约肤色分割最大的瓶颈, 尽管研究者们提出了各种方法对光线进行补偿, 但效果并不理想。

对于亮度均匀但背景色彩和肤色非常接近的图片, 也很难实施有效地检测。肤色分割主要是利用了皮肤的颜色, 一旦背景中存在和皮肤颜色接近且轮廓相似的物体, 这类方法很难作出辨别。

在一幅目标图象中, 很难保证只存在一个人脸区域, 也可能会出现其它的肤色区域, 比如肩膀、手臂等。如何正确区分肤色分割所分离出来的这些区域也是个很大的难题。

对于脸部佩戴一定饰物的情况, 比如眼镜、胡须等的情况, 由于这些物体的存在而使得脸部肤色不连贯也会给检测带来难度。

3.2 图像网络分析人脸识别

由于肤色分割方法的一些缺陷,这次题目采用的是基于图像网络分析来进行人脸识别一定程度能解决以上存在的一些问题,在识别了面部的大致区域之后为下面的人眼识别做出铺垫。

对于基本的目标图像而言,由于背景的辅助程度的不同,用肤色识别的方法很有可能在识别的过程中把一些背景当做面部来进行识别了。在对图像进行分析的过程中,将目标图像进行网络分割,对分割之后的图像的小方块首先进行去噪灰度化的常规预处理之后,对预处理之后的分割的小块图像分别进行人脸识别,判断该小块图像是否是位于人脸部位。将识别的小方块整合就是整个的人脸识别的区域。而且如果存在误差的情况下对眼睛的图像判断率相对较高。步骤如下:

第一步:利用前面一章已经介绍的中值滤波算法对图像进行基本的预处理,使得图像的基本属性满足课题的具体要求。然后利用二值化对所得图像进行处理,在二值化的图像中进行进一步的操作。

第二步:对图像进行小块分割,这次题目我对目标图像进行的是10x10的分割。讲图像分割成100个小方块,对于不同的图像,可以进行不同的小方块分割以适应题目的需要。然后对每个小方块的像素进行检测,对黑色像素的比例进行统计,对满足面部识别的小方块进行标记,然后进行列变换和行变换,对后来的小方块进行相同的检测,最后把满足需求的小方块进行整合,即为人脸的识别区域。

图3-1是具体识别的结果:

   

 

其中,a列图是原始图像;b列是对图像进行网络分割之后;c列是对原始图像二值化之后所得图像;d列是识别出的人脸大致区域。可以看出识别的准确度还是比较高的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/8035.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Spring Boot 搭建 WebSocket 服务器实现多客户端连接

在 Web 开发中,WebSocket 为客户端和服务端之间提供了实时双向通信的能力。本篇博客介绍如何使用 Spring Boot 快速搭建一个 WebSocket 服务器,并支持多客户端的连接和消息广播。 1. WebSocket 简介 WebSocket 是 HTML5 的一种协议,提供了客…

详细分析Java8中的Duration时间类基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 拓展Demo 前言 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 Duration 类是 Ja…

Day14买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如…

【星闪EBM-H63开发板】小熊派的开发板实物

前几天介绍了,我参加了小熊派的星闪EBM-H63开发板内测活动。今天去快递站取回来开发板,让我们看看实物照片。 下面是开发板的正面照片,绿色的部分是核心板,蓝色的部分实际上是个底板,引出了串口的管脚,再加…

zookeeper的选举机制

zk中有两种角色:Leader 和 Fllower Leader是自己的集群各台电脑投票选举出来的。 事务:一通操作,要么同时成立,要么都不成立。 举例:Jack 和 Rose Rose 给 Jack(小李子) 转钱 Rose -100 J…

六:java 基础知识(6)-- Maven项目管理

目录 1. 引言 1.1 什么是 Maven 1.2 Maven 的优势 2. Maven 基础 2.1 Maven 的基本概念 2.2 Maven 的工作原理 2.3 Maven 的安装与配置 3. Maven 项目结构 3.1 Maven 项目的标准目录结构 3.2 POM 文件(pom.xml)概述 3.3 POM 文件的基本配置 4…

Centrifuge 5425R - 微量离心机技术数据详情——艾本德

离心机,作为实验室中的关键设备,扮演着分离、浓缩和纯化样品的重要角色。而在众多离心机型号中,Centrifuge 5425R 以其出色的性能和多功能性,成为了众多科研人员的首选。下面,我们就来详细了解一下这款微量离心机的技术…

【06】A-Maven项目SVN设置忽略文件

做Web项目开发时,运用的是Maven管理工具对项目进行管理,在项目构建的过程中自动生成了很多不需要SVN进行管理的文件,SVN在对源码进行版本管理时,需要将其忽略,本文给出了具体解决方案。 SVN设置忽略Maven项目中自动生成…

TDengine 签约蘑菇物联,改造通用设备工业互联网平台

在当前工业互联网迅猛发展的背景下,企业面临着日益增长的数据处理需求和智能化转型的挑战。通用工业设备的高能耗问题愈发突出,尤其是由这些设备组成的公辅能源车间,亟需更高效的解决方案来提升设备运行效率,降低能源消耗。为此&a…

革新汽车装配产线:MR30分布式IO模块引领智能制造新时代

在日新月异的汽车制造行业中,每一分每一秒的效率提升都意味着成本的降低与市场竞争力的增强。随着工业4.0时代的到来,智能化、自动化已成为汽车产线升级转型的关键词。在这场技术革命的浪潮中,MR30分布式IO模块以其高效、灵活、可靠的特点&am…

Qt第三课 ----------容器类控件

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

CodeQL学习笔记(4)-CodeQL for Java(程序元素)

最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比&…

动态规划28:376. 摆动序列

动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:376.…

【zlm】h264 vp9 尝试研究

目录 编译与使用libvpx 打包lib 解决方案一 libvpx直接引用 IVF格式 编译libvpx windows下编译libvpx 参考文章 编译与使用libvpx 我们用最新的: x86_64-win64-vs16 最简单的视频编码器:编译(libx264,libx265&#xff…

顺序表专题

目录 0. 什么是数据结构? 0. 为什么需要数据结构? 1.顺序表的概念及结构 2.顺序表分类: 3.动态顺序表的实现 4. 顺序表的应用 5. 顺序表的问题及思考 0. 什么是数据结构? 数据结构是由“数据”和“结构”两词结合而来 什…

关于使用svgIcon 菜单折叠 显示文字情况

使用的工具&#xff1a;vue2&#xff0c;ant design vue 问题&#xff1a; **解决&#xff1a;在<svg-icon> 外面包一层 <a-icon> ** 使用: 在 main.js 中&#xff1a;

【JAVA毕业设计】基于Vue和SpringBoot的师生健康管理系统

博主说明&#xff1a;本文项目编号 T 052 &#xff0c;文末自助获取源码 \color{red}{T052&#xff0c;文末自助获取源码} T052&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

双向链表专题

双向链表 1. 双向链表的定义和结构2. 双向链表的实现2.1 结构声明2.2 双向链表的初始化2.3 双向链表的打印2.4 尾插2.5 头插2.6 在指定位置之前插入2.7 在指定位置之后插入数据2.8 尾删2.9 头删2.10 删除指定位置的节点2.11 查找2.12 链表的销毁 3. 双向链表的细节 &#x1f52…

发票真伪查验方式-python数电票批量查验接口、发票ocr文字识别提取

在当今的商业环境中&#xff0c;确保交易的安全性和透明度是每个企业追求的目标。随着电子商务的迅猛发展&#xff0c;发票管理成为了企业财务管理中不可或缺的一环。面对海量的电子发票&#xff0c;企业财务也无需惊慌&#xff0c;翔云发票查验API接口&#xff0c;可以为企业提…

html+js+css实现拖拽式便签留言

前些日子在网上冲浪时&#xff0c;看到一个便签式留言墙&#xff0c;让人耳目一新。心想这个看着不错&#xff0c;额想要。于是便开始搜寻是否有相应开源插件&#xff0c;想将其引入自己的博客中。但是搜寻了一圈&#xff0c;都没有符合预期的,要么功能不符合。有的功能符合&am…