一、文献梳理
1、摘要
针对目前的视线估计算法准确度较低的问题,提出一种基于浅层残差网络的算法。利用残差网络结构特点,对图片在不同层次提取到的特征进行融合计算。实验表明,使用基于浅层残差网络结构的算法与使用LeNet-5结构算法相比‘’准确率提升了近8.5%视线估计算法准确度得到了有效的提升。
2、文献背景
应用:视线估计是预测视线方向、定位注视点位置的过程。该领域研究者经常用眼球跟踪(Eye Tracking)、视线跟踪(Gaze Tracking)和视线估计(Gaze Estimation)等术语相互替换。近几十年,视线估计都是比较活跃的研究课题,已经开始应用于人机交互、虚拟现实、生理心理疾病诊断等方面 。
研究方法:基于 CNN 的视线估计算法可避免大量的预处理和显性特征提取过程,但准确性还不能满足实际需求。为提升算法的准确性,研究主要分为两个不同方向。一个是在数据层面进行改进,通过增加数据的精确度提高视线估计的准确度。另一个方向则是在算法结构层面进行改进,提升算法本身的性能。
3、文献成果
1)研究成果:数据进行重复利用的特性,能对不同层次提取到的特征进行融合与计算
2)实验成果:通过 MPIIGaze 数据库的实验结果表明,该网络结构在相同条件下,获得了更高的准确度。
二、基础讲解
1、视线估计
广义的Gaze Estimation 泛指与眼球、眼动、视线等相关的研究,主要以眼睛图像或人脸图像为处理对象,估算人的视线方向或注视点位置。主要应用:游戏(眼球游戏);VR(降低硬件成本,场景渲染);医疗(检测和诊断精神类或心理类的疾病);辅助驾驶(检测驾驶员是否疲劳驾驶或提供一些交互从而解放双手);线下零售;手机解锁、短视频特效等
2、研究方向:该领域的研究根据不同的场景与应用大致可分为三类,注视点估计、注视目标估计以及三维视线估计。
1)注视目标估计
主要思想如图所示,网络主要由两个支路组成,一个支路(Saliency Pathway)以原始图片为输入,用于显著性检测,输出为反映显著性的heat map。另一个支路(Gaze Pathway)以某一个人的头部图片和头部位置为输入,用于检测这个人可能的注视区域,输出同样是一个heat map。这两个heat map的乘积反映了目标显著性与可能的注视区域的交集,即可能的注视目标。整个网络以端对端的方式训练。以AUC为指标,文章最后得到了0.878的精度。(还有跨帧注视目标估计,比较复杂暂不赘述)
2) 注视点估计
注视点估计即估算人双目视线聚焦的落点。其一般场景是估计人在一个二维平面上的注视点。这个二维平面可以是手机屏幕,pad屏幕和电视屏幕等,而模型输入的图像则是这些设备的前置摄像头。
上述模型有四个输入,左眼图像、右眼图像、人脸图像(由iPhone拍照软件检测)以及人脸位置。四种输入由四条支路(眼睛图像的支路参数共享)分别处理,融合后输出得到一个二维坐标位置。
上述模型将将人脸和人脸位置这两个输入替换为四个眼角的位置坐标,眼角位置坐标不仅直接提供了眼睛位置信息,同时又暗含head pose信息(眼角间距越小,head pose越大,反之头部越正)。
3)三维视线估计
三维视线估计的目标是从眼睛图片或人脸图片中推导出人的视线方向。通常,这个视线方向是由两个角度,pitch(垂直方向)和 yaw(水平方向)来表示的,见下图a。需要注意的是,在相机坐标系下,视线的方向不仅取决于眼睛的状态(眼珠位置,眼睛开合程度等),还取决于头部姿态(见图b:虽然眼睛相对头部是斜视,但在相机坐标系下,他看的是正前方)。
一般来说,视线估计方法可以分为基于几何的方法(Geometry Based Methods)和基于外观的方法(Appearance Based Methods)两大类。基于几何的方法的基本思想是检测眼睛的一些特征(例如眼角、瞳孔位置等关键点),然后根据这些特征来计算gaze。而基于外观的方法则是直接学习一个将外观映射到gaze的模型。两类方法各有长短:几何方法相对更准确,且对不同的domain表现稳定,然而这类方法对图片的质量和分辨率有很高的要求;基于外观的方法对低分辨和高噪声的图像表现更好,但模型的训练需要大量数据,并且容易对domain overfitting。随着深度学习的崛起以及大量数据集的公开,基于外观的方法越来越受到关注。
具体模型1:单眼/双眼视线估计
可以看到,他们当时使用的是一个类似于LeNet的浅层架构,还称不上“深度”学习。而其中一个有启发性的贡献是,他们将头部姿态(head pose)信息与提取出的眼睛特征拼接,用以学习相机坐标系下的gaze。
具体模型2:基于双眼的非对称回归方法
该工作由两个模块构成:AR-Net(非对称回归网络),以双眼为输入,经四个支路处理后得到两只眼睛的不同视线方向;E-Net(评价网络),同样以双眼为输入,输出是两个权重,用于加权AR-Net训练过程中两只眼睛视线的loss。其基本思想是,双眼中某一只眼睛可能因为一些原因(如光照原因等),更容易得到精准的视线估计,因此在AR-Net训练中应该赋予这只眼睛对应的loss更大的权重。
具体模型3:全脸视线估计
主要思想是通过一个支路学习人脸区域各位置的权重,其目标是增大眼睛区域的权重,抑制其他与gaze无关的区域的权重。网络的输入为人脸图像并采用end to end的学习策略,直接学习出最终相机坐标系下的gaze。
3、补充
注视目标估计数据集:https://link.zhihu.com/?target=http%3A//gazefollow.csail.mit.edu/
注视点数据集:该工作收集并公布了一个涵盖1400多人、240多万样本的数据集, GazeCapture。
三维视线估计数据集:gaze领域目前最常用的数据集之一,MPIIGaze。
双眼视线估计数据集:MPIIGaze数据集。
三、论文重点
1、思想
为确保实时性要求,网络结构的深度必须适度。因此,笔者选择 LeNet-5 结构作为基础,使用残差块和其他方法调整结构。
2、模型
1、改进
1)使用三层残差块结构,在保持计算精度同时又减少了计算量。
2)为确保面部的空间朝向信息得到有效利用,在使用双层残差块的同时增加了全连接层,计算头部转动信息h,确保其与图像中提取出的特征信息更好地融合。
2、具体模型