©PaperWeekly 原创 · 作者|俞雨
单位|瑞士洛桑联邦理工学院博士
研究方向|视线估计、头部姿态估计
本文七个篇章总计涵盖 29 篇论文,总结了自深度学习以来,视线估计领域近五年的发展。
概述
1.1 问题定义
广义的 Gaze Estimation 泛指与眼球、眼动、视线等相关的研究,因此我看到有不少做 saliency 和 egocentric 的论文也以 gaze 为关键词。而本文介绍的 Gaze Estimation 主要以眼睛图像或人脸图像为处理对象,估算人的视线方向或注视点位置, 如下图所示。
与人脸相关的领域比,gaze 其实一直算一个小众的方向。这一点从顶会接收的论文数量就可以看出来。然而近些年随着数据和技术的发展,对 gaze 的需求渐渐浮出水面,这方面的研究也开始进入主流的视野。
据我在 ECCV bidding 阶段的不完全统计,今年 gaze 相关的论文投稿达到了两位数(做大领域的大佬勿取笑)。目前,该领域的研究根据不同的场景与应用大致可分为三类,注视点估计、注视目标估计以及三维视线估计。这一部分内容会在以后的文章中展开介绍。
1.2 主要应用
gaze 作为反映人类注意力的行为,主要有如下应用。
游戏:通过估计 gaze 进行游戏的交互。这里有一个用 Tobii 眼动仪玩游戏的Demo:
https://v.youku.com/v_show/id_XNDAzNzc3MjEzNg==.html?spm=a2h0k.11417342.soresults.dtitle
VR:我去年在 CVPR 会场体验了 Facebook 的 VR 头盔,不得不感叹他们已将渲染效果做的如此科幻,不禁让人憧憬 VR 大规模应用的那天。然而现阶段 VR 的问题是全场景精细渲染对硬件要求较高导致硬件成本居高不下。
如果能够通过头盔内置摄像头准确估计人的视线方向,则可以对场景做局部精细渲染,即仅对人注视范围内的场景精细渲染,从而大大降低硬件成本。
医疗:gaze 在医疗方面的应用主要是两类。一类是用于检测和诊断精神类或心理类的疾病。一个典型例子是自闭症儿童往往表现出与正常儿童不同的 gaze 行为与模式。
另一类是通过基于 gaze 的交互系统来为一些病人提供便利。如渐冻症患者可以使用眼动仪来完成一些日常活动:
https://www.guancha.cn/society/2017_10_25_432195.shtml
辅助驾驶(智能座舱):gaze 在辅助驾驶上有两方面应用。一是检测驾驶员是否疲劳驾驶以及注意力是否集中。二是提供一些交互从而解放双手。
线下零售:我一直认为 gaze 在零售或者无人超市等领域大有可为,毕竟人的注意力某种程度上反映了其兴趣,可以提供大量的信息。但是我目前并没有看到相关的应用,包括 Amazon Go。
或许现阶段精度难以达到要求。我导师的公司倒是接过一个超市的项目,通过 gaze 行为做市场调研。但欧洲公司保密性较高,具体情况不得而知。
其他交互类应用如手机解锁、短视频特效等。
1.3 相关学术团队与公司
先列一下近些年在 gaze 领域较为活跃的几个团队,欢迎补充。其中 ETH 的 Otmar Hilliges 教授和东京大学的 Yusuke Sugano 教授也是我博士答辩的专家组成员。
EPFL 与 Idiap 的感知组:
https://www.idiap.ch/~odobez/
首先安利下我们团队,同时安利下我们最近两年的一些工作:
Improving Few-Shot User-Specific Gaze Adaptation via Gaze Redirection Synthesis, CVPR 2019
Unsupervised Representation Learning for Gaze Estimation, CVPR 2020
A Differential Approach for Gaze Estimation, PAMI accepted 2019
ETH 交互组:
https://ait.ethz.ch/people/hilliges/
德国马普所交互组(好像老大跳槽了?):
https://perceptualui.org/people/bulling/
微软剑桥研究院的 Erroll Wood:
http://www.errollw.com/
MIT Antonio Torralba 组:
http://web.mit.edu/torralba/www/
伦斯勒理工 Qiang Ji 组:
https://www.ecse.rpi.edu/~qji/
东京大学 Sugano 组:
https://www.yusuke-sugano.info/
北航 Feng Lu 组:
http://phi-ai.org/default.htm
工业界方面,据我所知目前主力依旧在欧美。大公司,如 Facebook Reality Lab(去年他们组织举办了第一届 gaze 相关的 challenge:https://research.fb.com/programs/openeds-challenge/,我们组在眼睛图片合成 track 中获得第二), 微软 Hololens,谷歌广告,NVIDIA 自动驾驶等团队都在致力于 gaze 方面的研究。
而专注于 gaze 的中小型公司,龙头老大当属瑞典公司 Tobii,其眼动仪已臻物美价廉之境。另外也可以关注下瑞士创业公司 eyeware(给导师打一波广告):https://eyeware.tech/ ,专注于提供解决方案,跟国内一些大厂已开展合作。
国内做 gaze 的公司应该较少,我只了解到华为与商汤在做这方面的工作。
注视目标估计
2.1 注视目标估计 [1]
注视目标估计英文关键词为 gaze following,即检测给定人物所注视的目标。MIT Antonio Torralba 组最先提出了这一问题并公开了相关数据集 [1]。
他们解决这一问题的主要思想简单而合理。如图所示,网络主要由两个支路组成,一个支路(Saliency Pathway)以原始图片为输入,用于显著性检测,输出为反映显著性的 heat map。
另一个支路(Gaze Pathway)以某一个人的头部图片和头部位置为输入,用于检测这个人可能的注视区域,输出同样是一个 heat map。
这两个 heat map 的乘积反映了目标显著性与可能的注视区域的交集,即可能的注视目标。整个网络以端对端的方式训练。以 AUC 为指标,文章最后得到了 0.878 的精度。
值得一提的是,这种结构设计也适用于多人注视目标的检测。只需要将 Gaze Pathway 中的头部图片与位置更换为另一个人的即可。然而这种方案的一大局限是,人与其注视的目标必须同时出现在同一张图片中。
这大大限制了其应用范围。为解决这一问题,作者们在 ICCV 2017 提出了针对视频的跨帧注视目标检测 [4],即人与注视目标可出现在不同视频帧中,如下图所示。
2.2 跨帧注视目标估计 [4]
这一问题显然更棘手,所以作者提出的解决方案也复杂了许多。
如图,整个框架由三条支路构成。与之前框架相比,现在的方案增加了一个 Transformation Pathway,用于估计 source frame(人所在帧)与 target frame(目标所在帧)的几何变换。而现在的 Gaze Pathway 则用于估计一个视锥的参数。
这两路网络的输出表示 source frame 中的人可能注视的 target frame 区域。下面的图更为直观。
Saliency Pathway 的作用和之前的工作类似,用于估算目标显著性。三路网络的输出经融合后最终表示 source frame 中的人注视的 target frame 中的目标。下图清晰展示了整个推理过程。
小结:注视目标估计的相关论文目前较少。我这里先选两篇代表性的论文做简要介绍,具体细节请阅读原文。这两篇论文都公开了数据集和代码,参考链接:
http://gazefollow.csail.mit.edu/
https://github.com/recasens/Gaze-Following
下一小节会介绍下注视点估计的相关工作(这个方向的论文同样不多),然后再介绍 gaze 领域的重点研究对象,三维视线估计。
注视点估计
注视点估计即估算人双目视线聚焦的落点。其一般场景是估计人在一个二维平面上的注视点。这个二维平面可以是手机屏幕,pad 屏幕和电视屏幕等,而模型输入的图像则是这些设备的前置摄像头。下图是一个估计手机屏幕注视点的工作 [2]。
这个工作同样来自 MIT Antonio Torralba 组。网络结构一目了然,他有四个输入,左眼图像、右眼图像、人脸图像(由 iPhone 拍照软件检测)以及人脸位置。四种输入由四条支路(眼睛图像的支路参数共享)分别处理,融合后输出得到一个二维坐标位置。
实验表明,模型在 iPhone 上的误差是 1.71cm,而在平板上的误差是 2.53cm(误差为标注点与估计点之间的欧式距离)。该工作收集并公布了一个涵盖 1400 多人、240 多万样本的数据集,GazeCapture。
在上述模型中,人脸主要提供头部姿态信息(head pose),而人脸位置主要提供眼睛位置信息。这里存在一定的信息冗余。基于这一观察,Google 对上述模型做了进一步压缩 [5],即将人脸和人脸位置这两个输入替换为四个眼角的位置坐标,如下图所示。
眼角位置坐标不仅直接提供了眼睛位置信息,同时又暗含 head pose 信息(眼角间距越小,head pose越大,反之头部越正)。
实验结果表明,这个精简后的模型在 iPhone 上的误差为 1.78cm,与原始模型的精度相差无几。同时,该模型在 Google Pixel 2 Phone 的处理速度达到 10ms/帧。
也许是看到了注视点估计在智能手机上的应用前景,三星在 2019 年也公开了相关研究 [6]。他们采取的网络架构与 [2] 类似,不同点是在网络训练过程中加入了 distillation 与 pruning 等技巧,来防止过拟合并获得更鲁棒的结果。
事实上,在 GazeCapture 之前,2015 年莱斯大学已公开了一篇针对平板的注视点估计论文 TabletGaze [7]。但当时的深度学习还不像今天这样盛行,作者使用了传统特征(LBP、HOG等)+ 统计模型的方式来解决这一问题&#