描述眼球追踪验证的精度指标

解读

眼球追踪 IP 在国内 SoC 里多出现在手机前置 ISP 通路、XR 头显 SLAM 协处理器或车载 DMS 芯片中。验证工程师常被问到“精度指标”并不是让背诵眼科论文,而是考察三件事:

  1. 是否能把算法指标翻译成可量化的验证目标;
  2. 是否知道如何用 UVM 环境把“人眼”这种模拟输入变成可复现、可 corners 的激励;
  3. 是否理解精度误差在 RTL、FPGA、Silicon 三阶段如何收敛并 sign-off。
    面试官期望听到的是“指标定义 → 覆盖率模型 → 误差预算 → 验证方法 → 结果判定”的完整闭环,而不是单纯罗列 0.5°、1 mm 这类数字。

知识点

  1. 眼球追踪原理:角膜反射(PCCR)+ 瞳孔中心偏移 → 三维视线向量;关键参数: gaze vector(θ, φ)、屏幕落点(x, y)、注视时间 fixation、采样率 fps。
  2. 精度指标族:
    • 角度精度 Angular Accuracy:视向量与真值夹角,通常 ≤0.5°(手机)或 ≤1.0°(头显)。
    • 空间精度 Spatial Accuracy:屏幕平面误差,单位 mm 或像素 px,@ 工作距离 25–65 cm。
    • 漂移 Drift:连续 30 s 内同一注视点最大偏移,≤0.3°。
    • 延迟 Latency:眼动发生到数据输出,≤10 ms(VR 需 ≤5 ms)。
    • 丢失率 Loss Ratio:有效帧/总帧,≥99%。
    • 鲁棒性 Robustness:戴眼镜、美瞳、睫毛遮挡、红外过曝、暗光 5 lux 下仍满足上述指标。
  3. 验证误差预算:算法 60%、ISP 降噪 15%、RTL 定点化 10%、DDR 带宽 jitter 5%、温度电压 10%。验证必须证明 RTL 层引入误差 ≤0.05°。
  4. 黄金数据获取:国内实验室常用七鑫易维 aSee Glasses 或 青研 EyeSo 采集 200+ 真人 2 k@120 fps 数据,经 MATLAB 标定真值,再转成 SystemVerilog 可读 stimulus list。
  5. UVM 环境要点:
    • 虚拟接口同步 8-bit IR 图像流 vsync;
    • 参考模型使用 Python/CPP golden(浮点)与 RTL(定点)在线比差;
    • 采用 functional coverage 定义“注视九宮格 + 四角落 + 极限角度 ±35°”;
    • 断言检查 latency ≤ N 时钟周期;
    • 自动回归 10 k 次 Monte-Carlo,随机光照 0–50 k lux、随机噪声 σ=5–20。
  6. Sign-off 标准:连续三批 regression 角度误差 99-percentile ≤0.45°、无 latency violation、coverage 100%(含 cross of lighting×glasses×gaze),并附硬件加速 1 M 帧长时间漂移 ≤0.3°报告。

答案

“在 RTL 级验证眼球追踪 IP 时,我把精度指标拆成四类可量化目标:

  1. Angular Accuracy:以浮点黄金模型为基准,RTL 输出的 gaze vector 与黄金夹角 99-percentile ≤0.45°,均值 bias ≤0.1°;
  2. Spatial Accuracy:在 30 cm 工作距离下,屏幕落点误差 95-percentile ≤5 mm,对应约 0.4°;
  3. Drift:连续 30 s 注视中心十字,最大偏移 ≤0.3°;
  4. Latency:从 vsync 输入到 AXI 输出完成 ≤8 ms(120 MHz 下 960 时钟周期)。
    验证方法上,我先用实验室 200 人眼图库生成 50 k 帧‘黄金’数据,再通过 UVM 序列把 8-bit IR 图像、传感器寄存器配置、温度电压一起随机化;参考模型跑浮点算法,RTL 跑定点,实时比差并采样到 coverage 数据库。最后用 1 M 帧硬件加速长时间跑漂移,结果角度误差 99-percentile 0.42°、latency 7.1 ms、loss ratio 0.18%,满足 sign-off 要求,并输出《验证精度分析报告》给算法和后端做闭环。”

拓展思考

  1. 如果芯片回片后实测角度误差 0.8° 超标,如何快速定位是 ISP 降噪、DDR 延迟还是 RTL 定点化问题?
    答:在 FPGA 原型预留 probe 端口,把中间层瞳孔中心坐标 (u, v) 实时导出,与硅后同一帧对比,可二分锁定误差骤增在哪一级;同时利用 SCAN 链回读寄存器,确认动态时钟切换是否导致计算流水线气泡。
  2. 形式验证能否用于 gaze vector 的精度证明?
    答:纯浮点向量形式化难度极高,但可把“输出角度绝对值 ≤35°”写成 SVA 断言,用 formal 工具穷举所有输入像素 0–255 的组合,证明 RTL 不会死锁或溢出,属于“鲁棒性”层面的形式验证,与统计精度验证互补。
  3. 车规 DMS 要求 –40 °C~105 °C 全温区精度不变,验证环境如何建模?
    答:在 UVM 参考模型里把角膜折射率、LED 波长随温度系数做成 lookup table,仿真时把温度作为随机变量加入黄金模型;同时用温箱 + FPGA 原型跑 24 h 循环,回归报告需额外提交“温度-误差”六西格玛拟合曲线,证明 3σ 余量满足车规 AEC-Q100 Grade2。