GazeShift-Unsupervised-Gaze-Estimation-VR-1.84deg-5ms

GazeShift 无监督视线估计:VR 场景 1.84° 误差 + 5ms 实时推理

发布时间: 2026-04-09
标签: #GazeEstimation #Unsupervised #Transformer #VR #DMS
来源: arXiv 2603.07832、Samsung Research


核心信号

2026 年 3 月,Samsung Research 发布 GazeShift 无监督视线估计框架:

  • VRGaze 数据集: 210 万张 off-axis 近眼红外图像(68 人)
  • 无监督训练: 无需视线标注,通过视线重定向自监督学习
  • 精度: 1.84° 平均误差(per-person 校准)
  • 实时性: 5ms 推理(VR 头显 GPU)
  • 轻量化: 342K 参数,55 MFLOPs

这标志着视线估计从”大规模标注”转向”无监督自学习”。


一、问题背景

1. 标注困境

视线估计的数据挑战:

问题 说明
标注困难 注视点无法从图像直接推断
标注误差 注视不确定性、非自愿扫视
个体差异 kappa 角(光轴-视轴夹角)因人而异
环境差异 光照、遮挡、眼镜等

传统方案:

方法 成本 准确性
专家标注
屏幕注视点
硬件追踪 极高

2. VR 场景特殊性

Off-axis 相机几何:

特性 说明
相机位置 倾斜安装(避免遮挡)
透视畸变 强透视效应
光照变化 背景亮度变化导致瞳孔扩张
数据稀缺 缺少大规模 off-axis 数据集

现有数据集对比:

数据集 年份 参与者 图像数 Off-axis
NVGaze 2018 49 2.5M 260K/2.5M
OpenEDS2020 2020 80 550K 0
TEyeD 2021 132 20M 部分
VRGaze 2026 68 2.1M 全部

二、GazeShift 方法

1. 核心思想

无监督视线表征学习:

1
2
3
假设:对于同一人的同一只眼,帧间外观变化主要由视线变化引起
方法:训练模型将源帧重定向到目标帧,条件是目标帧的嵌入
结果:嵌入必须编码视线信息

架构流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
源帧 x_s ────┐


┌──────────────────────┐
│ 外观编码器 f_app │
│ - 浅层网络 │
│ - 保留空间结构 │
│ - 输出: A_s (H×W×C) │
└──────────┬───────────┘


┌──────────────────────┐
│ 自注意力模块 │
│ - 空间交互 │
│ - 输出: A_s' │
└──────────┬───────────┘

目标帧 x_t ─┼────────────────────┐
│ │
▼ ▼
┌──────────────────────┐ ┌──────────────────────┐
│ 视线编码器 f_gaze │ │ 视线查询 q_g │
│ - 深层网络 │ │ - 线性投影 │
│ - 抽象特征 │ │ - 全局查询 │
│ - 输出: g_t (C_g) │ └──────────┬───────────┘
└──────────┬───────────┘ │
│ │
└───────────┬─────────────┘


┌──────────────────────────────────┐
│ 交叉注意力模块 │
│ - 视线查询调制外观特征 │
│ - 全局上下文 c │
│ - 残差连接: F = A_s' + C │
└──────────────┬───────────────────┘


┌──────────────────────────────────┐
│ 解码器 │
│ - 重建目标帧 │
│ - 视线聚焦损失 │
└──────────────────────────────────┘

2. 关键创新

(1) 分离编码器

编码器 设计 原因
视线编码器 深层、抽象 视线是非空间属性(2-3 个角度)
外观编码器 浅层、空间 外观与图像结构紧密相关

优势:

  • 有效分离视线和外观
  • 推理时只需视线编码器
  • 轻量化设计

(2) 视线调制机制

1
2
3
4
5
交叉注意力:
c = CrossAttn(q_g, A_s', A_s')

全局调制:
F = A_s' + Broadcast(c)

效果:

  • 视线向量作为全局查询
  • 调制外观特征朝向目标视线
  • 保持空间结构

(3) 视线聚焦损失

问题: 标准重建损失对所有像素等同对待,导致视线嵌入编码无关外观细节。

解决方案: 利用自注意力图作为软掩码

