EmbodiedOcc
约 9261 字大约 31 分钟
2025-04-28
EmbodiedOcc: Embodied 3D Occupancy Prediction for Vision-based Online Scene Understanding
摘要
三维空间占用预测为周围场景提供了全面的描述,已成为三维感知领域的一个重要任务。大多数现有方法都专注于从一个或几个视角进行离线感知,无法应用于需要逐步感知场景的具身智能体。
在本文中,我们针对这一实际场景,提出了一个具身三维空间占用预测任务,并提出了基于高斯分布的EmbodiedOcc框架来完成这一任务。我们用均匀的三维语义高斯分布初始化全局场景,并逐步更新具身智能体观察到的局部区域。在每次更新中,我们从观察到的图像中提取语义和结构特征,并通过可变形交叉注意力高效地将它们整合起来,以优化区域高斯分布。
最后,我们使用高斯到体素的溅射技术从更新后的三维高斯分布中获得全局三维空间占用。我们的EmbodiedOcc假设环境是未知的(即均匀分布),并用三维高斯分布维护一个明确的全局记忆。它通过局部优化区域高斯分布逐渐获得知识,这与人类通过具身探索理解新场景的方式一致。我们基于局部标注重新组织了一个EmbodiedOccScanNet基准测试,以促进对具身三维空间占用预测任务的评估。
实验表明,我们的EmbodiedOcc在局部预测方法上优于现有方法,并以高准确性和强大的可扩展性完成了具身空间占用预测。代码可在以下链接获取:github。
图1:我们的EmbodiedOcc能够实时接受单目RGB输入,并在室内场景中进行具身空间占用预测。我们用均匀的三维语义高斯分布初始化待探索的场景,并根据实时观测在线更新维护的高斯记忆。随着探索的进行,EmbodiedOcc对全局场景的空间占用预测不断改进,这正是一个有潜力的具身智能体所应具备的能力。
图中还展示了不同时间点(T=1、T=5、T=9、T=18、T=25)的探索进度,展示了随着探索的进行,未知环境的空间占用预测逐渐变得更加准确和完整。
图2:我们的EmbodiedOcc框架用于具身三维空间占用预测。在探索当前场景的过程中,我们维护一个明确的全局三维高斯分布记忆。在每次更新时,我们从记忆中提取当前视锥体内的高斯分布,并使用从单目RGB输入中提取的语义和结构特征来更新它们。每个高斯分布都有一个置信度值,用于确定此次更新的程度。然后,我们将这些更新后的高斯分布放回记忆中。在连续探索过程中,我们可以通过高斯到体素的溅射模块获得当前的三维空间占用预测。
1. 引言
随着具身智能和主动智能体的快速发展,三维场景感知已成为计算机视觉中的一个关键任务。在室内场景中探索的智能体通过感知和理解周围环境来做出决策并执行下游任务。这些智能体所需的三维感知能力多种多样,其中三维空间占用预测因其效率、统一性和可扩展性而越来越受欢迎。尽管在室外驾驶场景中基于视觉信息的三维空间占用预测已取得显著进展,但由于室内场景的多样性和复杂性,室内研究仍处于初步探索阶段。大多数现有方法通过整合从视觉输入中提取的语义和深度信息来推导局部离线三维局部空间占用预测。
然而,这些工作与具身智能体的核心要求本质上不一致。一个更有前景的主动智能体应该能够随着其位置和视角的变化逐步探索并更新三维场景的全局空间占用。为了弥合现有研究与实际场景之间的差距,我们提出了一个具身三维空间占用预测任务,以评估感知模型逐步探索未知场景的能力,并提出了基于高斯分布的EmbodiedOcc框架来完成这一新任务。
我们用均匀的三维语义高斯分布初始化全局场景,并逐步更新位于智能体视野内的高斯分布。在整个探索过程中,我们维护一个明确的全局三维高斯分布记忆,并伴随着一个高斯到体素的溅射模块,该模块推导出当前的三维空间占用。具体来说,我们为每次更新提出了一个局部预测模块,从单目图像中提取语义特征,并通过可变形交叉注意力将它们整合起来。这些整合良好的特征用于更新视锥体内的高斯分布。
我们的局部预测模块采用一个简单而有效的深度感知分支,为每个高斯分布提供明确的提示信息,确保这些高斯分布的更新更好地与局部结构对齐。在智能体连续探索同一场景的过程中,视锥体内的高斯分布从记忆中取出,之前更新过的高斯分布可以为当前帧的更新提供高置信度的信息。这确保了在融合和更新过程中的三维表示的一致性,这实际上得益于高斯分布的物理意义和结构信息。
我们基于局部标注的Occ-Scannet数据集重新组织了一个EmbodiedOcc-Scannet基准测试,用于具身三维空间占用预测任务。实验表明,我们的EmbodiedOcc在局部空间占用预测方面优于现有方法,并以高准确性和强大的可扩展性完成了室内场景的具身空间占用预测。
2. 相关工作
三维空间占用预测:由于其紧凑性和多功能性,三维空间占用预测在过去几年中在室内外场景中都获得了极大的关注。基于多视角图像或额外三维信息的方法在许多场景中都取得了显著进展。MonoScene首次从单张图像中推导出三维空间占用预测,随后的研究进一步关注解决单目设置中的深度模糊问题,共同推动了这一领域进入更具挑战性的阶段。然而,大多数这些努力都局限于局部和离线预测。EmbodiedScan引入了一个能够从多模态序列输入中进行连续空间占用预测的综合框架。尽管如此,基于实时单目视觉输入的在线三维场景感知更符合具身智能体的要求。
在线三维场景感知:准确理解三维场景是具身智能体的一个不可或缺的能力。许多任务,如三维空间占用预测和目标检测,是这一能力的直接体现。目前,大多数三维场景感知工作都是离线进行的,使用预先获取和重建的三维数据来获得相对滞后的感知。基于这种情况,Online3D引入了一个基于适配器的模型,使主流的离线框架具备了在线场景感知的能力,这意味着它们可以处理实时RGB-D序列。然而,这一框架仍然无法克服传统点云模态的固有限制。在一个更一般的具身场景中,实时单目视觉输入用于场景感知可以进一步推动具身智能体的研究。
三维高斯溅射:三维高斯溅射使用各向异性的三维高斯分布来建模三维场景,以其在辐射场渲染领域的快速速度和高质量而闻名。在渲染过程中使用的三维高斯分布的明确物理特性和基于溅射的光栅化也激励了场景编辑、动态场景和SLAM等研究领域的快速发展。
GaussianFormer首次将三维高斯分布应用于户外三维语义空间占用预测,通过从多视角图像中提取的综合特征更新高斯分布。这些高斯分布最终通过精心设计的高斯到体素的溅射模块转换为局部三维空间占用预测。与传统的基于体素的方法相比,使用三维高斯表示是一种更灵活的方法。在本文中,我们将利用这一重要属性来完成室内场景的具身空间占用预测。
3. 提出的方法
3.1 具身三维空间占用预测
传统室内场景的空间占用预测工作接受RGB-D或深度输入来预测三维场景的语义空间占用。这种设置为模型提供了充足的信息来进行推理。然而,这无疑削弱了模型在实际中的理解能力。我们人类能够轻松地处理双眼收集到的视觉信息,以获得周围环境的初始三维感知。许多最近的方法都专注于赋予模型相同的竞争力,即接受单目RGB图像作为输入,并在当前视锥体中推导出三维空间占用预测。我们有:
Ymono=Fmono(Imono)
其中 Fmono 是提出的单目预测模型, Imono∈RH×W×3 和 Ymono∈RX×Y×Z×C 分别指单目RGB输入和获得的三维空间占用预测。X、Y、Z表示局部三维场景的维度,C表示语义的总数。这只是向实际应用场景迈出的初始步骤。人类智能的本质是能够根据对周围环境的实时感知进行分析和响应。相应地,更优秀的具身智能体被期望能够处理实时收集的视觉输入,以更新当前场景的三维空间占用预测。这种能力有助于基于实时感知执行下游任务。因此,我们在本文中提出了一个具身三维空间占用预测任务。设 Xt={x1,x2,…,xt} 是具身智能体迄今为止收集的RGB序列及其对应的外参,其中 xt=(It,Mt),It∈RH×W×3,Mt∈R3×4。
值得注意的是,下标的差异仅表示智能体在连续探索当前场景时位置和视角的变化。不同的下标可能对应相似的位置和视角,表明智能体已返回到之前探索过的位置。在具身空间占用预测任务中,对同一区域的重新探索应保持全局一致性,甚至表现出更好的性能,就像我们人类总是对反复遇到的景象有更全面的理解一样。
我们将具身空间占用预测模型的功能表述如下:
Y1=Fembodied(x1),Yt=Fembodied(Yt−1,xt),
其中 Fembodied 是具身空间占用预测模型, Yt∈RXroom×Yroom×Zroom×C 指当前整个场景的空间占用预测。 Xroom 、 Yroom 、 Zroom 表示整个场景的维度,其值与单目设置不同,但共享相同的坐标系。
3.2 局部空间占用预测模块
与在体素化空间中进行特征整合的传统工作不同,GaussianFormer首次提出了一个以对象为中心的三维表示来完成三维空间占用预测任务。每个语义高斯分布可以描述一个局部区域,我们可以通过计算周围高斯分布的贡献总和来获得特定点的空间占用预测结果。受此启发,我们基于这种表示设计了我们的局部和具身空间占用预测模块。针对室内感知特性量身定制的精巧设计将充分利用这种表示所固有的灵活性和可扩展性。我们将在本小节中首先解释我们的局部空间占用预测模块。
相机坐标系中的局部预测:我们使用一组三维语义高斯分布来表示室内场景,并根据从输入图像中提取的语义和结构特征更新基于高斯分布的表示。室内的外参不断变化,这将给我们的局部空间占用预测模块带来额外的困难。因此,对于每次预测,我们在相机坐标系中初始化一组三维语义高斯分布。每个高斯分布由一个向量表示,该向量由均值 m∈R3 、尺度 s∈R3 、旋转四元数 r∈R4 、不透明度 o∈R 和语义对数几率 c∈RC 组成。图像特征与高斯分布之间的交互以及高斯分布之间的交互都将在相机坐标系中进行。
每个高斯分布 G=(m,s,r,o,c) 的更新通过直接更新其对应的高维特征向量 Q∈Rm 来实现。按照GaussianFormer的做法,我们使用一个自编码模块和一个图像交叉注意力模块,以促进这些特征向量与图像特征之间的有效交互。最终,这些聚合了信息的高维特征向量将用于获得对应高斯分布属性的更新量 ΔG=(Δm,Δs,Δr,Δo,Δc) :
Gnew=(Δm+m,Δs+s,Δr⊗r,Δo+o,Δc+c),
其中 ⊗ 表示四元数的特殊组合。
深度感知分支:由于室内物体的可变尺度和紧密排列,深度模糊一直是限制单目设置下室内空间占用预测模型性能的核心挑战之一。以往的工作一直专注于如何更好地从输入图像中提取和利用深度信息。我们设计了一个深度感知分支,以为我们局部预测模块中三维语义高斯分布的优化提供更准确、更有效的指导。
我们首先使用一个微调的深度预测网络从输入 Imono 中获得一个相对准确的深度图 Dmetric 。一种简单的方法可以在初始化高斯分布时直接利用这种深度信息,例如,我们可以从深度图恢复的伪点云中随机采样一些点,并使用这些坐标来初始化部分高斯分布的均值。尽管这为部分高斯分布的均值提供了直接提示,但无法充分利用深度信息的潜力。
我们设计了一个简单而有效的深度感知层 Mdepth-aware ,以唤醒这种潜力。我们仍然在当前视锥体中均匀初始化一定数量的高斯分布。对于每个高斯分布,我们通过相机的内参 Kmono∈R3×3 将均值 m 投影到像素坐标系中,并通过像素坐标获得相应的深度值 d 。采样的深度值 d ,连同高斯分布均值在相机坐标系中的z分量,被输入到深度感知层。深度感知层是一个多层感知机(MLP),它输出这些高斯分布的深度感知特征 Qdepth 。然后我们将这些深度感知特征 Qdepth 添加到这些高斯分布的特征向量 Q 中,将额外的信息注入到后续的特征整合中。这样,深度信息不仅影响高斯分布的均值,还促进了其他维度的优化:
Qdepth=Mdepth-aware(z,S(Dmetric,u,v)),Qmono={Q^i,i=1,2,…,N∣Q^i=Qi+Qdepth},
其中 S 是采样函数,用于获取深度值, u 、 v 是指每个高斯分布对应的两个像素坐标, N 是高斯分布的总数。我们在图3中展示了深度感知分支的引导作用。在局部空间占用预测模块中,我们使用整合后的特征三次优化高斯分布。在最后一次优化后,我们使用GaussianFormer中提出的高斯到体素溅射技术来获得视锥体内的最终空间占用。

