0参数量+0训练,3D点云分析方法Point-NN刷新多项SOTA

OpenCV学堂 2023-07-19 15:48

点击上方↑↑↑OpenCV学堂”关注我

来源:公众号 机器之心 授权


不引入任何可学习参数或训练,是否可以直接实现 3D 点云的分类、分割和检测?


  • 论文链接:https://arxiv.org/pdf/2303.08134.pdf
  • 代码地址:https://github.com/ZrrSkywalker/Point-NN

本文提出了一个用于 3D 点云分析的非参数网络 Point-NN,它仅由纯不可学习的组件组成:最远点采样(FPS)、k 近邻(k-NN)、三角函数(Trigonometric Functions)以及池化(Pooling)操作。不需要参数和训练,它能够在各种 3D 任务上都取得不错的准确率,甚至在 few-shot 分类上可以大幅度超越现有的完全训练的模型。

基于 Point-NN 的非参数框架,这项研究对于当前 3D 领域的贡献如下:

1、首先,我们可以通过插入简单的线性层,来构建 Point-NN 的参数化网络,Point-PN。由于 Point-NN 具有强大的非参数基础,所构建出的 Point-PN 仅需要少量可学习参数就可以表现出优秀的 3D 分类和分割性能。

2、其次,由于 Point-NN 不需要训练的属性,我们可以将其作为一个即插即用的增强模块,去增强现有已经训练好的 3D 模型。通过提供互补知识,Point-NN 可以在各种 3D 任务上提升原本的 SOTA 性能。

一、引言

1. 动机

3D 点云的处理和分析是一项具有挑战性的任务,并且在学术界和工业界都取得了广泛的关注。自从 PointNet++ 起,后续的 3D 模型为了提升性能,一方面设计了更加复杂的局部空间算子,一方面增大了网络的可学习参数量。然而,除了不断更新的可学习模块,他们基本都沿用了同一套潜在的多尺度网络框架,包括最远点采样(FPS)、k 近邻(k-NN)和池化(Pooling)操作。目前,还几乎没有研究去探索这些非参数组件的潜力;因此,本文提出并探索了以下问题:这些非参数组件对于 3D 理解的贡献有多大?仅仅使用非参数组件,能否实现无需训练的 3D 点云分析?

2. 贡献


为了解决以上问题,本文首次提出了一个非参数化(Non-Parametric)的 3D 网络,Point-NN,整体结构如上图所示。Point-NN 由一个用于 3D 特征提取的非参数编码器(Non-Parametric Encoder)和一个用于特定任务识别的点云记忆库(Point-Memory Bank)组成。非参数编码器采用了多阶段的结构设计,使用了最远点采样(FPS)、k 近邻(k-NN)、三角函数(Trigonometric Functions)和池化(Pooling)来逐步聚合局部几何图形,为点云生成一个高维度的全局特征。我们仅仅采用了简单的三角函数来捕捉局部空间几何信息,没有使用任何可学习算子。接下来,我们使用此编码器,去提取到所有训练集点云的特征,并缓存为点云记忆库。进行测试时,点云记忆库通过对测试点云和训练集点云的特征,进行相似度匹配,来输出特定任务的预测。

不需要任何训练,Point-NN 可以在多种 3D 任务中实现优越的性能,例如 3D 分类、分割、检测,甚至可以超过一些现有的经过完全训练的模型。基于此,我们进一步提出了两点 Point-NN 对于现今 3D 领域的贡献,如下图(a)和(b)所示:


1)以 Point-NN 为基础框架,我们通过在 Point-NN 的每个阶段插入简单的线性层,引入了其 parameter-efficient 的变体 Point-PN,如上图 (a) 所示。Point-PN 不包含复杂的局部算子,仅仅包含线性层以及从 Point-NN 继承的三角函数算子,实现了效率和性能的双赢。

2)我们将 Point-NN 作为一个即插即用的模块,为各种 3D 任务中训练好的模型提供互补知识,并在推理过程中可以直接提升这些训练模型的性能,如上图 (b) 所示。

二、方法
    
1.Point-NN

Point-NN 由一个 Non-Parametric Encoder (EncNP) 和一个 Point-Memory Bank (PoM) 组成。对于输入的点云,我们使用 EncNP 提取其全局特征,并通过 PoM 的特征相似度匹配,来输出分类结果,公式如下图所示:


接下来,我们依次介绍 Point-NN 中的这两个模块。

(1)非参数编码器 (Non-Parametric Encoder)

