作者 | NNU三维世界
点击下方卡片,关注“3D视觉之心”公众号
>>点击进入→3D视觉之心技术交流群
最近小编发现两篇关于无监督点云语义分割的工作,分享给大家:
1、《GrowSP: Unsupervised Semantic Segmentation of 3D Point Clouds》
2、《PointDC: Unsupervised Semantic Segmentation of 3D Point Clouds via Cross-modal Distillation and Super-Voxel Clustering》
Paper 1
题 目:GrowSP: Unsupervised Semantic Segmentation of 3D Point Clouds
作 者:Zihui Zhang,Bo Yang,Bing Wang,Bo Li
会 议:Conference on Computer Vision and Pattern Recognition(CVPR2023)
论文链接:https://openaccess.thecvf.com/content/CVPR2023/papers/Zhang_GrowSP_Unsupervised_Semantic_Segmentation_of_3D_Point_Clouds_CVPR_2023_paper.pdf
项目连接:https://github.com/vLAR-group/GrowSP
01
动机
近年来,三维点云处理在计算机视觉和机器学习领域引起了广泛的关注。然而,现有的点云分割方法通常需要大量标注好的训练数据,这在实践中限制了它们的应用范围。针对这一问题,本文提出了一种全新的无监督三维点云语义分割方法 GrowSP。本文的方法关键是通过逐步增长的超点来发现3D语义元素。方法由三个主要部分组成,1)特征提取模块,从输入的点云学习每一个点的特征,2)超点构模块,逐步增长的超级点的大小,和3)语义基元聚类模块,实现超点到语义元素的最终语义分割。实验结果表明,本文的方法在多个三维点云数据集上取得了令人印象深刻的性能,且无需任何人工监督信号或者预训练模型等。本文的贡献主要包括以下三点:
1、针对真实世界点云,首次提出了一个完全无监督的3D语义分割框架,无需人工标注或任何预训练;
2、引入了一种简单的超点增长策略,引导网络逐渐学习高级语义信息;
3、在多个真实3D场景数据集上展示出了有前景的语义分割效果,显著地优于将2D适配到3D的方法和3D自监督预训练方法。
图1. 给定S3DIS数据集中具有复杂结构的输入点云,GrowSP只需通过逐步增长超点即可自动发现准确的语义类,而无需在训练中使用任何人工标记。
02
方法
图2. GrowSP的框架。
本文的方法一般将无监督的三维语义分割问题表述为在没有标签的情况下联合三维点云特征学习和聚类。输入N个点云,其中每个点都有一个位置信息,如果有颜色,特征提取器首先获得每个点的特征,其中嵌入长度可以自由预定义。本文简单地采用了强大的SparseConv架构,没有任何预训练步骤作为本文的特征提取器。有了输入点云和点特征,然后将它们输入到超点构造器中,在越来越多的训练周期中逐步生成越来越大的超点。这些超点将被输入到语义基元聚类模块中,为所有超点生成伪标签。在训练过程中,这些伪标签将用于优化特征提取器。
超点构建模块。该模块的目的是构建初始超点, 提供一些语义信息的先验,主要用于在训练初期引导网络的学习。对于数据集中每个3D场景,该模块会将场景点云划分为多个空间上连通的区域,这些区域内的几何形状和RGB是一致的。本文结合了两种超点划分方法:超体素云连通性分(Voxel Cloud Connectivity Segmentation,VCCS)和区域增长(Region Growing)。进一步地,为了使其学习到更加高维度的语义,依照特征相似度,对每一个3D场景进超点增长。增长的过程是在单个场景中进行的,将每个初始超点包含的平均特征,作为超点特征。对单个场景内的超点依照特征相似度聚类,实现超点的增长。
图3. 逐步增长的超点的图示。
语义基元聚类。数据集种包含的超点会进一步合并为一些简单的语义元素或基。以上两个步骤只是构建和增强超点,并未产生语义类别。在这一步,作者对整个数据集的超点的特征(在网络训练初期是初始超点,后期是增长后的超点) 进行聚类。实验发现,当聚类数多于最终类别数可以避免错误地将不同类的超点聚集在一起,并且会带来性能提升。于是作者将超点聚合为多个基础的语义单元,同时产生伪标签用于训练骨干。训练结束后再将语义基元聚合成类别,聚合方法是简单地K-means。由于本文以完全无监督的方式进行语义分割,所产生的类别标签只能用于区分不同的类,而和真值标签序号不一致,所以在测试时会修正标签序号。
03
结果
数据集。本文的方法在S3DIS 、ScanNet和SemanticKITTI数据集上进行了评估。
S3DIS数据集由6个大区域组成,共有271个房间。每个点属于13个类别中的一个。本文发现不同房间的clutter类并不具有一致的几何图案和语义信息。在没有标签的情况下,自动发现这些不同的几何形状作为一个共同的类别是具有挑战性的,也是不合理的。因此,在最后的测试阶段,本文只将除clutter外的所有点分成12类。
ScanNet数据集有1201个房间用于训练,312个房间用于离线验证,100个房间用于在线隐藏测试。每个点属于20个对象类别或未定义背景中的一个。
SemanticKITTI数据集由43552个户外激光雷达扫描的21个序列组成。它有19130个用于训练,4071个用于验证,20351个用于在线测试。每个点属于19个语义类别或未定义背景中的一个。
表1. 本文的方法在S3DIS数据集的Area-5上的定量结果,仅评估12个类别。
表2. ScanNet数据集定量结果,评估20个类。
图4. 本文方法的定性结果。顶行来自S3DIS数据集,下一行来自ScanNet。每种颜色代表一个语义类。红色圆圈突出显示差异。
Paper 2
题 目:PointDC: Unsupervised Semantic Segmentation of 3D Point Clouds via Cross-modal Distillation and Super-Voxel Clustering
作 者:Zisheng Chen,Hongbin Xu,Weitao Chen,Zhipeng Zhou, Haihong Xiao,Baigui Sun,Xuansong Xie,Wenxiong kang
会 议:International Conference on Computer Vision(ICCV2023)
论文链接:https://openaccess.thecvf.com/content/ICCV2023/papers/Chen_PointDC_Unsupervised_Semantic_Segmentation_of_3D_Point_Clouds_via_Cross-Modal_ICCV_2023_paper.pdf
项目链接:https://github.com/SCUT-BIP-Lab/PointDC
01
动机
点云的语义分割通常需要耗费大量的人工标注,因此从未标记或较弱形式的标注中学习的挑战性话题引起了广泛的关注。在本文中,作者们第一次提出了完全无监督的点云语义分割。以往的无监督方法在处理点云问题上的失败主要是由于:1)数据量有限和类分布不均衡导致的聚类模糊; 2)点云稀疏性不规则导致的不规则模糊。因此作者提出了一个新的框架PointDC,它是由两个步骤,分别处理上述问题:跨模态蒸馏(Cross-Modal Distillation,CMD)和超体素聚类(Super-Voxel Clustering,SVC)。在CMD的第一阶段,多视图的视觉特征后向投影到3D空间,并聚集成一个统一的点特征,以提取点表示的训练。在SVC的第二阶段,点特征被聚集到超体素,然后被馈送到迭代聚类过程中挖掘语义类。PointDC在ScanNet-v2(+18.4 mIoU)和S3 DIS(+11.5 mIoU)语义分割基准测试中比现有的最先进的无监督方法有了显著的改进。本文的贡献如下:
1、首次尝试在没有任何人类注释的情况下进行无监督的3D语义分割;
2、提出了一种新的无监督三维语义分割方法PointDC.该方法包括2个步骤:1)跨模态提取,将多视角视觉特征提取为基于点的表示; 2)超体素聚类,通过超体素池将点特征规则化为体素化表示,并迭代聚类以优化点云语义特征;
3、与已有的无监督方法相比,该方法在各种复杂数据集上的分割效果都有了上级的提高,证明了该方法的有效性。
图1. 从未注释的点云,希望分割系统自动发现语义概念,而无需任何监督。
02
方法
图2. PointDC框架。训练包含两个步骤:跨模态蒸馏和超体素聚类。
如图2所示,本文的PointDC框架包括两个训练阶段:跨模态蒸馏(CMD)和超体素聚类(SVC)。
跨模态蒸馏(CMD)。可以通过从不同的视点观察点云获得多视图图像。一个自我监督的预训练的2D模型被用来从多视图图像中提取特征图。然后可以反向投影将多视图图像的每个像素映射到点云的其对应点,由于一个点可能在不同的图像上有多个投影,通过等式中的全局最大池来聚合跨视图特征。在假设每个超体素包含相似的语义之后,进一步经由全局平均池化来聚合属于相同超体素的点的特征。
超体素池化(SVC)。将原始的点云转换成3D超体素再进行自监督学习和深度聚类训练。在每个局部超体素中对其包含的3D点特征进行聚合,得到一个置换不变的局部表征。再将这些超体素特征在整个数据集层面进行聚类来挖掘出语义概念,转换成伪标签再进行自训练(Self-train)。在自训练的过程中,会像其他对比学习方法一样,引入随机的数据增强,并约束其针对伪标签具有不变性和等变性。
图3. DINO提取的多视图特征图之间聚类结果的可视化。它表明多视图特征在语义上是相关的。
03
结果
数据集。在两个数据集ScanNet-v2和S3DIS上进行了实验。ScanNetv2包含来自707个独特室内场景的1613个3D扫描,所有这些场景都用20个类进行了注释。在此基础上,采用1201个场景作为训练集,采用312个场景作为验证集。其余100个场景用作测试集。
S3DIS包含13类271个室内场景。遵循官方训练/验证划分,在区域1、2、3、4、6上进行训练,然后在区域5上进行测试。由于本文的方法需要图像数据和摄像机的内在和外在参数,因此使用ScanNet-v2 2D数据和2D-3D-S。2D-3D-S包含与S3DIS中的场景相对应的多视角图像、相应的深度图以及内部和外部相机参数。
图4. ScanNet-v2验证集上无监督分割的定性比较。每个真值标签和聚类都被分配了一种颜色。
表1. ScanNet-v2验证集上无监督分割的比较。PointDC在无监督聚类和线性探测度量方面都显著优于现有技术。
表2. 在ScanNet-v2测试集上比较无监督分割
表3. S3DIS验证集上无监督分割的比较(Area 5)。
总结
第一项工作中介绍了GrowSP,证明了多个3D语义类可以使用纯无监督的方法从真实世界的点云中自动发现。通过利用简单的渐进增长策略来创建随着时间推移而越来越大的超点,GrowSP方法可以成功地学习有意义的语义元素。大量的实验验证了所提方法的有效性。
第二项工作PointDC,它包括两个步骤:跨模态提取和超体素聚类。在第一阶段,点云的多视图特征被反投影到3D空间,并聚集在一起的超体素提取点表示的训练。在第二阶段,点表示被聚合为超体素,然后被馈送到迭代聚类过程以学习语义上有意义的表示。作为不同点云基准测试的评估结果,提出的方法在ScanNet-v2和S3DIS数据集上都取得了很好的性能。
文 | 黄子豪 排版 | 黄子豪
审核 | 蒋腾平
团队 | 南京师范大学地理科学学院GISA-Team
注:以上内容仅代表个人阅读与理解,详情请见原文。欢迎转载、转发本公众号发布的内容。
扫码添加小助理进群
3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。