首页 > 其他分享 >Self-Supervised Learning for Point Clouds Data: A Survey

Self-Supervised Learning for Point Clouds Data: A Survey

时间:2024-07-18 19:26:15浏览次数:15  
标签:Clouds Point 方法 Self 学习 SSL 任务 点云 数据

摘要

综述了自监督学习(SSL)在3D点云数据处理领域的最新进展,对现有SSL方法进行了细致的分类和评估,并在多个基准数据集上对代表性方法进行了性能比较。同时指出了现有研究的局限性,提出了未来研究的方向。

Introduction

文章主要是针对自监督学习的(SSL),详细阐述了3D点云数据由于其在交通应用中的精确性和描述的简洁性而变得至关重要,尤其是在行人检测和车辆识别等任务上。然而,监督学习需要大量标记数据,不仅耗时而且容易出错。因此,提出了自监督学习(SSL)作为一种解决方案,通过设计智能的预训练任务,利用数据本身的信息来学习有效特征,从而减少了对人工标注的依赖。旨在为点云数据的自监督学习提供一个全面的研究视角。
重点写一下论文中提到的图。

图1 自监督学习(SSL)在点云数据中使用的一般流程的可视化表示

该流程分为三个阶段,

预训练阶段:点云数据首先通过数据增强模块进行预处理,然后输入到特定于点云的编码器中以学习特征表示。这些特征被用于完成设计良好的预训练任务,其中输出将与从原始数据派生的伪标签进行比较,以生成损失并通过网络反向传播更新编码器参数。

监督微调阶段:在预训练阶段之后,训练良好的编码器被转移到目标领域。使用少量目标领域的标记数据作为监督信号来训练任务头部,以微调整个架构。

推理阶段:编码器和任务头部被连接成一个模型,在测试集上执行推理。基于模型在下游任务上的表现,可以评估SSL预训练框架的有效性。


图2 基于代理任务的点云自监督学习分类

文中,依据pretext tasks的特点,将SSL分成了四个大类,更多的小类。

还介绍了一个完整的SSL框架在通常情况下的组成部分,包括:

数据增强:通过一些预处理操作,增强原始输入。

编码器:是一个特定于点云的深度网络,用于捕获输入点云数据的层次化表示。

代理任务:框架的核心是设计一个预训练任务,该任务通过编码器和数据之间的交互挖掘隐藏的自监督信号。

知识迁移:预训练完成后,训练良好的编码器将被转移到另一个数据集,并将源领域获得的知识用于目标领域。

下游任务:为了评估SSL框架的有效性,预训练的编码器将被转移到另一个数据集进行性能评估。

Background

SSL Learning in the language and image domain

主要是提了自监督学习(SSL)在不同领域的应用和发展,以及如何通过不同的方法和技术提取数据的表示,特别是在自然语言处理和计算机视觉领域。此外,还强调了对比学习作为SSL的一个重要方向,并且这些研究成果如何激发了点云数据上的SSL研究,实现了从2D到3D的转换和适应。

Properties of the point cloud data

这一部分描述了点云数据的特性,并将这些特性与自然语言和图像数据的特性进行了对比。点云数据是由在三维空间中离散分布的点集合构成,每个点包含位置坐标和可能的其他属性(如颜色、强度等)。与自然语言的序列性和图像的二维像素矩阵不同,点云数据具有部分核心特性:

离散性和无序性:点云中的点是离散且无序的,不依赖于特定的排列或拓扑结构。

几何表示差异:与自然语言的抽象和图像的视觉信息不同,点云数据提供了物体的几何表示。

属性多样性:除了基本的位置坐标,点云还可以包含描述点物理属性的其他信息。

顺序无关性:与自然语言和图像中序列的重要性不同,点云数据中点的顺序不影响语义表示。

刚性变换的不变性:点云数据在旋转或平移等刚性变换下保持不变。

稀疏性和非均匀性:点云数据在物体或场景表面上的分布可能是稀疏的,且点之间的距离不固定。

不完整性:实际扫描的表面可能由于遮挡而不完整。

噪声问题:环境因素或仪器误差导致的噪声是点云数据中不可避免的问题。

排列不变性:点云对象的不同矩阵表示不会改变其语义,点的排列顺序不影响整体的语义。

