眼动跟踪中基于CamShift算法的FPGA实现方法技术

技术编号:12070540 阅读:265 留言:0更新日期:2015-09-18 04:04
本发明专利技术公开一种眼动跟踪中基于CamShift算法的FPGA实现方法,包括以下步骤:a、图像采集:采用图像传感器实时采集眼动图像,并将眼动图像实时传送、存储;b、提取眼球瞳孔的移动轨迹:将步骤a中采集的眼动图像采用CamShift算法提取出眼球瞳孔的移动轨迹,所述CamShift算法采用FPGA实现;c、图像数据传输:通过以太网接口将图像数据及移动轨迹坐标实时传输到计算机;d、图像显示和存储:计算机将接收的图像数据和移动轨迹处理后进行显示和存储。本发明专利技术能够获取到瞳孔的移动轨迹坐标,实现眼动跟踪。

【技术实现步骤摘要】
眼动跟踪中基于CamShift算法的FPGA实现方法
本专利技术涉及医学领域,尤其涉及一种眼动跟踪中基于CamShift算法的FPGA实现方法。
技术介绍
眼动追踪,英文eyetracking,是指通过测量眼睛的注视点的位置或者眼球相对头部的运动而实现对眼球运动的追踪。眼动仪是一种能够跟踪测量眼球位置及眼球运动信息的一种设备,在视觉系统、心理学、认知语言学的研究中有广泛的应用。目前眼动追踪有多种方法,其中最常用的无创手段是通过视频拍摄设备来获取眼睛的位置。有创的手段包括在眼睛中埋置眼动测定线圈或者使用微电极描记眼动电图。
技术实现思路
本专利技术旨在提供一种眼动跟踪中基于CamShift算法的FPGA实现方法,能够获取到瞳孔的移动轨迹坐标,实现眼动跟踪。为达到上述目的,本专利技术是采用以下技术方案实现的:本专利技术公开的眼动跟踪中基于CamShift算法的FPGA实现方法,包括以下步骤:a、图像采集:采用图像传感器实时采集眼动图像,并将眼动图像实时传送、存储;b、提取眼球瞳孔的移动轨迹:将步骤a中采集的眼动图像采用CamShift算法提取出眼球瞳孔的移动轨迹,所述CamShift算法采用FPGA实现;c、图像数据传输:通过以太网接口将图像数据及移动轨迹坐标实时传输到计算机;d、图像显示和存储:计算机将接收的图像数据和移动轨迹处理后进行显示和存储。优选的,在步骤b中,采用FPGA实现CamAShift算法的具体方法包括以下子步骤:b.1、使用地址译码计数器,按照行列偏移量读取帧缓存中的像素数据;b.2、对所有行内的像素数据求算数和,缓存到行累加和寄存器LnSUM;b.3、所有列内的像素数据求算数和,缓存到列累加和寄存器CnSUM;b.4、运用依次比较的方法,找出行累加和寄存器中最小的值所在的行号,作为中心点Y坐标;b.5、运用依次比较的方法,找出列累加和寄存器中最小的值所在的列号,作为中心点X坐标;b.6、传输中心点X、Y坐标,并重复上述步骤,进行下一帧运算;b.7、将连续帧的中心点X、Y坐标形成轨迹曲线,得到人眼瞳孔的运动轨迹。进一步的,在步骤a中,所述眼动图像采用数据流方式传送并存储在外部存储器中;在步骤b中,外部存储器的存储空间分为奇数页及偶数页,当奇数页正在写入数据时,偶数页进行CamShift运算;当偶数页开始写入数据时,奇数页开始进行CamShift运算。进一步的,所述FPGA中固化有CamShift算法逻辑模块,所述图像传感器传送的图像数据流通过CamShift算法逻辑模块计算后传送到以太网接口。进一步的,所述FPGA中固化有千兆数据链路模块,所述图像传感器传送的图像数据流通过千兆数据链路模块传送到以太网接口。优选的,所述图像传感器为CMOS图像传感器,所述外部存储器采用SRAM。进一步优选,所述CMOS图像传感器为LUPA300,所述SRAM为IS61LV25616。进一步的,在步骤a中,FPGA首先完成对COMOS图像传感器的初始化配置,初始化的参数包括分辨率、采集帧率、灰度值、亮度值,并控制COMOS图像传感器进入设定的工作模式,COMOS图像传感器进入工作模式后,在FPGA给出的系统时钟控制下,开始连续获取视频数据。优选的,所述分辨率不小于320*240,所述采集帧率不小于500帧/秒,所述灰度值采用8位二进制数表征。本专利技术公开的眼动跟踪中基于CamShift算法的FPGA实现方法,采用无创手段来获取被测者眼睛的眼动信息,通过图像传感器采用眼部,再对采集的视频使用算法进行数据提取,获取到瞳孔的移动轨迹坐标,实现眼动跟踪。这种在视觉刺激跟踪场合具有非常宽广的意义,可用于在如心理测试领域,因为很多心理受访者往往处于某种闭塞的心理保护,但如果施加某种视觉刺激或语言告知,往往会引起其眼部发生某种变化,即某种不安情绪会通过眼球的移动反映出来,从而对其进行下一步诱导。CamShift整体算法实现流程简单、明了,能有效解决目标变形和遮挡的问题,对系统资源要求不高,时间复杂度低,在简单背景下能够取得良好的跟踪效果。但当背景较为复杂,或者有许多与目标颜色相似像素干扰的情况下,会导致跟踪失败。因为它单纯的考虑颜色直方图,忽略了目标的空间分布特性,所以这种情况下需加入对跟踪目标的预测算法。由于人眼的及瞳孔的构成较为简单,不存在过多颜色相似像素干扰,瞳孔像素分布规律性非常好,因此识别准确率很高。实际测试及分析也表明了这种方法的实现效果较为理想,尤其在使用FPGA进行眼动跟踪识别时,可操作性好、实现简单、识别准确率高,为眼动跟踪提供了一种行之有效的现实依据。附图说明图1为本专利技术的原理框图;图2为对一帧图像数据进行CamShift运算的流程图;图3为行、列累加和在X、Y轴上的投影曲线;图4为计算一个行累加和的逻辑构成图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。如图1所示,本专利技术公开的眼动跟踪中基于CamShift算法的FPGA实现方法,采用FPGA作为主控核心处理及采集CPU,使用LUPA300作为高速图像传感单元,其最高图像采集帧率可达500fps/324*240。采集的视频数据需要通过FPGA使用CamAShift算法提取出眼球瞳孔的移动轨迹,千兆以太网接口将图像数据及移动轨迹坐标实时传输到PC计算机上进行存储。FPGA首先完成对LUPA300高速图像传感器的初始化配置,如分辨率、采集帧率、灰度值、亮度值等,使其进入设定的工作模式。LUPA300进入工作模式后,在FPGA给出的系统时钟控制下,开始连续获取视频数据,FPGA硬件逻辑的并行高速特性为视频数据的连续不间断采集及CamShift算法实现提供了有力保证。通过LUPA300采集到的8位数据代表了当前像素的灰度值,在数据流传输的过程中,数据的吞吐量是非常大的,在320*240分辨率时,可达320*240*500*8=307.2Mb/s。FPGA内置的M4K存储器块无法缓存,这里使用千兆数据链路逻辑,将视频图像数据流通过千兆以太网接口实时传输到计算机端进行存储。灰度像素数据传输到计算机端后,再使用接口软件转换成黑白的视频图像进行显示,并保存为特定的数据格式。在进行千兆数据链路传输的同时,FPGA将视频数据流按帧同步存入外部的SRAM存储器,本设计中使用了IS61LV25616高速型SRAM,具有16位数据位宽,存储容量可达256KB,足够为单幅图像提供帧缓存。由于帧数据流的传输是不间断的,并且CamShift运算需要完整的数据帧才能进行,为了保证存入和运算的不间断进行,将IS61LV25616SRAM的存储空间分为奇数页及偶数页,当奇数页正在写入数据时,偶数页进行CamShift运算;当偶数页开始写入数据时,奇数页开始进行CamShift运算,即常说的乒乓操作。由于FPGA的运行逻辑是并行的,乒乓操作可以保证连续帧的CamShift运算不间断进行,从而也可以最高效地利用数据存储器资源一帧图像的像素行列分布,在对分辨率为320*240的图像帧进行CamShift运算时,行累加和寄存器LnSUM的取值范围为0~239,对8位数据而言,行累加和的最大数值为320*(28-1)=81919。列累加和寄存器的本文档来自技高网...
眼动跟踪中基于CamShift算法的FPGA实现方法

