毕业论文-瞳孔动态监测系统的研究与开发.docx

上传人:西安人 文档编号:3942132 上传时间:2019-10-10 格式:DOCX 页数:81 大小:1.64MB
返回 下载 相关 举报
毕业论文-瞳孔动态监测系统的研究与开发.docx_第1页
第1页 / 共81页
毕业论文-瞳孔动态监测系统的研究与开发.docx_第2页
第2页 / 共81页
毕业论文-瞳孔动态监测系统的研究与开发.docx_第3页
第3页 / 共81页
毕业论文-瞳孔动态监测系统的研究与开发.docx_第4页
第4页 / 共81页
毕业论文-瞳孔动态监测系统的研究与开发.docx_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《毕业论文-瞳孔动态监测系统的研究与开发.docx》由会员分享,可在线阅读,更多相关《毕业论文-瞳孔动态监测系统的研究与开发.docx(81页珍藏版)》请在三一文库上搜索。

1、沈阳理工大学学士学位论文瞳孔动态监测系统的研究与开发摘 要本文以红外线条件下录制的瞳孔视频为处理对象,对瞳孔视频进行预处理,得到用特殊颜色标识的瞳孔视频为输出。通过对视频文件的逐帧采集,对采集的帧图像,进行图像处理得到瞳孔的面积大小并用特殊颜色标识瞳孔,然后进行帧合成为视频输出文件。本文采用对采集的帧图像进行腐蚀、膨胀、开运算、二值化等图像预处理的方法,并用区域生长算法得到瞳孔的区域,从而计算出瞳孔区域的相对像素数,可以计算出瞳孔面积大小,并绘制瞳孔面积变化曲线,然后将处理后的图像帧合成为视频输出文件,从而实现瞳孔的动态分析。本文对帧的处理是基于二值化的粗定位和区域生长方法相结合的方法,能有效

2、检测因病变而呈不规则圆形的瞳孔,简单而且快速。首先使用形态学开运算进行预处理,去除睫毛和亮斑的影响且保持原有瞳孔大小,同时生成缩略图;然后生成二值阈值化图像,进行水平和垂直投影,找到极值点,将其作为种子点;最后用区域生长算法得到精确的瞳孔区域。基于以上的处理方法,采用OpenCV、VC+编程工具,编程实现了瞳孔动态监测系统的软件部分。关键词:二值化;开运算;区域生长法;瞳孔定位;C+AbstractBased on the infrared body under the condition of recording pupil video as treatment object, the pu

3、pil 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 ad

4、opts 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 synthes

5、ize 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 les

6、ions, 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 extrem

7、e 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; r

8、egion 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瞳

9、孔动态监测系统的模块设计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函数的使用附录71771 绪 论1.1 课题研

10、究背景及意义眼睛是人类最重要的感觉器官,人体从外界接收的信息中,有一半的信息都是通过眼睛获取的。眼睛不仅是观察世界的“取景器”,还是透视人体内部状况的一扇天窗,折射出人体的征象。瞳孔图如图1.1所示。眼睛中虹膜、瞳孔的形状、颜色、大小;眼球的左、右、上、下运动状况;眼睑的开闭状况都不仅反映眼睛的状态,也透视出人体内的组织、器官、系统的状况。根据人眼视觉功能中瞳孔特殊的感光特性,可通过瞳孔对光反应的异常状态帮助诊断神经、机能的病变。瞳孔对光反应(Pupillary Light Reflex, PLR)的含义为,当受试者注视正前方,光线刺激从眼旁移到眼前垂直照射瞳孔,正常时感光的瞳孔敏捷地缩小,解

11、除光照瞳孔即又开大,称为直接光反应。未直接感光的瞳孔也相应出现放大缩小的情况,称为间接光反应。持续感光的瞳孔,可出现轻微的缩小与开大相交替现象。同时可发现在检查浅昏迷状态的病人,则此现象表现迟钝,而对于深昏迷者则该现象消失。瞳孔若感光超过一定时间,原已缩小的瞳孔稍微扩展。瞳孔对光反应的信息传递通路为:视网膜接受光刺激,视神经和视束传递信息,经上丘到达中脑盖前区,反馈信息驱动动眼神经支配瞳孔控制肌肉进行收缩、放大。图1.1 瞳孔平面图例如,当人在注视自己喜爱的人或感兴趣的东西时,瞳孔往往会扩大,而看到自己厌恶的人或物时,瞳孔往往会缩小,反映出人的心理状态;心理负荷增大和紧张程度的增加都会使瞳孔放

12、大,瞳孔也反映脑力负荷,可作为评价脑力负荷的一个可靠指标。眼睑的开闭情况可反映人体是否疲劳,实时获取驾驶员眼睛图像信息以判断疲劳状况成为一种可行的方法;医学上己经发现眼睛与全身的组织、器官存在密切联系;不少身体疾病可在眼部引起特定的反应或并发症,而眼部疾病也往往是身体疾病的原因,所以检测眼睛也就成为诊断疾病的重要途径。正常的瞳孔为圆形,黑色透明,两侧等大。除生理调节变化外,如瞳孔扩大多见于颅脑外伤、脑血管病、重症的乙型脑炎、化脓性脑膜炎等;若伴有光反射消失、眼球固定、深昏迷等,多为原发性脑干损伤或临终前征象;瞳孔缩小多见于乙醇(又称酒精)中毒、安眠药中毒以及老年人的脑桥肿瘤、脑桥出血,也可见于

13、糖尿病。另外,有机磷、吗啡中毒甚至可出现针尖样瞳孔;若伴有光反射迟钝、中枢性高热、深昏迷,为脑桥损伤表现;两侧瞳孔大小不等常见于脑出血、脑梗死、脑肿瘤等;两侧瞳孔大小多变伴有光反射消失、眼球分离或异位,多为中脑损伤表现。由医学理论可知, 瞳孔直径的变化受交感和副交感神经的双重支配,而且交感和副交感神经均为自主神经,不受人的主观意愿影响1。人体瞳孔的大小除了随光线的强弱变化外,还与年龄大小、屈光和生理状态等因素有关。通过对人眼瞳孔的精确定位检测,可使得眼科手术的安全性和可靠性得到极大的提升,同时在医疗器械眼科辅助检查方面提供精确的数据支持;通过对人眼瞳孔的检测跟踪,根据瞳孔大小参数和人眼的开闭时

14、间来判断驾驶员是否疲劳驾驶,可主动性地减少交通事故的发生;通过对人眼瞳孔的定位检测,可对人的注视点及注视行为等进行检测、分析,实现眼动、人工智能方面的控制;通过对人眼瞳孔的定位检测及跟踪,可了解并进而分析人的心理状态,从侧面解决人类的交流问题;通过对人眼瞳孔的定位检测,为基于生物特征识别技术的人脸识别和虹膜识别等应用研究提供坚实的研究基础;通过对人眼瞳孔的定位及跟踪,可分析人的精神状态,分析神经系统的反应及病变1。针对人眼瞳孔检测与跟踪技术的研究,涉及到医学、心理学、生理学、模式识别、人工智能、计算机视觉与图像分析等多个学科领域,更是模式识别、图像处理和计算机视觉的复杂的综合性课题。瞳孔动态特

15、性的研究在国内外一直是心理科学和生理科学研究的 一个重要领域。早在1994 年,Scinto 等人2提出利用扩瞳试验作为老年性痴呆(alzheimer disease, AD)早期诊断的可能性。程文红等人3对瞳孔在药物(0. 01% 托吡卡胺)刺激下的动态变化进行了研究,得到相似结果。近年来,关于眼睛检测的应用研究正不断扩展,眼睛的定位在计算机视觉方面有着极其重要的研究和应用。瞳孔位于虹膜中央稍偏鼻下方,近似圆形。其大小及反应由瞳孔括约肌和瞳孔开大肌所控制,分别通过副交感神经和交感神经支配,这两种神经相互协调、相互制约,控制着瞳孔的形态变化。瞳孔本身具有生理性的瞬时波动,其大小无时不在变化,而

