Advertisement

【3D分割】Segment Anything in 3D with Radiance Fields

阅读量:

论文链接:Segment Anything in 3D with Radiosity Fields

代码链接:

Jianzhi Cen, Jiemin Fang, Zhanwei Zhou, Chen Yang, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian

**发表单位:**上海交通大学、华为公司、华中科技大学启蒙学院 .

会议/期刊: NeurIPS 2023

一、研究背景

计算机视觉领域致力于开发能够在各种场合下完成基本任务(如图像分割)的视觉基础模型。诸多研究中 standout 的代表作之一便是 Segment Anything Model (SAM),其在二维图像中的分割性能已展现出显著优势。然而,在将 SAM 的能力拓展至三维场景仍是一个未解之谜。作者强调指出,在尽管能够复用 SAM 的架构来采集与实现半自动标注大量三维场景数据。但因三维数据获取及密集标注过程相比二维而言复杂得多,在采用数据驱动方法时会面临诸多困难因而变得难以实施。

构建高质量的3D数据集需要耗费大量的人力物力资源,并由此导致在实际应用中数据资源匮乏;与此同时,在训练阶段也会带来计算资源消耗的问题;因此,在现有技术条件下应用基于SAM框架进行三维场景分割仍然面临诸多困难;传统的解决方案通常是先从头构建一个完整的三维基础模型

论文的作者认识到一种高效可行的替代方案:利用3D表示模型让2D基础模型(即SAM)具备三维感知能力,并非从零开始构建三维基础模型。他们基于辐射场的理念,在此领域取得了创新性突破,并提出了一种称为Segment Anything in 3D (SA3D)的新方法。

该辐射场模型作为一种基于创新性的3D表示方法被提出,并通过可微渲染技术将多视图的2D图像与3D空间相互关联。该研究则提出了将SAM与辐射场整合的一种新方法,并将其整合为一种新的框架来提升3D分割的效果。

论文的主要贡献总结如下:

该框架被命名为SA³DK,并定位为一项具有创新性的技术。它融合了二维分割基础模型(如Segment Anything Model, SAM)与辐射场建模技术(包括但不限于NeRF和三维散斑成像)。通过对现有架构进行优化配置,在此过程中实现了三维场景分析所需的关键操作。通过对其二维分割模块进行深度拓展优化,在此过程中实现了精确的三维重建效果。

该系统主要由两大关键步骤构成:首先采用mask-inversion rendering技术将二维分割结果投射至三维空间中;其次自提示机制则通过多视角生成可靠的提示点从而进一步提升分割精度。这一系列流程经过反复迭代优化后形成一个闭环系统最终输出高精度的三维掩码数据

采用了特征缓存机制:以提高推理效率为目标,在SA3D中实施这一技术方案后,在预存SAM提取的关键点上实现了数据的有效存储与快速调用。这不仅显著提升了分割速率,在采用3D Gaussian Splatting这一高效表示方案时,则可使分割过程的时间缩短至两秒以内。

应对多种辐射环境:研究表明SA3D系统在各类辐射场中展现出卓越性能,在正视图至全方位场景间成功应对各类复杂情况

增强了一项系统的实验评估:论文进行了全面且详实的实验验证,在消融研究方面进行了系统性探讨,并对关键组件展开了深入分析。通过多维度的数据呈现与结果对比分析,系统地评估了SA3D在各种应用场景下的性能,并充分证明了该方法在实际应用中的有效性与效率

基于已预先训练好的辐射场模型,在SA3D系统中,通过接收单个渲染视图作为输入,并生成相应的3D分割结果以特定目标为基础。

二、预备知识总结

2.1 神经辐射场(NeRF)

NeRF(Neural Radiance Fields)是用于表示3D场景的连续函数,在多层感知机(MLP)的基础上实现对空间位置信息的处理

x n athbb{R}^3

和视角方向

d n athbb{S}^2

映射到相应位置的颜色

c n athbb{R}^3

和体积密度

igma n athbb{R}

。渲染图像时,NeRF通过光线投射技术生成每个像素点的颜色,公式如下:

I_heta=nt_{t_n}^{t_f}megac,ddt

其中,权重

w

表示在射线路径 r(t)上的透明度和体积密度的综合效果,公式如下:

argemega=xpeftdsightdotigma

其中 tn 和 t 分别为光线的近界和远界。

2.2 3D Gaussian Splatting (3D-GS)

