DriverGaze360:CVPR 2026全景驾驶员注意力数据集——突破前方视野限制的360°注视建模

论文信息

项目 内容
标题 DriverGaze360: OmniDirectional Driver Attention with Object-Level Guidance
作者 Shreedhar Govil et al. (DFKI, Germany)
会议 CVPR 2026(已接收)
arXiv arXiv:2512.14266 (2025年12月→2026年3月v3)
数据集 https://dfki-av.github.io/drivergaze360
规模 ~1,000,000帧注视标注,19名驾驶员,360°视野

核心突破

DriverGaze360是首个360°全景视野的驾驶员注意力数据集,解决了现有数据集仅覆盖前方视野的局限:

维度 现有数据集 DriverGaze360
视野范围 前方(~60-90°) 360°全景
帧数 10-40万 ~100万
驾驶员数 8-15 19
场景覆盖 直道/高速 变道/转弯/交叉口/行人
外围对象 ❌ 缺失 ✅ 行人/骑车人/侧方车辆
辅助任务 仅注意力图 注意力图+语义分割

问题定义

现有前方视野的局限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 现有DMS注意力数据集的视野盲区
frontal_fov_blindspots = {
"变道场景": "侧方车辆在60°视野外,无法建模注视转移",
"转弯场景": "交叉口行人/骑车人在外围视野外",
"停车场": "多方向交通参与者,需要360°感知",
"城市复杂路口": "左转/右转时注视重点在侧方",
"应急场景": "后方紧急车辆需要后视镜注视"
}

# DriverGaze360解决方案
gaze360_solution = {
"摄像头": "全景360°摄像头(前后左右覆盖)",
"注视标注": "全场景空间注意力图",
"对象级引导": "辅助语义分割头联合学习",
"驾驶场景": "变道、转弯、交叉口、停车场等全场景"
}

DriverGaze360-Net架构

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import torch
import torch.nn as nn

class DriverGaze360Net(nn.Module):
"""
DriverGaze360-Net: 全景驾驶员注意力预测网络

CVPR 2026
核心创新:
1. 全景图像输入(360°视野)
2. 注意力图+语义分割联合学习
3. 对象级引导提升空间感知
"""

def __init__(self, num_classes_seg=20):
super().__init__()

# Swin Transformer编码器(全景图像)
self.encoder = SwinTransformerEncoder(
img_size=(512, 1024), # 全景分辨率
patch_size=4,
embed_dim=128,
depths=[2, 2, 18, 2],
num_heads=[4, 8, 16, 32]
)

# 注意力图解码器
self.attention_decoder = AttentionDecoder(
in_channels=128,
mid_channels=64,
out_channels=1 # 注意力图
)

# 辅助语义分割头(对象级引导)
self.segmentation_head = SegmentationHead(
in_channels=128,
num_classes=num_classes_seg
)

def forward(self, panoramic_image):
"""
Args:
panoramic_image: 全景图像 (B, 3, 512, 1024)

Returns:
attention_map: 驾驶员注意力图 (B, 1, H, W)
seg_map: 语义分割图 (B, C, H, W) - 辅助任务
"""
# 编码
features = self.encoder(panoramic_image)

# 注意力图解码
attention_map = self.attention_decoder(features)

# 语义分割(辅助任务)
seg_map = self.segmentation_head(features)

return attention_map, seg_map


class AttentionDecoder(nn.Module):
"""多尺度注意力图解码器"""
def __init__(self, in_channels, mid_channels, out_channels):
super().__init__()
self.layers = nn.Sequential(
nn.Conv2d(in_channels, mid_channels, 3, 1, 1),
nn.BatchNorm2d(mid_channels),
nn.ReLU(),
nn.Conv2d(mid_channels, mid_channels, 3, 1, 1),
nn.BatchNorm2d(mid_channels),
nn.ReLU(),
nn.Conv2d(mid_channels, out_channels, 1),
nn.Sigmoid() # 归一化到[0,1]
)

def forward(self, x):
return self.layers(x)


class SegmentationHead(nn.Module):
"""语义分割辅助头"""
def __init__(self, in_channels, num_classes):
super().__init__()
self.head = nn.Sequential(
nn.Conv2d(in_channels, 64, 3, 1, 1),
nn.ReLU(),
nn.Conv2d(64, num_classes, 1)
)

def forward(self, x):
return self.head(x)

数据集详情

采集设置

参数 规格
车辆 多车型(含轿车/SUV)
摄像头 360°全景摄像头系统
驾驶员 19名(多样化年龄/性别/经验)
总帧数 ~1,000,000帧
标注 逐帧注视点→高斯注意力图
场景 城市/高速/交叉口/停车场/住宅区
天气 晴/阴/雨/雪
时间 白天/黄昏/夜晚

关键场景覆盖

场景 帧数 注视重点 现有数据集覆盖
直道行驶 ~300K 前方道路 ✅
车道变更 ~150K 侧镜/盲区 ❌
左/右转弯 ~120K 交叉口/行人 ❌
停车场 ~80K 全方位 ❌
行人交互 ~100K 外围行人 ❌
紧急制动 ~50K 前方/后视镜 ❌

实验结果

方法 CC↑ KLD↓ NSS↑ AUC-Judd↑ 说明
DriverGaze360-Net 0.78 0.21 3.45 0.89 最优
baseline (前方FOV) 0.62 0.38 2.51 0.78 现有方法
+语义分割辅助 0.75 0.24 3.21 0.86 +对象引导
+全景输入 0.74 0.26 3.12 0.84 仅全景无辅助

消融实验

配置 CC NSS 说明
前方FOV 0.62 2.51 基线
全景无辅助 0.74 3.12 +12%
全景+分割辅助 0.78 3.45 +16%

IMS开发启示

1. 突破前方视野限制

2. 对象级注意力引导

辅助语义分割头让模型理解驾驶员在看什么对象(行人/车辆/信号灯),而不只是注意力图的位置。这对Euro NCAP分心检测场景直接有价值。

3. 部署路线

阶段 方案 说明
短期 前方DMS+侧镜摄像头 覆盖主要变道场景
中期 全景环视+DMS融合 360°注意力建模
长期 DriverGaze360-Net部署 完整全景注意力

总结

DriverGaze360是CVPR 2026级别的标杆工作,首次将驾驶员注意力建模从前方视野扩展到360°全景。~100万帧标注数据和对象级语义引导使其成为迄今为止最全面的驾驶员注意力数据集。对IMS的启示:分心检测不应仅限于前方道路——变道、转弯、交叉口等关键场景中的注视转移模式同样重要。