【CLIP-FO3D: Learning Free Open-world 3D Scene Representations from 2D Dense CLIP】论文笔记

Abstract

训练一个3D场景理解模型需要复杂的人工注释,收集起来很费力,并导致模型只编码近集对象语义。视觉语言预训练模型(例如CLIP)显示出显著的开放世界推理特性。
因此,作者提出直接将CLIP的特征空间无监督的迁移到3D场景理解模型中。

  • 过程
    1.修改CLIP的输入和转发过程,使其能够适应于提取3D场景内容的密集像素特征。
    2.将多视图图像特征投影到点云上,并使用特征蒸馏训练三维场景理解模型。

  • 结果
    1.模型在开放词汇语义和长尾概念上实现了很好的无标注语义分割结果。
    2.作为一个跨模态预训练框架,该方法可以在微调过程中提高数据效率。
    3.模型在各种zero-shot和data-efficient learning benchmarks中优于以前的SOTA方法。
    4.模型成功继承了CLIP丰富的结构化知识,使3D场景理解模型不仅可以识别对象概念,还可以识别开放世界语义。

Introduction

3D场景理解的目标为区分3D场景数据中的语义,识别物体的位置以及推断物体的几何分布。训练传统的3D场景理解模型需要大规模的人工标注,且人工标注出的数据集大多数只包含对象的紧集语义信息(其实就是种类有限,如20类),没办法识别开放性词汇并推断开放性语义。

大规模的视觉语言基础模型(eg:CLIP)只需要从网络上获取图像-文本对做无监督的预训练,就可以在分类和密集预测任务的zero-shot和open-vocabulary推理方面表现出卓越的能力.但3D-文本对很难收集且场景数据复杂,因此很难构建一个像CLIP一样的3D基础模型。
本文作者建议直接将CLIP的特征空间无监督的迁移到3D场景理解模型中,最大限度地保留从CLIP模型继承的丰富信息。

  • 困难
    1.3D场景的理解需要密集的点级特征,而CLIP的视觉编码器提取的是图像及全局特征。因此,将CLIP的特征空间直接转换为场景级数据上的3D模型要困难得多。
    2.由于CLIP的最终特征图分辨率有限,在精确定位和分割目标边界方面存在固有缺陷。

  • 解决(这里看后面模型整体结构,描述的更细致,更容易看懂)
    1.在多尺度上裁剪输入图像以适应不同对象大小。将每个裁剪的样本划分为语义相关的区域,并为区域提取局部特征。我们将每个裁剪的样本划分为语义相关的区域,并为每个区域提取一个局部特征。在ViT[19]编码器中,我们添加了几个局部分类令牌,这些令牌仅聚合区域内局部补丁的信息。通过简单地转发CLIP的编码器,我们提取每个3D场景的RGB视图的像素级特征图。
    2.在提取像素级CLIP特征后,采用3DMV[15]中的特征投影方案,将多视图图像特征投影到点云上。得到的点特征与CLIP的特征空间对齐,并用作离线训练目标。然后利用特征蒸馏训练三维理解模型,最小化学习到的点特征与目标特征之间的距离。通过这种方式,我们得到CLIP- fo3d,它提取与CLIP对齐的自由开放世界3D场景表示。
    3.我们的CLIP-FO3D可以执行无注释的开放词汇3D语义分割,而无需额外的训练过程。由于CLIP的视觉特征与文本特征很好地对齐,我们可以将每个类名提示的文本嵌入作为分类权重来执行语义分割

  • 贡献
    1.无监督条件下直接将CLIP的特征空间迁移到3D场景理解模型中,最大限度地保留CLIP的开放世界属性。
    2.提出一种提取像素级CLIP特征的方法,以及一种将三维点表示与CLIP特征空间对齐的特征蒸馏方法。
    3.在大型词汇表上实现了很好的无标注3D语义分割性能,并显示出显著的开放世界特性。
    4.作为一种无监督的预训练方法,该模型在zero-shot和数据高效学习方面优于以前最先进的方法。

Related Work

Open-vocabulary Dense Prediction in 2D Vision

开放词汇密集预测的目的是利用开放集语义对目标进行识别和定位。

  • 早期工作主要利用大规模图像标注作为弱监督源来扩大词汇集。
  • 其他研究提取视觉语言基础模型的知识,以迁移开放词汇能力。

Method

Extract Free Pixel-level CLIP Features

