O3N:全向开放词汇占用预测如何革新自动驾驶感知
1. 从“看见”到“理解”城市自动驾驶的感知新范式最近和几个做自动驾驶感知的朋友聊天大家普遍有个感觉现在的模型越来越“卷”了。从早期的2D目标检测到后来的3D检测、BEV鸟瞰图感知再到现在的占用网络Occupancy Network感知能力确实在一步步逼近物理世界的真实结构。但聊到深处一个核心痛点始终绕不开模型能“看见”一个物体占据的空间但它真的“理解”这是什么吗一个占据着3x2x1.5米空间的立方体它可能是一辆静止的轿车也可能是一个临时摆放的集装箱甚至是一个造型奇特的雕塑。对于依赖高精地图和预设类别的传统感知系统来说一旦遇到训练集里没有的“新玩意儿”或者地图上没有标注的临时障碍物系统的决策就可能陷入混乱。这正是“O3N: Omnidirectional Open-Vocabulary Occupancy Prediction for Urban Autonomous Agents”这个工作试图解决的核心问题。简单来说它想打造一个城市自动驾驶智能体的“全能感知大脑”。这个大脑不仅要像传统占用网络一样精确地预测周围360度环境中每个体素可以理解为3D空间中的小格子是否被占据更要能“开口说话”用开放词汇Open-Vocabulary描述出这个占据物到底是什么。比如它不仅能告诉你前方5米处有一个占据物还能告诉你那是“一辆抛锚的快递三轮车”、“一堆散落的施工路锥”或者“一个穿着玩偶服的行人”。这种将稠密的几何占用与开放的语义描述能力相结合的技术被认为是迈向更通用、更鲁棒自动驾驶的关键一步。背后的驱动力很大程度上来自于以LLM大语言模型为代表的通用人工智能技术的飞速发展。Lilian Weng等研究者提出的LLM Powered Autonomous Agents概念描绘了一个智能体利用大模型进行规划、工具调用和反思的蓝图。而要让这样的智能体在复杂的物理世界中行动首要条件就是需要一个能像人类一样用自然语言理解和描述周围环境的感知系统。O3N正是在这样的背景下将开放词汇的语义理解能力注入到自动驾驶最基础的几何感知任务中为高级别的决策和规划提供了前所未有的丰富环境信息。这不仅仅是多了一个“语义分割”功能而是从根本上改变了智能体与环境交互的范式——从基于封闭类别列表的“模式匹配”升级为基于开放概念理解的“场景解读”。2. O3N的核心架构拆解如何实现“全向开放词汇占用”理解O3N我们可以把它拆解成三个关键词Omnidirectional全向、Open-Vocabulary开放词汇、Occupancy Prediction占用预测。它的技术架构正是围绕高效实现这三者的融合而设计的。2.1 全向密集几何感知的基础从视觉信号到3D体素自动驾驶车辆通常配备环视摄像头鱼眼或广角和激光雷达。O3N的起点是如何将这些多视角、多模态的传感器数据统一到一个共同的3D空间表示中。传统方法可能依赖昂贵的激光雷达生成精确的点云再转换为体素网格。但O3N的思路更倾向于以视觉为中心充分利用成本更低、信息更丰富的图像数据。一种典型的实现路径是“视觉中心化的3D重建”。系统首先通过环视图像利用深度估计网络如基于BEVFormer或LSSLift, Splat, Shoot的方法生成每个视角的深度图。这个过程不是简单的单目深度估计而是通过跨视角的注意力机制让不同相机看到的特征在BEV空间或3D空间中进行交互和融合从而得到更一致、更准确的几何信息。这些带有深度信息的图像特征会被“反投影”到预定义的3D体素空间中。这个体素空间通常以自车为中心覆盖周围数十米的范围每个体素的大小可能是0.2米或0.1米代表了空间的最小解析单元。注意这里的深度估计并非为了得到厘米级精度的绝对深度而是为了建立图像像素到3D空间的合理对应关系为后续的占用和语义预测提供几何基础。其精度要求是“几何合理”而非“测量精确”。得到初始的3D体素特征后O3N会使用一个3D卷积神经网络如稀疏卷积网络或Transformer进行进一步处理。这个网络的作用是聚合局部和全局的上下文信息让每个体素的特征不仅包含来自某个特定视角的投影信息还能感知到它周围的占据情况例如一个被占用的体素上方如果也是占用的那它很可能是一个竖直的柱子或墙体的一部分。最终这个3D解码器会输出两个核心的预测一是每个体素的“占用概率”Occupancy Probability这是一个0到1之间的值表示该体素空间被物体占据的可能性二是一个高维的“语义特征向量”Semantic Feature Embedding它编码了该体素所属物体的抽象语义信息这是实现开放词汇查询的关键。2.2 开放词汇的魔法将视觉特征对齐到语言空间这是O3N最具创新性的部分。传统的语义占用网络输出的是固定类别的概率分布如“车0.9人0.05植被0.05”类别列表是预先定义且封闭的。而O3N输出的是一个高维的语义特征向量。这个向量本身没有明确的类别标签但它被设计成与一个“语言模型的特征空间”对齐。具体是如何实现的呢在训练阶段O3N模型会引入一个预训练的视觉-语言模型如CLIP的文本编码器Text Encoder。对于训练数据中带有标注的物体例如标注为“car”的区域我们不仅用它的3D体素特征去预测“占用”标签还会做一件事将“car”这个文本标签通过CLIP的文本编码器转换成一个文本特征向量。然后我们让对应“car”物体的那些3D体素特征尽可能地去接近“car”的文本特征向量。这个过程就是“特征对齐”Feature Alignment。通过在海量的图像-文本对数据上训练CLIP的文本编码器已经学会了将各种各样的词汇映射到一个语义丰富的特征空间中在这个空间里“car”和“bus”的距离会比较近而和“tree”的距离会比较远。O3N通过让它的3D视觉特征去对齐这个语言空间相当于为每个3D体素“学习”了一种通用的“视觉语义方言”。一旦完成了这种对齐在推理即实际使用时奇迹就发生了对于任何一个体素我们只需要将其预测出的语义特征向量与任意一个我们关心的词汇比如“stroller婴儿车”、“roadwork barrier施工围栏”、“lost tire脱落的轮胎”通过同一个CLIP文本编码器得到的特征向量计算一下相似度如余弦相似度相似度高的就可以认为这个体素属于该词汇描述的类别。这就实现了“开放词汇”模型在训练时可能从未见过“抛锚的冰淇淋车”这个具体类别但只要“抛锚的”、“冰淇淋”、“车”这些概念在CLIP的预训练语料中出现过模型就能通过特征相似度识别出这个物体。这极大地扩展了感知系统的语义理解边界。2.3 全流程协同从多模态输入到可查询的3D语义场将上述两部分结合起来O3N的完整前向流程就清晰了输入与编码环视多摄像头图像输入视觉主干网络如ResNet、Swin Transformer提取2D图像特征。激光雷达点云如果可用可同时输入一个点云编码器提取特征后投影到体素空间作为补充。视角转换与体素化通过基于深度的投影或基于查询的BEV转换方法将多视角2D特征统一到以自车为中心的3D体素坐标系中形成初始的3D体素特征。3D上下文聚合使用3D稀疏卷积或Transformer对体素特征进行聚合充分融合空间上下文信息输出每个体素的占用概率和语义特征向量。此时整个3D空间形成了一个连续的“语义场”。开放词汇查询推理时用户或下游规划模块可以提供一系列感兴趣的文本描述列表。这些文本通过CLIP文本编码器转换为文本特征向量。然后遍历3D语义场计算每个体素的语义特征与每个文本特征的相似度。对于每个体素取相似度最高的文本作为其语义标签同时相似度分数可以作为置信度。最终我们得到的是一个稠密的3D网格其中每个被占据的体素都附有一个来自开放词汇的文本标签及其置信度。这种输出形式极其强大。下游的路径规划模块不再只是收到“前方有障碍物”的警告而是可以收到“前方15米处左侧车道有一辆‘故障货车’占据范围长5米、宽2米、高2.5米右侧有‘两个维修人员’在活动”这样的结构化报告。这使得决策可以更加精细和拟人化。3. 实现中的关键挑战与工程取舍把论文里的理想架构落地会遇到一系列非常实际的挑战。O3N作为一个前沿方向在工程化过程中需要做出大量权衡。3.1 计算效率与精度的平衡3D体素的诅咒最直接的挑战来自计算量。3D体素空间的数据量是立方级增长的。假设感知范围是80米x80米x6米长宽高体素分辨率设为0.2米那么体素数量就是400x400x304.8百万个。每个体素都要计算特征、占用率和语义向量这无疑是一个巨大的计算负担。因此O3N的实现必须采用稀疏化处理。常见的做法是使用稀疏卷积库如SparseConvNet Minkowski Engine。这些库只对非空的或可能非空的体素进行计算和存储。在O3N的流程中首先通过2D到3D的投影可以初步判断哪些体素区域可能有内容基于深度估计只在这些区域初始化稀疏体素。然后稀疏卷积操作只在这些活跃的体素及其邻域上进行极大地减少了计算和内存开销。然而稀疏化也带来了挑战如何确保稀疏体素采样的过程不会遗漏掉细小的、重要的物体如远处的行人、细杆这需要在投影和体素化阶段设计更精细的策略例如使用多尺度特征或自适应体素分辨率。另一个权衡点是语义特征向量的维度。维度越高蕴含的语义信息越丰富与开放词汇的匹配能力越强但也会增加每个体素的存储和计算成本。通常这个维度会设定在256到512之间这是一个在表达能力和效率之间折衷的结果。3.2 训练数据的困境如何获得3D开放词汇标注监督学习需要标注数据。对于传统的3D语义占用标注已经极其昂贵——需要人在3D点云或重建网格中逐体素地标注类别。对于O3N要求的“开放词汇”标注这几乎是不可能完成的任务因为标注者无法预知所有可能出现的物体类别。因此O3N的训练必然 heavily rely on “弱监督”或“自监督”策略。一种可行的方案是利用2D图像-文本对这是CLIP模型的优势所在。我们可以用现成的2D开放词汇检测或分割模型如Grounding DINO, SAM在环视图像上生成大量的2D区域及其文本描述。然后将这些2D区域的图像特征来自CLIP的图像编码器与对应的文本特征作为监督信号通过2D-3D的投影关系来引导3D体素语义特征的学习。目标是让投影到某个3D体素集合上的特征与对应的文本特征尽可能相似。利用已有的3D封闭集标注对于已有3D语义标注的数据集如nuScenes, Waymo可以将“car”、“person”等封闭类别标签作为文本输入提供强监督信号。这确保了模型对常见基础类别有坚实的几何和语义把握。设计专门的损失函数需要组合多种损失函数占用损失Occupancy Loss通常是二元交叉熵损失确保几何占用的准确性。语义对齐损失Semantic Alignment Loss对比学习损失如InfoNCE Loss让匹配的视觉-文本特征对相互靠近不匹配的相互远离。特征正则化损失防止语义特征向量坍缩或过度拟合到某种模式。这种混合监督策略使得模型既能从海量无标注的互联网图像-文本对中学习开放世界的语义关联又能从精确的3D几何标注中学习空间结构是工程实现的关键。3.3 开放词汇查询的噪声与歧义管理即使模型训练好了在实际查询时也会面临问题。自然语言本身具有歧义性。比如查询“障碍物”模型可能会把路缘石、减速带、静止的车辆都高亮出来因为它们都符合“障碍物”的抽象语义。但对于规划来说需要更精确的区分。因此在实际系统中开放词汇查询需要精心设计查询列表的构造下游模块如规划器提供的不应是单个词汇而是一个结构化的、分层次的查询列表。例如第一优先级是“可行驶区域”、“动态物体”、“静态未知障碍”第二层级可以对“静态未知障碍”进一步查询“是否为车辆形状”、“是否为行人形状”、“是否为临时路障”等。这种层次化查询比漫无目的地匹配所有词汇更高效、更可靠。置信度阈值与后处理计算出的语义相似度得分需要设置阈值。得分过低的匹配应该被拒绝归类为“未知占用”。同时需要对3D空间进行聚类后处理将空间上连续、语义标签相同的体素聚合为同一个实例避免输出支离破碎的“词云”。与封闭类别系统的融合在完全信任开放词汇系统之前一个稳妥的策略是“混合系统”。对于“汽车”、“行人”、“骑行者”等关键安全类别仍然保留一个高性能的、专门的封闭类别检测器作为主干。O3N的开放词汇系统则作为“新奇物体探测器”和“描述增强器”来工作处理长尾的、未知的物体并为已知物体提供更丰富的描述如“开着双闪的汽车”。这种架构既能保证核心安全功能的可靠性又能大幅提升系统的整体语义理解能力。4. 在城市自动驾驶场景下的价值与落地思考O3N所代表的技术方向其价值远不止于学术指标的提升。它为解决城市自动驾驶中一些棘手的“角落案例”Corner Cases提供了全新的思路。4.1 应对动态变化与施工场景城市道路环境瞬息万变。传统的基于高精地图和固定类别感知的系统在面对临时施工、节日庆典、交通事故等场景时非常脆弱。高精地图没有记录感知系统不认识这些新物体。O3N可以发挥巨大作用施工区域理解系统可以查询“橙色圆锥筒”、“施工围挡”、“警示灯”、“挖掘机”等词汇不仅能识别出这些物体还能通过它们的空间分布推断出这是一个“施工区域”进而提前规划变道或减速。事故现场评估对于交通事故系统可以识别出“侧翻的车辆”、“散落的货物”、“正在指挥交通的人员”从而理解现场的紧急程度和风险结构做出更安全的决策如紧急停车、缓慢绕行。特殊车辆识别能识别“洒水车”、“清障车”、“婚礼车队”等特殊车辆预测其可能的行为洒水车可能突然洒水清障车可能低速行驶婚礼车队可能整体行动。4.2 赋能高阶交互与规划当自动驾驶车辆需要与复杂环境中的其他智能体人类、其他车辆进行交互时丰富的语义信息至关重要。行人意图预测一个站在路边的人如果被识别为“正在招手”那么他打车的可能性很高如果被识别为“看着手机”其注意力可能不在道路上。O3N虽然不直接做意图预测但它提供的细粒度语义描述“招手的人”、“看手机的人”为后续的意图预测模块提供了更优质的输入。V2X车路协同信息补充当收到来自路侧单元的模糊警告信息如“前方有障碍”车辆自身的O3N系统可以快速扫描并用自然语言描述障碍详情与云端信息进行交叉验证提升可靠性。可解释的决策当系统做出一个令人费解的决策时如突然减速我们可以回溯查询当时O3N感知到了什么。决策日志可以记录为“因检测到‘儿童皮球’滚入车道且‘追逐皮球的儿童’出现在路边预测儿童有闯入车道风险故执行减速。”这极大地增强了系统的可解释性和调试效率。4.3 当前局限与演进方向当然O3N目前仍处于研究和初步探索阶段距离大规模车规级落地还有距离。实时性尽管采用了稀疏卷积但加上开放词汇查询的步骤整体计算延迟仍需进一步优化以满足高速行驶的实时性要求通常要求100ms。语义幻觉与错误关联视觉-语言模型固有的问题——可能会产生“幻觉”将视觉上相似但语义不同的物体关联到错误的文本上。例如一个红色的消防栓可能被错误地关联到“邮筒”。这需要更鲁棒的对齐训练和推理时的纠错机制。3D几何精度基于视觉的深度估计和3D重建其几何精度目前仍难以匹敌激光雷达。在需要厘米级精度进行定位和避障的场景下可能需要与激光雷达SLAM等技术融合。评估标准如何定量评估一个开放词汇占用模型的性能传统的mIoU平均交并比只适用于封闭类别。可能需要设计新的指标如“描述准确性”、“检索成功率”等但这本身就是一个开放的研究问题。未来的演进可能会朝着多模态大模型直接端到端理解3D场景的方向发展。例如将环视图像和激光雷达点云直接输入一个经过3D数据微调的多模态大模型如3D-LLM让其直接输出对场景的结构化自然语言描述和3D标注。O3N可以看作是这条路径上一个重要的、可解释的中间形态它明确了将几何与语义解耦再融合的技术路线为更强大的场景理解模型奠定了坚实的基础。在实际项目落地中我的体会是不要期望一上来就用O3N完全取代现有的成熟感知栈。一个更可行的路径是将其作为“感知增强模块”或“新奇物体监测模块”来集成。用传统感知保证主干功能的稳定和实时用O3N来处理那些“不认识的”物体并为整个场景提供一层可查询的语义覆盖。这种渐进式的融合既能快速体现新技术的价值又能控制系统整体的复杂性和风险。从“认识所有训练过的东西”到“尝试理解所有看到的东西”O3N代表的是感知系统一次重要的范式转变它让自动驾驶汽车向真正的“场景理解”又迈进了一步。