APP下载

面向视线预测的双通道残差网络*

2020-03-20杨春雨文元美

自动化与信息工程 2020年1期
关键词:双通道网络结构视线

杨春雨 文元美

(广东工业大学信息工程学院,广东 广州 510006)

0 引言

视线预测是确定人在观察图像或视频时,眼睛注视的3D凝视方向或2D凝视点。视线反映了人类的视觉注意力,可用来更好地理解人类活动。近年来,视线预测已成为人机交互[1-3]、驾驶员疲劳检测[4-5]、心理学[6-7]、医学[8]等领域的重要研究课题。

视线预测方法主要有基于模型、基于外观2大类。绝大多数早期工作是基于模型的,即通过模仿人眼睛和面部的几何模型来预测视线[9],这种眼睛注视估计已成功应用于商业注视跟踪系统,但通常需要较复杂的硬件系统。基于外观的视线预测方法[10]是将眼睛的外观用作输入,从数据集中学习预测值和实际值的映射关系以进行视线预测。近年来,由于深度学习方法的快速发展以及大量用于视线预测的数据集建立,基于外观的视线预测方法越来越受关注。

Rahayfeh等[11]对现有的视线预测和注视估计技术进行了分析,表明大多数研究未考虑数据集的多样化和样本数量,存在数据集单一的问题。针对数据集单一问题,Zhang等[12]采集不同时段的人脸图片,增强了数据集的多样性;Krafka等[13]进行了数据集收集工作,用手机和平板电脑以不同角度采集人脸样本,同时提出iTracker的网络模型,该模型是基于AlexNet架构[14]的神经网络,得到了较高的预测精准度,但没有考虑数据集的无效样本可能会影响预测结果的问题。针对视线预测中存在的过拟合以及预测精度问题,Wong等[15]使用残差网络模型训练数据集,提升了预测结果,但网络结构单一,预测结果有待提高。

针对上述问题,本文利用双通道残差网络解决网络加深产生的过拟合和单通道残差网络预测结果精准度不足的问题。采用MPIIGaze和GazeCapture数据集训练该网络,并对数据集中无效样本进行筛选,对比筛选前后的实验结果。

1 双通道残差网络结构

本质上,神经网络是多个非线性函数级联而成的一个更加复杂的非线性函数。一般来说,神经网络的层数越多,越能更好地拟合训练数据。但层数增加到一定量时,会出现梯度弥散或梯度爆炸问题。残差网络是为解决梯度弥散或梯度爆炸导致深层网络运行效果不良的一种网络模型。

1.1 残差网络基本模块

He-Kaiming等[16]在卷积神经网络的基础上增加了一个恒等映射(identity mapping),构成残差网络(ResNet)的基本模块,结构如图1所示。模块包括恒等映射和残差映射(residual mapping)。恒等映射是直接将输入X与加法器相连接;残差映射是将输入X送入隐藏层进行运算,多个隐藏层运算的结果表征为F(x)。

图1 残差网络的基本模块结构

残差网络将网络信号的传递转换为一个累加的过程,各个网络层计算的是残差,即输出相对于输入的变化量。在恒等映射的作用下,残差网络改变了学习目标,不再是学习一个完整的输出,而是目标值和输入的差值,也就是所谓的残差。这样由深层网络带来的“退化”现象很大程度上得以解决,因此残差网络能够极大地消除过拟合现象。

1.2 双通道残差网络结构

在数据集图片送入本文提出的双通道残差网络前,首先需识别出人脸,进行人脸矫正,标记出左眼和右眼的位置;然后将左眼与右眼图片分别作为样本输入该网络进行处理。常用的残差网络深度可达 18层、34层、50层、101层、152层,甚至更高,更深层的网络可以处理更加复杂的样本。

本文提出的基于残差网络的双通道网络结构如图2所示。首先,预处理后的左、右眼数据集样本作为残差网络的输入;然后,卷积层1和最大池化层对特征进行初步处理后送入由卷积层2和卷积层3组成的残差模块;其次,随着网络层数的加深,特征向量被展开,卷积核增加,经过所有的残差模块处理后输入平均池化层,得到局部特征向量;再次,更多的特征向量可以提升模型的拟合能力,双通道的全连接层中的每个神经元与其前一层单通道的所有神经元进行全连接,全连接层可以整合上一层中具有特征要素的局部信息,将2个通道训练得到的所有局部特征向量通过权值矩阵分类和提取后,一起输入到全连接层做进一步特征融合处理,为提升网络性能,全连接层每个神经元的激励函数都采用ReLU函数;最后,将高度提纯的特征做回归处理,经过2个全连接层的特征融合得出最终结果。