16、且可因光线、注视目标远近、年龄、屈光状态、种族、虹膜色素多少、睡眠与觉醒、情绪的不同等因素而变化。因此瞳孔即使在不受刺激的情况下其实也是一个动态的过程,只是平常我们的肉眼察觉不到瞳孔的这种微弱的变化而己。瞳孔的调节是由动眼神经的副交感神经纤维(支配瞳孔括约肌,使瞳孔缩小)和来自颈上交感神经节的交感神经纤维(支配瞳孔开大肌,使瞳孔散大)进行调节的。前者的神经传导径路同光反射传导径路(下文述及)。后者的传导径路如下;下丘脑(视束可能与下丘脑有间接联系)中枢性交感神经束中脑交叉经过脑干和颈髓第8颈髓至第2胸髓的灰质侧角(交感神经核区又称睫状脊髓中枢)发出节前纤维颈上交感神经节节后纤维入眼眶(伴随颈动

17、脉上行)瞳孔开大肌1。当光线射入眼睛或光线的强度变大,瞳孔立即缩小;当光线移去或强度减弱,瞳孔又立即散大。这种瞳孔对光线强弱变化的反应称为瞳孔对光反射。对于正常人,当光线照射某侧眼时,被照眼瞳孔会立即缩小,对侧眼瞳孔亦同时做相同程度收缩。我们称被照眼的瞳孔反应为直接对光反射,对侧眼的瞳孔反应为间接对光反射。正眼睛动态检测系统的设计与应用研究常的瞳孔对光反射也是一个动态变化的过程,即经历短暂的潜伏期(接受刺激冲动到产生效应的时间)后,瞳孔收缩、然后放大的过程。瞳孔因光而变化,有保持在不同光照情况下进入眼内的光量较为恒定的作用。1.2 目前瞳孔监测算法的发展眼睛动态检测系统的设计与应用研究,医学领

18、域的数字化瞳孔测量研究还较少。云南省的马原野课题组经过近5年的科研攻关,己经研制出吸毒人员瞳孔快速检测鉴定仪,应用于公安禁毒。该仪器据称仅需30秒就可以判别出是否为吸毒人员,其主要机理是利用吸毒人员瞳孔对特定光波长和光强度产生特异性动态变化进行吸食界定、生理依赖程度判别、毒品渴求程度判别。以前对吸毒人员的鉴别,依赖于尿液检测。但这种方法存在时间长、误判率高、费用高等缺陷。马原野课题组的检测设备和方法明显优于国内现有的常用方法,为确认吸毒人员工作提供了一种新的检测技术。应用于医学领域的数字化瞳孔测量研究还较少。目前国内中小型医院较多应用直尺测量、瞳孔测量板测量瞳孔,大型医院应用角膜地形图、波前像

19、差仪等仪器测量瞳孔,或购买国外的数字化瞳孔测量仪器。国内在此方面的研究还较少,中山大学贺奇才等研制出瞳孔孔径动态变化测量分析装置,但其局限在测量出瞳孔孔径,光刺激是手工操作的。南开大学现代光学研究所的王怀军、方志良等也正在开展这方面的研究工作,进行了光学系统的设计和理论计算。综上所述,瞳孔检测方法和技术的发展经历了传统的观察法、目测法,到简易测量器的制作,再到照相技术的应用,角膜地形图的采用,红外技术和计算机的利用,发展趋势是由手工到自动,从定性描述或半定量、经验式的描述到定量测量,由静态检测到动态检测。早期检测瞳孔的方法是采用观察法。检测者手持电筒照射被检者眼睛,定性地描述瞳孔的大小及变化如

20、,描述瞳孔偏大、偏小扩,大、缩小等。后来发展出直尺目测法,检测者采用直尺测量,开始定量表示瞳孔的大小。之后医护工作者制作出瞳孔测量板、半圆板或对照图表及瞳孔卡等,如黄正新等制作出瞳孔测量板,王瑞玲制作的瞳孔简易测量器,改进了直尺目测法。此外还有用裂隙灯估计瞳孔大小。随后研究者引进数字照相技术,发展为照相测量法,国外有使用NICkon专业自动闪光数字照相机来记录瞳孔大小。该种相机焦距17cm,最大光学变焦可放大瞳孔5倍。相机可以在瞳孔对闪光产生反应前对瞳孔拍照,所拍照片经输入计算机后以专门的图片工具软件对瞳孔边界定位、测量。再之后国外研究者发现红外线摄录技术对于检查夜视状况下的瞳孔大小具有较好重