图3:深度感知分支的动机。我们使用深度感知分支为每个高斯分布的更新提供局部结构信息。沿着特定射线,分布在真实深度点前方的高斯分布可能表示空闲语义(如高斯分布A)。分布在真实深度点附近且在其后的高斯分布可能表示有效的语义(如高斯分布B)。而那些分布在真实深度点之后但距离较远的高斯分布需要更多信息来指导它们的更新(如高斯分布C)。
3.3 在线更新高斯记忆
假设我们处于一个全新的环境中,我们会先四处走动以探索周围环境。在这个过程中,场景中的物体及其关系在我们的脑海中不断更新,表明了关于这个场景的记忆的形成。下次回到这个场景或再次探索时,这次收到的视觉信息仅仅是用来提炼这个记忆的。事实上,我们在本文中提出的具身空间占用预测框架的操作方式与之相似。在本小节中,我们将详细阐述我们如何维护和更新最终具身空间占用预测框架中使用的高斯记忆。
世界坐标系中的在线预测:尽管我们的局部空间占用预测模块在相机坐标系中初始化并更新高斯分布,以根据单目输入进行离线空间占用预测,但在从离线预测过渡到在线预测时,有必要在世界坐标系中用均匀的高斯分布初始化整个场景。对于一个即将被探索的新场景,我们有:
Groom={Gi,i=1,2,…,N∣Gi=(mi,si,ri,oi,ci)},
其中 N 表示初始化这个场景的高斯分布的数量, mi 和 ri 是这些高斯分布在世界坐标系中的均值和旋转四元数( si 、 oi 和 ci 在世界坐标系和相机坐标系之间保持一致)。
在当前步骤 t 中,我们的具身空间占用预测框架接收一个带姿态的视觉输入 xt=(It,Mt) 来进行更新。
在当前更新中,我们使用一个坐标系转换掩码从高斯记忆中获取当前视锥体内的所有高斯分布 Gt 。这些高斯分布将按照3.2节中的流程进行交互和优化。
然后我们将这些高斯分布分离出来并放回高斯记忆中。
置信度优化:除了与局部预测相似的每个场景的初始更新外,后续探索涉及到从高斯记忆中更新高斯分布,其中一些已经被之前的帧很好地更新了(如果我们能从这些高斯分布中得出一个可接受的局部空间占用预测,我们就认为它们具有更准确的物理属性并且已经被“很好地更新”),还有一些仍然是随机的。平等地更新这些高斯分布是不合理的。对于那些被认为已经很好地更新的高斯分布,我们只需要根据从当前图像中提取的语义和结构特征对其进行轻微的优化,这正是维护高斯记忆的本质。对于那些从未被更新过的随机高斯分布,我们可以直接用新的视角进行更新。
为此,我们为高斯记忆中的所有高斯分布引入一个额外的标记 γ 。在初始化一个新场景时,这些高斯分布的标记被设置为0。每次我们将一些更新后的高斯分布放回记忆中时,它们的标记被设置为1。对于从记忆中取出的高斯分布,我们根据它们的标记 Γ 生成一组置信度值 Θ 。对于那些在视锥体内且被标记为之前已经更新过( Γ=1 )的高斯分布,我们将它们的置信度值设置为0到1之间的某个值,它们在当前更新中将被轻微更新。对于那些从未被更新过的高斯分布,我们将它们的置信度值设置为0,表示它们将是当前更新的重点。我们在图4中展示了如何根据它们的置信度值维护高斯记忆并优化高斯分布。

