普通摄像头做眼动追踪:eyeLike 上手实录
普通摄像头做眼动追踪eyeLike 上手实录【免费下载链接】eyeLikeA webcam based pupil tracking implementation.项目地址: https://gitcode.com/gh_mirrors/ey/eyeLike你在做一个注意力分析的小 demo卡在第一件事上设备太贵。专业眼动仪动辄几万消费级的红外摄像头也要一两千。但如果目标只是找到每帧画面里瞳孔在哪普通网口摄像头加 OpenCV 就够用。eyeLike 就是这样一个项目基于网络摄像头的瞳孔追踪用图像梯度算法在每一帧里实时定位瞳孔中心。这篇文章带你从零把它跑通把调参时最容易踩的坑和真实的能力边界一次讲清楚。eyeLike 是什么一个算法参考实现eyeLike 是 Tristan Hume 发起并维护的参考实现算法来自 Fabian Timm 2011 年发表的图像梯度瞳孔定位方法MIT 许可。核心依赖只有 C11 和 OpenCV3.x、4.x 都有兼容处理Linux 和 macOS 可以直接编译。官方文档 Readme.md 写得非常简不少信息得自己从代码里挖核心源码src/。作者在文档开头就声明了这是算法的开发者参考实现不是成品眼动追踪方案。这一点后面会展开。原理速览用梯度向量投票找瞳孔中心它是怎么做到的整条链路分四步。先做人脸定位用 OpenCV 的 Haar 级联分类器检测人脸输入取的是图像的红色通道。然后裁眼区——没有独立的眼部检测器而是按人脸框的固定百分比裁出两个眼区可以把它想象成一张脸上贴了两块固定位置的模板快但要求脸比较正。接着算梯度眼区先缩放到 50 像素宽逐像素算 X/Y 方向梯度。最后投票每个强梯度向量会沿着反方向给所有候选中心投票点积越大票越重得票最高的像素就是瞳孔中心——相当于让一圈边缘像素各自举着指向瞳孔的箭头箭头最密集交叉处即瞳孔所在。收尾用泛洪填充清掉图像边缘的假峰坐标再放大回原图。从零跑通编译并运行 eyeLike环境需求就三样装好即可组件版本要求备注C 编译器GCC 7需要支持 C11CMake2.8工程入口版本要求宽松OpenCV3.x 或 4.x代码已做版本兼容装发行版自带包即可之后把代码取下来编译git clone https://gitcode.com/gh_mirrors/ey/eyeLike cd eyeLike mkdir build cd build cmake .. make可执行文件在build/bin/eyeLike。别把它挪到别的地方跑——主程序里 Haar 级联用的是相对路径../res/haarcascade_frontalface_alt.xml从 build 目录启动才能解析到启动时如果打印 Error loading face cascade就是这个原因。程序一启动就打开摄像头弹出 4 个窗口主窗口里能看到人脸矩形、两个眼区裁剪框和瞳孔中心点Capture - Face 窗口单独显示裁出的人脸上面标着两个瞳孔点。这四个窗口都有内容、点跟着眼睛走就说明跑通了。按f会把当前帧存成 frame.png方便事后分析按c退出。关键参数怎么调眼区裁剪框与梯度阈值可调参数集中在一个文件里参数配置src/constants.h。二十来个常量里有三组值得动手。第一组是 kEyePercentTop(25)、kEyePercentSide(13)、kEyePercentHeight(30)、kEyePercentWidth(35)按人脸框的百分比决定眼区裁在哪。我第一次跑的时候发现瞳孔点整体偏外最后查出来是裁剪框没框住眼睛——框错了后面调什么都不对所以出问题先看这组。第二组是 kGradientThreshold默认 50.0。它不是绝对阈值而是动态阈值的系数调大则存活的梯度点变少中心点更稳但弱光下容易跑偏调小则相反。第三组是 kSmoothFaceImage默认 false和 kFastEyeWidth默认 50。前者开启高斯平滑后者是降采样分辨率。点抖得厉害、环境又噪先开平滑还不行再降分辨率代价是损失一点精度。联动顺序记住一条先确认裁剪框对了再动阈值平滑和分辨率用来兜底。能力边界它追踪的是瞳孔不是视线作者在文档里说得很直白This does not track gaze yet。这个版本只能给出瞳孔中心在图像里的二维坐标。没有眼角之类的参考点代码里有但 kEnableEyeCorner 默认关闭没有头部姿态估计也没有屏幕标定所以算不出用户在看屏幕上的哪个位置。精度上正脸、光线均匀时点很稳侧脸、脸上强反光、人脸离镜头太近Haar 检测有 150x150 的最小尺寸限制时效果明显下降。把它当做一个瞳孔定位模块来用、嵌进更大的系统里是最合理的预期。延伸方向从瞳孔点到视线估计你可以尝试把 kEnableEyeCorner 打开——眼角定位的代码已经写在 findEyeCorner.cpp 里。瞳孔中心配合眼角位置能算出瞳孔在眼内的相对偏移这个比例是做视线估计的天然参考特征比单独的屏幕坐标有价值得多。你可以尝试给每帧输出的瞳孔中心加一个简单的低通或卡尔曼滤波。梯度投票的原始输出有抖动任何要做交互控制移动鼠标、点选菜单的下游应用都绕不开时间滤波这也是理解定位和追踪差别的最短路径。你可以尝试固定拍摄条件正脸、均匀光、固定距离采集一段标注过屏幕坐标的样本做瞳孔位置到屏幕点的一次线性映射——这是从找得到走到算得准的最小一步。适合人群一句话想搞懂眼动追踪算法原理、或者要往自己项目里嵌一个轻量瞳孔定位模块的人eyeLike 正好够用。最直接的下一步打开仓库把 Readme.md 读完按上文的流程完整跑一遍跑通之后再谈调参。【免费下载链接】eyeLikeA webcam based pupil tracking implementation.项目地址: https://gitcode.com/gh_mirrors/ey/eyeLike创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

