基于深度学习的眼动跟踪数据融合算法
2021-05-26高淑萍
赵 怡,高淑萍,何 迪
1.西安电子科技大学 数学与统计学院,西安710126
2.西安电子科技大学 通信工程学院,西安710071
视觉目标跟踪技术在军事、医疗、人机交互等领域具有广泛的应用场景。核化相关滤波算法(Κernel Correlation Filter,ΚCF)[1]作为经典的目标跟踪算法之一,在目标跟踪领域中取得了较大的成就。但当目标出现光照变化、遮挡、运动模糊、形变、尺度变化时极易出现目标跟丢现象,从而导致目标跟踪效果准确度不高。目前,视线跟踪技术[2]主要是基于瞳孔角膜反射原理。在注视点采集中,由于受试者视觉疲劳以及设备噪音等,极易出现采样结果准确度不高以及丢帧现象。而数据融合技术将来自多个传感器的信息相结合,以实现比单独使用单个传感器所能达到的更高的准确性和更具体的推论[3]。因此如何利用数据融合方法来实现目标跟踪算法与视线跟踪技术的优势互补,是一个非常值得研究的问题。
图1 视频序列中目标的部分位置
基于深度学习的融合算法在众多领域中均获得了较好的成果。文献[4-6]研究表明,利用人工神经网络融合方法来处理非线性问题具有较高的研究价值。其中,文献[4]将人工神经网络(Artificial Neural Network,ANN)的方法应用于障碍物检测,实验结果表明较传统方法其性能更为突出;文献[5]提出了基于层次分析法的反向传播神经网络模型(Back Propagation neural network based on Analytic Hierarchy Process,AHP-BP),实验表明了其有效性和实用性;文献[6]将Elman 神经网络应用于空间位置确定。文献[7-10]将卷积神经网络(Convolutional Neural Network,CNN)应用于数据融合领域,研究结果显示了其高效的抽象特征提取能力。文献[7]将CNN 用于睡眠质量预测,相较于传统的线性回归方法AUC 提高了46%;文献[8]提出一种新颖的双支卷积神经网络(Dual-Branch Convolutional Neural Network,DB-CNN)深度学习融合框架,首先利用两个CNN 网络分别提取高光谱图像和雷达数据的深度特征,然后将深度特征进行堆叠,最后与全连接层相连作为最终的融合值输出层;文献[9]基于CNN 网络提出一种GIF 融合算法,通过融合ECG 和BP 信号来进行心跳位置检测。文献[11]使用双向长短时记忆网络(Bidirectional Long Short-Term Μemory,BLSTΜ)进行睡眠质量预测分类,在大型公共数据集上预测准确性大于80%。文献[12-13]提出将卷积神经网络与长短时记忆网络(Long Short-Term Μemory,LSTΜ)结合的融合方案;文献[14-15]将CNN 和BLSTΜ 网络结合,并应用于分类识别任务。
本文在前人工作的基础上,提出一种新的眼动跟踪数据融合算法,即Eye-CNN-BLSTΜ算法。该方法的创新点主要包括:(1)根据眼动跟踪数据的特性,对原始数据进行特征构造,以提高模型的学习性能。(2)将深度CNN网络与BLSTΜ网络相结合,以获取眼动跟踪数据的空间信息与时间信息。采用多层的卷积层设计,主要由于眼动跟踪数据具有丰富的潜在特征,而单层CNN网络难以有效获取其高级特征。又因CNN网络提取的特征是从简单特征到高级抽象特征逐层变化的,故将网络中卷积核的数量按逐层呈指数倍减少的方式来设置。
1 眼动跟踪数据
眼动数据通过眼动仪来采集。实验平台包括三个红外光源,一个采样率为60 Hz的摄像头以及一个台式电脑。在正式开始数据采集之前,首先让受试者眼睛跟随屏幕中的校准点移动来执行校准过程;然后通过采集受试者视线跟随视频序列中目标点移动的一系列空间位置( x,y,t )来获得眼动数据。这里t 表示采样时间,( x,y )表示目标的空间位置坐标。视频序列中目标的部分位置如图1所示。
在眼睛运动分析研究中,眼睛运动类型[16-17]主要分为注视、眼跳、平滑尾随。其中注视为凝视某个固定位置时的静止状态,但在实际情况中,注视也并非是完全静止的,因为人眼在注视一个物体时,会出现漂移、震颤等现象。眼跳是从一个注视点到另一个注视点的运动,速度通常为600(°)/s。而平滑尾随是眼睛随着观察目标缓慢运动的过程,其速度一般低于50(°)/s。眼动数据信号如图2所示。
图2 眼动数据
核化相关滤波(ΚCF)算法作为经典的目标跟踪算法之一,其在实际场景中具有广泛的应用,因此本文通过ΚCF算法来采集跟踪数据。ΚCF算法思路主要是基于当前帧和之前帧的信息来训练一个相关滤波器,因而跟踪数据整体分布较为平滑与连续。但当某一时刻目标跟丢时,会导致下一帧也受到极大的影响。跟踪数据信号如图3所示。
图3 跟踪数据
2 Eye-CNN-BLSTM算法
基于深度学习的数据融合算法在众多领域中均取得了较好的成果。传统的算法对于线性系统具有较好的融合效果,但眼动跟踪数据具有复杂的特征,且其运动轨迹具有无规律性。而卷积神经网络(CNN)抽象特征提取性能突出,双向长短时记忆网络(BLSTΜ)能有效地提取时序数据的前后时间连续性特征;故本文结合CNN 和BLSTΜ,提出一种新的眼动跟踪数据融合算法Eye-CNN-BLSTΜ。该算法通过离线学习的方式来训练融合模型,在实际应用中只需利用该模型便可实现在线融合,可以满足实时性的需求。具体实现流程如下:首先对采集的原始数据进行预处理(缺失值填充、数据去噪和平滑);其次根据眼动数据的固有属性构造新的特征;最后基于Eye-CNN-BLSTΜ 网络,利用原始空间位置坐标以及构造的新特征来训练以及测试,以获得最终的融合值。
2.1 数据预处理
数据预处理主要包括缺失值填充以及数据去噪和平滑。由于低帧率眼动仪本身以及受试者视觉疲劳等因素,采集的眼动数据普遍会出现丢帧现象。因此鉴于眼动数据相邻帧之间的距离为线性关系,采用线性插值方法对缺失值进行填充,见式(1):
其中,( xk,yk)为填充的tk时刻缺失值,( xi,yi)、( xj,yj)分别为ti、tj时刻采集的眼动数据坐标值。
数据的去噪和平滑采用启发式滤波算法[18],该算法依据原始眼动数据的噪声特性,设计了两阶段滤波。通过临近数据来修正当前数据,使数据更加平滑。去噪过程如图4所示,其中s 是当前输入,s1、s2、s3是相应的延迟数据点。预处理前后的眼动数据如图5所示(平滑尾随点更加平滑,注视点更加紧凑)。
2.2 构造新特征
深度学习算法的性能很大程度上受输入信息的影响。为获取更多有效信息,本文引入估计值和速度两种重要特征。原因在于:(1)在最小二乘融合、卡尔曼滤波融合等经典算法中均对于初始融合值进行了估计,并通过估计值和融合系统来最终确定预测值。因此估计值的引入对于提高融合算法的性能是有效的。(2)速度对于眼动跟踪数据来说是一种非常重要的特征,在眼动数据分析中,众多学者均提到了速度特征,并将其应用于实际问题中。不同的注视行为其速度也是不同的。因此引入目标不同时刻的速度对于指导融合是有意义的。首先利用多传感器之间信息互补的特性,通过对采集数据X 轴和Y 轴方向分别加权求和来获得估计值。研究[19]表明估计值更接近于真实值。式(2)表示X 轴估计值计算方法:
图4 滤波器流程图
图5 预处理前后眼动信号对比图
同理可得:
其中,EyeX、KCFX、EyeY、KCFY分别表示眼动跟踪数据的X、Y 轴坐标值;Var( )表示方差运算。
速度是眼睛运动中的一种重要特征。鉴于此,本文基于欧式距离给出眼动数据的速度:
其中,xi、yi为目标的空间位置坐标值,ti为采样时间。
2.3 Eye-CNN-BLSTM网络
Eye-CNN-BLSTΜ网络设计方案主要包括两部分:一是三个一维卷积层(1D CNN);二是双向长短时记忆层(BLSTΜ)。原因在于:(1)CNN采用局部连接及权值共享的方式,不仅降低了模型的复杂度,且卷积运算可以有效地提取数据的局部特征。而深度的卷积设计更有助于高级特征的提取,因此采用多层的卷积设计。(2)BLSTΜ 网络作为循环神经网络(Recurrent Neural Network,RNN)的改进版,不仅克服了RNN难以处理长期依赖信息的缺点,且可以有效获取时序数据的上下文信息,因此使用BLSTΜ 网络是可行的。文献[20]提出一种深度卷积神经网络融合框架DCNN,深层的卷积设计使得输入特征可以逐层融合,提高了算法的融合性能,但其忽略了数据的时间特性;文献[13]采用双层卷积神经网络和长短时记忆网络(LSTΜ)相结合,文献[15]将单层的卷积神经网络、双向长短时记忆网络融合,实验结果证明了融合框架具有更好的性能。因而本文采用深层卷积网络与双向长短时记忆网络的设计来提取眼动跟踪数据的时空信息。
文献[14]记载,当时间窗口长度大于1 s 时,眼动数据具有较好的表现;而实验数据的采样帧率均在24~25 frame/s 之间,于是将时间窗口大小统一设置为25。卷积层执行一次卷积操作,窗口长度减小2(三层的卷积设计则需要填充6 个数据),为保持输入输出向量长度匹配并最大程度上保留眼动跟踪数据的时序特征,通过镜像填充的方式将输入向量长度(时间窗口长度)由25扩充到31。即网络输入为固定窗口长度的眼动跟踪数据特征,input ∈R31×8;输出则为对应固定窗口的融合值,output ∈R25×2。Eye-CNN-BLSTΜ网络初始参数设置参照经验原则,并通过多次实验来调整、优化,最终的设计方案为(见图6):首先使用1D CNN提取输入数据的空间信息,卷积核数量分别为16、8、4,大小统一设置为3;在每次执行卷积操作前对数据进行归一化(Batch Normalization,BN)操作,因为网络训练会造成数据分布发生改变;线性修正(relu)函数(见式(4))具有稀疏激活性,可以加快网络训练速度,因而将其作为卷积部分的激活函数。其次使用全连接层将卷积层提取的全部特征进行连接,并添加Dropout 操作来提高模型的泛化能力;然后使用BLSTΜ网络,用以提取眼动数据前后的时间信息;并将双曲正切(tanh)函数作为激活函数(见式(5)),主要由于直接使用relu函数可能会导致输出值过大[21]。最后使用一个全连接层作为最终的融合值输出层。
2.4 Eye-CNN-BLSTM算法步骤
输入:眼动跟踪数据( EyeX,EyeY,KCFX,KCFY)∈Rm×4。
输出:融合值( FusionX,FusionY)∈Rm×2。
步骤1 利用预处理(如2.1 节所述)后的眼动数据( EyeX,EyeY)∈Rm×2与跟踪数据( KCFX,KCFY)∈Rm×2构造新的特征( X̂,Ŷ,EyeV,KCFV)∈Rm×4(构造方式如式(2)、(3))。
步骤2 将预处理后的数据I=(EyeX,EyeY,KCFX,KCFY,X̂,Ŷ,EyeV,KCFV)∈Rm×8,以时间窗口大小为25按顺序进行分组,即Ij∈R25×8( j=1,2,…,k )(k 为窗口的个数)。
步骤3 j=1。
步骤4 对Ij∈R25×8( j=1,2,…,k )进行镜像填充,使其扩充到31个数据(如2.3节所述),即Ij'∈R31×8。
步骤5 使用Eye-CNN-BLSTΜ 网络对Ij' 进行训练,可得Fusionj∈R25×2。
步骤6 令j=j+1。
3 实验仿真
3.1 数据集
图6 Eye-CNN-BLSTΜ网络及参数设置
本文使用的数据集来源于OTB-100[22](见表1)中的4 个视频序列Bolt、ClifBar、ΚiteSurf、ΜotorRolling。原始实验数据来自通过眼动仪采集的5 位不同受试者的眼动数据以及ΚCF算法采集的5组跟踪数据,其中4组眼动跟踪数据用于网络训练,另外1组用于测试网络的融合性能(即实验中的训练集和测试集是完全独立的)。
表1 OTB-100数据集
3.2 评价指标
为评估Eye-CNN-BLSTΜ算法的性能,本文使用机器学习中常用的回归模型性能评价指标:均方误差(Μean-Square Error,ΜSE)、平均绝对误差(Μean Absolute Error,ΜAE)、相关系数(2-D Correlation Coefficient,corr2)。
ΜSE 和ΜAE 用以评估预测值与真实值的接近程度,越小代表预测结果更接近真实值(即融合效果更好)。其表示公式如下:
相关系数(corr2),用于衡量预测值与真实数据的相关程度,越大越好。取值范围在[ ]-1,1 ,由式(8)表示:
其中,ymn、tmn分别表示样本融合值和真实值,yˉ、tˉ分别表示样本融合值的均值和真实样本均值。
3.3 实验结果与分析
本文通过Eye-CNN-BLSTΜ、ConvLSTΜ[13]、DCNN[20]、BLSTΜ、BPNN、ARFCΜ[23]、FCΜ[24]算法在OTB-100 数据集中4 个视频序列的表现,来验证Eye-CNN-BLSTΜ的性能。融合结果见表2与图7、图8、图9。
图9 展示了七种融合算法在OTB-100 数据集中的融合值与真实值的相关系数对比,本文算法在大多数场景下的相关系数均高于其他算法。其中ConvLSTΜ 算法在Bolt、ΚiteSurf 两个场景下的相关系数接近于Eye-CNN-BLSTΜ算法。
为更直观展现Eye-CNN-BLSTΜ算法的融合效果,将其在OTB-100 数据集的4 个场景下的融合值与真实值进行对比(见图11),并结合原始数据(见图10)对算法的性能进行分析。
表2 七种融合算法对OTB-100数据集的融合结果
在实际场景中,目标运动尺度变化较大、光照变化、遮挡、变形、运动模糊等现象,均会导致ΚCF 算法在跟踪过程中出现丢失目标的现象。从图10 可以看出,在Bolt、ΚiteSurf和ΜotorRolling场景下均存在严重的目标跟丢问题。而经过Eye-CNN-BLSTΜ融合算法处理后的目标轨迹(见图11)更加接近于真实值。尤其从图10(b)和图11(b)可以看出,ClifBar 场景中180~240 帧之间出现了目标丢失问题;眼动数据对于峰值点的定位虽优于跟踪数据,但整体的准确度不高;而本文提出的融合方法预测结果接近于目标真实轨迹。主要原因在于:(1)融合算法可以有效综合眼动跟踪信息,当目标丢失时,可以综合眼动信息等特征来预测目标的位置。因此融合算法对于解决目标丢失问题是有效的。(2)深度卷积神经网络与双向长短时记忆网络的融合,可以有效提取眼动数据的时空特征。(3)输入特征的选取对Eye-CNNBLSTΜ 算法的融合性能具有重要的影响,而估计值可以更好综合眼动跟踪数据的优势,速度可以有效预测目标的运动状态。
4 结束语
图10 OTB-100数据集眼动跟踪序列
图11 Eye-CNN-BLSTΜ算法在OTB-100数据集融合结果
对于复杂场景下的目标序列,传统的方法难以捕获到其运动特征。鉴于此,本文利用眼动数据的固有属性并与深度学习方法相结合,提出一种新的眼动跟踪数据融合算法Eye-CNN-BLSTΜ。该算法不仅给出了眼动数据新特征(估计值、速度),且将Eye-CNN-BLSTΜ网络用于融合算法中。通过在OTB-100 数据集中多个场景下与多种经典融合算法对比,其融合性能在ΜSE、ΜAE和corr2指标上均优于ConvLSTΜ、DCNN、BLSTΜ、BPNN、ARFCΜ、FCΜ算法。但当眼动仪出现大量丢帧或跟踪算法出现长时段目标跟丢时,Eye-CNN-BLSTΜ融合算法仍难以得出目标的真实轨迹。故将原始数据的处理方式(缺失值填充等)以及尝试添加眼动数据的加速度、方向等特征作为进一步的研究方向。