3、主流眼动追踪方法:视频眼动追踪、角膜反射法、双普尔基涅法、电生理法

眼动追踪这个领域,说实话,方法多得让人眼花缭乱。但真正在近眼显示里用得上的,也就那么几种。我这些年做项目,几乎每种方法都踩过坑,今天就把它们掰开揉碎了讲清楚。

3.1 视频眼动追踪——最通用的方案

视频眼动追踪,说白了就是用摄像头拍眼睛,然后通过图像算法算出你在看哪。这是目前消费级VR头显里最主流的方法。

基本原理

  • 用红外LED照亮眼睛,摄像头捕捉瞳孔和角膜反射光斑
  • 通过瞳孔中心与光斑的相对位置,估算视线方向
  • 通常需要个人校准,因为每个人的眼球参数不一样

我个人习惯把这种方法叫做「拍脑袋法」——不是贬义,而是说它真的就是对着脑袋拍。我在2019年做过一个项目,用的是120fps的全局快门摄像头,配合850nm的红外LED。嗯,这里要注意:摄像头帧率直接决定了追踪延迟。60fps勉强能用,120fps才够舒服。

关键参数

  • 分辨率:640×480 通常够用,但瞳孔区域至少需要30×30像素
  • 帧率:90Hz以上才能匹配VR刷新率
  • 延迟:从拍摄到输出结果,最好控制在5ms以内

我的经验:别迷信高分辨率。我曾经试过1280×1024的摄像头,结果处理时间太长,延迟飙到了15ms。后来换成640×480,配合硬件加速,延迟降到了3ms。有时候,够用就好。

3.2 角膜反射法——精度与鲁棒性的平衡

角膜反射法,也叫PCCR(Pupil Center Corneal Reflection)。它和视频眼动追踪很像,但多了一个关键点:利用角膜表面的反射光斑作为参考点。

为什么需要这个参考点?

你想想看,如果摄像头和眼睛之间有相对运动(比如头动了),瞳孔中心的位置就会变。但角膜反射光斑的位置也会跟着变。两者的相对位置,就能抵消掉头动的影响。

我在一个AR眼镜项目里用过这种方法。当时遇到一个坑:角膜反射光斑太亮,导致瞳孔边缘检测失败。后来怎么解决的?我调整了LED的驱动电流,从50mA降到了20mA,同时增加了曝光时间。效果立竿见影。

避坑指南:我曾经因为LED位置没调好,导致光斑落在瞳孔边缘,算法直接崩溃。后来我学乖了:LED必须放在摄像头光轴附近,且距离眼睛至少10mm,否则光斑会变形。

3.3 双普尔基涅法——实验室级的精度

双普尔基涅法,名字听着挺唬人,其实原理不复杂。它利用的是眼球不同界面的反射光:

  • 第一普尔基涅像:角膜前表面反射(就是角膜反射法用的那个)
  • 第四普尔基涅像:晶状体后表面反射

这两个像的相对位置,和眼球旋转角度有精确的数学关系。精度能做到0.1°以内,比视频法高一个数量级。

但为什么消费级产品不用?成本太高。你需要两套红外光源,一套在光轴上,一套在光轴外。而且第四普尔基涅像非常暗,需要高灵敏度摄像头和强光源。我记得有一次在实验室调试,为了拍到清晰的第四像,我把红外LED功率调到了200mW,结果眼睛被照得发疼——后来赶紧加了扩散片。

适用场景

  • 科研用眼动仪(如Eyelink系列)
  • 需要高精度注视点分析的研究
  • 临床诊断(如斜视检测)

3.4 电生理法——最古老也最稳定

电生理法,主要是EOG(眼电图)。原理很简单:眼球前后极之间存在电位差,角膜侧为正,视网膜侧为负。眼球转动时,这个电位差的方向会变化,贴在皮肤上的电极就能测出来。

这种方法的好处是:不怕遮挡,不怕光照变化。你戴着头显,眼睛被遮得严严实实,摄像头拍不到,但EOG照样工作。

但缺点也很明显:

  • 需要贴电极,用户体验差
  • 基线漂移严重,需要频繁校准
  • 只能测相对位置,不能测绝对注视点

我在一个军用头盔项目里用过EOG。当时要求必须在强振动环境下工作,摄像头方案全挂了,只有EOG扛得住。但那个校准频率,简直让人崩溃——每5分钟就得重新校准一次。后来我们加了个自适应滤波算法,才把校准间隔延长到15分钟。

小技巧:如果你非要用EOG,记得用Ag/AgCl电极,别用不锈钢的。不锈钢电极的极化电位漂移太厉害,我吃过这个亏。

方法对比

方法 精度 延迟 成本 鲁棒性 典型应用
视频眼动追踪 0.5°-1° 3-10ms 消费级VR/AR
角膜反射法 0.3°-0.5° 2-5ms 高端VR头显
双普尔基涅法 0.1°-0.3° 1-3ms 科研/临床
电生理法 1°-2° 1-5ms 极高 特殊环境/医疗

核心逻辑框架

下面这张图,是我自己总结的四种方法的定位关系。你可以看到,精度和鲁棒性往往不可兼得,选型时得做取舍。

眼动追踪方法定位图 精度(越高越好) 鲁棒性 视频眼动 追踪 角膜反射 双普尔基 涅法 电生理 图例 视频眼动追踪 角膜反射法 双普尔基涅法 电生理法

从这张图可以看得很清楚:没有一种方法是完美的。视频法便宜但精度一般,双普尔基涅法精度高但贵,电生理法鲁棒性好但精度差。选型时,你得先问自己三个问题:

  1. 我的应用场景允许摄像头拍到眼睛吗?
  2. 用户能接受贴电极吗?
  3. 预算够不够上高精度方案?

我个人建议:消费级产品首选视频眼动追踪+角膜反射法,性价比最高。科研项目可以上双普尔基涅法。至于电生理法,除非你做的产品要在极端环境下用,否则别碰——用户体验太差了。


公众号:蓝海资料掘金营,微信deep3321