APP下载

运动物体的头戴式视线追踪控制系统设计*

2017-09-03千承辉袁锦烽陈冠宇孙澎勇

单片机与嵌入式系统应用 2017年8期
关键词:视线瞳孔像素

千承辉,袁锦烽,陈冠宇,孙澎勇

(吉林大学 仪器科学与电气工程学院, 长春 130061)

运动物体的头戴式视线追踪控制系统设计*

千承辉,袁锦烽,陈冠宇,孙澎勇

(吉林大学 仪器科学与电气工程学院, 长春 130061)

设计了一种基于嵌入式的头戴式视线追踪控制系统。它将实际运动物体作为控制对象,以人眼为控制源,采用图像处理算法和坐标映射模型,实现视线追踪技术。通过质心检测和椭圆拟合算法的比较与优化,系统定位瞳孔中心的角度误差精确到1.4°以内,再利用最小二乘法进行视线空间坐标变换,最终控制运动对象移动到注视点。实验结果表明,人眼距离被控对象2 m内时,被控对象的定点误差在5 cm内,系统响应时间在0.3 s内,满足用户日常操作要求。

视线追踪;瞳孔定位;最小二乘法;空间坐标变换;嵌入式系统

引 言

随着计算机视觉技术的发展,利用视线追踪技术通过人眼来传递信息的方法在国内外成为热门研究方向。视线追踪是利用机械、电子、光学等各种检测手段获取用户当前“注视方向”的技术[1-2]。在国外,EyeTrackShop公司致力于视线追踪技术的开发,Google公司利用视线追踪技术,保证用户能看到他们线上投放的广告。在飞思卡尔技术论坛上,其公司向人们展示了视线追踪“看哪指哪”的先进技术[3]。国内北京津发科技股份有限公司作为Tobii官方授权代理商,推出一系列眼动仪。现阶段的产品始终处于高科技产品的前沿,未能普及到人们的日常生活。一方面,由于其视线信息的处理依赖于计算机,尚未完全独立化,限制了用户的移动空间;另一方面,产品功能始终限定于人与计算机的交互,如光标移动[4]、阅读翻页、打字、游戏等,生活中大多数的实物控制能力却鲜有被挖掘。

本文主要研究摆脱计算机处理的视线追踪技术,利用嵌入式处理器和红外摄像头设计一款头戴式视线追踪控制系统。为了验证该系统控制智能车或家庭机器人运动的可行性,搭建50 cm×50 cm的方形运动平台为操作目标,模拟实现了这项功能,成功使视线追踪系统独立化,扩大实体应用范围,并提高了性价比。

1 系统硬件设计

1.1 头戴式视线追踪装置设计

装置硬件电路主要包括飞思卡尔K60最小系统、Mt9v032摄像头、TFT显示屏、蓝牙、键盘和红外补光电路。Mt9v032数字图像传感器具有全局快门、高动态性能和自动曝光等优点,适合应用于车载、头戴等系统位置动荡大的场合,并有效抓拍高速运动的物体,解决普通摄像头拍摄图像模糊、不利于图像处理的问题。选用的是Kinetis K60(以下简称K60)系列MCU,工作电压最低达1.71 V,采用ARM Cortex-M4内核,性能可达到1.25 Dhrystone MIPS/MHz,最高达180 MHz的工作频率,低功耗特征适合代替计算机进行便携式系统上的图像处理。

通过设计的头戴系统结构将摄像头置于左眼前方,在摄像头外围安装红外发光管对人眼进行补光。工作时,K60通过8位数据总线、采用DMA方式将摄像头采集的人眼灰度数据快速存储到RAM中,每一次场中断信号给出,K60便对RAM中的图像数组进行处理。键盘电路选择进入初始化状态或工作状态。HC-05蓝牙与MCU进行串口通信,实现与被控对象的无线通信。显示屏用于显示瞳孔定位图像,便于用户自己校正。系统硬件电路框图如图1所示。

图1 头戴式视线追踪设备硬件系统框图

1.2 被控运动平台设计

