点击下方卡片,关注 「AI视界引擎」 公众号
( 添加时备注:方向+学校/公司+昵称/姓名 )
基于RGB-D数据的平面实例分割是许多下游任务(如室内3D重构)的关键研究主题。
然而,大多数现有的基于深度学习的平面实例分割方法仅利用RGB波段的信息,忽视了平面实例分割中深度波段的重要作用。
基于EfficientSAM,Segment Anything Model(SAM)的快速版本,作者提出了一种名为PlaneSAM的平面实例分割网络,该网络可以充分利用RGB波段(光谱波段)和D波段(几何波段)的信息,从而以多模态方式提高平面实例分割的有效性。
1 Introduction
Plane实例分割旨在从点云或图像数据中识别和提取平面,这些数据对应于3D场景。它已在摄影测量学和计算机视觉的许多子领域得到广泛应用,例如室内3D重构,室内移动映射[8],户外3D重构,自动驾驶[12],增强现实[13],以及SLAM[14]。通过在3D场景中分割平面区域,作者可以获取重要几何和语义信息,以便更好地理解和处理复杂的视觉数据。深度数据可以提供光谱数据的补充信息,而两种模式的有机结合通常比仅使用单一模式数据获得更好的结果。此外,平面是一种几何基本元素,因此将D波段的相关几何信息集成进来,有望提高平面实例分割的鲁棒性。因此,本研究探讨了从RGB-D数据中进行Plane实例分割的问题,目标是实现多模态下更高的平面实例分割精度。
对于平面实例分割,尽管许多最先进的(SOTA)算法专注于RGB-D数据集,但其中大多数仅使用RGB波段(光谱数据),忽视了D波段(几何数据)的重要作用。例如,PlaneRCNN [17],PlaneAE [18],PlaneSeg [19],以及BT3DPR [20] 使用RGB-D数据集进行深度学习模型训练和测试,但它们仅使用RGB波段。Aware 到平面是几何结构,一些研究行人采用其他几何结构来帮助恢复平面形成。例如,最先进的算法PlaneTR [2] 和PlaneAC [21] 首先从RGB波段中提取线段作为几何线索,以辅助平面实例分割。然而,从RGB波段中提取几何线索也依赖于光谱特征,这使得这些线索对拍摄条件的变化敏感。X-PDNet [22] 利用基于RGB波段估计的深度信息,使其成为一个顺序方法,容易出错。此外,本质上,它也完全依赖于RGB波段的信息。
现有最先进算法仅依靠RGB波段(光谱波段)就能取得可接受的结果,因为典型室内场景中平面物体的光谱变化通常较为有限。此外,尽管现有的RGB-D平面实例分割数据集并不是很大,但它们已经达到了初步规模。然而,从单视图RGB图像中分割平面实例是一个病态问题。事实上,光谱特征作为平面实例的描述符并不具有鲁棒性,无法有效地捕捉到三维的变化,导致仅依赖RGB光谱特征的最先进算法性能有限(见图1)。这些挑战可以通过适当利用所有RGB-D波段来解决。因此,当数据具有D波段时,作者应全面利用D波段上发现的几何信息,以及光谱波段上发现的几何信息,而不是仅仅关注RGB波段上的光谱特征以及从这些光谱特征中提取的某些几何线索。
然而,在RGB-D数据上训练一个网络模型以实现强泛化平面分割性能并非易事。深度学习的前期研究通常表明,要使网络具有强大的泛化能力,通常需要大量的细粒度训练数据。然而,现有的用于平面实例分割的RGB-D训练数据集,如ScanNet平面分割数据集[28],规模并不很大。此外,为大规模RGB-D数据集进行平面实例分割的标注成本是难以承受的。
一些基于大规模RGB图像数据集构建的基础模型(或预训练模型),如Segment Anything Model (SAM) [23]和Contrastive Language-Image Pretraining模型(CLIP)[24],在RGB图像处理领域表现出色。如果为三波段RGB图像分割开发的基础模型能够适应四波段RGB-D数据,那么作者可以期望训练一个在RGB-D数据上分割平面实例的高效通用网络。然而,这并不意味着只需将深度学习模型的输入从三波段更改为四波段。
例如,如果作者将原始SAM微调为一个可以从RGB-D数据中分割平面实例的模型,作者会发现仅仅微调SAM也非常昂贵。此外,其推理速度较慢。如果作者微调一个加速的SAM变体,如EfficientSAM [29],作者会发现仅将模型输入从三波段更改为四波段,然后直接微调原始EfficientSAM的 Backbone 结果导致了有限的一般化性能(第一个问题;见图2)。这是因为EfficientSAM的 Backbone 虽然比原始SAM简化为,但仍然复杂。此外,D波段的属性与RGB波段的属性显著不同。
因此,为了有效地使用这样一个复杂的网络结构学习D波段特征,需要大量训练数据。换句话说,与从RGB图像网络转移到另一个RGB图像网络的相对简单的迁移学习相比,从RGB图像网络转移到RGB-D图像网络通常需要更多的训练数据进行微调。然而,目前所有可用的RGB-D平面实例分割训练集的大小都有限(与SAM和CLIP等基础模型的训练集相比)。因此,直接微调原始EfficientSAM的 Backbone 通常会导致过拟合。此外,EfficientSAM依赖于输入 Prompt (如点或框)以及输入图像来预测 Mask ,这阻止了它实现完全自动的平面实例分割(第二个问题)。
第二问题相对容易解决,因为作者可以在性能优越的现有目标检测网络(如经典的Faster R-CNN [30])上作为平面检测网络。然后,作者可以使用预测的边界框作为作者修改后的EfficientSAM的 Prompt ,从而完全自动化平面实例分割任务。
然而,第一个问题相对难以解决。首先,作者必须解决如何将D带引入EfficientSAM的问题。如前所述,保持EfficientSAM的 Backbone 结构不变,仅添加D带输入并不能得到最优解。放弃EfficientSAM,而直接使用一个更简单的模型可以有效地缓解过拟合。然而,这种方法不能充分利用EfficientSAM从大量RGB数据中学到的特征表示。
因此,作者设计了一个双复杂度 Backbone ,其中主要使用一个简单的卷积神经网络来学习D带的有关特征表示,而原始复杂的 Backbone 结构主要用于RGB带。这种 Backbone 结构有助于避免现有RGB-D平面分割数据集的有限大小导致的过拟合,同时充分利用EfficientSAM对RGB带的强大特征表示能力,从而全面利用RGB-D数据的全部带。此外,原 Backbone 分支并未冻结,以便更好地适应当前任务。需要注意的是,如果双分支 Backbone 的复杂性没有像作者的双复杂度 Backbone 那样仔细设计,但作者仍然希望保留其原始分支的特征表示,那么原始分支应该冻结,就像在DPLNet [31]中那样。否则,后续的微调可能会损坏原始分支的良好特征表示,且微调数据有限,可能会导致过拟合。
其次,RGB-D带与RGB带的应用领域显著不同。因此,直接在现有的有限规模RGB-D平面实例分割数据集上微调作者修改后的EfficientSAM可能得到次优性能。为了确保作者的双复杂度 Backbone 在处理RGB-D数据时也具有强大的泛化能力,作者收集了大约10万个RGB-D图像,并使用SAM-H [23]仅使用RGB带进行完全自动分割任务的全自动 Mask 标注。作者首先在自监督方式下,在一个大规模、不完美的RGB-D数据集上预训练作者的PlaneSAM,然后针对平面实例分割任务进行微调。
第三,EfficientSAM在大面积平面分割上表现不佳,因为其损失函数只偏爱分割小区域。为了解决这个问题,作者优化了损失函数的组合比例,使模型能够有效地处理大和小面积的平面实例分割。
到作者为止,作者是第一个将RGB-D数据的四个波段都利用在深度学习模型中进行平面实例分割的。以下是这项研究的具体贡献:
作者通过设计一种新颖的双复杂度 Backbone 结构,提升了平面实例分割的性能。与现有的双分支 Backbone 不同,这种结构能够避免现有RGB-D平面实例分割数据集的规模限制导致的过拟合问题,充分利用基础模型EfficientSAM的特征表示能力,同时允许原始 Backbone 分支进行微调,以更好地适应新任务。
基于不完美的伪标签的自监督预训练策略,作者使用SAM-H自动生成的RGB-D数据的不完美分割结果,实现了在大规模RGB-D数据上的PlaneSAM模型的低成本预训练。与传统依赖精细手动标注的高成本预训练方法[32; 33]不同,作者使用相关任务的相同类型数据产生的算法产生的不完美伪标签来预训练作者的平面分割模型。作者的预训练成功表明,相关任务涉及相同类型数据产生的算法产生的不完美伪标签仍然可以用于模型训练。
作者优化了EfficientSAM的损失函数组合比例,使微调后的PlaneSAM可以从RGB-D数据中有效地分割大型平面。
作者的PlaneSAM相对于EfficientSAM的计算开销提高了大约10%,但同时在ScanNet[28]、Matterport3D[34]、ICL-NUIM RGB-D[35]和2D-3D-S[36]数据集上实现了最先进的性能。
2 Related works
Plane segmentation from RGB-D data
随着深度学习技术的快速发展,基于它的方法已经逐渐主导了平面实例分割领域,这是因为它们具有高精度和鲁棒性。PlaneNet [28]采用自上而下的方法,直接从单张RGB图像中预测平面实例和3D平面参数,取得了良好的效果。然而,这种方法存在一些缺点,例如需要提前知道图像中最大平面数量,以及处理小面积平面存在困难。在后续工作中,PlaneRCNN [17]和PlaneAE [18]解决了这些问题。PlaneRCNN也采用自上而下的方法,使用Mask R-CNN [32]作为平面检测网络,使其能够检测任意数量的平面。然后,PlaneRCNN使用一个精炼网络联合精炼所有预测的平面实例 Mask ,最终获得全局精化的分割 Mask 。
与PlaneRCNN不同,PlaneAE采用自下而上的方法。它首先使用一个卷积神经网络为每个像素学习嵌入,然后使用高效的均值漂移聚类算法将嵌入分组,从而获得平面实例。PlaneTR [2]探索了几何线索如何影响平面实例分割,并发现线段包含更全面的3D信息。它使用一个Transformer [37]模型将输入图像和线段的上下文特征编码为两个 Token 序列。这些序列,加上一组可学习的平面 Query ,被输入到一个平面解码器,输出一个平面实例的集合。
PlaneAC [21]也采用线导向方法,但采用了一个结合Transformer和卷积神经网络的混合模型。BT3DPR [20]使用双边Transformer来增强小型的分割。PlaneSeg [19]开发了基于CNN的插件来解决小型分割的挑战,并在平面分割过程中提高边界精度。然而,尽管使用了RGB-D数据集进行实验,这些方法仅依赖于单张RGB图像输入。需要进一步研究以有效利用RGB-D数据的全部四个波段,这是本文的重点。
Segment Anything Models
在过去几年中,基础模型取得了突破性的进展。如CLIP [24]、GPT-4 [38]和BERT [26]等模型在各个领域都作出了重要贡献。在计算机视觉领域,Segment Anything Model(SAM) [23] 是一种高度重要的大交互视觉模型,已经证明在事先给出适当 Prompt 的情况下,它可以分割任何物体。SAM由三个模块组成:1) 图像编码器,直接采用ViT [39]的设计来处理图像并将其转换为中间图像特征;2) Prompt 编码器,支持点、框和 Mask 输入,并将输入 Prompt 转换为嵌入 Token ;3) Mask 解码器,使用交叉注意力机制有效地与图像特征和 Prompt 嵌入 Token 相互作用,以生成最终 Mask 。SAM由于其强大的零样本泛化能力,在语义分割和实例分割等任务中得到了广泛应用。然而,它存在的主要问题是高计算成本,这使得实时处理具有挑战性。
为了解决低效率问题,研究行人已经开发了几个更小、更快的SAM模型,例如快速SAM[40],移动SAM[41]和EfficientSAM[29]。其中,EfficientSAM取得了最佳结果,因此作者在RGB-D数据平面实例分割中研究其应用。EfficientSAM采用 Mask Mask 图像预训练来学习有效的视觉表示,通过从SAM图像编码器重构特征,然后使用Meta AI Research[23]建立的SA-1B数据集进行微调,取得了显著的结果。使用较小的ViT Backbone 网络,EfficientSAM减少了参数数量,并将推理速度提高了约20倍,而准确性只降低了约2%。然而,当将EfficientSAM引入RGB-D数据平面实例分割任务时,仍有一些问题无法忽视。
首先,EfficientSAM仍然是一个非常复杂的网络,RGB图像的领域与RGB-D图像的领域有显著差异,这意味着作者需要大量的RGB-D平面分割样本来微调网络。然而,当前的RGB-D平面分割数据集相对较小。
因此,作者必须设计适当的网络架构和训练策略;否则,网络,至少涉及D波段的部分,很容易陷入过拟合。其次,EfficientSAM在分割大面积平面方面的性能不满意。在微调之前,EfficientSAM受到照明和颜色的变化极大影响,并且倾向于将具有不同照明或颜色的同一平面部分分割成不同的平面实例。
然而,在使用RGB-D平面分割数据集进行微调后,EfficientSAM仍然无法有效地分割大面积平面,因为其损失函数倾向于分割小物体。最后,EfficientSAM使用输入 Prompt ,如点和 Box ,以及输入图像,来进行预测,这使得它无法实现完全自动的平面实例分割。
3 Method
作者采用自上而下的方法,以多模态的方式从RGB-D数据中分割平面实例。首先,作者在数据中检测平面并获取其边界框,然后将这些边界框输入到修改后的多模态EfficientSAM [29]中,作为 Prompt 以生成相应平面实例的 Mask 。
图3说明了作者的网络包含两个子网络:平面检测网络和多模态平面实例 Mask 生成网络。
由于作者的方法主要基于EfficientSAM进行平面实例分割,因此作者将其称为PlaneSAM。平面检测网络、多模态平面实例 Mask 生成网络和所采用的损失函数分别在2.1、2.2和2.3节中介绍。第2.4节详细描述了使用RGB-D数据集对PlaneSAM进行预训练并在ScanNet数据集[28]上进行微调的方法。
Plane detection network
由于本研究并未专注于平面检测,因此作者在此方面不做改进。类似于PlaneRCNN [17],作者使用经典的Faster R-CNN [30]进行平面检测。作者将平面实例视为目标,Faster R-CNN只需预测两个类别:平面和非平面。作者没有修改Faster R-CNN的组件;作者只做的改变是使其能够预测平面实例的边界框。在作者的实验中,作者发现仅仅使用所有预训练权重会显著降低Faster R-CNN的准确性;因此,除了预训练的ResNet背板外,作者从头训练网络的所有组件。
请注意,其他目标检测方法也可以像作者用Faster R-CNN那样进行平面检测,作者还可以潜在地设计一个专用的平面检测器针对RGB-D数据。这两种方法可能都能产生比Faster R-CNN更好的结果。然而,作者选择这个经典的目标检测器来证明作者PlaneSAM所获得的优越分割结果并不依赖于完美的平面检测结果。
Plane instance mask generation network
为了增强平面实例分割(深度带,几何带),作者设计了一个双复杂度 Backbone 结构,用于学习和融合RGB和D带的特征表示。由于大量的带有标注的RGB图像分割数据可用,作者主要使用EfficientSAM的复杂 Backbone 结构来学习RGB带的特征表示。EfficientSAM [29] 使用Vision Transformer(ViT)[39]作为其图像编码器,首先将输入图像转换为patch嵌入,然后通过多个编码块(Transformer块)提取图像特征,并最终输出特征嵌入。遵循传统的Transformer结构[37],每个编码块包括多头自注意力层和前馈神经网络。由于它是一个使用大量RGB图像训练的大型Transformer模型,EfficientSAM实现了强大的泛化能力。
从理论上讲,直接添加D波段输入并进行微调可能使EfficientSAM能够从RGB-D数据中分割平面实例。然而,正如在引言中分析的那样,这种方法对过拟合非常敏感,尤其是在D波段部分。这大大低估了EfficientSAM的强大能力。放弃使用复杂的EfficientSAM,并直接切换到更简单的网络模型可以有效地缓解过拟合。然而,这种网络的有限能力会导致次优性能。为了解决这个问题,作者采用了一种双复杂度背膘结构。
具体来说,背膘主要使用一个简单的CNN分支来学习D波段的特征表示,而一个复杂的Transformer分支(EfficientSAM的背膘)用于学习RGB波段的特征表示。这种方法有助于避免由于RGB-D平面实例分割数据有限而导致的过拟合问题,充分利用基础模型EfficientSAM的强大特征表示能力,同时允许原始复杂的Transformer分支适度微调,从而实现RGB-D数据四波段信息的全面融合。
对于简单的卷积神经网络分支,作者采用了DPLNet [31]中的多模态 Prompt 生成模块作为基本卷积块。当然,也可以采用其他轻量级卷积神经网络(LWCNN)块设计,因为选择这些卷积块的关键在于它们都应该比EfficientSAM Backbone 中的Transformer块简单得多。因此,这些卷积块的结构甚至可以不同。
作者选择这样的卷积块设计,因为它除了是一个LWCNN,还可以在多个 Level 上融合RGB-和D-频段特征,从而实现更强大的特征表示学习。作者在EfficientSAM的每个编码块前面添加了一个LWCNN块。RGB和D频段首先输入到EfficientSAM的编码块和LWCNN块中的一组中。除了第一组,每组都会接收前一组的结果,并进一步融合特征。与DPLNet [31]不同,作者只使用最后组的输出作为 Mask 解码器的输入,而不是将每个组的输出都输入到 Mask 解码器中。此外,作者并不冻结原始分支(即作者论文中的复杂RGB变换分支),原因有两点:
作者正在将一个最初用于分割任意目标的网络迁移到平面实例分割任务中,这两个任务有显著的差异。因此,作者需要调整原始的RGB网络分支(EfficientSAM的 Backbone 部分),以使其完全适应平面实例分割。
如果不冻结原始 Backbone 分支,在作者网络设置下不会导致过拟合,因为仍然是主要由简单卷积分支学习D波段特征。可以解释如下。在本论文中,复杂网络分支采用Transformer架构。如图3所示,11个Transformer模块并行连接到包含12个卷积模块的CNN分支。
由于11个Transformer模块的复杂性远高于12个卷积模块,在相等的学习率下,前者的学习速度显著低于后者。因此,当CNN分支已经学习到D波段的主要特征时,11个Transformer模块的权重不会显著改变。因此,在复杂网络分支的权重未被冻结时,作者的PlaneSAM仍然可以避免过拟合。
因此,尽管作者使用类似于DPLNet [31]的双分支网络结构,但作者的 Backbone 结构从根本上不同于他们:
他们通过强制冻结原分支的权重来保留预训练特征,而作者使用的是双复杂度 Backbone 结构,这种结构不仅保留了原始RGB波段特征表示,还允许原 Backbone 分支进行微调以更好地适应新任务,同时主要由新添加的分支学习新波段特征。
实验结果也表明,作者的双复杂度 Backbone 结构在平面分割结果上优于仅仅冻结原分支的双分支网络结构。
除本文讨论的应用外,作者的双复杂度背架构在需要将基础模型从一个领域转移到另一个领域(例如将RGB基础模型转移到RGB+X领域(其中X可能是D波段,近红外波段等),只需要相对较小的微调数据集)方面具有巨大潜力。目前,诸如SAM [23],CLIP [24]和ChatGPT [38]等越来越多的基础模型已经出现,还有更多的模型正在开发中。作者经常需要将预训练的大型模型扩展到其他领域,但可用的微调数据集通常规模有限。因此,作者的双复杂度背架构预计将找到越来越多的应用。
然而,需要注意的是,如果其他双分支 Backbone 网络的两条分支的复杂性没有像作者的双复杂度 Backbone 网络那样仔细设计,但目标是保留原始分支的特征表示,作者建议冻结原始分支,就像在DPLNet [31]中那样。否则,原始分支的良好特征表示可能会在后续微调中被损坏,如果微调训练集较小,很容易导致过拟合。
Loss function
当用于平面实例分割时,EfficientSAM [29]在大面积实例分割上表现不佳,即使经过微调也是如此。这主要是因为EfficientSAM最初是用来分割各种类型的目标,而在包含多个目标的图像中,小物体通常占多数;因此,EfficientSAM更注重分割小物体,导致在大面积实例分割上效果不佳。在本文中,作者通过修改损失函数来解决这个问题。
为了更好地阐明作者的损失函数设置,作者首先回顾用于训练EfficientSAM的标准损失函数[42]。Focal损失[42]旨在通过降低容易分类样本的权重来解决类不平衡问题,使模型能够更关注难以分类的样本。因此,Focal损失在处理小目标分割时表现良好。
然而,由于对难以分类样本的强调过于突出,这些样本通常是小目标或具有不清晰边界的目标,因此对于大面积实例分割效果可能不那么有效。Dice损失[43]通过直接优化分割任务中的评估指标(Dice系数)来处理类不平衡问题和大面积实例,因此在处理类不平衡问题和大面积实例时表现良好。
Dice损失在计算过程中平等对待少数派和多数派,因此适用于涉及不平衡类的任务。此外,Dice损失在处理大面积实例时更有效,因为它在计算时考虑了重叠部分的占比。然而,在某些情况下,Dice损失的优化过程可能不稳定,并且由于其分母可能导致数值不稳定。
EfficientSAM 使用了一个线性组合,包括 focal, dice 和 MSE 损失,比例为 20:1:1。然而,根据对 focal 损失和 dice 损失的分析,作者认为这种组合对于平面实例分割任务并不是最优的,因为 focal 损失的权重过大,导致模型在处理小目标时表现良好,但在处理大目标时表现较差。
换句话说,模型过于关注难以分割的小目标,导致大面积实例分割质量降低。此外,MSE 损失主要用于训练 IoU 预测头。由于作者发现没有必要专门针对平面实例分割任务对 IoU 预测头进行微调,所以作者省略了 MSE 损失。
为了提高平面实例分割的效果,作者将损失函数调整为Focal Loss和Dice损失的1:1线性组合。通过平衡这些损失,模型不会倾向于分割小目标,可以有效地处理大面积实例。作者的实验结果也表明,将Focal Loss和Dice损失以1:1的比例组合在一起,可以获得最佳性能。因此,这种组合在保持小目标有效分割的同时,显著提高了大面积实例分割的质量。
Network training
作者的网络训练采用了两步法。首先,利用SAM-H [23]生成的不完善伪标签,对作者的平面分割网络PlaneSAM的双复杂度 Backbone 进行预训练,以完成分割任何任务。
然后,作者将预训练好的网络在另一个RGB-D数据集上进行微调,以完成平面实例分割任务。与传统依赖人工精细标注的预训练方法[32, 33, 44]相比,作者利用现有用于截然不同任务的模型自动生成的RGB-D数据集产生的不完善分割结果来预训练作者的平面分割网络,从而使得预训练更加经济高效。
预训练。 原始的EfficientSAM是基于RGB图像的,其领域与RGB-D图像的领域有显著差异。因此,直接将作者的PlaneSAM模型在现有的RGB-D平面实例分割数据集(该数据集包含有限数量的样本)上进行微调,并不能充分使模型熟悉RGB-D数据的领域,导致训练效果受限。尽管标注一个大规模的RGB-D平面实例分割训练数据集可以解决这个问题,但这将承担极高的成本。
为了解决这个问题,作者使用RGB-D数据预训练作者的双复杂度backbone,以解决分割任何事物任务。为了实现良好的预训练结果,作者需要一个大规模的公开可用的手动标注数据集。为了解决这个问题,作者使用了SAM-H自动生成的伪标签。
作者从三个数据集收集了大约100,000张RGB-D图像:ScanNet_25k [45],SUN RGB-D [46]和2D-3D-S [36]。由于SAM [23]是针对RGB图像开发的,作者只将RGB-D数据的RGB波段输入到SAM-H中,以自动生成 Mask ,这些 Mask 作为 GT 预训练作者的PlaneSAM。因此,这种策略使作者能够在低成本上,在大型RGB-D数据上自监督预训练PlaneSAM,并将其适应到RGB-D数据的领域。尽管SAM-H自动生成的分割 Mask (伪标签)的质量可能并不高,但作者的实验结果显示,作者的预训练方法非常有效。
作者在80,000张图像上预训练作者的双复杂性backbone,并将剩余的20,000张图像用于验证。图4展示了一些SAM-H的自动 Mask 标注,作者可以看到,即使在任何分割任务中,分割结果都不是完美的,并且任何分割任务与作者平面实例分割任务有很大的不同。值得注意的是,这些 Mask 是自动生成的,因为作者使用了SAM的所有分割模式。在其余的模式中,SAM需要必要的 Prompt 进行分割,如点 Prompt 、矩形 Prompt 或文本 Prompt ,因此不能自动完成分割任务。
由于 Prompt 编码器已经经过充分训练,因此它是冻结的,只有图像编码器和 Mask 解码器进行训练。在预训练过程中,作者随机选择每个RGB-D图像的一个 Mask 作为前景,并使用真实 Mask 的边界框作为 Prompt 。值得注意的是,对于每个RGB图像,SAM可以预测大约100个 Mask 。然而,其中很大一部分 Mask 面积非常小,实际上并不对作者的PlaneSAM的训练做出贡献。因此,这些 Mask 被过滤掉了。通过预训练,作者的PlaneSAM实现了改进的准确性,这表明使用相同类型的数据的相关任务的算法产生的不完善结果仍然可以对模型训练做出贡献。
微调。 在分割任务之间的差异之外,微调策略与预训练策略略有不同。首先,为了分割任意大小的平面实例,作者没有过滤掉小面积的平面实例。其次,作者在 GT 边界框的长度上添加0-10%的随机噪声,以增强作者的PlaneSAM对由Faster R-CNN生成的边界框的适应性,这些边界框可能不是很精确。此外,作者还使用随机水平翻转进行数据增强。作者的PlaneSAM根据输入的RGB-D数据和 Prompt 输出三个 Mask ,并通过将Focal Loss和Dice损失以1:1线性组合的方式计算这些三个 Mask 与真实 Mask 的损失。然后,作者使用这些三个损失的minimum进行反向传播。
4 Experiments & analysis
本文段落介绍了在四个数据集上的实验来验证作者PlaneSAM的有效性,以及进行消融研究来评估每个组件对网络的贡献。需要指出的是,除非另有说明,作者PlaneSAM中的EfficientSAM组件指的是EfficientSAM-vitt [29]。
Datasets and metrics
作者总共使用了四个数据集。ScanNet数据集由刘等人[28]标注,用于训练和测试,而Matterport3D [34]、ICL-NUIM RGB-D [35]和2D-3D-S [36]数据集仅用于模型测试。值得注意的是,2D-3D-S数据集用于预训练但未进行微调作者的PlaneSAM。此外,由于分割任何事物任务(预训练任务)和平面实例分割任务之间存在显著差异,作者可以认为2D-3D-S数据集并未用于训练作者的PlaneSAM。
评价指标。与最先进的算法[2; 20; 21]相同,以下三个评价指标被使用:Rand指数(RI),信息变化(VOI)和分割覆盖率(SC)。在这三个评价指标中,较小的VOI值,以及较大的RI和SC值,表示较高的分割质量。
Implementation details
作者的PlaneSAM实现于PyTorch,并使用Adam优化器和一个余弦学习率调度器进行训练。作者在RGB-D数据集上预训练作者的PlaneSAM,以进行任何分割任务,共40个epoch,使用两个NVIDIA RTX 3090 GPU。初始学习率为1e-4,最后epoch衰减至0。批处理大小为12,权重衰减为0.01。在ScanNet数据集上的微调配置与预训练相同,作者仅训练了15个epoch。
关于Faster R-CNN,它在ScanNet数据集上训练了10个周期,使用了两个NVIDIA RTX 3090 GPU,SGD优化器,以及余弦学习率调度器。初始学习率为0.02,最后epoch结束时衰减到0。批量大小为8,权重衰减为1e-4,动量因子为0.9。
Results on the ScanNet dataset
所提出的算法在ScanNet数据集上与以下最先进算法进行了定性定量比较:PlaneAE [18],PlaneTR [2],X-PDNet [22],BT3DPR [20],和PlaneAC [21]。作者的PlaneSAM使用了 Baseline 算法的相同训练和测试集。为了确保所有测试方法使用相同的训练集,作者从头训练了X-PDNet,而其他比较模型则由各自作者训练。图5展示了ScanNet数据集上部分测试算法的视觉结果,其中作者的PlaneSAM明显表现最好。表1展示了所有测试算法的定量评估结果,进一步证明了作者的方法在所有指标上均优于 Baseline 方法。
由于这些比较算法均未使用D波段的信息,本节中的比较实验表明,使用RGB-D数据的全部四个波段进行平面分割比仅使用RGB波段更有效。请注意,图5和图6中仅呈现了部分测试算法的结果,因为它们的正式实现可供作者使用,而其他则不可;同样适用于本文中的其他表格。表1以粗体突出显示了最佳结果,以下各表也采用同样的格式。
Results on unseen datasets
为了评估PlaneSAM的泛化能力,作者在三个未见过的数据集上测试了所有可用的比较方法,这些方法都有官方实现:Matterport3D、ICL-NUIM RGB-D和2D-3D-S数据集。作者只在ScanNet数据集上训练它们,并在这些未见过的数据集上测试它们。定量评估结果如表2所示。在Matterport3D和2D-3D-S数据集上,作者的PlaneSAM在大多数指标上超过了X-PDNet和PlaneTR(第二和第三好的方法)。在ICL-NUIM RGB-D数据集上,作者的PlaneSAM在RI和SC指标上获得了更好的结果,但在VOI指标上较差,与X-PDNet和PlaneTR相比。这是因为ICL-NUIM RGB-D数据集中的某些深度图像非常噪声,这显著影响了作者PlaneSAM的预测性能;而X-PDNet和PlaneTR仅基于RGB波段,因此不受此劣势影响。
总体而言,作者的PlaneSAM在所有三个数据集上都表现出非常强的竞争力,在泛化能力方面超过了 Baseline 。图6展示了所有测试方法在Matterport3D、ICL-NUIM RGB-D和2D-3D-S数据集上的视觉比较结果,作者的PlaneSAM再次展现了最佳性能。
Ablation experiments
本文详细介绍了作者进行的消融实验,以验证PlaneSAM设计和预训练策略的有效性。首先,作者进行了实验来验证作者双复杂度背骨设计的有效性。然后,作者进行了实验来验证预训练(在anything任务上)对作者的方法的贡献。作者还进行了实验来确定PlaneSAM对 Prompt 框中的噪声的鲁棒性。双复杂度背骨的效率也进行了测试。
Ablation experiments on not freezing the weights of EfficientSAM
首先,作者进行了实验以证明作者提出的双复杂度backbone结构优于冻结原始分支权重的双分支backbone结构。如果将EfficientSAM的权重冻结,作者的双复杂度backbone将变成类似于DPLNet [31]的结构。然而,正如作者之前所讨论的,作者认为作者的双复杂度backbone能更有效地将基础模型从RGB域转移到RGB-D域,尤其是在微调数据有限的情况下。表3和4中的结果("freeze SAM"指的是冻结EfficientSAM的权重)表明,在作者的双复杂度backbone下,所有数据集和评估指标上的结果都更好。这是因为EfficientSAM是针对任何分割任务进行训练的,而作者的当前任务是RGB-D平面实例分割,这有显著差异。
因此,EfficientSAM的权重需要适度的微调:它需要微调,但不需要过度微调,否则会损害从大规模RGB数据中学习的特征表示。作者的双复杂度backbone允许这种适度的微调。此外,由于学习D-band特征的分支主要是低复杂度CNN分支,这也有助于避免由微调数据的小规模导致的过拟合。因此,本文提出的双复杂度backbone非常适合在训练数据集有限的情况下,将大规模RGB域模型EfficientSAM转移到RGB-D平面实例分割任务。
低复杂度卷积神经网络分支的消融实验。然后,作者验证了低复杂度卷积神经网络分支(与EfficientSAM并行连接)对作者PlaneSAM的贡献。如表5所示,卷积神经网络分支显著提高了作者PlaneSAM的性能,VOI值减少约0.7,RI和SC值分别增加约0.9和0.17。可以说,如果没有主要部署卷积神经网络分支学习D-band特征——即仅在ScanNet数据集上微调EfficientSAM [29]——要实现高质量的平面实例分割是困难的。
主要原因是,原始EfficientSAM专注于光谱特征,而平面实例分割严重依赖几何特征,这意味着需要学习D-band特征。然而,在EfficientSAM的 Backbone 网络复杂且D-band训练数据有限的情况下,低复杂度卷积神经网络分支无法有效缓解过拟合。表5中的消融实验也表明,卷积神经网络分支可以完全集成RGB和深度波段的特点。
消融实验在预训练中。作者还验证了预训练对作者PlaneSAM的贡献。表5显示了在ScanNet数据集上的消融实验结果,该数据集用于微调作者的PlaneSAM。如表5所示,预训练在所有评估指标上对平面实例分割做出了贡献。这一改进归因于PlaneSAM在额外RGB-D图像上预训练后,能够学习到更全面的RGB-D数据特征表示。此外,平面实例分割任务与任何物体分割任务具有一定的相似性,这有助于更顺利地转移到平面实例分割。
表6显示了在未见过的数据集上的消融实验结果,这些数据集并未用于微调模型进行平面实例分割。具体而言,表6中的预训练意味着作者的PlaneSAM利用了来自ScanNet_25k [45]、SUN RGB-D [46]和2D-3D-S [36]数据集的100,000张图像进行了任何分割任务的预训练,但仅使用ScanNet数据集进行了平面实例分割的微调。
从表6中,作者可以看到预训练模型在所有三个评估指标上都超过了非预训练模型,尤其是在ICL-NUIM RGB-D数据集上。这表明在相关预训练之后,EfficientSAM在RGB-D数据域的适应性得到了增强。此外,这也表明Faster R-CNN在平面检测任务中具有很好的泛化能力,通常在未见过的数据上提供有效的框 Prompt 。
关于盒 Prompt 噪声的消融实验 作者还进行了关于盒 Prompt 质量的消融实验,详细结果列在表7中,其中n%表示在真实边界框的四个顶点坐标中添加随机噪声,范围从0到n%的边界框长度。以无噪声条件为基准(表7中的第二列),作者将0-n%的噪声应用于盒 Prompt 。如表7所示,当作者使用真实边界框作为 Prompt 时,作者的分割 Mask 非常接近真实 Mask ,引入0-10%的噪声导致准确性降低不到1%。即使引入0-20%的噪声,作者的方法仍然保持着很高的准确性。
虽然引入0-30%的噪声会导致准确性显著降低,但分割结果仍然具有竞争力。上述结果表明,即使盒 Prompt 的准确性不高,作者的PlaneSAM仍然可以实现高质量的平面实例分割。这种能力使得所提出的方法在复杂场景中能够获得出色的结果。
消融实验:处理效率
作者还比较了作者的PlaneSAM与直接微调EfficientSAM得到的模型在RGB-D平面实例分割任务上的训练和测试速度。在训练速度方面,作者分别训练了两种模型10个周期,并计算了平均处理时间。作者发现直接微调EfficientSAM需要每个周期46.28分钟,而作者的PlaneSAM需要每个周期51.13分钟,表明PlaneSAM的训练速度比直接微调EfficientSAM慢了9.49%。为了评估测试速度,两种模型处理了相同的一组1000张图像,并记录了每个模型的总处理时间。作者发现微调后的EfficientSAM的处理时间为261秒,而作者的PlaneSAM为291秒,表明作者模型的测试速度仅比 Baseline 慢了10.30%。因此,与直接微调EfficientSAM得到的模型相比,PlaneSAM的计算开销增加了大约10%。
Discussion
关于比较方法,PlaneTR [2] 和 PlaneAC [21] 首先使用现有的鲁棒性线段提取技术从RGB波段中提取线段,然后利用这些线段作为几何线索来辅助平面实例分割。两种方法在ScanNet数据集上的实验表现良好(见图5和表1),表明相关几何线索确实对平面实例分割有帮助。然而,由于这些几何线索是从RGB波段中提取的,因此PlaneTR和PlaneAC无法充分利用RGB-D数据中的几何信息进行有效的平面分割。
PlaneTR 在所有四个数据集上都表现良好,而 X-PDNet [22] 在未见过的三个数据集上排名第二(参见图6和表2)。由于两种方法同时处理平面实例分割和单目深度估计,因此它们在作者实验中强大的性能表明,将平面实例分割与单目深度估计集成到多任务学习中,可以大大提高平面实例分割网络的训练效果。然而,作者的 PlaneSAM 采用单一任务学习方法,实现了更好的结果,这表明有效地利用深度带信息对于从 RGB-D 数据中进行平面分割非常有益。
如果作者观察所有四个数据集上的测试方法,作者会发现,尽管X-PDNet在ScanNet数据集上的表现不如其他算法,但其在这四个数据集上的性能相当稳定:评估指标波动很小,RI指标始终在0.800左右。考虑到X-PDNet使用来自RGB波段的深度信息进行平面分割估计,作者得出结论,其在这四个数据集上的稳定性能进一步表明,使用深度信息对RGB-D数据平面分割非常有益。相比之下,X-PDNet使用来自RGB波段的深度信息,而作者的PlaneSAM直接利用RGB-D数据的深度波段,效果更强大。
从上述预训练的消融实验中,作者可以得出结论:作者的预训练策略提高了模型的泛化性能(见表5和6),尤其是在未见过的数据集上(见表6)。这些成功的预训练结果表明,使用相同类型的数据的相关任务算法产生的不完美的伪标签仍然可以有益于模型训练。与依赖人工精细标注的传统预训练相比,作者的预训练策略更具成本效益,因此更适合大规模数据的预训练。因此,在预训练其他具有挑战性数据集标注的任务时,除了使用昂贵的带手动标注的数据集外,作者还可以利用处理相同类型数据但执行不同任务的网络(最好具有相对良好的性能)生成伪标签,并使用这些伪标签进行预训练。例如,标注3D点云实例分割训练集相当具有挑战性,而标注3D点云分类训练集则相对容易。因此,在训练3D点云实例分割网络时,除了使用现有的带手动标注的3D点云分类数据集进行预训练外,作者还可以利用大规模3D点云数据上现有3D点云分类网络生成的伪标签进行预训练。
5 Conclusion
在本研究中,作者开发了PlaneSAM,据作者所知,这是首个利用RGB-D数据的四个波段进行平面实例分割的深度学习模型。
它是EfficientSAM的延伸,旨在以多模态方式从RGB-D数据中分割平面实例,实现这一目标的方法包括采用双复杂网络结构,修改EfficientSAM的损失函数,并利用额外的RGB-D数据集在分割任何任务上预训练模型。
作者对先前的SOTA方法进行了比较实验,并进行了必要的消融实验,所有这些实验都验证了作者的PlaneSAM的有效性。
然而,所提出的PlaneSAM存在一些局限性,例如容易受到深度图像中的噪声影响。
此外,它依赖于平面检测阶段的准确性。因此,提高深度图像噪声的鲁棒性以及改进预测边界框的准确性将成为作者未来工作的重要研究方向。
[0]. PlaneSAM: Multimodal Plane Instance Segmentation Using the Segment Anything Model.
点击上方卡片,关注 「AI视界引擎」 公众号