OE Agent“天工”新版本发布,请前往论坛顶部查看,欢迎试用并反馈~
查看OE-Skills
专栏感知规控Occupancy 接入规划:自动驾驶从“识别物体”到“经营不确定性”的架构迁移

Occupancy 接入规划:自动驾驶从“识别物体”到“经营不确定性”的架构迁移

巴山夜雨2026-07-04
25
0
自动驾驶系统过去很像一个老派工厂:感知部门负责把世界拆成一张张清单,预测部门负责猜这些清单下一秒会去哪,规划部门拿着这些清单做路线。车、行人、锥桶、护栏、车道线、停止线,每一个对象都要被命名、归档、排序,然后再被送进规划器。这套系统的问题不在于不聪明,而在于它太依赖“命名”(障碍物必须先有ID)。
现实道路并不总是配合算法分类。掉落的床垫、横放的梯子、半开的货车尾门、积水反光、施工围挡、被遮挡一半的行人,这些东西不一定能被稳定识别成某个标准类别,但它们依然会撞车。传统感知系统像一个只相信身份证的人:没有明确类别,就不敢下判断。Occupancy 的价值,是把问题从“这是什么”降维成“这里能不能被车身占用”。这不是语义能力的胜利,而是工程诚实性的胜利。

Occupancy 的本质,是把世界表达为一个概率化的空间场。它不像检测框那样说“这里有一辆车”,而是说“这个空间单元在当前或未来被占据的概率是多少”。这看似粗糙,实际更接近规划系统真正关心的问题:车身经过某个空间时,风险是多少。

真正值得讨论的,不是 Occupancy 本身有多先进,而是它在规划链路中被“消费”到什么程度。它可以只是一个兜底报警器,也可以成为规划代价函数的一部分;它可以被压扁成 2D 边界,也可以保留为 4D 时空概率场;它可以作为端到端网络里的辅助监督,也可以成为世界模型的核心状态变量

自动驾驶系统的演进,不是从“没有 Occupancy”到“有 Occupancy”这么简单。真正的分水岭在于:概率信息有没有活到规划决策那一刻。


图 1|Occupancy 与规划结合的工程演进

图片

一、不要问 Occupancy 是否先进,要问它在哪里被截断

在工程系统里,信息不是天然有价值的。信息只有在没有被过早压缩、阈值化、离散化、启发式规则覆盖时,才真正有价值

Occupancy 最大的价值是概率场,而最常见的浪费方式,是把它过早变成“能走 / 不能走”的二值边界。

这就像气象雷达能告诉我们一片云团的厚度、移动方向和降雨概率,但我们最后只把它画成一条红线:线内危险,线外安全。图变干净了,信息也没了。

结合层级

Occupancy 的角色

信息保留程度

工程价值

主要代价

间接结合

安全兜底 / Free Space 边界来源

不推翻原规划栈,量产风险低

概率、3D结构、时序信息大量丢失

半直接结合

栅格代价地图 / 碰撞代价输入

中高

规划器能直接利用概率与几何

算力、访存、实时性压力上升

隐式端到端

训练监督 / BEV 特征约束

隐式保留

提高复杂交互能力

调试困难,安全验证弱

显式端到端

世界模型核心状态

可预测、可渲染、可回放

预测误差累积,车端部署成本高

Occupancy 真正改变规划系统的地方,不是让车“看见更多东西”,而是让规划器第一次有机会面对一个灰度世界。

传统规划器喜欢黑白世界:有障碍、无障碍;在车道内、在车道外;可通行、不可通行。但真实道路是灰度的。一个低矮纸箱、一个塑料袋、一片积水、一个悬空货车尾板,它们都不适合被简单塞进“障碍物”或“非障碍物”。Occupancy 把这种灰度显式表达出来,规划系统才有可能做出更像人类的风险管理。


二、阶段一:间接结合——给旧规划栈加一只“几何保险丝”

间接结合是最容易量产、也最容易被误解的方案。

它的核心做法是:Occupancy 网络输出 3D 或 BEV 占据结果,系统再通过高度切片、投影、阈值化、形态学处理、轮廓提取,把它变成 Free Space 边界或障碍物多边形,然后送入传统规划器。

图片