运动平台是为衡量头戴式视线追踪系统对实物精准控制的可行性而辅助设计的,其最重要的是和视线追踪系统达成运动协议,接收指令并能按要求运动。该平台设计主要包括:STM32控制器、蓝牙、L298N电机驱动电路、红外对管检测电路,选用直流减速编码电机可实现导轨滑块的精确移动。平台上的每一小格为1 cm,x轴和y轴交叉点为视线注视点。硬件实物与实际操作示意图如图2所示。

图2 视线追踪系统操作过程图

2 视线追踪算法设计

2.1 人眼瞳孔精确定位

2.1.1 人眼图像预处理

为了提高算法效率,使系统具有快速响应能力,选取窄视野红外摄像头距离人眼3 cm处,只采集眼部图像灰度信息,灰度值为0~255。采用8个红外二极管围绕摄像头进行光线补偿,易于分割瞳孔和眼角,并用中值滤波的方法对图像进行去噪。

2.1.2 自适应阈值进行图像二值化

最大类间方差法是自适应的阈值确定方法[5],在处于不同光线环境中能较明显地分割图像。为了避免嵌入式处理器算法效率低的缺点,只获取图像中存在的像素灰度值,逐次遍历该部分值,可以使遍历次数锐减,是一种改进型最大类间方差法[6]。为进一步提高效率,将图像进行线性灰度变换,扩大灰度值之差后再通过改进型最大类间方差法确定阈值。设图像中像素点所在行为i,所在列为j,某一个像素点值为image[i][j],线性灰度变换后的像素点为image1[i][j],增强倍数为A,则有:

(1)

经验证A=3~5较合适,该方法既能去除大部分灰度值较大的点,又能进一步减少最大类间方差法遍历次数,根据增强倍数A的不同,算法效率会提高3~5倍。

2.1.3 去除二值化图像中小面积区域

由于睫毛、眼角灰度值接近瞳孔,二值化图像中仍存在少量杂散区域,且在系统动态测试中这种杂散区域不可能仅靠二值化消除。对比发现完整的瞳孔是图像中面积最大的部分,计算机MATLAB软件或OpenCV中自带保留图像最大面积的库函数,容易解决这个问题。而嵌入式处理器的裸机程序一般不具备这种功能,为此本文研究并设计一种嵌入式图像处理的通用算法,去除瞳孔周围面积小的黑色区域,保留最大的瞳孔区域。思路如下:

① 对图像中独立的白点进行区域填充,若中心像素为255,且其邻域的8个点像素为0的个数大于4,则改变中心像素为0,否则为255。

② 逐行进行图像扫描,将每一行中每段像素值为0且相邻的点信息计入数组a[i,cols,cole],其中i为所在行数,cols为该段像素起始列,cole为该段像素结束列。

③ 利用a[i,cols,cole]数组,判段二值化图像中相邻两行像素段是否连接。设第一行像素段信息为a[i,cols1,cole1],第二行像素段信息为a[i+1,cols2,cole2],若cols1

④ 利用a[i,cols,cole,n]数组,判断同一行分开的两段像素是否为一类。若该两段像素由下面某一行像素段传递连接,则该两段像素为同一类像素。

⑤ 经过上述步骤处理后,图像中每一块黑色区域分为不同的类,计算每一类像素点的个数,保留最大类所对应的区域,改变其余像素点为白色。

该算法具有通用性,可移植到其他32位嵌入式处理器中。通过改进的最大类间方差法得到的效果图如图3所示,其中图3(d)图中的黑色区域表示提取出的瞳孔。结果表明去除小面积算法具有很好的效果。

图3 改进型最大类间方差法效果图

2.1.4 定位瞳孔中心

通过去除小面积算法处理后,图像中只剩下瞳孔区域,近似为椭圆,确定该区域中心目前较精确的算法是Hough变换[7-9]和椭圆拟合算法[10],但数据处理量较大,考虑到嵌入式处理器的速度和算法效率,在处理得到的椭圆图像较完整的情况下,采用质心检测算法确定椭圆几何中心,在时间上有极大的优越性。设瞳孔中心为(x, y),瞳孔中像素点的横坐标为xi,纵坐标为yj,瞳孔像素点个数为N,则有:

(2)

确定瞳孔中心后的瞳孔定位图像效果如图4所示,图中十字叉中心即为瞳孔中心。

图4 最终瞳孔定位图像

2.2 视线坐标与运动平台空间坐标映射

视线坐标映射到平台所在空间的方法有椭圆法、线方向法[11]、瞳孔-角膜反射法[11-12]和二维空间坐标拟合[13-14]等方法。椭圆法线方向法需要高分辨率眼睛图像,加大数据量;对比瞳孔-角膜反射法和二维空间坐标拟合,选择数据处理量少、算法效率较高的二维空间坐标拟合方法。

视线注视点的二维坐标(X , Y)与系统测定瞳孔中心坐标(x , y)存在有规律的映射关系,眼睛是一个球面,而平台是平面,并且地面上的平台与眼睛呈复杂的空间位置关系。通过观察视线在平台上的横向移动发现,瞳孔不仅发生横向移动,也发生了纵向移动。采集50对坐标(Xn, Yn)和(xn, yn),通过等精度线性参数最小二乘算法处理后,发现视线坐标与平台空间坐标存在如下映射关系:

(3)

采取的方案是每次用户使用之前,系统初始化确定式(3)的各项系数。初始化选取被控服务平台的特征点为图5中的9个标黑点,并建立误差方程:

图5 运动平台初始定位点平面图

(4)

最小二乘条件如下:

(5)

通过求解对应的正规方程可求得式(3)各项系数的最佳估计值,并以此建立实现坐标空间映射模型。

3 系统软件设计

用户戴上视线追踪系统后,选择初始化模式,分别观察视场中的9个指定点,通过K60控制器对人眼区域图像数据进行处理,记录瞳孔坐标并进行参数解算,初始化完毕。选择工作模式,系统即根据视线注视方向对被控对象发送控制命令,并将处理后的标记图像以显示屏显示,方便用户自己校准。系统软件流程图如图6所示,其中图6(a)为系统总体流程设计,图6(b)为初始化过程的子流程设计。

图6 系统软件流程图

运动平台操作过程为:蓝牙实时接收数据,STM32控制器对数据进行解码,得到视线注视点在运动平台上的坐标,从而驱动电机使丝杠导轨上的滑块移动到标定点,并利用编码器进行闭环控制,达到精确控制的目的。

4 测试与分析

系统采用的飞思卡尔K60控制器,频率为100 MHz,摄像头采集图像像素为120×188,被控对象运动平台尺寸为50 cm×50 cm。测试主要从平台运动准确性和系统响应时间进行衡量。系统响应时间是指用户视线改变时到平台开始运动所需要的时间,由MDK软件在线仿真计时,由此可测试出算法速度。

测试时,同一用户眼睛距离平台D为2 m,随机注视平台任一点。图7中圆点为指定注视点,十字叉为平台运动点,对视线追踪系统指标有一个直观了解,再从表1中可看出定点误差半径Δr均在5 cm内,对应的瞳孔定位角度误差为θ,由数学近似计算可得:

(6)

解得θ=1.4°。

图7 视线追踪控制结果

测试次数123456误差半径/cm3.642.824.583.792.214.06响应时间/s0.2630.2470.2560.2880.2750.251测试次数789101112误差半径/cm4.023.354.432.983.264.67响应时间/s0.2890.2680.2740.2720.2640.290测试次数131415161718误差半径/cm2.121.383.452.564.723.16响应时间/s2.142.512.662.432.782.88

将测试100次的误差数据绘制成图8。计算出误差半径平均值为3.3 cm,方差为0.61,可直观看出误差误差最大不超过4.8 cm,最小为1.1 cm。

图8 多次同一距离测试结果

当用户每增加10 cm距离注视平台上5个不同点时,得到误差与距离的曲线图如图9所示。其中黑点是固定距离每个点的误差值,黑色曲线是误差平均值。可看出定位半径误差与距离成线性关系,原理由式(6)给出。

