目的:
利用2D视觉提示对3D目标进行分割,通过对每一个3D高斯点附加一个尺度门控亲和特征来实现
方法:
为每个高斯点设计一个亲和特征,具有接近亲和特征的高斯点属于一个3D目标,此外,设计多尺度软尺度门控机制来处理多粒度歧义
预备知识:
3DGS:
给定一个包含多视角2D图像及其相机位姿的训练数据集 I,3D-GS学习到一组3D有色高斯点G = {g_1, g_2, …, g_N },其中 N 表示场景中3D高斯点的数量。一个高斯点的均值代表其位置,协方差表示其尺度。相应地,3D-GS提出了一种新颖的可微分光栅化技术,用于高效训练和渲染。给定一个特定的相机位姿,3D-GS将3D高斯点投影到2D平面,并通过混合一组重叠在像素 p 上的有序高斯点 G_p 来计算像素 p的颜色 C(p)。设g_p^i 为 G_p中的第 i 个高斯点,该过程公式化如下:
其中,c_{g_p^i} 是 g_p^i的颜色,\alpha_{g_p^i} 通过评估对应的协方差 \Sigma 乘以每个高斯点学习到的不透明度来给出。
尺度条件的3D特征:
LERF首次提出了尺度条件特征场的概念,用于从CLIP获得的全局图像嵌入中学习。GARField将其引入到辐射场分割领域,以解决多粒度歧义问题。为了计算2D掩码 M 的3D掩码尺度 s_M,GARField 使用相机内参和由预训练辐射场预测的深度信息将 M 投影到3D空间。设 P 表示获得的点云,X(P)、Y(P)、Z(P) 分别表示 P 的3D坐标分量集,掩码尺度s_M 为:
整体流程:
给定一个预训练的3DGS模型G,并为3DGS中的每个高斯点g添加一个高斯亲和特征f_g \in R^D,其中D表示特征维度
为了处理3D提示分割固有的多粒度歧义,采用一个软尺度门机制,将特征投影到不同尺度s的特征子空间中
首先,使用SAM从训练集中的每个图象提取一组多粒度掩码M_I = {{M^i_I \in{0,1 }^{H \times W} | i = 1, \dots \N_I} },其中,H和W是图像I的高度和宽度,N_I表示提取的掩码数量
对于每个掩码M^i_I,使用带有相机位姿的G来估计器对应的3D物理尺度
高斯亲和特征学习:
对于特定的高斯,其具有高斯亲和特征f_g和一个特定的尺度s,定义一个尺度门映射S:[0,1] \rightarrow [0,1]^D,将尺度标量映射到软门向量,而后与高斯亲和特征做Hadamard积分
由于所有高斯亲和特征共享通用尺度门,在训练过程中,我们可以先将高斯亲和特征渲染出来,应用尺度门
采用局部特征平滑来解决由于光栅化过程中小权重导致的训练不足或者3DGS学习的几何特征不正确等问题
尺度感知像素身份向量:
为图像I中的每个像素p分配一个尺度感知像素身份向量V(s,p) \in{0,1 }^{N_I},身份向量反映了一个像素在特定尺度下所属的2D掩码。直观上,如果两个像素 p1 和 p2在给定尺度 s 下至少共享一个相同的掩码,那么它们在尺度 s 下应具有相似的特征。
如何获取V(s,p):
为了获得 V(s, p),我们首先根据掩码尺度对掩码集合 M_I 进行降序排序,得到有序掩码列表 O_I = (M_I^{(1)}, …, M_I^{(N_I)}),其中s_{M_I^{(1)}} > … > s_{M_I^{(N_I)}}。然后,对于像素 p,当 s_{M_I^{(i)}} 时,V_i(s, p)的第 i 项设置为 M_I^{(i)}(p)。当 s_{M_I^{(i)}} \geq s 时,只有在 M_I^{(i)}(p) = 1 且所有较小尺度的掩码{M_j \mid s \leq s_{M_j}
这种像素身份向量的分配基于这样一个假设:如果一个像素在给定尺度下属于一个特定掩码,那么在更大尺度下它仍然属于该掩码。
损失函数设计:
对于两个像素,分别从高斯渲染出的亲和特征和SAM获取的分割图中的尺度感知向量计算他们的相似性,通过蒸馏从SAM模型中获取多尺度分割信息来训练高斯
对于给定尺度s下的两个像素p1,p2,掩码对应性为:
特征相似性为:
两个像素之间对应的蒸馏损失:
总结:
1.为3dgs设计亲和特征,并添加尺度门用于使用不同尺度下的多粒度歧义
2.从SAM中获取像素身份向量,并依据假设:如果一个像素在给定尺度下属于一个特定掩码,那么在更大尺度下它仍然属于该掩码
3.设计蒸馏损失,通过比较两个像素在高斯亲和特征层面和掩码对应性层面的相似性,将SAM的信息蒸馏到高斯模型中