3. 多摄像头数据采集与同步
多摄像头驾驶数据采集不是“多插几路相机同时录像”这么简单。要让视频语言模型真正理解“左前方车辆切入”“右侧盲区有骑行者”这类空间语义,必须保证多路图像在时间上同源、空间上可换算、格式上可解析、标注上可对齐。本节围绕相机标定、时间同步、空间对齐、数据格式与标注规范四条主线展开,给出可落地的工程方法。
一、核心原理:四层一致性
多相机采集系统的本质,是构建一个从物理世界到数字样本的稳定映射。这个映射需要满足四层一致性:
- 内参一致性:每台相机的焦距、主点、畸变系数被准确标定,图像像素坐标才能反投影为归一化射线。
- 外参一致性:各相机相对车体坐标系的旋转和平移已知,才能把不同视角统一到同一空间。
- 时间一致性:所有相机曝光时刻落在同一时间基准上,误差通常要求小于 1 ms,高速场景建议小于 0.5 ms。
- 语义一致性:标注框、车道线、可行驶区域在不同视角间指向同一物理目标,避免“同一辆车在左相机叫 car、在右相机叫 truck”。
二、相机标定:从像素到射线
标定分为内参标定和外参标定。内参标定常用棋盘格或圆点靶标,通过多姿态拍摄求解焦距、主点和畸变参数;外参标定则求解各相机相对车体坐标系的位姿。工程上建议采用“离线精细标定 + 在线校验”的组合策略。
# 以 OpenCV 为例的内参标定核心参数
image_size: 1920x1080
pattern_size: 9x6
square_size: 0.025 m
flags: CALIB_RATIONAL_MODEL
输出:
camera_matrix: [fx, 0, cx; 0, fy, cy; 0, 0, 1]
dist_coeffs: [k1, k2, p1, p2, k3]
rms_error: 0.18 px # 建议小于 0.3 px
外参标定通常借助标定场、激光雷达或全站仪。若车辆在行驶中发生震动、碰撞或更换相机,外参可能漂移,因此需要定期用车道线、地面标志或自然特征做在线校验。一个实用判据是:把前视相机检测到的车道线投影到环视相机图像中,若重合误差持续大于 5 像素,就应触发重新标定。
三、时间同步:硬件触发优先
时间同步方案按精度从高到低分为三类:
- 硬件同步:由同一触发源给所有相机发送曝光脉冲,配合 PTP 或 GPS 秒脉冲,误差可控制在微秒级。
- 软触发同步:由主机按时间戳依次触发,受操作系统调度影响,误差通常在毫秒级。
- 后处理对齐:各相机独立采集,事后按时间戳插值对齐,适合非实时离线数据集,但高速运动目标会产生拖影或错位。
对于驾驶理解任务,推荐硬件同步。采集系统应记录每帧的曝光起始时间戳、曝光结束时间戳和触发序号,而不是只记录“收到帧的时间”。后者会引入传输和缓冲抖动。
四、空间对齐:统一到车体坐标系
空间对齐的目标是建立“像素—相机—车体—世界”的坐标链路。典型流程为:去畸变 → 像素坐标转归一化坐标 → 乘以外参 → 得到车体坐标系下的射线或三维点。对于地面目标,可假设平面约束,用单应矩阵把环视图像投影到鸟瞰图。
多相机空间对齐还要处理重叠区域。相邻相机视场重叠部分应通过外参和深度估计进行融合,避免同一目标在拼接处出现“重影”。在标注阶段,重叠区域的目标应指定主视角,其他视角作为辅助,防止重复计数。
五、数据格式与标注规范
多相机数据建议采用“一帧一目录、多路图像 + 元数据”的组织方式。元数据至少包含:相机 ID、时间戳、内参、外参、畸变模型、图像尺寸、曝光参数。标注文件应支持跨视角目标关联,常用字段包括 track_id、camera_id、bbox_2d、visibility、truncation 和 attributes。
| 规范项 | 要求 | 常见错误 |
|---|---|---|
| 时间戳 | 记录曝光起始时刻,统一到 UTC 或 GPS 周内秒 | 只记录落盘时间,导致多路错位 |
| 外参 | 相机到车体坐标系的旋转矩阵和平移向量 | 用相机间外参代替车体坐标系 |
| 目标 ID | 同一物理目标跨相机、跨帧保持唯一 ID | 各相机独立编号,无法关联 |
| 遮挡标注 | 区分完全遮挡、部分遮挡和截断 | 把截断目标标成完整框 |
| 图像格式 | 无损或高质量压缩,保留原始分辨率 | 过度压缩导致小目标纹理丢失 |
六、案例与复盘:一次环视采集的典型问题
某项目在环视采集时发现,车辆右转时右侧相机与后视相机的目标框在重叠区域出现“双框”。排查后发现两个问题:一是两路相机使用软触发,时间差约 8 ms,车辆运动导致目标位移;二是标注时未指定主视角,标注员在重叠区重复标注。修复方案是改用硬件触发,并在标注规范中明确“重叠区域以视场中心更近的相机为主视角,另一路只标可见部分且复用同一 track_id”。
总结来看,多摄像头数据采集与同步是一项系统工程:标定提供空间基准,同步提供时间基准,空间对齐建立坐标链路,数据格式与标注规范保证样本可被模型正确消费。四者缺一不可,任何一环松动,都会让后续的视频语言模型“看到画面却读不懂场景”。