【技术保护点】
眼动跟踪中基于CamShift算法的FPGA实现方法,其特征在于,包括以下步骤:a、图像采集:采用图像传感器实时采集眼动图像,并将眼动图像实时传送、存储;b、提取眼球瞳孔的移动轨迹:将步骤a中采集的眼动图像采用CamShift算法提取出眼球瞳孔的移动轨迹,所述CamShift算法采用FPGA实现;c、图像数据传输:通过以太网接口将图像数据及移动轨迹坐标实时传输到计算机;d、图像显示和存储:计算机将接收的图像数据和移动轨迹处理后进行显示和存储。

【技术特征摘要】
1.眼动跟踪中基于CamShift算法的FPGA实现方法,其特征在于,包括以下步骤:a、图像采集:采用图像传感器实时采集眼动图像,并将眼动图像实时传送、存储;b、提取眼球瞳孔的移动轨迹:将步骤a中采集的眼动图像采用CamShift算法提取出眼球瞳孔的移动轨迹,所述CamShift算法采用FPGA实现;c、图像数据传输:通过以太网接口将图像数据及移动轨迹坐标实时传输到计算机;d、图像显示和存储:计算机将接收的图像数据和移动轨迹处理后进行显示和存储;在步骤b中,采用FPGA实现CamAShift算法的具体方法包括以下子步骤:b.1、使用地址译码计数器,按照行列偏移量读取帧缓存中的像素数据;b.2、对所有行内的像素数据求算数和,缓存到行累加和寄存器LnSUM;b.3、所有列内的像素数据求算数和,缓存到列累加和寄存器CnSUM;b.4、运用依次比较的方法,找出行累加和寄存器中最小的值所在的行号,作为中心点Y坐标;b.5、运用依次比较的方法,找出列累加和寄存器中最小的值所在的列号,作为中心点X坐标;b.6、传输中心点X、Y坐标,并重复上述步骤,进行下一帧运算;b.7、将连续帧的中心点X、Y坐标形成轨迹曲线,得到人眼瞳孔的运动轨迹。2.根据权利要求1所述的眼动跟踪中基于CamShift算法的FPGA实现方法,其特征在于:在步骤a中,所述眼动图像采用数据流方式传送并存储在外部存储器中;在步骤b中,外部存储器的存储空间分为奇数页及偶数页,当奇数页正在写入数据时,偶数页进行CamShift运算;当偶...

【专利技术属性】
技术研发人员:龚启勇幸浩洋邹云海杨波孙怀强
申请(专利权)人:四川大学华西医院
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1