CN114020155A - 一种基于眼动仪的高精度视线定位方法 - Google Patents
一种基于眼动仪的高精度视线定位方法 Download PDFInfo
- Publication number
- CN114020155A CN114020155A CN202111303812.XA CN202111303812A CN114020155A CN 114020155 A CN114020155 A CN 114020155A CN 202111303812 A CN202111303812 A CN 202111303812A CN 114020155 A CN114020155 A CN 114020155A
- Authority
- CN
- China
- Prior art keywords
- pupil
- image
- pixel
- eye
- positioning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 210000001508 eye Anatomy 0.000 claims abstract description 116
- 210000004087 cornea Anatomy 0.000 claims abstract description 23
- 238000006073 displacement reaction Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 210000003128 head Anatomy 0.000 claims abstract description 6
- 210000001747 pupil Anatomy 0.000 claims description 72
- 238000012545 processing Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 claims description 17
- 238000001914 filtration Methods 0.000 claims description 16
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 13
- 238000003708 edge detection Methods 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 9
- 230000002829 reductive effect Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 210000005252 bulbus oculi Anatomy 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 230000033001 locomotion Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 230000014509 gene expression Effects 0.000 claims description 2
- 238000009499 grossing Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims description 2
- 230000009467 reduction Effects 0.000 claims 1
- 238000012549 training Methods 0.000 description 19
- 238000005457 optimization Methods 0.000 description 13
- 230000009977 dual effect Effects 0.000 description 12
- 238000000605 extraction Methods 0.000 description 11
- 230000004424 eye movement Effects 0.000 description 9
- 230000004913 activation Effects 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 210000004209 hair Anatomy 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000001028 reflection method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Eye Examination Apparatus (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于眼动仪的高精度视线定位方法,该算法包括以下步骤:步骤1.利用眼动仪采集左右眼睛红外图像,图像预处理;步骤2.角膜反射光斑定位;步骤3.瞳孔中心定位;步骤4.视线定位。本发明实现的视线定位系统,重点解决头部与注视平面存在位移抖动时的高精度定位问题,所设计的方案具有实时性、高可靠性和高精度。
Description
技术领域
本发明涉及一种基于眼动仪的高精度视线定位方法,眼动仪在军工、商业等多领域均有广泛应用,是实现眼控的硬件基础。
背景技术
人机交互是当代计算机技术研究的热点之一,在这人工智能崛起的时代,人们对触觉、视觉、听觉、嗅觉等多种人机交互方式的需求逐渐变得迫切起来,鼠标操作、手柄控制、键盘输入、图形输出等传统的人机交互方式不再满足人们的需求,人机交互正朝着多通道、多媒体的方向延伸。而眼睛作为外部世界信息进入人类大脑的最主要方式,它接收到的信息量大概占全部信息的80%~90%,因此视觉交互与语音识别技术、头动控制技术、手势识别控制技术以及基于脑电信号采集的脑机接口技术相比,具有不可替代的优势。
发明内容
本发明基于眼动仪硬件设备设计实现针对飞行员的视线定位控制系统,重点解决头部与注视平面存在位移抖动时的定位问题,所设计的方案具有实时性、高可靠性和高精度。
本发明的技术方案:
一种基于眼动仪的高精度视线定位方法,步骤如下:
步骤1:利用眼动仪采集左右眼睛红外图像,图像预处理;
步骤2:角膜反射光斑定位;
步骤3:瞳孔中心定位;
步骤4:视线定位。
步骤1中,图像预处理采用自适应阈值二值化处理,该过程包括了图像二值化和自动选取二值化阈值两个内容,最为关键的是如何根据图像背景自动选取二值化的阈值大小。
步骤1中,进行瞳孔二次定位,即先用最大类间法做全局分割求自动阈值做二值化处理,排除图片边缘点获得质心即完成瞳孔粗定位;再将图像以60pixel×60pixel大小的区域进行分割,找到瞳孔所在子区块寻找自动阈值做精细化瞳孔定位。
步骤2中,当眼动仪与人眼出现相对位移时,固定在眼动仪上的红外光源也会相应的产生位移,于是角膜反射光斑也随之改变位置,所以眼图中角膜反射光斑的位置变动可以反映眼动仪与人眼的相对位移,故可以使用瞳孔相对于角膜反射光斑的位置坐标(即瞳孔-角膜反射向量)代替瞳孔在眼图中位置坐标进行视场标定,这样就可以大大的减少眼动仪与人眼相对位移引入的误差。
步骤3中,采用径向对称变换算法。径向对称变换是一种简单快速的基于梯度的目标检测方法,它是从广义对称变换的基础上发展出来的。该变换的核心思想是利用所检测的目标具有圆的径向对称特性,实现对圆形目标的检测。径向对称变换算法的核心在于每个像素的梯度计算,梯度的方向分为正负两个方向,所以对于每个像素p,可以计算出在梯度方向上与其对应的两个映射点的位置正方向映射像素P+ve和负方向映射像素P-ve。
步骤4中,采用将眼图参数和眼图相结合的模型和数据双驱动的视线定位新技术。本专利采用基于残差神经网络的视线定位算法网络结构。在传统结构中,使用的是线性修正单元激活函数(Rectified Liner Unit,ReLU),其定义公式为f(x)=max(0,x)。当输入为负值时,ReLU会陷入“死区”,对后续计算产生影响。在进行网络训练过程中会造成梯度完全为0的情况。这一激活函数对二值化的手写数字在计算过程中影响较小,但在以灰度图为主、网络结构较深的情况下,需要进行调整。本专利中将激活函数替换为可选参数的PReLU,其公式为f(x)=max(ax,x)。在输入负值时,激活函数具备跳出“死区”的能力,且输入的特征可以通过计算得到线性保留,使模型具备更好的表征能力。
本发明的有益效果:
1.本发明算法计算速度快,可以实现眼动实时定位;
2.本发明提供了眼动仪的开源接口,为实现眼动控制提供平台。
附图说明
为了便于本领域技术人员理解,下面结合附图对本发明作进一步说明。
图1为眼控定位系统组成示意图。
图2图像预处理技术流程。
图3中值滤波窗口示意图。
图4改进算法图像分割示意图。
图5瞳孔-角膜反射向量。
图6去除角膜反射光斑后的眼睛图像。
图7边缘检测结果示意图,其中a)为原图,b)为截取,c)为边缘检测。
图8中心挖孔后效果示意图,其中a)为二值化图像,b)为中心挖孔后。
图9二维平面椭圆的表示。
图10梯度像素的映射关系图。
图11径向对称变换处理后的瞳孔中心,其中(a)为原始图像,(b)为Sn变换图像,(c)为瞳孔中心图像,(d)为定位瞳孔图像。
图12受毛发干扰的瞳孔定位处理结果。其中(a)为原始图像,(b)为受毛发干扰轻的瞳孔定位处理结果,(c)为受毛发干扰严重的瞳孔定位处理结果。
图13受光斑大小干扰的瞳孔定位处理结果。其中(a)-(d)为受光斑干扰的瞳孔定位处理结果,只是干扰光斑的大小不同,(a)-(d)对应由小到大。
图14径向对称变换处理后不同椭圆的定位效果,其中a为半径20像素的圆,b为长短轴20-19椭圆,c为长短轴20-18椭圆,d为长短轴20-17椭圆,e为长短轴20-16椭圆,f为长短轴20-15椭圆。
图15线性可分SVM。
图16两类非线性样本。
图17两类非线性数据经过映射后的结果。
图18 LeNet-5模型。
图19传统卷积网络和残差神经网络结构的差异,其中,(a)传统链接方式,(b)残差连接方式。
图20发明拟采用的残差块结构。
图21发明采用的残差神经网络结构。
具体实施方式
下面将结合申请实施中的附图,对本申请实施例中的技术方案进行清楚完整地描述。
眼控定位系统的组成如图1所示。系统通过2个摄眼摄像机、安装支架、红外光源、光学滤光片和图像采集的设备进行特征图像采集,然后利用计算机进行眼控定位算法的实现。使用时,安装在支架上的红外光源发射红外光通过滤光片反射在眼睛上,安装在支架上的摄像机采集左右眼睛红外图像,2路图像信号通过图像采集卡输入计算机。
采集到的图像信号,通过变换处理后,以瞳孔中心为人眼中心,可以获得左眼在摄眼摄像机中的图像坐标(u1,v1),右眼在摄眼摄像机中的图像坐标(u2,v2)。被试人员在进行视线注视时,其注视点P的世界坐标与左眼图像坐标(u1,v1)和右眼图像坐标(u2,v2)间是非线性的。但由于与注视点图像坐标之间存在一一对应的映射关系,所以所谓的人眼视线定位系统研究,就是在已知(u1,v1)和(u2,v2)的前提下,确定注视点P的图像坐标(u,v)(或P点的世界坐标)。
在眼动视线定位系统中,人的眼部图像是由固定的摄像头获取的,受摄像头成像器件和图像采集环境等的影响,所捕获的人眼图像难免会有一些孤立的噪声干扰点,影响眼动特征的提取,降低算法处理的速度。为了克服以上存在的问题,我们拟采用先对图像滤波去噪再进行后续处理的解决办法。
一种基于眼动仪的高精度视线定位方法,步骤如下:
步骤1:利用眼动仪采集左右眼睛红外图像,图像预处理;
步骤2:角膜反射光斑定位;
步骤3:瞳孔中心定位;
步骤4:视线定位。
所述的步骤1的图像预处理技术:
整个图像预处理的过程如图2所示。
在眼动视线跟踪系统中,人的眼部图像是由固定的摄像头获取的,受摄像头成像器件和图像采集环境等的影响,所捕获的人眼图像难免会有一些孤立的噪声干扰点,影响眼动特征的提取,降低算法处理的速度。为了克服以上存在的问题,我们拟采用先对图像滤波去噪再进行后续处理的解决办法。
(1)中值滤波
中值滤波是一种用周围像素点代替真实值的图像处理手段,能有效的降低孤立噪声点对图像边缘提取的影响,除图像的尺寸边界处以外,很好的保护了原图像的边缘信息。在正确采集的眼部图像中,瞳孔区域始终远离图像的尺寸边界,同时,中值滤波法具有实现简单、处理速度快的有点,恰好满足真实的视线跟踪系统中对眼动追踪速度的要求。因此,本发明中采用二维中值滤波法进行人眼图像的预处理,下面将对中值滤波处理方法进行阐述。
假设在人眼图像坐标系中坐标为(x,y)处图像的像素值大小是f(x,y),采用3×3大小的窗口W划定相邻的区域块如图3所示,通过寻找窗口区域内所有像素点的中间值替换f(x,y),并把修改后的像素值记为g(x,y),当窗口中某些位置处的像素点不存在,即中心像素点(x,y)位于图像的上下或左右边界处,则直接用0来代替这些不存在的位置处的像素值。
根据上述描述,中值滤波可以用公式表示为
g(x,y)=med{f(x,y),f(x,y)∈W} (1)
(2)图像自适应阈值二值化处理
图像自适应阈值二值化处理包括了图像二值化和自动选取二值化阈值两个内容,最为关键的是如何根据图像背景自动选取二值化的阈值大小。在本课题中拟采用最大类间法进行处理。最大类间方差法是由日本学者大津提出的,是一种在图像处理过程中进行最佳二值化阈值选取的方法。假设图像中一共有两部分区域,一部分为待识别目标的图像区域,另一部分为除目标以外的背景区域,当二者灰度值越接近,图像的均方差越小,目标越不容易分割提取。因此,可以通过搜索使方差达到最大的分割阈值,从而获得最佳的图像二值化效果。用分割阈值T对人眼图像进行处理时,图像会被默认分为两类,一类是颜色较深的瞳孔、眼角等所在的目标区域,另一类则是颜色较淡的背景区域。假设目标区域由N0个像素点组成,在整张图片中占比为ω0;背景区域由N1个像素点组成,在整张图片中占比为ω1;图像整体尺寸大小为M×N,平均灰度是μ,图像类间方差为g。则以下公式成立:
整理可得
g=ω0×ω1(μ0-μ1)2 (3)
使用遍历搜索的方法找到类间方差g最大时的阈值T,并以阈值T对图像进行二值化处理,此时的图像区分效果最佳。
最大类间方差法属于全局阈值分割方法。在实际的眼部图像中,目标区域只有瞳孔区域,但由于受到外界光线等的影响,眼角、眉毛等区域颜色和瞳孔会很接近,图像的背景变得很复杂,采用传统的最大类间法确定的二值化阈值对图像进行二值化处理容易将目标物扩大。为了避免全局阈值分割对小区域目标提取的不利影响,对最大类间法进行了改进。假设人眼图像尺寸为M×N,先将其平均分为m个小图,然后对这m个小图像分别用最大类间法求出阈值组成阈值矩阵[T1,T2,T3,T4,T5,…,Tm],然后通过拟合处理,就可以得到任意一点处的局部阈值,完成二值化。改进型最大类间法虽然弥补了最大类间法全局域分割的不足,但在使用中需要计算每个图像子块的阈值,算法复杂度增加,实时性变差,且实际需求中仅仅需要挑选出瞳孔所在子区域。受改进型最大类间法启发,本发明拟提出一种瞳孔二次定位方法,先用最大类间法做全局分割求自动阈值做二值化处理,排除图片边缘点获得质心即完成瞳孔粗定位;再将图像以60pixel×60pixel大小的区域进行分割,找到瞳孔所在子区块寻找自动阈值做精细化瞳孔定位,如图4所示。
由于瞳孔区域面积远远小于背景图像,如果直接运用最大类间法必然受背景图像的极大干扰,而使用改进型最大类间法则会增加处理时间和设备负担。瞳孔二次定位这一方法充分利用了瞳孔在大小、空间分布上的特点,又灵活运用了现有图像处理方法,折中了使用不同算法的矛盾,提高算法处理速度。
所述的步骤2的角膜反射光斑定位技术
瞳孔-角膜反射向量法也被简称为角膜反射法是眼动跟踪方法之一,其将角膜反射亮斑和瞳孔区域中心点作为眼动特征,通过视线跟踪模型映射匹配,实现视线跟踪功能。该方法将红外光束打在人眼瞳孔区域上,并在眼球表面发生反射形成一个白色的亮斑,通过提取瞳孔中心坐标和角膜反射亮斑中心点坐标,采用相应的映射模型进行注视点位置估计。由于角膜是一个标准的球面,所以当眼球以角膜曲率中心转动时,红外点光源在角膜上成的像(即角膜反射光斑)的位置是不变的。当眼控仪与人眼出现相对位移时,固定在眼控仪上的红外光源也会相应的产生位移,于是角膜反射光斑也随之改变位置,所以眼图中角膜反射光斑的位置变动可以反映眼控仪与人眼的相对位移,故可以使用瞳孔相对于角膜反射光斑的位置坐标(即瞳孔-角膜反射向量)代替瞳孔在眼图中位置坐标进行视场标定,这样就可以大大的减少眼控仪与人眼相对位移引入的误差。由于飞机在飞行过程中的震动,因此眼动仪上的红外光源与头部必然产生相对运动,从而导致角膜反射点移位,因此可以利用瞳孔-角膜反射向量法进行眼动仪与头部的运动补偿。
瞳孔-角膜反射向量如图5所示,PR代表瞳孔区域的中心点位置,GR代表角膜反射点位置,GR与PR之间的连线即构成了瞳孔-角膜反射向量,再进行注视点映射匹配,即可得到与瞳孔-角膜反射向量相对应的注视点坐标。当人眼注视不同的位置时,瞳孔中心也随之变动;同时,当眼动仪和人眼出现相对位移时,角膜反射光斑的中心也会随之变动,因此可以得到不同的瞳孔-角膜反射向量,通过视线定位算法处理从而得到实时的注视点位置,实现视线跟踪功能。
(1)定位角膜反射光斑中心坐标
如图5所示,在眼图中角膜反射光斑通常位于图像的中心区域,同时其具有最大的灰度值。所以为了加快计算速度和排除噪声干扰,可以在眼图的一个长方形区域内进行光斑搜索。算法在开始阶段,用最大的阈值将图像进行二值化,仅让灰度值大于这个阈值的像素作为角膜反射光斑的候选点。通过之前的图像预处理和二值化操作,此时得到的眼图中,角膜反射光斑是二值化图像中除背景外最大的一块儿区域,其它的反射点都比它小。但是,当阈值选择不恰当时,如阈值选择过大,那么可能无法定位角膜光斑;而如果阈值过小,又会产生多个虚假的角膜光斑,所以需要对二值化阈值进行最优选择。依照传统的方法,当减少二值化的阈值,计算最大区域的像素数与其它区域中的像素数的比值时,这个比值将会增加,而角膜反射光斑里像素的灰度值自中心到光斑边缘单调降低。当阈值减小到一定程度,即角膜反射光斑增大到一定程度时,错误的角膜反射光斑候选区域面积将变得更加显著,此时这个比值将会降低。把产生最大比值的阈值作为最优阈值。计算此时图像中最大区域的中心坐标即为角膜反射光斑的中心。
(2)去除眼图中的角膜反射光斑
求取角膜反射光斑中心后,由于角膜反射光斑的存在,会对后续的求取瞳孔中心位置坐标产生较大的影响,所以接下来要首先去除它。最简单的去除方法是对眼图进行插值处理,使得角膜反射光斑内部像素的灰度值平滑过渡,光斑边界的灰度值与其周围像素的灰度像素值尽量相同。处理后的结果如图6所示。
所述的步骤3的瞳孔中心定位技术
基于瞳孔-角膜反射光斑定位方法,在求取角膜反射光斑后的下一个重要步骤是提取眼图中的瞳孔中心位置。
(1)瞳孔边缘检测
经过上面的图像预处理步骤,可以得到瞳孔中心的大概位置,以此坐标为基准,用边长大于瞳孔直径的矩形对瞳孔所在区域进行分割提取,再用边缘检测算子获得灰度图中瞳孔区域边界,为瞳孔中心坐标提取奠定基础。常用的图像边缘检测算法及其核心思想如下。Canny算子,通过寻找二值图像中梯度的局部极大值来寻找边缘。Log算子,用高斯滤波的拉普拉斯算子对二值图像进行滤波后求零交叉点。Prewitt算子,利用Prewitt近似导数寻找边缘,在二值图像的梯度最大的点处返回边界值。Roberts算子,利用罗伯茨近似求导数寻找边缘,在二值图像的梯度最大点处返回边界值。Sobel算子,利用Sobel逼近求导数寻找边缘,在二值图像的梯度最大的点处返回边界值。Zerocross算子,通过使用指定的滤波器对二值图像进行过滤后查找零交叉点,从而找到边缘,如图7所示。
在对瞳孔区域进行边缘检测的过程中,还可以使用一种仅适用于二值化后除目标区域外不含干扰点的方法——中心挖空法。假设图像二值化后的目标区域即瞳孔区域为黑色,背景为白色且无除瞳孔区域以外的任何干扰点,则中心挖空法的边界界定方法如下:
1)如果某一黑色像素点周围点都是黑色,表明该点是瞳孔区域的内部点,在边界提取时直接将其挖掉,更换为白色像素点即可;
2)如果某一黑色像素点周围不全是黑色,表明该点是瞳孔区域的边缘点,将其保留即可。
根据上述规则,即可得到二值化图像中目标的轮廓,边缘检测效果如图8所示。但是使用中心挖空法进行瞳孔边界提取要达到如此高的提取效果是有苛刻的前提条件的,要求二值化阈值的选取必须能够准确区分目标和背景,但在实际的人眼图像处理过程中,目标区域往往会被扩大化,眉毛、眼角等区域处的边界也将被提取出来,使得检测到的瞳孔边界点中因包含某些非瞳孔边界点而失去意义。
(2)瞳孔中心定位
由于瞳孔在眼图中以椭圆的形式存在,所以首先需要介绍椭圆在二维平面中的表示方法,然后介绍基于最小二乘拟合椭圆的瞳孔中心定位算法。
1)椭圆的表示方法
在二维平面坐标系中,椭圆一般可以用两种形式来表示,一种是利用圆锥曲线方程的代数形式表示,如公式(4)所示。
Ax2+Bxy+Cy2+Dx+Ey+F=0 (4)
其中对方程的约束条件为B2-4AC<0。最小二乘法椭圆拟合则使用了边缘检测获取的所有瞳孔边缘点坐标,依据最小二乘原理得
通过极值定理就可以得到一组线性方程,结合约束条件就可以得到系数A、B、C、D、E和F的值,从而得到椭圆圆心即瞳孔中心坐标(xc,yc)。
另外一种更直观的方式是用平面坐标系的几何参数表示,即椭圆中心位置(xc,yc),长轴和短轴(a,b),长轴的转角θ,二维平面里的任意椭圆都可以用这5个参数唯一确定,参数的几何意义如图9所示。两种表示形式的参数可以用公式(6)-(10)互相转换。
(3)抗干扰瞳孔中心定位技术
上面介绍了瞳孔中心定位的主流方法,但是其抗干扰能力较差。为了抵御毛发、光斑数量和尺寸等干扰,目前比较前沿的技术是径向对称变换算法。
径向对称变换是一种简单快速的基于梯度的目标检测方法,它是从广义对称变换的基础上发展出来的。该变换的核心思想是利用所检测的目标具有圆的径向对称特性,实现对圆形目标的检测。径向对称变换算法的核心在于每个像素的梯度计算,梯度的方向分为正负两个方向,所以对于每个像素p,可以计算出在梯度方向上与其对应的两个应设点的位置正方向映射像素P+ve和负方向映射像素P-ve,如图10所示。
正负方向的映射点的位置P+ve和P-ve计算如下:
其中g(p)代表像素p的梯度向量[gx(p),gy(p)],其中n为检测半径,而round函数表示取整。图10中梯度幅值映射Mn和梯度方向映射On可以通过公式(13)-(16)实现。其中Mn反映了p点周围的点的梯度大小在该点上的幅值叠加,而On反映了p点周围的像素点沿着其梯度方向映射到该点上的像素的个数。On和Mn随着检测半径的变化而迭代。
On(P+ve(p))=On(P+ve(p))+1 (13)
On(P-ve(p))=On(P-ve(p))-1 (14)
Mn(P+ve(p))=Mn(P+ve(p))+||g(p)|| (15)
Mn(P-ve(p))=Mn(P-ve(p))-||g(p)|| (16)
当检测半径为n时,通过公式(17)可以获得径向对称变换的结果。通过高斯平滑可以降低噪声的干扰。
Sn=Fn*An (17)
其中An是一个二维的高斯窗,Fn由公式(18)获得。公式(18)中α是径向控制参数,kn是一个尺度算子用来归一化不同半径下得到的Mn和On。
其中
最后通过将所有的检测半径下的径向对称变换的结果Sn进行累加求平均,最终得到径向对称变换的结果S。
处理的结果如图11所示,其中(a)为原始眼图;(b)为经过径向对称变换算法的Sn图像,图中的黑点表示Sn图像的最大值;(c)为处理后的眼图图像,中心的白色十字标志为瞳孔中心;(d)图为处理后得到的瞳孔区域部分以及瞳孔中心。
径向对称变换算法抗干扰能力可以通过以下示例来验证,结果如图12-图14所示。
所述的步骤4的视线定位技术
视线定位技术是眼控瞄准定位系统中的关键核心技术。目前主要包括基于SVM回归方法,基于卷积神经网络的方法以及最新的基于残差神经网络的方法,为了提高跟踪定位的精度和稳定性,在本发明中我们拟把眼图参数和眼图相结合提出模型和数据双驱动的视线定位新技术。下面我们逐一介绍典型方法和我们拟采用的方法。
(1)基于SVM的视线跟踪方法
支持向量机最早在二十世纪末被提出,但一直沿用至今。面对样本数据集少的回归运算,它能够有效的升高维度,得到线性化的结果。一个支持向量机可以映射到一个超平面,可以找到两类中的最大化差异,再把高维空间的分类面映射回低维,这是在分类中的应用;在回归中,SVM的思想是把左右数据看作一类,将映射的所有数据做到类内方差最小,其在应用中具有较好的泛化能力。SVM在视线跟踪技术的应用中,应该称之为SVR,因为是对注视点的回归,跟普遍机器学习方法的步骤是一致的。下面我们首先介绍一下SVM的基本原理。对于一个SVM模型,“支持向量”是指支持或支撑平面上把两类样本类别划分开来的超平面的向量点。假设样本是线性可分别的,即:
设给定一个特征空间上的训练集T为{(x1,y1),(x2,y2),…,(xi,yi),yi∈{1,-1}},其中,xi是一个n维向量,包含着数据点的n个特征,yi为分类的标签,代表着两个不同的类别。SVM的目标就是在n维的数据空间中,寻找一个最优的超平面:wTx+b=0,将两类样本尽可能的区分开。这样,对于分类边界左侧的样本满足:wTx+b<0,相应右侧的样本满足:wTx+b>0。因此,当分类边界找到时,两类样本可以很容易的区分开来。
如图15所示,对于图中的两类样本,一个最优的分割超平面意味着它到离其最近的样本数据点所在的平面的距离尽可能大,亦即求得的超平面距支持向量所在的超平面要尽可能远。在数学上,可以表示为如下的优化问题
一般不直接求解式(21)的优化问题,考虑将其进行简化,具体处理方法如下。根据前述,样本的标签和其特征满足如下映射关系
y(x)=wTx+b (22)
由式(22)可以得到如下结论
式(23)说明yi·y(xi)相当于对y(xi)取模。这时,当w和b等比例缩放时,y(xi)等比例缩放,因此总可以通过等比例缩放w和b的方法,使得两类样本点的函数值都满足
|y|=yi·y(xi)≥1 (24)则式(21)的优化问题可转化为如下的优化问题:
为了增加对训练样本的鲁棒性,我们将式(25)的优化问题改写为:
式(26)可进一步转化为如下的优化问题:
式(27)为一个二次凸优化问题,可以用现成的二次凸优化包进行求解。考虑到其形式的特殊性,在这里我们考虑用拉格朗日对偶法对(27)式的优化问题进行改造,以便获得更加简洁的优化问题。
定义拉格朗日函数为
然后,令
观察式(28)、式(29)发现,当某个约束条件不满足时,即:
yi(wTx+b)-1+ξi<0,θ(w)=+∞ (30)
只需令αi=+∞即可,而当所有的约束条件均满足时,则有:
原问题的对偶问题为
其中,*p和*d分别为原问题和其对偶问题的最优解,不难得到二者满足:*d≤*p,亦即对偶问题确定了原问题的一个下确界,*d=*p时,称二者的关系为强对偶。我们期望通过求解原问题的对偶问题,进而求解出原问题,故而应考虑原问题的最优解*p和其对偶问题最优解*d在什么条件下满足强对偶。对于凸优化问题而言,强对偶和KKT条件互为充要条件。由于我们的原问题是一个凸二次规划问题,并且经过验证是满足KKT条件的,故而原问题和其对偶问题满足强对偶,因此我们可以通过求解原问题的对偶问题,间接求解原问题。
考察式(32),首先我们固定α,分别求解L(w,b,α,μ)对w,b和ξi的偏导数,并令它们等于0,得到
将式(34)的结果代回式(27)中,得
最终,原问题的对偶问题的优化形式可表述如下
再次观察式(28)我们发现,对于为“支持向量”的样本点而言,满足:
yi(wTxi+b)-1+ξi=0 (38)
对于非支持向量的样本点而言:
yi(wTxi+b)-1+ξi>0 αi≥0 (39)
而最大化L(w,b,α,ξi),则要求αi=0。概括来讲,对于绝大部分训练样本而言,αi=0,而仅在少数的支持向量处的αi非零。
由于视线跟踪中眼图坐标和视点坐标不是线性关系,因此不能采用上述线性SVM模型。此时考虑引入核函数,把输入向量映射到一个高维的特征空间,那么映射后的样本在此高维空间是线性可分的,此时我们可以在此高维特征空间里寻找最优超平面。这里的核函数是指计算两个向量在隐式映射过后的空间中的内积的函数,即图16是两类非线性数据,图17是经过映射后两类非线性数据在高维空间中的情况。
这样式(37)的分类函数可写为:
<·>代表内积运算。相应地,αi可通过如下的优化方程求得:
常见的核函数有
多项式核函数
κ(x1,x2)=(<x1,x2>+R)d (42)
高斯核函数
线性核函数:
κ(x1,x2)=<x1,x2> (44)
SVM算法功能非常强大:不仅支持线性与非线性的分类,也支持线性与非线性回归。它的主要思想是逆转目标:在分类问题中,是要在两个类别中拟合最大可能的街道(间隔),同时限制间隔侵犯(margin violations);而在SVM回归中,它会尝试尽可能地拟合更多的数据实例到间隔上,同时限制间隔侵犯。在利用SVM进行视线跟踪时,主要采用SVM回归模型。SVM回归问题与分类问题二者在结构上相同,区别在于它们的输出取值范围不同。在分类问题中,输出只允许取有限个值;而在回归问题中,输出可以取任意实数。可以认为回归问题是分类问题的推广,分类问题是回归问题的一种特殊情况。在利用SVM进行数据回归时,选取合适的核函数,不论对回归效果还是算法的复杂度而言都是至关重要的。目前选用RBF核函数,这主要是基于以下几个方面的考虑。首先,RBF核函数将样本数据通过非线性方式映射到高维空间,解决了数据输入和输出为非线性关系的问题。其次,在构造判别函数过程中,超平面的数量也在很大程度上影响了模型的复杂性。相比而言,多项式核函数的超平面数量要比RBF核函数多。第三,RBF核函数在数学上计算要容易的多。特别当多项式的次数很大时,核函数的取值有可能变得接近无穷大或零,从而带来计算上的困难。而对于RBF核函数则不存在这一问题,它可以将输出控制在(0,1]的范围内。然而,RBF核函数也有不适合的情况,尤其当样本数据的特征数量比较大时,应当使用线性核函数。本发明讨论的问题中,样本数据的特征数量只有两个,分别是瞳孔中心相对光斑的横纵坐标,所以仍然可以采用RBF核函数。
(2)基于卷积神经网络的算法
卷积神经网络是一种比较特殊的人工神经网络。由于其对平面特征的提取能力,在人脸识别、文字语义分析、场景和物体的定位与跟踪等方面应用非常广泛。目前,视线估计中已经出现基于卷积神经网络的算法,但算法结构仍旧沿用传统的固定结构模式。图18展示的网络结构是CNN中最早提出的传统LeNet-5结构,其设计初衷是为了实现手写数字的自动识别任务。通过大量的训练得到稳定的LeNet-5模型,准确率可以达到人眼识别手写数字的标准。
基于卷积神经网络的视线跟踪方法使用笔记本电脑作为硬件平台,使用笔记本自带相机完成图像的采集,经过特征点检测获取眼部图像。在进入卷积神经网络进行计算前,截取一定分辨率的单眼图像作为训练数据,经过特征提取操作后结合眼图参数计算注视点在屏幕上的坐标位置。基于该结构的视线估计算法流程包括以下步骤:
1)输入指定的图像数据(统一的数据格式和标签量);
2)利用一组卷积核进行卷积操作,获取一组对应的卷积图(卷积核数量、大小可以自行选取,卷积核内神经元的参数通过训练调整);
3)对特征图进行非线性激活(使用激活函数去除噪音和多余数据);
4)进行池化操作(降低数据维度,压缩数据量);
5)针对同一组数据重复进行步骤2-4的过程(反复提取特征);
6)将得到的特征图全部数据作为输入,接入多层感知机进行计算;
7)输出屏幕对应注视点坐标。
由于前使用LeNet-5结构进行视线估计的准确度仍旧比较低。相比于手写字符,由于眼部图像包括眼球和眼周围的皮肤,纹理特征更丰富,瞳孔与眼角的位置关系比较复杂,潜在特征增多,传统的LeNet-5结构对潜在的特征信息进行提取不够充分,无法获取更多的特征进行计算。因此,我们需要根据任务需求对其进行改进,使训练过程和结果更符合发明的实际需求。
(3)基于残差神经网络的视线跟踪算法
传统的LeNet-5结构不能提取出足够丰富的潜在特征。为了增强网络的性能,主要方法就是增加用于图像特征提取的卷积层的数量,也就是加深网络结构。但是更深的网络不仅增加了计算量,影响计算速度,网络如果“过深”还会造成训练难度增加,出现梯度消失的现象。因此,需要考虑实际使用条件限制。为了解决上述问题,本发明引用深度残差网络(Deep Residual Network,DRN)中的残差块结构来改进网络。该网络结构的设计初衷是为了解决CNN在逐步加深过程中出现的训练困难等问题。残差网络的连接方式与常规网络的线性连接不同,如图19所示。
常规网络的连接方式如图19中的(a)所示。图中输入为x,输出为H(x),W1表示第1层卷积计算过程,W2表示第2层卷积计算过程,由于进行线性连接,其输出为
H(x)=W2×(W1×x) (45)
残差网络则是使用残差块(Residual Block)为基本单元构成的网络结构。从结构上讲,残差块的连接方式就是在常规的线性网络连接中,增加了一个“通道”,形成一个“捷径链接(Shortcut Connection)”。残差块结构如图19中的(b)所示,即此时该层的输出表示为
H(x)=F(x)+x (46)
由于残差神经网络在训练过程中使用反向传播算法进行训练,训练过程中需要计算输出的损失,即Loss值Loss=F(XL,WL,bL),其中L为任意输入层的计算损失,XL为其输入,WL为卷积矩阵,bL为该层的偏置。对每一个计算层而言,用Loss值对输入求偏导,即计算该层的下降梯度
由于梯度连乘的原因,任意相邻两层之间存在如下关系
那么,针对L层的网络整体来说,会有
式(49)所求的偏导数就是训练过程中指引参数变化趋势的网络梯度。尽管深化网络结构可以使模型具备更高维度的特征提取和计算能力,但过度加深网络会造成网络无法训练。由式(49)可以推断,当网络计算层加深超过一定程度,其计算结果的变化幅度会非常大,造成梯度值迅速减小甚至消失。梯度消失以后,网络在训练过程中不论输入输出的变化如何,网络本身已经无法调整参数,无法训练出有效模型。但是对于残差网络,经过结构的调整变化,网络输出的L也会随之变化。假设新的结构网络输出L,残差网络的输出的Loss也变为
L′=XL+F(XL,WL,bL) (50)
可以看到,此时求每一层的下降梯度
将式(51)代入式(49)中,可以得到
通过上式可以看到,在改变网络结构以后,不管如何加深,其Loss值将逐渐趋近于1,梯度始终保持不会消失,网络的训练可以持续进行。据以上分析,本发明提出一种基于残差块(Residual Block)的改进网络结构,该基于这一结构的算法那可以利用残差块在增加网络深度同时保持网络训练梯度的特性,提升网络对特征的提取能力,而且不会造成训练过程中的梯度消失现象。
本发明拟使用包含三个卷积层的残差块作为基本单元。虽然对残差块内卷积层数量可任意选择,但基于单卷积层的残差块不具备优化特性。因此,本发明使用的是图20中3层卷积组合的方式。其中第1层卷积使用1×1卷积核进行数据降维,经过3×3卷积核的计算后再利用1×1卷积进行恢复,这种结构与双层残差块网络相比,在保持计算效果同时降低了计算量。
本发明首先使用两个残差块进行结构改进,改进后的网络结构如图21所示。同时,为了确保眼图坐标信息得到充分利用,在前面改进基础上,增加一层全连接层,确保眼图坐标信息与图像提取出的特征信息更好地融合计算。
在传统结构中,使用的是线性修正单元激活函数(Rectified Liner Unit,ReLU),其定义公式为f(x)=max(0,x)。当输入为负值时,ReLU会陷入“死区”,对后续计算产生影响。在进行网络训练过程中会造成梯度完全为0的情况。这一激活函数对二值化的手写数字在计算过程中影响较小,但在以灰度图为主、网络结构较深的情况下,需要进行调整。本发明中将激活函数替换为可选参数的PReLU,其公式为f(x)=max(ax,x)。在输入负值时,激活函数具备跳出“死区”的能力,且输入的特征可以通过计算得到线性保留,使模型具备更好的表征能力。
Claims (5)
1.一种基于眼动仪的高精度视线定位方法,其特征在于,步骤如下:
步骤1:利用眼动仪采集左右眼睛红外图像,图像预处理;
步骤2:角膜反射光斑定位;
步骤3:瞳孔中心定位;
步骤4:视线定位。
2.根据权利要求1所述的一种基于眼动仪的高精度视线定位方法,其特征在于,所述的步骤1中,图像预处理包括对图像进行中值滤波以及自适应阈值二值化处理;
(1)所述的中值滤波过程为:设在人眼图像坐标系中坐标为(x,y)处图像的像素值大小是f(x,y),采用窗口W划定相邻的区域块,通过寻找窗口区域内所有像素点的中间值替换f(x,y),并把修改后的像素值记为g(x,y),当窗口中某些位置处的像素点不存在,即中心像素点(x,y)位于图像的上下或左右边界处,则直接用0来代替这些不存在的位置处的像素值;根据上述描述,中值滤波可以用公式表示为:g(x,y)=med{f(x,y),f(x,y)∈W} (1)
(2)所述的自适应阈值二值化处理包括图像二值化和自动选取二值化阈值;在对得到的图像进行中值滤波后,进行瞳孔二次定位方法:先用最大类间法做全局分割求自动阈值做二值化处理,排除图片边缘点获得质心即完成瞳孔粗定位;再将图像以60pixel×60pixel大小的区域进行分割,找到瞳孔所在子区块寻找自动阈值做精细化瞳孔定位;
(2.1)采用最大类间法根据图像背景自动选取二值化的阈值大小:用分割阈值T对人眼图像进行处理时,图像会被默认分为两类,一类是颜色较深的瞳孔、眼角等所在的目标区域,另一类则是颜色较淡的背景区域;设目标区域由N0个像素点组成,在整张图片中占比为ω0,平均灰度为μ0;背景区域由N1个像素点组成,在整张图片中占比为ω1,平均灰度为μ1,图像整体尺寸大小为M×N,图像的总平均灰度是μ,图像类间方差为g;则以下公式成立:
ω0=N0/(M×N)
g=ω0×(μ0-μ)2+ω1×(μ1-μ)2
整理可得:
g=ω0×ω1(μ0-μ1)2 (3)
使用遍历搜索的方法找到类间方差g最大时的阈值T,并以阈值T对图像进行二值化处理,此时的图像区分效果最佳;
(2.2)改进型最大类间法:设人眼图像尺寸为M×N,先将其平均分为m个小图,然后对这m个小图像分别用最大类间法求出阈值组成阈值矩阵[T1,T2,T3,T4,T5,…,Tm],然后通过拟合处理,得到任意一点处的局部阈值,完成二值化。
3.根据权利要求2所述的一种基于眼动仪的高精度视线定位方法,其特征在于,所述的步骤2中,角膜反射光斑定位:将红外光束打在人眼瞳孔区域上,并在眼球表面发生反射形成一个白色的亮斑,通过提取瞳孔中心坐标和角膜反射亮斑中心点坐标,采用相应的映射模型进行注视点位置估计;由于角膜是一个标准的球面,所以当眼球以角膜曲率中心转动时,红外点光源在角膜上成的像即角膜反射光斑的位置是不变的;当眼控仪与人眼出现相对位移时,固定在眼控仪上的红外光源也会相应的产生位移,于是角膜反射光斑也随之改变位置,所以眼图中角膜反射光斑的位置变动可以反映眼控仪与人眼的相对位移,故可以使用瞳孔相对于角膜反射光斑的位置坐标,即瞳孔-角膜反射向量,代替瞳孔在眼图中位置坐标进行视场标定;利用瞳孔-角膜反射向量法进行眼动仪与头部的运动补偿;瞳孔-角膜反射向量:PR代表瞳孔区域的中心点位置,GR代表角膜反射点位置,GR与PR之间的连线即构成了瞳孔-角膜反射向量,再进行注视点映射匹配,即可得到与瞳孔-角膜反射向量相对应的注视点坐标;当人眼注视不同的位置时,瞳孔中心也随之变动;同时,当眼动仪和人眼出现相对位移时,角膜反射光斑的中心也会随之变动,因此可以得到不同的瞳孔-角膜反射向量,通过视线定位算法处理从而得到实时的注视点位置,实现视线跟踪功能;具体过程包括以下两个部分:
(1)定位角膜反射光斑中心坐标
在眼图的一个长方形区域内进行光斑搜索;在开始阶段,用最大的阈值将图像进行二值化,仅让灰度值大于这个阈值的像素作为角膜反射光斑的候选点;通过之前的图像预处理和二值化操作,此时得到的眼图中,角膜反射光斑是二值化图像中除背景外最大的一块区域,其它的反射点都比它小;但是,当阈值选择不恰当时,如阈值选择过大,那么可能无法定位角膜光斑;而如果阈值过小,又会产生多个虚假的角膜光斑,所以需要对二值化阈值进行最优选择;依照传统的方法,当减少二值化的阈值,计算最大区域的像素数与其它区域中的像素数的比值时,这个比值将会增加,而角膜反射光斑里像素的灰度值自中心到光斑边缘单调降低;当阈值减小到一定程度,即角膜反射光斑增大到一定程度时,错误的角膜反射光斑候选区域面积将变得更加显著,此时这个比值将会降低;把产生最大比值的阈值作为最优阈值;计算此时图像中最大区域的中心坐标即为角膜反射光斑的中心;
(2)去除眼图中的角膜反射光斑
求取角膜反射光斑中心后,由于角膜反射光斑的存在,会对后续的求取瞳孔中心位置坐标产生较大的影响,所以用插值处理去除影响,使得角膜反射光斑内部像素的灰度值平滑过渡,光斑边界的灰度值与其周围像素的灰度像素值尽量相同。
4.根据权利要求3所述的一种基于眼动仪的高精度视线定位方法,其特征在于,所述的步骤3中,瞳孔中心定位具体步骤如下:
(1)瞳孔边缘检测
通过步骤1的图像预处理步骤,得到了瞳孔中心的大概位置,以此坐标为基准,用边长大于瞳孔直径的矩形对瞳孔所在区域进行分割提取,再用边缘检测算子获得灰度图中瞳孔区域边界;
采用中心挖空法对瞳孔区域进行边缘检测,设图像二值化后的目标区域即瞳孔区域为黑色,背景为白色且无除瞳孔区域以外的任何干扰点,则中心挖空法的边界界定方法如下:
1)如果某一黑色像素点周围点都是黑色,表明该点是瞳孔区域的内部点,在边界提取时直接将其挖掉,更换为白色像素点即可;
2)如果某一黑色像素点周围不全是黑色,表明该点是瞳孔区域的边缘点,将其保留即可;
(2)瞳孔中心定位
1)椭圆的表示方法
在二维平面坐标系中,椭圆用两种形式来表示:
一种是利用圆锥曲线方程的代数形式表示,如公式(4)所示;
Ax2+Bxy+Cy2+Dx+Ey+F=0 (4)
其中对方程的约束条件为B2-4AC<0;最小二乘法椭圆拟合则使用了边缘检测获取的所有瞳孔边缘点坐标,依据最小二乘原理得
通过极值定理就可以得到一组线性方程,结合约束条件就可以得到系数A、B、C、D、E和F的值,从而得到椭圆圆心即瞳孔中心坐标(xc,yc);
另外一种方式是用平面坐标系的几何参数表示,即椭圆中心位置(xc,yc),长轴和短轴(a,b),长轴的转角θ,二维平面里的任意椭圆都可以用这5个参数唯一确定,两种表示形式的参数可以用公式(6)-(10)互相转换;
(3)利用径向对称变换实现抗干扰瞳孔中心定位技术
径向对称变换算法的核心在于每个像素的梯度计算,梯度的方向分为正负两个方向,所以对于每个像素p,可以计算出在梯度方向上与其对应的两个应设点的位置正方向映射像素P+ve和负方向映射像素P-ve;
正负方向的映射点的位置P+ve和P-ve计算如下:
其中g(p)代表像素p的梯度向量[gx(p),gy(p)],其中n为检测半径,而round函数表示取整;梯度幅值映射Mn和梯度方向映射On可以通过公式(13)-(16)实现;其中Mn反映了p点周围的点的梯度大小在该点上的幅值叠加,而On反映了p点周围的像素点沿着其梯度方向映射到该点上的像素的个数;On和Mn随着检测半径的变化而迭代;
On(P+ve(p))=On(P+ve(p))+1 (13)
On(P-ve(p))=On(P-ve(p))-1 (14)
Mn(P+ve(p))=Mn(P+ve(p))+||g(p)|| (15)
Mn(P-ve(p))=Mn(P-ve(p))-||g(p)|| (16)
当检测半径为n时,通过公式(17)可以获得径向对称变换的结果;通过高斯平滑可以降低噪声的干扰;
Sn=Fn*An (17)
其中An是一个二维的高斯窗,Fn由公式(18)获得;公式(18)中α是径向控制参数,kn是一个尺度算子用来归一化不同半径下得到的Mn和On;
其中
最后通过将所有的检测半径下的径向对称变换的结果Sn进行累加求平均,最终得到径向对称变换的结果S;
5.根据权利要求4所述的一种基于眼动仪的高精度视线定位方法,其特征在于,所述的步骤4中,利用改进后的残差神经网络对步骤2和步骤3得到的定位结果进行实现定位;改进后的残差神经网络为从结构上讲,残差块的连接方式就是原有的线性网络连接中,增加了一个“通道”,形成一个“捷径链接”;使用包含三个卷积层的残差块作为基本单元,其中第1层卷积使用1×1卷积核进行数据降维,经过3×3卷积核的计算后再利用1×1卷积进行恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111303812.XA CN114020155A (zh) | 2021-11-05 | 2021-11-05 | 一种基于眼动仪的高精度视线定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111303812.XA CN114020155A (zh) | 2021-11-05 | 2021-11-05 | 一种基于眼动仪的高精度视线定位方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020155A true CN114020155A (zh) | 2022-02-08 |
Family
ID=80061447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111303812.XA Pending CN114020155A (zh) | 2021-11-05 | 2021-11-05 | 一种基于眼动仪的高精度视线定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020155A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115359548A (zh) * | 2022-07-22 | 2022-11-18 | 吉林大学第一医院 | 一种手持式智能瞳孔检测装置及检测方法 |
CN116843626A (zh) * | 2023-06-08 | 2023-10-03 | 江苏苏港智能装备产业创新中心有限公司 | 一种基于多特征融合的机器视觉钢丝绳表面缺陷检测方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136512A (zh) * | 2013-02-04 | 2013-06-05 | 重庆市科学技术研究院 | 一种瞳孔定位方法及系统 |
CN103176607A (zh) * | 2013-04-16 | 2013-06-26 | 重庆市科学技术研究院 | 一种眼控鼠标实现方法及系统 |
CN103440476A (zh) * | 2013-08-26 | 2013-12-11 | 大连理工大学 | 一种人脸视频中瞳孔的定位方法 |
CN103530618A (zh) * | 2013-10-23 | 2014-01-22 | 哈尔滨工业大学深圳研究生院 | 一种基于角膜反射的非接触式视线追踪方法 |
CN103761519A (zh) * | 2013-12-20 | 2014-04-30 | 哈尔滨工业大学深圳研究生院 | 一种基于自适应校准的非接触式视线追踪方法 |
CN104346621A (zh) * | 2013-07-30 | 2015-02-11 | 展讯通信(天津)有限公司 | 创建眼睛模板及检测眼睛状态的方法与装置 |
CN107833251A (zh) * | 2017-11-13 | 2018-03-23 | 京东方科技集团股份有限公司 | 瞳孔定位装置和方法、虚拟现实设备的显示驱动器 |
CN113325956A (zh) * | 2021-06-29 | 2021-08-31 | 华南理工大学 | 一种基于神经网络的眼动控制系统及实现方法 |
CN113342161A (zh) * | 2021-05-27 | 2021-09-03 | 常州工学院 | 一种基于近眼相机的视线追踪方法 |
-
2021
- 2021-11-05 CN CN202111303812.XA patent/CN114020155A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136512A (zh) * | 2013-02-04 | 2013-06-05 | 重庆市科学技术研究院 | 一种瞳孔定位方法及系统 |
CN103176607A (zh) * | 2013-04-16 | 2013-06-26 | 重庆市科学技术研究院 | 一种眼控鼠标实现方法及系统 |
CN104346621A (zh) * | 2013-07-30 | 2015-02-11 | 展讯通信(天津)有限公司 | 创建眼睛模板及检测眼睛状态的方法与装置 |
CN103440476A (zh) * | 2013-08-26 | 2013-12-11 | 大连理工大学 | 一种人脸视频中瞳孔的定位方法 |
CN103530618A (zh) * | 2013-10-23 | 2014-01-22 | 哈尔滨工业大学深圳研究生院 | 一种基于角膜反射的非接触式视线追踪方法 |
CN103761519A (zh) * | 2013-12-20 | 2014-04-30 | 哈尔滨工业大学深圳研究生院 | 一种基于自适应校准的非接触式视线追踪方法 |
CN107833251A (zh) * | 2017-11-13 | 2018-03-23 | 京东方科技集团股份有限公司 | 瞳孔定位装置和方法、虚拟现实设备的显示驱动器 |
CN113342161A (zh) * | 2021-05-27 | 2021-09-03 | 常州工学院 | 一种基于近眼相机的视线追踪方法 |
CN113325956A (zh) * | 2021-06-29 | 2021-08-31 | 华南理工大学 | 一种基于神经网络的眼动控制系统及实现方法 |
Non-Patent Citations (4)
Title |
---|
余罗;刘洪英;许帅;蔡金芷;皮喜田;: "一种快速精确的瞳孔和角膜反射光斑中心定位算法的研究", 中国生物医学工程学报, no. 04 * |
刘星: "《基于表观和头部姿态的视线估计算法研究》", CNKI优秀硕士学位论文, no. 2019, 16 December 2018 (2018-12-16), pages 37 - 43 * |
周晓荣: "《基于头戴式眼动仪的视线跟踪算法研究》", CNKI优秀硕士学位论文, no. 2020, 16 January 2020 (2020-01-16), pages 19 - 28 * |
黄丽丽;杨帆;王东强;唐云建;: "基于改进型最大类间方差法的瞳孔定位方法", 计算机工程与应用, no. 23 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115359548A (zh) * | 2022-07-22 | 2022-11-18 | 吉林大学第一医院 | 一种手持式智能瞳孔检测装置及检测方法 |
CN116843626A (zh) * | 2023-06-08 | 2023-10-03 | 江苏苏港智能装备产业创新中心有限公司 | 一种基于多特征融合的机器视觉钢丝绳表面缺陷检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Adeyanju et al. | Machine learning methods for sign language recognition: A critical review and analysis | |
Guo et al. | Eyes tell all: Irregular pupil shapes reveal gan-generated faces | |
Kovács et al. | A self-calibrating approach for the segmentation of retinal vessels by template matching and contour reconstruction | |
Wang et al. | GKFC-CNN: Modified Gaussian kernel fuzzy C-means and convolutional neural network for apple segmentation and recognition | |
CN111291701B (zh) | 一种基于图像梯度和椭圆拟合算法的视线追踪方法 | |
CN111460976B (zh) | 一种数据驱动的基于rgb视频的实时手部动作评估方法 | |
CN114020155A (zh) | 一种基于眼动仪的高精度视线定位方法 | |
CN113592911B (zh) | 表观增强深度目标跟踪方法 | |
Wang et al. | Nucleus segmentation of cervical cytology images based on depth information | |
CN106599785A (zh) | 人体3d特征身份信息库的建立方法及设备 | |
CN107563996A (zh) | 一种新型视神经盘分割方法及系统 | |
CN106611158A (zh) | 人体3d特征信息的获取方法及设备 | |
Liu et al. | Target recognition of sport athletes based on deep learning and convolutional neural network | |
Chen et al. | Eyes localization algorithm based on prior MTCNN face detection | |
Zhou et al. | Segmentation of optic disc in retinal images using an improved gradient vector flow algorithm | |
Wang et al. | Edge-guided near-eye image analysis for head mounted displays | |
CN116311387B (zh) | 一种基于特征交集的跨模态行人重识别方法 | |
Wang et al. | Optic disc detection based on fully convolutional neural network and structured matrix decomposition | |
Dai et al. | An Improved ORB Feature Extraction Algorithm Based on Enhanced Image and Truncated Adaptive Threshold | |
Cao et al. | Gaze tracking on any surface with your phone | |
CN110675416B (zh) | 基于抽象轮廓分析的瞳孔中心检测方法 | |
Shi et al. | EPS: robust pupil edge points selection with Haar feature and morphological pixel patterns | |
Jiang et al. | A supervised method for retinal image vessel segmentation by embedded learning and classification | |
Savaş | Real-time detection and tracking of human eyes in video sequences | |
Ren et al. | Research on multi pose facial feature recognition based on deep learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |