当前位置: 首页 > news >正文

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 的模型来预测无约束设置下的凝视
  • 我们提出对每个凝视角度分别进行回归,以提高每角度的预测精度,从而提高整体凝视性能。
  • 此外,我们使用两个相同的损失,每个角度一个,以改善网络的学习和提高其泛化。
  • 我们用无约束设置收集的两个流行数据集来评估我们的模型。我们提出的模型在MPIIGazeGaze360数据集上分别达到了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层。
  • 交叉熵损失定义为:
    在这里插入图片描述
  • 均方误差定义为:
    List item
  • 我们提出的每个凝视角度的损失是均方误差和交叉熵损失的线性组合,定义为:
    在这里插入图片描述
    其中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() 对属性的读取,修改进行拦截(数据劫持)数组类型&#xf…...

通过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)注册完成后搜索:容…...

第一百二十一天学习记录:线性代数:矩阵乘法运算(宋浩板书)

在编程和学习数据结构的过程中,发现有些算法会用到矩阵和矩阵的乘法运算,因此先将这一个知识点学习一下。 矩阵和行列式的区别 各种矩阵的概念 矩阵运算 乘法☆ 总结三条不满足...

模拟实现消息队列项目(系列3) -- 服务器模块(硬盘管理)

目录 前言 1. 创建项目 2. 创建核心类 2.1 Exchange 2.2 MSQueue 2.3 Binding 2.4 Message 3. 数据库设计 3.1 SQLite 配置 3.2 Mapper层代码实现 3.2.1 创建表操作 3.2.2 交换机 队列 绑定的增加和删除 3.3 实现DataBaseManager 3.4 DataBaseManager单元测试 4.…...

【iOS】锁

线程安全 当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得…...

杰发科技(合肥)2021笔试题

笔试时间:2020.10.17 ,10:30-12:00。 岗位:Linux 驱动工程师。 题型:选择题8道,填空题10道,编程题4道。 杰发科技主要做汽车电子,由北京四维图新控股,对汽车电子感兴趣的有机会可以应聘试试。 选择题 1、128,4 #include<stdio.h> unsigned int getstrsiz…...

Java堆排序

目录 PriorityQueue自己实现 PriorityQueue public class PriorityQueueMain {public static void main(String[] args) {int[] temp {40, 2, 33, 26, 35, 8, 8, 26, 29, 2};PriorityQueue<Integer> priorityQueue new PriorityQueue<>();for (int i 0; i <…...

GitHub的基本使用教程

GitHub是一个基于web的版本控制和协作平台。它允许开发人员将他们的代码存储库存储在云中&#xff0c;并与其他人一起进行工作。GitHub还提供了各种工具和功能来帮助开发人员管理和组织他们的代码项目&#xff0c;包括拉出请求、问题跟踪、代码评论等等。此外&#xff0c;它托管…...

objectMapper.configure 方法的作用和使用

objectMapper.configure 方法是 Jackson 提供的一个用于配置 ObjectMapper 对象的方法。ObjectMapper 是 Jackson 库的核心类&#xff0c;用于将 Java 对象与 JSON 数据相互转换。 configure 方法的作用是设置 ObjectMapper 的配置选项&#xff0c;例如设置日期格式、设置序列…...

面试热题(x的平方根)

给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。 这道题虽然是简单题…...

食品溯源合约 -- 智能合约实例

前提 Roles: 实现对用户地址的角色权限管控,添加、删除角色。 Producer: 生产商角色管控。 ... FoodInfoItem: 食品信息管控。生产商、中间商、超市添加食品信息。 Trace:食品溯源合约,主要负责对以上几个合约的统筹协作。 Roles // SPDX-License-Identifier: MIT pragm…...

SAP系统中二代增强提供了4中增强函数的查找方法

1 Introduction The second enhancement is used widely by sap .We can set break-point in the function . The function is in the SMOD FG. 2 Detail SAP系统中二代增强提供了4中增强函数的查找方法&#xff1a; MODX_ALL_ACTIVE_MENUENTRIES (菜单增强) MODX_FUNCTION…...