基于fpga与投影算法的快速眼动跟踪系统实现-邹云海.pdf





《基于fpga与投影算法的快速眼动跟踪系统实现-邹云海.pdf》由会员分享,可在线阅读,更多相关《基于fpga与投影算法的快速眼动跟踪系统实现-邹云海.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第48卷第3期 四川大学学报(工程科学版) vol_48 N032016年5月 J0uRNAL 0F SICHUAN UNIVERsITY(ENGINEERING SCIENCE EDITl0N) May 2016文章编号:10093087(2016)03m100_07 DOI:1015961jjsuese201603叭3基于FPGA与投影算法的快速眼动跟踪系统实现邹云海1,关蒲骏2,杨 波1,龚启勇2,幸浩洋2+(1成都信息工程大学电子实验中心,四川成都610225;2四川大学华西医院磁共振研究中心,四川成都610064)摘要:以视觉刺激的方式给被测者眼动任务,并使用高速摄像系统来跟踪被测对
2、象的眼动轨迹,可以获知其心理行为,在心理研究领域具有非常重要的作用。介绍了一种基于FPGA硬件和投影算法的眼动跟踪系统,通过LuPA300高速cMOs图像传感器采集眼动图像,利用FPGA实现投影算法从连续的视频帧中获取人眼瞳孔与反射斑的坐标。为提高跟踪的准确程度,包括二值化与数学形态学腐蚀膨胀运算被用于预处理,最终实现了快速瞳孔与反射斑的定位。结果表明,FPGA执行快速投影跟踪算法,可以获得可靠的跟踪准确性,在跟踪算法中利用FPGA对图像首先进行二值化及腐蚀膨胀预处理,可以达到更好的效果。系统构成简单,实现了实时跟踪,结果准确,为高速眼动跟踪提供了一种新的有效实现方法。关键词:眼动;FPGA;
3、运动跟踪;投影算法;腐蚀;膨胀中图分类号:TP391 文献标志码:ARapid Eye MoVement Tracking System Based on FPGA and Projection AlgorithmZoU Y氆讹0GUAN P嘲耐,YANG Boj,GoNG Qbongi,Xl秘G Hooylgz(1Chengdu Univof Inf0 Techn01,Center For Electronics E1pe订ment,Chengdu 610225,chin8;2Magnetic Resonance Ima奢鸭Research cen溆,west chin8 Ho印ital,s
4、iehuan univ,chen酣u 6l0064,china)Abstract:Assigning an eye task with visual stimulation and tracking the eye movement is a channel to acquire the examineespsychological behaviors,which plays a critical part in che fields of psychological reseaIhIn this study,an eyetracking system based on FPGAhardwar
5、e and p玎0jection algorithm was pmposed,which captures video via LUPA300 highspeed CMOS and obtains the motion of eyepupil and bright spot thmugh the continuous video frames by using a FPGA implememed p玎ojection algorithmTb obtain a reIiable tracking accuracy,a binarization and mathematical morpholog
6、y operation(conosion and expansion)were adopted as a preprocession stepThe results showed that FPGA can implement p玎0jection algorithm to track eye motion with high 8peed,and the binarization and coHDsion expansion pretreatment can improve the tracking accuracy efflectivelyThe system is easy to achi
7、eve the real time tracking,and pmvides a new method for eye movement tmcking at high speedKey words:eye movement;FPGA;motion trackir峪;pmjection algorithm;corrosion;expansion眼动跟踪(eye tracking),是指通过测量眼睛的注视点的位置或者眼球相对头部的运动而实现对眼球运动的跟踪。眼动仪是一种能够跟踪测量眼球位置及眼球运动信息的一种设备,在视觉系统、心理学、认知语言学的研究中有广泛的应用。目前眼动跟踪有多种方法,其中最
8、常用的无创手段是通过视频拍摄设备从每帧图像的眼睛瞳孑L与反射斑位置来获取眼动(视线)信息。眼球运动是一个非常高速的过程。在一般的研究过程中,眼球运动的描述一般以01 s为单位,进行生理学和病理学研究。然而,当取样率低于362 Hz时,很可能会错过重要的眼跳或者眨眼信息,或者将不同的运动混淆心。3 J。采用无创手段完整地捕获眼跳信息,可通过提高视频拍摄设备的帧率且实时计算出瞳孔与反射斑位置对眼动进行高速跟踪。收稿日期:2叭5一1030基金项目:国家自然科学基金仪器专项资助项目(81227002)作者简介:邹云海(1982一),男,讲师,硕士研究方向:信息与数字信号处理E-mail:zyhcuit
9、educn通信联系人E-mail:“yscueducnhttp:jsuesescueducn万方数据第3期 邹云海,等:基于FPGA与投影算法的快速眼动跟踪系统实现 101提出一种一体化高速眼动跟踪方法,该方法采用FPGA直接控制高速图像传感器,以500帧s的速度拍摄眼球的位置,并直接对图像数据进行去干扰及投影运算,确定瞳孔与反射斑中心坐标,通过对连续帧的不间断运算,完成眼动的高速跟踪。同时,用FPGA直接构建千兆以太网,将拍摄的眼动视频及跟踪数据直接传送到终端PC机上进行相应分析与处理。本方法充分利用FPGA并行逻辑处理的优势,运算速度快、跟踪准确、系统构成简单、可实时跟踪,能够很好地满足在
10、视觉刺激眼动任务中对眼球运动进行实时分析的需求。1 眼动跟踪系统构成本系统硬件系统核心由现场可编程门阵列(field programmable gate anay,FPGA)处理器、LUPA300图像传感器及千兆以太网数据链路构成。高速图像传感器LUPA300最高帧率可达500帧s,足以捕获快速的眼动过程。内部自带ADc,可直接将像素灰度数值转换为10位的数字图像数据流输出,FPGA通过10位的并行数据总线接收高速视频流,经过一定的暂存及运算处理,使用投影算法提取出眼动中心坐标后,将原数据流与中心坐标进行数据封包,传输到PC机进行存储及实时动态显示。由于FPGA为纯硬件逻辑电路,可以并行地对数
11、据流进行必要缓冲及相关运算处理,大大简化了系统的外围设计,仅需要使用FPGA及高速图像传感器即可实现系统所需的全部功能,而不需额外使用微处理器来进行相关处理。在系统后端,直接使用FPGA逻辑时序控制干兆以太网接口芯片88e1111,建立了高速、稳定的数据后向通道,FPGA统一控制图像数据的采集、处理及传输过程,整体系统构成简单、高效、可靠。在系统前端,高速图像传感器LuPA300需要通过FPGA对其进行分辨率、采集帧率、灰度值、亮度值等初始化配置,使其工作在设定的模式下。Lu-PA300进人工作模式后,FPGA使用同步时钟,从图像传感器获取连续的视频数据流。FPGA硬件逻辑的并行高速特性可以保
12、证对视频数据进行不问断的连续采集,并实时对图像数据使用投影算法进行跟踪,采集系统的构成如图1所示。图 :d干兆数据链路逻辑b 以像 人 命匦数 FPGA核心处理器 网据 爿跟踪算法逻鞋 P接流 口图1 FPGA高速图像采集系统构成Fig1 Stmcture of lliglI-speed vidptIlre systembased on FPGA图像传感器LuPA300在FPGA的控制下,将单个像素的灰度值转化为10位数字量,为了降低传输带宽,在不降低图像质量的前提下,FPGA将10位数据截取高8位接收。在分辨率为480320和帧率为500帧s时,传输带宽为:B伽=4803208500=614
13、4 Mbs(1)为了保证高速数据流的可靠传输,首先将图像数据按帧封包,再通过千兆以太网接口向终端计算机传输实时视频帧数据包,终端计算机接收到数据后,将数据保存在磁盘上并按像素分布将数据转换为视频图像进行显示。在进行千兆数据链路传输的同时,FPGA将视频数据流按帧同步存入FPGA自带的M4K存储器块作为缓存。系统所使用的EP4CEll5F29C7 FPGA具有3 981 312 bit的存储能力,足以满足本系统缓存的需要。由于帧数据流是连续的,并且投影运算需要完整的数据帧才能进行,为了保证存入和运算的不间断进行,FPGA将M4K存储空间分为奇数帧及偶数帧进行缓存,当奇数帧正在写入数据时,偶数帧进
14、行投影运算;当偶数帧开始写入数据时,奇数帧开始进行投影运算,即进行的乒乓操作。乒乓操作是FPGA特有的逻辑运算,通过FPGA的高速并行逻辑进行处理,视频帧数据流可视为不存在任何“延迟”,形成连续视频流。图2给出一副图像帧进行乒乓操作的流程,通过数据缓冲模块及输出数据流选择单元实现乒乓切换。图2数据帧FPGA乒乓操作流程Fig2 FPGA pmcedure of table tennis opemtion on、rideo fr锄e首先,输人数据流通过“输人数据选择单元”将 可以为任何存储模块,比较常用的存储单元为双口数据流等时分配到2个数据缓冲区,数据缓冲模块 RAM(DPRAM)、单口RAM
15、(SPRAM)、FIF0等。在万方数据102 四川大学学报(工程科学版) 第48卷第1个缓冲周期,将输入的数据流缓存到“数据缓冲模块1”;在第2个缓冲周期,通过“输人数据选择单元”的切换,将输入的数据流缓存到“数据缓冲模块2”,同时将“数据缓冲模块1”缓存的第1个周期数据通过“输出数据选择单元”的选择,送到“数据流运算处理模块”进行运算处理;在第3个缓冲周期通过“输入数据选择单元”的再次切换,将输入的数据流缓存到“数据缓冲模块1”,同时将“数据缓冲模块2”缓存的第2个周期的数据通过“输出数据选择单元”切换,送到“数据流运算处理模块”进行运算处理,如此循环。乒乓操作可以保证连续帧的投影运算不问断
16、进行,也可以最高效地利用M4K存储器块资源。与微处理器构成的数据处理系统相比,使用FPGA控制LUPA300,所构成的眼动跟踪系统具有采集实时、处理速度快、时效性好、可靠性高的优点。2 图像的预处理及投影运算在8位灰度图像中,每个像素的数值范围为o255,数值越大,颜色越浅(即越白),数值越小,颜色越深(即越黑),数值为0时,为黑色,数值为255时,为白色。从图3(a)可以看出,眼部瞳孔占据了较大部位的圆形黑色区域,左侧存在一小块白色亮斑。由于眼窝部位睫毛、暗光及眼球边缘大量深色像素的影响,对寻找瞳孔所在位置存在较多干扰。同样,定位亮斑所在坐标时,由于皮肤受灯光照射等高光因素的影响,直接进行投
17、影运算所获得的的亮斑中心坐标也不准确一。因此,为了避免相似像素数值对投影坐标造成偏差,必须对灰度原图图像进行预处理,去除干扰,才能准确定位瞳孑L中心坐标及眼球亮斑中心坐标pl。在对图像进行投影运算之前,腐蚀与膨胀算法是较为常用的预处理算法,用于消除离散的干扰色点,在眼部的瞳孑L或亮斑识别中可以用来有效地消除睫毛、眼窝、高光等小片非规则形状的干扰。首先,将图片进行二值化处理,眼部瞳孑L及亮斑与其他部位有较大的色差,选取适当的阈值即可有效保留有用区域。图3(a)为通过LuPA300获取的一幅眼部灰度图像,分辨率为480320。图3(b)与(c)将其分别按上限阈值及下限阈值进行了二值化处理,从图中可
18、以看出,瞳孔区域及较大的亮斑区域均得以保留。(b)卜限闽值为40的二:值化图像 (c)卜限闽值为150的:值化图像图3眼图像二值化处理Fig3 Binarization process of an eye image通过对多个场景所拍摄的图像进行分析,确定 进行膨胀运算后,图像中小块的白色区块会被逐次在二值化时,下限阈值设为30能够较好地保留瞳孔 消除,图像呈现黑多白少。区域,并能大量滤除眼窝、睫毛等处的干扰值,上限 在图像处理中,投影算法是将预处理后的图像阈值设为150能够较好地保留眼球的亮斑区域,并 沿各行及各列的像素值分别进行求和,获得各行沿能有效滤除眼球、皮肤等处的高光。总之,只要通过
19、 x方向的像素值总和及沿y方向的像素值总和,再二值化能够使目标区域面积较大于其他离散色块, 求取各行及各列的平均值,即得到各行及各列在x、便可通过腐蚀或膨胀处理消除这些离散色块。 l,方向上的投影数据6 o。然后将各行的像素平均值腐蚀运算是对二值化图像中的每个像素点,将 沿y轴方向用曲线表示,即为图像中各行的投影曲邻近像素值与其进行比较,如全部相同,则该像素值 线;将各列的像素平均值沿x轴方向用曲线表示,即不变,如不完全相同,则将该像素值置为白色,进行 为图像中各列的投影曲线。因为黑色瞳孔区域的像腐蚀运算后,图像中小块的黑色区块会被逐次消除, 素数值最小,行投影曲线的最小值就是瞳孑L中心的图像
20、呈现白多黑少。膨胀运算同理,不同的是膨胀 y坐标,列投影曲线的最小值就是瞳孔中心的x坐运算对于像素不完全相同时将该像素值置为黑色, 标。白色亮斑区域的像素数值最大,行投影曲线的最万方数据第3期 邹云海,等:基于FPGA与投影算法的快速眼动跟踪系统实现 103大值就是亮斑中心的l,坐标,列投影曲线的最大值就是亮斑中心的x坐标。图4(a)(c)分别对二值化图像、二值化后的腐蚀图像、原图中心坐标定位进行了对比。可以明显看出,直接对二值化图像做投影运算并不能准确的找到瞳孔中心坐标,受到眼窝处大面积色块的影响,中心偏离很大;而把二值化图像进行一定次数的腐蚀运算,去除周边干扰,完整地保留了明显的瞳孔区域,
21、通过投影运算后就能准确地定位瞳孔的中心j0 100 l 50 20()250 300 350 40J 45fJ、+(a)一:值化图像瞳孔一】心U l()0 】j()20()2j L】j()U 3j(】、(e)膨胀3次后图像亮斑-I坐标。图4(d)(f)分别对二值化图像、二值化后的膨胀图像、原图中心坐标定位进行了对比。可以明显看出,直接对二值化图像做投影运算仍然不能准确的找到眼球亮斑中心坐标,受到皮肤高光等局部色块的影响,导致坐标中心出现很大偏离;而把二值化图像进行一定次数的膨胀运算,消除高光色块区域,再进行投影运算就能准确地定位眼球亮斑的中心坐标。、(b)腐蚀12:久后图像瞳孔小心(n完斑I-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 fpga 投影 算法 快速 跟踪 系统 实现 云海

限制150内