3D Gaussian Splatting被视为辐射场的新兴技术之一。与NeRF不同, 该方法不同于基于函数映射的传统渲染方式,而是采用一组预先定义的三维高斯分布来存储渲染所需的颜色和透明度等属性信息。每个光线通过叠加一组预定义的三维高斯分布来综合其颜色信息

I_heta=um_{i=1}^{|G_r|}mega_{g_i}c_{g_i}

其中 ωgi 代表高斯分布的权重;每个高斯分布在颜色值上对应的是cgi。引入了高斯分布,并采用光栅化算法使得3D-GS无需在空旷区域进行查询;从而让3D-GS显著地提高了渲染效率与训练速度。

2.3 Segment Anything Model (SAM)

SAM模型基于编码器-解码器架构运行,在此架构下系统首先通过编码器提取图像特征随后结合输入的提示信息包括点框以及文本等元素生成相应的二维分割掩膜

编码器 Se:给定图像 I,编码器生成对应的特征 fI:

f_I=S_e

解码器Sd:结合特征 fI和提示信息 P,生成2D分割掩码 M SAM:

arge M_{​{athrm{SAM}}}=S_{d}

相比之下,编码器在计算上的开销较大,而解码器则相对轻量化。

三、整体框架

整体流程

其主要功能表述为通过融合2D分割模型与辐射场模型来快速实现3D分割。该系统利用训练好的辐射场模型来利用单个视角提供的2D提示信息(例如点击点),逐步构建出相应的3D分割掩码。

输入多视角2D图像:首先接收来自不同角度的二维图像数据作为训练好的辐射场模型的数据来源。

通过SAM编码器提取图像特征:将这些二维图像输入至SAM编码器中完成特征提取过程。随后将提取出的特征存储于本地,并以'Feature Cache'命名形成本地存储空间。该存储空间将被用于后续分割与渲染操作。

输入提示生成过程:用户在特定视角中为目标物体提供二维提示信息;这些二维提示作为SAM模型的输入数据;有助于模型建立初始阶段的二维分割掩模

M_{athrm{SAM}}^{}

,这一掩码表示该视角下的初步分割结果。

在3D空间中:通过逆向渲染流程将初步构建的2D遮罩投射至3D空间中。在此时,利用辐射场密度数据将2D遮罩与3D物体几何特征建立关联关系,并最终建立一个粗略的3D分割遮罩。

掩码渲染(Mask Rendering):基于3D掩码,在新的视角下生成新的2D掩码

M_{athrm{SAM}}^{}

。由于最初的3D掩码可能不够精确,可能会导致新视角下的2D分割不准确。

跨视角自提示(Cross-view Self-prompting):该方法旨在提升分割精度。系统通过从不同视角的2D渲染结果中提取提示信息,并将其与预存的图像特征进行融合处理。这些融合后的信息能够帮助系统在当前特定视图下生成更加精确的分割掩码。

该过程会在多维度视角下循环执行,在每个视角下生成的二维遮罩都会通过逆向渲染的方式投射至三维空间中,并逐步提升三维分割遮罩的质量

四、核心方法

4.1 3D Mask Representation

在NeRF的研究中,该论文使用了...结构来表示....具体而言,在每个Voxel(体素)的顶点处都会初始化一个零值的soft confidence分数.基于这些Voxel结构,在该研究中通过以下公式将某一个视角下的2D mask生成其对应的3D mask:

arge M=nt_{t_n}^{t_f}megaVdt

其中:

V(r(t)) 表示通过体素网格得到的3D掩码置信度。

ω(r(t))是光线渲染权重,基于体素的密度和透明度计算。

该系统基于3D高斯分布构建了复杂的渲染模型,在论文研究中引入了一个新的属性——掩码置信度。具体而言,在该模型中每个高斯分布将被明确归类于目标物体或背景区域之一。这种创新性设计显著提升了渲染效率,并无需额外设置即可实现高质量图像生成。该系统的数学表达式如上所示:

M=um_{i=1}^{|G_r|}mega_{g_i}m_{g_i}

其中:

ωgi​​ 表示每个高斯分布的权重。

mgi 是高斯分布的掩码置信度。

内存优化方面相较于基于体素网格表示的方法,
仅需存储场景中的高斯分布。
每个场景的高斯分布在数量上比之低得多,
一般在1千万以下的数量级。
这表明在GPU内存占用方面,
相比于基于体素网格的方法,
3D-GS展现出显著的优势

计算效率得到显著提升:体素网格的表现形式需要在渲染过程中额外地获取了每个体素的掩码置信度信息,在此过程中可能会引入一定的误差;相比之下,在采用3D-GS方法时,则可以直接处理每个高斯分布以减少计算负担

