基于图像处理的疲劳检测系统结题论文.doc

上传人:灯火****19 文档编号:138003050 上传时间:2020-07-13 格式:DOC 页数:47 大小:1.21MB
返回 下载 相关 举报
基于图像处理的疲劳检测系统结题论文.doc_第1页
第1页 / 共47页
基于图像处理的疲劳检测系统结题论文.doc_第2页
第2页 / 共47页
基于图像处理的疲劳检测系统结题论文.doc_第3页
第3页 / 共47页
基于图像处理的疲劳检测系统结题论文.doc_第4页
第4页 / 共47页
基于图像处理的疲劳检测系统结题论文.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《基于图像处理的疲劳检测系统结题论文.doc》由会员分享,可在线阅读,更多相关《基于图像处理的疲劳检测系统结题论文.doc(47页珍藏版)》请在金锄头文库上搜索。

1、教育部国家大学生创新性实验计划项目 类别:国家创新基金基于图像处理的疲劳检测系统结题论文项 目 时 间: 2009年11月2010年 11月 项目负责人: 肖永龙 承 担 单 位: 空天科学技术研究院 指 导 老 师: 任玉琢 摘要疲劳驾驶是当今交通安全的重要隐患之一。驾驶人在疲劳时,其对周围环境的感知能力、形势判断能力和对车辆的操控能力都有不同程度的下降,因此很容易发生交通事故。因此,研究开发高性能的驾驶人疲劳状态实时监测及预警技术,对改善我国交通安全状况意义重大。本系统旨在准确判断得到驾驶员的疲劳程度,判断PERCLOS值是最具有潜力和最准确的疲劳测定方法之一,其中PERCLOS指在一定的

2、时间内眼睛闭合时所占的时间比例,通过对驾驶室中的驾驶员快速准确的定位其眼部区域,接着得到其眼睛状态,最后计算得到PERCLOS值。根据PERCLOS值的判断标准得到驾驶员的疲劳程度,用以警示驾驶员。关键词:司机疲劳;疲劳检测;PERCLOS目录第一章引言11.1.选题背景11.2.系统简介1第二章整体32.1.图像获取32.2.人眼面积的显示42.3.参数的显示42.4.状态信息42.5.系统的功能5第三章读取视频模块6第四章图像处理模块74.1.图像识别方法74.1.1.肤色识别74.1.2.AdaBoost算法84.1.3.AdaBoost算法训练94.1.4.Haar-like生成简单分

3、类器104.2.训练自己的分类器104.3.识别人脸模块124.4.定位人眼模块13第五章参数计算模块155.1.计算人眼面积模块155.2.perclos值计算165.2.1.perclos的原理或概念165.2.2.我们计算perclos的方法17第六章线程管理模块18结束语20参考书目21附录22第一章 引言1.1. 选题背景疲劳驾车是引发道路交通事故的一个重要因素,从国内历年交通事故统计的大量案例分析中可得出结论:因司机疲劳驾驶所造成的道路交通事故约占总数的15 %至20 %。而随着交通运输业的不断发展,这一比例可能还会继续上升。交通事故给国家造成巨大的经济损失和人员伤亡,给个人造成难

4、以想象的后果,增加了社会的不安定因素,因而研究预防检测疲劳的方法意义深远而重大。目前疲劳的生理特征的检测方法较多,其中PERCLOS指在一定的时间内眼睛闭合时所占的时间比例。美国联邦公路局曾经检测PERCLOS、头部姿势的变化、脑电图等方法的测试结果与疲劳的关系程度。结果显示PERCLOS与客观疲劳程度的相关系数最大,可以说PERCLOS是最具有潜力和最准确的疲劳测定方法之一。目前,PERCLOS方法已被公认为最有效的、实时的驾驶疲劳检测方法,具有实时、非接触式检测的特性。因此,研制基于PERCLOS和图像处理疲劳检测系统,进行驾驶员疲劳状态的检测,在驾驶员疲劳驾驶时进行报警提醒,对于提高行车

