开云电子竞技股份有限公司-专注神经技术与电竞脑机接口研发

您好,欢迎访问开云电竞官方网站!TAG标签主页

基于视频识别的驾驶员疲劳监控系统

作者:小编    发布时间:2026-07-15    浏览量:

  

基于视频识别的驾驶员疲劳监控系统(图1)

  版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

  2023第七届“博创杯〞全国大学生嵌入式设计大赛作品设计报告基于视频识别的驾驶员疲劳监控系统英文题目设计报告参赛编号:BJ-5-4参赛学校:北京理工大学作者:李响王子实徐立群指导教师:王崇文摘要1背景删减人眼人脸识别合并到特征提取局部特征提取特征匹配测试运行情况减少主观评价增加信息融合局部采用不同权值〔这是摘要局部我来弄〕2图片用自己做的〔这个我们来弄〕图片下标〔这个学长你标准一下你的局部图片有的下标不比照方第四章却是5.26之类的还有图片没有名字〕公式下标〔比方式3—1〕3GPS模块重新描述可以用谷歌开源地图或者NOKIA的地图〔这个我们来弄但是GPS模块我不知道和硬件有没有关系如果有关系你可以自己加上点儿东西〕4硬件局部格式内容5可以增加测试局部和总结局部〔这个我俩来弄〕6参考文献至少有40%的英文时间要离现在近的比方09年10年随着社会的不断开展,汽车成为了我们日常生活不可或缺的一局部,但也带来了每年数以百万计的交通事故,造成了无数伤亡,给人们带了了巨大伤痛的同时使许多美好的家庭毁于一旦。调查显示,疲劳驾驶是交通事故高发的原因之一,此前,已有诸多专家参与疲劳驾驶监控的研究,但迄今为止,市场上并没有一个成型的可靠地产品,所以一套能够对驾驶员疲劳程度进行监控并给予报警的系统成为了许多人的迫切需求。基于视频识别的驾驶员疲劳监测系统是将程序与硬件相结合,对驾驶员进行非接触地面部图像分析,从中提取有效的特征信息,以区分驾驶员是否处于疲劳状态的一件产品。本系统主要研究实现了将人脸人眼检测技术应用于驾驶员疲劳监测的方法,并根据监测结果,及时给出疲劳状态预警,降低由此引发的诸多交通事故的概率。本系统利用开源OpenCV图像处理函数库进行快速开发,总体设计方案包括图像预处理、人脸区域的检测、人眼的粗略定位和精确再定位、人眼睁闭状态判断以及疲劳状态分析等主要步骤模块。其中:在图像预处理方面,系统将通过视频流获得的图像帧进行直方图均衡化,去除实际图像中存在的噪声,放大图像细节,为后续的图像处理环节保证源图像质量。在人脸检测方面,系统采用成功的Adaboost算法,利用OpenCV提供的样本训练集和检测方法,取得了很高的检测成功率和较低的错误接收率,极大了缩减了系统开发时间。根据三庭五眼等先验知识,系统粗略标定人眼存在的可能区域,然后利用灰度投影函数方法,排除眉毛等边界因素的干扰,精确定位了人眼。在人眼睁闭状态判断方面,系统利用自适应阈值化获取能够展示人眼完整形状的二值化图像,通过人眼区域内黑色像素点面积变化的比拟来判断睁眼闭眼。最后,系统选取目前公认有效的PERCOLS疲劳程度评价指标结合驾驶员嘴部及头部的情况,对当前驾驶员的疲劳状态进行分析,并给出不同程度的警告。测试结果说明,该系统根本实现了在稳定环境下、不同光照条件下的人脸识别、状态识别和疲劳判定,具有较高的识别率和不错的判断率。从近年的开展趋势来看,实用性与人文关心是嵌入式开发的主流,作为能够实际应用到日常生活中的产品,我们的系统在同类产品几乎没有进入市场同时市场有较大的此类需求的情况下具有比拟强的竞争力。此外,我们的系统具有满足市场需求的特点。首先,系统体积较小,便于车载;采用摄像头捕捉画面并由内部程序进行相关分析判断,满足了实时、非接触的要求;同时我们设置了GPS导航系统,能够在判定驾驶员疲劳后给驾驶员找到最近的休息区间,增强了人文关心的同时提高了系统的适用性。综上所述,这套系统的市场前景比拟广阔。关键词:OpenCV,人脸检测,人眼定位,阈值化,PERCLOSAbstractThedriverfatiguemonitoringsystemisatechnologywhichanalyzesthefaceimagebythecomputer,withdrawstheeffectivecharacteristicinformation,andthendistinguishesthespecificconditionofdriver.Thissystemmayreducetheprobabilityofaccidentscausedbydriverfatigue,usingthefacedetectiontechnologytomonitorthedriver’hissystem,OpenCVfunctionlibraryisusedtoachievetherapiddevelopment.Thesystemmainlyincludesfivemodulesfollowing:imagepreprocessing,faceregiondetecting,eyeregionpositioning,eyelidclosurejudgingandfatigueanalyzing.Inthepartofimagepreprocessing,theimageframecapturedfromthecameradeviceishistogramequalizedtoensurethequalityofsourceimagebyeliminatingthenoisesandenhancingthedetails.ThesystemdetectsfacesusingthetrainingsamplesetanddetectingmethodsuppliedbyOpenCVwhichhaveimplementedtheAdaboostalgorithm.Inthisway,wegethigherdetectsuccessrateandlowerfalseacceptrate.Accordingtotheprioriknowledgeofhumanfaceorgans’scale,thissystempositionsaregionroughlywheremayincludeeyes,andthenwepositioneyeregionpreciselybythemethodofgrayprojectionfunction.Inthemoduleofeyelidclosurejudgment,thesystemgetsbinaryimagewhichcontainsthewholeeyeinformationusingself-adaptingthresholdingmethod.Wewillcomparethecountsofblackpixelsintheeyeregiontojudgetheeyelidclosure.Intheend,PERCLOSstandandisusedtoevaluatethefatiguelevelofthedriverandthesystemgivesdifferentwarning.Theresultsshowthatthesystemachievesthefacedetecting,theeyelidclosurejudgingandthefatigueevaluatingunderastableenvironmentanddifferentlightconditions.Keywords:OpenCV,facedetection,eyeposition,thresholding,PERCLOS目录第1章绪论……………………………….11.1背景分析…………………………11.2疲劳测量方法简介………………………….11.2市场分析…………………………2第2章系统方案………………………22.1软件局部…………………………3 2.1.1图像预处理……………………………32.1.2人脸检测……………………………42.1.3人眼定位……………………………52.1.4眼睛状态判断………………………52.1.5疲劳分析……………………………52.2硬件局部……………………………5第3章功能与指标………………23.1实现功能…………………………33.2指标局部…………………………3第4章实现原理………………24.1软件局部…………………………34.1.1人脸识别………………34.1.2人眼识别………………34.1.3眼睛状态判断………………………34.1.4疲劳程度分析………………………34.2硬件局部简述………………3基于LINUX系统的S3C6410X介绍……………………….3算法实现………………3第5章硬件框图………………25.1摄像头局部…………………………35.2外围电路局部…………………………3第6章特色………………………2参考文献第1章绪论1.1背景分析近年来,随着人们生活水平的提高、城市化的加速以及经济的快速开展,汽车进入了我们的日常生活并成为我们出行最便利的交通工具之一,给我们提供了极大的方便。但是与此同时也带了很多的问题,其中之一便是交通事故发生量居高不下。据公安部交管局统计2023年,全国交通事故发生情况如表1.1所示:表1.110年全国交通事故发生情况其中,发生一次死亡3人以上道路交通事故1244起;发生一次死亡5人以上道路交通事故269起;发生一次死亡10人以上特大道路交通事故34起。在这份统计报告中,还有这样一句醒目的话:机动车驾驶人酒后驾驶肇事明显减少,逆向行驶、疲劳驾驶等肇事致人死亡明显增多。可见当前疲劳驾驶已经是道路交通事故产生的一个主要原因。驾驶员疲劳监控系统可以通过对驾驶员进行非接触地面部图像分析,从中提取有效的特征信息,以区分驾驶员是否处于疲劳状态,并给出相应的提醒,从而降低由此引发交通事故的概率,保护驾驶员与乘客的生命财产平安。1.2疲劳测量方法简介1999年4月,美国联邦公路管理局〔FederalHighwayAdministration〕的技术论坛上首先提出了把PERCLOS作为预测机动车驾驶员驾驶疲劳的可行方法。经过多年的开展,目前,PERCLOS方法已被公认为最有效的、车载的、实时的驾驶疲劳测评方法。PERCLOS是PercentageofEyelidClosureOverthePupilTime的缩写,意为单位时间里眼睛闭合时间所占的百分比。PERCLOS的原理即为统计在一定时间内眼睛闭合时所占的时间比例。我们的系统所采用的评判标准为PERCLOS80,指眼睑遮住瞳孔的面积超过80%就认为眼睛闭合。.图2.1可以说明PERCLOS的测量原理:图1.1PERCLOS测量原理通过测量出t1-t4就能计算出PERCLOS的值:F=QUOTE*100%QUOTE其中F代表眼睛闭合时间的百分比,即PERCLOS的值。1.3市场分析随着汽车数量的增加和公路建设规模的扩大,交通事故等问题日益明显。中国是人口最多的国家,道路交通事故死亡人数也是最高的国家,连续数年一直居世界第一位。而近年来逐渐突出的驾驶疲劳成为人们关注的重要问题。目前该问题的研究分为主观和客观两种方法,主观的研究方法有主观调查表、驾驶员自我记录、睡眠习惯调查表、斯坦福睡眠尺度表四种。客观的方法有脑电图、眼电图、肌电图、呼吸气流、呼吸效果、动脉血液氧饱和时的温度和心电图等测量方法。尽管这些方法是比拟准确的,但是由于这些方法一般是在驾驶前或驾驶后测量,是超前或滞后的,而非实时的,况且在驾驶室有限的空间内安置复杂的检测仪器也是十分困难的;而且驾驶员脱离驾驶室或未进入驾驶室的精神状态是不同的,再精确的仪器其测量结果也会大受影响。因此,开发一套车载的、实时的、适用的、非接触式的驾驶员疲劳检测系统已成为目前解决疲劳驾驶迫在眉睫的问题。我们的系统根本满足目前市场上对该类产品的需求。首先,系统体积较小,便于车载;采用摄像头捕捉画面并由内部程序进行相关分析判断,满足了实时、非接触;同时我们设置了语音提示系统与GPS导航系统,增强了人文关心的同时提高了系统的适用性,市场前景比拟广阔。第2章系统方案驾驶员疲劳监测系统通过视频采集设备获得驾驶员实时图像,自动分析驾驶员的头部姿态、眼睛运动规律以及面部特征等信息来确定驾驶员精神状态,并给出相应的预警提示。研究说明,相比脸部或头部运动规律而言,眼睛的活动规律,如眨眼频率、眨眼快慢、眼睛张开幅度以及眼睛的注视方向等能更好地反映出当前时刻实验对象的精神状态好坏。因此,如果能够获得每一帧图像中的双眼大小、位置信息以及运动变化,就可以将一段时间内驾驶员的眼部活动规律统计出来,结合疲劳状态分析指标,就能够对驾驶员疲劳状态进行评价。综上所述,我们系统的总体设计包含了以下几个方面的内容,如图2.1所示:图2.1系统流程图2.1软件局部2.1.1图像预处理在驾驶环境下通过视频流采集的图像会受到诸多因素的影响而包含噪声信息,如分辨率、系统噪声、突变背景等,给接下来的图像运算带来干扰。因此,我们对源图像通过直方图均衡化的手段进行预先处理,去除噪声,增强图像比照度,凸显图像细节,提高图像质量。图2.SEQ图\*ARABIC1均衡化前图2.SEQ图\*ARABIC2均衡化后图2.SEQ图\*ARABIC3均衡化前的直方图图2.SEQ图\*ARABIC4均衡化后的直方图2.1.2人脸检测图2.SEQ图\*ARABIC5人脸检测模块结构人脸检测环节是人眼定位前的重要步骤。系统采用Adaboost图2.SEQ图\*ARABIC5人脸检测模块结构2.1.3人眼定位该环节包括人眼粗略定位和人眼精确定位两个阶段。首先,根据中国传统的三庭五眼的先验知识,粗略定位肯定存在人眼的大致区域,该区域可能同时包含眉毛,发角等干扰,但却进一步地缩小了计算区域;接着,将人眼粗略区域通过一定阈值转换为二值化图像,再进行垂直方向上的灰度投影,求得直方图,因为人眼和周围皮肤的灰度存在较大差异,所以可从直方图中的波峰波谷判断出人眼上下边缘的Y坐标,继而可对眼睛进行精确定位。图2.图2.SEQ图\*ARABIC6人眼定位模块结构通过最大类间方差法〔Otsu〕在不同的光线下对人眼精确区域进行不同阈值的二值化,分别获取最正确的人眼睁闭状态时的眼部形状。通过对连续N帧的比照可以判断,黑色像素值面积最小时可认为驾驶员当前处于闭眼状态,其他情况下处于睁眼或者半睁眼状态。疲劳分析系统选取目前公认有效的PERCOLS疲劳程度评价指标,即通过闭眼帧在连续N帧内所占的时间比例来分析疲劳状态,睁眼帧记录为“1〞值,闭眼帧记录为“0〞值,这样,连续N帧后便可获取关于“1〞“0〞交错出现的序列,疲劳状态的分析即可用“0〞值在该序列中所占的比例来描述,当百分比高于一定的实验比例后即可认为司机可能出现疲劳。通过以上五个步骤的操作处理,系统可由采集设备获取的视频流中分析出当前驾驶员是否处于疲劳状态及疲劳程度,给出不同程度的提醒警报,从而到达系统设计的目标。第3章功能与指标3.1实现功能本系统功能为驾驶员疲劳监控。功能实现包括以下几个步骤。〔1〕系统将通过视频流获得的图像帧进行直方图均衡化,去除实际图像中存在的噪声,放大图像细节,为后续的图像处理环节保证源图像质量。〔2〕系统采用成功的Adaboost算法,利用OpenCV提供的样本训练集和检测方法,取得了很高的检测成功率和较低的错误接收率,极大了缩减了系统开发时间。〔3〕系统粗略标定人眼存在的可能区域,然后利用灰度投影函数方法,排除眉毛等边界因素的干扰,精确定位了人眼。〔4〕系统利用自适应阈值化获取能够展示人眼完整形状的二值化图像,通过人眼区域内黑色像素点面积变化的比拟来判断睁眼闭眼。〔5〕系统选取目前公认有效的PERCOLS疲劳程度评价指标,对当前驾驶员的疲劳状态进行分析,并给出不同程度的警告。图图3.SEQ图\*ARABIC1主程序流程图3.2指标局部本系统不断选取连续20帧进行一次疲劳程度判断。我们约定,1、当PERCLOS的值小于0.4时,系统判断驾驶员处于正常驾驶状态,不做任何处理;2、当PERCLOS的值大于0.4时,系统判断驾驶员处于轻度疲劳状态,给出提示音,假设驾驶员经提示后清醒,PERCLOS会在下一阶段的判断中降至0.4以下,提示音消失;3、当驾驶员被轻度提示后仍无法保持清醒,PERCLOS的值会继续增加,当其大于0.7时,说明驾驶员已经进入疲劳状态,系统会给出急促的干扰噪音,强烈警告驾驶员停车休息。图3.2图中,第一行的数据表示当前条件下睁眼与闭眼状态判断的临界值,下方的“0〞“1〞序列表示随着帧数的增加,系统对睁闭眼情况的评定和疲劳程度的分析。第4章实现原理4.1软件局部4.1.1人脸识别在实现人脸识别模块的过程中,其中,对于训练模块,OpenCV包含一系列的预先训练好的物体识别文件,也允许你训练并存储新的物体模型。使用OpenCV的haartraining应用程序,便可从给定的训练集中训练出分类器。主要操作步骤如下:〔1〕收集打算学习的人脸的数据集,把它们储存在一个或多个目录下面。这些文件通过一个文本文件以下面的形式建立索引。图4.1检测流程图4.2训练流程path/img_name_1count_1x11y11w11h11x12y12···path/img_name_2count_2x21y21w21h21x22y22···文本文档的每一行包含路径和文件名紧接着是物体的个数和物体的矩形列表,矩形的格式是〔左上角的X和Y坐标,宽度,高度〕。〔2〕使用辅助工具createsamples来建立正样本的向量输出文件。通过这个文件,便可以重复训练过程,使用同一个向量输出文件尝试各种参数。例如:Createsamples–vecface.vec–infoface.idx–w30–h40读入face.idx文件,输出一个格式化的训练文件face.vec。然后createsamples提取图像中的正样本,再归一化并调整到指定的大小。〔3〕收集和处理反样本。任何没有我们感兴趣的物体的图像都可以作为反样本。最好从我们需要测试的数据中选取反样本图像。我们把反样本图像放到一个或者几个路径下面,并由图像文件名组成索引文件,一个文件名占一行。比方一个叫background.idx的图像索引文件可以包含下面的路径和文件名:Data/vacations/beach.jpgData/nofaces/img_043.jpgDate/nofaces/345.jpg〔4〕训练。下例从命令行输入或者使用批处理文件创立的训练。Haartraining/-dataface_classifier_take_3/-vecface.vec–w30–h40/-bgbackground.idx/-nstages20/-nsplits1/[-nonsym]/-minhitrate.998/-maxfalsealarm0.5执行之后,获得的分类器将存储在文件face_classifier_take_3.xml中。这里face.vec是正样本,反样本是从background.idx随机抽取的图像。级联被设置为有20层,每一层最低正确检测率是99.8%,错误接受率是50%。采用以下方法在实际系统中应用人脸检测:〔1〕函数LoadHaarClassifierCascade装载训练好的级联分类器,其格式为CvHaarClassifierCascade*cvLoadHaarClassifierCascade(constchar*directory,CvSizeorigwindowsize),其中directory为包含训练好的级联分类器文件的路径.。Origwindowsize为级联分类器在训练中采用的检测目标的尺寸。〔2〕将分类器转化为OpenCV的内部格式,这一步骤是必不可少的。这是因为OpenCV只能处理内部优化格式的分类器。〔3〕检测要用到函数HaarDetectObjects。该函数使用针对某目标物体训练的级联分类器在图像中找到包含目标物体的矩形区域,并将这些区域作为一系列的矩形框返回。其格式为CvSeq*cvHaarDetectObjects(constCvArr*image,CvHaarClassifierCascade*cascadeCvMemStorage*storage,doublescalefactor=1·1,intminneighbors=3,intflags=0,CvSizeminsize=cvSize(0,0))。其中image是被检图像;cascadehaar是级联分类器内部标志形式;storage用来存储检测到的一系列候选目标矩形框的内存区域;scalefactor是在前后两次相继的扫描中搜索窗口的比例系数;minneighbors是构成检测目标的相邻矩形的最小个数(默认为-1);flags是操作方式;min-size是检测窗口的最小尺寸.默认情况下被设为分类器训练时采用的样本尺寸。4.1.2人眼识别这里,我们将人脸的垂直方向均分为四局部,将人脸的水平方向均分为七局部,人脸粗略区域的高度选取人脸上半局部的下1/2区域,宽度选取人脸的中心5/7区域。在人脸检测模块,我们已经得到了定位人脸的矩形框的坐标,根据先验知识的约定,我们可以做到对人眼粗略区域坐标的定位。这样可以保证,不管实际检测的人脸比例怎样,我们的矩形框都可以肯定将人眼包含在尽可能小的矩形框内,并且能够粗略地排除头发,鼻子等因素的影响。这样,我们就根据先验知识在人脸区域内设置了我们的感兴趣区域,为接下来的算法排除干扰,提高了运行速率。确定人眼区域后,就需要使用自适应阈值化操作对人眼的图像进行处理,进一步获得人眼的细节信息作为人眼定位的判断依据。自适应阈值化操作在人眼精确定位和眼睛状态判断中起着关键性作用。我们需要获取整个人眼的完整信息,特别是人眼的完整形状,作为定位人眼中心的前提。下列图展示了相同光线不同阈值下的人眼形状以及不同光线相同阈值下的人眼形状。阈值25阈值40阈值55阈值65阈值25阈值40阈值55阈值65因此,固定的阈值势必无法适用于所有的光线,我们需要做的是实现阈值的自适应,根据光线的不同,整个图像的灰度不同,阈值会自动设置调整,得到最正确人眼二值化图像。阅读相关文献,该系统采用最大类间方差法进行阈值化自适应。最大类间方差法〔Otsu〕是一种全局阈值选取法,它根据最小二乘原理推导出来,基于直方图即图像的灰度信息来选取阈值,该算法被认为阈值自动选取方法的最优方法之一,该方法具有算法简单、分割速度快等优点,特别是对于信噪比拟高的图像具有很好的分割效果。其根本思路是将直方图在某一阈值处分割成两组,当被分成的两组的方差为最大时,得到阈值。因为方差是灰度分布均匀性的一种量度,方差值越大,说明构成图像的两局部差异越大,当局部目标错分为背景或局部背景错分为目标都会导致两局部差异变小,因此使类间方差最大的分割意味着错分概率最小。由于该算法计算过程在诸多文献中均有涉及,本文不再一一赘述。对图像g,其灰度级为l~m,设灰度值为i的像素数目为,那么像素总数及各灰度值出现的概率分别为:N=QUOTE〔i=1,2,···,m〕Pi=QUOTE〔i=1,2,···,m〕以灰度t为门限将图像分为目标和背景两个区域,目标灰度为A〔1~t)的像素数目为,背景灰度为B(t+1--m)的像素数目为,那么目标区域A占图像比例和背景区域B占图像比例分别为:QUOTE=QUOTE/Ni(1,t)QUOTE=QUOTE/Nj(t+1,m)设其平均灰度值分别为,,那么图像g的平均灰度值为:=QUOTE*QUOTE+QUOTE*QUOTE根据方差的定义即得两组间方差:QUOTE(k)=QUOTE*QUOTE+QUOTE*QUOTEk(1,m)k遍历灰度值l~m,当k使得上式取得最大值时,k即为分割的最正确阈值。图5.3实验了不同光线下人眼的Ostu自适应阈值化。可以看到,人眼效果较好。图5.3在解决自适应阈值问题之后,我们看到,眼睛区域的灰度较周围皮肤灰度而言,灰度值低,灰度变化较大,所以,我们可以采用垂直灰度投影法来精确定位人眼区域。我们这里以人的右眼〔左边的眼〕作为人脸精确定位的目标。如下图,将不戴眼镜和戴眼镜粗略人眼区域图像进行自适应阈值化处理,得到二值化图像,对图像进行垂直方向和水平方向的灰度投影。本系统利用两个大小相当于图像高度和宽度的数组v[width]和H[Height]实现了灰度投影的计算。对于垂直方向的灰度投影,利用双层循环分别计算每个像素高度上的水平方向黑色像素点总和,计入H[i];水平方向上的计算类似。接下来,再次遍历两个数组,经过绘图得到了如图5.4和5.5所示的直方图。图5.4不戴眼镜图5.5戴眼镜〔1〕从垂直方向直方图中可以看到有两个最高值,上面的最高值代表眉毛垂直中心,而下面的最高值代表眼睛的垂直中心,从大量的试验中,我们发现,在这样的人眼粗略区域中,只要二值化的阈值选取〔前文已陈述〕恰当,眼镜不会成为最高两个值的干扰,眉毛中心和眼睛中心总会成为最高的两个波峰,而眉毛的波峰始终在上方,眼睛的波峰始终在下方。这样我们就可以通过对数组H[i]的值进行排序筛选,找出最大的两个值,标定两个波峰的Y坐标,从而经排除后确定了人眼精确区域的中心Y坐标;我们再搜索上下两波峰坐标之间的波谷〔代表眼睛眉毛的中间区域〕的Y坐标,这样也得到了上边框的Y坐标,自然也便极易得到下边框的Y坐标。〔2〕人脸精确区域左边框和右边框的X坐标不可从波峰判断出人眼的水平中心,因为眉毛的灰度变化是不规律的、不确定的,特别是戴眼镜的驾驶员的水平灰度变化。从图中所示的水平方向投影直方图中我们看到,从左至右出现了三个甚至更多的波谷,各自代表着眼睛左侧的皮肤、眼睛右侧的皮肤以及两眼之间的区域。我们可以这样,遍历V[i]数组进行排序,确定数值最低的五组数据,在这五组数据中找出X坐标处于最左侧的两组数据。这样,便确定了人眼精确区域的左边框和右边框的X坐标。〔3〕通过上述算法操作,人眼精确区域矩形框的四点坐标都可以轻松获得,从而简单实现了右眼的矩形区域的精确定位。对于戴眼镜的驾驶员来说,可能会包含眼镜框的局部,但这个结果对我们后续的处理不会产生干扰。如图5.6所示。图5.6人眼精确区域4.1.3眼睛状态判断眼镜状态判断的正确与否直接影响到疲劳程度的分析与系统结果的输出。在该系统中,我们通过判断二值化图像中眼睛区域的像素点的变化来判断眼睛的睁闭状态。眼睛的面积定义为图像中人眼精确区域中的像素的数目,即定位区域的黑色像素的个数。当眼睛为完全睁开状态时,黑色像素最多,即面积最大,设为Pmax;当眼睛完全闭合时,面积最小,设为Pmin。图5.7在定位人眼精确区域之后,系统会选取驾驶员静止不动后的连续10帧的睁眼图像数据和10帧的闭眼图像数据,分别计算每一帧的黑色像素点的个数,求得平均值。此时:Pmax=QUOTEPmin=QUOTE在此后的视频图像帧的处理中,系统计算每一帧的眼睛区域的面积Px,根据下式进行判断。Si=QUOTEQUOTE式中,“1〞代表睁眼,“0〞代表闭眼,代表允许的波动值4.1.4疲劳程度分析人脸检测,人眼定位和眼睛状态的判断就是为了确定驾驶员的疲劳状态。系统需要建立一个能够预测驾驶疲劳进程的数学模型,以便有效的监控驾驶疲劳的情况。该系统将使用PERCLOS的变形做为检测依据。我们并没有使用P80、P70等标准做为闭眼的判断依据。疲劳与否的判断公式为:F=QUOTEQUOTEQUOTE公式中F表示单位时间内眼睛处于闭合状态的总帧数占所获取的视频流的总帧数的比例,N表示单位时间内获取的视频流的总帧数,p(t)表示当前帧图像中人眼的睁闭状态。根据前面的分析,每一帧图像驾驶员眼睛状态分为开、闭两种,我们不能只根据当前一帧驾驶员眼睛的状态来判断疲劳,这就需要根据驾驶员眼睛状态的连续时间系列数据统计驾驶员疲劳状态。用“0〞、“1〞表示闭眼和睁眼,那么驾驶员眼睛状态就是由“0〞、“1〞组成的一个时间状态系列。此时,PERCLOS为一分钟内“0〞所占的比例。本系统不断选取连续20帧进行一次疲劳程度判断。我们约定:1、当PERCLOS的值小于0.4时,系统判断驾驶员处于正常驾驶状态,不做任何处理;2、当PERCLOS的值大于0.4时,系统判断驾驶员处于轻度疲劳状态,给出提示音,假设驾驶员经提示后清醒,PERCLOS会在下一阶段的判断中降至0.4以下,提示音消失;3、当驾驶员被轻度提示后仍无法保持清醒,PERCLOS的值会继续增加,当其大于0.7时,说明驾驶员已经进入疲劳状态,系统会给出急促的干扰噪音,强烈警告驾驶员停车休息。4.2硬件局部4.2.1简述硬件局部我们主要利用UP-MAGIC魔法师实训平台上的视频采集模块以及USB接口,摄像头模块我们采用UP-MAGIC魔法师实训平台自带的内置芯片为ZC301的USB摄像头。4.2.2基于LINUX的S3C6410X的CPU介绍UP-MAGIC魔法师实训平台采用的是S3C6410X的CPU芯片,其硬件模块如下列图:其中摄像头直接利用USB接口连接到ARM板上,并安装驱动,下面是驱动安装步骤:重新编译内核,将对应的摄像头支持模块选上.但是LINUX内核中系统中没有ZC301P摄像头驱动,要下载对应的内核补丁,其补丁和驱动在:mxhaard.free.fr中有对应的驱动下载,此处用到的是:usb-2.4.31LE06.patch.tar.gz,此patch是为令重编内核时,有spcaxx系列摄像头的支持。把它复制到/armlinux/kernel/driver/usb下,解压,打补丁.两个文件。此时就会在此目录下看到spca5xx文件夹了.不知是何原因,估计是KERNEL版本的原因,在/armlinux/kernel/driver/usb的目录中的Makefile和config.in中找不到对应的关键字,此时会有一些错误,并将错误放在Makefile.rej和config.in.rej两文件中,翻开两个文件,分别将其中前面有“+〞的文字加到Makefile和config.in中对应的分类中即可。4.2.3算法实现编译内核,进入/armlinux/kernel,makemenuconfig.在armlinux的kernel目录下makemenuconfig,首先选择Multimediadevice-下的Videoforlinux,然后USBsupport---USBMultimediadevices选项下应该有MUSBSPCA5XXSunplusVimicroSonixCameras,要把它配置成module。makedep;makezImage;makemodules.就会在/armlinux/kernel/arch/arm/boot下生成zImage,这就是我们生成最新的内核,将此内核通过终端下载到开发板中,/armlinux/kernel/driver/usb/spca5xx中生成spca5xx.o,spcadecoder.o,spca_core.o.这就是我们要的驱动。用新内核启动这三个.o文件(可以不用加载spcadecoder.o),摄像头就加载成功,也可用modprobespca5xx.o命令,此命令会自动去加载其要支持的.o文件.如果一切顺利的话,此时将在看到类似下面的信息,Using/mydev/spca5xx.ousb.c:registerednewdriverspca5xxspca_core.c:USBSPCA5XXcamerafound.TypeVimicroZc301P0x301bspca_core.c:spca5xxdriver00.57.06LEregistered。此时会在/dev/成生成v4l/video0说明摄像头成功安装。以上完成硬件局部的安装于实现。第5章硬件框图主要硬件局部只使用了ZC301芯片的摄像头,其中ZC301模块电路图如下:单帧采集。在上面获取的摄像头存储缓冲区帧信息中,最多可支持的帧数(frames的值)一般为两帧。对于单帧采集只需设置grab_buf.frame=0,即采集其中的第一帧,使用ioctl(grab_fd,VIDIOCMCAPTURE,&grab_buf)函数,假设调用成功,那么激活设备真正开始一帧图像的截取,是非阻塞的。接着使用ioctl(grab_fd,VIDIOCSYNC,&frame)函数判断该帧图像是否截取完毕,成功返回表示截取完毕,之后就可把图像数据保存成文件的形式。连续帧采集。在单帧的根底上,利用grab_fd.frames值确定采集完摄像头帧缓冲区帧数据进行循环的次数。在循环语句中,也是使用VIDIOCMCCAPTUREioctl和VIDIOCSYNCioctl函数完成每帧截取,但要给采集到的每帧图像赋地址,利用语句buf=grab_data+grab_vm.offsets[frame],然后保存成文件的形式。假设要继续采集可再加一个外循环,在外循环语句中只要给原来的内循环再赋frame=0即可。5.2外围电路局部AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据〔发送或接收〕的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线更多疲劳评价指标的融合不同于之前已经有过的疲劳检测系统,我们的评判标准并不仅仅是眼睛的活动规律,还包括嘴部的情况如打哈欠及通过在驾驶员头部附近的传感器捕捉到的头部的运动规律,这样使得我们在对眼睛活动规律不能明确掌握的情况下,能够成功的对驾驶员的疲劳程度进行判定,大大提高了系统的精确性。6.2GPS提示功能我们在系统的内部添加了GPS模块,一旦驾驶员被判定为疲劳驾驶,系统将会通过GPS的搜索,提示当前距离驾驶员最近的工作站或收费站,从而帮助驾驶员尽快找到一个适宜的休息区域。参考文献中国公路网2023年全国道路交通事故NHTSA.ExpertPanelonDriverFatigue&Sleepiness[R].DrowsydriverandautomobilecrashesReport.2004.8.李志春,何仁,林谋有,李佩林.驾驶员疲劳检测技术的研究现状及开展趋势[J].农机化研究.2006,5:197-199.黄福珍,苏剑波.人脸检测[M].上海:上海交通大学出版社,2006:1-68,137-156.苑玮琦,柯丽,白云.生物特征识别技术[M].北京:科学出版社,2023:1-142.GaryBradski,AdrianKaebler.学习OpenCV〔中文版〕[M].北京:清华大学出版社,2023.刘瑞祯,于仕琪.OpenCV教程〔根底篇〕[M].北京:北京航空航天大学出版社,2023.PaulViola,MichaelJones.RobustReal-timeObjectDetection[A].8thIEEEInternationalConferenceonComputerVision[C].Vancouver,2001.高永萍,秦华标.驾驶员疲劳检测系统[J].仪表技术与传感器.2007,1:60-62.郭磊,王秋光.Adaboost人脸检测算法研究及OpenCV实现[J].哈尔滨理工大学学报,2023,5:123-126.孔凡芝,张兴周,谢耀菊.基于Adaboost的人脸检测技术[J].应用科技.2005,6:7-9.李悦,任育.图像分割的阈值法简述[J].计算机科学.2006,9:109-110.刘瑞安,靳世久,张希坤,宋维,吴晓荣.眨眼检测与眼睛跟踪[J].计算机应用,2006,12:2835-2837.牛杰,沈晓锋.疲劳状态监控系统中眼睛状态检测方法[J].计算机工程,2023,17:195-197.

  1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

  2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

  3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

  5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

  7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

  专题03 正比例函数定义与图象的学习秘籍(原卷版)-初中数学一次函数专题精.编讲义

  2026贵州黔南州企事业单位人才引进268人备考题库及答案详解(网校专用)

推荐新闻

在线客服 :

服务热线:18334869619

电子邮箱: 860866355@qq.com

公司地址:泉州市晋江市淮榕汽修厂113号

开云电子竞技股份有限公司是一家专注于神经技术与生物信号反馈研究的科技创新企业,成立于2008年,总部位于泉州晋江市。公司基于脑电图和心率变异性分析技术,为电竞选手提供专注度评估准确率达95%的精准监测方案,通过超过10万组生物数据建模经验,建立了完整的“监测-反馈-调整”实时闭环训练系统。

Copyright © 2025 开云电子竞技股份有限公司 版权所有