点之间的交互:点云中的点在全局和局部区域之间存在相关性,可能影响数据的理解和处理。

此外,文中还提供了一个常用点云数据集的总结,列出了不同数据集的名称、样本数量、类别、类型、适用任务和特点。

Point Cloud Dataset

这一部分主要是列举出了常见的数据集。


表 给出了点云中常见的数据集

KITTI:用于自动驾驶视觉任务,提供丰富的交通场景数据,包括点云、立体和光流数据,适合3D目标检测和方向估计。

ModelNet:广泛用于3D点云CAD数据的对象分类和少样本学习,提供多类别的单个对象,每个对象包含空间坐标和颜色信息。

ShapeNet:作为一个大规模的3D CAD对象存储库,常用于预训练,包含多样化的类别和丰富的注释信息,如对齐、部件和物理尺寸。

SUN RGBD:作为一个RGB-D场景理解基准套件,提供密集注释的2D多边形和3D边界框,用于指示对象方向和房间布局。

S3DIS:提供大规模的室内空间扫描数据集,包含细粒度的点级注释和9D信息,适用于室内场景的3D理解。

ScanNet:提供丰富的室内环境3D RGB-D数据,用于3D场景理解,包含多种测试,如语义体素标记和CAD模型检索。

ScanObjectNN:收集真实世界的室内点云场景,挑战3D对象分类的性能,引入背景噪声和遮挡,要求网络进行上下文重建和部分观察。

Waymo:大型自动驾驶数据集,提供城市和郊区地理场景,通过同步和校准的激光雷达和相机收集,适合用于自动驾驶感知任务。

NuScenes:多模态数据集,包含完整的传感器套件,如相机、雷达和激光雷达,提供额外的注释,如行人姿势和车辆状态,以及夜间和雨天场景。

Point cloud data augmentation

这一小节强调了数据增强在自监督学习中的重要性,特别是在提高模型泛化能力和防止过拟合方面。同时介绍了点云数据增强的三种主要方法:密度/掩蔽、噪声和仿射变换,并讨论了这些方法如何通过任务相关性来评估其对下游任务性能的影响。研究发现,尽管某些常用的数据增强方法可能并不总是有效的,但仿射变换可以提高任务相关性并增强模型在下游任务中的性能。因此推荐在SSL预训练中使用基于仿射变换的数据增强方法。

Popular deep models for point clouds

这一小节介绍了五种常用的点云网络。

PointNet:首个直接处理原始点云数据的网络,具有点排列不变性,通过对称函数(如最大池化)聚合全局特征。但它无法捕捉由点所处度量空间引起的局部结构,限制了其识别细粒度模式和泛化到复杂场景的能力。

PointNet++:PointNet的改进版,通过多尺度采样和特征传播机制增强了特征学习能力,并且引入了点补丁生成策略,为点云的局部特征提取提供了新方法。

VoxelNet:使用体素化方法将无序的点云数据分割并量化,通过Voxel Feature Encoding(VFE)层编码体素内点之间的交互,以捕捉局部特征。但体素构建的高计算成本和量化伪影限制了模型捕捉高分辨率或细粒度表示的能力。

DGCNN:通过图网络结构动态编码点和边之间的交互,不仅在欧几里得空间也在语义空间中学习图结构,成为许多后续点云自监督学习模型的基础。

GAN:GAN通过生成器和鉴别器的对抗性训练,在无监督的情况下进行训练,用于生成与真实数据相似的点云,常用于点云数据的重建和特征学习。

Transformers:该模型利用多头自注意力机制来捕捉点云数据中的长距离依赖和隐含的相关性,已经在点云分类和部分分割的自监督学习中取得了最先进的性能。

Pseudo labels

伪标签在点云自监督学习中扮演着至关重要的角色,它们可以提供比传统标签更丰富的信息,帮助模型学习点云的表示。伪标签的定义和使用方式因任务而异,可以是点云本身、统计信息的集合,或者时间序列中的几何属性。这些伪标签使得模型能够在没有真实标签的情况下进行有效的学习。

Loss function

这段文本讨论了在点云自监督学习中,如何通过适当选择损失函数来优化编码器的训练。Chamfer距离和InfoNCE损失函数分别用于基于重建和基于对比的任务中,以评估点云的相似度和区分样本间的相似性。这些损失函数的设计有助于模型更好地学习点云的表示,并提高自监督学习的性能。