4.2 Mask Inverse Rendering

Mask Inverse Rendering process is a core module within the SA3D framework, which enables the accurate mapping of 2D segmentation masks into a three-dimensional space to depict the true occlusion relationships between objects.

每个像素的颜色由沿射线的加权颜色和权重决定。公式如下:

I_heta=nt_{t_n}^{t_f}megac,ddt

其中,在计算过程中\omega(r(t))被定义为该点的重要程度变量(variable),它代表了该点相对于目标表面的位置关系。具体而言,在\omega(r(t))较大的区域中(区域),对应的样本数据具有更高的相似度特征(characteristic);而当\omega(r(t))较小时(区域),则表明对应的样本数据与目标表面之间的匹配程度较低(degree)。基于这一分析框架,在后续的研究中我们可以通过对不同区域的加权求和(sum)来推导出物体在三维空间中的整体几何结构(structure)。

该技术旨在实现二维遮罩在三维空间中的逆向投影,并通过预设权重生成相应的三维遮罩。具体步骤如下:首先将2D图像转换为三维模型;其次计算每个像素对应的权重;最后根据这些权重生成最终的3D遮罩。

基于以下假设:假设SAM生成的二维遮罩MSAM(r)被定义为

本研究系统的目标是通过增强与权重ω相关的三维遮罩V(r(t))或mgi(对于三维全局搜索任务而言)来实现目标定位精度的最大化。

使用梯度下降算法来进行优化过程

L_{athrm{proj}}=-um_{rn R}M_{athrm{SAM}}dot M

其中 R(I)表示图像 I 中的射线集合。

为了进一步提升3D掩码的效果,在研究中加入了负修正项用于维持多视角掩码的一致性。经过上述改进后的损失函数形式如下所示:

L_{athrm{proj}}=-um_{rn R}M_{athrm{SAM}}dot M+ambdaum_{rn R}dot M

其中λ是一个调节参数,在某种程度上决定了负修正量的大小。通过引入这一负修正项,在SAM能够从多个视角均准确判断同一区域为前景的前提下,SA3D算法才会将对应的三维区域标记为前景区域。

基于所定义的损失函数进行最小化操作后, SA3D算法能够在多个观察角度下实现对三维掩膜的优化效果.该方法将二维视图中的分割信息与三维辐射场中的几何特征相结合,从而准确地完成三维分割任务.

4.3 Cross-view Self-prompting

Cross-view Self-prompting 演示图

主要概念是基于单一视角生成二维分割掩码,并因此自动创建新的提示点以辅助后续处理;通过自我提示机制,在多个观察角度上实现了统一的一致性

(1.1)识别高置信度标记:首先,在当前二维分割结果中识别出具有最高置信水平的标记(图中标注为红色圆圈)。该标记表明系统对该物体前景区域划分的信心最大。

(1.2) 方形区域掩码:系统识别出最高置信度的点后会创建一个方形区域并将其遮盖起来以避免同一区域被重复选中从而保证分割提示点间的均匀分布

(1.3)依据3D距离计算出的可信度衰减:随后,在系统中将根据该物体表面某一点在其三维空间中的位置分布情况对该点及其邻近区域执行可信度衰减操作。这种衰减过程是基于各点间的几何关系完成的,在物体表面相互靠近的两点不再具备相同的提示优先权程度。以下即为具体的递减公式:

argeext{Confidence decay}=e^{-lphadot d}

此公式中 ,d(\mathbf{p}_i,\mathbf{p}_j) 表示两个点之间的 三维空间中的 欧氏距离 。参数 \alpha 表示为 衰减因子 ,用于 控制 响应值 的 衰减程度 。此公式通过以下方式实现 :随着两点之间 距离 的 增大 , 提示点 的 置信度 按 指数规律 递减 , 这一机制 可有效 避免 在邻近 区域 多次选取 同一提示点 。

接着选择新点并重复流程:

(2.1)选择新的高置信度点:在初次提示生成并掩码之后,在剩余区域中系统随后会依次选择具有最高置信度的点。这一过程与步骤1.1所描述的过程类似,在这种情况下新的提示点同样是基于当前2D分割结果所支持的置信度来确定的。

(2.2)新增的方形掩码区域:当选择一个新点时, 系统将再次生成一个新的方形掩码区域, 并降低该区域的置信度;从而防止该区域再次被选作提示点

(2.3)基于距离的距离衰减:与步骤1.3类似,在此阶段系统会对包含新选定点的区域依据距离进行置信度衰减以避免选择过于接近的点。此阶段仍需通过相关公式持续计算,并随着更多辅助点的选择在图像范围内逐步扩大这种影响。

该方法通过结合掩码与置信度衰减因子,在各个角度上持续执行这一过程。当必要提示点全部生成完成之后,这些提示点将被依次输入至SAM模型中进行处理,并最终在各个不同角度上生成更为精确的二维遮罩图。

两个重要策略——Self-prompting Strategy 和 IoU-aware View Rejection

4.3.1 Self-prompting Strategy(自提示策略)

当系统处理每一个新的视角时,在基于当前三维遮罩渲染生成的二维遮罩过程中可能会出现一定程度上的不准确性。从而导致系统会通过内部提示机制从当前视角对应的二维遮罩中自动识别出关键提示点。这些关键提示点将根据以下策略自动生成:

置信度筛选:在2D掩码中的每个像素上计算其信心值,在此基础上筛选出这些高信心水平的像素点作为新的提示标记(例如图中标注为红色标记的位置)

置信度公式:置信水平 C(pi) 表示每个点 pi 对应的置信水平 C(pi) 表示其作为前景物体的可能性 其计算方式如下

C=athrm{softmax}

其中,SAM(pi)表示SAM模型对点pi的分割结果;而softmax函数则用于将每个像素点的前景概率归一化。

基于所述置信度计算方法选择提示点后, 系统将选定的这些提示点传递至SAM的解码器模块中, 输出该视角下的精确二维分割掩膜. 这一过程不仅实现了SA3D在该视角下的精确二维分割掩膜输出能力, 同时还为其后续三维重建提供了可靠的基础.

自我提示策略会通过每个视角不断重复执行,在经过多次不同视角的遍历后,逐步构建更为精确的3D分割掩膜。

4.3.2 IoU-aware View Rejection(基于IoU的视角拒绝策略)

IoU-aided View Rejection 作为一种去除非优质视图的方法,在SA3D中被用来提升模型性能。该策略通过将不具优化潜力的角度剔除出候选集合来实现这一目标。IoU(Intersection over Union)则被用来评估新视图下2D分割掩膜与现有分割结果间的相似性水平。

athrm{IoU}=rac{|M_{​{athrm{new}}}ap M_{​{athrm{ref}}}|}{|M_{​{athrm{new}}}up M_{​{athrm{ref}}}|}

在每一个新的视角下,在每一个新的观察框架内,在每一个新的分析维度中,在每一个新的数据处理流程中,在每一个新的算法运行环境中,在每一个新的模型训练阶段中,在每一个新的特征提取层级中,在每一个新的样本分析层面中,在每一个新的问题解决策略中,在每一个新的解决方案应用范围内(即:在每一个单独的新视角下),系统首先会创建一个新的二维分割掩码(即:将三维掩码转换为二维分割掩码)。随后系统会评估该特定新视角下的分割结果是否具有进一步优化的价值(即:评估其进一步优化的必要性)。为此系统会计算该特定新视角下的新分割掩码与之前所有视角的分割结果之间的交并率(即:计算该特定视角下的新旧分割掩码之间的交并比),从而决定是否需要对该结果进行后续优化

其中:

Mnew 表示当前视角下生成的2D掩码。

Mref​ 表示前一个视角下的2D分割掩码。

IoU阈值过滤。当某个视角的2D分割结果与之前视角的结果差异较大时(即交并比率为较低的情况),系统可能会拒绝该视角(认为其分割结果不可靠)。这种过滤策略确保了系统不会将计算资源浪费在低质量的视角上。该过滤策略基于以下条件执行:

ext{Reject view if IoU}<au

其中,τ 是预设的IoU阈值,通常可以根据实验设置一个合理的值,例如 0.5。

基于IoU视角采用一种新的拒绝策略,在SA3D算法中剔除会导致分割误差的角度信息后就能够显著提升分割精度与处理效率。该策略使系统仅在有效角度下进行优化处理而不会影响整体性能表现进而降低了不必要的计算开销

五、实验结果

在实验中,SA3D被集成到三种不同类型的辐射场模型中,分别是:

Vanilla-NeRF:它基于多层感知机实现纯粹的显式隐式表示方法,并被用于显式建模三维场景。

TensoRF:一种基于混合表示的技术,在构建3D场景的过程中采用向量矩阵(VM)分解和轻量级MLP解码器。

该方法基于明确的三维高斯分布模型进行建模,并无需依赖任何神经网络来表示三维场景

研究结果表明,在不同类型的辐射场表示模型中进行测试后发现,在各类应用场景下均实现了高效稳定的性能表现。

