虹膜图像采集装置的设计

2014-03-26 00:58苑玮琦
仪表技术与传感器 2014年12期
关键词:固件虹膜端点

苑玮琦,金 爽

(沈阳工业大学视觉检测技术研究所,辽宁沈阳 110870)

0 引言

为了能够清晰便捷地观察到虹膜的情况,人们对虹膜采集技术的研究一直在进行。一个优秀的虹膜图像采集系统能够大大提高虹膜诊断的正确率,为医生观察虹膜特征提供极大的方便。

现有的虹膜图像采集装置还存在各种不足,例如有的装置会在检测时受到各方面影响,造成被测者眨眼或转动眼球,检测难以准确;有的装置过于庞大、复杂和昂贵,使得使用范围受到限制。另外,光源强度过大伤害人眼,存在光斑等都是目前虹膜检测领域存在的问题。

文中所设计的是一种便携式的虹膜采集装置,通过USB接口即可将图像显示在电脑上,携带方便,使用方法简单。该装置根据虹膜特点以及医疗诊断的要求选取合适的光源和镜头,设计了抗干扰性强、对人眼无损伤的光学结构。数据传输电路以USB2.0接口芯片CY7C68013A为主控芯片,图像的处理分析均在上位机进行,响应速度快,图像质量好,可满足大部分虹膜医疗诊断的要求。

1 虹膜图像采集装置的结构

虹膜图像采集装置以人眼虹膜为采集对象,由光学系统、图像传感器、USB接口芯片等组成。光学系统采集用户的虹膜图像,图像信息由图像传感器进行数字化处理。处理后的数据进入USB接口芯片,快速上传至计算机主机端进行显示、存储等操作,如图1所示。

图1 虹膜图像的采集过程

2 光学系统

在虹膜图像的采集过程中,光学系统提供光源和镜头,并配以辅助的遮挡装置。设计时需要考虑以下几个主要问题:

(1) 光源强度适中、显色性好、位置合理。既能满足图像质量的要求又不给被采集者的眼睛造成伤害。

(2) 选择合适的镜头,充分考虑各方面因素使图像质量达到最佳。

(3) 遮挡装置一方面要消除外界杂光干扰,一方面又起到固定拍摄位置的作用。

2.1 光源的选择与设计

虹膜诊断需要观察虹膜的形态变化,如颜色、色斑,结构和瞳孔变化等[1]。单色光的显色性很差,会极大地影响观察到的物体颜色,而白光显色性很好[2],作为光源时能最大程度地还原虹膜颜色信息。

设计选用的是一款高指向性白光LED。目前市场上同类虹膜采集设备的光源发光强度多在2 500~3 500 mcd范围内,而本装置的光源发光强度为1 500~1 800 mcd,低于大部分同类产品,被采集者并无不适感。另外,CMOS传感器要求的最低照度一般在6~15 Lux范围内,该光源照度远高于该值。

采集过程中光线要尽量避免直射瞳孔,因此需要根据虹膜直径和瞳孔直径来确定拍摄距离、光源的安装位置与角度。除此之外光源方向性、体积、发光角度等均需要考虑。

光源安装位置如图2所示,两灯位于主光轴两侧,直线距离L=30 mm,照射方向与光轴夹角φ=60°。人眼虹膜直径约为10~12 mm,瞳孔直径2~4 mm.光源直射位置要在瞳孔之外,虹膜之内。取虹膜直径R=10 mm,瞳孔直径r=4 mm。已知光源直径1 mm,由于拍摄距离很近,且高指向性光源的散射角很小,光斑直径r′可视为与光源直径一致,即r′=1 mm.计算装置允许的最远拍摄距离:

(1)

最近拍摄距离:

(2)

将拍摄位置固定在S=6.5 mm处,光线照射在距瞳孔中心约3.75 mm处,不会直射入瞳孔。

图2 光源安装位置

当有光线照射在虹膜上时,会在虹膜区域上反光,形成位于虹膜区内的光斑,造成该部分虹膜区域信息被破坏。该装置光源形成的光斑位于瞳孔两侧的虹膜上,直径1 mm左右。为消除光斑干扰,照明装置(图3)中两个LED发光管的开启可以分别控制。使用时依次打开左灯、右灯,采集两幅图像,即可观察到光斑遮挡的区域。

若被测人眼睛受到自然光或景物影响,会眨眼或转动眼球[3],影响检测效果。因此设计添加了遮挡装置,用于避免外界干扰,而且遮挡装置与被测人接触,起到固定拍摄位置的作用。

图3 照明装置平面示意图

2.2 镜头的计算与选择

光学镜头在虹膜采集装置中具有非常重要的作用。虹膜直径仅10 mm左右,必须使用光学镜头放大虹膜图像。焦距决定了放大倍数,分辨率则影响图像的清晰度[4]。另外景深、视场角、拍摄距离等也决定图像的质量。选取镜头时要充分考虑各种因素,保证虹膜图像满足医疗分析的要求。

