问题背景#
随着 2D 到 3D 感知技术的发展,许多工作已经能够从无位姿的图像中恢复 3D 场景语义信息。
传统工作存在的问题包括:
1.泛化能力有限
2.依赖单场景优化
3.跨视角语义不一致
PE3R 结合前馈三维重建、2D 到 3D 感知和 2D 基础模型,提出了一套完整的系统:
输入:多张 RGB 图像
输出:带语义信息的 3D 语义点云,并支持用自然语言查询场景中的 3D 语义实体
Pipline#
PE3R的管线主要包含三个阶段。
1. 像素嵌入消歧(Pixel Embedding Disambiguation)#
如何在 2D 图像中给每个像素生成准确、跨视角一致的语义特征?
直接对原图提取 CLIP 特征会遇到两类歧义:
1. 多层级歧义#
同一个像素可能同时属于多个语义层级。例如“椅子腿”既属于“椅子腿”也属于“椅子”,可能还属于“家具”。如果只对单个 SAM mask 提取特征,不同层级的 mask 可能产生割裂甚至互相冲突的语义。
PE3R 首先使用 SAM 或 SAM2 将图像分割成大量层级化 mask,然后把每个 mask 覆盖的图像区域输入 CLIP 图像编码器,得到区域语义特征。再根据 mask 的重叠关系,将小 mask 与大 mask 建立部件—整体关系。例如,当两个 mask 的 IoU 很高时,可以认为小区域是大物体的一部分。
2. 跨视角歧义#
同一个物体在不同视角中可能表现得很不一样。
PE3R 使用 SAM2 对实例进行跨视角追踪,使同一物体在不同图像中具有一致的实例身份。同时,每一帧还重新运行 SAM,补充 SAM2 因大视角变化而遗漏的新物体。
3. Area-Moving Aggregation#
获得多个区域特征后,PE3R 使用面积加权球面插值,即 area-weighted SLERP。核心直觉是:可见面积越大的 mask,通常包含更完整、更稳定的物体信息,因此应该具有更高权重。例如,一张图中完整的椅子 mask,应当比只包含一个椅脚的小 mask 更可靠。
最终,将融合后的对象级特征重新投影回所有像素,得到每张图的稠密逐像素语义嵌入。
在第一阶段(Pixel Embedding Disambiguation)结束之后,每个像素都同时拥有:所属实例的信息、部件与整体的语义信息、跨视角一致的 CLIP 特征。
2. 语义场重建(Semantic Field Reconstruction)#
这一阶段做的是将二维语义特征附着到三维几何上,同时反过来使用语义一致性清理三维重建噪声。
PE3R 使用 DUSt3R、VGGT 一类前馈模型,从多张无位姿图像直接预测 pointmap,其中,每个像素对应一个三维坐标。因此,二维像素语义特征和三维点天然一一对应。
DUSt3R 或 VGGT 的原始点云可能包含噪声,尤其是在,反光表面、透明物体、遮挡边界处,因此 PE3R 做了一个 Semantic-Guided Refinement。它假设属于同一个语义实例的相邻像素,在三维空间中通常也应该形成相对连续的结构。对于某个像素,它会检查局部窗口内、属于同一实例的其他像素,并计算它们之间的平均三维距离。若一个点与同一语义区域中的邻居距离异常大,就将其判定为空间异常点。这里只比较属于同一语义实例的像素,避免跨越真实物体边界。
PE3R 检测到异常点后,并不直接用最小二乘或几何优化调整点云,而是回到图像空间找出导致错误几何预测的异常像素,用同一语义区域周围的平均颜色,对该像素进行适度平滑,将修正后的图像再次输入前馈三维模型,重新预测更稳定的 pointmap。
最后,不同视角的 refined pointmaps 被全局对齐到统一坐标系,形成完整的三维语义点云。
第二阶段结束输出一个 3D Semantic Field,每个三维点包含三维坐标和 CLIP 语义特征。
3. 全局视角感知(Global View Perception)#
这一阶段解决:如何使用自然语言,在整个三维场景中查询和定位对象? 用户输入文本编码为 CLIP 特征,对于每个三维点的语义特征,计算它与文本特征的余弦相似度,相似度越高,该三维点越可能属于文本描述的对象。不过不同视角中,CLIP 相似度的分布可能不同。比如,某一视角中“table”的最高相似度是 0.32,而另一视角中最高相似度可能是 0.48。如果分别对每张图设置阈值,检索结果会不稳定。
PE3R 将所有视角、所有点的相似度放在一起,进行全局 min-max 归一化:
然后使用统一阈值选择相关点。这样做能让不同视角的相似度具有统一尺度, 防止某个视角整体得分偏高或偏低,从而使同一个文本查询在整个三维场景中保持一致。最终被选中的三维点会高亮显示。