从AI Demo到网页应用:基于Qoder构建Salesflow的完整落地指南

从AI Demo到网页应用:基于Qoder构建Salesflow的完整落地指南

这类工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来,以及从一个小想法到能实际运行的流程到底有多远。Qoder 和 Salesflow 的组合,解决的就是这个“从 AI Demo 到商业闭环”的典型痛点:很多人能用 AI 模型跑通一…

2026/8/23 17:39:09 阅读更多 →
移动办公利器:全能扫描OCR应用的核心原理与高效使用指南

移动办公利器:全能扫描OCR应用的核心原理与高效使用指南

在移动办公场景下,处理纸质文档、图片信息、表格数据和证件复印件是高频需求。无论是商务人士整理会议纪要,还是学生处理学习资料,亦或是普通用户管理家庭票据,都离不开将物理世界的信息快速、准确地数字化。传统做法是依赖扫描仪…

2026/8/23 19:18:56 阅读更多 →
win10 设置为静态ip地址以及网络修复

win10 设置为静态ip地址以及网络修复

问题有时候明明连接了wifi,网络却不能用,这时候需要修改IP地址配置的方式。解决方法设置为自动获取IP地址打开控制面板 → 网络和Internet → 网路共享中心(查看网络状态和任务)→ 更改适配器设置→ WLAN上右键打开属性 → 双击In…

2026/8/23 21:43:33 阅读更多 →

最新新闻

Godot引擎实战:2D等距视角动作冒险游戏开发全流程解析

Godot引擎实战:2D等距视角动作冒险游戏开发全流程解析

在独立游戏开发领域,2D等距视角因其独特的视觉表现力和适中的技术门槛,正吸引着越来越多的开发者。无论是经典的《塞尔达传说:织梦岛》风格,还是现代像素风冒险游戏,等距视角都能营造出迷人的立体感和探索深度。然而&a…

2026/8/24 3:06:00 阅读更多 →
3 条主线 8 段代码:Mermaid.js 电信网络可视化实战与避坑指南

3 条主线 8 段代码:Mermaid.js 电信网络可视化实战与避坑指南

3 条主线 8 段代码:Mermaid.js 电信网络可视化实战与避坑指南 【免费下载链接】mermaid Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid …

2026/8/24 3:06:00 阅读更多 →
为纯文本大模型添加视觉能力:DeepSeek Harness插件开发实战

为纯文本大模型添加视觉能力:DeepSeek Harness插件开发实战

最近在折腾本地大模型的时候,遇到一个挺有意思的问题:一个纯文本模型,怎么才能让它“看懂”图片?这听起来有点矛盾,但需求却很真实。比如,我手头有一个很擅长代码和逻辑推理的文本模型,但项目里…

2026/8/24 3:06:00 阅读更多 →
IDA Pro函数分析实战:从识别到漏洞挖掘的完整指南

IDA Pro函数分析实战:从识别到漏洞挖掘的完整指南

在逆向工程、漏洞分析和恶意软件研究领域,IDA Pro 无疑是众多安全研究员和分析师手中的“瑞士军刀”。然而,对于许多初学者甚至有一定经验的开发者来说,面对一个加载了复杂二进制文件、满是汇编指令的IDA界面,如何高效地识别、分析…

2026/8/24 3:06:00 阅读更多 →
DeepSeek Harness:为纯文本大模型添加本地视觉能力的开源插件部署指南

DeepSeek Harness:为纯文本大模型添加本地视觉能力的开源插件部署指南

这次我们来看一个能让纯文本大语言模型获得视觉能力的开源项目——DeepSeek Harness。这个项目的核心价值在于,它通过一套巧妙的插件机制,让原本只能处理文本的DeepSeek模型(如DeepSeek-V2、DeepSeek-Coder等)具备了“看图说话”的…

2026/8/24 3:06:00 阅读更多 →
UE C++定时器从蓝图到代码:核心机制与实战避坑指南

UE C++定时器从蓝图到代码:核心机制与实战避坑指南

如果你在虚幻引擎(UE)中已经习惯了用蓝图拖拽节点来实现一个简单的“延迟后执行”或“每隔X秒执行一次”的功能,那么当你第一次尝试在C中实现同样的定时器逻辑时,可能会感到一阵迷茫。蓝图里,一个“Delay”节点或“Set…

2026/8/24 3:05:00 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →