跳转至

title: >- [论文解读] CCFM: Collision-Constrained Flow Matching for Safety-Critical Scenario Generation description: >- ECCV 2026 自动驾驶场景生成方法 CCFM:用碰撞选择器、分类型硬约束与 Gauss-Newton 流形投影精确控制碰撞,在 nuScenes 和 nuPlan 的 80 帧闭环仿真中分别达到 46.4% 和 83.1% 碰撞率。 tags: - ECCV2026 - 自动驾驶 - 安全关键场景生成 - 流匹配 - 硬约束采样 date: 2026-09-16


CCFM: Collision-Constrained Flow Matching for Safety-Critical Scenario Generation

会议: ECCV 2026
论文: https://eccv.ecva.net/virtual/2026/poster/5969
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/14857.pdf
代码: https://github.com/KELISBU/CCFM
领域: 自动驾驶
关键词: 安全关键场景生成、流匹配、碰撞硬约束、流形投影、闭环仿真

一句话总结

CCFM 将安全关键驾驶场景生成改写为带碰撞硬约束的流匹配采样:先动态选择可行的对抗车辆与碰撞类型,再以接触点、相对航向和严重度约束逐步投影动作序列,在 80 帧闭环仿真中把 nuScenes/nuPlan 碰撞率提高到 46.4%/83.1%,同时获得 84.3%/85.6% 的碰撞类型匹配率。

研究背景与动机

自动驾驶规划器需要在闭环环境中接受罕见事故的压力测试,但真实道路上的事故既低频又危险,无法靠自然采集覆盖。STRIVE、KING 一类优化或强化学习方法可以把交通参与者推向危险状态,却容易产生过度激进、偏离人类驾驶分布的动作;CCDiff、SAFE-SIM 等扩散生成器学到了更真实的交通先验,但通常通过碰撞代价做软引导,只能提高“更可能相撞”的概率,不能保证碰撞发生在指定接触区域、具有指定相对航向和冲击强度。

精确控制还受到场景条件的限制。同一个目标碰撞类型并不适用于任意车辆:附近车辆能否到达自车、当前相对位姿是否符合追尾或侧撞的几何关系、车道拓扑是否合法,都会决定约束是否有解。若把所有车辆和四种碰撞模式都交给采样器联合搜索,计算昂贵,也会频繁追逐物理上不合理的目标。

本文不再把碰撞写成一个可被生成先验忽略的代价项,而是在保留真实交通流分布的同时,把目标事故写成采样终点必须满足的可行集。核心 idea:先以可达性、几何与道路合法性选择最可行的“对抗车辆-碰撞类型”组合,再把接触点、相对航向和严重度写成硬残差,在流匹配 ODE 的每一步用 Gauss-Newton 投影把动作序列拉回碰撞约束流形。

方法详解

整体框架

CCFM 运行在滚动时域闭环仿真中。每次重规划时,自车由待测规划器产生未来轨迹,普通交通参与者从条件流匹配先验中采样动作;系统只为一个被选中的对抗车辆施加碰撞约束。采样器生成未来 32 帧动作序列,经单轨车辆动力学滚动得到轨迹,但实际只执行第一个动作,随后更新场景并重新规划。

方法的三项贡献按顺序作用:启发式碰撞选择器先决定对抗车辆和追尾、侧撞、切入、正面碰撞之一;分类型碰撞硬约束把目标事故转为三个终点残差;碰撞约束流匹配在每个 ODE 积分步执行投影,并把修正后的终点沿最优传输路径映回当前流时间。普通反应车辆保持无约束采样,因此硬干预集中在制造事故的车辆上。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        A["当前交通状态<br/>与自车规划"] --> B["启发式碰撞选择器"]
        B -->|车辆 + 类型| C["分类型碰撞硬约束"]
        C -->|可行集| D["碰撞约束流匹配"]
        D --> E["对抗动作序列<br/>与反应车辆轨迹"]
        E --> F["执行首个动作<br/>闭环重规划"]

关键设计

1. 启发式碰撞选择器:先筛出物理上最有希望实现的事故目标