21、复性仁创,Colvard红外瞳孔单眼测量仪就是该项技术的产品,该仪器的像面上覆盖了一把标有刻度的直尺,度仍然偏低,且是单眼测量2。此外还有角膜地形图可测量瞳孔大小,国外的此类产品如C-SCan和AleonEyeMap等角膜地形图。WaChler等创研究了这3种角膜地形图检查瞳孔的可信度和可重复性,他们发现这些仪器因照明系统的缘故所测瞳孔直径偏小,该研究也指出角膜地形图检查瞳孔的操作者间可重复性差,因此并不可信。近年来,随着计算机等多项技术的发展和综合应用,瞳孔测量朝着自动化、数字化、精确化方向发展。目前国外已研制出应用于医学领域的数字化瞳孔测量仪。瞳孔检测作为虹膜检测识别的一个子模块,在多个领

22、域中都有广泛的运用。在临床应用方面,GregoryM,Malham 等研究了在格拉斯哥评分(Glasgow ComaScore)低于3 分,同时伴随双侧瞳孔固定散大的严重创伤病人存活率; Matthias Behrends 等测量了在心肺复苏时候瞳孔的变化,期待瞳孔参数能够表征病人的存活状态。在心理评估方面,Arturas Kaklauskas等开发了一套智能瞳孔分析系统,用于对学生的学习进步做出评估。另外,Morad Y等连续测量2个月来29 名军队司机的各项瞳孔参数,用来评估驾驶疲劳。而在视线追踪方面也有运用,WeiX等提出了一种系统性的3D 变换算法用于精确定位瞳孔中心,该系统提高了定位

23、的准确率,可用于较复杂的测试环境。Sung-Sub Song 等提出了一种简单而有效的瞳孔和凝视检测方法,用于头戴式的光学交互系统。现有的瞳孔检测手段,可以分为传统检测和近现代检测手段两大类。传统方法包括瞳孔尺、瞳孔计以及瞳孔对照图等,优点在于简单便捷,但是比较粗略,可重复性差,无法精确测量且在暗环境下无法完成测量3。国内外人眼的瞳孔识别和定位方面已经有了大量的研究,ZAFER SAVAS 等人利用人脸自动检测技术,首先根据比例关系在人脸上定位眼部的区域,在此基础上对人的瞳孔进行标准圆形匹配检测,完成了较好的效果。但由于人的瞳孔是椭圆形的,其利用标准圆的检测方法对瞳孔中心点定位精确度不高;Be

24、iYan 等利用动态二值化阈值的方法,对眼部的瞳孔进行自动定位,达到了精确的定位,但是由于其检测过程中的眼部图片眼睫毛较少,因此对于外部干扰较多(例如睫毛较多)的病人的图片,其识别的效果不明显,不能精确定位瞳孔中心3;Rasoul Kheirolahy,Hossein Ebrahimmzhad 等利用眼部图片中眼睛的不同部位的颜色差别对图片中眼部的图像进行瞳孔的检测,但其检测的算法复杂度大,不能对信息量大的视频流进行实时的检测。而现代检测手段主要以数字摄像技术为主,有手持数字瞳孔测量仪,以及类似文献中使用的商业开发的仪器瞳孔参数测量仪器等,优点在于有很高的精确度,能够连续测量且有实时性,能够持

25、续测量,缺点是对仪器的要求较高,成本偏贵。在瞳孔图像中,瞳孔与虹膜边界在几何学上可以近似为圆形,故早期瞳孔检测都是基于圆检测,典型算法有Wildes 提出的Hough 算法,精确度较高,但是计算量大;Daugman 的圆周差分法,计算速度较Hough快,但是受眼睫毛等噪声的影响。后来又当成椭圆来处理,使用最小二乘法拟合椭圆。现有的瞳孔检测算法,将粗细定位相结合,二值化初定位,然后Hough 精确定位7。1.3 本文瞳孔监测的方法本文侧重于瞳孔动态检测及应用,采用阈值化初定位,然后使用区域生长定位瞳孔,最后计算瞳孔参数。区域生长不用考虑瞳孔的形状,对于规则和非规则瞳孔同样使用,而在算法的运用中,