SSL pretext tasks for point cloud

这一章依据pretext tasks的性质,将点云SSL研究分成了四大类。基于重建、基于对比、基于对齐和基于运动。

Reconstruction-based methods

基于重建的方法通过重建损坏的点云并尽可能恢复原始点云来表示。在重建过程中学习全局特征以及局部和全局区域之间的映射。根据不同类型的损坏和重建对象,又分成了六个子类:掩膜恢复、空间恢复、点采样、解采样、变形重建和生成与识别。

Mask recovery

重建的核心思想是掩藏点云的一部分,并通过编码解码器架构来恢复这部分损失。还讨论了在点云自监督学习中,通过编码器-解码器架构进行重建任务的重要性,以及如何通过不同的方法来提高特征学习的有效性。Point-BERT、Point-MAE、MaskSurf和Voxel-MAE是几种不同的方法,它们通过不同的策略来捕获点云的局部几何结构和语义信息,以提高模型的自监督学习能力。

Spatial restoration

讨论了如何利用点云的空间信息来进行自监督学习。通过3D拼图和CloudContext等任务,模型可以在没有真实标签的情况下学习点云的结构和空间关系。此外,方向估计任务提供了一种简单有效的方式来捕获点云的空间方向信息,所有这些任务都不需要昂贵的计算或手动标注,展示了自监督学习在点云数据上的强大潜力。

上图展示如何使用点云数据来训练模型以理解空间关系CloudContext方法

在这个任务中,模型需要根据给定的两个点云片段,预测它们之间的空间关系。具体来说:图中可能展示了两个不同颜色的点云片段,例如红色和蓝色,每个片段代表物体的一部分。任务的目标是让模型识别并预测这两个片段之间的相对空间位置关系,例如图中提到的“红色部分位于蓝色部分的对角线上方”。

Point upsampling

主要是讨论了上采样的技术,点云上采样的目标是将稀疏、嘈杂且非均匀分布的点云数据上采样成更密集、完整且高分辨率的点云,这有助于模型捕获到更丰富的几何表示。文章中还提到了几个关键的上采样方法,包括:

PU-GAN:是一个基于生成对抗网络(GAN)的点云上采样框架,利用对抗训练来生成与训练数据相似的点云,并通过一个上下文注意力单元来增强特征聚合的质量。

Upsampling AutoEncoder (UAE):是一种自编码器结构,用于从下采样的点云中提取点级特征,并设计一个上采样解码器来重建原始密集点云。

SPU-Net:是一个粗到细的重建框架,它将自注意力机制与图卷积网络结合起来,用于上下文特征提取,并生成具有层次化学习2D网格的精细点集。

PUFA-GAN:这是一个频率感知框架,它使用图滤波器来提取尖锐边缘和角落的高频点,以便判别器可以专注于高频几何属性,并强制生成器产生更干净、更均匀的上采样点云。

SSAS:这是一个自监督任意尺度(Self-Supervised Arbitrary-Scale)上采样框架,它通过两个函数来估计投影方向和距离,从而在隐式表面上为种子点找到最近的投影点。

Disentanglement

这一部分讨论了一种特殊的自监督学习(Self-Supervised Learning, SSL)方法,这种方法旨在将点云数据中的低级几何特征与高级语义内容分离开来。这种分离或"解耦"对于提高模型在下游任务中的表现尤为重要,尤其是在需要全局区分能力的物体分类任务中。

在自监督学习中,模型通常倾向于学习点云的低级几何特征,例如姿态、轮廓和形状信息,但可能会忽视高级语义内容的理解。这可能导致在需要更丰富语义信息的下游任务中的性能不佳。为了解决这个问题,提出了基于解耦的SSL预训练任务,这些任务通过使用不同的模块来提取不同内容的特征,从而获得层次化的表示。

Deformation reconstruction

这一部分讨论了一种专门处理点云数据变形问题的自监督学习方法。在现实世界的数据扫描中,点云变形是常见的现象,通常由物体扭曲、传感器噪声或外部遮挡引起。变形的点云数据可能会影响后续处理任务的准确性,如3D重建、物体识别等。

