
30分钟用普通摄像头跑通eyeLike眼动追踪完整指南【免费下载链接】eyeLikeA webcam based pupil tracking implementation.项目地址: https://gitcode.com/gh_mirrors/ey/eyeLikeeyeLike 是一个基于普通摄像头和 OpenCV 的轻量级眼动追踪瞳孔追踪项目它用普通 USB 摄像头实时定位瞳孔中心只需要 C 编译器、CMake 和 OpenCV无需专业眼动硬件。注意其输出的是瞳孔中心位置尚不能算出注视方向更适合用来学习算法或作为二次开发的基础。使用场景想入门眼动追踪但没有硬件的人eyeLike 是一个能从头读到尾的样例核心源码在 src/ 目录下不到十个文件从人脸检测到瞳孔定位的链路是完整的。逐文件读一遍配合运行时弹出的几个调试窗口就能对“webcam 眼动追踪怎么做”形成一个具体印象。如果要做注视交互的原型眼控键盘、注意力分析工具之类瞳孔中心位置通常是你要先自己算出来的中间特征。eyeLike 把它实时输出你可以接上自己的模型再推算屏幕上的注视点也可以用它验证不同光线、机位条件下特征是否稳定。对已经用过商业眼动仪或深度学习注视模型的人来说eyeLike 可以当参照基线它的输出只是一组瞳孔坐标参数全部是显式常量方便拿来和自己的方案对齐看出差距在哪里。定位与取舍官方文档里说得很直白这个项目是算法的参考实现还不是可交付的注视追踪产品。它只能找到瞳孔中心缺少眼角或头部姿态这类参考点因此无法计算“用户在看哪里”。如果你需要的是屏幕上直接可用的注视点商业眼动仪贵但开箱即用或深度学习方案需要 GPU 和训练数据更直接。eyeLike 的取舍是硬件成本为零代价是算法上限有限、工程打磨最少。对比项eyeLike商业眼动仪深度学习方案硬件要求普通摄像头专用眼动设备GPU 或高性能推理卡输出结果瞳孔中心坐标屏幕注视点屏幕注视点上手成本30 分钟编译运行开箱即用需要模型与训练数据实时性能数十 fps 量级120 fps 以上取决于硬件定制空间完全开源、参数可改封闭系统较高、需要训练原理速览处理链路共四步先用 Haar 级联分类器检测人脸模型文件在 res/ 目录再按几何比例从人脸框算出左右眼区域的包围盒然后在每个眼区域里运行 Fabian Timm 的图像梯度算法——由梯度向量的方向与幅值求出一个交汇点作为瞳孔中心最后把人脸、眼区域和瞳孔中心分别实时画在几个窗口里。关键参数眼区域比例、梯度阈值、图像平滑开关集中在 src/constants.h其中还有一个 kPlotVectorField 开关可以画出梯度向量场调试时很有用。从零跑通环境依赖只有下表三项Linux 和 macOS 下用 CMake 构建即可官方文档没有给出 Windows 的构建方法组件版本要求安装命令Ubuntu/DebianC 编译器GCC 7.0sudo apt install build-essentialCMake3.10sudo apt install cmakeOpenCV3.4sudo apt install libopencv-devgit clone https://gitcode.com/gh_mirrors/ey/eyeLike cd eyeLike mkdir build cd build cmake .. make -j4 ./bin/eyeLike程序启动后会弹出多个窗口原始视频、人脸区域、左右眼区域画面上标记出人脸框和瞳孔中心。按 f 键把当前帧保存为 frame.png按 c 键退出。出问题怎么办效果不理想时按顺序排查光线避免强光直射面部追求均匀漫射光面部有高光时降低摄像头曝光梯度算法对高光很敏感。机位摄像头与眼睛保持同一高度距离 50–70 厘米略微向下倾斜减少镜面反射。参数眼区域没框准或中心点跳动时调整 src/constants.h 里 kEyePercentTop、kEyePercentWidth 等比例项或梯度阈值 kGradientThreshold改完重新编译。分辨率降低摄像头分辨率可以加快检测光线偏暗时低分辨率反而可能让结果更稳。跑不通时先查CMake 报 “Could not find OpenCV” → OpenCV 未安装或未被识别 → 用pkg-config --modversion opencv验证版本正常仍报错就显式指定安装位置-DOpenCV_DIR/path/to/opencv。运行时报 “Error loading face cascade” → 人脸模型使用相对路径 ../res/依赖启动目录 → 在 build 目录下执行./bin/eyeLike不要 cd 进 bin 再运行。摄像头打不开 → 权限不足或设备被占用 → 检查 /dev/video0 权限关闭其他占用摄像头的程序或换一个摄像头索引。想全面了解构建细节和算法背景从 Readme.md 读起算法出自 Timm 与 Barth 2011 年的论文Accurate eye centre localisation by means of gradients文中附有出处。源码阅读建议从 main.cpp 开始再看 findEyeCenter.cpp 里的瞳孔定位实现配合 constants.h 的参数对照运行窗口的效果即可。【免费下载链接】eyeLikeA webcam based pupil tracking implementation.项目地址: https://gitcode.com/gh_mirrors/ey/eyeLike创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考