图2 双通道残差网络结构

2 实验与分析

本文使用双通道残差网络进行视线预测研究,实验在python3,tensorflow框架下实现;采用GTX1060 GPU提高计算速度,内存为4 GB;利用损失函数作为辅助评价指标。

损失函数是处理回归问题时,用来评估模型预测值与真实值的差异程度,是一个非负值函数,其数值越小表明模型的鲁棒性越好。本文利用均方误差来反映预测值与真实值之间的误差,其计算公式为

式中,yi是实际值;是拟合后的预测值;n为样本个数;均方误差越接近于0误差越小,说明模型拟合的效果越好。

2.1 数据集选取及数据预处理

本文采用 2个视线预测常用的大型数据集MPIIGaze和GazeCapture。MPIIGaze数据集共收集了15位参与者的213659张图像[12]。通过对参与者在一天中不同时间的面部图像进行收集,使其面部区域具有不同的平均灰度强度,包含不同的光照变化和时间变化,样例图像如图3所示。

图3 MPIIGaze样例图像

GazeCapture数据集包含1474个不同的场景类型,其中1249名受试者使用手机采集数据,225人使用平板电脑采集数据,2种设备收集的样本数量分别约为210万个和36万个,共采集2445504个样本[13],样例图像如图4所示。为证明数据的可变性,利用灰度强度直方图[12]进行验证,结果表明,样本的异常值比例较其他数据集明显要大。此外数据捕获技术来自移动端,同时样本采集位置变化显著,如有来自常规手持设备以及摄像头位置在屏幕下方(当设备颠倒时)的采集,这些位置的变化可以增强样本的多样性,以便更好地用于训练和评估。

图4 GazeCapture样例图像

GazeCapture数据集采集数据时,首先使用面部检测器识别人脸并在照片捕获区域检测面部信息;然后受试者保持凝视屏幕上的观察点;最后进行拍照。这样数据集中存在脸部部分遮挡、眨眼等难以识别人脸或视线的样本,如眨眼瞬间瞳孔被遮挡的样本示例如图5所示。

图5 眼睛睁开与眨眼对比

为去除难以识别的样本,本文使用dlib库计算眼睛的纵横比。眼睛的纵横比即眼睛的宽度和高度之比,是确定是否眨眼的指标。P1,P2,…,P6为dlib库检测到的标记点,眼睛横纵比计算公式为

式中,P1,P2,…,P6是dlib库检测到的眼部界标。

当眼睛横纵比<0.24时,判定该样本无效。

2.2 网络结构参数

采用本文提出的双通道残差网络结构,在权衡人脸眼部区域特征表达能力和输入样本大小之后,每个通道均以18层残差网络,即ResNet-18作为训练样本的基础框架。单个通道ResNet-18的网络结构参数如表1所示,另一个通道的参数与之相同。以卷积层1(Conv1)为例,3×3表示该模块的卷积核大小;64表示有64个这样的卷积核;stride表示步长大小。

表1 ResNet-18残差网络结构参数

输入双通道残差网络的左、右眼图像大小均为224×224;ResNet-18第一层是卷积核大小为 3×3、步长为2的卷积层(Conv1),卷积之后得到的特征图大小为112×112;将该特征图输入卷积核为2×2、步长为2的最大池化层,得到大小为56×56的特征图;将该特征图输入到分为4组的8个残差模块:把最大池化后大小为56×56的特征图输入Conv2_x所在的2个残差模块,残差模块内4个卷积核大小均为3×3×64、步长为 1,运算得到 28×28的特征图;将该特征图输入到Conv3_x所在的2个残差模块,该模块内4个卷积核大小均为3×3×128、步长为1,运算得到 14×14的特征图;再将该特征图输入Conv4_x,模块内4个卷积核大小均为3×3×256、步长为1,运算得到7×7的特征图;最后将该特征图输入Conv5_x,模块内4个卷积核大小均为3×3×512、步长为1,运算得到1×1的特征图,到此结束残差模块的处理,进行一次平均池化。将左、右眼样本分别经过2个通道处理后的特征图调整为向量一起输入到全连接层,经过2个全连接层的特征融合,得到视线预测结果。

2.3 预测误差分析

本文提出的双通道残差网络进行视线预测对比实验:1) 在不同大小数据集 MPIIGaze和 Gaze-Capture中,单通道、双通道残差网络预测结果对比;2) 数据集GazeCapture筛选与否对预测准确度的影响。