图4:我们的高斯记忆和置信度优化的说明。在每次更新中,我们从记忆中提取当前视锥体内的高斯分布,并根据它们的标签 ( Γ ) 进行更新。对于那些之前已被更新(Γ=1 )的高斯分布,我们将其置信度值设置为介于0和1之间的某个值,它们在当前更新中只会被轻微调整。对于那些从未被更新的高斯分布,我们将它们的置信度值设置为0,表示它们将是本次更新的重点。前者将被小幅更新,而后者将被高效更新。
3.4 EmbodiedOcc:一个具身框架
我们提出了用于室内具身空间占用预测的EmbodiedOcc模型的训练框架。在整个预测过程中,我们使用当前的单目输入实时更新我们的高斯记忆,它可以很容易地转换为三维空间占用预测。
我们首先使用焦点损失 Lfocal 、lovasz-softmax损失 Llov 、场景类别亲和力损失 Lgeoscal 和 Lsemscal 来训练我们的局部空间占用预测模块,这些损失函数遵循RetinaNet、TPVFormer和MonoScene的做法。我们使用单目视锥体内的空间占用 Yfovmono 和相应的真值 Yfovgt 来计算损失。因此,最终的损失表达式为:
L=λ1Lfocal(Yfovmono,Yfovgt)+Llov(Yfovmono,Yfovgt)+Lgeoscal(Yfovmono,Yfovgt)+Lsemscal(Yfovmono,Yfovgt),
其中 λ1 是一个平衡因子。
然后我们使用在单目设置中训练好的局部空间占用预测模块来训练我们的EmbodiedOcc模型。为了高效训练,我们在第一次更新之前初始化一个场景的高斯记忆,并在每次更新后按照上述公式计算当前损失。为了确保一致性,每次损失计算中使用的局部空间占用真值是从整个场景的空间占用中相应获得的。在一定数量的更新之后,我们重新初始化高斯记忆,并进入下一个场景的预测。经过这样的训练流程训练后,我们的EmbodiedOcc能够有效地执行具身空间占用预测任务,同时确保在同一场景内的一致性。我们希望我们的EmbodiedOcc能够在持续探索过程中不断改进预测结果,而不是在遇到之前探索过的部分时破坏之前的预测。因此,我们进行了一些针对性的测试来验证我们模型的能力。
4. 实验
4.1 EmbodiedOcc-ScanNet基准测试
在本文中,我们基于局部标注的Occ-Scannet数据集提出了一个EmbodiedOcc-ScanNet基准测试。我们在三个部分详细解释了我们的基准测试:任务描述、数据集和我们使用的评估指标。
任务描述:我们进行了两个任务来评估我们的EmbodiedOcc框架:局部空间占用预测和具身空间占用预测。局部空间占用预测与之前工作的设置相同,它接受单目图像作为输入,并获得相应相机视锥体内的空间占用预测。具身空间占用预测接受连续的实时视觉输入,并在线更新当前场景的空间占用预测。在具身空间占用预测过程中某一时刻 t 的视觉输入仍然是单目的,与多视角输入或带有三维信息的输入相比,这是一个更具挑战性的设置。
数据集:在局部空间占用预测任务中,我们使用了Occ-ScanNet数据集,它提供了60×60×36体素网格的帧(一个4.8m×4.8m×2.88m的盒子,位于相机前方)。这些帧被标记了12种语义,包括11种有效语义(天花板、地板、墙壁、窗户、椅子、床、沙发、桌子、电视、家具、物体)和1种空闲空间。我们在该数据集上训练和评估我们的局部空间占用预测模块。
基于该数据集,我们重新组织了EmbodiedOcc-ScanNet数据集,用于训练和评估我们的EmbodiedOcc框架。在训练和评估我们的EmbodiedOcc框架时,我们必须确保训练集中的场景与评估集中的场景不同。因此,我们重新划分了场景,并获得了最终的EmbodiedOcc-ScanNet数据集,其中包含537/137个训练/验证场景。
EmbodiedOcc-ScanNet数据集中的每个场景由30个带姿态的帧及其对应的空间占用组成。每个场景的全局空间占用的分辨率由 (lx×ly×lz)/0.08m 计算得出,其中 (lx×ly×lz) 是该场景在世界坐标系中的范围。此外,我们为每个帧维护一个全局掩码,标记当前帧的可见范围。通过拼接所有处理过的帧的全局掩码,我们可以轻松获得当前场景中已探索部分的空间占用真值。
除了原始比例的Occ-ScanNet和EmbodiedOcc-ScanNet数据集外,我们还从EmbodiedOcc-ScanNet数据集中采样了一个小集合作为EmbodiedOcc-ScanNet-mini数据集,它包含64/16个训练/验证场景。我们相应地从Occ-ScanNet数据集中采样,并获得了Occ-ScanNet-mini2数据集,它包含5504/2376个训练/验证帧。总结一下,我们在Occ-ScanNet和Occ-ScanNet-mini2数据集上进行了局部空间占用预测任务,并在EmbodiedOcc-ScanNet和EmbodiedOcc-ScanNet-mini数据集上进行了具身空间占用预测任务。
评估指标:我们使用mIoU和IoU作为评估指标。对于局部空间占用预测,我们使用盒子内的空间占用(与ISO评估相同)来计算mIoU和IoU。对于具身空间占用预测,我们使用当前场景的全局空间占用来计算mIoU和IoU。值得注意的是,这里使用的全局空间占用是每个场景的30个帧对应的视锥体的并集,它代表了当前场景中已探索的区域。
4.2 实现细节
局部空间占用预测模块:按照现有工作,我们使用预训练的EfficientNet-B7来初始化我们局部空间占用预测模块中的图像编码器。深度感知分支中使用的深度预测网络是一个微调的DepthAnythingV2模型,在训练过程中保持冻结。深度感知层是一个3层MLP,我们局部空间占用预测模块的其他部分遵循GaussianFormer。单目输入的分辨率设置为480×640,用于进行局部预测的高斯分布数量为16200。我们使用AdamW优化器,权重衰减为0.01。学习率在前1000次迭代中逐渐升温至最大值2e-4,并按照余弦时间表逐渐降低。我们在Occ-ScanNet数据集上使用8个NVIDIA GeForce RTX 4090 GPU训练我们的局部空间占用预测模块10个周期,在Occ-ScanNet-mini2数据集上训练20个周期。
EmbodiedOcc框架:我们用0.16m的间隔初始化高斯分布来表示一个新场景。在每次更新中,已更新高斯分布的置信度值 θ 在前两个优化层中设置为0(冻结),在最后一个优化层中设置为0.5。我们在EmbodiedOcc-ScanNet数据集上使用8个NVIDIA GeForce RTX 4090 GPU训练我们的EmbodiedOcc 5个周期,在EmbodiedOcc-ScanNet-mini数据集上使用4个NVIDIA GeForce RTX 4090 GPU训练20个周期。使用8个GPU时的最大学习率设置为2e-4,使用4个GPU时设置为1e-4。其他设置与局部空间占用预测模块的训练相同。
4.3 结果与分析
局部空间占用预测:我们在Occ-ScanNet数据集上评估了我们的局部空间占用预测模块。如表1所示,结果表明我们的局部空间占用预测模块优于ISO。我们还在图5中进行了可视化,以展示我们的局部空间占用预测模块的性能。

