
这项由新加坡国立大学计算机科学系主导的研究,于2026年7月发表在arXiv预印本平台,论文编号为arXiv:2607.00529v1。感兴趣的读者可以通过该编号在arXiv平台上查阅完整论文。
**当机器人走进一个从未见过的房间**
假设你闭着眼睛走进一个陌生的厨房,然后慢慢睁开眼睛。在不到一秒钟的时间里,你的大脑就完成了一件极其复杂的事情:识别出面前摆着一张桌子,桌子上放着一把椅子,椅子旁边是一扇窗户,窗户被墙壁包围着。更厉害的是,你不仅知道这些东西是什么,还知道它们之间的空间关系------谁在谁上面,谁紧靠着谁,谁属于谁。
这种能力对人类来说是本能,对机器人来说却是一道极难跨越的门槛。而新加坡国立大学的研究团队正在努力让机器人也具备这种"环境理解力"。他们开发的新系统叫做**NoPA**(Non-Parametric Online 3D Scene Graph Generation,非参数在线三维场景图生成),核心目标是让机器人在实时移动探索的过程中,持续准确地建立起一张关于周围环境的"关系地图"------谁是谁,在哪里,彼此怎么相处。
这张关系地图在学术上被称为"三维语义场景图",可以理解为一种带有空间坐标的知识图谱。它不仅仅是一张普通的地图,而是一张记录了"物体身份"和"物体关系"的智能地图。有了它,机器人就能真正理解环境,而不只是看到一堆像素。
**一、为什么"实时理解环境"这件事这么难**
在此之前,大多数研究场景图生成的方法走的是"事后处理"路线:先让机器人把整个房间扫描一遍,拍下所有照片,然后统一处理,生成场景图。这就像你参加一场考试,答完所有题才能提交,不能边答边交卷。这种方式虽然准确,但速度极慢,完全无法满足机器人在实际操作中"边走边理解"的需求。
真正有挑战的是"在线"场景:机器人一边移动,一边接收新的图像,同时要实时更新自己对环境的理解。这就像你一边走路,一边不停地往大脑里输入新信息,还要随时根据新信息调整你对这个地方的判断。
现有的在线方法大多需要借助一种叫做"SLAM"的技术(同步定位与建图,可以理解为机器人版本的GPS+地图绘制系统),这个技术本身就需要消耗大量计算资源,而且必须先建立一个完整的三维点云地图,才能进行场景图的推断。这个过程就像你必须先把房间里所有家具的三维坐标都精确测量并记录下来,才能开始思考"桌子上放了什么"。这太慢了,在实际应用中几乎不可行。
在这个背景下,一个叫FROSS的系统提出了一个大胆的简化方案:不要那么精确,用一个简单的"椭球形状"来近似代表每个物体的位置和大小------用数学语言来说,就是用一个三维高斯分布来表示每个物体。这个方法确实快了很多,达到了实时处理的速度,但也引入了两个严重问题,正是这两个问题促成了NoPA的诞生。
**二、用椭球代表物体,为什么行不通**
用椭球形状来表示物体,相当于把所有东西都当成鸡蛋形状来处理。一张方桌、一扇薄薄的窗户、一幅挂在墙上的画,在这套系统里,全都变成了大小不一的椭球。
第一个问题显而易见:这种近似对于薄而扁平的物体来说极不准确。窗户是一个近似于矩形平面的东西,用椭球来描述它,得到的是一个几乎压扁的"煎饼形"椭球,其中一个方向上的厚度几乎为零。数学上,这会产生一个"接近奇异"的协方差矩阵(可以理解为描述形状的数字出现了除以零的危险情况),导致系统无法正常工作。
第二个问题更加隐蔽,但危害更大:当机器人从不同角度看同一个物体时,每次看到的"椭球"形状和位置都会略有不同。系统需要判断"这两次看到的椭球,是不是同一个物体"。如果判断错误,同一扇窗户就会被记录为两个独立的物体;或者两个完全不同的物体被错误地合并为一个。
研究团队把第一种错误称为"欠合并"(该合的没合),第二种称为"过合并"(不该合的合了)。这两种错误一旦出现,就会像滚雪球一样越积越大,导致最终的场景图变得混乱不堪------就像一张家谱图,里面有些人被重复登记了好几次,有些本来是亲兄弟的人却被记录成了陌生人。
**三、NoPA的核心思路:用"粒子云"代替"椭球"**
NoPA解决这个问题的方式,本质上是换了一种更诚实的方式来描述物体的形状。
与其用一个椭球来猜测物体大概是什么形状,NoPA选择直接收集证据。具体来说,对于每一个被检测到的物体,系统会在对应的二维图像区域里随机抽取若干个像素点,然后利用深度信息(距离数据)和相机位置,把这些二维点"投影"到真实的三维空间坐标系里。这样,每个物体就由一组三维空间中的点来表示------研究团队把这组点称为"粒子集"。
这个做法可以用一个画画的比喻来理解。旧方法(椭球)就像你用一个预先制作好的橡皮图章来代表每个物体------不管物体是什么形状,盖章时形状都是固定的。而NoPA的方法则像是用点彩画法,用密密麻麻的点点来描绘物体的实际轮廓。点够多的时候,即使是窗户这样的细长形状,也能被准确描述。
更重要的是,这些点还可以被数学化处理。研究团队把粒子集理解为从某个未知的"物体占据概率分布"中随机采样得到的样本,然后用一种叫做"核密度估计"(KDE)的技术,从这些离散的点里重建出连续的概率分布。核密度估计的原理,可以想象成往地板上洒一些沙子,每个沙粒代表一个粒子,最终沙堆的形状就是物体的密度分布------哪里沙子堆得多,哪里就是物体实体最可能存在的地方。
这套表示方法有一个非常关键的工程设计:粒子的数量是固定的。无论机器人看了多少次同一个物体,最终每个物体都只保留固定数量(实验中选用了256个)的粒子。当新的观测数据进来,与已有粒子合并后,系统会重新进行一次核密度估计,然后从这个新的密度分布中重新采样256个粒子。这样既保留了来自多次观测的几何信息,又避免了粒子数量随时间无限膨胀带来的内存爆炸问题。
**四、如何判断"这两团点云,是不是同一个物体"**
有了粒子集表示方法,下一个难题是:当机器人在新的角度又检测到了一个物体,系统怎么判断这个新检测到的物体,是和之前某个已知物体是同一个,还是一个新的陌生物体?
NoPA的解决方案是一个巧妙的两阶段判断流程,像是一个"粗筛+精筛"的过滤系统。
第一阶段叫做"快速预筛"。研究团队没有放弃之前的椭球方法,而是把它用在了一个更合理的位置:先把每个粒子集"压缩"成一个椭球(通过计算粒子集的均值和协方差),然后用两个椭球之间的"海林格距离"(Hellinger Distance,可以理解为一种度量两个形状有多不像的数字)来做快速判断。如果这个距离特别小,两者明显是同一个物体,直接合并;如果这个距离特别大,两者明显不是同一个物体,直接新建。这个快速判断几乎不消耗什么计算资源,能处理掉大多数"一眼就能看出来的"情况。
第二阶段叫做"MMD精判",专门处理那些"说不太准"的模糊情况------即两个物体的椭球形状相似,但又不完全确定是否是同一物体的案例。这里使用的工具叫做"最大均值差异"(MMD,Maximum Mean Discrepancy),是一种直接比较两个点云分布整体相似程度的统计工具。
可以用一个更直白的比喻来理解MMD的作用:海林格距离是在比较两个物体的"平均体型",而MMD是在比较两个物体的"完整体型分布"。如果两个人的平均身高和体重相同,他们的整体体型分布可能完全不同(一个可能是匀称型,一个可能是极端的上身宽下身细型)。MMD能捕捉到这种超越均值和方差的细微差异,在椭球形状近似不足以区分的情况下提供更可靠的判断。
在计算MMD时,研究团队使用了一种叫做"RBF核"(径向基函数,可以理解为一种"空间接近度打分器")的数学工具:两个粒子的坐标越接近,得分越高;距离越远,得分越低。通过比较两个粒子集内部的自相似程度和两集合之间的交叉相似程度,就能得出一个综合的"分布差异值"。差异值低于某个阈值,就合并;否则,就新建一个物体节点。
这个两阶段设计的精妙之处在于:绝大多数情况在第一阶段就能快速解决,只有真正模糊的少数情况才需要调用计算量较大的MMD,从而在保持精度的同时控制了整体的运算速度。
**五、关系丢失问题:场景图的"断线"危机**
建立好物体节点还只是第一步,场景图还需要记录物体之间的关系------"桌子上方有椅子"、"窗户附属于墙壁"、"柜子紧靠着墙"这类信息。这些关系信息来自一个预先训练好的二维场景图预测模型,它在每一帧图像中尝试识别物体对之间的关系。
问题在于,这个二维预测模型并不完美。它有时会漏掉某对物体之间的关系,而在在线探索过程中,一旦某一帧里某个关系没被预测出来,后续可能就永远没有机会补回来了------就像一张蜘蛛网中间断了一根线,整张网的结构就变得不完整。
NoPA针对这个问题设计了一个"关系传播"机制。核心思路是:如果两个物体节点的粒子集非常相似(MMD距离很小),说明它们在空间中高度重叠,很可能是在描述同一个或非常接近的空间区域。这样的节点被归为同一个"亲近簇"。
在一个亲近簇里,如果其中一个节点已经知道了和某个第三方物体的关系,那么同簇的另一个节点也很可能和这个第三方物体有相同的关系。系统会在簇内进行关系传播,把已知的关系分享给同簇的兄弟节点。当一个节点对某段关系有多次不一致的证据时,系统会采用"多数票决"的方式,选择出现次数最多的关系类型作为最终答案,就像一个委员会投票决定某个问题的答案。
这个机制本质上是在利用空间几何信息来弥补语义预测的不足,类似于半监督学习中的"标签传播"思想,但应用的对象是关系边而非节点类别,而且只做一次单步传播,不像传统标签传播那样需要反复迭代。
**六、整个系统是怎么工作的**
将所有这些组件拼在一起,NoPA的完整工作流程就像一条流水线:机器人携带的相机持续拍摄RGB彩色图像,同时深度传感器记录每个点的距离信息。首先,一个叫RT-DETR-EGTR的预训练二维场景图检测模型分析当前帧的彩色图像,预测出图像中的物体及其两两之间的关系。
接着,对于每个检测到的二维物体,系统在其图像边界框内均匀采样若干像素点,利用深度图和相机位姿(即相机在三维空间中的位置和朝向),将这些二维点投影到三维世界坐标系中,形成该物体的粒子集。
然后,这批新生成的粒子集被送入在线融合模块:依次与已有的全局物体节点进行两阶段关联判断(先海林格预筛,后MMD精判),决定合并还是新建节点。如果合并,就将两个粒子集合并后进行核密度估计并重采样到固定粒子数;如果新建,就直接将这组粒子初始化为新节点。
最后,关系传播模块根据MMD分数构建物体间的亲近矩阵,将关系在高亲近度的簇内传播,并通过多数票决确定最终的关系类型,更新全局场景图的关系边。这个更新后的全局场景图会等待下一帧的到来,不断迭代完善。
**七、实验结果:数字背后的真实含义**
研究团队在两个公开数据集上验证了NoPA的效果:3DSSG数据集(包含1482个室内场景,超过两万个物体标注,图像质量较差,含有大量运动模糊)和ReplicaSSG数据集(包含18个场景,图像质量较高,物体和关系密度大)。
与此前最强的竞争对手FROSS相比,NoPA的提升幅度令人印象深刻。在3DSSG数据集上,关系三元组的召回率(简单理解为"正确找到的关系占所有真实关系的比例")从25.7%直接跳升到53.2%,几乎翻了一倍。物体识别的均值召回率从62.4%提升到66.4%,谓词(即关系类型)的均值召回率从17.7%提升到29.4%。在ReplicaSSG数据集上,关系召回率的提升更加惊人,从22.3%上升到36.9%,增幅超过65%。
更关键的是,NoPA在取得这些大幅性能提升的同时,基本没有牺牲速度。FROSS的处理延迟是22毫秒,而NoPA(256粒子版本)的延迟是27毫秒,在现实中几乎感觉不到差异,都远低于100毫秒的实时响应阈值。显存(GPU内存)使用量也几乎相同,FROSS占用1204MB,NoPA占用1206MB。
研究团队还测试了一个"上界实验":如果给NoPA喂入完全正确的二维场景图(而不是由模型预测的可能有误的结果),系统的关系召回率能达到84.4%,物体均值召回率达到89.3%。这说明NoPA的性能上限很高,目前的瓶颈主要在于二维预测模型的精度,而不在于NoPA自身的三维融合逻辑。
逐类别的分析揭示了更多细节。在物体类别上,NoPA在背景类(如墙壁、地板)的识别上有显著改进,而FROSS在这些类别上表现很差------原因正是之前提到的:墙壁这类大型、无纹理的平面区域,用椭球近似非常不准确,导致合并频繁失败,最终结果中墙壁被打散成很多小片段,每片段都无法通过重叠率阈值的验证。在谓词类别上,NoPA在"附属于"这个关系类型上的表现从26.0%飙升到73.2%,这正是因为"附属于"最常出现在墙壁和其他物体之间,墙壁识别的改善直接带动了这个关系类型的识别改善。
**八、与其他可能方案的对比**
研究团队还测试了两种替代的物体表示方案,以验证粒子集方案的合理性。
第一种是直接用三维边界框(可以理解为把物体装进一个最贴合的长方体盒子里)来表示物体,合并判断基于两个盒子的重叠面积比(IoU)。这种方法的问题在于边界框一旦因为噪声或异常观测而被拉大,就很难收缩回来,而且边界框内包含大量背景空间,导致本不该合并的两个物体因为背景空间重叠而被错误合并。严格的重叠率验证条件会过滤掉很多被错误扩大的边界框,连带着把该节点上的所有关系也一并丢弃。最终,这种方法的关系召回率仅有7.0%,远低于NoPA的53.2%。
第二种是直接存储点云(不限制点的数量,持续积累所有观测到的三维点)。点云比粒子集保留了更多细节,但问题是,如果一个物体被观测了很多次,点云会无限增长,最终内存耗尽,运算速度也无法满足实时要求。实验中,点云方法的处理延迟高达71毫秒,比NoPA慢了将近三倍,而且关系召回率也只有23.3%,同样不如NoPA。粒子集通过固定数量的约束,巧妙地在这两种极端方案之间找到了平衡点。
**九、每个设计决策的贡献有多大**
为了严格验证每个组件的实际贡献,研究团队进行了细致的消融实验:依次拆除各个部件,观察性能变化。
基础的FROSS(只用椭球,用海林格距离合并,无关系传播)在关系召回率上得到25.7%。单独把物体表示从椭球换成粒子集,但仍然使用FROSS的海林格距离合并策略,关系召回率反而下降到17.6%------这证明了椭球合并策略与粒子集表示之间存在根本性的不兼容:椭球合并是为椭球表示专门设计的,套用在粒子集上会产生更多误判。
在粒子集表示的基础上,再加入MMD合并策略,关系召回率回升到26.3%,超过了原始FROSS,物体召回率也从62.4%提升到69.0%。这证明MMD合并策略专门为粒子集表示量身定制,两者配合才能发挥最大效果。
最后再加上关系传播机制,关系召回率从26.3%大幅跃升到53.2%,谓词召回率也从17.1%提升到29.4%,而物体召回率则保持不变(因为关系传播不涉及物体位置的修改)。这一跃升充分说明了关系传播机制的巨大价值,它通过修复"断线"来补全场景图的结构完整性。
说到底,NoPA这项研究做的事情,是在一个极其苛刻的约束下(实时处理、固定内存、持续更新)找到了一种更诚实、更鲁棒的物体表示方式。它没有试图用一个简单的数学形状来"猜测"物体长什么样,而是选择直接用采样点来"描绘"它,然后用统计工具来判断不同时刻、不同角度看到的点云是否属于同一个物体。这个思路看起来朴素,但配合精心设计的两阶段合并策略和关系传播机制,在实际数据集上取得了远超前人的效果。
当然,这个系统并非完美无缺。它的上限仍然受制于二维图像理解模型的精度------如果机器人在某个角度根本没有正确识别出某个物体,后续的三维融合再强也无法凭空创造出正确答案。另外,当前版本对于外形非常相似但类别不同的物体(比如书桌和餐桌)依然存在混淆风险,这是二维模型和三维融合共同面对的挑战。
对于普通人而言,这项技术意味着未来的家用机器人、手术辅助机器人或无人驾驶汽车,能够更准确、更快速地理解它们所处的环境,从而做出更安全、更合理的行动决策。一个能够实时理解"我在厨房里,炉子旁边有个气瓶,气瓶下面是地板"的机器人,显然比一个只能感知到"这里有一些像素"的机器人要有用得多。
有趣的问题值得继续思考:当机器人对同一个房间看了足够多遍之后,它对这个房间的理解,究竟能达到多接近人类的水平?而当二维预测模型的精度进一步提升时,NoPA这种三维融合框架能发挥多大的潜力?从实验中GT输入版本高达84%以上的召回率来看,空间还相当充裕。
若有兴趣深入了解技术细节,可以在arXiv平台搜索论文编号arXiv:2607.00529v1查阅完整原文。
Q&A
Q1:NoPA是什么系统,它主要解决什么问题?
A:NoPA是由新加坡国立大学开发的一套实时三维场景图生成系统。它的核心功能是让机器人在移动探索环境的过程中,实时记录和更新周围有哪些物体、这些物体在哪里、彼此之间是什么关系。它的主要创新在于用"粒子集"而非椭球形状来表示物体,从而更准确地刻画薄片状、非规则形状的物体,并通过MMD统计方法来判断不同时刻看到的物体是否为同一个,大幅减少了错误合并和漏合并的情况。
Q2:NoPA和FROSS相比,性能提升有多大?
A:在3DSSG数据集上,NoPA的关系三元组召回率从FROSS的25.7%提升到53.2%,接近翻倍。在ReplicaSSG数据集上,关系召回率从22.3%提升到36.9%,增幅超过65%。与此同时,NoPA的处理延迟仅从22毫秒增加到27毫秒,显存占用几乎不变,实时性完全得以保留。
Q3:粒子集方法和点云方法有什么区别,为什么不直接用点云?
A:点云方法是无限制地积累所有观测到的三维点,不加以压缩。这会导致随着探索时间增长,点的数量不断膨胀,内存和计算开销线性增加,最终无法满足实时处理的需求。实验中点云方法的延迟高达71毫秒,是NoPA的将近三倍。粒子集则通过核密度估计加重采样的方式,始终将每个物体的表示压缩到固定数量(如256个)的粒子,保持了恒定的内存和计算开销,同时又比椭球近似保留了更丰富的几何信息。