CLIP将全局特征与文本嵌入对齐,但本质上编码的还是局部的密集的语义。有研究表明,必须将CLIP图像级语义划分为局部段,并且适当地将每个段的语义与文本中的独立概念对齐。
MaskCLIP建议丢弃全局池化层,并从最终的特征图中提取密集特征,重新制定1 × 1卷积。

MaskCLIP很难应用于3D
1.由于CLIP的特征图的分辨率比输入图像低得多,很难在不同尺度上分割3D场景中的众多物体。尽管MaskCLIP在识别图像中的显著语义方面有一定的能力,但它很难在不同尺度上分割3D场景中的众多物体。
2.CLIP最终特征映射中的像素特征包含了许多关于整个图像的全局语义。理想情况下,我们希望提取3D场景中不同物体的对象级特征而非图像级特征。
作者建议通过提高分辨率并从CLIP中提取局部特征来解决上述问题

  • 总图:

在这里插入图片描述

  • 步骤:

  • Multi-scale region extraction
    1.对输入视图进行多尺度裁剪,以适应3D场景中不同大小物体的识别。
    2.对于每个裁剪的样本,用SLIC将图像样本划分为超像素,超像素大致覆盖一个物体或物体的一部分,从而产生局部视觉相似的区域。

  • Extracting local features from CLIP
    1.将原始图像按照不同尺度裁剪,对每一个裁剪出的图像采用SLIC将图像样本划分为超像素。

超像素是Xiaofeng Ren于2003年提出并发展起来的一种图像分割技术,指由具有相似纹理、颜色、亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块。
把图像分割成超像素后,可以得到相似的像素簇,相似的像素使用同一个颜色进行填充,从而得到更合理的绘制结果。
在这里插入图片描述

2.给定裁剪过的图像样本Ic,将其分割成N个超像素。之后将裁剪过的图像上采样至CLIP所需输入大小I’c。而后,将I‘c分成M大小相同的patches。
3.将patches的空间位置通过插值将其分配给Ic中的特定超像素,我们将分配给超像素Sj的patch Pi表示为Pi ~ Sj。(eg:两个上采样后的patches对应一个超像素)(超像素的个数小于patches的个数)
在这里插入图片描述

4.为了表示每个超像素的特征,作者加入N个局部分类token(局部令牌初始化与全局令牌相同,并通过ViT中相同的自关注机制和预训练的权重进行更新。),每个局部分类令牌的关注分数从局部补丁计算为:
注意:这里由于为每个CLIP特征空间对齐的超像素都获得了局部特征,超像素内所有像素都会共享局部token信息,以保持对象级语义特征。通过这种方式可以获得与CLIP输入大小相同的每个裁剪图像的特征映射。

5.在提取所有裁剪样本的局部特征图后,再将其调整回裁剪尺寸,并将其缝合回原始输入图像。将所有特征取平均值作为最终像素特征。
在这里插入图片描述

相当于为每个3D场景的RGB视图提取像素特征——>慢,只能离线。

  • Feature Distillation with 2D Teacher
    1.将3D场景中的每个点投影回遵循3DMV[15]的RGB视图。
    2.由于某些点将与来自不同视图的多个像素相关联,因此我们计算所有视图中3D点所对应的2D特征的平均值作为最终点特征f3D∈Rc,其中C的维度和CLIP的视觉编码器相同。
    此时得到每个3D场景的点级特征,记为Ftarget = {{f3D,i}Npi=1,其中Np为场景中点的个数。
    3.在提取每个场景的离线目标点特征后,通过特征蒸馏训练3D场景理解模型从这些目标中学习。

整个训练过程只需要3D数据集和预训练的CLIP视觉编码器,不需要任何形式的监督(例如,2D/3D注释或视觉语言基础注释)。由于学习到的点特征与CLIP的特征空间一致,一旦特征蒸馏完成,3D模型就可以进行开放词汇语义分割和开放世界推理。
在这里插入图片描述

Experiment(懒得整理+1)

Conclusion

本文提出将CLIP的特征空间直接转化为三维场景理解模型,无需任何监督。我们首先从CLIP中提取3D场景RGB视图的像素级特征。然后采用特征投影方法得到目标点的特征,并利用特征蒸馏训练三维模型。成功地继承了CLIP的开放世界属性,允许3D场景理解模型编码对象概念之外的开放世界知识。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值