前言

本篇博客是笔者在读完论文“It’s Written All Over Your Face:Full-Face Appearance-Based Gaze Estimation”后的一个小小总结。

该篇论文主要提出了一种基于完整脸部图像,通过加入了空间权重的CNN得到2D、3D视线方向的方法,并对完整脸部图片对于视线检测的作用进行了相关实验与分析。

论文主要分为两大部分。第一部分主要介绍论文作者提出的新视线检测方法:引入空间权重的CNN。这部分中,论文作者阐述了将完整脸部图片作为输入、在CNN中引入空间权重的原因,并根据后续实验分析这种新方法的性能,阐述了完整脸部图像对视线预测的作用

将完整脸部图像作为输入的空间权重CNN方法

论文作者提出了一种CNN结构,直接根据输入的完整面部图像,得到2D或3D的视线方向,在MPIIGaze数据集上获得了较大的准确度提升(14.3%)。这种CNN结构包含一种空间权重机制,将脸部不同区域的信息编码,与经典CNN网络的特征图结合,提取了面部不同区域包含的有助于判断视线方向的信息。

将full-face image作为输入的原因

论文作者提到,先前的Gaze Estimation算法大部分将目标的眼部图像作为输入,而近期的部分论文已经提出,面部除眼睛外的其他部分,同样包含有助于判断视线方向的信息。而神经网络方法拥有很强的信息提取的能力,因此,基于面部除眼睛的其他部分同样包含有助于判断视线方向的重要信息的假设,论文作者认为将完整的面部图像作为神经网络的输入,有助于提高视线检测算法的准确度。

加入空间权重的CNN方法

论文中阐述,加入空间权重主要有以下两个理由:

  • 对于输入的完整面部图片,部分区域,如背景,对于解决Gaze问题没有帮助,应尽量减少其影响。
  • 如前文所述,面部除眼睛外的其他区域隐藏着对于Gaze问题有辅助作用的重要信息。

因此,作者将通过激活图来学习空间权重的机制加入经典CNN架构,并取得了较好的结果。

基础CNN结构

对于经典CNN部分,作者采用了拥有5个卷积层、2个全连接层的AlexNet,并在全连接层后添加一个线性回归层以得到所需的2D或3D视线焦点坐标。这部分中作者使用了在LSVRC-2010 ImageNet上预训练好的参数,并通过MPIIGaze数据集对整个网络进行微调。

空间权重机制

在上述CNN的5个卷积层得到最终的特征图后,论文作者将特征图作为输入,添加三个卷积核为1x1的卷积层,使用ReLu作为激活函数,并最终得到一个13x13的热度图。之后,论文作者将热度图直接与之前卷积层的特征图逐元素相乘,作为全连接层的输入。

实验及分析

为检验这种方法的准确率,作者分别在MPIIGazeEYEDIAP数据集上进行了2D、3D视线检测的与其他方法的对比。对比的方法有:只考虑单眼图片的方法(Visualizing and understanding
convolutional networks),上篇博客总结的方法(Appearancebased gaze estimation in the wild),iTracker,只考虑双眼部分的iTracker,修改为AlexNet的ITracker。

在与两个数据集,2D与3D两种问题的对比上,论文作者提出的空间权重CNN方法均取得了最好的表现。其中,2D问题上各方法在EYEDIAP数据集上的准确率均低于MPIIGaze数据集,论文作者认为可能是EYEDIAP数据集的低分辨率所致。

头部姿态、面部表现视线方向的关系

这一部分中,论文作者为探索不同因素对于视线方向判断的影响程度,将以下三种特殊情况进行对比:

1.直接将头部姿态作为视线检测结果

2.一个根据输入的头部姿态直接得到视线检测结果的线性回归模型

3.在遮住所有眼部的MPIIGaze数据及上训练所得的模型

而进行对比后,得到的准确率为:1<2<3。这一结果令人意外的表明,将完整面部图片作为输入甚至比头部姿态信息更有助于视线检测问题的解决

(笔者的个人理解:理论上说完整的面部图片是包含头部姿态信息的,那么在模型提取信息的能力足够强的前提下,完整面部图片理应能提供更多头部姿态无法提供的信息,以帮助判断视线方向。)

不同脸部区域的重要性分析

既然面部其他区域有助于视线方向的判断,接下来论文作者尝试探索不同情况下面部的哪些区域有助于视线方向的检测。这一部分,作者通过研究使用64x64的遮罩遮住图片不同部分后分析准确率下降程度的方法得到热力图,来近似脸部不同区域的对于视线检测问题的重要程度。

