4. 数据预处理与特征工程

感知失败案例聚类与根因分析的质量,很大程度上取决于输入数据是否被整理成“可比较、可对齐、可解释”的统一表示。原始多传感器数据往往来自不同频率、不同时间基准、不同坐标系的设备,若直接送入聚类或根因分析,得到的簇很可能只是传感器差异或时间漂移的产物,而非真正的感知失败模式。因此,本章聚焦四个关键环节:时间同步、坐标对齐、目标跟踪与场景描述及特征提取。

核心目标:把多源异构的原始感知数据,转换为同一时间基准、同一空间基准、同一目标身份、同一语义描述下的结构化特征向量,为后续聚类与根因分析提供可靠输入。

4.1 时间同步:建立统一时间基准

多传感器系统中,摄像头、激光雷达、毫米波雷达、组合导航等设备各自拥有独立时钟。时间同步要解决两个问题:一是绝对时间对齐,即把各传感器时间戳映射到统一时钟;二是相对时间对齐,即通过插值或外推获得同一时刻的观测。常用方法包括硬件触发同步、PTP/NTP 网络同步以及基于运动估计的软件同步。

工程上通常先做时间戳检查,识别时钟漂移、丢帧和乱序,再按固定周期重采样。对于高频雷达与低频摄像头,可采用线性插值或样条插值;对于存在明显运动的目标,插值需结合自车运动补偿,否则会产生“虚假位移”。

# 时间同步伪代码示例
for each frame_time in master_clock:
    cam_data = interpolate(camera_stream, frame_time)
    lidar_data = nearest(lidar_stream, frame_time, max_dt=50ms)
    radar_data = interpolate(radar_stream, frame_time)
    if any(data is None):
        mark_as_invalid(frame_time)
    else:
        sync_frame = merge(cam_data, lidar_data, radar_data)

4.2 坐标对齐:统一空间参考系

坐标对齐的目标是把不同传感器坐标系下的观测统一到同一参考系,通常选择自车后轴中心或车辆几何中心作为基准。流程包括:标定外参、坐标变换、地面拟合与动态补偿。外参标定误差会直接放大为空间偏差,因此需定期校验。

对于感知失败分析,坐标对齐不仅要看静态变换,还要关注动态因素:车辆俯仰、侧倾、悬架变化都会导致传感器相对位姿变化。若忽略这些因素,同一目标在融合结果中可能出现“跳变”,被误判为跟踪失败。

  • 外参标定:确定各传感器到自车坐标系的旋转与平移。
  • 坐标变换:将点云、检测框、雷达目标统一到自车坐标系。
  • 地面拟合:估计道路平面,修正俯仰与高度偏差。
  • 动态补偿:结合 IMU 与轮速,补偿车辆姿态变化。

4.3 目标跟踪:维持身份一致性

目标跟踪把逐帧检测结果关联成轨迹,为每个目标分配稳定 ID。常用方法有卡尔曼滤波、匈牙利匹配、JPDA 以及基于深度学习的端到端跟踪。跟踪质量直接影响特征提取:若 ID 频繁切换,同一目标的运动特征会被拆散,聚类时容易形成虚假类别。

在失败案例中,跟踪问题常表现为:目标丢失后重新出现被分配新 ID、相邻目标 ID 互换、静止目标被误判为运动。分析时应记录跟踪生命周期、关联代价、丢失原因等元数据,作为根因分析的证据。

4.4 场景描述与特征提取

场景描述是把感知结果转化为可计算的特征向量。特征可分为四类:目标级特征、关系级特征、场景级特征和失败级特征。目标级包括位置、速度、加速度、朝向、尺寸、类别置信度;关系级包括目标间距离、相对速度、TTC、遮挡关系;场景级包括道路曲率、车道数、光照、天气、交通密度;失败级包括漏检、误检、ID 切换、位置偏差等。

特征类别典型字段用途
目标级位置、速度、朝向、尺寸、置信度描述单个目标状态
关系级距离、相对速度、TTC、遮挡比例刻画目标间交互
场景级光照、天气、道路曲率、交通密度解释环境对感知的影响
失败级漏检、误检、ID 切换、位置偏差标注失败模式与根因线索

特征提取后需做归一化与降维,避免量纲差异主导距离度量。常用方法包括 Min-Max 归一化、Z-Score 标准化、PCA 或自编码器降维。对于类别型特征,可采用独热编码或嵌入表示。

# 特征向量示例
feature = {
  "obj_speed": 12.4,
  "obj_accel": -1.2,
  "ttc": 3.8,
  "occlusion_ratio": 0.35,
  "light": "night",
  "weather": "rain",
  "road_curvature": 0.02,
  "failure_type": "late_detection"
}

4.5 案例:一次夜间误检的预处理复盘

某夜间场景中,感知系统将路边反光标识误检为车辆。原始数据看似是检测模型问题,但预处理复盘发现:摄像头与雷达时间戳偏差约 120ms,导致雷达目标与图像检测框错误关联;同时坐标对齐未补偿车辆俯仰,反光标识被投影到车道内。经过时间同步与姿态补偿后,该误检在融合阶段被正确抑制。这说明预处理不是“清洗数据”的附属步骤,而是根因分析的关键证据链。

建议为每个失败案例保存预处理中间结果:同步后的时间戳、坐标变换矩阵、跟踪 ID 序列、特征向量快照。这样在聚类后回溯根因时,可以快速判断问题发生在同步、对齐、跟踪还是特征提取环节。
常见误区:只做一次离线标定就长期使用;忽略时间戳乱序;跟踪 ID 切换未记录;特征未归一化直接聚类。这些都会让后续聚类结果失去可解释性。
多源感知数据预处理与特征工程链路 摄像头 图像帧 / 时间戳 激光雷达 点云 / 时间戳 毫米波雷达 目标列表 / 时间戳 组合导航 位姿 / IMU / 轮速 时间同步 统一时钟 / 插值 丢帧与乱序处理 坐标对齐 外参标定 / 变换 姿态与地面补偿 目标跟踪 数据关联 / 滤波 ID 生命周期管理 场景描述与特征提取 目标级特征 位置/速度/朝向 关系级特征 距离/TTC/遮挡 场景级特征 光照/天气/曲率 失败级特征 漏检/误检/ID切换 结构化特征向量 → 聚类与根因分析

综上,时间同步、坐标对齐、目标跟踪与场景描述及特征提取构成了一条完整的预处理链路。每一步都会影响最终特征的可比性与可解释性。只有在统一时间、统一空间、统一身份、统一语义的基础上,感知失败案例的聚类结果才能真实反映失败模式,根因分析才能落到具体环节,而不是停留在“模型不准”的笼统结论上。