1. 课程导入
在自动驾驶、机器人导航与三维场景理解领域,Occupancy 网络(占据网络)已经成为继 BEV 感知之后最具代表性的技术方向之一。它的核心思想并不复杂:让神经网络直接回答三维空间中每一个体素是否被物体占据、被什么语义类别占据,从而把传统的“检测框 + 地图”范式,推进到“稠密三维语义场”的范式。本课程将围绕 Occupancy 网络的训练与部署工程展开,从原理、数据、模型、训练、优化到车端部署,形成一条完整的工程链路。
一、Occupancy 网络的定义
Occupancy 网络是一类以三维体素或隐式场为输出表示的感知模型。给定多视角相机图像、激光雷达点云或两者融合的输入,网络输出一个规则的三维网格 O ∈ R^(X×Y×Z×C),其中每个体素包含占据概率与语义类别。与 3D 目标检测只输出有限个边界框不同,Occupancy 网络输出的是对连续空间的稠密离散化描述,因此能够表达任意形状的障碍物、不规则路面、悬空结构以及被遮挡区域。
一句话理解:检测网络回答“那里有什么物体”,Occupancy 网络回答“空间中的每个位置是否可通行、属于什么”。
从数学形式看,Occupancy 网络通常建模为条件概率 P(o_i | I_1...I_n),其中 o_i 表示第 i 个体素的状态。训练时常用交叉熵损失或焦点损失,并配合语义分割头实现多类别输出。推理时通过阈值化得到占据栅格,再用于规划控制模块的碰撞检测与可通行区域判断。
二、发展背景与技术演进
Occupancy 网络的出现并非偶然,而是感知技术演进的必然结果。早期自动驾驶感知以 2D 检测为主,随后发展到 3D 检测与 BEV 感知。但 BEV 仍然依赖栅格化投影,对高度信息和悬空物体表达不足。2022 年前后,Tesla、地平线、小鹏等企业相继提出 Occupancy 方案,标志着感知从“框”走向“场”。
- 2018–2020:BEV 感知兴起,LSS、BEVDet 等方法将图像特征投影到俯视平面。
- 2021–2022:BEVFormer、PETR 等引入 Transformer,提升多视角融合能力。
- 2022–2023:Occupancy 网络爆发,TPVFormer、OccNet、SurroundOcc 等方案相继发布。
- 2023 至今:从纯视觉 Occupancy 走向多模态融合,并强调车端实时部署与稀疏化加速。
这一演进背后的驱动力有三点:一是数据规模与算力提升,使稠密三维监督成为可能;二是规划控制对通用障碍物表达的需求增强;三是芯片算力与稀疏卷积、量化技术的成熟,让 Occupancy 具备量产部署条件。
三、典型应用场景
Occupancy 网络的价值在于其通用性与稠密性,因此应用场景非常广泛。下表列出主要场景与对应关注点:
| 应用场景 | 核心需求 | 典型输出 |
|---|---|---|
| 自动驾驶障碍物感知 | 通用障碍物、异形物体 | 语义占据栅格 |
| 可通行区域判断 | 路面、路沿、悬空物 | 可行驶区域体素 |
| 机器人导航 | 室内外三维建图 | 占据地图 |
| 自动泊车 | 低矮障碍、车位边界 | 局部占据场 |
| 仿真与数据闭环 | 场景重建、回放 | 稠密语义场 |
在自动驾驶中,Occupancy 网络最直接的价值是解决“长尾障碍物”问题。传统检测器对训练集中未出现的异形物体容易漏检,而 Occupancy 网络只需判断体素是否被占据,不依赖物体类别先验,因此鲁棒性更强。
四、整体学习路线图
本课程共 30 章,围绕“原理—数据—模型—训练—部署”五条主线展开。下面用一张结构图展示整体学习路线,帮助建立全局认知。
从上图可以看到,课程并非线性罗列,而是以“原理—数据—模型—训练—部署”五条主线并行推进,最终汇聚到工程落地。每一章都会围绕一个具体工程问题展开,例如体素分辨率如何选择、稀疏卷积如何加速、量化后精度如何保持等。
五、常见误区与学习建议
误区一:把 Occupancy 网络等同于 3D 目标检测。实际上 Occupancy 输出的是稠密语义场,不依赖物体实例,表达能力更强但计算量更大。
误区二:认为体素分辨率越高越好。分辨率提升会带来立方级显存增长,必须结合感知距离与部署算力权衡。
误区三:忽视数据标注质量。Occupancy 对标注一致性极其敏感,体素级标注误差会直接导致训练发散。
学习建议:先建立“空间离散化 + 语义分类”的直觉,再动手复现一个最小 Occupancy 网络。建议从 nuScenes 或 Occ3D 数据集入手,先跑通训练与可视化,再逐步深入稀疏化与部署优化。
# 典型 Occupancy 训练配置片段
voxel_size: [0.4, 0.4, 0.4] # 体素分辨率(米)
pc_range: [-40, -40, -1, 40, 40, 5.4]
num_classes: 18 # 语义类别数
loss:
ce_weight: 1.0
lovasz_weight: 0.5
optimizer:
type: AdamW
lr: 2e-4
weight_decay: 0.01
掌握 Occupancy 网络,不仅是学会一个模型,更是理解自动驾驶感知从“稀疏框”走向“稠密场”的范式转变。接下来的章节将逐层拆解这条工程链路,帮助你把原理真正落到可训练、可部署的系统中。