这套方案像在老房子里加装烟雾报警器。它不改变房子的电路、水管和结构,但能在最危险的时候发出警报。对于已有成熟规划栈的车企,这是很现实的选择。安全验证资产可以复用,规划器接口变化小,算力压力可控,量产节奏不会被彻底打断。

但它的缺陷也很硬。Occupancy 本来是一张概率地图,进入后处理后被压缩成边界线。规划器看到的不是“这里有 0.35 的占据概率,那里有 0.82 的占据概率”,而是“这里不能走,那里能走”。这等于把灰度照片重新描成线稿。

更麻烦的是,后处理链路本身会放大误差。一个 0.3m 分辨率的 BEV 栅格,边界量化误差通常已经和栅格尺寸同量级相关。再经过膨胀、腐蚀、轮廓提取和凸包拟合,障碍物边界往往会被“吹胖”。在宽阔道路上,这种保守没什么问题;到了狭窄会车、施工绕行、地下车库、城中村道路,它就会变成通行能力问题。车不是不知道前面有路,而是它看到的“安全空间”被自己算法的安全边界吃掉了。

间接结合真正适合什么场景?

场景

是否适合

原因

中低速 L2+ 辅助驾驶

适合

可作为漏检兜底,接入成本低

泊车 / 低速避障

适合

对速度预测要求低,几何兜底收益明显

高速复杂交互

不充分

动态预测和时空一致性不足

无图城区 NOA

勉强可用

需要大量规则补丁支撑

L4 Robotaxi

不足

可验证性有,但表达能力不够完整

在公开技术展示中,Occupancy Network 已经被一些公司作为关键空间表征展示出来,Tesla 2022 AI Day 也专门展示过 Occupancy Network 与 Planning 相关内容;但公开展示不能直接推出内部量产系统的仲裁优先级,更不是“无条件相信某一路感知”。工程上没有“无条件相信”,只有置信度、时序稳定性、传感器一致性、场景上下文和安全策略共同决定的仲裁。

真正成熟的系统不会盲信 Occupancy,也不会盲信检测框。它会问几个更冷静的问题:

仲裁问题

工程含义

这个占据是否连续出现?

排除单帧噪声与反光伪影

是否跨传感器一致?

Camera / LiDAR / Radar 是否相互支持

是否符合地面几何?

防止把影子、积水、广告牌误判为障碍

是否与自车运动相关?

判断障碍是否处于可碰撞路径内

错判代价与漏判代价哪个更高?

高速场景偏保守,低速窄路不能过度保守

Occupancy 在这一阶段不是主厨,更像验毒针。它不能决定整桌菜怎么做,但它能在最危险的时候阻止系统把毒吃下去。


三、阶段二:半直接结合——让规划器直接阅读概率场

半直接结合才是 Occupancy 真正进入工程主战场的地方。这个阶段的关键变化是:规划器不再等待 Occupancy 被后处理成边界,而是直接使用栅格概率参与代价计算。碰撞检测从“多边形是否相交”变成“车身覆盖区域内的占据概率积分”。

传统规划像拿尺子量边界,半直接结合像在一张热力图上找低温通道。前者问“碰没碰到”,后者问“这条路径的风险总量是多少”。

核心代价表达

可以把车辆轨迹上的碰撞风险简化理解为:

其中:

符号

工程含义

Occupancy(x, y, t)

某个时空栅格被占据的概率

VehicleKernel

车辆轮廓在该姿态下覆盖栅格的权重

θ

自车航向角

v

当前速度

RiskWeight

根据车速、场景、道路类型调整的风险权重

这个变化看起来只是碰撞检测方式变了,实际是规划哲学变了。

传统二值碰撞检测像法官:只判有罪或无罪。栅格概率代价像风险经理:它不急着判死刑,而是计算每条路径的风险暴露。


图 2|半直接结合的 Layered Costmap 架构

图片

半直接结合的创新点,不是“用了 Occupancy”,而是重构了三个接口。

规划输入接口:从对象列表变成空间场

对象列表天然依赖检测与跟踪。只要对象没有被稳定识别,规划器就很难处理。空间场不要求每个物体都有名字。它只要求知道哪些空间单元危险。
这对长尾物体很关键。散落物、异形车辆、临时施工设备、不规则路障,它们未必能被分类器准确命名,但可以在占据空间中留下几何痕迹。

Occupancy 不是“彻底解决异形障碍物”,它只是扩大了系统可表达的物理世界范围。遇到雨雾、反光、遮挡、传感器脏污,Occupancy 仍然会退化。

碰撞检测接口:从硬边界变成软势场

传统车辆模型通常用矩形框、多圆模型或多边形表达。硬边界的问题是代价不连续:差一点没撞,代价是 0;刚刚碰到,代价突然变成无穷大。这对优化器不友好。

更工程化的做法,是把车辆轮廓近似为高斯核或多中心高斯核,与 Occupancy 栅格做局部加权求和。
图片

这样障碍物附近形成连续风险场,轨迹优化器可以沿着梯度自然远离高风险区域。

图片

这像把墙从“硬砖头”变成“越来越烫的空气”。车越靠近障碍物,代价越高;优化器不需要等到撞上才知道危险。

计算接口:从 CPU 几何运算转向 GPU 栅格并行

半直接结合听起来优雅,落到车端就是算力账。

一张 BEV 栅格如果覆盖 100m × 100m,分辨率 0.2m,就有 250,000 个格子。再叠加高度层、时间维度、多候选轨迹、多车辆姿态,计算量会迅速膨胀。这里真正的瓶颈往往不是算法公式,而是访存和数据搬运
CPU 适合处理稀疏对象列表,GPU 适合处理密集栅格场。半直接结合要发挥价值,规划系统就不能只在最后一步把代价计算丢给 GPU,而要把轨迹采样、局部栅格索引、车辆核函数查表、风险积分尽可能放到同一块计算路径里。否则 CPU 和 GPU 之间来回搬数据,收益会被通信开销吃掉。

表 2|半直接结合中的关键工程权衡

设计项

激进方案

保守方案

工程问题

栅格分辨率

近场

近场 0.25–0.4m

精细避障与算力/显存带宽冲突

高度表达

完整 3D Voxel

多高度层 BEV

保留立体结构还是压缩输入

时间维度

多秒 Occupancy Flow

短时预测 + 跟踪补偿

长时预测误差会快速累积

车辆模型

多高斯核 / 连续势场

矩形框 / 多圆模型

可微优化与计算成本冲突

安全边界

概率自适应

固定膨胀距离

灵活性与可验证性冲突

地图融合

地图栅格实时融合

地图只作为规则约束

地图过期与感知冲突如何仲裁

这里最容易出问题的是安全边界。

很多系统为了安全,会把 Occupancy 代价做得很厚。结果是车辆在开阔道路上很安全,在窄路里像一个怕脏鞋的人:明明能过,就是不敢过。高斯核尾部如果不截断,低概率风险会铺满整个狭窄通道;截断太狠,又会损失提前避障能力。

这类参数不是调得越保守越好。过度保守也是安全风险,因为后车追尾、路口僵持、无保护左转迟滞、施工区停车,都会把车辆暴露在新的风险里。自动驾驶的安全不是“不动”,而是在风险之间做最小化选择。


四、动态 Occupancy:真正困难的是未来,不是当前

当前帧 Occupancy 解决的是“现在空间里有什么”。规划真正需要的是“我到那里的时候,那里会有什么”。

这就是 Occupancy Flow 和 4D Occupancy 的价值。Waymo 提出的 Occupancy Flow Fields 把运动预测表达为时空栅格,每个格子不仅有占据概率,还包含表示运动方向和幅度的 flow vector,用来缓解单纯 occupancy grid 不表达运动的问题。

这一步非常关键。因为自动驾驶规划不是在静态地图上画线,而是在一群会移动、会犹豫、会抢行、会犯错的人之间下注。

图片

这里的技术难点不是把未来栅格画出来,而是让它对规划有用。

一个预测模型如果只是生成“看起来合理”的未来场景,对车端没有太大意义。规划需要的是可比较、可回放、可归因的未来风险。也就是说,不同自车动作必须能导致不同未来占据结果,否则世界模型只是一个漂亮的动画播放器。

这也是动作条件世界模型的意义。它不只是问“世界会怎样”,而是问“如果我刹车、加速、变道、让行,世界分别会怎样”。