"Deformation reconstruction"方法的目标是通过从人为添加变形(例如高斯噪声或局部平移)的点云中重建原始点云,使学习到的模型能够获得几何感知和上下文意识。具体来说,包含以下几个关键点:

形状自校正(Shape self-correction):Chen等人提出了一种形状自校正的预训练任务,假设一个健壮的形状表示能够识别并校正形状的失真区域。通过破坏某些区域生成变形的点云,然后将其输入到特征提取器中以学习嵌入表示。构建两个独立的任务头来区分失真的部分并进一步将它们恢复到原始正常形状,以探索细粒度的几何和上下文特征。

变形重建(Deformation Reconstruction, DefRec):Achituve等人进行了点云领域自适应(Domain Adaptation, DA)的SSL研究,通过映射错位的点到它们原来的位置,模型能够获得输入点云的潜在统计结构。学习到的表示由于它们对分布偏移是不变的,因此能够弥合源域和目标域之间的分布差距。

FoldingNet:Yang等人提出了一种新颖的基于折叠的解码器,通过对规范的2D网格进行变形以适应任意3D物体表面。与传统的点云变形不同,折叠操作通过输入捕获的嵌入施加虚拟力,拉伸2D网格格来复制3D表面结构。这种方法通过应用隐式的2D网格约束来解决由点云不规则属性引起的问题。

Generation and discrimination

这部分介绍了一种独特的自监督学习范式,它设计了一个鉴别器模块来判断输入的点云是否是从噪声分布中重建出来的,还是真正采样得到的。这种方法通常涉及到生成对抗网络(GAN)的使用,其中生成器(encoder)和鉴别器(decoder)在对抗训练过程中相互竞争并交替更新,以便两者都能被转移到下游任务中。同时介绍了几种常见的方法:

PC-GAN:Li等人特别为点云设计了PC-GAN,它采用了启发于贝叶斯和隐式生成模型的分层和可解释的采样策略,来解决鉴别器缺乏约束的问题。

RL-GAN:Sarmad等人引入了一个强化学习(RL)代理来控制GAN,从未标记和部分输入中提取隐式表示,以生成高保真度和完整的点云。同时,应用RL代理来寻找GAN的最佳输入,以产生低维潜在嵌入,缓解了GAN训练不稳定的挑战。

TreeGCN:Shu等人引入了一个树状结构的图卷积网络(TreeGCN)作为生成器,利用祖先信息来提升点的表示,这比常规GCNs使用的邻域特征更为高效。

PU-GAN 和 PUFA-GAN:这两种方法都采用了基于GAN的模型来生成密集和均匀的点云,具有创新的模块来增强特征聚合和高频点过滤。

MaskPoint:Liu等人提出了一个基于掩码的判别式预训练变换框架MaskPoint,它结合了掩码和判别技术,执行掩码对象点和采样噪声之间的简单二元分类。

Contrast-based methods

讨论了一种流行的自监督学习方法,这种方法通过增强相同输入的不同视图在特征空间中的可比性来促进学习。具体来说,这种方法通过使用不同的数据增强技术来扩展输入点云(锚点)的视图,并尝试使得来自同一锚点的增强样本在特征空间中比来自不同锚点的负样本更相似。

提到的对比学习方法可以分为两个主要类别:

Object contrast

物体对比学习关注于通过区分性预训练任务来捕获点云的整体语义,这些任务能够捕捉点云的上下文相似性和差异性。

例如,Info3D方法通过最大化3D物体与其局部块及其几何变换版本之间的互信息来获得旋转不变的表示。

AFSRL框架同时施加数据级增强和特征增强,以构建稳定且不变的点云嵌入。

对比学习和聚类方法通过连续解决部分对比和对象聚类任务来捕获更优的点嵌入。

Scene contrast

与物体对比不同,场景对比方法更侧重于捕获更广泛的环境上下文和邻域感知,这在现实世界复杂场景中更为相关。

PointContrast是一个基于稀疏残差U-Net的框架,旨在通过点对比在复杂场景中获得密集的点级特征。

对比场景上下文方法通过引入ShapeContext局部描述符,将空间信息融合到预训练对象中,以提高下游任务的性能和数据效率。