选择器在每个时刻枚举非自车车辆 \(i\) 与四种碰撞类型 \(m\),但不运行昂贵的约束采样,而是用三个可解释分数预判组合是否可行。可达性分数衡量车辆与自车的空间接近程度,几何分数比较当前相对位姿和该类碰撞的典型位姿,道路合法性分数则比较双方车道拓扑关系与该碰撞类型的典型拓扑。三者加权得到

\[ S_t(i,m)=w_{\mathrm{rch}}S_{\mathrm{rch},t}(i)+w_{\mathrm{geo}}S_{\mathrm{geo},t}(i,m)+w_{\mathrm{lgt}}S_{\mathrm{lgt},t}(i,m), \]

其中权重之和为 1,最高分组合 \((i^*,m^*)\) 才进入后续投影。这个解耦很关键:它避免让连续优化同时承担离散模式选择,也防止为了“正面撞击”等不符合当前车道关系的目标而生成离谱机动。选择器还是可替换插件,用户需要固定测试某辆车或某种碰撞时可以覆盖自动选择。

2. 分类型碰撞硬约束:用三个残差共同定义事故,而非只要求轨迹相交

一次碰撞的类型不只由“两个包围盒相交”决定。CCFM 在预测碰撞时刻 \(t+T_{\mathrm{col}}\) 计算接触点、相对航向和严重度三个量,并按追尾、侧撞、切入、正面碰撞分别设定目标值。残差向量写为

\[ \mathbf{h}_t=[h_{\mathrm{cnt},t},h_{\mathrm{hdg},t},h_{\mathrm{svt},t}]^\top,\qquad \mathcal{C}=\{\mathbf{a}_{i^*,t:t+T-1}\mid\mathbf{h}_t=\mathbf{0}\}. \]

接触点残差负责把碰撞放到目标车身区域,相对航向残差区分同向追尾、横向侧撞与迎面冲突,严重度残差约束碰撞时的相对速度。这样“事故类型”成为可检验的几何和运动学条件,而不是生成后的语义标签。目标碰撞时间会在每轮闭环重规划时根据当前自车与对抗车辆的运动状态更新,Jacobian 则通过可微的前向动力学滚动自动求导。

3. 碰撞约束流匹配:逐步硬投影,同时避免早期样本被粗暴拉离数据流形

基础模型以 ResNet 编码栅格地图和历史轨迹,用含一维卷积块的 U-Net 预测条件流速度;训练上下文为 10 帧历史,输出 32 帧未来动作。推理从高斯噪声动作序列开始,以 \(K\) 个 Euler 步积分流匹配 ODE。每一步先按速度场得到无约束候选,再通过阻尼 Gauss-Newton 求解离候选最近且满足 \(\mathbf{h}_t=0\) 的动作序列;自动微分会把碰撞残差穿过车辆动力学反传到整段加速度与偏航率。

如果在流时间很小时直接用投影结果替换样本,尚接近噪声的状态会发生巨大跳变。CCFM 因而采用最优传输反向更新,把投影终点与初始噪声按当前流时间混合:

\[ \mathbf{a}_{i^*}(\lambda_{k+1})=\lambda_{k+1}\Pi_{\mathcal C}(\hat{\mathbf a}_{i^*}(\lambda_{k+1}))+(1-\lambda_{k+1})\mathbf a_{i^*}(\lambda_0). \]

当 \(\lambda\) 接近 0 时,迭代仍贴近原始生成路径;到 \(\lambda=1\) 时,结果完全等于硬投影终点。这使方法不需要重新训练流模型,就能在推理期把现实驾驶先验与终点碰撞约束结合起来。

一个完整示例

假设当前场景中有多辆非自车车辆。HCS 先对每辆车的四种事故模式计算分数,一辆位于相邻车道且在可达距离内的车辆可能因“切入”几何与拓扑都吻合而胜出。系统随后把该车指定为对抗车辆,并在预测碰撞时刻要求其命中自车侧面、形成切入所需的相对航向,同时达到目标相对速度。

采样从一段高斯噪声动作开始。每个 Euler 步先沿真实交通数据学到的速度场前进,再用动力学滚动检查未来接触状态;Gauss-Newton 根据三个残差对 32 帧加速度和偏航率作最小修正,OT 更新把修正强度从早到晚逐渐增加。最终动作序列在终点满足约束,但闭环环境只执行首帧动作;若自车规划器采取躲避动作,下一轮会根据新状态重新选择目标和碰撞时间,因此硬约束瞄准的是动态事故构型,而不是无视交互强行回放一条固定轨迹。

