斯坦福和微软:
代码链接:ODIN: A Single Model For 2D and 3D Perception
论文链接:2401.02416
摘要
这篇论文介绍了ODIN(Omni-Dimensional INstance segmentation),一个能够同时处理2D RGB图像和3D点云的单模型,用于进行2D和3D的实例分割。ODIN采用Transformer架构,交替融合2D内视图和3D跨视图信息。该模型通过位置编码区分2D和3D特征操作,捕捉2D补丁标记的像素坐标和3D特征标记的3D坐标。ODIN在多个3D实例分割基准测试中取得了最先进的性能,并在2D COCO基准测试中展现了竞争力。此外,当ODIN作为可指令实体代理架构中的3D感知引擎时,它在TEACh动作对话基准测试中设定了新的最先进性能。代码和检查点可以在项目网站找到。
拟解决的问题
论文挑战了2D和3D感知需要不同模型架构的观点,提出了一个统一的模型来处理2D和3D分割任务。现有的3D分割模型通常在特定领域内训练,不利用大规模的2D预训练,而且性能上超过了那些将RGBD多视图图像特征化的方法。ODIN旨在通过一个模型处理2D和3D数据,减少这种性能差距,并提高对实际传感器数据的处理能力。
创新之处
- 统一架构:提出了一个单一模型,能够处理2D图像和3D点云,挑战了2D和3D感知需要不同架构的传统观点。
- Transformer架构:模型使用Transformer架构,交替融合2D内视图和3D跨视图信息,这有助于提高分割的准确性。
- 位置编码:通过位置编码区分2D和3D特征操作,这是一个新颖的方法来处理不同维度的数据。
- 跨视图融合:模型在2D到3D转换时使用深度图和相机参数,这有助于提高3D实例分割的性能。
- 开放词汇类解码器:引入了能够处理任意数量语义类别的开放词汇类解码器,这对于多数据集的联合训练至关重要。
方法
ODIN的架构包括以下几个关键部分:
- 2D内视图融合:使用预训练的2D骨干网络(如ResNet50或Swin Transformer)处理单个RGB图像或多视图RGB-D图像。
- 3D跨视图融合:通过3D注意力机制和相对位置编码,实现跨视图的特征融合。
- 2D到3D的反投影:将2D特征映射到3D位置,使用深度图和相机参数。
- 3D到2D的投影:将3D特征投影回2D位置,以便后续的2D模块处理。
- 跨尺度融合和上采样:合并不同分辨率的特征图,并使用上采样层提高分辨率。
- 共享2D-3D分割掩码解码器:使用Transformer架构,输出2D或3D分割掩码和语义类别。
ODIN的体系结构如图2所示。它采用单个RGB图像或一组提出的RGB-D图像(即与深度图和相机参数相关的RGB图像),并输出相应的2D或3D实例分割掩码及其语义标签。为了实现这一点,ODIN 在 2D 视图内融合和基于 3D 注意力的跨视图融合之间交替,如图 2 中的蓝色块和黄色块所示。分割解码头预测实例掩码和语义标签。值得注意的是,ODIN 在 RGB 和多视图 RGB-D 输入之间共享大部分参数。
4.1 视图内2D融合
ODIN使用预训练的2D骨干网络(如ResNet50或Swin Transformer),这些网络在2D COCO实例分割任务上进行了预训练。当只有一个 RGB 图像可用时,将其传递给完整的主干以获得多个尺度的 2D 特征。当姿势的 RGB-D 序列可用时,这种 2D 处理与 3D 阶段交错,通过交错视图内和跨视图上下文化,能够利用来自 2D 主干的预训练特征,同时还融合跨视图的特征,使它们 3D 一致。
4.2 跨视图3D融合
跨视图融合的目标是使单个图像的表征在视图之间保持一致,跨视图特征一致性对于 3D 实例分割至关重要:它使分割头能够意识到从多个视图观察到的 3D 对象确实是单个实例,而不是每个视点中的一个单独实例。
1. 2D到3D反投影:每个2D特征图被映射到3D空间,使用深度图和相机的内外参。这可以通过以下公式表示:
3D位置=相机内参×(相机外参×2D位置)+相机外参的平移部分
然后,这些3D位置通过体素化(voxelization)处理,将3D空间离散化为体素网格,并对每个体素内的特征和坐标进行平均池化,得到3D特征标记。
2. 3D k-NN Transformer与相对位置编码:使用k最近邻(k-NN)注意力机制来融合3D标记之间的信息。每个3D标记只关注其k个最近邻。相对位置编码通过一个多层感知机(MLP)实现,将标记之间的距离向量编码为相对位置嵌入。公式如下:
其中,(N × 1 × 3)代表3D标记,(N ×k ×3)代表每个的k个最近邻。
通过这种方式,注意力操作对 3D 令牌的绝对坐标是不变的,仅取决于它们的相对空间排列。虽然每个 3D 令牌总是关注相同的 k 个邻居,但它的有效感受野跨层增长,因为当邻居执行自己的注意力时,邻居的特征会更新
3. 3D到2D投影:将3D特征投影回其原始2D位置。首先,将每个体素的特征复制到该体素内的所有点,然后将这些点重新塑形为多视图2D特征图。在这个转换中,特征向量是不变的;差异在于它们的解释和形状。在 2D 中,特征的形状为 V × H × W × F ,表示每个视图的特征图,在 3D 中,它们的形状为 N ×F ,表示统一的特征云,其中 N = V · H · W。(V代表试图个数,N代表总的体素数或点数)
4.3 跨尺度融合和上采样
多尺度注意力:在三个最低分辨率尺度(1/32、1/16、1/8)上,使用可变形的2D注意力机制合并特征图。
额外的3D融合层:在每个尺度上,对于3D输入,应用额外的3D融合层以恢复3D一致性。
上采样:在1/8分辨率的特征图上使用上采样层,将其带到1/4分辨率,并与骨干网络中的1/4特征图进行跳跃连接。
4.4 传感器深度到网格点云特征传递
对于需要在网格点云上进行标签的任务(如ScanNet),使用三线性插值将1/8分辨率的特征图特征插值到网格点云上。
4.5 共享2D-3D分割掩码解码器
Transformer解码器:类似于Mask2Former的解码器头,输入上采样的2D或3D特征图,输出相应的2D或3D分割掩码和语义类别。
可学习的物体查询:初始化一组可学习的物体查询,负责解码单个实例。这些查询通过查询细化块进行迭代细化,包括对上采样特征的交叉注意力和查询之间的自注意力。
4.6 放词汇类解码器
引入了一种能够处理任意数量的语义类的替代分类头。这种修改对于在多个数据集上联合训练至关重要。与BUTD-DETR和GLIP类似,使用通过将对象类别连接到句子中形成的检测提示(例如,“Chair.表。Sofa.”)并使用RoBERTa对其进行编码。在查询细化块中,查询在关注上采样的特征图之前额外关注这些文本标记。对于语义类预测,我们首先在查询和语言标记之间执行点积操作,在检测提示中生成每个令牌的一个 logit。然后将与特定对象类的提示标记对应的 logits 进行平均以导出每个类的 logits。这可以处理多词名词短语,例如“淋浴窗帘”,其中我们对对应于“淋浴”和“curtain”的 logits 进行平均。分割掩码由像素/逐点点积预测,其方式与前面描述的相同。
结论
ODIN模型在多个3D实例分割基准测试中取得了最先进的性能,并在2D COCO基准测试中展现了竞争力。实验表明,ODIN在处理实际传感器数据时性能优于其他方法,并且通过联合训练2D和3D数据集,模型在3D任务上的表现得到了提升。此外,ODIN在作为实体代理架构中的3D对象分割器时,也在TEACh基准测试中设定了新的最先进性能。论文的结论强调了ODIN在2D和3D分割任务中的有效性和潜力,并指出了未来的研究方向,包括提高模型对噪声的鲁棒性以及探索更大规模的2D和3D数据集的联合训练。