对比学习方法的关键在于通过正样本和负样本的区分来学习区分性的特征表示。正样本通常是来自同一输入点云的不同增强视图,而负样本则来自不同输入的点云。通过这种方式,模型能够学习到能够捕捉局部形状和全局上下文的鲁棒特征,这对于提高点云数据在各种下游任务中的性能至关重要。

Alignment-based methods

这部分讨论了一种自监督学习方法,该方法基于点云数据在时间流、空间运动、多视图摄影等方面的不变性属性。这些方法通过保持点特征在时空一致性、多视图对齐和多模态融合中的一致性来学习点云的隐式嵌入。

包括以下几个部分:

Multi-view alignment

多视图对齐方法利用从同一3D模型的不同视角渲染的图像与点云之间的对应关系作为监督信号。

例如,Info3D方法通过最大化3D对象与其局部块之间的信息来获得旋转不变的表示。OcCo方法通过在摄像机视图中隐藏和恢复被遮挡的点来改善空间和语义属性的理解。其他方法,如Multi-view stereo和Cross-view,通过生成深度图或联合学习3D点云和2D图像嵌入来保持跨模态的一致性。

Spatiotemporal consistency

时空一致性方法关注点云序列中长时间空间和时间的不变性,以捕获动态序列的内在特征。

例如,Wang等人提出的第一个SSL方案通过排序采样和混乱的点云片段的时间顺序来获得动态点云数据上的有效时间嵌入。STRL框架设计了一个双分支流水线,即在线网络和目标网络,以协作和相互促进。

Multimodal fusion

多模态融合方法利用来自车辆内不同传感器(如摄像头和激光雷达)的补充信息进行复杂的交通场景特征提取。PointPainting方法通过将激光雷达点投影到交通场景的语义分割图上来实现逐点的融合。PointAugmenting方法采用后期跨模态融合机制,通过将子优的分割分数替换为包含丰富外观提示和更大接受场的高维CNN特征。DeepFusion方法提出了端到端的跨模态融合,通过引入可学习的对齐模块来利用交叉注意力动态捕获图像-激光雷达融合过程中的长距离相关性。

这些方法的共同目标是在不需要人工标注的情况下,通过利用点云数据的内在结构和从不同模态或不同视角中获得的信息,来学习鲁棒且具有区分性的特征表示。这对于提高点云数据在自动驾驶、3D对象检测和其他复杂场景理解任务中的应用至关重要。通过这种方式,模型不仅能够学习到单个视图或时间点的特征,还能够捕捉到跨时间、跨视角的一致性和上下文信息。

Motion-based methods

这部分讨论了一种自监督学习方法,专注于从点云数据中捕获动态特性。这些方法利用点云序列中的运动信息,通过模拟传统配准和场景流估计等任务作为预训练的代理任务,来学习点云的动态表示。

Registration

点云配准任务是将两个点云合并到一个全局一致的坐标系统中,这通常通过估计刚体变换矩阵来实现。PRNet是部分到部分点云配准的先驱方法,它通过迭代粗到细的细化过程,将配准问题转化为关键点检测任务。Part mobility方法将点转换为轨迹,以派生刚体变换假设,从而理解动态对象的基本属性。SuperLine3D方法提出了一种自监督线段分割和描述方法,能够在任意尺度扰动下获得精确的线特征表示。DVD(Deep Versatile Descriptors)方法学习局部和全局点嵌入,通过利用局部区域的共同点来提取在刚体变换下保持结构知识的潜在几何模式。

Scene flow estimation

场景流估计是计算机视觉中的一个重要任务,对于点云而言,其目标是通过对连续的LiDAR扫描计算密集对应关系来估计场景中物体的运动。PointPWC-Net是首个提出将成本体概念应用于点云,并采用可学习的基于点的网络来进行场景流估计的方法。

"Just go with the flow"方法提出了一种新颖的自监督场景流估计网络,通过优化基于最近邻和循环一致性的两个损失组件来实现在高度动态环境中的安全导航。Self-Point-Flow方法将伪标签匹配问题转化为最优传输任务,并使用随机游走模块通过施加局部对齐来细化注释质量。

Downstream Tasks

这一章将介绍四种常用的下游任务,并提供广泛使用的评估指标。此外,总结并比较了上述代表性SSL方法在相应的下游任务中的性能。

Object classification

