L2CS-Net: 3D gaze estimation
L2CS-Net: Fine-Grained Gaze Estimation in Unconstrained Environments论文解析
- 摘要
- 1. 简介
- 2. Related Work
- 3. METHOD
- 3.1 Proposed loss function
- 3.2 L2CS-Net 结构
- 3.3 数据集
- 3.4 评价指标
- 4. 实验
- 4.1 实验结果
论文地址:L2CS-Net: Fine-Grained Gaze Estimation in Unconstrained Environments
论文代码:https://github.com/ahmednull/l2cs-net
论文出处:arXiv,2022
论文单位:Otto-von-Guericke-University, Magdeburg, Germany
摘要
- 人类的注视(gaze)是在人机交互和虚拟现实等各种应用中使用的关键线索。
- 近年来,卷积神经网络(CNN)方法在预测凝视方向方面取得了显著进展。
- 然而,由于眼睛外观的独特性、光照条件、头部姿势和凝视方向的多样性,在野外估计凝视仍然是一个具有挑战性的问题。
- 在本文中,我们提出了一个鲁棒的基于 CNN 的模型来预测无约束设置下的凝视。
- 我们提出对每个凝视角度分别进行回归,以提高每角度的预测精度,从而提高整体凝视性能。
- 此外,我们使用两个相同的损失,每个角度一个,以改善网络的学习和提高其泛化。
- 我们用无约束设置收集的两个流行数据集来评估我们的模型。我们提出的模型在MPIIGaze 和Gaze360数据集上分别达到了3.92◦和10.41◦的精度。
1. 简介
- 眼睛注视(eye gaze) 是在各种应用中使用的基本线索之一。
- 它表示用户在人机交互和开放对话系统中的参与程度。此外,它还被用于增强现实,用于预测用户的注意力,从而提高设备的感知能力,降低功耗。
- 因此,研究人员开发了多种方法和技术来准确估计人类的凝视。这些方法分为两类: 基于模型的方法和基于外观的方法。
- 基于模型的方法通常需要专用硬件,这使得它们难以在不受约束的环境(unconstrained environment)中使用。
- 基于外观的方法将人类的视线直接从廉价的现成相机拍摄的图像中还原出来,使它们很容易在不受约束的设置下在不同的位置生成。
- 目前,基于CNN的方法是基于外观的方法是最常用的凝视估计方法,因为它提供了更好的凝视性能。
- 大部分的相关工作专注于开发新颖的基于CNN的网络,主要由流行的骨干(如VGG, ResNet-18 , ResNet-50等) 组成,来提取凝视特征,最终输出凝视方向。
- 这些网络的输入可以是单个流 (例如:如面部或眼睛图像)或多个流(如面部和眼睛图像)。
- 用于注视估计任务的最常见的损失函数是均方损失或L2损失。
- 尽管基于CNN的方法提高了注视精度,但它们缺乏鲁棒性和泛化性,特别是在无约束环境下。
- 本文介绍了一种新的估计方法来在RGB图像中估计3D凝视角度,使用一种 multi-loss 的方法。
- 我们建议使用两个全连接层独立回归每个凝视角度(偏航,俯仰),以提高每个角度的预测精度。
- 此外,我们对每个凝视角度使用两个单独的损失函数。每一种损失都由注视二值分类和回归组成。
- 最后,这两种损失通过网络反向传播,精确微调网络权重,提高网络泛化。
- 我们通过使用softmax层和交叉熵损失(cross-entropy loss)来执行gaze bin分类,以便网络以鲁棒的方式估计注视角的邻域。
- 基于所提出的损失函数和softmax层 (L2 loss+ cross-entropy loss+ softmax层),我们提出了一种新的网络(L2CS-Net)来预测无约束设置下的3D凝视向量。
- 最后,我们在两个流行的数据集MPIIGaze和Gaze360上评估了我们的网络的鲁棒性。L2CS-Net在MPIIGaze和Gaze360数据集上实现了SOAT的性能。
2. Related Work
- 根据文献,基于外观的凝视估计可以分为传统的和基于cnn的方法。
- 传统的凝视估计方法使用回归函数来创建一个特定于人类凝视的映射函数,例如自适应线性回归和高斯过程回归。这些方法在受限设置(例如,受试者特定和固定的头部姿势和照明)中显示出合理的准确性,然而,在非受限设置中测试时,它们显着降低。
- 最近,研究人员对基于cnn的凝视估计方法更感兴趣,因为它们可以在图像和凝视之间建立高度非线性的映射函数。
3. METHOD
3.1 Proposed loss function
- 大多数基于CNN的注视估计模型将3D注视预测为在球坐标下的注视方向角(偏航角、俯仰角)。
此外,他们采用均方误差(L2损失)来惩罚他们的网络。 - 我们建议对每个凝视角度使用两个相同的损失。每一损失都包含交叉熵损失和均方误差。
- 与直接预测连续凝视角度不同,我们使用了一个带有交叉熵的softmax层来预测 binned gaze classification。
- 然后,我们估计凝视分类输出的期望以细化预测。
- 最后,我们在输出中加入均方误差来改进凝视预测。
- 使用L2与Softmax一起可以极大地灵活地调整非线性Softmax层。
- 交叉熵损失定义为:
- 均方误差定义为:
- 我们提出的每个凝视角度的损失是均方误差和交叉熵损失的线性组合,定义为:
其中CLS为综合损失,p为预测值,y为基真值,β为回归系数。在第4节的实验中,我们改变均方损失的权重,以获得最佳的注视性能。 - 据我们所知,所有使用基于CNN的方法估计凝视的相关工作都没有考虑其技术中的分类和回归联合损失。
3.2 L2CS-Net 结构
- 我们提出了一个简单的网络架构(L2CS-Net)基于所提出的分类和回归损失。
- 它将人脸图像作为输入,并将其作为主干馈送到ResNet-50,从图像中提取空间凝视特征。
- 与之前大多数将两个凝视角度在一个全连接层中一起回归的工作相反,我们使用两个全连接层分别预测每个角度。
- 这两个全连接层共享相同的卷积层backbone。
- 此外,我们还使用了两个损失函数,分别对应于每个凝视角度(偏航、俯仰)。
- 使用这种方法将改善网络学习,因为它有两个信号在网络中反向传播。
- 对于来自全连接层的每个输出,我们首先使用softmax层将网络输出 logits 转换为概率分布。
- 然后,应用交叉熵损失来计算输出概率与 target bin 标签之间的分类损失。
- 接下来,我们计算概率分布的期望,以获得细粒度的凝视预测。
- 最后,我们计算该预测的均方误差并将其添加到分类损失中。
- L2CS-Net的详细体系结构如图1所示。
3.3 数据集
- Gaze360:
Gaze360提供了360度范围内最宽的 3D gaze 注释。
它包含238名不同年龄、性别和种族的研究对象。
它的图像是使用一个 Ladybug多摄像头系统在不同的室内和室外环境设置(如照明条件和背景)中拍摄的。 - MPIIGaze:
MPIIGaze提供了15名受试者在几个月的日常生活中拍摄的213.659张图像。
因此,它包含具有不同背景,时间和照明的图像,使其适合于无约束的凝视估计。
它是通过软件收集的,该软件要求参与者观察笔记本电脑上随机移动的点。
3.4 评价指标
- gaze angular error (◦) :计算公式为:
其中,ground-truth gaze direction g∈R3.
predicted gaze vector g^ ∈R3.
4. 实验
4.1 实验结果
相关文章:

L2CS-Net: 3D gaze estimation
L2CS-Net: Fine-Grained Gaze Estimation in Unconstrained Environments论文解析 摘要1. 简介2. Related Work3. METHOD3.1 Proposed loss function3.2 L2CS-Net 结构3.3 数据集3.4 评价指标 4. 实验4.1 实验结果 论文地址:L2CS-Net: Fine-Grained Gaze Estimation…...
kenernetes/k8s笔试面试
k8s的基础概念 k8s本质是一个容器编排系统,可以管理容器的生命周期,应用部署,更新,维护,应用提供服务,扩容缩容应用,故障自愈。 k8s与docker的关系 docker:是一种轻量级的虚拟化技术。运维层…...
我们真的是在做数据治理吗
我们真的是在做数据治理吗? 什么是数据治理? 数据治理和数据管理有什么区别? 相信即使是考过数据治理工程师的人,面对这2个问题也仍然会有这个疑问。 目前国际和国内对于数据治理没有明确统一的定义,对于数据治理的服…...

聊聊汽车电子的话题
当谈到汽车电子时,有许多有趣的话题可以探讨。以下是一些可能感兴趣的话题: 自动驾驶技术:自动驾驶技术正变得越来越先进,它们如何在汽车中实现?它们将如何改变我们的交通方式以及对道路安全的影响? 电动汽…...

ThinkPHP6企业OA办公系统
有需要请加文章底部Q哦 可远程调试 ThinkPHP6企业OA办公系统 一 介绍 勾股OA基于ThinkPHP6开发,前端Layui,数据库mysql,是一款实用的企业办公系统。可多角色登录,集成了系统设置、人事管理、消息管理、审批管理、日常办公、客户…...

PPS Tester测量原理和实施方法
怿星科技发布了新品PPS Tester,这是一款基于1PPS方法的时间同步精度测试设备。PPS Tester由硬件模块ETS2110和上位机软件ePPSTester构成。本文将围绕此设备的应用场景,介绍相关概念和设备使用方法。 什么是时间同步? 时间同步就是采取某项技…...