1
L_focus = (1 / Σw_i^γ) × Σw_i^γ × (x_t - x̂_t

参数影响:

γ 效果 误差
< 1 分散,模糊视线/外观信号 2.03°
= 1 平衡,标准注意力加权 1.84°
> 1 聚焦过窄,忽略上下文 2.19-2.41°

三、VRGaze 数据集

1. 采集设置

硬件配置:

参数
相机类型 近眼红外相机
安装方式 Off-axis(倾斜安装)
分辨率 400 × 400 像素
帧率 30 fps
头显 定制 VR 头显

参与者分布:

维度 分布
性别 14 女 / 54 男
种族 29 亚洲 / 39 白人
年龄 22 (18-30) / 30 (31-40) / 13 (41-50) / 3 (51+)
训练/验证 61 / 7 人

2. 数据采集协议

采集流程:

1
2
3
4
5
每位参与者:
├─ 多个录制会话(平均 7 个)
├─ 每会话开始:确定性目标轨迹(校准)
├─ 后续会话:随机目标运动(自然观看)
└─ 背景亮度变化:引发瞳孔扩张范围

标注:

标注类型 说明
视线角度 2D 注视点(PoR)
标注计算 基于头显几何
验证数据 仅使用注视间隔

3. Off-axis 的重要性

On-axis → Off-axis 泛化测试:

训练数据 测试数据 误差
OpenEDS (on-axis) VRGaze (off-axis) 5.2°
VRGaze (off-axis) VRGaze 1.84°

结论:On-axis 数据无法有效迁移到 Off-axis 场景,需要专门数据集。


四、实验结果

1. VRGaze 性能

校准协议:

协议 说明
Per-person 每人 K ∈ {17,30,40,50,60} 个注视点校准
Person-agnostic 所有受试者共享 K ∈ {100,200} 个样本校准

结果对比:

监督方式 方法 校准类型 误差
有监督 外观基础 Per-person 1.54°
有监督 特征基础 Per-person 3.2°
无监督 VAE Per-person 5.30°
无监督 Cross-Encoder Per-person 2.15°
无监督 GazeShift Per-person 1.84°
无监督 Cross-Encoder Person-agnostic (K=100) 2.83°
无监督 GazeShift Person-agnostic (K=100) 2.73°
无监督 Cross-Encoder Person-agnostic (K=200) 2.26°
无监督 GazeShift Person-agnostic (K=200) 2.13°

关键发现:

  1. GazeShift 接近有监督性能(1.84° vs 1.54°)
  2. 优于所有无监督基线
  3. Person-agnostic 场景仍有竞争力

2. 跨数据集泛化

OpenEDS2020(on-axis):

方法 校准类型 误差
Cross-Encoder Per-person 3.69°
GazeShift Per-person 3.43°
Cross-Encoder Person-agnostic 5.20°
GazeShift Person-agnostic 4.20°

远程相机(MPIIGaze):

方法 参数量 FLOPs 误差
有监督 ResNet-18 11M 75M 8.35°
Cross-Encoder 11M 75M 8.32°
GazeShift (MobileNetV2) 1M 2M 8.00°
GazeShift (ResNet-18) 11M 75M 7.56°

结论:GazeShift 在远程相机场景仍有优势,且参数/计算量大幅减少。

3. 消融实验

# 分离编码器 注意力重定向 视线聚焦损失 误差
1 × × × 2.15°
2 × × 2.10°
3 × 2.07°
4 1.84°

各模块贡献:

模块 误差降低
分离编码器 -0.05°
注意力重定向 -0.03°
视线聚焦损失 -0.23°

五、对 DMS 开发的启示

1. 技术路线

无监督训练流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
第一步:大规模无标注数据采集
├─ 车载 DMS 摄像头
├─ 多场景、多光照
└─ 无需视线标注

第二步:GazeShift 预训练
├─ 视线重定向任务
├─ 自监督学习
└─ 学习视线表征

第三步:轻量校准
├─ Per-person: 17-60 个注视点
├─ Person-agnostic: 100-200 个共享样本
└─ 线性回归 / 浅层 MLP

第四步:部署
├─ 仅视线编码器推理
├─ 5ms 实时性
└─ 边缘设备友好

2. 数据需求

训练数据:

类型 数量 来源
无标注数据 100 万+ 帧 车队采集
校准数据 17-60 点/人 用户交互
个体基线 可选 长期追踪

优势:

  • 避免昂贵标注成本
  • 可持续收集数据
  • 隐私友好(无视线标注)

3. 实时部署

硬件需求:

指标
参数量 342K
FLOPs 55M
推理时间 5ms(双目)
平台 移动 GPU(Exynos 2200)

车载适配:

平台 可行性
高通 8295 ✅ 轻松支持
TI TDA4 ✅ 支持
地平线 J5 ✅ 支持

4. 与现有方案对比

方案 标注成本 精度 实时性
有监督 CNN
有监督 Transformer 更高 ⚠️
无监督 GazeShift

六、关键图表

1. 注意力可视化

1
2
3
4
5
6
7
8
9
10
源帧外观图像         自注意力图
┌─────────────┐ ┌─────────────┐
│ │ │ ○○○○○ │
│ ○→ │ │ ○●●●●○ │
│ ○●○ │ → │ ○●●●●○ │
│ ○ │ │ ○●●○○ │
│ │ │ ○○○ │
└─────────────┘ └─────────────┘

注意力聚焦于虹膜区域(视线相关)

2. 视线-外观分离验证

1
2
3
4
5
6
7
8
9
10
11
实验1:外观扰动(固定视线)
├─ 输入:100 张光照/对比度变化图像
├─ 视线嵌入变化:0.08(稳定)
└─ 外观嵌入变化:0.12(中等)

实验2:视线变化(固定外观)
├─ 输入:80 张不同视线图像
├─ 视线嵌入变化:0.17(大)
└─ 外观嵌入变化:0.04(小)

结论:视线和外观有效分离

七、结论

GazeShift 的核心贡献:

  1. 无监督学习范式:消除标注依赖
  2. VRGaze 数据集:首个大规模 off-axis VR 数据集
  3. 分离编码器设计:有效视线-外观分离
  4. 视线聚焦损失:自引导注意力机制
  5. 实时边缘部署:5ms 推理,1M 参数

对 DMS 开发的建议:

  1. 采用无监督预训练:降低标注成本
  2. 建立无标注数据采集机制:持续积累
  3. 设计轻量校准流程:用户友好
  4. 边缘部署优化:关注实时性

参考资料

  1. arXiv: GazeShift - Unsupervised Gaze Estimation and Dataset for VR
  2. GitHub: https://github.com/gazeshift3/gazeshift
  3. OpenEDS2020 Dataset
  4. MPIIGaze Dataset
  5. NVGaze Dataset

本文已同步发布至 dapalm.com


GazeShift-Unsupervised-Gaze-Estimation-VR-1.84deg-5ms
https://dapalm.com/2026/04/09/2026-04-09-GazeShift-Unsupervised-Gaze-Estimation-VR-1.84deg-5ms/
作者
Mars
发布于
2026年4月9日
许可协议