如图4所示,当已知被摄物体的大小及该物体到镜头距离,则可根据下式计算所选取配镜头的焦距:

(3)

式中:f为镜头焦距;D为被摄物体到镜头的距离;W和H为被摄物体的宽度和高度;w和h为被摄物体在传感器靶面上成像宽度和高度。

图4 镜头成像示意图

镜头是否能拍摄到完整的虹膜图像由视场角决定。计算公式如下:

(4)

(5)

带入各值进行计算,得水平视角θah=22.62°,垂直视角θav=17.06°。镜头的视场角要大于该值,且镜头尺寸要与图像传感器靶面大小匹配。综合以上计算,选择靶面大小为1/4英寸,焦距9 mm,视场角25.0°×18.5°的镜头。

2.3 光学系统整体结构

该装置为接触式采集设备,使用时将遮挡装置紧贴眼眶,即可固定人眼到镜头的距离,但虹膜在视场中的位置并不能精确固定,因此将整个眼部纳入到成像范围内。

光源、镜头、传感器和遮挡装置的位置关系如图5。遮挡装置将人眼固定在距光源约6.5 mm的拍摄区域内,使眼部基本布满整个视场。镜头距拍摄位置约50 mm,根据镜头焦距,将图像传感器放置在距镜头9 mm处。

图5 光学系统结构示意图

3 硬件系统设计

3.1 硬件电路结构

图像数据的传输由USB接口芯片完成。本装置使用EZ-USB FX2LP系列中的CY7C68013A芯片作为核心处理器。数据传输通常需要微处理器通过固件访问接口芯片的端点FIFO和外围设备接口,固件程序执行较慢会限制数据传输速率,而CY7C68013A提供了一种独特的“量子FIFO”架构,USB接口和应用环境直接共享FIFO存储器,无需执行固件程序便可实现端点FIFO与外部的数据交换[6]。端点FIFO可工作在5~48 MHz时钟频率下,而图像传感器的信号输出频率为24 MHz,CY7C68013A符合要求。

硬件电路如图6所示,图像传感器输出8位数字视频信号,并提供行信号、场信号及像素时钟信号对端点FIFO进行外部逻辑控制。IIC总线用于图像传感器与USB接口芯片的通信。整个装置由USB总线提供5 V电压源,电压经转换后为各部分供电。接口芯片内部无程序存储器,需要外部程序存储器装载固件程序。LED光源的开关由I/O接口控制。

图6 虹膜采集装置硬件电路

3.2 数据传输电路设计

3.2.1 硬件连接

图7是图像传感器OV7725与USB2.0接口芯片CY7C68013A的连接方式。接口芯片的时钟输出引脚CLKOUT为传感器提供24 MHz时钟信号。图像传感器像素时钟输出PCLK为CY7C68013A提供外部参考时钟。将OV7725设置为每个PCLK的上升沿输出一个像素点。每当检测到FIFO时钟接口IFCLK信号的上升沿时(端点FIFO写使能情况下)图像传感器就将一个8位数据写入USB端口FIFO缓冲区中,达到图像传感器与USB控制器同步传输的效果。

图7 图像传感器与USB接口芯片的连接

系统设置为从属FIFO模式,即将外设作为主控方,控制端点FIFO与外设间的数据传输。信号时序如图8所示,图像传感器输出的行信号(HREF)控制端点FIFO的写信号(SLWR),行信号高电平期间使端点FIFO写有效,保证传输有效的图像数据。场信号(VSYNC)与外部中断引脚(INT0)连接,当一帧数据到来时触发中断服务子程序,通知USB控制器新一帧图像的到来以达到与CMOS图像场同步的目的。在中断程序中进行从属FIFO模式转换,系统便可在PC机命令下开始采集传输。

图8 图像传感器输出信号时序图

对图像传感器的配置通过I2C总线(SCL与SDA)实现。传感器的数据输出管脚Y[7:0] 和接口芯片的FD[7:0] 相连,传输实际的图像数据。

3.2.2 数据传输方式选择

若图像传感器输出YUV4:2:2格式图像,则每两个像素点占用四字节存储空间,图像大小为640×480像素,每秒输出30帧,计算有效图像数据传输速度为:

640×480×2×30≈17.6 MB/s

(6)

USB2.0协议规定USB总线速度上限为60 MB/s,考虑各种通信协议开销后,理论传输速度如表1[7],其中每微帧为125 μs.由表1可知中断传输、批量传输、同步传输的传输速度均大于图像传感器的17.6 MB/s.但实际应用中传输速度受其他因素的影响会大大降低,为确保图像数据正常传送,选择传输速度为53.248 MB/s,最接近总线速度上限的批量传输方式。

表1 USB2.0数据最大传输速度