26、使用了在开发动态的图像处理、计算机视觉以及模式识别程序中广泛运用的OpenCV,达到了动态处理的要求。1.4 OpenCV的介绍OpenCV的全称是Open Source Computer Vision Library,是一个开放源代码的计算机视觉库。OpenCV是最初由英特尔公司发起并开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用,现在美国Willow Garage为OpenCV提供主要的支持。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,目前在工业界以及科研领域广泛采用。OpenCV诞生Intel。Intel最初希望提供一个计算机视觉库,使之能充分发掘CP

27、的计算能力,当然更希望以此促进 Intel 的产品的销售。OpenCV最初的开发工作是由Intel在俄罗斯的团队实现。这里面有两个关键人物,一个是Intel性能团队(Intels Performance Library Team)的李信弘(Shinn Lee)先生,他是团队的经理,负责IPP等库,给予OpenCV很大的支持。另一个关键人物是Vadim Pisarevsky,Vadim在Intel负责OpenCV的项目管理、代码集成、代码优化等工作。在后期Intel支持渐少的时候,是Vadim Pisarevsky 一直在维护着OpenCV。2007年6月李信弘和 Vadim Pisarevsk

28、y 作为嘉宾参加了在北京举行的“开放源代码计算机视觉库(OpenCV)研讨会”,并做了非常有价值的报告。在2008年,一家美国公司,Willow Garage2,开始大力支持 OpenCV,Vadim Pisarevsky和Gary Bradski都加入了Willow Garage。Gary Bradski 也是OpenCV 开发者中的元老级人物,他曾出版Leaning OpenCV一书,广受欢迎。Willow Garage 是一家机器人公司,致力于为个人机器人开发开放的硬件平台和软件。现在已经开发了 PR2 机器人,并支持 ROS、OpenCV、PCL 等软件。ROS(Robot Opera

29、ting System)是用于机器人的操作系统,是一个开放源代码的软件,OpenCV作为 ROS 的视觉模块嵌入。自从获得 Willow Garage 支持后,OpenCV的更新速度明显加快。大量的新特性被加入 OpenCV 中,很多算法都是最近一两年的新的科研成果。OpenCV 正日益成为算法研究和产品开发不可缺少的工具。OpenCV1.0版本的结构图如图1.2所示,此版本包含五个模块,分别是CV模块、CXCORE模块、CVCAM模块、HighGUI模块、ML模块。图 1.2 OpenCV结构图CV模块包含五部分,分别是图像处理(如实现cvSobel,cvCanny等算法)、结构分析(如Co

30、ntourArea等)、运动分析与目标跟踪(如cvMeanShift等)、模式识别(如CvHaarFeature等)、摄像头定标与三维重建(如cvCalibrateCamer等)。CXCORE模块包含六个部分,分别是基础结构(如CvPoint,CvSize,CvScalar等结构体类型的定义)、数组操作(如创建图片的函数并将数据存放到数组中cvCreateImage,cvCreateMat等函数实现数组的操作)、动态结构(如开辟内存等的结构CvMemStorage,CvMemBlock等)、绘图函数(如画线段函数和画矩形区域函数cvLine,cvRectangle等)数据保存和运行时类型信息(

31、如存储文件和打开文件函CvFileStorage,cvOpenFileStorage等)、错误处理和系统函数(如状态的错误和内存释放等函cvGetErrStatus,cvAlloc,cvFree等)。CVCAM模块包含摄像机接口等,在Opencv1.0以后的版本中已经被移除。HighGUI模块包含三部分,分别是图像界面函数(如创建窗口函数cvNamedWindow等)、读图像和保存图像(如加载图片函数cvLoadImage,保存图片函数cvSaveImage等)、读视频和写视频(如创建视频文件函数CvCreateFileCapture等)。ML模块包含许多聚类、分类和数据分析函数。如Bayes