图5:我们对局部空间占用预测模块的定性可视化结果。左侧是输入图像,中间是真实的空间占用,右侧是我们的预测结果。
具身空间占用预测:我们把从我们的局部空间占用预测模块获得的局部空间占用拼接起来,作为基线,在此基础上评估了我们的EmbodiedOcc的性能。首先,我们评估了处理所有帧(30帧)后的整个场景的空间占用预测,用于计算IoU和mIoU的真值是视锥体的并集。表2展示了我们的EmbodiedOcc与基线之间的性能比较。可以看出,我们的EmbodiedOcc通过整合不同视角的预测,展现出了对整个场景的优越预测性能。我们还在图6中进行了定性可视化,以展示我们的EmbodiedOcc的性能。
其次,我们期望EmbodiedOcc在遇到之前探索过的部分时能够表现出更好的性能,因此进行了Look-Back评估。具体来说,在处理了 K 帧之后,我们让模型回到第一帧,并重新处理这 K 帧。通过将这个Look-Back结果与首次预测进行比较,我们验证了我们的EmbodiedOcc达到了我们的预期,如表3所示。
高斯参数和深度感知分支的分析:我们在表4中分析了不同的高斯参数和深度感知分支的影响。我们发现,减少高斯分布的数量或增加其尺度会导致局部和具身空间占用预测性能的下降。这与高斯分布的物理属性密切相关。初始化过于稀疏的高斯分布可能导致空间占用预测中出现空洞,而尺度过大的高斯分布会相互重叠,这也不利于正确预测空间占用。我们还发现,深度信息将显著有助于局部和具身空间占用预测。如表4的第三行所示,没有深度信息的帮助,具身空间占用预测的性能急剧下降。这表明,在没有深度信息的引导下,当前视锥体内的高斯分布的更新可能会破坏之前的预测。表4中的结果还表明,我们采用的深度感知分支比直接从预测深度图恢复的伪点云中初始化部分高斯分布的简单方法更为合理。
置信度优化的分析:在每次更新过程中,当前的高斯分布通过三个优化层进行优化。在训练我们的EmbodiedOcc时,我们冻结了前两个优化层,并在最后一个优化层中平等地更新所有高斯分布。表5展示了不同数量的冻结优化层和不同的置信度值(确定每个 ΔG 的系数)对具身空间占用预测任务的影响。我们可以观察到,对之前处理过的高斯分布进行适度更新,能够获得最佳的具身空间占用预测性能。
5. 结论
在本文中,我们提出了一个具身三维空间占用预测任务,并相应地提出了一个基于高斯分布的EmbodiedOcc框架。我们的EmbodiedOcc维护当前场景的一个明确的高斯记忆,并在探索该场景的过程中更新这个记忆。定量和可视化结果都表明,我们的EmbodiedOcc在局部空间占用预测方面优于现有方法,并以高准确性和强大的可扩展性完成了具身空间占用预测任务。我们相信,我们的EmbodiedOcc为使主动智能体能够进行准确且灵活的具身空间占用预测铺平了道路。
附录
A. EmbodiedOcc-ScanNet 数据集细节
我们按照 NYUv2 [22] 和 OccScanNet [40] 中使用的数据格式重新组织了 EmbodiedOcc-ScanNet 数据集。我们注意到,Occ-ScanNet 数据集中的帧是从原始 ScanNet [2] 数据集中随机采样的,这意味着不同帧可能来自同一个室内场景。对于 Occ-ScanNet 数据集中的所有场景,我们选择了 537 个场景作为 EmbodiedOcc-ScanNet 的训练集,以及 137 个场景作为评估集。我们以这种方式划分这些场景,以确保训练集中的场景与评估集中的场景不同。
对于每个场景,我们首先使用 K-Nearest Neighbors 算法从 CompleteScanNet [32] 数据集中的体素标签中获得该场景的全局空间占用。接下来,我们使用一定的间隔重新采样该场景在 Occ-ScanNet 数据集中的帧,以获得 30 个带姿态的图像。对于每个帧,我们选择相机前方的一个特定区域作为局部空间占用的范围。局部体素原点的选择与 Occ-ScanNet [40] 保持一致。
然后,我们使用 K-Nearest Neighbors 算法从全局空间占用中获得当前局部空间占用。除此之外,我们还为每个帧维护一个全局分辨率的掩码,标记当前局部体素与视锥体的交集。这使我们可以通过拼接处理过的帧的掩码来获得已探索区域的空间占用真值,增强了我们 EmbodiedOcc-ScanNet 的灵活性。生成 EmbodiedOcc-ScanNet 中一个场景的流程如图 8 所示。
B. 额外可视化
由于篇幅限制,我们在正文中仅选择了少数帧来展示我们局部空间占用预测模块的性能。在图 9 中,我们使用更多样化的单目样本,进一步展示我们局部空间占用预测模块的视觉效果。
为了充分展示我们 EmbodiedOcc 的工作流程,我们使用视频演示来展示 EmbodiedOcc 在探索室内场景时的性能。图 7 展示了在 EmbodiedOcc-ScanNet 上进行具身三维空间占用预测的视频演示的一个采样图像。视频演示和我们的实现代码都包含在附加的文件夹中。