物体分类任务要求模型能够对给定的点云对象输出最有可能的标签,以此来评估预训练模型的整体语义理解能力。

提出了两个评价指标

Overall Accuracy (OA):正确分类的对象数量与总对象数量的比率。

Mean Class Accuracy (mAcc):每个类别准确率的平均值。

将分类任务分成了三种:

Few-shot learning (FSL):在只有有限数据信息的情况下进行训练的挑战性任务。例如,在N-way, K-shot设置中,N表示从数据集中随机选择的类别数量,K表示每个类别随机采样的对象数量。训练好的模型在测试集上进行评估。

Fine-tuning:将预训练的特征提取器作为下游任务的初始编码器,并在监督方式下使用下游数据集的标签对整个网络进行重新训练。

Linear classification:冻结预训练的特征提取器,停止反向传播梯度。在监督方式下使用下游数据集训练线性分类器。

Part Segmentation

探讨了点云数据中的一个精细且关键的下游任务:部件分割(Part segmentation)。这个任务的目标是识别并区分一个物体的各个组成部分,例如飞机的机翼或桌子的桌腿。部件分割对于理解物体的结构和功能至关重要,并且在许多应用中都非常有用,如机器人视觉、自动驾驶车辆的环境感知等。

Semantic segmentation

Semantic segmentation是计算机视觉领域中的一项关键任务,它涉及为图像或点云中的每个像素或点分配一个语义标签,以识别和分类场景中的所有物体和表面。在点云数据的上下文中,semantic segmentation特别关注于理解和标记3D空间中的各个部分。

Object detection

旨在识别图像或点云中的对象,并确定它们的位置和类别。在点云数据的背景下,object detection任务特别关注于在三维空间中识别和定位物体,在许多实际应用中都非常重要,如自动驾驶、机器人视觉、增强现实等。

Future Directions

尽管自监督学习在点云处理方面取得了巨大的成功,但我们也发现了它的一些不足和局限性。我们认为不应该孤立地研究SSL,而应该与其他领域的先进技术结合起来。在本节中,我们讨论了许多未来的研究方向,这些方向有可能提高SSL在下游任务上的学习能力和性能。

Few-shot and zero-shot learning

面对现实场景中的数据短缺或质量问题,如损坏的标签、缺失信息和不均匀的类别分布,少样本学习(Few-shot Learning, FSL)和零样本学习(Zero-shot Learning, ZSL)提供了减少对大量标注数据依赖的解决方案。这些方法使模型能够在只有少量数据的情况下进行训练,并在测试任务中识别出之前未见过的样本类型。

Multiple modality interaction and fusion

尽管现有的许多数据集包含多种模态,但研究者通常只关注点云数据,而忽略了与其他模态数据(如图像、雷达、声音等)的连接和对齐关系。未来的研究可能会更多地关注跨模态SSL,利用每种模态的独特特性及其之间的协同作用,构建具有更普遍人工智能的交通系统。

Hierarchical feature extraction

为了应对具有某些冲突目标的复杂下游任务,例如需要整体语义理解的物体分类和需要细粒度几何感知的部分分割,SSL模型应该具备全局感知和局部分析的能力。这就需要在SSL范式中嵌入层次化特征提取,考虑不同层次上特征表示之间的交互,以发现隐含的关系。

Multiple tasks pre-training

目前,大多数点云SSL方法只关注一个特定的预训练任务,很少有工作同时训练多个任务。未来的研究可能会探索多任务SSL,以促进网络从不同角度学习更全面的特征表示。

Theory and interpretability

类似于传统的深度学习,点云SSL缺乏充分的理论支持并且解释性较差。模型训练过程被视为一个黑盒,使得用户难以分析结果。未来的研究应该包括更多关于可解释理论的探索,例如应用在网络结构和损失函数设计中的互信息或因果推断的成熟理论。

Conclusion

点云自监督学习从根本上摆脱了模型对手动注释的依赖。学习范式侧重于设计预训练借口任务(pretext tasks),使模型能够提取有效特征,并在许多下游任务中实现与监督学习范式竞争的性能。这篇文章广泛综述了近年来有代表性的基于深度神经网络的点云自监督学习方法。提出了一种新的分类法,对目前的研究,特别是近三年来发表的研究成果进行了系统的分类。除了对代表性方法进行详细分析外,还提供了常用数据集的总结和性能比较,使调查更加全面。并对未来的研究方向进行了讨论,希望对研究界应注意的问题提供一些有见地的看法。