32、分类器,K近邻算法,支持向量机,决策树,神经网络等等。2 瞳孔动态监测系统的构建瞳孔的动态检测需要获取清晰、高质量的眼睛图像,并对图像进行快速、准确的处理以提取特征指标。根据应用背景不同,需要检测瞳孔对光线刺激器发出不同的光波的动态变化情况。瞳孔的动态检测系统分析硬件部分和软件部分,硬件部分包括图像采集装置、光刺激器、图像处理计算机;软件部分包括光刺激器控制部分和视频图像处理部分。本章主要简单论述系统的总体设计方案和硬件部分设计方案。2.1 系统的总体结构系统框图如图2.1所示。图 2.1 瞳孔动态检测系统框图在预设定的条件下,光源照射眼睛,形成的图像被CCD摄像头接收,传输至图像采集卡,经A

33、/D转换为数字信号送入计算机,计算机进行存储、处理、分析和管理。针对人眼面对不同光照刺激时的不同反应,本文设计专用的瞳孔对光反应检测系统。控制产生不同颜色、不同强度、不同频率的特定光刺激条件下,动态采集人眼部图像传送至计算机,经图像处理模块从视频图像中进行检测识别并标定瞳孔位置,同时获得瞳孔的各数值化参数及变化情况。2.2 系统的硬件结构瞳孔动态检测系统的硬件包括图像采集、摄像光源系统、刺激光源及控制3部分。图像采集部分实现单路采集和双路同步实时采集眼睛图像,包括单帧、序列图像采集和视频图像摄录;摄像光源系统实现拍摄眼睛图像的不同光照条件;刺激光源及控制部分是用于观察分析眼睛对光反射的特点而设

34、计的,可以调控刺激的强度和刺激时间。2.2.1 图像采集的硬件结构这部分包括CCD摄像头、图像采集卡、计算机等。光源照射被测对象形成的图像被CCD摄像头接收,再传输至图像采集卡,输入计算机进行处理。图像采集数据传输图如图2.2所示。图 2.2 图像采集数据传输2.2.2 摄像头光源结构摄像光源系统由可见光源、红外光源、稳压电源和控制电路等构成。可见光源采用红色、绿色发射管,用作明视条件下检测光源。红外光源采用红外二极管,用作暗视条件下检测光源。可见、红外发射管均匀分布在摄像头周围。合理的排列方式有利于图像清晰采集,同时也让它们造成的亮点能均匀分布在图像预定的区域内,为后续的图像处理提供方便。由

35、于可能需要在暗室环境下进行检测定位等操作,普通摄像头感光范围受到限制,不能采集到较理想的图像,影响到后端图像处理环节。同时,考虑到850950nm 近红外光光谱对人眼无刺激作用,故不会影响到本文所研究的瞳孔对光反应效果;且视网膜对此红外光能够反射高达百分之八九十的入射光,人眼瞳孔与相邻其他组织的反射差异性较强,在成像后将便于后端程序处理。因此,考虑到本文实际操作环境,采用具有红外背光补偿的摄像头来采集瞳孔图像。2.2.3 刺激光源与控制部分光刺激控制器和光源发光部分一起安置在刺激空间内,颜色、光强和刺激时间可调的光源发光后均匀散射到整个刺激空间积分球的内表面,实现均匀光照,进而实现构建光刺激平

36、台。嵌入式系统中的主控制芯片选型,一般是选用具有较丰富外围 GPIO、工作主频较高以及处理性能较强的嵌入式主控制芯片,本文控制系统中与单片机相连的部分有定时器接口、与 PC 端软件通信的UART 通用串行总线接口以及与其他外设模块相连的GPIO接口等。由于要使用较多的外设接口,且要求控制模块能够降低功耗,因此本系统采用的是基于 Cortex-M3 内核的 STM32F101RBT6 ARM 芯片。 STM32 分为 STM32F103 系列和 STM32F101 系列两种。其中 STM32F103 增强型系列时钟频率为 72MHz,在同类产品中性价比最高;而STM32F101基本型时钟频率为3