首先进行单通道、双通道残差网络视线预测结果对比。单通道残差网络选用18层结构,记为ResNet-18;本文的双通道残差网络记为 Double-ResNet。数据集分别采用 MPIIGaze和 GazeCapture。本文对GazeCapture数据集中的手机端(Phone)和平板电脑端(Tablet)数据分别进行训练,结果如表2所示。

表2 不同数据集中单、双通道残差网络预测结果对比

1) MPIIGaze数据集中,单、双通道网络结构视线预测误差分别为3.24 cm和2.67 cm;GazeCapture数据集中,单、双通道网络结构视线预测的平均误差分别为2.65 cm和2.45 cm;表明使用双通道网络结构比使用单通道网络结构进行视线预测的误差明显减小,GazeCapture数据集中手机端和平板电脑端的视线预测结果也证明了这一点。

双通道结构是基于人类视觉系统中双眼会同时看向一个地方的特性,将左眼与右眼2个通道的计算结果同时作为下一级全连接层的输入,可在一定程度上起到特征相互补偿的作用。本文的多个全连接层设计,也有效地提升了非线性问题预测的效果。

2) 不管是采用单通道还是双通道残差网络结构进行视线预测,GazeCapture数据集中的视线预测平均误差2.65 cm和2.45 cm分别小于MPIIGaze数据集中的3.24 cm和2.67 cm;表明使用样本容量更大的数据集可以有效地提高预测精准度。

本文还选用人脸位置和眼睛状态更加复杂和多样化的GazeCapture数据集对眨眼样本筛选前后的训练结果进行了对比。样本筛选主要是将因眨眼等因素导致的瞳孔遮挡样本去除,模型选用本文提出的双通道残差网络结构,实验结果如表3所示。

表3 数据筛选前后预测结果对比

由表3可知,筛选后的GazeCapture数据集视线预测平均误差为1.96 cm,小于未经筛选的2.45 cm;手机端和平板电脑端的视线预测误差分别由2.25 cm和2.64 cm下降为1.74 cm和2.19 cm;表明无效样本的筛选能够在很大程度上提升预测精准度。

2.4 损失函数验证

视线预测属于回归问题,输出是坐标值,其准确率是输出坐标与真实坐标的距离表征,距离越近则越准确,而损失函数是观察和检测学习率和准确率的重要指标。

GazeCapture数据集筛选前的双通道残差网络结构训练和验证的损失函数如图6所示;筛选眨眼等无效样本后的双通道残差网络结构训练和验证的损失函数如图7所示。图6与图7比较得知,筛选前的数据集中,训练损失函数在60个周期时达到稳定状态;而眨眼样本筛选后,数据集的训练损失函数在40个周期后可以达到稳定状态,并且测试损失函数的误差为2.08 cm(见图7),比未筛选数据集下的2.49 cm(见图6)更小。可见样本筛选后双通道残差网络可在更短的周期内达到稳定的拟合状态,并提高预测准确度。

图6 损失函数(数据集筛选前)

图7 损失函数(数据集筛选后)

采用单通道残差网络结构处理筛选后 Gaze-Capture数据集训练和验证的损失函数如图8所示,需要55个周期后达到稳定状态。图7损失函数下降曲线平滑并且只需要40个周期就可以达到稳定状态,可见采用双通道网络结构模型具有更好的可靠性和鲁棒性。

图8 单通道损失函数

3 结语

本文提出一种基于残差网络的双通道网络模型,在对人脸进行矫正后提取出左眼和右眼信息,分别作为网络2个通道的输入进行训练,并利用眼睛横纵比筛选数据集无效样本和多个全连接层特征融合的方法进一步提高预测结果。实验结果表明:本文提出的方法在视线预测中取得了较高的精准度。下一步将针对人脸遮挡和难以提取特征的眼部图像处理作进一步研究,在保证识别精准度的前提下进一步提升训练速度。

猜你喜欢

双通道网络结构视线
要去就去视线尽头的山
近端胃切除双通道重建及全胃切除术用于胃上部癌根治术的疗效
福建省医保局率先上线省级“双通道”电子处方流转服务
快递网络结构研究进展
那座山
基于AutoML的保护区物种识别①
电力信息网络双通道故障自动探测策略探究
基于时效网络的空间信息网络结构脆弱性分析方法研究
基于互信息的贝叶斯网络结构学习
智典DDR2 800 2GB/4GB