光照

通过MPIIGaze数据集中,灰度平均值在水平方向上的不同密度为依据分类不同光照情况,论文作者发现,光照更强的一边,热力图中眼部与其他区域的连通性更强。同时在各种光照下,空间权重CNN方法的准确率均高于只考虑双眼图片的方法。

视线方向

通过实验发现,当目标的视线方线越平直时,眼部的热度越高。而视线方向越偏时,热度则明显的朝面部其他部分分散

头部姿态

这部分使用了头部姿态分布更广的EYEDIAP数据集。实验发现,当头部姿态极端偏时,面部其他区域对视线检测的帮助尤为明显。此外,EYEDIAP数据集上的热度相比MPIIGaze,明显的朝面部周围分散,可能证明在低分辨率的情况下,使用完整面部图像有更大优势

结论

采用完整面部图像作为输入,加入了空间权重的CNN方法对于极端头部姿势、视线方向、光照造成的极端头部姿态变化有更高的鲁棒性。

同时,实验的结果表明,采取完整面部图像作为输入的 appearance-based视线检测问题与其他相关CV问题(如面部特征识别、面部表情识别等)非常接近,在未来的基于学习的方法中,将这类问题综合考虑可能会取得更好的结果。

Gaze Estimation学习笔记(2)-It's Written All Over Your Face Full-Face Appearance-Based Gaze Estimation的更多相关文章

  1. Gaze Estimation学习笔记(1)-Appearance-Based Gaze Estimation in the Wild

    目录 前言 简介 论文概述 论文主要内容 MPIIGaze数据集 引入CNN的新Gaze Estimation方法 人脸对齐与3D头部姿态判断 归一化 使用CNN进行视线检测 论文作者进行的实验及结果 ...

  2. A.Kaw矩阵代数初步学习笔记 4. Unary Matrix Operations

    “矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...

  3. A.Kaw矩阵代数初步学习笔记 2. Vectors

    “矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...

  4. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

  5. CUBRID学习笔记 47 show

    cubrid的中sql查询语法show c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . ...

  6. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  7. DBus学习笔记

    摘要:DBus作为一个轻量级的IPC被越来越多的平台接受,在MeeGo中DBus也是主要的进程间通信方式,这个笔记将从基本概念开始记录笔者学习DBus的过程 [1] DBus学习笔记一:DBus学习的 ...

  8. Hadoop学习笔记(两)设置单节点集群

    本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...

  9. Lua学习笔记4. coroutine协同程序和文件I/O、错误处理

    Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变 ...

随机推荐

  1. Cat搭建遇坑记

    1. Cat搭建遇坑记 1.1. 报错 服务端启动 Unable to get component: class com.dianping.cat.analysis.TcpSocketReceiver ...

  2. JavaScript 之 Date对象

    Date对象 Date 是一个构造函数,首先要通过 new Date() 来创建实例对象,提供实例成员.  创建 Date 实例用来处理日期和时间.Date 对象基于 1970年1月1日(世界标准时间 ...

  3. Cheat Engine 修改汇编指令

    打开游戏 扫描阳光 扫描过程就不讲了 找到阳光的地址 显示反汇编 找到使阳光减少的反汇编代码 空指令替换 将阳光减少汇编指令,用空指令替换.这样阳光就不再减少了 指令替换 也可以将汇编指令修改,减少变 ...

  4. can解析

  5. elasticsearch Terms Query 实现类似于sql in查询

    本文demo基于elasticsearch 5.1.1,  项目中使用的还是较早的版本 例如 import com.alibaba.fastjson.JSON; import org.elastics ...

  6. LP线性规划初识

    认识LP 线性规划(Linear Programming) 特指目标函数和约束条件皆为线性的最优化问题. 目标函数: 多个变量形成的函数 约束条件: 由多个等式/不等式形成的约束条件 线性规划: 在线 ...

  7. Linux命令ping

    原文 ping命令用来测试主机之间网络的连通性.执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常. 语法 ping(选项 ...

  8. Httpd服务入门知识-https(http over ssl)安全配置

    Httpd服务入门知识-https(http over ssl)安全配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.SSL会话的简化过程 ()客户端发送可供选择的加密方式, ...

  9. Linux无法免密登录的原因

    一.免密登录的方法 下面操作是把/root/.ssh/id_dsa.pub文件内容追加到192.168.7.100系统中的/root/.ssh/authorized_keys文件中 # 创建并发送密钥 ...

  10. Invalid mime type "application nd.ms-excel; charset=utf-8;charset=utf-8": does not contain '/'

    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is ...