非参数编码器首先将输入点云进行 Raw-point Embedding,将 3 维的原始点坐标转化为高维度特征,再经过 4 个阶段的 Local Geometry Aggregation 逐步聚合局部特征得到最终的点云全局特征,如下图所示。


a. 原始点云映射 (Raw-point Embedding)

我们参考了 Transformer 中的 positional encoding,对于输入点云的一个点,利用三角函数将它嵌入到一个维向量中:


分别表示三个轴的位置编码。以为例,对于通道索引,具体的位置编码公式如下:


其中,α,β 分别控制了尺度和波长。通过这种三角函数的编码,我们可以将点云的绝对位置信息映射到高维度的特征空间中,并通过后续的点乘操作可以根据权重获取不同点之间的相对位置信息,并捕获三维形状的细粒度结构变化。

b. 局部几何特征的聚合 (Local Geometry Aggregation)

对于每一个点云尺度的处理,我们分为三个步骤。

首先是特征扩维 (Feature Expansion)。我们使用 FPS 进行点云数量的下采样,对于下采样后得到的每一个中心点,我们采用 k-NN 去找到他的 k 个邻域点以及对应的特征。基于此,我们将中心点特征在特征维度进行拼接,实现特征扩维,这样可以在更深的网络层中编码更多的义信息


其次是几何信息提取 (Geometry Extraction)。我们先使用均值和标准差对的坐标进行归一化,并使用三角函数进行相对位置的编码,来获取的相对几何权重,标记为。之后,我们通过下面的公式得到加权后的邻域特征


最后是局部特征聚和 (Feature Aggregation)。我们利用最大池化和平均池化来进行局部特征聚合。


在完成 4 个阶段的 Local Geometry Aggregation 后,我们再次运用最大池化和平均池化来得到点云的全局特征。

(2)点云记忆库 (Point-Memory Bank)

在经过非参数编码器 (Non-Parametric Encoder) 的特征提取后,由于 Point-NN 不含任何可学习参数,我们没有使用传统的可学习分类头,而是采用了无需训练的 point-memory bank。首先,我们使用非参数编码器去构造关于训练集的 bank,接着在推理过程通过相似度匹配输出预测,如下图所示。


a. 记忆构建 (Memory Construction)

Point memory 包括一个 feature memory和一个 label memory以点云分类任务为例,假设给定的训练集包含 K 个类别的 N 个点云通过 Non-Parametric Encoder 可以得到 N 个训练集点云的全局特征,同时将对应的分类标签转换为 one-hot 编码,接着将它们沿着样本维度进行拼接,缓存为两个矩阵。


b. 基于相似度的预测 (Similarity-based Prediction)

在推理阶段,我们利用构造好的 bank 进行两个矩阵乘法来完成分类。首先,我们通过 Non-Parametric Encoder 来计算测试点云的全局特征,并计算与 feature memory 之间的余弦相似度。


接下来,将 label memory 中的 one-hot 标签与进行加权,越相似的 feature memory 对最终的分类 logits 贡献越大,反之亦然。


通过这种基于相似性的计算,point-memory bank 可以在不经过任何训练的情况下,学习到从训练集中提取的知识,在推理过程自适应地完成不同任务。

2.Point–NN 在其他 3D 任务的拓展

以上主要是对 Point-NN 在分类任务中的应用的介绍,Point-NN 也可以被用于 3D 的部件分割和 3D 目标检测任务。

(1)部件分割 (3D Part Segmentation)

与分类任务对全局特征进行提取再进行分类不同的是,部件分割需要对每个点进行分类。因此,论文采用了一个接在 non-parametric encoder 后的对称的 non-parametric decoder,进行点云特征的上采样,恢复至输入时的点数量。具体来说,在 decoder 的每个阶段,我们将局部中心点的特征通过相对位置加权,来扩散到周围的领域点。对于 point-memory bank,首先使用 encoder 和 decoder 得到训练集的每个点的特征,为了节省显存消耗,对于每一个物体,我们将每个部件的特征取平均值,再作为 feature memory 存入到 bank 中。

(2)目标检测 (3D Object Detection)

对于检测任务,我们将 Point-NN 作为一个 3D 检测器的分类头使用。当预训练好的检测器产生 3D proposal 后,Point-NN 与分类任务相似,使用 non-parametric encoder 来获取被检测物体的全局特征。在构建 point-memory bank 时,我们在训练集中对在每个 3D 框标签内的点云进行采样,将采样后的每个物体的全局特征进行编码得到 feature memory。特别的是,我们没有像其他任务一样对每个物体的点云坐标进行归一化,这是为了保留在原始空间中的 3D 位置信息,实现更好的检测性能。

