NARRATE:首个真实世界驾驶解释数据集——ECCV 2026 DriveX Workshop 论文解读

论文标题: NARRATE: A Multimodal Real-World Australian Driving Dataset for Human-Centred Explanations in Automated Driving
作者: Ashkan Yousefi Zadeh 等
发布时间: 2026年8月14日
arXiv: 2608.14767
会议: ECCV 2026 DriveX Workshop (Foundation Models for Autonomous Driving)


核心创新

NARRATE 是首个从驾驶员本人(而非观察者)视角收集的真实世界驾驶解释数据集:

  • 2,050 个标注事件:来自 35 名经验丰富的驾驶员和驾驶教练
  • 多模态数据:同步的视觉、定位、运动、LiDAR 数据流
  • 自由文本解释:车内实时和驾驶后回顾的自由文本描述
  • 三层情景感知标注:感知(Perception)、理解(Comprehension)、预测(Projection)

1. 为什么需要 NARRATE?

1.1 现有驾驶数据集的局限

数据集 类型 解释来源 局限
BDD-X 观察者事后写 第三方 非驾驶员视角
HDD 事后回忆 驾驶员 非实时
Cityscapes+ 传感器生成 AI 模型 非人类语言
nuScenes 无解释 - 无语言标注
NARRATE 实时+事后 驾驶员本人 首次真实驾驶员解释

1.2 对 IMS 的价值

NARRATE 对 IMS 系统有以下直接价值:

IMS 模块 NARRATE 支持
驾驶员行为分类 32 个细粒度场景类别
情景感知 三层 SA 标注(感知→理解→预测)
风险预测 驾驶员解释中包含风险判断
人机交互 自然语言解释生成训练数据

2. 数据集详解

2.1 数据结构

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
class NARRATEDataset:
"""NARRATE 数据集结构"""

def __init__(self):
self.stats = {
'total_events': 2050,
'drivers': 35,
'driver_types': 'experienced drivers + driving instructors',
'location': 'Australia (public roads)',
'modalities': ['visual', 'localization', 'motion', 'LiDAR'],
'annotations': ['action_labels', 'scenario_context', 'SA_spans'],
'explanations': ['in-vehicle (real-time)', 'post-drive (recall)']
}

# 场景类别
self.scenario_categories = {
'high_level': 6, # 6 个高层级类别
'fine_grained': 32 # 32 个细粒度类别
}

# 情景感知三层结构
self.sa_levels = {
'perception': '感知层:识别环境中的人、车、路标',
'comprehension': '理解层:理解当前场景的含义和风险',
'projection': '预测层:预测接下来可能发生什么'
}

def get_benchmark_tasks(self):
"""四个基准任务"""
return {
'sa_task': {
'name': 'Situation Awareness Classification',
'input': '多模态传感器数据',
'output': 'Perception/Comprehension/Projection 标签',
'evaluation': 'F1 score'
},
'scenario_task': {
'name': 'Scenario-Context Recognition',
'input': '多模态传感器数据',
'output': '32 个细粒度场景类别',
'evaluation': 'Accuracy + Macro F1'
},
'action_task': {
'name': 'Driver Action Classification',
'input': '多模态传感器数据',
'output': '动作标签',
'evaluation': 'Accuracy'
},
'explanation_task': {
'name': 'Explanation Generation',
'input': '多模态传感器数据',
'output': '自然语言解释',
'evaluation': 'BLEU + ROUGE + BERTScore'
}
}

2.2 数据流示例

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
def generate_sample_event():
"""NARRATE 数据样本示例"""

sample = {
'event_id': 'NARRATE_0142',
'driver_id': 'D023',
'driver_type': 'driving_instructor',

# 传感器数据(同步)
'visual': 'front_camera_1280x720_30fps',
'localization': 'GPS_IMU_100Hz',
'motion': 'vehicle_CAN_bus_100Hz',
'lidar': '32_channel_360deg_20Hz',

# 标注
'action_label': 'lane_change_left',
'scenario_high_level': 'highway_merging',
'scenario_fine_grained': 'highway_on-ramp_merge_left_lane',

# 情景感知标注(span-level)
'sa_perception': 'I see a truck in the right lane approaching at higher speed',
'sa_comprehension': 'The truck is closing the gap, making it unsafe to merge right now',
'sa_projection': 'If I wait for the truck to pass, I can merge safely behind it',

# 驾驶员解释(实时)
'in_vehicle_explanation': 'I'm holding position because there's a truck coming up fast on the right. I'll merge after it passes.',

# 驾驶员解释(事后)
'post_drive_explanation': 'I noticed the truck was going much faster than me, so I decided to wait. Merging before it passed would have been risky because the gap was closing quickly.'
}

return sample

3. 对 IMS 的开发启示

3.1 驾驶员意图预测

NARRATE 的三层 SA 标注可直接用于 IMS 的驾驶员意图预测模块:

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
class DriverIntentPredictor:
"""基于 NARRATE SA 框架的驾驶员意图预测"""

def __init__(self):
self.sa_levels = ['perception', 'comprehension', 'projection']

def predict_intent(self, sensor_data, driver_state):
"""
三层 SA 框架用于 IMS 意图预测

Perception: 传感器 + DMS → 环境和驾驶员状态
Comprehension: 融合理解 → 当前场景风险等级
Projection: 预测 → 驾驶员接下来 3-5 秒可能行为
"""
# Perception: 检测环境要素
perception = {
'vehicles': self._detect_vehicles(sensor_data),
'road_features': self._detect_road(sensor_data),
'driver_gaze': driver_state.get('gaze_direction'),
'driver_fatigue': driver_state.get('perclos'),
}

# Comprehension: 理解场景
comprehension = {
'risk_level': self._assess_risk(perception),
'driver_awareness': self._check_awareness(perception, driver_state),
'scenario_type': self._classify_scenario(perception),
}

# Projection: 预测行为
projection = {
'likely_actions': self._predict_actions(comprehension),
'time_horizon': '3-5 seconds',
'confidence': self._estimate_confidence(comprehension),
}

return projection

3.2 自然语言解释生成

NARRATE 训练的 explanation generation 模型可用于 IMS 的 HMI:

场景 传感器检测 IMS 解释(基于 NARRATE 训练)
疲劳 PERCLOS > 30% “您似乎有些疲倦,建议在最近的休息区停车休息。”
分心 视线偏离道路 >3s “检测到您注意力偏离前方道路,请保持专注。”
激烈驾驶 横向加速度 >0.4g “检测到急转弯,请减速并保持平稳驾驶。”
跟车过近 车距 < 1.5s “与前车距离过近,建议保持 2 秒以上安全距离。”

4. 论文信息

  • arXiv: 2608.14767
  • 会议: ECCV 2026 DriveX Workshop
  • 数据量: 2,050 事件,35 名驾驶员
  • 传感器: 视觉 + GPS/IMU + CAN + LiDAR
  • 代码: 待发布