标签:Clouds,Point,方法,Self,学习,SSL,任务,点云,数据
From: https://blog.csdn.net/weixin_60335028/article/details/140418897

相关文章

  • Self-supervised Learning for Pre-Training 3D Point Clouds: A Survey
    Abstract点云数据由于其紧凑的形式和表示复杂3D结构的灵活性而被广泛研究。点云数据准确捕获和表示复杂3D几何形状的能力使其成为广泛应用的理想选择,包括计算机视觉,机器人技术和自动驾驶,所有这些都需要了解底层空间结构。这种方法旨在从未标记的数据中学习通用和有用的点云表......
  • PointNet笔记
    可能遇到的问题在windows上运行pointnet的代码时,可能会遇到一些问题:1.比如提示OSError:nofilewithexpectedextension,这是因为可视化的show3d_balls.py文件运行不了,具体的解决方法可以看这篇文章:https://blog.51cto.com/u_16213693/7738038。2.由于作者的pointnet所用的p......
  • SpringAOP中的切点表达式Pointcut详解
    https://www.jb51.net/program/293999439.htm 一、概述SpringAOP只支持SpringBean的方法切入,所以切点表达式只会匹配Bean类中的方法。二、切点表达式配置1.内置配置定义切面通知时,在 @Before 或 @AfterReturning 等通知注解中指定表达式。12345......
  • Transformer模型:Encoder的self-attention mask实现
    前言         这是对Transformer模型的WordEmbedding、PostionEmbedding内容的续篇。视频链接:19、Transformer模型Encoder原理精讲及其PyTorch逐行实现_哔哩哔哩_bilibili文章链接:Transformer模型:WordEmbedding实现-CSDN博客          Transf......
  • [题解] CF19D Points
    [题解]CF19DPointsCF19DPoints在一个笛卡尔坐标系中,定义三种操作:addxy:在坐标系上标记一个点\((x,y)\),保证\((x,y)\)在添加前不在坐标系上。removexy:移除点\((x,y)\),保证\((x,y)\)在移除前已在坐标系上。findxy:找到所有已标记的\((x',y')\),需满......
  • SelfSupervised Learning原理与代码实例讲解
    Self-SupervisedLearning原理与代码实例讲解1.背景介绍1.1问题的由来在机器学习领域,数据标注成本高昂,尤其是在深度学习模型训练中,高质量的数据集是构建高性能模型的前提。然而,数据标注过程耗时且昂贵,特别是在需要大量样本的场景下。为了解决这一问题,研究人员提出了无......
  • 点云分割网络---Point Transformer V3
    PDF:《PointTransformerV3:Simpler,Faster,Stronger》CODE:https://github.com/Pointcept/PointTransformerV3一、大体内容PointTransformerV3(PTv3)没有像V2那样在注意力机制方面寻求创新,而是专注于保持点云背景下准确性和效率之间的平衡,如下所示与上一代PointTransfo......
  • PointNet——源码调试(模型训练+可视化测试显示)
    因为项目涉及到3D点云项目,故学习下PointNet这个用来处理点云的神经网络论文的话,大致都看了下,网络结构有了一定的了解,本博文主要为了下载调试PointNet网络源码,训练和测试调通而已,不涉及后续的改进优化。我是在Anaconda下创建一个新的虚拟环境空间部署项目测试大概用到的就......
  • [LeetCode] 238. Product of Array Except Self
    坑真的很多,首先要处理全零reduce没有值typeerror的问题。classSolution:defproductExceptSelf(self,nums:List[int])->List[int]:total=reduce(mul,nums)ret=[]iftotal==0:try:total=reduce(mul,[......
  • An Attentive Inductive Bias for Sequential Recommendation beyond the Self-Attent
    目录概符号说明BSARec(BeyondSelf-AttentionforSequentialRecommendation)代码ShinY.,ChoiJ.,WiH.andParkN.Anattentiveinductivebiasforsequentialrecommendationbeyondtheself-attention.AAAI,2024.概本文在attentionblock中引入高低频滤波.......