3. 从 Point–NN 延伸 (Starting from Point-NN)

(1)作为结构框架构建 Point-PN (As Architectural Frameworks)

我们讲 Point-NN 视为一个良好的非参数化框架,在其中插入简单的可学习线性层,来构建参数化的 3D 网络,Point-PN。Point-PN 相比于现有的 3D 网络,不含有复杂的局部算子,以极少的可学习参数量实现了优秀的 3D 性能。


我们构建 Point-PN 的步骤如下:首先,将 point-memory bank 替换为传统的可学习的分类头,如上图(A)所示;在 ModelNet40 的分类任务上,这一步将分类性能从 Point-NN 的 81.8% 提高到了 90.3%,且仅仅使用了 0.3M 的参数量。接着,我们将 raw-point embedding 替换为线性层(B),可以将分类性能进一步提高到 90.8%。为了更好地提取多尺度层次特征,我们接着将线性层插入到每一阶段的 non-parametric encoder 中。具体来说,在每个阶段,两个线性层分别被插入到 Geometry Extraction 的前后来捕捉高层空间信息,如图中(C、D、E)所示。这样,最终的 Point-PN 可以仅仅使用 0.8M 的参数量达到 93.8% 的性能,且只包括三角函数和简单的线性层。这说明,与现有的高级的操作算子或者大参数两相比,我们可以从非参数框架出发,来获取一个简单高效的 3D 模型。


(2)作为即插即用模块 (As Plug-and-play Modules)

Point-NN 可以在不进行额外训练的情况下增强现有 3D 预训练模型的性能。以分类任务为例,我们直接将 Point-NN 与预训练模型预测的分类 logits 进行相加,来提供互补的 3D 知识提升性能。如下图对特征的可视化所示,Point-NN 主要提取的是点云的低层次高频特征,在尖锐的三维结构周围产生了较高的响应值,例如飞机的翼尖、椅子的腿和灯杆;而经过训练的 PointNet++ 更关注的是点云的高层次语义信息,通过对它们的 logits 相加可以得到互补的效果,例如,飞机的机身、椅子的主体和灯罩。


三、实验
    
1.Point-NN 和 Point-PN
    
(1)3D 物体分类 (Shape Classification)


对于 2 个代表性的 3D 物体分类数据集,ModelNet40 和 ScanObjectNN,Point-NN 都获得了良好的分类效果,甚至能够在 ScanObjectNN 上超过完全训练后的 3DmFV 模型。这充分说明了 Point-NN 在没有任何的参数或训练情况下的 3D 理解能力。

Point-PN 在 2 个数据集上也都取得了有竞争力的结果。对于 ScanObjectNN,与 12.6M 的 PointMLP 相比,Point-PN 实现了参数量少 16 倍,推理速度快 6 倍,并且精度提升 1.9%。在 ModelNet40 数据集上,Point-PN 获得了与 CurveNet 相当的结果,但是少了 2.5X 的参数量,快了 6X 的推理速度。

(2)少样本 3D 分类 (Few-shot Classification)


与现有的经过完全训练的 3D 模型相比,Point-NN 的 few shot 性能显著超过了第二好的方法。这是因为训练样本有限,具有可学习参数的传统网络会存在严重的过拟合问题。

(2)3D 部件分割 (Part Segmentation)


70.4% 的 mIoU 表明由 Point-NN 在分割任务中也可以产生执行良好的单点级别的特征,并实现细粒度的 3D 空间理解。

Poinnt-PN 能够取得 86.6% 的 mIoU。与 Curvenet 相比,Point-PN 可以节省 28 小时的训练时间,推理速度快 6X。

(3)3D 目标检测 (3D Object Detection)


将 Point-NN 作为检测器的分类头,我们采用了两种流行的 3D 检测器 VoteNet 和 3DETR-m 来提取类别无关的 3D region proposals。由于我们没有进行点云坐标的归一化处理(w/o nor.),这样可以保留原始场景中更多物体三维位置的信息,大大提升了 Point-NN 的 AP 分数。    

2.Point-NN 的即插即用 (Plug-and-play)
    
(1)3D 物体分类 (Shape Classification)


Point-NN 可以有效提高现有方法的分类性能,在 ScanObjectNN 数据集上,Point-NN 可以对 PointNet 和 PoitMLP 的分类准确率均提高 2%。

(2)3D 分割和检测 (Segmentation and Detection)