损失函数 / 训练策略

论文的生成先验遵循条件流匹配训练,重点创新位于无需重训的测试时约束采样。闭环仿真以 2 Hz 重规划,使用 10 帧历史条件预测 32 帧未来动作;标准规划时域为 8 秒,并额外评估 20 秒滚动。自车分别采用 STRIVE 的 lane-graph 规则规划器、PDM 和 IDM,非对抗车辆继续由无约束生成先验控制。

实验关键数据

主实验

下表来自相同 lane-graph 自车规划器下的闭环比较。CR 是涉及自车与对抗车辆的场景级碰撞率,MS 是碰撞相对速度,TM 是目标碰撞类型匹配率;基线不提供类型级控制,因此 TM 记为“—”。

数据集 / 时域 方法 CR (%) ↑ MS (m/s) ↑ TM (%) ↑ OR (%) ↓ RM ↓ 时间 (s) ↓
nuScenes / 80 帧 CCDiff 4.0 0.3 — 4.4 0.49 180.5
nuScenes / 80 帧 STRIVE 20.8 1.9 — 5.8 0.83 466.3
nuScenes / 80 帧 SAFE-SIM 25.8 0.8 — 5.0 0.63 128.9
nuScenes / 80 帧 CCFM 46.4 2.8 84.3 5.4 0.78 123.0
nuPlan / 80 帧 SAFE-SIM 42.1 2.4 — 3.6 0.33 271.4
nuPlan / 80 帧 CCFM 83.1 5.2 85.6 1.7 0.33 356.3
nuScenes / 200 帧 CCFM 59.9 4.0 85.4 11.4 0.71 316.3
nuPlan / 200 帧 CCFM 95.2 6.1 84.7 1.9 0.30 970.5

80 帧时,CCFM 相对最强碰撞率基线 SAFE-SIM 在 nuScenes 上提高 20.6 个百分点,在 nuPlan 上提高 41.0 个百分点。把时域延长到 200 帧后碰撞率继续升高,但 nuScenes 的 OR 从 5.4% 增至 11.4%,nuPlan 运行时间也从 356.3 秒增至 970.5 秒,说明更长时域带来的危险性并非没有现实性与计算代价。

消融实验

配置 CR (%) ↑ TM (%) ↑ MS (m/s) ↑ EN ↑ DS ↑ CWS ↑
仅接触点约束 51.6 82.1 2.3 0.85 0.90 0.92
+ 相对航向约束 48.4 83.8 2.6 0.86 0.92 0.93
+ 严重度约束(完整约束) 46.4 84.3 2.8 0.89 0.96 0.96
无约束 FM 8.2 — 0.7 0.63 0.48 0.56
FM + 软碰撞引导 \(J_{\mathrm{col}}\) 10.2 — 0.8 0.70 0.43 0.43
FM + GN 硬投影 46.4 — 2.8 0.89 0.97 0.89

关键发现

  • 接触点约束单独使用时碰撞率最高,但完整约束将 TM 从 82.1% 提升到 84.3%,MS 从 2.3 m/s 提升到 2.8 m/s;CR 降到 46.4%,反映约束越具体,可行解空间越小。
  • 软引导只把无约束 FM 的 CR 从 8.2% 提到 10.2%,GN 硬投影则达到 46.4%,是论文“硬约束优于概率偏好”主张最直接的证据。
  • HCS 的 CWS 为 0.89,高于固定追尾 0.68、正面碰撞 0.67、侧撞 0.67 和切入 0.77;它不是在单项指标上永远最好,而是在可行性、类型控制、危险性与现实性之间得到更稳定的组合。
  • 换用 IDM、PDM、lane-graph 三种自车规划器时,CR 分别为 51.6%、36.1%、46.4%,TM 分别为 82.7%、81.2%、84.3%。PDM 的显式避碰使碰撞率最低,也说明生成器确实会受到待测规划器闭环响应的影响。