37、6MHz,性价比非常高的32位产品。本文选用的基本型STM32F101RBT6足以满足要求,降低了系统成本;主要参数如下,内置128K的闪存存储器、32位Cortex-M3 CPU、6 个16 位定时器、包括 SPI、I2C 等7个通信接口,具有体积小、丰富的GPIO接口和较低的功耗,非常适合于刺激控制设备。系统需求的刺激为白色、红色、蓝色三种不同颜色刺激,考虑到颜色、光强参数及占用面积等因素,采用圆盘式对称方式将白、红、蓝三种 LED 组成一个整体。为使的光源能在球体内均匀散射,故此需三种颜色的 LED 都对称、均匀分布;同时,每种色采用串并级联以满足电流、电压在电气参数上的要求。考虑到光源

38、模块的发光、集中发热及快速上升、下降沿的大电流通过等问题,PCB 布局布线时将同种颜色的 LED 散列分开放置使得热量可以尽快散去,同时按照圆弧对称方式布局同种 LED,避免刺激光出现明显的区域指向性;电流回路布线宜尽量宽,且在转接处保持走线渐变而不会畸变。光源板卡同样以圆形盘进行设计,如图 2.3 所示。图2.3 光源图2.3 系统的软件设计本文用Visual C+6.0+OpenCV 软件实现瞳孔的大小的计算,并且画出瞳孔视频文件中瞳孔大小的曲线图。软件设计整体框架图如图2.4所示。图 2.4 软件设计整体框架图3 瞳孔动态监测算法设计眼睛的外观图由巩膜、虹膜、瞳孔几部分构成。 可将虹膜的

39、内外边缘近似看作两个不同心的圆,而内圆就是瞳孔。瞳孔检测算法流程图如图3.1 所示。图 3.1 瞳孔检测过程3.1 预处理由于光斑、眼睑以及浓密的睫毛等原因,使得红外瞳孔图像受到一定的噪声干扰,所以需要进行图像预处理和滤波。本文采用形态学中的基本的开运算,来对图像进行预处理。开运算由腐蚀和膨胀两个部分组成。3.1.1 腐蚀AB=Z(B)ZA使用 B 对 A 进行腐蚀运算,定义为: (3.1)其中 A是输入图像的集合,集合 B是结构元素。腐蚀处理的作用是将目标图形收缩。运算效果取决于结构元素大小内容以及逻辑运算性质。结构元素是指具有某种确定形状的基本结构元素,例如,一定大小的矩形、圆或菱形等。腐

40、蚀处理可以表示成用结构元素对图像进行探测,找出图像中可以放下该结构元素的区域。腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的目标物4。如果两目标物间有细小的连通,可以选取足够大的结构元素,将细小连通腐蚀掉。腐蚀是消除物体的所有边界点的一种过程,其结果是使剩下的物体沿其周边比原物体小一个像素的面积。腐蚀使得目标缩小,空洞变大,同时可以去除图像中的细小斑点。腐蚀原理:(1)用结构元素B,扫描图像A的每一个像素。(2)用结构元素与其覆盖的二值图像做“与”操作。(3)如果都为1,结果图像的该像素为1;否则为0。对瞳孔图片腐蚀后的结果如下图3.2所示:图3.2 瞳孔腐蚀图3.1.

41、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,定义如下:

42、AB=(AB)A (3.1)因此,用B对A进行开运算就是用B对A腐蚀,然后用B对结果进行膨胀。然腐蚀处理可以将粘连的目标物进行分离,膨胀处理可以将断开的目标物进行接续,但同时都存在一个问题,就是经过腐蚀处理后,目标物的面积小于原有面积,而经过膨胀处理之后,目标物的面积大于原有面积。开、闭运算就是为了解决这个问题而被提出的。使用同一个结构元素对图像先腐蚀再进行膨胀的运算称为开运算。开运算通常用来消除小颗粒噪声,以及断开目标物之间粘连时使用5。对象物、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。开运算通常是在需要去除小开运算具有平滑边界,滤掉比结构元素小的斑点、突刺,断开狭长连