5、安全,降低交通事故发生率具有重要意义。当然,基于图像处理的疲劳检测系统,也可以对工厂工人的疲劳程度进行实时检测,提早发现工人的疲劳状况,这不仅可以为决策者做出决策提供依据,更可以提高工作效率,提高产品质量,还可以更好地保护工人的身体健康,对工厂和工人来说,进行疲劳检测也具有重大意义。1.2. 系统简介该疲劳检测系统主要是通过从摄像头中读取图像,然后对所得到的图像进行人脸定位,人眼定位,人眼面积的计算,perclos值的计算以及疲劳判断,进而实现对人疲劳状态的实时检测及报警的功能,满足疲劳检测的基本需求。该疲劳检测系统的主要框架如图1-1:图1- 1包括图像读取,图像处理,参数计算这三个模块,其

6、中在图像处理模块中,主要是对读取到的图像进行人脸定位和人眼定位,在计算参数时,主要是计算人眼的面积,并根据计算出来的人眼面积系列,进行perclos值的计算。在该系统中,每个模块都放在一个线程中运行,线程间的通信采用windows的消息循环机制,数据通信通过传递指针的方式实现。通过一定的线程管理激活机制,使得系统得以实现对人疲劳状态的实时检测及报警的功能,满足疲劳检测的基本需求。系统开发环境:l VC+2008l OpenCV2.0l .NET Framework 该系统的运行环境:l .NET Frameworkl windows 系统第二章 整体该疲劳检测系统如图2-1:图2- 1主要有视

7、频图像区,参数区,操作区及人眼面积波形显示区组成,当操作者打开程序,单击开始按钮后,程序便自动进行疲劳检测,定位人脸,定位人眼,计算人眼面积,计算perclos值,如果单击打开波形按钮,则会打开人眼面积波形窗口,实时显示当前人眼面积的波形。另外,该系统还提供暂停功能,零时关闭系统中正在运行的线程,以降低程序对系统的消耗。2.1. 图像获取图2- 2当程序打开后,单击开始按钮,系统自动从摄像头中读取图像,并实时显示在图像区,直到系统暂停或关闭。2.2. 人眼面积的显示图2- 3当系统开始工作之后,单击打开波形按钮,系统会另开一个窗口,用于实时显示当前人眼面积的波形,其中横轴为时间轴,纵轴为经过处

8、理的面积轴。图像中每一个波谷都代表着一次眨眼。当单击关闭波形按钮时,系统会关闭该窗口,暂时关闭波形的显示。2.3. 参数的显示图2- 4当正常工作时,系统会对人眼的面积进行实时的计算和统计,实时计算perclos值,并在参数区进行显示,系统会取5次perclos值作为一次有效的perclos值,当该perclos值0.15时,便认为是疲劳状态,并给出相应的提示和警告。2.4. 状态信息图2- 5图2- 6图2- 7图2- 8在状态栏中,显示当前检测到的状态信息。当刚开始检测时,状态栏显示灰色,提示信息为:正在检测(如图2-6);如果检测信息正常,则状态中显示为绿色,提示信息为:正常(如图2-7

9、);如果当前人perclos值大于0.15,则状态中显示为红色,并给出提示,请注意休息(如图2-8)。2.5. 系统的功能图2- 5为方便操作,系统提供了4个基本功能,开始、暂停、结束、和波形显示。其中当系统开启时,仅有开始按钮有效,单击开始按钮后,系统进入工作状态,将其余按钮使能,可进行暂停、波形显示、结束等操作;单击打开波形按钮,系统开启一个波形显示窗口,提供实时人眼面积波形,按钮提示文字变为关闭波形;单击暂停按钮,系统将关闭除主线程外的所有线程,系统进入暂停工作状态。第三章 读取视频模块为了使系统的后续操作能够顺利进行,在初始化时,程序需要对系统是否具有摄像头,有多少个摄像头进行统计,如