浅谈新电改背景下电网企业综合能源服务商业模式研究及发展方向
安科瑞 华楠 摘要: 新电改方案实施后,由于输配电价的改革和售电侧的放开,电网企业的盈利模式也随之发生了变化。这就要求电网企业转变服务理念与经营方式,来寻求竞争优势。基于“魏朱六要素商业模式”模型,对电网企业综合能源服务…...

SpringBoot + Docker 实现一次构建到处运行~
一、容器化部署的好处 图片 Docker 作为一种新兴的虚拟化方式,它可以更高效的利用系统资源,不需要进行硬件虚拟以及运行完整操作系统等额外开销。 传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行…...
clang-format格式化代码
1. clang-format简介 Clang-Format可用于格式化(排版)多种不同语言的代码。其自带的排版格式主要有:LLVM, Google, Chromium, Mozilla, WebKit等; 利用style参数配置风格。通过编写 .clang-format 文件,可以实现代码风格的配置。…...

品牌宣传与媒体传播是声誉管理的主要方式之一
企业声誉是现如今影响品牌信任度、客户忠诚度的重要因素,也被视为企业的一种无形资,更影响着企业未来的发展。因此,企业声誉管理也日渐成为企业管理的重要课题之一,尤其在品牌营销管理领域。 什么是声誉管理?声誉管理有…...
2023年8月7日-8月13日,(上午熟悉公司代码,周一到周五晚上优先工作所急视频教程,其他业余时间进行ue视频教程,为独立游戏做准备)
按照规划,上午熟悉公司源码,下午进行filament和ue渲染,晚上写工作代码。回家后泛读pbrt或者其他书籍催眠。 业余学习ue的各种视频教程,为独立游戏做准备(公司也实行末位淘汰,给自己留条后路)。累…...

Vue3 第二节 Vue3的响应式
1.Vue3的响应式原理 2.ref函数和reactive函数的对比 3.setup注意点 一.Vue3的响应式原理 1.Vue2.x中的响应式原理 ① 实现原理 对象类型:通过Object.defineProperty() 对属性的读取,修改进行拦截(数据劫持)数组类型…...

通过easyui实现动态控制表格字段显示、导出表格数据
前言 学过layui前端框架的都知道,layui默认帮我们实现了控制表格字段显示以及数据的导出功能。 1、控制表格字段显示 2、数据导出 3、导出为pdf:导出按钮的右边那个按钮就是打印pdf的 那么,easyui要怎么实现这些功能呢?这篇文章就…...
JWT入门,jwt可以解密吗?
JWT 什么是 JWT JSON Web Token,通过数字签名的方式,以 JSON 对象为载体,在不同的服务终端之间安全地传输信息 官网:https://jwt.io/SDK: https://jwt.io/libraries (含Java和各种语言)Java SDK(上面的SDK链接得到): https://g…...

36.利用解fgoalattain 有约束多元变量多目标规划问题求解(matlab程序)
1.简述 多目标规划的一种求解方法是加权系数法,即为每一个目标赋值一个权系数,把多目标模型转化为一个单目标模型。MATLAB的fgoalattain()函数可以用于求解多目标规划。 基本语法 fgoalattain()函数的用法: x fgoalattain(fun,x0,goal,weig…...
EPPlus 读取和生成Excel
在项目中添加了EPPlus库的引用,你可以通过NuGet包管理器或手动将EPPlus库添加到项目中。同时,需要注意的是EPPlus库支持的是xlsx格式的Excel文件。 读取 使用EPPlus读取本地Excel文件的示例代码如下: using OfficeOpenXml;public void Rea…...

Java wait() notify() join()用法讲解
一、wait() 1. 源码: 实际调用本地方法 2. 作用 释放当前锁,并让当前线程进入等待状态;timeoutMillis为等待时间,单位毫秒,如果为0则表示无限等待下去;该方法使用前提是:当前执行线程必须持…...

新手注意事项-visual studio 来实现别踩白块儿
自己之前为了熟悉easyx练习过一个简单的项目,别踩白块儿,链接在这里,别踩白块儿,当时比较稚嫩,很多东西都不会,可以说是只知道最基本的语法,头文件都不知道,一个一个查资料弄懂的&am…...
【力扣】2810. 故障键盘 <模拟>
【力扣】2810. 故障键盘 你的笔记本键盘存在故障,每当你在上面输入字符 ‘i’ 时,它会反转你所写的字符串。而输入其他字符则可以正常工作。给你一个下标从 0 开始的字符串 s ,请你用故障键盘依次输入每个字符。返回最终笔记本屏幕上输出的字…...

Docker desktop使用配置
1. 下载安装 https://www.docker.com/ 官网下载并安装doker desktop 2. 配置镜像 (1)首先去阿里云网站上进行注册:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors (2)注册完成后搜索:容…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...