43、接的作用。在瞳孔检测预处理中,形态学开运算首先进行腐蚀运算,去除眉毛等比较细小部分,然后进行膨胀,这样可以恢复瞳孔原来的大小,使得瞳孔保持原始大小。对瞳孔图片开运算的结果如下图3.4所示。图3.4 瞳孔开运算图3.2 阈值分割图像分割是将数字图像分成互不重叠的区域并提取出感兴趣目标的技术。可见在图像特征提取之前重要的一部分工作就是图像分割,图像分割是图像识别和图像理解的基本前提步骤。图像分割算法一般是基于灰度的两个性质之一:不连续性和相似性。第一个性质的应用是基于灰度的不连续变化来分割图像。第二个性质的主要应用是根据事先制定的准则将图像分割为相似的区域6。图像分割是一种重要的图像技术,在理论研

44、究和实际应用中都得到了人们的广泛重视。图像分割的方法和种类有很多,有些分割运算可直接应用于任何图像,而另一些只能适用于特殊类别的图像。有些算法需要先对图像进行粗分割,因为他们需要从图像中提取出来的信息。阈值分割法分为全局阈值法和局部阈值分割法。局部阈值分割法是将原始图像划分成较小的图像,并对每个子图像选取相应的阈值。全局阈值分割方法在图像处理中应用比较多,它在整幅图像内采用固定的阈值分割图像。经典的阈值选取以灰度直方图为处理对象。本实验以采用全局阈值分割,将一幅灰度图像转换成黑白二值图像。操作过程是先由用户规定一个阈值,如果图像中像素的灰度值小于该阈值,则将该像素的灰度值设置为0,否则将灰度值

45、设置为255。灰度的阈值变换的变换函数表达式如下: 其中T为规定的阈值。若图像中目标和背景具有不同的灰度集合:目标灰度集合与背景灰度集合,且两个灰度集合可用一个灰度级阈值T进行分割。这样就可以用阈值分割灰度级的方法在图像中分割出目标区域与背景区域,这种方法称为灰度阈值分割方法。在物体与背景有较强的对比度的图像中,此种方法应用特别有效。比如说物体内部灰度分布均匀一致,背景在另一个灰度级上也分布均匀,这时利用阈值可以将目标与背景分割得很好。如果目标和背景的差别是某些其他特征而不是灰度特征时,那么先将这些特征差别转化为灰度差别,然后再应用阈值分割方法进行处理,这样使用阈值分割技术也可能是有效的。除非

46、图像中的物体有陡峭的边沿,否则灰度阈值的取值对所抽取物体的边界的定位和整体的尺寸有很大的影响。这意味着后续的尺寸(特别是面积)的测量对于灰度阈值的选择很敏感。由于这个原因,我们需要一个最佳的,或至少是具有一致性的方法确定阈值。根据资料查询可知瞳孔红外图像有其灰度分布特点,瞳孔、虹膜和巩膜三者的灰度值有如下关系: 瞳孔灰度 虹膜灰度 巩膜灰度7,所以图像中灰度最小的区域即是瞳孔所在区域。阈值化算法是一种简单、高效的图像分割方法。具体步骤是先找到灰度直方图,选择合适的阈值,对图像中任意一点像素f(x,y)与阈值T进行判断,大于阈值的点标记为1,小于阈值的点标记为0。合适的阈值选择是关键,常用的阈值

47、分割方法有:基本阈值、半阈值、最优阈值等方法。本文先采用基本灰度阈值法进行粗定位,先分离出瞳孔的绝大部分。通过分析瞳孔图像的直方图,可以发现瞳孔绝大部分的灰度值低于50。对原图使用阈值 T =38来进行二值化阈值分割,结果如图3.5 所示。值得说明的是,在后面的实现系统中,也是采用固定阈值来进行瞳孔粗分割。这样处理,既节约了阈值选择所花费的时间消耗,也达到了分割出大部分瞳孔的目的。图 3.5 灰度直方图3.3 二值化将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。图像二值化也叫图像黑白化,那么,彩色图像黑白化处理通常有三种方法:最大值法、平均值法、加权平均值法,公式法 。下面详细介绍四种方法的原理:最大

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1