10、果没有摄像头,则进行提醒,如果有多个摄像头,便提醒使用者进行选择,以使系统能够正确的进行配置。同时,由于待处理的视频图像数据量巨大,而图像的大小直接关系到待处理的数据量,为此,在对摄像头进行设置时,需要将读入的视频帧的大小为320x240。其设置如下:cvCapture capture = cvCaptureFromCAM(0);cvSetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH,320);cvSetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT,240);当初始化设置完成后,使用者选择开始

11、时,通过IplImage* cvQueryFrame(cvCapture capture)的调用,程序便进行一次视频帧的读取,并通过CvvImage img;IplImage *Image2=(IplImage*)wParam;if(Image2)img.CopyOf(Image2); / 从IplImage拷贝图像数据到CvvImage img.DrawToHDC(hDC,&rect); / 在控件上绘制图像将图显示在句柄hDC指向的控件上;不断重复读视频帧,显示视频帧,便可以看到一个连续的视频。第四章 图像处理模块图4- 14.1. 图像识别方法4.1.1. 肤色识别肤色是人脸的重要信息,

12、不依赖于面部的细节特征,对于旋转、表情变化等情况都能适用,具有相对的稳定性并且和大多数背景物体的颜色相区别。利用肤色分割检测人脸的方法,聚类紧凑. 选用YCbCr空间易于实现聚类算法。经分析可知满足二维高斯分布,则对于像素的色度C= CbCrT,肤色像素的概率分布如图4-2:图4- 2对获得的每一帧的图像采用0.4 Cb 0.6 同时 0.5 Cr 0.7 进行肤色分割得到肤色图;如图4-3(原图),图4-4(处理后的图像):图4- 3 图4- 4将肤色图区域化形成肤色区域(如图4-5),以便在肤色区域进行下一步处理。图4- 54.1.2. AdaBoost算法AdaBoost算法是一种迭代方

13、法,它本身是通过改变数据分布来实现的。它根据每轮训练中每个样本的分类是否正确,以及上轮的总体分类准确率,来确定每个样本的权值。将每次训练得到的分类器融合起来,作为最后的决策分类器。在AdaBoost算法中,每一个训练样本都被赋予一个权重,表明它被某个弱分类器选入训练集的概率。如果某个样本没有被正确的分类,那么在构造下一个训练集时,它被选中的概率就会增加:相反,如果某个样本已经被正确的分类,那么在构造下一个训练集时,它被选中的概率就会降低。通过这样的方式,AdaBoost算法能够“聚焦于”那些较困难(更富信息)的样本上。在具体的实现上,最初令每个样本的权重都相等,对于第t次迭代操作,就根据这些权

14、重来选取样本点,进而训练分类器。然后就根据这个分类器,来提高被它错分的那些样本点的权重,并降低被正确分类的样本权重。然后,权重更新后的样本集被用来训练下一个分类器,整个训练过程如此循环下去。AdaBoost算法具有很强的实用性,表现在:1)算法的速度快; 2)除了训练轮数T外,不需要调节任何参数;3)不需要知道任何关于弱分类器的先验知识;4)对弱分类器的性能要求不高,只需要比随机猜测性能稍好即可,这种弱分类器在实际情况下是很容易获得的,从而降低了算法的复杂度,提高了效率5)在弱分类器的构成上可以兼容多种方法,这些弱分类器可以是神经网络,决策树,最近邻域分类器,经验规则等; 6)训练数据可以是文

15、本、数字、离散值等等,并且AdaBoost算法很容易被推广到多类目标的分类问题中去。4.1.3. AdaBoost算法训练Adaboost学习算法的学习过程,可以理解为“贪婪的特征选择过程”。对一个问题,通过加权投票机制,用大量的分类函数的加权组合来判断。算法的关键就是,当分类器对某些样本正确分类时,则减少这些样本的权值;当错误分类时,则增加这些样本的权值,让学习算法在后续的学习中集中对比较难的训练样本进行学习,最终得到一个识别准确率理想的分类器。每个矩形特征对应一个弱分类器,利用AdaBoost算法生成强分类器的过程就是寻找那些对人脸和非人脸区分性最好的那些矩形特征,由这些特征所对应的弱分类器组合生成的强分类器对人脸的区

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号