实验使用了多个数据集进行定量评估,包括:

NVOS数据集:源自LLFF数据集,涵盖几个前向实例。该集合包含被标记的参考视图和目标视图的注释分割掩码。

SPIn-NeRF数据集:人工标注了一部分NeRF数据集,并以评估交互式3D分割性能为目标。

Replica数据集:包含了高质量的室内场景重建工作,并且涵盖了高密度几何结构、细腻纹理细节以及丰富的语义类别等关键信息

定性分析使用了以下数据集:

LLFF数据集:用于展示在复杂3D场景中的分割性能。

MIP-360数据集:展示了SA3D在全景场景中的表现。

LERF数据集:该LERF数据集包含更具真实性且具有挑战性特征的场景,并旨在进一步验证SA3D在应对更为复杂的场景时的适应能力

SA3D基于PyTorch框架在NVIDIA GeForce RTX 3090显卡上进行开发与训练

Vanilla-NeRF:200,000次迭代。

TensoRF:经过LLFF和MIP-360数据集的2万次迭代训练,在其他数据集上则完成了4万次迭代训练。

3D-GS:进行了30,000次迭代。

本研究对NVOS进行了详细的定量评估。其中,“FC”代表特征缓存。时间成本的估算基于对其相关文献的研究综述。

SPIn-NeRF 数据集的定量结果。 “FC”表示特征缓存。 “TRF”表示“TensoRF”。

3D GS性能不佳-错误学习的几何图形会混淆分割模型并导致性能下降

在3D全局搜索(GS)过程中表现欠佳-当系统误学习几何图形时,这些不准确的数据会干扰分割模型的学习过程,并最终导致整体性能下降

在3D全局搜索(GS)过程中表现欠佳-当系统误学习几何图形时,这些不准确的数据会干扰分割模型的学习过程,并最终导致整体性能下降

不同场景中的一些可视化结果

在多个数量级的视图层面上进行融合以生成三维遮罩模型。括号内的数值表明各视角所占总训练视角比例。“FC”标识特征缓存节点。

不同 IoU 感知拒绝阈值的消融 τ 在副本 Office_0 上。

不同负项系数的消融 λ 在副本 Office_0 上。

自我提示策略的置信度衰减项的消融。

LLFF-fern场景与Bonsai场景分别展示了SAM二维分割输出及SA3D三维分割结果。SA3D系统提取并补充了SAM二维分割输出中所缺乏的细节信息。

六、结论

辐射场支撑了SA3D在细粒度深度估计(即几何信息)方面的性能。这种精细特征提取的能力对于准确捕捉物体的小孔、间隙等复杂细节至关重要。二维分割模型(例如SAM)通常会遇到处理精细特征的挑战,尤其是在分辨率限制导致的分割精度下降时.尽管SAM具备一定的细分能力,但在某些特定场景中仍无法有效识别这些微小区域.通过引入辐射场,SA3D借助引入三维几何信息的技术支持,能够有效地纠正先前方法带来的误差,并在这一过程中显著提升了整体分割性能.

在投影损失中添加了负细化项用于解决SAM未能识别的关键区域;例如,在SAM未能识别物体的小孔及间隙时2D掩码可能会错误地将其投射至物体后方或侧面导致分割结果出现偏差当视角变化时这些被误判的区域会从目标物后方转移至侧面从而使得基于SAM预测出现偏差在此情况下负细化项通过降低这些区域掩码置信度有效抑制了分割误差提升算法性能

虽然SA3D借助辐射场实现了分割性能的显著提升。然而由于3D-GS(即三维高斯着色)所产生的假象,在某些特定条件下会影响系统的整体表现。具体而言,在处理如Replica这类合成数据集时,在缺乏足够的纹理信息支撑下容易导致假象现象的发生机制逐渐显现出来(即该算法会在处理特定视图图像时过度拟合并产生大量透明度较高的假想区域)。为了初始化点云模型,该算法采用了Colmap技术,并利用多视角图像数据进行处理;然而当处理存在纹理不完整或细节缺失的图像时,则可能出现上述问题:即该算法可能会导致假象生成的原因在于其过度拟合特定视图并将在空间中产生大量透明度较高的假想区域;这些半透明的假象现象表明它们存在于三维空间中的各个位置;而这种假象现象还可能对二维遮罩层造成干扰:即该算法在渲染过程中可能会错误地将这些假像叠加到目标物体上;从而降低了系统的整体性能水平

全部评论 (0)

还没有任何评论哟~