基于Matlab平台人脸面部表情识别的疲劳检测
基于面部特征识别的疲劳检测系统设计
1.研究背景与意义
-疲劳检测在现实生活中具有很大的意义和实用价值,也是一个值 得进一步完善研究的课题。
研究目标
本设计目标在于利用Matlab强大的图像 处理能力和实用便捷的编程方法,通过处理包含 人脸的视频图像,识别分析面部特征,从而得到 比较准确的疲劳状况。
2.系统软件设计框架
基于肤
色的人
疲劳检
检测人
眼的闭
合状态
脸检测
夫变换
的人眼
定位
图2-1为待处理的原图
图2-2为在HSV色彩空间中提取到的肤色范围。
2.1基于肤色的人脸检测与提取算法流程
把图2-2中的肤色范围设置为白色,非肤色范围取黑,并且进 行内部填充,可以得到如图2-3所示的人脸范围的黑白模版。
把图2-3与原图2-1乘操作就可以得到整个人脸范 围
把得到的人脸图像转换为灰度图像,如图2-5
人脸灰度图
图2-5
使用Prewitt算子进行边缘检测,得到人眼的边缘曲线如图2-6所示。
边缘检测
由边缘图像进行霍夫变换检测圆,得到人眼的边缘曲线如图2-7所示。
眼睛检测
得到的人眼边缘曲线不是很完整,因此做一下膨胀处理,得到人眼范 围,便于统计大小信息,如图2-8所示。
眼睛检测2
2.2基于霍夫变换的人眼定位与统计
不同闭合度人眼检测结果对比如图2-9
Figure 8
Figure 9
Figure 10
File Edit View Insert Tools Desktop Window Help 小
□ he 惇及&勞?勾疙» File Edit View Insert Tools Desktop Window Help 号 □ Q B 以敏氏轡® 疙》 File Edit View Insert Tools Desktop Window Help 胃 □岸口匱鼠A閱⑥着
边缘检测
眼睛检测
File Edit View Insert Tools Desktop Window Help』
□券口暑風0博您疙
Figure 6
File Edit View Insert Tools Desktop Window Help』
□ Q昌時風纹即®着》
Figure 1
File Edit View Insert Tools Desktop Window Help 小
□渗口昌惇毆0門® M »
人脸灰度图
边緣检测
眼睛检测
画出人眼
变化曲线
对徂到的紹验謳如
□ 5 10 15 20 25 30 35 40 45 50
图像帧&时间
序1龍0所示。+ 一徂到人眼詩1杏的帏新与总数
人眼大.小变化曲统
图 2-10
-本设计简单易行,但是运 行速度比较慢,主要是霍 夫变换运算量比较大。为 了减少运算量,可以进一 步减少人眼搜索范围。
•对于人脸,可以确定,人 眼一般位于头部中间偏上 的位置,加上是下方的脖 子等区域,可以认为人眼 在头部上半部分,如此就 可以把搜索范围减少一半, 运算速度也可以加快一倍。
•减小人脸范围后实验结果:
人脸灰度图
边缘检测
眼睛检测2
眼睛检测
=」」.一
• HSV色彩空间
-色彩空问,即色彩模型,是指颜色在三维空问中的排列方式。肤色由于其 特殊性,在不同的色彩空间表现形式也不同,对肤色的辨识能力和处理效 果也不同。
-HSV色彩属性模式是三原色光模式的一种非线性变换,根据色彩的三个基 本属性:色相、饱和度和明度来确定颜色。色相(H)是色彩的基本属性, 取0-36。度的数值。饱和度(S)是指色彩的纯度,明度(V )也叫“亮 度”,取 0T00%。
-在对色彩信息的利用中,HSV模型的优点在于它将亮度和反映色彩本质特 性的两个参数分开。在提取一类物体(如人脸)在色彩方面的特性时,可 以获得比较好的效果。
-边缘检测算子
- 几种边缘算子处理实验待测图片的效果对比:
SCiM算子
prewitt 算子
£an質算子
I 口 g算子
-膨胀
-膨胀是将与目标区域接触的背景点合并到该目标中,是目标边界向外部 扩张的处理。膨胀可以用来填补目标区域中存在的某些空洞,以及消除 包含在目标区域中的小颗粒噪声。
-由于得到的人眼边缘不是很完整,难以统计大小信息,需要做膨胀处理。
The term watershed refers to a ndge that …
•眨眼与疲劳
-眨眼,是一种快速的闭眼动作,称为瞬目反射。
•据统计,正常人平均每分钟要眨眼十几次,通常2〜6秒就要 眨眼一次,每次眨眼要用0.2〜0.4秒钟时间。20-40岁之间 的正常人每分钟眨眼约20次,而在睁眼凝视变动快速的电脑 屏幕时,或者人的注意力相对十分集中时,眨眼次数可能会减 少到每分钟4-5次。
•而人出现疲劳后,眨眼频率往往会加快,每次眨眼经历时间也 会相应的变长,因此可以依据人的眨眼频率判断人是否疲劳。
肤色在HSV色彩空间的子空间
S > 10
V > 40
式2-1
<S < 110 - H - 0.1W
H < 75 - 0.4V
0.08(100 - V)H + 0.5V (H > 0)
0.5H + 35 (H < 0)
研究背景与意义
比如说疲劳驾驶,就是诱发严重交 通事故的重要原因之一。据公安交管部门统计, 60%以上的交通事故与疲劳驾驶有关,防范疲劳 驾驶刻不容缓。这不但需要驾驶员自己做到尽量 控制不疲劳驾驶,也需要一个实时的疲劳检测系 统监测驾驶员的疲劳状态,随时提醒驾驶员保持 清醒,才能最大限度的防止疲劳驾驶的出现,减 少交通事故的发生。
•霍夫变换(Hough变换)
-霍夫变换(Hough变换)是一种用于区域边界形状描述的方法, 常常被用于直线段、圆和椭圆的检测。其基本思想是将图像 的空间域变换到参数空间,用大多数边界点满足的某种参数 形式来描述图像中的曲线。Hough变换检测技术根据局部度 量来计算边界曲线参数,因而,对于区域边界噪声干扰或被 其它目标遮盖而引起边界发生间断的情况,具有比较好的容 错性和鲁棒性。
•设计中采用了霍夫变换检测圆的方法定位人眼的位置,得到 人眼的轮廓,进而确定人眼,
人眼大小归一化
在所有的帧中找到人眼区域面积最大的值ma x,以此为基准,其他值依次除以max得到 相对大小值n,n取值理论范围在0-1之间, 但是由于闭眼时仍然存在一些面积信息,故 得到的n一般都是大于0,实验中可以取n 小于0.3就可以判断为闭眼状态。
-人脸检测
•人脸检测是指在输入图像中确定所有人脸(如果存在)的位置、 大小和姿态的过程。人脸检测系统输入的是可能包含人脸的图像, 输出的是图像中是否存在人脸和人脸数目、位置、尺度等信息的 参数化描述。
- 常见的人脸检测方法有:基于统计的方法,基于模版匹配的方法, 基于知识匹配的方法等。其中基于知识匹配方法又可以分为一下 三种规则:轮廓规则,器官分布规则,肤色纹理规则和对称性规 则。
- 本次设计主要采用了基于肤色纹理规则的知识匹配方法进行人脸 检测与提取。
•人眼定位
-人眼定位是在包含人脸的图像中,比较准确的找到人眼的位置, 并且提取相关的人眼信息。
•常见的人眼定位方法包括一下四种:
- 1)模版匹配法
- 2 )霍夫变换法
- 3)灰度投影法
- 4)对称变换法
基于Matlab平台人脸面部表情识别的疲劳检测相关推荐
- 基于MATLAB的人脸考勤识别系统
基于MATLAB的人脸考勤识别系统 摘 要 人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证.刑侦破案.视频监视.机器人智能化和医学等领域,具有广阔的应用价值和商用价值.人脸特征 ...
- 超详细基于MATLAB的人脸考勤识别系统
基于MATLAB的人脸考勤识别系统 摘 要 人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证.刑侦破案.视频监视.机器人智能化和医学等领域,具有广阔的应用价值和商用价值.人脸特征 ...
- 基于MobileNetv3实现人脸面部表情识别
前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...
- 基于MobileNet的人脸表情识别系统(MATLAB GUI版+原理详解)
摘要:本篇博客介绍了基于MobileNet的人脸表情识别系统,支持图片识别.视频识别.摄像头识别等多种形式,通过GUI界面实现表情识别可视化展示.首先介绍了表情识别任务的背景与意义,总结近年来利用深度 ...
- 基于MATLAB的人脸识别系统(包含传统/深度学习方法)
基于MATLAB GUI的人脸识别系统(包含传统/深度学习方法) 人脸检测与识别作为计算机视觉研究的核心内容之一,是一个不断发展的领域,并且还是模式识别.机器学习和数据挖掘等相关学科交叉研究的热点,已 ...
- 基于matlab的人脸五官边缘检测方法,基于MATLAB的人脸识别系统的设计
基于MATLAB的人脸识别系统的设计(论文12000字,外文翻译,参考程序) 摘要:本文基于MATLAB平台设计了一款简单的人脸识别系统,通过USB摄像头来采集图像,经过肤色方法进行人脸检测与定位,然 ...
- 人脸识别系统 matlab,基于MATLAB的人脸识别系统的设计
基于MATLAB的人脸识别系统的设计(论文12000字,外文翻译,参考程序) 摘要:本文基于MATLAB平台设计了一款简单的人脸识别系统,通过USB摄像头来采集图像,经过肤色方法进行人脸检测与定位,然 ...
- 基于MATLAB的人脸识别系统[创新元素,界面GUI]
第一章 绪论 本章提出了本文的研究背景及应用前景.首先阐述了人脸图像识别意义:然后介绍了人脸图像识别研究中存在的问题:接着介绍了自动人脸识别系统的一般框架构成:最后简要地介绍了本文的主要工作和章节结构 ...
- 基于MATLAB平台实现红绿灯(交通灯)识别
基于MATLAB平台实现红绿灯(交通灯)识别. 主要处理流程可以分为预处理(包括灰度化,锐化,滤波等),目标红绿灯从背景中提取分离,颜色识别三个步骤. 具体实现效果如图所示. ID:368067236 ...
最新文章
- 这个AI模型用最少的训练数据学习对象之间的关系
- init 0-6 (启动级别:init 0,1,2,3,4,5,6)
- Linux虚拟机设备无法连接到它的理想主机控制器
- Python 经典模块可能都学过,10道题测试你会不会用?
- 「offer来了」进程线程有啥关系?10个知识点带你巩固操作系统基础知识
- [jQuery] jQuery的attr和prop方法有什么区别?
- 别急,MIUI 11还有惊喜!下一代MIUI项目已开拔
- Spring Boot 学习之Controller
- Python可以这样学(第七季:pillow扩展库图像编程)-董付国-专题视频课程
- 图像处理、语音处理的应用及前沿技术_自主知识产权的2微米级3D视觉相机应用于高精度和高反光物体的缺陷检测...
- Spring Cache 介绍
- long 雪花算法_Snowflake 雪花算法
- 如何对系统日志中事件 ID 9、事件 ID 11 和事件 ID 15 错误消息进行故障排除
- 2012、2014、2016、2020年最全数据合集产学研专题2.0
- Android快速入门之使用AdapterView展示不同风格的列表
- 插件框架篇一之scrollbars
- JAVA的发展方向以及前辈的一些看法
- 计算机专业屏幕尺寸,简单查看电脑屏幕尺寸、配置
- 2020年软件评测师真题精选
- ATFX:离岸人民币“破7”,开始还是结束?
热门文章
- Paper:《ELMO:Deep contextualized word representations》翻译与解读
- 我的世界java版怎么用结构方块_结构方块怎么用 我的世界结构方块使用方法-游侠网...
- flutter刷新页面_Flutter 数据绑定, list刷新加载, 加载webView
- 浅谈vue请求数据放在created里面好还是放在mounted里面好
- Appirater激励用户为你的app评分
- matlab 累积距平,近56年长春市气温变化特征研究
- 你永远不知道,孩子的下一句话能有多出其不意!
- bugku- WEB计算器
- extract free dense labels from CLIP
- NetworkX创建图