作者 | Heye Huang、Jingguang Li、Zhiyuan Zhou、Paul Liang、Mingyu Wu、Kitae Jang、Jianqiang Wang
机构 | KAIST、复旦大学、MIT、上海交通大学、清华大学
论文 | A knowledge-augmented dataset of high-risk driving scenarios with LLM annotations for autonomous driving
版本 | arXiv:2607.07103v1
关键词 | 自动驾驶 / 高风险场景数据集 / LLM Annotations / 闭环验证 / 风险推理 / K-Risk01 为什么这篇数据集论文值得认真看
自动驾驶领域并不缺数据集,也不缺“更大”的数据集。真正稀缺的是另一类东西: 那些能同时服务风险识别、因果解释和决策验证的高风险场景数据资产。
这篇论文的出发点很明确。作者认为,安全驾驶智能体需要两种能力: 一种是对常见高风险事件的快速反应,另一种是对稀有、极端、长尾风险场景的深度推理。前者还能从大规模自然驾驶记录里慢慢攒出来,后者却往往被现有数据体系严重低估,因为真正高风险、接近碰撞、需要复杂权衡的场景,在原始交通数据里本来就极少。
更麻烦的是,现有自动驾驶数据集通常只满足其中一部分需求: 要么是轨迹或感知数据足够丰富,但缺少事件级语义解释;要么是有语言描述,但风险标注粗、验证闭环弱,无法直接支撑“为什么危险、该怎么做、做了是否真的更安全”这一整套训练与评测。
K-Risk 试图补上的,不是“再来一批轨迹数据”,而是把高风险事件筛选、语义风险解释、动作建议以及闭环可验证性,统一放进一个标准化数据资产里。
02 资源与开源状态
- 论文页面:https://arxiv.org/abs/2607.07103v1
- 项目仓库:https://github.com/benmagnifico/K-Risk
- 数据下载:https://doi.org/10.6084/m9.figshare.32896772
这篇工作的开源姿态相当完整。作者不仅放出了处理后的事件级记录,也公开了数据处理 pipeline、场景生成脚本、LLM prompt、统计脚本和闭环验证逻辑。原始上游数据本身仍需分别遵循各自提供方协议获取,但 K-Risk 已经把“怎样从异构轨迹源加工成统一高风险事件资产”这件事公开了。03 K-Risk 到底补了现有数据体系的什么空白
论文一开头就把问题说得很清楚。作者总结,现有数据集在面向 risk-aware driving agent 时主要缺四类东西:
- WHAT / WHO 缺失:缺少事件级风险对象与关键参与体标注,例如 ego、VRU、冲突车辆到底是谁。
- WHAT RISK 缺失:风险常被简化为单一 TTC 阈值,难以表达驾驶员对复杂互动的综合判断。
- WHEN / WHERE 缺失:缺少 peak-risk frame 和道路上下文语义,难以还原风险是如何发展到高峰的。
- WHY / DECISION 缺失:缺少自然语言因果解释、行为提醒以及可验证的动作建议。
图 1:K-Risk 的动机。原文图注翻译:自然驾驶数据以常规场景为主,而 cut-in、hard braking、VRU conflict、低 TTC 和 roundabout conflict 等安全关键长尾事件虽然罕见,却主导真实世界风险;K-Risk 通过整合 20 个轨迹源,并补充结构化场景描述、行为通知和 LLM 风险分析来填补这些空白。论文还专门拿 K-Risk 和 DriveLM、CoVLA、OmniDrive、NuRisk、CODA-LM、InterHub、Impromptu VLA 等代表性数据集做了对比。
表 1:K-Risk 与代表性轨迹、VQA 和 VLA 数据集的对比。原文图注翻译:K-Risk 在风险定义、闭环验证以及对 CPT / SFT / RLHF / RLVR 的支持上,比大多数现有数据集更完整。这张表最值得注意的,不是“K-Risk 支持的列更多”,而是它首次把 trajectory + text + multi-dimensional risk + closed-loop validation + post-training support 放进了同一个 release 里。04 这不是一个小众子集,而是一套跨地区、跨路型的高风险资产
K-Risk 的原料来自 20 个公开轨迹数据源,横跨 欧洲、中国、美国 三个区域,覆盖 高速、城市快速路、路口、环岛 等多类交通环境。来源里既有 6 个人类驾驶(HV)数据源,也有 14 个自动驾驶(AV)数据源。
图 2:K-Risk 数据集与 LLM 标注框架总览。原文图注翻译:(a) 多源汇聚 20 个 HV / AV 轨迹源;(b) 风险中心事件抽取产出 31,398 个事件和 1,036 个 extreme subset;(c) 事件被转换为 CSV、JSON 和文本三类同步记录;(d) 动作建议通过 collision-free simulator + reflection 做闭环验证。最终,K-Risk 从这 20 个源中整理出 31,398 个高风险事件,其中包含 1,036 个 extreme near-collision cases。这不是“把所有片段都留下”的数据集,而是先通过统一的风险协议做筛选,再把保留下来的事件加工成结构化资产。从来源分布看,数据并不平均。highD 一家就贡献了 8,807 个事件,FreewayB 为 5,304,inD 为 4,684,ExpresswayA 为 4,519。这意味着 K-Risk 的“多源”并不是每个源均匀铺开,而是承认高风险事件本身在不同源中的出现频率高度不平衡。
05 论文最硬核的部分:它怎么定义“高风险”
K-Risk 最重要的一个价值,在于作者没有把风险继续简化成“只看 TTC”。它的事件抽取协议是三层筛选:
1. Driver Risk Field(DRF) 先把 routine cruising 过滤掉,只保留交互复杂、潜在风险更高的候选帧。
2. Hard maneuvers 检测硬加速、急刹车和左右变道等行为信号。
3. TTC / trajectory conflict 再判断这些行为是否真的构成对 ego 的安全威胁。
图 3:风险相关动作检测与事件分级。原文图注翻译:DRF 先保留交互密集帧;随后在 0.7 秒窗口内检测 hard acceleration、hard braking 和 lane change;只有当相邻车辆的动作可测量地压低 ego TTC 或形成轨迹冲突时,才把事件保留为 safety-critical,并进一步分成 moderate、high、extreme。论文给出的分级规则大致可以概括为:
- Moderate:DRF 进入每源 top 10%,或
|a| > 3 m/s²,或 TTC < 5s - High:DRF 进入每源 top 1%,或
|a| > 5 m/s²,或 TTC < 3s - Extreme:
TTC < 2s 或 2 秒内预测到 trajectory conflict
这种设计的重点在于,它把物理风险、行为强度和交互冲突合在了一起,而不是单纯盯住一个距离或时间阈值。
K-Risk 的风险定义不是“更复杂一点的 TTC”,而是DRF + abrupt behavior + short-horizon conflict prediction 的组合。这使它更接近人类驾驶员真正感受到的风险结构。06 它真正可复用的,不只是事件标签,而是事件三元组
高风险事件筛出来只是第一步。更关键的是,K-Risk 最终把每个事件写成了一个同步三元组:
- CSV trajectory:保存原始轨迹、速度、加速度、车道、TTC 等物理量
- JSON metadata:保存 agent role、lane relationship、risk level、behavior labels 等结构化符号信息
- TXT / JSONL narrative:保存场景描述、行为提醒、风险分析和动作建议等语言信息
图 4:K-Risk 的数据处理流程。原文图注翻译:从 lane context augmentation 开始,经过风险事件抽取与分级,再做 semantic enrichment,最终输出 CSV、JSON 与文本三类标准化文件。
图 5:单个 K-Risk 事件的分层结构。原文图注翻译:每个事件被拆成 lead-in、peak-risk 和 resolution 三段;CSV 保存逐帧轨迹,JSON 保存结构化元数据,文本层提供风险警示、因果分析和动作输出。这一步非常关键,因为它让 K-Risk 不再只是“给定轨迹,预测未来”的传统数据格式,而是变成了同一事件在物理层、符号层、语言层上的对齐表达。这也就是它能同时支持预测、VQA、决策、偏好学习和强化学习的基础。07 LLM 标注不是点缀,而是被放进闭环验证里
如果 K-Risk 只做到“给每个高风险事件写一句描述”,那它充其量只是轨迹数据上面再盖一层语言注释。论文真正往前多走了一步的地方,是把 LLM 生成的风险分析和动作建议纳入了闭环评估。
图 7:闭环 LLM 标注框架。原文图注翻译:结构化输入包含 ego、最多八个周边体、车道拓扑与合法动作;LLM 基于场景描述、异常行为通知和因果风险线索给出动作建议;若动作在 collision-free simulator 中失败,则触发 reflection,对 prompt 和输出继续修正。在这个框架里,LLM 并不是自由发挥,而是被约束在一个 五动作 schema 里:Keep / Turn Left / Turn Right / Accelerate / Decelerate。它需要根据场景描述、behavior notifications 和 causal risk cues 给出推荐动作,再送进 collision-free simulator 验证。
如果验证失败,系统会把失败原因回馈给 LLM,触发 reflection,再进入下一轮。这意味着 K-Risk 在代表性子集上,已经不是单纯“静态标注数据”,而是带有 trial-level policy refinement 痕迹的可验证 supervision。
这篇工作真正有意思的地方在这里:作者不是只让 LLM 解释风险,而是要求 LLM 的建议必须接受闭环世界的检验。08 关键结果:它不仅覆盖更广,而且真的更“险”
K-Risk 还给出了很完整的组成分析。整个人类驾驶部分里,事件风险分布是:
- Moderate 76.8%
- High 19.7%
- Extreme 3.5%
此外,在 53,295 个唯一交通参与体 中,18.5% 为非小汽车参与者。其中,VRU(行人、自行车、摩托等)约 7.9%,重型或特殊车辆约 10.6%。
图 6:K-Risk 的构成与安全关键属性。原文图注翻译:包括按源与风险等级统计的事件分布、ego speed 与 TTC 联合密度、行为标注帧数、参与体组成,以及不同场景中的速度分布。从联合密度图上看,K-Risk 确实明显集中在 TTC < 5s 的区域;从 agent composition 看,它又没有把风险场景简单等同于“车和车之间的追尾风险”,而是把 VRU、truck、bus、motorcycle 等更复杂的参与体也考虑进来。
原创结果看板:把 K-Risk 的源数据规模、风险等级分布、参与体结构和闭环验证结果集中展示。09 闭环验证说明:这批 extreme case 真能拿来 stress test
论文在 extreme subset 上进一步选了 262 个极端风险场景 进行闭环验证,其中包含 14 个记录到的人类驾驶碰撞案例。在这 262 个场景里,LLM-based decision-making agent 的表现如下:
表 2:K-Risk extreme subset 上的闭环验证结果。原文图注翻译:在 262 个 extreme-risk 场景上,LLM agent 从 Trial 1 到 Trial 3 的碰撞率从 4.58% 下降到 1.91%,相对下降 58.3%。具体来说,碰撞率从 Trial 1 的 4.58%,降到 Trial 2 的 2.67%,再到 Trial 3 的 1.91%,相对 Trial 1 下降 58.3%。对比之下,人类驾驶基线在这 262 个场景里对应的是 5.34%。这组结果并不意味着“LLM 驾驶已经成熟”,但它说明了两件更重要的事:
1. 这个 extreme subset 不是水数据。 即便经过反思迭代,它依然足够难。
2. trial-level validation records 本身就是新资产。 初始决策、失败原因、reflection prompt、 refined decision 这些记录,天然可以继续拿去做 preference learning 和 reward-based refinement。
10 为什么这篇论文对后续训练路线很有价值
K-Risk 最后还有一张很容易被忽略、但其实很重要的任务支持表。
表 3:K-Risk 支持的下游任务,分为 perception & reasoning、prediction、decision & action、evaluation & audit、data augmentation 五大类。从这张表可以看出,K-Risk 能支持的并不只是一个角落任务,而是一整条后训练路线:
- Perception & reasoning:风险等级分类、risk-cue VQA、因果 / counterfactual reasoning
- Prediction:intent prediction、trajectory forecasting、risk / TTC forecasting
- Decision & action:5 类动作预测、closed-loop driving、plan justification、preference learning
- Evaluation & audit:responsibility analysis、rule-compliance audit
- Data augmentation:counterfactual variants、RL curriculum
更重要的是,作者明确把它放进了 CPT -> SFT -> RLHF / DPO / SimPO -> RLVR 这条链路里来看。也就是说,K-Risk 不是只想做一个 benchmark,而是想成为 risk-aware driving agent 的整套后训练材料。11 这篇工作也有边界
- 它是 secondary dataset,不重发原始全量数据。
- 风险定义依赖校准阈值,不是绝对真理。 DRF percentiles、加速度阈值和 TTC 阈值都带有工程设定。
- AV 部分极端风险事件更少。 这会让 HV / AV 两部分数据在危险程度上天然不均衡。
- LLM 分析主要覆盖 representative subset,而不是全量 31,398 个事件都做闭环语义增强。
这些边界并不削弱 K-Risk 的价值,但提醒我们:它更像是一个高质量、风险中心、可复用的事件级中间层,而不是“替代所有原始驾驶数据”的万能底座。
12 结论
K-Risk 最值得记住的,不是它把多少公开数据拼到了一起,而是它重新定义了“高风险驾驶数据集”应该长什么样。
- 高风险数据不该只给出轨迹,还要给出事件级语义解释。
- 风险定义不该只压缩成一个 TTC 阈值,而应同时结合行为强度、交互冲突与上下文。
- 语言监督不该停留在描述层,而要能够进入闭环验证,留下可继续训练的 chosen / rejected / reflected records。
如果说过去很多自动驾驶数据集解决的是“让模型看见更多场景”,那 K-Risk 更进一步解决的是:让模型在危险场景里,既知道发生了什么,也知道为什么危险、该怎么做,以及这套建议是否真的更安全。