亮点与洞察

  • 论文把“生成危险场景”从最大化风险代价改成求解结构化可行集。这个转变使碰撞类型可以由接触区域、航向和速度解释与核验,而不是仅凭最终是否相撞来判断生成是否成功。
  • HCS 把离散的对象/类型选择放到连续动作优化之前,是很实用的分层设计。类似思想可以迁移到机器人接触规划:先筛选可达接触模式,再对选中的模式执行可微约束投影。
  • OT 反向更新解决了硬投影与生成轨迹不在同一流时间的问题。它让早期迭代尊重噪声到数据的运输路径、末端严格满足约束,是把物理约束采样从 PDE 场景迁移到交互交通场景的关键连接件。
  • 论文没有只报碰撞率,还用类型匹配、接触区域熵、相对速度/航向离散度、运动分布距离和越界率拆解“危险但真实”。这种多轴评估比单一事故率更适合安全测试生成器。

局限与展望

  • 硬约束并不等于每轮闭环都必然相撞。道路拓扑、当前交通状态、投影可行性以及自车的躲避动作都会改变最终结果;80 帧 nuScenes 的 CR 为 46.4%,与终端动作序列满足约束并不矛盾,因为闭环只执行首个动作后便重新规划。
  • 作者明确指出当前评估没有区分“规划器本可避免的碰撞”和“物理上已不可避免的碰撞”。后续应加入可避免性或责任判定,否则高碰撞率可能混合了有效暴露规划缺陷与单纯制造无解局面两种情况。
  • 更长时域提高 CR,却伴随越界率和运行时间上升;nuScenes 200 帧 OR 达到 11.4%,nuPlan 200 帧单次完整闭环时间为 970.5 秒。面向大规模回归测试时,需要更快的投影求解和显式的道路可行性约束。
  • 行为先验在 nuScenes 训练,再在 nuScenes validation 与 nuPlan mini validation 上评估;跨城市、天气、传感器条件和更大 nuPlan 切分的泛化证据仍有限。论文也尚未展示生成事故经 sim-to-real 转移后能否改善真实系统。
  • 约束只覆盖追尾、侧撞、切入和正面碰撞,且一次只指定一个对抗车辆。多车连锁事故、行人/骑行者交互、非接触式逼停等安全事件需要更丰富的参与者模型和时序逻辑约束。

相关工作与启发

  • vs SAFE-SIM / CCDiff:这些方法通过扩散采样中的代价引导提高风险概率,CCFM 则在流匹配中把事故条件写成终点必须满足的残差。前者更柔性、实现成本较低,后者在类型控制和碰撞率上更强,但要承担 Jacobian、迭代投影与可行性判断的成本。
  • vs STRIVE / KING:优化式对抗场景生成直接推动轨迹走向危险,容易偏离驾驶数据分布;CCFM 保留学习到的流先验,只对一个对抗车辆的中间动作序列作最小约束修正。不过实验中的 ADV.ADE/FDE 仍高于 SAFE-SIM,说明“有先验”并不自动等于更接近真实轨迹。
  • vs PCFM / HardFlow:它们证明了流匹配可在推理期满足 PDE 等物理硬约束,CCFM 把思想推进到闭环交通交互:约束由车辆动力学介导、相对于持续变化的自车轨迹定义,并且目标碰撞时间每轮更新。这提示硬约束生成可以从静态物理系统进一步扩展到反馈控制系统。
  • 对下游规划器训练,一个更有价值的方向不是无限提高事故率,而是按碰撞类型、可避免性和严重度分层采样,再比较规划器修复前后的失败簇变化。CCFM 已提供类型与严重度旋钮,但还缺少从压力测试到针对性训练的闭环证据。

评分

  • 新颖性: ⭐⭐⭐⭐☆ 将碰撞类型硬约束与逐步流匹配投影引入闭环交通生成,组合清晰且针对软引导的弱点。
  • 实验充分度: ⭐⭐⭐⭐☆ 覆盖两个数据集、两种时域、三种规划器和三组关键消融,但 nuPlan 仅使用 mini validation,且缺少 sim-to-real 与可避免性分析。
  • 写作质量: ⭐⭐⭐⭐☆ 三个组件、约束定义和算法流程对应明确,主要 trade-off 也有数据支撑;部分约束具体形式放在补充材料,主文复现细节略少。
  • 价值: ⭐⭐⭐⭐☆ 为可控事故压力测试提供了比软引导更可靠的技术路线,适合发现规划器弱点,但高计算开销和有限事件类型仍限制直接部署。