近年的研究已经在尝试把 4D Occupancy forecasting 与规划结合,例如 Drive-OccWorld 将视觉中心的 4D occupancy forecasting world model 用于端到端规划,并探索 action condition、future occupancy and flow forecasting 以及 occupancy-based cost function。


五、隐式端到端:性能像涡轮,验证像黑箱

隐式端到端的逻辑很诱人:不要再人为拆分感知、预测、规划,让网络从传感器输入直接学习到驾驶轨迹。Occupancy 在这里不一定作为显式规划输入,而更像训练时的几何老师。它通过辅助监督约束 BEV 特征,让网络内部学到空间结构、遮挡关系和运动规律。

这套范式的优点很明显。模块化系统每经过一个接口就会损失信息:检测框丢掉形状,轨迹预测丢掉联合不确定性,规则规划丢掉人类驾驶里的微妙博弈。隐式端到端试图让信息在同一个特征空间里流动,减少人为接口造成的损耗。

但它也带来一个硬伤:你很难知道系统为什么这样开。模块化系统像一台拆得开的机械表,每个齿轮都能检查。隐式端到端像一块封装芯片,性能可能更强,但出了问题只能通过输入输出倒推。对于量产自动驾驶,这不是小问题。事故复盘、责任界定、安全验证、法规沟通,都要求系统能解释“为什么在这个时刻选择这条轨迹”。

维度

模块化系统

隐式端到端

性能上限

受接口损失限制

更高

调试方式

可逐模块定位

依赖数据回放与归因分析

长尾泛化

依赖规则与数据覆盖

可能更强,但不可完全预测

安全验证

白盒程度较高

白盒验证困难

工程维护

模块多,接口复杂

架构简洁,但问题定位难

量产风险

可控但上限有限

上限高但安全论证更难

在真实量产中,端到端模型通常仍需要安全壳、规则约束、冗余监控和可回退策略。没有这些东西,端到端不是自动驾驶系统,只是一个会输出轨迹的大模型。


六、显式端到端:把世界模型做成规划器的沙盘

显式端到端试图解决隐式端到端的黑箱问题。它保留神经网络的强表征能力,但不让网络直接把一切吞掉。系统先预测未来多帧 4D Occupancy + Flow,再让规划器在这个可观测、可渲染、可回放的未来世界中选择轨迹。

这更像军队做沙盘推演:不是凭直觉下命令,而是先推演不同路径下敌我位置变化,再选风险最低的行动。

图片

显式端到端的最大优点,是它保留了工程系统最需要的三样东西:

能力

工程价值

可解释

能看到未来哪个空间风险导致规划器避让

可回放

问题场景可以离线重演,方便定位

可验证

可以对未来占据结果、规划代价、安全边界分别测试

但它的代价也很沉重。4D Occupancy 的计算量不是普通 BEV 感知的线性升级,而是把空间、时间、语义、运动、自车动作条件全部揉在一起。当前帧看错一次,未来多帧连续滚动预测会把误差累积放大。世界模型如果过度自信,会让规划器相信一个不存在的未来;如果过度保守,车辆会像患有焦虑症一样开车。

显式端到端真正要解决的不是“预测未来”,而是“知道自己预测得有多不确定”。没有不确定性校准的世界模型,只是高级幻觉机。


图 3|Occupancy 规划系统的技术脑图

图片

七、真正的创新不在模型名,而在四个工程缝隙

很多文章写 Occupancy,喜欢堆概念:BEV、Transformer、4D、World Model、End-to-End。问题是这些词本身不构成工程创新。真正决定系统水平的,是几个缝隙处理得怎么样。

缝隙一:感知概率如何变成规划代价

Occupancy 输出 0.7,并不自动意味着规划器应该避让多少。概率到代价之间需要映射函数,这个映射函数会决定车辆性格。

同样的 Occupancy,代价映射陡峭,车会保守;映射平缓,车会激进。高速场景需要高惩罚,泊车场景需要允许低速贴近。雨雾场景需要扩大不确定性边界,窄路会车又不能让边界过度膨胀。

真正的工程能力,不是有一个 Occupancy 网络,而是能根据速度、场景、道路拓扑、交通参与者类型和历史稳定性动态调整风险代价。

缝隙二:高度信息如何压缩

