根据眼睛图像进行注视估计

2023-11-23

到目前为止我已经能够准确地检测瞳孔和眼角。 您可以在此处看到我在回答自己的问题时上传的一些快照:

执行稳定的眼角检测

这是我到目前为止所做的。 我通过查看 TLCP、TRCP 和 BLCP 来校准用户的视线 在哪里

CP = calibration point; a screen point used for calibration
B = bottom
T = top
L= left
R = right
gaze_width = TRCP.x - TLCP.x

gaze_height = BLCP.y- TLCP.y

我通过查看这些 CP 得到的相应注视点称为 GP

计算注视点GP:

我从当前瞳孔中心的位置中减去 TLGP 的坐标值,因为注视点必须落在假设的矩形中,该矩形的 我希望你能理解,它真的很简单。

我使用基本缩放系统将根据瞳孔中心位置计算的注视点线性映射到屏幕点,其中缩放比例计算如下:

scaleX = screen_width/gaze_width
scaleY = screen_height/gaze_height

对于任何注视点 P(x,y),我计算相应的屏幕点 Q(m,n) 如下:

m = scaleX*x
n = scaleY*y

但问题是,即使在几乎完美的瞳孔检测之后(几乎是因为在光线不佳的情况下它会给出误报。但我打算将其置于限制之下,因为我无法处理它,我没有足够的时间),我'我的注视宽度和注视高度仍然很差。

这是测试运行日志:

DO_CAL= True

Gaze Parameters:

TLGP = (38, 26) | TRGP = (20, 22) | BLGP = (39, 33)
screen height = 768 screen width = 1366

gaze height = 7 gaze width = 18

scales: X = 75.8888888889 | Y = 109.714285714
Thing on = True

Gaze point = (5, 3)
Screen point: (987, 329)

Gaze point = (5, 3)
Screen point: (987, 329)

Gaze point = (7, 5)
Screen point: (835, 549)

Thing on = False

TLGP = (37, 24) | TRGP = (22, 22) | BLGP = (35, 29)
screen height = 768 screen width = 1366

gaze height = 5 gaze width = 15
scales: X = 91.0666666667 | Y = 153.6
Thing on = True

Gaze point = (12, 3)
Screen point: (1093, 461)

Gaze point = (12, 3)
Screen point: (1093, 461)

ESC pressed

只需查看注视点及其相应的注视检测屏幕点(在它们下方)即可。 x,y 坐标值的巨大差异让我很烦恼。 周一是最后的演讲。

在这种方法之后,我推测了另一种方法:

Calibration is done as in the first method. I would detect the motion of the gaze, and its direction. Say, given any two points of pupil center’s location, P and Q, where P is the first gaze point, Q is the second, then we calculate the direction and length of the line PQ. Push method for gaze estimation

假设这条线段的长度是L。然后我们将L缩放到屏幕上 比例,假设屏幕比例中的 L 是 D,并且给定凝视移动的方向,我们 将屏幕上的光标从最后一个静止点(即 R、D 距离)移动到新点 S,该点将被计算为长度为 D 的线段的终点和起点 S。图形表示为图中给出。因此,基本上,我不会将任何注视数据映射到屏幕点,我基本上会跟踪注视,并将其转换为“推送”以应用于屏幕上的光标。 但我还没有实现它。因为它实际上没有将视线映射到屏幕坐标,因此可能是错误的。该理论的动机源自 sourceforge 上的 eViacam 项目 - 它们基本上会跟踪您的脸部,并相应地移动鼠标。在校准中,他们只是计算你的脸沿着轴移动了多少。

底线:因此,如果你们中的任何人对如何从完美处理的眼睛图像中检测用户的凝视有任何想法 -检测到瞳孔中心和眼角的一张,请告诉!我只有大约一天的时间,我知道已经晚了,但我只需要任何可以帮助我的神奇想法。


这不是答案,但不可能作为评论发布。你回答后我会删除它。

您确定拥有所有必要的参数吗?

考虑下图:

enter image description here

如果您的相机检测到 {K, J, Q} 处的角点和瞳孔,您如何与另一个三元组 {F, E, O} 区分开来?请注意,措施是相同的,但黑色箭头表示的注视方向完全不同。

