




已阅读5页,还剩98页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学学士学位论文沈阳理工大学毕业设计(论文)成绩评定学生姓名: 专业: 通信工程 学号: 题目: 瞳孔动态监测系统的研究与开发 毕业设计(论文)答辩委员会(小组)评语:答辩评分: 答辩委员会主任(组长)(签字): 年 月 日毕业设计(论文)成绩指导教师评分( %)审阅评分( %)答辩评分( %)毕业设计(论文)成绩: (分)毕业设计(论文)总评成绩(等级): 答辩委员会主任(签字): 年 月 日毕业设计(论文)评语指导教师评语:指导教师评分: 指导教师(签字): 年 月 日 评阅人评语:评阅人评分: 评阅人(签字): 年 月 日毕业设计(论文)任务书学 院信息科学与工程学院专 业通信工程学 生 姓 名学 号设计(论文)题目瞳孔动态监测系统的研究与开发内容及要求:设计瞳孔动态监测系统软件系统,实现基于视频的瞳孔图像采集、瞳孔识别及定位,瞳孔面积变化数据分析并绘制曲线。要求: 掌握 C+及 OpenCV 编程,设计瞳孔动态监测系统软件系统 ,实现系统各项功能。进度安排:1月1日3月30日:实习调研、查阅资料,选定毕业设计题目,并确定整个系统的架构设计。3月31日4月20日:进行系统的初步设计,完成简单模块框架和流程框架;4月21日6月01日:进行系统详细设计,程序代码的编写。进行调试、检测相应模块;6月02日6月20日:撰写论文,准备答辩。指导教师(签字): 年 月 日学院院长(签字):年 月 日学生毕业设计档案学 生 姓 名学 院信息科学与工程学院学 号指导教师姓名职 称工程师所在单位沈阳理工大学毕业设计题目瞳孔动态监测系统的研究与开发毕业设计(论文)完成情况毕业设计各阶段名称起止日期完成情况(存在问题及整改意见)阶段成绩*实习调研、查阅资料,选定毕业设计题目,并确定整个系统的架构设计;进行系统的初步设计,完成简单模块框架和流程框架;进行系统详细设计,程序代码的编写,进行调试、检测相应模块;应用程序设计和调试;撰写论文,准备答辩。2015年1月1日2015年3月30日2015年3月31日2015年4月20日2015年4月21日2015年6月01日2015年6月02日2015年6月20日指导教师意见 (根据学生出勤及毕业设计(论文)完成情况,指导教师是否同意该学生参加答辩)指导教师(签名): 年 月 日*注:阶段成绩分A、B、C三级: A为全面完成任务、B为完成任务、C为完成93摘 要本文以红外线条件下录制的瞳孔视频为处理对象,对瞳孔视频进行预处理,得到用特殊颜色标识的瞳孔视频为输出。通过对视频文件的逐帧采集,对采集的帧图像,进行图像处理得到瞳孔的面积大小并用特殊颜色标识瞳孔,然后进行帧合成为视频输出文件。本文采用对采集的帧图像进行腐蚀、膨胀、开运算、二值化等图像预处理的方法,并用区域生长算法得到瞳孔的区域,从而计算出瞳孔区域的相对像素数,可以计算出瞳孔面积大小,并绘制瞳孔面积变化曲线,然后将处理后的图像帧合成为视频输出文件,从而实现瞳孔的动态分析。本文对帧的处理是基于二值化的粗定位和区域生长方法相结合的方法,能有效检测因病变而呈不规则圆形的瞳孔,简单而且快速。首先使用形态学开运算进行预处理,去除睫毛和亮斑的影响且保持原有瞳孔大小,同时生成缩略图;然后生成二值阈值化图像,进行水平和垂直投影,找到极值点,将其作为种子点;最后用区域生长算法得到精确的瞳孔区域。基于以上的处理方法,采用OpenCV、VC+编程工具,编程实现了瞳孔动态监测系统的软件部分。关键词:二值化;开运算;区域生长法;瞳孔定位;C+AbstractBased on the infrared body under the condition of recording pupil video as treatment object, the pupil video preprocessing, get with the special color identification pupil video for the output. Through the frame by frame of video file collection, the collection of image, image processing of pupil size and special color mark the pupil, then the frame synthesis for video output file.This article adopts the corrosion, expansion, with the frame of open operation, binary image preprocessing methods, such as using region growing algorithm to get the pupil area, so as to calculate the relative sizes of pupil area, can calculate the pupil size, and draw the pupil area change curve, and then synthesize processed image frames into video output file, so as to realize the dynamic analysis of the pupil. In this paper, the frame is based on the processing of binarization of coarse location and region growing method with the combination of methods, can effectively detect irregular round pupil by lesions, simple and rapid. Preprocessing of the first to use morphological open operation to remove eyelash and bright spots and keep the pupil size, the influence of the generated thumbnail at the same time; Then generate binary threshold images, the horizontal and vertical projection, find the extreme value point, as the seed point; Finally get accurate pupil area using region growing algorithm. Processing method based on the above, the use of OpenCV, vc + + programming tools, programming software part of the dynamic monitoring system has realized the pupil.Keywords:threshold; open operation; region growing; the pupil position;C+目 录1绪 论11.1课题研究背景及意义11.2目前瞳孔监测算法的发展31.3本文瞳孔监测的方法51.4OpenCV的介绍52瞳孔动态监测系统的构建82.1系统的总体结构82.2系统的硬件结构82.2.1 图像采集的硬件结构92.2.2 摄像头光源结构92.2.3 刺激光源与控制部分92.3系统的软件设计113瞳孔动态监测算法设计123.1预处理123.1.1 腐蚀123.1.2 膨胀133.1.3 开运算143.2阈值分割153.3二值化173.4种子点定位173.5区域生长法184瞳孔动态监测系统的软件设计214.1瞳孔动态监测系统的模块设计214.1.1 视频读取模块214.1.2 视频处理模块214.1.3 画曲线图模块224.1.4 处理后的视频查看模块234.2软件的具体实现234.2.1 环境配置234.2.2 整体界面设计254.2.3 视频读取模块的具体实现264.2.4 视频处理模块的具体实现274.2.5 画曲线图模块的具体实现314.2.6 处理后的视频查看模块的具体实现314.3程序出现的异常及处理方法324.4测试32结 论34致 谢35参考文献36附录A 英文附录37附录B 中文附录42附录C 程序附录46附录D 本文中用到OpenCV函数的使用附录711 绪 论1.1 课题研究背景及意义眼睛是人类最重要的感觉器官,人体从外界接收的信息中,有一半的信息都是通过眼睛获取的。眼睛不仅是观察世界的“取景器”,还是透视人体内部状况的一扇天窗,折射出人体的征象。瞳孔图如图1.1所示。眼睛中虹膜、瞳孔的形状、颜色、大小;眼球的左、右、上、下运动状况;眼睑的开闭状况都不仅反映眼睛的状态,也透视出人体内的组织、器官、系统的状况。根据人眼视觉功能中瞳孔特殊的感光特性,可通过瞳孔对光反应的异常状态帮助诊断神经、机能的病变。瞳孔对光反应(Pupillary Light Reflex, PLR)的含义为,当受试者注视正前方,光线刺激从眼旁移到眼前垂直照射瞳孔,正常时感光的瞳孔敏捷地缩小,解除光照瞳孔即又开大,称为直接光反应。未直接感光的瞳孔也相应出现放大缩小的情况,称为间接光反应。持续感光的瞳孔,可出现轻微的缩小与开大相交替现象。同时可发现在检查浅昏迷状态的病人,则此现象表现迟钝,而对于深昏迷者则该现象消失。瞳孔若感光超过一定时间,原已缩小的瞳孔稍微扩展。瞳孔对光反应的信息传递通路为:视网膜接受光刺激,视神经和视束传递信息,经上丘到达中脑盖前区,反馈信息驱动动眼神经支配瞳孔控制肌肉进行收缩、放大。图1.1 瞳孔平面图例如,当人在注视自己喜爱的人或感兴趣的东西时,瞳孔往往会扩大,而看到自己厌恶的人或物时,瞳孔往往会缩小,反映出人的心理状态;心理负荷增大和紧张程度的增加都会使瞳孔放大,瞳孔也反映脑力负荷,可作为评价脑力负荷的一个可靠指标。眼睑的开闭情况可反映人体是否疲劳,实时获取驾驶员眼睛图像信息以判断疲劳状况成为一种可行的方法;医学上己经发现眼睛与全身的组织、器官存在密切联系;不少身体疾病可在眼部引起特定的反应或并发症,而眼部疾病也往往是身体疾病的原因,所以检测眼睛也就成为诊断疾病的重要途径。正常的瞳孔为圆形,黑色透明,两侧等大。除生理调节变化外,如瞳孔扩大多见于颅脑外伤、脑血管病、重症的乙型脑炎、化脓性脑膜炎等;若伴有光反射消失、眼球固定、深昏迷等,多为原发性脑干损伤或临终前征象;瞳孔缩小多见于乙醇(又称酒精)中毒、安眠药中毒以及老年人的脑桥肿瘤、脑桥出血,也可见于糖尿病。另外,有机磷、吗啡中毒甚至可出现针尖样瞳孔;若伴有光反射迟钝、中枢性高热、深昏迷,为脑桥损伤表现;两侧瞳孔大小不等常见于脑出血、脑梗死、脑肿瘤等;两侧瞳孔大小多变伴有光反射消失、眼球分离或异位,多为中脑损伤表现。由医学理论可知, 瞳孔直径的变化受交感和副交感神经的双重支配,而且交感和副交感神经均为自主神经,不受人的主观意愿影响1。人体瞳孔的大小除了随光线的强弱变化外,还与年龄大小、屈光和生理状态等因素有关。通过对人眼瞳孔的精确定位检测,可使得眼科手术的安全性和可靠性得到极大的提升,同时在医疗器械眼科辅助检查方面提供精确的数据支持;通过对人眼瞳孔的检测跟踪,根据瞳孔大小参数和人眼的开闭时间来判断驾驶员是否疲劳驾驶,可主动性地减少交通事故的发生;通过对人眼瞳孔的定位检测,可对人的注视点及注视行为等进行检测、分析,实现眼动、人工智能方面的控制;通过对人眼瞳孔的定位检测及跟踪,可了解并进而分析人的心理状态,从侧面解决人类的交流问题;通过对人眼瞳孔的定位检测,为基于生物特征识别技术的人脸识别和虹膜识别等应用研究提供坚实的研究基础;通过对人眼瞳孔的定位及跟踪,可分析人的精神状态,分析神经系统的反应及病变1。针对人眼瞳孔检测与跟踪技术的研究,涉及到医学、心理学、生理学、模式识别、人工智能、计算机视觉与图像分析等多个学科领域,更是模式识别、图像处理和计算机视觉的复杂的综合性课题。瞳孔动态特性的研究在国内外一直是心理科学和生理科学研究的 一个重要领域。早在1994 年,Scinto 等人2提出利用扩瞳试验作为老年性痴呆(alzheimer disease, AD)早期诊断的可能性。程文红等人3对瞳孔在药物(0. 01% 托吡卡胺)刺激下的动态变化进行了研究,得到相似结果。近年来,关于眼睛检测的应用研究正不断扩展,眼睛的定位在计算机视觉方面有着极其重要的研究和应用。瞳孔位于虹膜中央稍偏鼻下方,近似圆形。其大小及反应由瞳孔括约肌和瞳孔开大肌所控制,分别通过副交感神经和交感神经支配,这两种神经相互协调、相互制约,控制着瞳孔的形态变化。瞳孔本身具有生理性的瞬时波动,其大小无时不在变化,而且可因光线、注视目标远近、年龄、屈光状态、种族、虹膜色素多少、睡眠与觉醒、情绪的不同等因素而变化。因此瞳孔即使在不受刺激的情况下其实也是一个动态的过程,只是平常我们的肉眼察觉不到瞳孔的这种微弱的变化而己。瞳孔的调节是由动眼神经的副交感神经纤维(支配瞳孔括约肌,使瞳孔缩小)和来自颈上交感神经节的交感神经纤维(支配瞳孔开大肌,使瞳孔散大)进行调节的。前者的神经传导径路同光反射传导径路(下文述及)。后者的传导径路如下;下丘脑(视束可能与下丘脑有间接联系)中枢性交感神经束中脑交叉经过脑干和颈髓第8颈髓至第2胸髓的灰质侧角(交感神经核区又称睫状脊髓中枢)发出节前纤维颈上交感神经节节后纤维入眼眶(伴随颈动脉上行)瞳孔开大肌1。当光线射入眼睛或光线的强度变大,瞳孔立即缩小;当光线移去或强度减弱,瞳孔又立即散大。这种瞳孔对光线强弱变化的反应称为瞳孔对光反射。对于正常人,当光线照射某侧眼时,被照眼瞳孔会立即缩小,对侧眼瞳孔亦同时做相同程度收缩。我们称被照眼的瞳孔反应为直接对光反射,对侧眼的瞳孔反应为间接对光反射。正眼睛动态检测系统的设计与应用研究常的瞳孔对光反射也是一个动态变化的过程,即经历短暂的潜伏期(接受刺激冲动到产生效应的时间)后,瞳孔收缩、然后放大的过程。瞳孔因光而变化,有保持在不同光照情况下进入眼内的光量较为恒定的作用。1.2 目前瞳孔监测算法的发展眼睛动态检测系统的设计与应用研究,医学领域的数字化瞳孔测量研究还较少。云南省的马原野课题组经过近5年的科研攻关,己经研制出吸毒人员瞳孔快速检测鉴定仪,应用于公安禁毒。该仪器据称仅需30秒就可以判别出是否为吸毒人员,其主要机理是利用吸毒人员瞳孔对特定光波长和光强度产生特异性动态变化进行吸食界定、生理依赖程度判别、毒品渴求程度判别。以前对吸毒人员的鉴别,依赖于尿液检测。但这种方法存在时间长、误判率高、费用高等缺陷。马原野课题组的检测设备和方法明显优于国内现有的常用方法,为确认吸毒人员工作提供了一种新的检测技术。应用于医学领域的数字化瞳孔测量研究还较少。目前国内中小型医院较多应用直尺测量、瞳孔测量板测量瞳孔,大型医院应用角膜地形图、波前像差仪等仪器测量瞳孔,或购买国外的数字化瞳孔测量仪器。国内在此方面的研究还较少,中山大学贺奇才等研制出瞳孔孔径动态变化测量分析装置,但其局限在测量出瞳孔孔径,光刺激是手工操作的。南开大学现代光学研究所的王怀军、方志良等也正在开展这方面的研究工作,进行了光学系统的设计和理论计算。综上所述,瞳孔检测方法和技术的发展经历了传统的观察法、目测法,到简易测量器的制作,再到照相技术的应用,角膜地形图的采用,红外技术和计算机的利用,发展趋势是由手工到自动,从定性描述或半定量、经验式的描述到定量测量,由静态检测到动态检测。早期检测瞳孔的方法是采用观察法。检测者手持电筒照射被检者眼睛,定性地描述瞳孔的大小及变化如,描述瞳孔偏大、偏小扩,大、缩小等。后来发展出直尺目测法,检测者采用直尺测量,开始定量表示瞳孔的大小。之后医护工作者制作出瞳孔测量板、半圆板或对照图表及瞳孔卡等,如黄正新等制作出瞳孔测量板,王瑞玲制作的瞳孔简易测量器,改进了直尺目测法。此外还有用裂隙灯估计瞳孔大小。随后研究者引进数字照相技术,发展为照相测量法,国外有使用NICkon专业自动闪光数字照相机来记录瞳孔大小。该种相机焦距17cm,最大光学变焦可放大瞳孔5倍。相机可以在瞳孔对闪光产生反应前对瞳孔拍照,所拍照片经输入计算机后以专门的图片工具软件对瞳孔边界定位、测量。再之后国外研究者发现红外线摄录技术对于检查夜视状况下的瞳孔大小具有较好重复性仁创,Colvard红外瞳孔单眼测量仪就是该项技术的产品,该仪器的像面上覆盖了一把标有刻度的直尺,度仍然偏低,且是单眼测量2。此外还有角膜地形图可测量瞳孔大小,国外的此类产品如C-SCan和AleonEyeMap等角膜地形图。WaChler等创研究了这3种角膜地形图检查瞳孔的可信度和可重复性,他们发现这些仪器因照明系统的缘故所测瞳孔直径偏小,该研究也指出角膜地形图检查瞳孔的操作者间可重复性差,因此并不可信。近年来,随着计算机等多项技术的发展和综合应用,瞳孔测量朝着自动化、数字化、精确化方向发展。目前国外已研制出应用于医学领域的数字化瞳孔测量仪。瞳孔检测作为虹膜检测识别的一个子模块,在多个领域中都有广泛的运用。在临床应用方面,GregoryM,Malham 等研究了在格拉斯哥评分(Glasgow ComaScore)低于3 分,同时伴随双侧瞳孔固定散大的严重创伤病人存活率; Matthias Behrends 等测量了在心肺复苏时候瞳孔的变化,期待瞳孔参数能够表征病人的存活状态。在心理评估方面,Arturas Kaklauskas等开发了一套智能瞳孔分析系统,用于对学生的学习进步做出评估。另外,Morad Y等连续测量2个月来29 名军队司机的各项瞳孔参数,用来评估驾驶疲劳。而在视线追踪方面也有运用,WeiX等提出了一种系统性的3D 变换算法用于精确定位瞳孔中心,该系统提高了定位的准确率,可用于较复杂的测试环境。Sung-Sub Song 等提出了一种简单而有效的瞳孔和凝视检测方法,用于头戴式的光学交互系统。现有的瞳孔检测手段,可以分为传统检测和近现代检测手段两大类。传统方法包括瞳孔尺、瞳孔计以及瞳孔对照图等,优点在于简单便捷,但是比较粗略,可重复性差,无法精确测量且在暗环境下无法完成测量3。国内外人眼的瞳孔识别和定位方面已经有了大量的研究,ZAFER SAVAS 等人利用人脸自动检测技术,首先根据比例关系在人脸上定位眼部的区域,在此基础上对人的瞳孔进行标准圆形匹配检测,完成了较好的效果。但由于人的瞳孔是椭圆形的,其利用标准圆的检测方法对瞳孔中心点定位精确度不高;BeiYan 等利用动态二值化阈值的方法,对眼部的瞳孔进行自动定位,达到了精确的定位,但是由于其检测过程中的眼部图片眼睫毛较少,因此对于外部干扰较多(例如睫毛较多)的病人的图片,其识别的效果不明显,不能精确定位瞳孔中心3;Rasoul Kheirolahy,Hossein Ebrahimmzhad 等利用眼部图片中眼睛的不同部位的颜色差别对图片中眼部的图像进行瞳孔的检测,但其检测的算法复杂度大,不能对信息量大的视频流进行实时的检测。而现代检测手段主要以数字摄像技术为主,有手持数字瞳孔测量仪,以及类似文献中使用的商业开发的仪器瞳孔参数测量仪器等,优点在于有很高的精确度,能够连续测量且有实时性,能够持续测量,缺点是对仪器的要求较高,成本偏贵。在瞳孔图像中,瞳孔与虹膜边界在几何学上可以近似为圆形,故早期瞳孔检测都是基于圆检测,典型算法有Wildes 提出的Hough 算法,精确度较高,但是计算量大;Daugman 的圆周差分法,计算速度较Hough快,但是受眼睫毛等噪声的影响。后来又当成椭圆来处理,使用最小二乘法拟合椭圆。现有的瞳孔检测算法,将粗细定位相结合,二值化初定位,然后Hough 精确定位7。1.3 本文瞳孔监测的方法本文侧重于瞳孔动态检测及应用,采用阈值化初定位,然后使用区域生长定位瞳孔,最后计算瞳孔参数。区域生长不用考虑瞳孔的形状,对于规则和非规则瞳孔同样使用,而在算法的运用中,使用了在开发动态的图像处理、计算机视觉以及模式识别程序中广泛运用的OpenCV,达到了动态处理的要求。1.4 OpenCV的介绍OpenCV的全称是Open Source Computer Vision Library,是一个开放源代码的计算机视觉库。OpenCV是最初由英特尔公司发起并开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用,现在美国Willow Garage为OpenCV提供主要的支持。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,目前在工业界以及科研领域广泛采用。OpenCV诞生Intel。Intel最初希望提供一个计算机视觉库,使之能充分发掘CP的计算能力,当然更希望以此促进 Intel 的产品的销售。OpenCV最初的开发工作是由Intel在俄罗斯的团队实现。这里面有两个关键人物,一个是Intel性能团队(Intels Performance Library Team)的李信弘(Shinn Lee)先生,他是团队的经理,负责IPP等库,给予OpenCV很大的支持。另一个关键人物是Vadim Pisarevsky,Vadim在Intel负责OpenCV的项目管理、代码集成、代码优化等工作。在后期Intel支持渐少的时候,是Vadim Pisarevsky 一直在维护着OpenCV。2007年6月李信弘和 Vadim Pisarevsky 作为嘉宾参加了在北京举行的“开放源代码计算机视觉库(OpenCV)研讨会”,并做了非常有价值的报告。在2008年,一家美国公司,Willow Garage2,开始大力支持 OpenCV,Vadim Pisarevsky和Gary Bradski都加入了Willow Garage。Gary Bradski 也是OpenCV 开发者中的元老级人物,他曾出版Leaning OpenCV一书,广受欢迎。Willow Garage 是一家机器人公司,致力于为个人机器人开发开放的硬件平台和软件。现在已经开发了 PR2 机器人,并支持 ROS、OpenCV、PCL 等软件。ROS(Robot Operating System)是用于机器人的操作系统,是一个开放源代码的软件,OpenCV作为 ROS 的视觉模块嵌入。自从获得 Willow Garage 支持后,OpenCV的更新速度明显加快。大量的新特性被加入 OpenCV 中,很多算法都是最近一两年的新的科研成果。OpenCV 正日益成为算法研究和产品开发不可缺少的工具。OpenCV1.0版本的结构图如图1.2所示,此版本包含五个模块,分别是CV模块、CXCORE模块、CVCAM模块、HighGUI模块、ML模块。图 1.2 OpenCV结构图CV模块包含五部分,分别是图像处理(如实现cvSobel,cvCanny等算法)、结构分析(如ContourArea等)、运动分析与目标跟踪(如cvMeanShift等)、模式识别(如CvHaarFeature等)、摄像头定标与三维重建(如cvCalibrateCamer等)。CXCORE模块包含六个部分,分别是基础结构(如CvPoint,CvSize,CvScalar等结构体类型的定义)、数组操作(如创建图片的函数并将数据存放到数组中cvCreateImage,cvCreateMat等函数实现数组的操作)、动态结构(如开辟内存等的结构CvMemStorage,CvMemBlock等)、绘图函数(如画线段函数和画矩形区域函数cvLine,cvRectangle等)数据保存和运行时类型信息(如存储文件和打开文件函CvFileStorage,cvOpenFileStorage等)、错误处理和系统函数(如状态的错误和内存释放等函cvGetErrStatus,cvAlloc,cvFree等)。CVCAM模块包含摄像机接口等,在Opencv1.0以后的版本中已经被移除。HighGUI模块包含三部分,分别是图像界面函数(如创建窗口函数cvNamedWindow等)、读图像和保存图像(如加载图片函数cvLoadImage,保存图片函数cvSaveImage等)、读视频和写视频(如创建视频文件函数CvCreateFileCapture等)。ML模块包含许多聚类、分类和数据分析函数。如Bayes分类器,K近邻算法,支持向量机,决策树,神经网络等等。2 瞳孔动态监测系统的构建瞳孔的动态检测需要获取清晰、高质量的眼睛图像,并对图像进行快速、准确的处理以提取特征指标。根据应用背景不同,需要检测瞳孔对光线刺激器发出不同的光波的动态变化情况。瞳孔的动态检测系统分析硬件部分和软件部分,硬件部分包括图像采集装置、光刺激器、图像处理计算机;软件部分包括光刺激器控制部分和视频图像处理部分。本章主要简单论述系统的总体设计方案和硬件部分设计方案。2.1 系统的总体结构系统框图如图2.1所示。图 2.1 瞳孔动态检测系统框图在预设定的条件下,光源照射眼睛,形成的图像被CCD摄像头接收,传输至图像采集卡,经A/D转换为数字信号送入计算机,计算机进行存储、处理、分析和管理。针对人眼面对不同光照刺激时的不同反应,本文设计专用的瞳孔对光反应检测系统。控制产生不同颜色、不同强度、不同频率的特定光刺激条件下,动态采集人眼部图像传送至计算机,经图像处理模块从视频图像中进行检测识别并标定瞳孔位置,同时获得瞳孔的各数值化参数及变化情况。2.2 系统的硬件结构瞳孔动态检测系统的硬件包括图像采集、摄像光源系统、刺激光源及控制3部分。图像采集部分实现单路采集和双路同步实时采集眼睛图像,包括单帧、序列图像采集和视频图像摄录;摄像光源系统实现拍摄眼睛图像的不同光照条件;刺激光源及控制部分是用于观察分析眼睛对光反射的特点而设计的,可以调控刺激的强度和刺激时间。2.2.1 图像采集的硬件结构这部分包括CCD摄像头、图像采集卡、计算机等。光源照射被测对象形成的图像被CCD摄像头接收,再传输至图像采集卡,输入计算机进行处理。图像采集数据传输图如图2.2所示。图 2.2 图像采集数据传输2.2.2 摄像头光源结构摄像光源系统由可见光源、红外光源、稳压电源和控制电路等构成。可见光源采用红色、绿色发射管,用作明视条件下检测光源。红外光源采用红外二极管,用作暗视条件下检测光源。可见、红外发射管均匀分布在摄像头周围。合理的排列方式有利于图像清晰采集,同时也让它们造成的亮点能均匀分布在图像预定的区域内,为后续的图像处理提供方便。由于可能需要在暗室环境下进行检测定位等操作,普通摄像头感光范围受到限制,不能采集到较理想的图像,影响到后端图像处理环节。同时,考虑到850950nm 近红外光光谱对人眼无刺激作用,故不会影响到本文所研究的瞳孔对光反应效果;且视网膜对此红外光能够反射高达百分之八九十的入射光,人眼瞳孔与相邻其他组织的反射差异性较强,在成像后将便于后端程序处理。因此,考虑到本文实际操作环境,采用具有红外背光补偿的摄像头来采集瞳孔图像。2.2.3 刺激光源与控制部分光刺激控制器和光源发光部分一起安置在刺激空间内,颜色、光强和刺激时间可调的光源发光后均匀散射到整个刺激空间积分球的内表面,实现均匀光照,进而实现构建光刺激平台。嵌入式系统中的主控制芯片选型,一般是选用具有较丰富外围 GPIO、工作主频较高以及处理性能较强的嵌入式主控制芯片,本文控制系统中与单片机相连的部分有定时器接口、与 PC 端软件通信的UART 通用串行总线接口以及与其他外设模块相连的GPIO接口等。由于要使用较多的外设接口,且要求控制模块能够降低功耗,因此本系统采用的是基于 Cortex-M3 内核的 STM32F101RBT6 ARM 芯片。 STM32 分为 STM32F103 系列和 STM32F101 系列两种。其中 STM32F103 增强型系列时钟频率为 72MHz,在同类产品中性价比最高;而STM32F101基本型时钟频率为36MHz,性价比非常高的32位产品。本文选用的基本型STM32F101RBT6足以满足要求,降低了系统成本;主要参数如下,内置128K的闪存存储器、32位Cortex-M3 CPU、6 个16 位定时器、包括 SPI、I2C 等7个通信接口,具有体积小、丰富的GPIO接口和较低的功耗,非常适合于刺激控制设备。系统需求的刺激为白色、红色、蓝色三种不同颜色刺激,考虑到颜色、光强参数及占用面积等因素,采用圆盘式对称方式将白、红、蓝三种 LED 组成一个整体。为使的光源能在球体内均匀散射,故此需三种颜色的 LED 都对称、均匀分布;同时,每种色采用串并级联以满足电流、电压在电气参数上的要求。考虑到光源模块的发光、集中发热及快速上升、下降沿的大电流通过等问题,PCB 布局布线时将同种颜色的 LED 散列分开放置使得热量可以尽快散去,同时按照圆弧对称方式布局同种 LED,避免刺激光出现明显的区域指向性;电流回路布线宜尽量宽,且在转接处保持走线渐变而不会畸变。光源板卡同样以圆形盘进行设计,如图 2.3 所示。图2.3 光源图2.3 系统的软件设计本文用Visual C+6.0+OpenCV 软件实现瞳孔的大小的计算,并且画出瞳孔视频文件中瞳孔大小的曲线图。软件设计整体框架图如图2.4所示。图 2.4 软件设计整体框架图3 瞳孔动态监测算法设计眼睛的外观图由巩膜、虹膜、瞳孔几部分构成。 可将虹膜的内外边缘近似看作两个不同心的圆,而内圆就是瞳孔。瞳孔检测算法流程图如图3.1 所示。图 3.1 瞳孔检测过程3.1 预处理由于光斑、眼睑以及浓密的睫毛等原因,使得红外瞳孔图像受到一定的噪声干扰,所以需要进行图像预处理和滤波。本文采用形态学中的基本的开运算,来对图像进行预处理。开运算由腐蚀和膨胀两个部分组成。3.1.1 腐蚀AB=Z(B)ZA使用 B 对 A 进行腐蚀运算,定义为: (3.1)其中 A是输入图像的集合,集合 B是结构元素。腐蚀处理的作用是将目标图形收缩。运算效果取决于结构元素大小内容以及逻辑运算性质。结构元素是指具有某种确定形状的基本结构元素,例如,一定大小的矩形、圆或菱形等。腐蚀处理可以表示成用结构元素对图像进行探测,找出图像中可以放下该结构元素的区域。腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的目标物4。如果两目标物间有细小的连通,可以选取足够大的结构元素,将细小连通腐蚀掉。腐蚀是消除物体的所有边界点的一种过程,其结果是使剩下的物体沿其周边比原物体小一个像素的面积。腐蚀使得目标缩小,空洞变大,同时可以去除图像中的细小斑点。腐蚀原理:(1)用结构元素B,扫描图像A的每一个像素。(2)用结构元素与其覆盖的二值图像做“与”操作。(3)如果都为1,结果图像的该像素为1;否则为0。对瞳孔图片腐蚀后的结果如下图3.2所示:图3.2 瞳孔腐蚀图3.1.2 膨胀由于A和B是Z中的集合,A 被 B 膨胀定义为: (3.2)简单的膨胀运算是将与某物体接触的所有背景点合并到该物体中的过程,其结果是使剩下的物体沿其周边比原物体大一个像素的面积。膨胀使得目标扩张,洞孔缩小,连通相近的物体4。膨胀:就是使用算法,将图像的边缘扩大些。作用就是将目标的边缘或者是内部的坑填掉。膨胀原理:(1)用结构元素B,扫描图像A的每一个像素。(2)用结构元素与其覆盖的二值图像做“或”操作。(3)如果都为0,结果图像的该像素为0。否则为1。对瞳孔图片膨胀后的结果如下图3.3所示。图 3.3 瞳孔膨胀图3.1.3 开运算使用结构元素B对集合A进行开运算,表示为AB,定义如下:AB=(AB)A (3.1)因此,用B对A进行开运算就是用B对A腐蚀,然后用B对结果进行膨胀。然腐蚀处理可以将粘连的目标物进行分离,膨胀处理可以将断开的目标物进行接续,但同时都存在一个问题,就是经过腐蚀处理后,目标物的面积小于原有面积,而经过膨胀处理之后,目标物的面积大于原有面积。开、闭运算就是为了解决这个问题而被提出的。使用同一个结构元素对图像先腐蚀再进行膨胀的运算称为开运算。开运算通常用来消除小颗粒噪声,以及断开目标物之间粘连时使用5。对象物、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。开运算通常是在需要去除小开运算具有平滑边界,滤掉比结构元素小的斑点、突刺,断开狭长连接的作用。在瞳孔检测预处理中,形态学开运算首先进行腐蚀运算,去除眉毛等比较细小部分,然后进行膨胀,这样可以恢复瞳孔原来的大小,使得瞳孔保持原始大小。对瞳孔图片开运算的结果如下图3.4所示。图3.4 瞳孔开运算图3.2 阈值分割图像分割是将数字图像分成互不重叠的区域并提取出感兴趣目标的技术。可见在图像特征提取之前重要的一部分工作就是图像分割,图像分割是图像识别和图像理解的基本前提步骤。图像分割算法一般是基于灰度的两个性质之一:不连续性和相似性。第一个性质的应用是基于灰度的不连续变化来分割图像。第二个性质的主要应用是根据事先制定的准则将图像分割为相似的区域6。图像分割是一种重要的图像技术,在理论研究和实际应用中都得到了人们的广泛重视。图像分割的方法和种类有很多,有些分割运算可直接应用于任何图像,而另一些只能适用于特殊类别的图像。有些算法需要先对图像进行粗分割,因为他们需要从图像中提取出来的信息。阈值分割法分为全局阈值法和局部阈值分割法。局部阈值分割法是将原始图像划分成较小的图像,并对每个子图像选取相应的阈值。全局阈值分割方法在图像处理中应用比较多,它在整幅图像内采用固定的阈值分割图像。经典的阈值选取以灰度直方图为处理对象。本实验以采用全局阈值分割,将一幅灰度图像转换成黑白二值图像。操作过程是先由用户规定一个阈值,如果图像中像素的灰度值小于该阈值,则将该像素的灰度值设置为0,否则将灰度值设置为255。灰度的阈值变换的变换函数表达式如下: 其中T为规定的阈值。若图像中目标和背景具有不同的灰度集合:目标灰度集合与背景灰度集合,且两个灰度集合可用一个灰度级阈值T进行分割。这样就可以用阈值分割灰度级的方法在图像中分割出目标区域与背景区域,这种方法称为灰度阈值分割方法。在物体与背景有较强的对比度的图像中,此种方法应用特别有效。比如说物体内部灰度分布均匀一致,背景在另一个灰度级上也分布均匀,这时利用阈值可以将目标与背景分割得很好。如果目标和背景的差别是某些其他特征而不是灰度特征时,那么先将这些特征差别转化为灰度差别,然后再应用阈值分割方法进行处理,这样使用阈值分割技术也可能是有效的。除非图像中的物体有陡峭的边沿,否则灰度阈值的取值对所抽取物体的边界的定位和整体的尺寸有很大的影响。这意味着后续的尺寸(特别是面积)的测量对于灰度阈值的选择很敏感。由于这个原因,我们需要一个最佳的,或至少是具有一致性的方法确定阈值。根据资料查询可知瞳孔红外图像有其灰度分布特点,瞳孔、虹膜和巩膜三者的灰度值有如下关系: 瞳孔灰度 虹膜灰度 巩膜灰度7,所以图像中灰度最小的区域即是瞳孔所在区域。阈值化算法是一种简单、高效的图像分割方法。具体步骤是先找到灰度直方图,选择合适的阈值,对图像中任意一点像素f(x,y)与阈值T进行判断,大于阈值的点标记为1,小于阈值的点标记为0。合适的阈值选择是关键,常用的阈值分割方法有:基本阈值、半阈值、最优阈值等方法。本文先采用基本灰度阈值法进行粗定位,先分离出瞳孔的绝大部分。通过分析瞳孔图像的直方图,可以发现瞳孔绝大部分的灰度值低于50。对原图使用阈值 T =38来进行二值化阈值分割,结果如图3.5 所示。值得说明的是,在后面的实现系统中,也是采用固定阈值来进行瞳孔粗分割。这样处理,既节约了阈值选择所花费的时间消耗,也达到了分割出大部分瞳孔的目的。图 3.5 灰度直方图3.3 二值化将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。图像二值化也叫图像黑白化,那么,彩色图像黑白化处理通常有三种方法:最大值法、平均值法、加权平均值法,公式法 。下面详细介绍四种方法的原理:最大值法:最大值法是每个像素点的RGB值等于原像素点的RGB值中最大的一个,即R=G=B=MAX( R,G,B );效果,最大值产生亮度很高的黑白图像。平均值法:平均值法使每个像素点的RGB值等于原像素点的RGB值的平均值,即R=G=B=(R+G+B)/3。加权平均法:加权平均法根据需要指定每个像素点RGB的权数,并取其加权平均值,即R=G=B=(Wr*R+Wg*G+Wb*B )/3,Wr、Wg、Wb表示RGB的权数,均大于零,通过取不同的权数可实现不同的效果。公式法:gray=0.3*R+0.59*G+0.11*B (3.5)其中R、G、B为RGB的像素值。3.4 种子点定位可以对二值化后的瞳孔图像的水平和垂直两个方向进行灰度值投影,沿坐标轴方向的进行灰度值加值。设图像尺寸大小是 m n,则得到:水平投影: 垂直投影: 而本文仅对灰度值为0的点进行统计,在二值化后的瞳孔图像中沿着水平和垂直两个方向进行扫描。绘制垂直和水平方向上的统计,最后找到两个方向上像素个数累加值最大点所在的位置,则得到位于瞳孔中种子点的坐标(Xmax(i),Ymax(j))。如果原图的尺寸较大,那么在整个运算过程中,种子点的查找会消耗大量的时间。为了提高查找种子点的速度,在整个算法流程中,在以下两个部分做了改进和优化。在对原图进行了预处理后,图像去除了光斑、睫毛等影响,然后可以对其进行缩小处理,得到原图的缩略图。假设缩略图的宽和长度都为原图的 1/2,那么缩略图的面积将变为原图的 1/4,这样查找种子点的运算量将大大减小。在缩略图中找到种子点后,然后将其横纵坐标按照缩小比例进行放大,就可以得到在原始图像中种子点的坐标了。3.5 区域生长法阈值分割法由于没有或很少考虑空间关系,使多阈值选择受到限制,基于区域的分割方法可以弥补这点不足。该方法利用的是图像的空间性质,认为分割出来的属于同一区域的像素应具有相似的性质,传统的区域分割法有区域生长法和分裂合并法。本文用区域生长法来达到空间分割。区域生长的基本思想是将具有相似性质的像素集合起来构成区域。具体先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围领域中与种子像素有相同或相似性质的像素合并到种子像素所在的区域中。将这些新像素当作新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来,这样一个区域就长成了。在实际应用区域生长法是需要解决三个问题:(1)确定一组能正确代表所需区域的种子像素;(2)确定在生长过程中能将像素包括进来的准则;(3)制定让生长过程停止的条件或规则。区域生长的关键就是选择合适的生长或相似准则,大部分区域生长准则使用图像的局部性质。生长准则可根据不同原则制定,而使用不同的生长准则会影响区域生长的过程,三种基本的生长准则和方法:(1)基于区域灰度差基于区域灰度差的方法主要有如下步骤:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玛丽波尔卡打击乐课件
- 市场监管放心码信息归集和公示规范编制说明
- 安全教育活动培训制度内容课件
- 狼和鸭子课件
- 高校青蓝工程方案(3篇)
- 电池碰撞实验工程方案(3篇)
- 牧场安全规范培训内容
- 农业品牌创新驱动:2025年资金申请战略研究报告
- 历年保研面试题库及答案
- 安全教育培训通知书课件
- 专业技术职务资格申报材料真实性承诺书
- 脓毒症指南课件
- 生产副总经理岗位职责标准版本(五篇)
- 对颈椎概念和命名的再认识
- 淀粉与变性淀粉知识
- 华为信息安全宣传
- 物业管理供方管理程序
- GB/T 37642-2019聚己内酯(PCL)
- GB/T 3730.2-1996道路车辆质量词汇和代码
- GB 25585-2010食品安全国家标准食品添加剂氯化钾
- 设计文件审核记录表(模本)
评论
0/150
提交评论