1. 技术背景与核心挑战
室内3D占用预测技术正在成为机器人导航、增强现实等应用的基础支撑。传统方法通常采用固定词汇表(closed-vocabulary)进行语义标注,这种设定在真实室内场景中面临显著局限——家庭环境中可能出现的物体类别数以万计,且新的物品类型不断出现。例如,当扫地机器人遇到训练数据中未定义的"智能空气净化器"时,传统系统只能将其归类为预定义的"家具"或直接忽略。
现有解决方案主要存在三个关键瓶颈:
- 几何密度问题:相比开阔的室外道路场景,室内环境包含更多细粒度结构(如镂空椅背、多层书架),要求占用预测具有毫米级精度
- 语义长尾分布:室内物品呈现典型的幂律分布,少数常见类别(桌椅)与大量罕见类别(特定装饰品)共存
- 标注成本障碍:获取体素级语义标注需要专业设备与人工,单个场景标注成本可达40人时,而几何信息(如深度图)可通过消费级RGB-D相机自动获取
2. 方法框架设计
2.1 整体架构
LegoOcc系统采用双分支设计,共享统一的3D语言嵌入高斯(LE-Gaussians)表示:
- 几何分支:将高斯参数(μ,Σ,α)转换为体素占用率
- 语义分支:通过可学习嵌入fᵢ关联语言特征
关键创新:不同于传统方法分别处理几何与语义,LE-Gaussians将两者耦合在同一个可微表示中,使几何优化能同步提升语义对齐质量。
2.2 语言嵌入高斯表示
每个高斯元组定义为Gᵢ=(μᵢ, Σᵢ, αᵢ, fᵢ),其中:
- μᵢ∈ℝ³:中心位置坐标
- Σᵢ∈ℝ³ˣ³:协方差矩阵(控制椭球形状)
- αᵢ∈[0,1]:不透明度
- fᵢ∈ℝᵈ:768维CLIP-aligned语义嵌入
这种表示具有两个独特优势:
- 显式几何建模:通过αᵢ控制局部贡献度,避免隐式网络的黑箱行为
- 语言锚定:fᵢ与CLIP文本编码器共享嵌入空间,支持自然语言查询
3. 关键技术实现
3.1 泊松高斯-占用转换
传统GaussianFormer2方法直接叠加空间核pᵢ(x),忽略不透明度αᵢ,导致几何与语义分支解耦。我们重新建模该过程为泊松点过程:
事件强度定义:
h_i(x) = α_i p_i(x) = α_i \exp\left(-\frac{1}{2}(x-μ_i)^TΣ_i^{-1}(x-μ_i)\right)累积强度计算:
z(x) = \sum_{i=1}^N h_i(x)泊松占用概率:
p_{occ}(x) = 1 - e^{-z(x)}
实验表明,该公式在二进制监督下比传统方法提升12.85 IoU(见表1)。其物理意义可类比"光子到达检测器"模型——多个高斯元的叠加增加"击中"概率,而αᵢ控制各元的发射强度。
| 方法 | IoU | mIoU |
|---|---|---|
| GaussianFormer2 | 46.65 | 17.25 |
| Bernoulli | 56.96 | 20.85 |
| Poisson (Ours) | 59.50 | 21.05 |
3.2 渐进温度衰减策略
语义分支面临的核心难题是特征混合(feature mixing)——当多个高斯元投影到同一像素时,其语义特征会线性混合,导致语言对齐模糊。我们提出动态温度调控方案:
def get_temperature(progress): T_max, T_min = 1.0, 0.001 return max(T_min, T_max * (T_min/T_max)**progress)该策略实现三个关键效果:
- 训练初期(τ=1.0):平滑的sigmoid输出允许梯度充分流动
- 训练中期:指数衰减快速进入低温区,增强特征区分度
- 训练后期(τ=0.001):接近阶跃函数,实现准硬分配
如图3所示,相比线性衰减,指数调度在训练后期提供更长的微调时间,使mIoU提升2.2点。
4. 工程实现细节
4.1 数据预处理流程
- 深度估计:采用Depth-Anything V2生成初始几何先验
- 高斯初始化:在深度图表面点云周围放置各向异性高斯
- 初始尺度σ=0.01m(适应家具细粒度结构)
- 旋转角由表面法向推导
4.2 损失函数设计
多任务损失包含五项:
\mathcal{L} = λ_1\mathcal{L}_{focal} + λ_2\mathcal{L}_{lov} + λ_3\mathcal{L}_{scal} + λ_4\mathcal{L}_{feat} + λ_5\mathcal{L}_{depth}其中:
- $\mathcal{L}_{feat}$计算渲染特征与Trident分割模型的余弦相似度
- $\mathcal{L}_{scal}$通过CRF增强空间一致性
4.3 推理优化
- 体素哈希:使用3D稀疏卷积加速占用查询
- 语言缓存:预计算常见物体的CLIP文本嵌入
- 动态加载:根据视野变化动态更新高斯集合
5. 实战问题与解决方案
5.1 小物体漏检
现象:薄书本、电线等细小物体预测不全
解决方案:
- 在深度估计阶段添加边缘增强模块
- 调整高斯初始尺度σ∈[0.005,0.02]m
- 对低αᵢ高pᵢ(x)区域进行非极大值抑制
5.2 语义混淆
案例:将"吧台椅"误判为"高脚凳"
缓解策略:
- 在CLIP特征空间添加室内专用的适配层
- 引入物体关系图约束(如"台灯"常出现在"床头柜"上方)
- 多视角投票机制减少单帧歧义
6. 性能对比与部署考量
在Occ-ScanNet测试集上,LegoOcc达到59.50 IoU,比最佳基线高3.02点。实际部署时需注意:
计算资源:
- 训练:需要4×RTX 4090(24GB显存)
- 推理:单帧耗时45ms(满足实时性)
领域适配:
def adapt_to_new_domain(scene_type): if scene_type == "office": adjust_gaussian_scale(0.8) set_prior_classes(["filing_cabinet", "whiteboard"]) elif scene_type == "kitchen": adjust_gaussian_scale(1.2) set_prior_classes(["blender", "cutting_board"])- 持续学习:
- 通过在线渲染对齐更新高斯参数
- 新增词汇通过文本编码器即时扩展
这项工作的核心价值在于将开放词汇能力与精确几何建模结合,为具身智能提供了可扩展的环境理解方案。未来可探索方向包括多模态提示(如结合触觉信号)以及动态场景建模。对于实际应用,建议从办公室等结构化场景开始逐步扩展到复杂家居环境。