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 , 'fine_grained' : 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' , '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 = { '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 = { 'risk_level' : self ._assess_risk(perception), 'driver_awareness' : self ._check_awareness(perception, driver_state), 'scenario_type' : self ._classify_scenario(perception), } 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
代码: 待发布