独家揭秘:自动驾驶 3D Occupancy 真值自动标注系统架构与“踩坑”实录
在自动驾驶感知领域从 2D 图像到 BEV再到如今大热的3D Occupancy Network3D 占据网络行业对三维空间理解的颗粒度要求正在呈现指数级增长。Occupancy 不仅能优雅地解决异形障碍物General Obstacles的识别问题更是迈向端到端自动驾驶的重要基石。但理想很丰满现实很骨感。构建一个高精度、高效率的 Occupancy 真值Ground Truth生成系统远比跑通几个开源模型复杂得多。今天就结合前沿开源方案与实际工程落地经验和大家深度拆解一下Occupancy 真值系统的技术架构、核心挑战以及长尾场景Corner Cases的破局之道。一、 巨人的肩膀开源方案的演进与启示在构建我们自己的系统之前先来看看学术界和开源界目前进展到了哪一步。1. Occ3D (NeurIPS 2023)遮挡推理与体素细化Occ3D 提供了一套非常经典的基于视觉和激光雷达LiDAR融合的标定框架。其核心亮点在于遮挡推理 (Occlusion Reasoning)通过 LiDAR 视角的 Occupied/Free 状态与 Camera 视角的可见性进行交叉验证生成准确的 Visibility Mask。射线投射与图像引导利用 KNN 语义匹配和基于射线投射的可见性判断辅以图像引导来剔除误识别的体素Voxel最终经过 3D-2D 一致性检查输出高质量真值。2. AutoOcc (ICCV Highlight)引入多模态大模型与 3D 溅射AutoOcc 则代表了另一种更加前沿的探索——结合大语言视觉模型VLM。利用 VLM如基于 Transformer 的多模态大模型和 SAMSegment Anything生成开放词汇的语义注意力图。结合深度估计UniDepth和自监督的光流聚类来处理动态物体。最惊艳的是引入了3D Gaussian Splatting (3D GS)进行体素特征的累加与渲染直接降维打击传统的三维重建方法。二、 落地挑战为何我们必须自研 Pipeline开源方案虽然惊艳但在实际车企的数据闭环中往往会遇到以下“水土不服”的问题传感器依赖与深度缺失纯视觉方案受限于图像缺乏准确的深度和几何信息极难直接标注出高精度的 3D 占据网格。因此采用高精度 LiDAR 点云来构建真值是当前更稳妥且精准的路径。稀疏性与噪点单帧 LiDAR 点云极其稀疏且包含大量环境噪点如雨雪、多径反射。特殊对象处理静态背景中的活动元素如收费站抬杆在多帧叠加时极易产生“拖影”或“残影”。效率与精度的平衡动辄上亿规模的点云体素化对算力和存储架构是极大的考验。基于此我们设计了一套**“静态叠帧 动态聚合 - 点云稠密化 - 体素化”**的真值生成总体框架。三、 核心技术方案拆解 (Our Approach)1. 预标注 (PreLabel) 与点云分割利器SphereFormer在输入端我们依赖高精度的动态目标真值Bounding Boxes、基于三维重建的自车定位Ego Pose以及点云语义分割标签。在点云分割模型上我们采用了SphereFormer (CVPR 2023)。传统算法在面临大范围占用时往往面临时间与显存成本的爆炸。SphereFormer 提出了径向窗口自注意力机制 (Radial Window Self-Attention)不仅大幅提升了远距离物体的识别能力还极大地平衡了计算效率与精度。2. 动静分离与多帧聚合 Pipeline我们的数据流转过程如下分离去噪基于目标框将多帧语义点云分离为动态点和静态点并进行几何与密度去噪。多帧聚合补偿动态点基于 Box 坐标系进行多帧聚合静态点基于 World 坐标系结合 Ego Pose进行运动补偿和聚合。应对稀疏与噪点针对稀疏性点素级采用全域帧点云叠加使其稠密化体素级引入形态学膨胀 (Morphological Dilation)。针对噪点点素级基于几何特征去噪体素级引入形态学腐蚀 (Morphological Erosion)。体素化与后处理拼接后进行体素化采用投票机制分配体素语义最终输出语义 OCC 格式。3. 工程化规格输出为了适配不同的研发需求我们在工程输出上做了精细的定义感知范围差异化区分行车与泊车场景。行车场景关注远距离X轴达115.2m体素尺寸适中0.2x0.2x0.25m泊车场景关注近场高精度体素精细到0.05x0.05x0.08m。语义状态包含 23 类状态21类语义实体如 Road, Pedestrian, Car 2类非占据状态 Free/Unvalid。存储格式为兼容现有大数据架构时间戳前广对齐使用parquet格式落地语义 Occ 存为 Uint8速度栅格存为 FP32。四、 进阶篇让工程师掉头发的“长尾场景”后处理标准 Pipeline 跑通只是及格真正的核心竞争力体现在对长尾特殊对象Corner Cases的处理上。案例 1收费站抬杆Boom Barrier的“残影”消除痛点抬杆本质是静态元素但在时序上可移动抬起/放下。如果简单粗暴地进行前向多帧叠加体素中会残留严重的历史拖影。后处理优化分离并聚类出抬杆点云。进行时序匹配追踪提取其几何属性。核心步骤过滤抬杆扫射范围内的无效点并进行实时的抬杆体素精准放置确保只呈现当前时刻的真实状态。案例 2可移动障碍物Void 类型的动态清理痛点同样是静态变动态导致的时序叠加残影例如被挪动的垃圾桶或路障。后处理优化获取当前帧 OCC 的可行驶区域 BEV 索引。基于窗口搜寻相邻多帧的静态点云。统计 Void 体素被窗口多帧点云命中的次数若低于设定阈值则直接置空 BEV 索引范围下的该体素。重新设置单帧 Void 点云的占据状态还原本真。案例 3频频“闪现”的锥桶Barrier痛点锥桶体积小极易陷入自车盲区导致目标框漏掉或 ID 频繁跳变最终无法成功放置点云。后处理优化基于历史和全局的 Barrier 统计信息固定其实例的全局位姿。根据该实例的生命周期结合预设的窗口浮动长度智能判断是否需要将其“脑补”添加至当前帧。将其转换至自车坐标系下强制更新当前帧的占据状态保证实例在整个生命周期内的稳定出现彻底解决盲区闪烁问题。五、 理想与现实的碰撞量产规模化生产的“血泪教训”当我们将这套精雕细琢的 Pipeline 推向真实的数据生产线时作为系统架构的设计者我们立刻迎来了现实的毒打。在海量数据的冲刷下当前基于 LiDAR 的方案暴露出两大核心痛点1. 上游依赖综合征误差级联与“空中楼阁”OCC 真值的生成极度依赖上游预标注产物如分割模型、目标检测框。分割与检测不匹配当分割模型预测错误或者检测框未能完全包裹目标点云时剥离出来的点云就会产生残留导致 OCC 空间中出现莫名其妙的“空中杂点”。动态目标畸变在高速运动场景下动态目标本身的运动畸变叠加分割模型的预测偏差会导致重建出的体素形状怪异严重影响后续端到端模型的训练效果。2. 算力与存储的黑洞生产效率瓶颈基于高精度 LiDAR 的全域帧叠加和极其密集的体素化操作带来了极高的内存开销与时间成本。在追求降本增效的今天这种重度依赖计算资源的生产模式逼迫我们必须在算法层面进行深度的性能剖析和时空复杂度优化。六、 降维打击AUTO-OC 与前沿学术界的破局思路面对传统方案的局限性学术界给出了一条完全不同的性感路线AUTO-OC。相比于我们在点云堆里苦苦挣扎AUTO-OC 展现了基于大模型降维打击的潜力。AUTO-OC 的核心杀手锏开放词汇Open-Vocabulary的无痛标注传统 OCC 方案最大的痛点是依赖“预定义类别”比如设定好的 21 类。而 AUTO-OC 引入了预训练的VRM 大模型通过多视角 RGB 图像只需输入自然语言 prompt如“列出场景中的所有物体”就能动态生成场景描述和语义注意力图彻底打破了类别的次元壁。2D 到 3D 的完美一致性利用注意力图引导 SAMSegment Anything进行零样本的精准实例分割并结合 UniDepth 估计深度。引入 3D 高斯溅射3D Gaussian Splatting将语义和深度信息作为监督信号训练 3D 高斯模型通过 Alpha 混合实现三维空间加权语义渲染。既然 AUTO-OC 这么强为什么我们目前的数据生产依然沿用 LiDAR 方案这本质上是一个**“算法前沿性”与“工程落地可行性”**的架构取舍。AUTO-OC 虽然实现了惊艳的语义一致性但它的效果严重依赖 VRM 和深度估计模型的性能上限。在面对动态物体、快速变形的复杂物理场景时其鲁棒性仍显不足。对于当前急需高精度、高稳定数据“喂养”量产模型的业务线来说基于 LiDAR 的工程化方案虽然略显笨重但结果更可控、底盘更稳。七、 架构演进与未来展望下一代 OCC 数据闭环走向何方站在架构设计的十字路口结合当前的痛点与前沿趋势下一代 OCC 真值自动标注系统必将迎来三大维度的演进1. 从“几何驱动”向“语义驱动”跨越目前我们是以 LiDAR 的几何信息为主导语义仅作为附加属性且后处理逻辑异常复杂繁琐。未来必将结合 VLM视觉语言大模型引导的开放词汇标注利用强大的语义关系来反向指导和补全几何结构的缺失让系统具备真正的“常识”。2. 从“单模态依赖”向“多模态融合”演进彻底告别仅依赖 LiDAR 的现状。参考 AutoOcc 的设计理念探索以高画质视觉为核心、Camera 优先的量产真值方案结合图像丰富的语义信息和开源大模型对 LiDAR 生成的几何结构进行交叉校验和语义校正。3. 终极形态基于世界模型World Model的 OCC 预测与其费尽心思地去“拼接”和“重建”物理世界不如让模型直接“生成”它。结合 Generative AI生成式模型在给定条件Condition如 HDMap、三维 Box下直接预测和生成长尾场景下的 OCC 状态。这不仅能以极低的成本解决 Corner Case 数据稀缺的问题更是实现数据生产效率跨越式提升的终极密码。八、 写在最后持续迭代的技术苦旅自动驾驶的下半场拼的是数据的质量、闭环的效率以及系统架构的弹性。对于目前的 OCC 自动标注系统我们仍有硬仗要打一方面需要彻底厘清动态目标在多帧数据中的生成与聚合机制从根源上斩断“拖影”现象另一方面针对内存与时间的高昂开销算法的工程化重构与性能榨取依然是近期的绝对优先级。从 2D 到 3D从预定义到开放词汇从规则堆砌到世界模型技术的进化从未停止。希望这篇踩坑实录与架构拆解能为同在自动驾驶数据泥沼中前行的各位提供一些参考和启发。