注意:两条黑线和红线是从单个摄像机点绘制的,位于可见区域之外。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据眼睛图像进行注视估计 的相关文章

  • Access / Word 2010 VBA 邮件合并尝试打开 [文件夹名称].mdb 而不是 ACCDB 源

    我们正在尝试从 Access 中自动执行邮件合并过程 单击按钮后 VBA 将运行指定当前数据库 accdb 作为数据源并运行 SQL 具体代码如下 Set up Word Dim objWord As Object Set objWord
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1
  • 如何为 Windows toast 注册协议?

    如何注册 Windows toast 协议 样本中来自https blogs msdn microsoft com tiles and toasts 2015 07 02 adaptive and interactive toast not
  • ngmodel与Angular2中复选框的动态数组绑定

    我有一个 Angular 2 组件 其中我从数组生成复选框列表 现在我需要根据选中的复选框填充不同的数组 这应该是双向绑定 这意味着如果复选框的值已在数组中 则必须已经检查了复选框 我在 Angular 1 中使用了一个名为 checkli
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行
  • 您可以使用关键字参数而不提供默认值吗?

    我习惯于在 Python 中使用这样的函数 方法定义 def my function arg1 None arg2 default do stuff here 如果我不供应arg1 or arg2 那么默认值None or default
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • NGinx $proxy_add_x_forwarded_for 和 real_ip_header

    我在 NGinx 下有一个 web 应用程序和另一个前端负载均衡器 如下所示 x x x x IP 地址 客户端 a a a a gt LB b b b b gt NGX c c c c gt WEBAPP d d d d 这是我的 NGi
  • Typescript 函数接口重载

    我有以下代码 interface MySecondInterface a type A interface MyInterface val1 string val2 string MySecondInterface a
  • 带显示块的SPAN

    和默认有什么区别 div 元素和默认值 span 元素与display block HTML 元素的有效性和语义存在差异 否则它们是相同的 div and span两者都被定义为通用容器 在 HTML 方面没有更深层次的含义 一个默认为块显
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop
  • 从 Azure 应用服务连接到 MongoDB Atlas 集群

    我在 Azure 上有一个 Web 应用程序 它连接到 Atlas cloud mongodb com 上托管的 MongoDB 集群 我想使用 Atlas 这样我就不必关心 MongoDb 配置 问题是我的集群连接超时 我必须在我的 mo
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检
  • 使用泛型全面实现特征

    我正在通过实现矩阵数学来练习 Rust 但遇到了一些障碍 我定义了我认为与矩阵相关的特征 trait Matrix
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创
  • 保存符号方程以供以后使用?

    From here http www mathworks com help releases R2011a toolbox symbolic brvfu8o 1 html brvfxem 1 我正在尝试求解这样的符号方程组 syms x y
  • CUDA 中指令重放的其他原因

    这是我从 nvprof CUDA 5 5 获得的输出 Invocations Metric Name Metric Description Min Max Avg Device Tesla K40c 0 Kernel MyKernel do