图9 视线追踪控制结果

经过分析,出现误差的主要原因是摄像头与眼睛有相对位移,因为操作者有轻微的头部运动,像素分辨率不够高。另外,运动平台闭环控制本身具有的误差和连续运行情况下的多次累积误差也会影响每一次定点效果。

结 语

[1] 张闯,迟健男, 张朝晖,等.视线追踪系统中视线估计方法研究[J].中国科学,2011,41(5):580-591.

[2] Tamara van Gog. Eye tracking as a tool to study and enhance multimedia learning[J].Learning and Instruction,2010,20(2):95-99.

[3] 李星宇.飞思卡尔i.MX6应用处理器助力机器视觉应用[J].单片机与嵌入式系统应用,2015(2):82-83.

[4] 朱麒文,闫隆鑫, 张若兰,等.基于视线追踪的眼孔鼠标设计[J].电子器件,2016,39(2):235-240.

[5] 王璇,张帆,程京. 基于改进最大类间方差法的灰度图像分割[J].微计算机信息,2010,26(12):206-207.

[6] 黄丽丽 , 杨帆 , 王东强, 等.基于改进型最大类间方差法的瞳孔定位方法[J].计算机工程与应用,2013,49(23):137-140.

[7] 张林,王保强.一种改进的基于Hough变换的虹膜定位算法[J].电子技术应用,2014,40(4):66-69.

[8] 陈立,万鹏,何涛,等.基于Hough变换的亚像素椭圆检测[J].湖北工业大学学报,2005(5):132-134.

[9] 杨苏.基于局部分析的Hough变换形状检测关键技术研究[D].秦皇岛:燕山大学,2009.

[10] 陈健,郑绍华, 潘林,等. 结合椭圆拟合与参数传递的瞳孔检测方法[J].仪器仪表学报,2014,35(8): 1890-1899.

[11] 张闯,迟健男, 张朝晖 .一种新的基于瞳孔-角膜反射技术的视线追踪方法[J].计算机学报,2010,33(7):1272-1285.

[12] 曹晔.穿戴式视线追踪系统研究[J].计算机与数字工程,2016,44(6):1085-1088.

[13] Shin Y G, Choi K A, Kim S T, et al. A novel 2D mapping-based remote eye gaze tracking method using two IR light sources[C]//Proc of IEEE International Conference on Consumer Electronics,las,vegas:2015: 190-191.

[14] Hansen D W, Ji Q. In the eye of the beholder: A survey of models for eyes and gaze[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2010, 32(3): 478-500.

千承辉(高级工程师),主要研究方向为传感器与智能仪器。

Head Mounted Eye Tracking Control System of Moving Object

Qian Chenghui,Yuan Jinfeng,Chen Guanyu,Sun Pengyong

(College of Instrumentation and Electrical Engineering,Jilin University,Changchun 130061,China)

In the paper,a head mounted eye tracking control system based on embedded system is designed.It takes actual moving object as the control object and human eye as the control source,then it uses image processing algorithm and coordinate mapping model to realize the eye tracking technology.Through the optimization and synthesis of centroid detection and ellipse fitting algorithm,the accuracy of locating the pupil center of the system is less than 1.4°.By using the least square method to coordinate the line of sight space,this system can finally control the moving parts to the specified points.The experiment results show that the fixed point error of the controlled object is less than 5 cm when the human eye is within 2 m of the controlled object,the system response time is less than 0.3 s,the system can fully meet the user's daily operational requirements.

eye tracking;pupil location;least square method;space coordinate transformation;embedded system

国家级大学生创新实验计划基金项目(2016A65278)。

TP368

A

�迪娜

2017-05-03)

猜你喜欢

视线瞳孔像素
像素前线之“幻影”2000
要去就去视线尽头的山
“像素”仙人掌
瞳孔里的太阳
你吸引了我的视线
ÉVOLUTIONDIGAE Style de vie tactile
瞳孔
高像素不是全部
瞳孔
当代视线