完整 3D Voxel 很贵,直接压成 2D 又容易丢失信息。路沿、低矮障碍、悬空货车尾板、限高杆,对自车风险完全不同。高度压缩不是简单投影,而是一次面向车辆几何的风险提取。

高度区域

风险类型

处理策略

近地面低矮区域

路沿、碎石、坑洼、井盖噪声

需要区分可碾压与不可碾压

车身碰撞区域

车辆、行人、锥桶、护栏

主碰撞检测区域

车顶 / 悬空区域

限高杆、货车尾部、树枝

需要结合车辆高度与路径姿态

高空区域

广告牌、树冠

多数情况下不应影响规划

高度切片阈值必须与车型底盘高度、传感器安装位置、场景类型和可碾压策略绑定,不存在一个放之四海皆准的固定区间。

缝隙三:地图和实时感知冲突时相信谁

地图是记忆,Occupancy 是现场。记忆有用,但会过期;现场真实,但会有噪声。

高精地图告诉你这里有车道线,Occupancy 告诉你这里有施工围挡。系统不能简单选一个相信。它需要判断地图元素的时效性、感知结果的稳定性、道路拓扑的可替代性,以及违反地图行驶的法规风险。这类冲突是城市 NOA 的日常,不是 corner case。

缝隙四:系统如何证明自己安全

Occupancy 让感知表达更连续,但也让验证更复杂。传统多边形障碍物可以做明确的碰撞检查,概率场则需要定义风险阈值、代价积分、时序一致性和不确定性边界。

这意味着安全验证必须从“是否撞上障碍物”扩展到:

验证对象

需要回答的问题

Occupancy 校准

预测概率是否和真实占据频率一致

时序稳定性

同一障碍是否闪烁、漂移、消失

规划代价映射

低概率风险是否被过度放大或忽略

轨迹安全边界

不同速度下是否满足制动与避让约束

回退策略

Occupancy 退化时系统如何降级



八、四类架构的最终判断

架构

工程本质

最适合的落地位置

最大风险

间接结合

用 Occupancy 给传统规划补盲

已量产平台、低成本 L2+、泊车

信息损失严重,狭窄场景保守

半直接结合

让规划器直接读取概率场

城市 NOA、复杂泊车、无图泛化

算力与验证复杂度上升

隐式端到端

用 Occupancy 训练更强 BEV 特征

数据闭环强、追求交互性能的平台

黑箱决策与事故归因困难

显式端到端

用 4D 世界模型做可解释推演

高阶自动驾驶、Robotaxi、研究前沿

预测误差累积,车端成本高

如果要给出一个冷静判断:未来相当长一段时间,主流量产不会直接跳到完全显式世界模型,也不会彻底抛弃模块化安全壳。更现实的路线是半直接结合成为中枢,端到端模型提供候选轨迹或特征增强,规则系统和安全监控作为外层约束。

也就是说,量产自动驾驶不会是一场“神经网络消灭传统规划”的革命,更像一次缓慢的器官移植:先换感知表征,再换碰撞检测,再换预测接口,最后才可能换掉决策心脏。


九、核心结论

Occupancy 的价值不在于它比检测框“更高级”,而在于它把自动驾驶规划从对象中心推向空间中心。

对象中心的系统问:“我识别出了什么?”

空间中心的系统问:“我的车身在未来几秒能安全占用哪里?”这是一个更接近驾驶本质的问题。

但 Occupancy 不是银弹。它解决了传统感知对语义类别过度依赖的问题,却引入了新的系统成本:栅格分辨率、显存带宽、概率校准、时序一致性、地图冲突、代价映射、安全验证。真正成熟的自动驾驶公司不会把 Occupancy 当成一个炫技模块,而会把它当成贯穿感知、预测、规划、仿真和数据闭环的统一空间协议。

一句话概括:

Occupancy 不是让车“看见物体”的技术,而是让车“经营空间风险”的技术。它的终点不是更大的栅格,而是一个能被规划器理解、被安全系统约束、被工程团队验证的概率世界。

这才是它真正重构自动驾驶系统的地方。

文章转载自公众号:车规级思考
原文链接:https://mp.weixin.qq.com/s/dsEzHYxKCLrVY-uQcI7oGw
感知规控
技术深度解析
评论0
0/600