随机推荐

  • 无论索引如何,最后一行始终从 DefaultTableModel 中删除

    当我尝试从 java 中的表中删除行时 我遇到一些问题 特别是 我使用DefaultTableModel 当我尝试删除一行时 使用removeRow int row 方法 最后一行被删除 无论什么row是 例如 假设我们有六行 当 的时候r
  • 在 C 源文件中包含带有命名空间的 C++ 头文件会导致编译错误

    我不是专业的 C 程序员 而且我最近在 C 中做了一些技巧 这导致了我出现以下问题 我的任务目标 复制特定的非系统线程 实际上是协作线程 安全模块以创建系统线程安全版本以支持系统中的不同需求 但我们没有创建 sys XXX 函数来保持兼容性
  • 维基百科 API 是否支持搜索特定模板?

    是否可以在 Wikipedia API 中查询包含特定模板的文章 文档没有描述任何将搜索结果过滤到包含模板的页面的操作 具体来说 我正在寻找包含以下内容的页面Template Persondata 之后 我希望能够检索该特定模板 以便填充族
  • 将字节数组转换为图像 Node.js

    我有一个很长的字节数组 数字从 0 到 255 而且我知道这是一个图像 所以我怎样才能像文件一样保存它 我尝试了很多事情 但都没有成功 图像已创建 但由于已损坏而无法打开 File js function saveImage filenam
  • 无法在旧版本的 JUnit 上运行简单的 JUnit TestCase

    我正在尝试在 JUnit 3 7 版本上运行一个简单的 JUnit 测试用例 我无法将其升级到最新版本 运行 IntelliJ 当我尝试运行 JUnit 测试用例时出现以下异常 Exception in thread main java l
  • Javascript 线程处理和竞争条件

    假设我有如下代码 var shared 100 function workWithIt shared 100 setTimeout workWithIt 500 setTimeout workWithIt 500 理想情况下 这段代码应该向
  • PHP PDO简单插入或更新函数

    在尝试创建一个简单的 PHP PDO 更新函数 如果未找到该字段将插入它 时 我创建了这个小片段 function updateorcreate table name value global sodb pro sodb gt prepar
  • 在VB.NET中用“”分割字符串

    假设这是我的字符串 1 2 3 我想用 空格 分割字符串并每次显示字符串的一部分 这将满足您的需要 Dim str As String 1 2 3 Dim strarr As String strarr str Split c For Ea
  • SQL 连接表值函数与表,其中表字段是函数输入

    我有一个名为 fn SplitCommaSep 的表值函数 它用逗号分隔文本字段 从 a b c 到 3 行 a b c 如何将其连接到表中 将表列作为输入 为此 假设表 MyTable 有 2 列 即 Id 和 TextWithComma
  • 如果表的长度不同,如何对多个表中的列值求和?

    好吧 这应该是一个简单的问题 但我正在寻找一种尽可能快的解决方案 假设我有 3 个表 表的数量会更大 tab1 lt table c 1 1 1 2 2 3 3 3 tab2 lt table c 1 1 4 4 4 tab3 lt tab
  • WPF 位图性能

    我试图了解为什么我的图像不活泼 因此我构建了一个示例来测试 WPF 性能 我使用计时器来计算 显示图像 事件处理程序执行的时间 并使用秒表来测量图像出现在屏幕上所需的时间 底线 显示 100 1600 2500 和 3600 个图像时 WP
  • 循环摩卡测试

    我正在尝试使用摩卡中的数据提供程序来编写更少的代码 var should require should var assert require assert var request require supertest var mongoose
  • 使用 LocationClient 定期获取更新的最节省电池效率的方法是什么?

    我正在考虑设置两个单独的警报 每小时收集用户的位置数据 一个每 59 分钟发出一次以 连接 客户端 另一个警报用于实际获取位置 然后断开客户端连接 就电池寿命而言 如果获取用户位置将成为应用程序的主要消耗 我还应该考虑做什么 或者 是否有不
  • 如何编写异步LINQ查询?

    当我读了一堆LINQ相关的东西后 我突然意识到没有文章介绍如何编写异步LINQ查询 假设我们使用 LINQ to SQL 下面的语句很清楚 但是 如果 SQL 数据库响应缓慢 那么使用该代码块的线程就会受到阻碍 var result fro
  • log4j ConversionPattern 时间戳(微秒)

    我想在使用 log4j 生成的日志文件的每个条目的时间戳中添加微秒 这可能吗 我查过官方文档 但没有提到毫秒以下的单位 现在我有一个如下所示的转换模式 d dd MM yyyy HH mm ss SSS 5p t m n 在日期转换模式中
  • 您建议将哪个数据库与 C# (.NET) 应用程序一起使用?

    我正在制定一个小项目计划 当我需要决定使用什么本地数据库系统时 输入数据将存储在网络服务器上 托管 MySQL DB 这个想法是建立一个流程来下载所有必要的数据 例如在午夜 并处理它们 然而 会有很多输入和处理阶段 所以我需要使用某种本地数
  • 处理器有哪些优化代码的技巧?

    我正在寻找诸如代码重新排序之类的东西 这些东西甚至可能在多处理器的情况下破坏代码 最重要的一个是内存访问重新排序 如果没有内存栅栏或序列化指令 处理器可以自由地重新排序内存访问 某些处理器架构对其可以重新排序的数量有限制 Alpha 因最弱
  • 如何使用 lambda 初始化映射?

    我想在单个语句中声明一个完全填充的映射字段 可能包含多个嵌套语句 如下所示 private static final Map
  • Ruby 字符串连接问题

    这有效 irb main 001 0 gt name Rohit Sharma gt Rohit Sharma 但这并不 irb main 001 0 gt fname Rohit gt Rohit irb main 002 0 gt ln
  • 根据眼睛图像进行注视估计

    到目前为止我已经能够准确地检测瞳孔和眼角 您可以在此处看到我在回答自己的问题时上传的一些快照 执行稳定的眼角检测 这是我到目前为止所做的 我通过查看 TLCP TRCP 和 BLCP 来校准用户的视线 在哪里 CP calibration