接口芯片CY7C68013A工作在Auto-In(自动打包)机制下,数据在“量子FIFO”中以数据包而非字节的形式传输,即对端点FIFO进行写操作时,写满协议规定的数据封包容量后便自动启动一次数据传输过程。工作时,图像数据经由通用接口进入端点缓冲区,再以数据包的形式进行传送。USB串行接口引擎(SIE)通过USB总线将数据上传至主机端。一般情况下使用双重或三重、四重缓冲在通用接口与串行接口间轮换,如图9所示。

图9 图像数据传输示意图

4 软件设计

虹膜采集装置的软件系统由3部分组成:固件程序、驱动程序、应用程序。

4.1 固件程序

固件程序是指USB接口芯片CY7C68013A的片内程序。为减少设计人员的工作量,Cypress公司提供了一个固件框架firmware,大部分与USB协议相关的工作都已在固件中完成了。固件程序主要实现以下3方面功能:对USB端口和FIFO进行初始化配置;完成对图像传感器的编程配置;其他自定义功能的设定。

进行固件开发时,首先要根据设备情况来定义USB描述符。然后进行端点配置和操作模式设定,该设计使用slave FIFO模式,数据自动打包,批量传输,设置四重缓冲区,每个缓冲区大小1 024字节。

对图像传感器进行配置时,主机向OV7725传输的有效数据分为三个部分,依次为芯片的ID地址、目地寄存器地址和要写的数据。使用时不必配置所有的寄存器,只针对设计中需要的寄存器进行配置即可,主要包括图像分辨率、输出格式、时钟、摄像头和影像处理功能等。

4.2 驱动程序

驱动程序使用Cypress公司提供的通用USB驱动程序CYUSB.SYS。相应地,主机则使用CyAPI控制函数类库方法进行编程。

4.3 应用程序

CyAPI控制函数类库为EZ-USB系列接口芯片提供了精细的控制接口。进行应用程序编程时,以Cypress提供的驱动程序为基础,在主机程序中加入头文件CyAPI.h和库文件CyAPI.lib即可调用CyAPI函数库中的基础函数。

为提高数据传输速率,主程序中单独开启一个批量传输线程。在该线程中使用设备控制类下的Open()函数打开USB设备,然后调用3个函数BeginDataXfer()、WaitForXfer()、FinishDataXfer()读取FIFO中的数据,最后调用Close()函数结束程序。图像数据存放于计算机内存中,设计中图像传感器输出YUV422格式的数据,不能直接在计算机显示,需先转化为RGB24数据格式。转化公式如下:

R=Y+1.042×(V-128)

(7)

G=Y-0.344 14×(U-128)-0.714 14×(V-128)

(8)

B=Y+1.772×(U-128)

(9)

传输过程中达到一帧数据量并完成格式转化后即开始显示图像,直到下一帧数据传输转换完成,进行刷新,实现实时显示。图像以BMP格式保存。采集虹膜图像时,观察上位机显示的视频,满足要求时即可拍照并保存图像,应用程序流程如图10。

图10 应用程序流程图

5 结论

文中设计了一个基于USB2.0接口芯片的虹膜图像采集装置,输出VGA格式(30万像素)图像,速度达到30 fps,具备实时显示、拍照、存储等功能。该虹膜图像采集装置光源强度较小,抗干扰性强,为虹膜医疗诊断提供了良好的硬件基础。图11为该装置采集到的虹膜图像。

图11 装置采集的虹膜图像

参考文献:

[1] 王龄.观察虹膜知健康.沈阳:辽宁科学技术出版社,2010:2.

[2] 曾华阳,刘宝林,黄文达,等.发光二极管的色度分析.光电器件与材料,2009,24(2):40-43.

[3] 杨思蕴.一种虹膜检测装置:中国,200910039113.1[P] .2009-04-30.

[4] 胡宗星.虹膜采集关键问题的研究与实践:[学位论文] .长春:吉林大学,2011.

[5] OmniVision Technologies,lnc.OV7725_CSP2_DS_(1.5) [DB/OL]. (2008-08-04).[2013-11-03] .http://www.ovt.com/products/category.php?id=15.

[6] 焦斌亮,韩志学.基于EZ-USB FX2实现的高速数据采集系统.仪表技术与传感器,2005(7):21-22.

[7]刘思久,赵蔚.实现USB2.0高速数据传输的问题探讨.计算机工程与应用,2007,43(2):75-77.

猜你喜欢
固件虹膜端点
双眼虹膜劈裂症一例
非特征端点条件下PM函数的迭代根
基于轮廓匹配和多项式拟合的虹膜分割算法
不等式求解过程中端点的确定
一种基于虹膜识别技术的车辆启动系统
“刷眼”如何开启孩子回家之门
基于SHA1的SCADA系统PLC固件完整性验证方法
基于UEFI固件的攻击验证技术研究*
基于固件的远程身份认证
基丁能虽匹配延拓法LMD端点效应处理