3. 失败案例来源与采集
感知失败案例聚类与根因分析的质量,首先取决于案例来源是否完整、采集是否规范。单一来源的失败样本往往带有明显偏差:路测覆盖真实但长尾稀疏,仿真覆盖密集但存在“仿真到现实”的差距,影子模式能捕获量产车真实分布却缺少人工标注,数据回灌则擅长复现和放大特定场景。工程上必须把四类来源统一到同一条采集与入库流水线上,才能形成可聚类、可追溯、可复盘的案例库。
一、四类来源的定位与互补关系
路测是案例库的“真实基准”。测试车搭载激光雷达、相机、毫米波雷达与高精定位,在开放道路中记录原始传感器数据、感知输出、车辆状态与人工接管事件。它的价值在于真实光照、天气、交通参与者行为,但单位里程的失败密度低,稀有场景难以稳定复现。
仿真提供“可控放大”。在场景库中回放真实片段,或通过参数扰动生成变体,可以批量制造遮挡、逆光、雨雾、异形车辆等条件,快速验证感知边界。仿真案例必须记录场景配置、渲染参数与随机种子,否则无法复现。
影子模式是“量产真实分布”。算法在量产车上旁路运行,不参与控制,只把感知结果与人工驾驶行为、其他传感器一致性进行比对。当出现急刹、接管、感知置信度骤降等触发条件时,自动上传片段。它覆盖真实用户路线,但数据需脱敏、抽样和筛选。
数据回灌是“定向复现与回归”。把已入库的失败片段重新注入感知栈,在离线环境中反复运行,用于确认修复效果、观察版本差异。回灌案例通常与缺陷单、代码版本、模型版本绑定。
核心原则:四类来源不是并列的四个文件夹,而是同一条流水线上的四个入口。每个入口都必须输出统一格式的“案例包”,包含原始数据引用、时间戳、传感器标定、感知输出、触发原因、场景标签和采集环境元数据。
二、采集与入库流程
从触发到入库,建议采用“触发—切片—脱敏—标注—质检—入库—索引”的七步流程。每一步都应有明确的准入条件,避免脏数据污染案例库。
- 触发:路测由安全员接管、急刹、感知置信度低于阈值触发;仿真由断言失败触发;影子模式由行为不一致或置信度异常触发;回灌由缺陷单指定片段触发。
- 切片:以触发时刻为中心,向前后各截取若干秒,保留足够上下文。切片需包含触发前至少 3 秒的感知历史,便于分析时序演化。
- 脱敏:对人脸、车牌、地理位置进行模糊或替换,保留场景语义但去除个人可识别信息。
- 标注:标注失败类型(漏检、误检、分类错误、定位漂移、时序抖动等)、目标类别、距离、遮挡程度、光照天气。
- 质检:检查数据完整性、时间同步、标定文件、标注一致性,剔除无效片段。
- 入库:写入案例库,生成唯一案例 ID,关联原始数据路径、版本信息与缺陷单。
- 索引:建立场景标签、失败类型、传感器模态、时间、里程等多维索引,供聚类与检索使用。
三、案例包字段清单
统一字段是后续聚类和根因分析的前提。下表给出建议的最小字段集,实际工程中可按需扩展。
| 字段 | 说明 | 示例 |
|---|---|---|
| case_id | 案例唯一标识 | RD-2024-07-15-000123 |
| source | 来源类型 | road / sim / shadow / replay |
| trigger | 触发原因 | takeover / low_conf / assertion |
| timestamp | 触发时刻 | 1721030400.123 |
| duration | 切片时长 | 8.0s |
| sensors | 传感器模态 | camera, lidar, radar |
| calib_id | 标定版本 | calib_2024_06_30 |
| perception_ver | 感知版本 | perception_v3.2.1 |
| failure_type | 失败类型 | false_negative |
| scene_tags | 场景标签 | night, rain, occlusion |
| object | 目标信息 | pedestrian, 12m, 60% occluded |
| defect_id | 关联缺陷单 | BUG-4521 |
四、采集流水线示意
下图展示四类来源如何汇入统一案例库,并经过触发、切片、脱敏、标注、质检、入库、索引形成可检索案例。图中同时标出各环节的关键产物与常见失败点。
五、典型场景与误区复盘
场景一:影子模式触发过松。某项目把“感知置信度低于 0.5”作为唯一触发条件,结果每天上传数万片段,其中大量是正常遮挡或远距离小目标,案例库被噪声淹没。复盘后改为“置信度骤降 + 行为不一致 + 时间窗聚合”的组合触发,上传量下降 90%,有效案例占比显著提升。
场景二:仿真案例无法复现。仿真中出现的漏检在回灌时消失,原因是场景配置未记录随机种子和渲染参数。修复后要求每个仿真案例必须携带场景文件、种子、传感器配置和版本号,回灌成功率从 60% 提升到 95% 以上。
场景三:路测切片过短。只截取触发前后各 1 秒,导致无法判断目标是何时进入视野、感知何时开始退化。改为前后各 5 秒并保留感知时序输出后,根因定位时间明显缩短。
常见误区:把“采集”等同于“存数据”。没有统一字段、没有质检、没有索引的数据只是磁盘占用,无法支撑聚类和根因分析。采集流程的终点不是文件落盘,而是案例可被检索、可被复现、可被关联到缺陷单。
工程建议:为四类来源定义统一的案例包 schema,并在流水线入口做强制校验;对触发阈值进行周期性统计,避免过松或过严;对入库案例定期抽样人工复核,监控标注漂移和场景分布变化。
只有把路测、仿真、影子模式和数据回灌统一到同一条采集与入库流水线上,才能保证案例库既覆盖真实长尾,又具备可控复现能力,为后续的聚类、根因分析和修复验证提供可靠输入。