对于分割任务,由于 ShapeNetPart 数据集上的测评指标已经比较饱和,Point-NN 对 CurveNet 提升的 0.1% 已经是很好的效果。对于检测任务,Point-NN 对 3DETR-m 的增强达到了很好的 1.02%和 11.05%


四、讨论
    
1. 为什么 Point-NN 中的三角函数可以编码 3D 信息?
    
(1)捕获高频的 3D 结构信息

通过下图中 Point-NN 特征的可视化,以及我们分解出的点云低频和高频信息,可以观察到 Point-NN 主要捕获了点云的高频空间特征,例如边缘、拐角以及其它细粒度的细节。


(2)编码点之间的相对位置信息

三角函数本身可以提供点云的绝对位置信息。对于两个点,首先获取它们的 C 维的位置编码,公式如下:


而它们之前的相对位置关系可以通过它们之间的点乘得到,公式如下:


以 x 轴为例,


这个公式表示了 x 轴上两个点之间的相对位置。因此,三角函数可以得到点云之间的绝对和相对位置信息,这更有利于 Point-NN 对局部化点云的结构理解。

2.Point–NN 可以即插即用的提升 Point–PN 的性能吗?



如上表所示,Point-NN 对 Point-PN 的提升极其有限,从上图可视化的结果来看,Point-NN 和 Point-PN 之间的互补性比 Point-NN 和 PointNet++ 之间的互补性更弱。这是因为 Point-PN 的基础结构是继承自 Point-NN,因此也会通过三角函数获取 3D 高频信息,和 Point-PN 拥有相似的特征捕获能力。

3. 和其他无需训练的 3D 模型的比较


现有的 3D 模型中,有一类基于 CLIP 预训练模型的迁移学习方法,例如 PointCLIP 系列,它们也不需要进行 3D 领域中的训练过程。从上表的比较可以看出,Point-NN 可以实现很优越的无需训练的分类性能。

4.Point–NN 与 PnP–3D 的增强效果比较


PnP-3D 提出了一种对于 3D 模型的即插即用的可学习增强模块,但是它会引入额外的可学习参数,并且需要重新训练而消耗更多的计算资源。如上表所示,相比之下,Point-NN 也能实现相似的增强性能,但是完全不需要额外参数或者训练。

五、总结与展望
    
本文首次在 3D 领域中,提出了一个无参数无需训练的网络,Point-NN,并且在各个 3D 任务上都取得了良好的性能。我们希望这篇工作可以启发更多的研究,来关注非参数化相关的 3D 研究,而不是一味的增加复杂的 3D 算子或者堆叠大量的网络参数。在未来的工作中,我们将探索更加先进的非参数 3D 模型,并推广到更广泛的 3D 应用场景中。

OpenCV学堂 专注计算机视觉开发技术分享,技术框架使用,包括OpenCV,Tensorflow,Pytorch教程与案例,相关算法详解,最新CV方向论文,硬核代码干货与代码案例详解!作者在CV工程化方面深度耕耘15年,感谢您的关注!
评论
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 63浏览
  • 光耦合器,也称为光隔离器,是一种利用光在两个隔离电路之间传输电信号的组件。在医疗领域,确保患者安全和设备可靠性至关重要。在众多有助于医疗设备安全性和效率的组件中,光耦合器起着至关重要的作用。这些紧凑型设备经常被忽视,但对于隔离高压和防止敏感医疗设备中的电气危害却是必不可少的。本文深入探讨了光耦合器的功能、其在医疗应用中的重要性以及其实际使用示例。什么是光耦合器?它通常由以下部分组成:LED(发光二极管):将电信号转换为光。光电探测器(例如光电晶体管):检测光并将其转换回电信号。这种布置确保输入和
    腾恩科技-彭工 2025-01-03 16:27 171浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 66浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 73浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 107浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 41浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 68浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 76浏览
  • 物联网(IoT)的快速发展彻底改变了从智能家居到工业自动化等各个行业。由于物联网系统需要高效、可靠且紧凑的组件来处理众多传感器、执行器和通信设备,国产固态继电器(SSR)已成为满足中国这些需求的关键解决方案。本文探讨了国产SSR如何满足物联网应用的需求,重点介绍了它们的优势、技术能力以及在现实场景中的应用。了解物联网中的固态继电器固态继电器是一种电子开关设备,它使用半导体而不是机械触点来控制负载。与传统的机械继电器不同,固态继电器具有以下优势:快速切换:确保精确快速的响应,这对于实时物联网系统至
    克里雅半导体科技 2025-01-03 16:11 175浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 73浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 76浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 166浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