KPConv:一种新型的点云卷积

这篇文章介绍了 KPConv:用于点云的灵活可变形卷积。KPConv 的灵感来自图像卷积,但不是使用具有固定位置的离散图像核,而是使用一组连续的核点来定义卷积区域。KPConv 可用作深度 3D 神经网络架构的基本构建块,该架构可以使用整个点云进行分类和分割任务。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

1、简介

点云是 3D 空间中的点的集合,其中每个点都由一组笛卡尔坐标 (x, y, z) 定义。点云稀疏且无序,这与图像的网格状结构不同。

点云中的每个点都通过其坐标进行空间定位,这意味着我们可以通过查看 (x, y, z) 处点的邻居来识别相似的点。我们可以添加一些偏移量(x ± r, y ± r, z ± r),这样就可以在原始点周围形成一个球体,而球体中则包含它的邻近点。直观地讲,我们可以在球体中执行一些操作,从而得到一些代表原始结构的低维结构。这个概念对于构建卷积网络至关重要,因为它使我们能够通过网络传播和下采样点云的底层结构 [1, 2]。

每个点都可以具有强度或颜色等相关特征。例如,LiDAR 可以生成具有颜色和强度的物体点云,这是物体反射率的特征 [3]。除了结构特征之外,在神经网络架构中利用这些特征将是一个很大的好处,而 KPConv 提供了一种实现这一点的方法。图 1 显示了从无人机获得的点云。

图 1. 科罗拉多州 Fountain Creek 上空无人机激光雷达点云。

2、动机

直观地讲,点云是某种真实 3D 形状的近似值,因此具有代表真实对象的结构。点云的结构及其特征可用于了解它们所代表的对象。

我们可能想问,我们到底想了解什么?这取决于应用程序,但通常我们可能想知道对象是什么(分类),对象由哪些子组件组成(语义分割)。

在地质学中,LiDAR 生成的点云用于了解有关地球表面的更多信息 [4]。在自动驾驶中,LiDAR 是一种有用的传感器,有助于促进 3D 物体检测,在某些情况下还有助于分割。知道物体存在不仅很有用,物体类型的信息(汽车、自行车还是行人)还会影响车辆对其存在的反应。参见图 2 中的分类示例。

图 2. 自动驾驶的 3D 物体分类

3、KPConv 概述

在深入介绍细节之前,我们先快速了解一下 KPConv。本节的目的只是从高层次介绍主要概念,以便我们在正式介绍 KPConv 时能够深入了解。

对于图像,卷积区域由离散核定义,核像素严格定义。另一方面,KPConv 在连续的 3D 空间中运行,半径内的点称为核点(kernel points)。

图 3 显示了 2D 示例,其中核点在圆内的特定位置对齐。这称为刚性核(rigid kernel),我们也可以通过学习每个核点的移位来定义可变形核(deformable kernel),从而使核符合局部结构。

图 3. 刚性和可变形内核

现在让我们关注刚性核。请注意刚性核的中心有一个点,KPConv 在执行操作之前实际上将核集中在单个点 x 上。该操作仅定义在核半径内的点上,这些点称为邻居(neighbors)。

使用半径来定义邻居而不是 K 最近邻 (KNN) 的原因是半径邻域对变化的采样密度更具弹性。例如,KNN 将包含对于稀疏区域来说太远的点,而对于密集区域来说只包含太近的点。有了半径,我们可以获得更一致的局部结构表示。

每个核点都有一个关联的权重矩阵,该矩阵支持从 Dᵢₙ 到 Dₒᵤₜ 的特征映射,其中 Dᵢₙ 是每个输入点的特征数量。此映射使特征和 3D 结构都可以使用。下面显示了一个二维示例,其中权重为我们提供了过滤值,方式类似于图像卷积:

图 4. KPConv 的 2D 示例

在这个例子中,我们可以看到核点能够将邻居映射到输出中的单个点。现在我们对发生的事情有了大致的了解,让我们仔细看看。

为了澄清起见,术语邻居和点始终指点云点,而核点将用于明确指核点。

4、KPConv正式介绍

KPConv 定义为特征 F 与点 x 处的核 g 的点卷积:

邻居 Nₓ 的正式定义为以 x 为中心、位于半径 r 内的所有点 xᵢ

我们现在将邻居称为 yᵢ

我们将核函数 g 的定义域定义为一个半径为 r 的球

核点被限制为仅存在于球内,我们将它们与其权重矩阵一起定义为

其中 K 是定义的最大核点数。现在我们将核 g 定义为任意邻居 yᵢ 的函数

其中 h 是邻居 yᵢ 与每个核点 xₖ 之间的线性相关性(linear correlation):

4.1 线性相关性

这种相关性非常重要,但为什么呢?

在任何给定点,我们的邻居数量都是可变的,因此邻居与核点之间没有一一对应的关系。这使得将邻居与核点关联起来的任务变得非常困难。为了减轻困难,使用相关性度量来量化每个邻居和核点的关联。这种关联取决于局部结构,也就是说,如果核点在空间上靠近邻居,那么它们将高度相关,反之亦然,如果我们查看线性相关函数 h,远处邻居的相关性为 0。本质上,相关性只是将核点的空间位置与邻居联系起来的空间相关性。这使得所有邻居和核点能够相互作用,空间相关性决定了相互作用的强度。

所有邻居和核点相互作用,空间相关性决定了这些相互作用的强度。

4.2 权重矩阵

在相关性之后,我们将其乘以可学习权重矩阵或核权重 Wₖ。除了相关性之外,权重矩阵实际上还增加了另一个影响范围,可以改变每个相应的核点 xₖ 与每个邻居 yᵢ 之间的关系。

4.3 把各个部分放在一起

总结一下,我们已经看到空间相关性可以衡量邻居与核点的结构相似程度。现在我们已经看到权重矩阵如何为 KPConv 操作增加一个新的影响范围,从而通过可学习参数提高操作的表达能力。

现在让我们看一个 2D 示例来澄清这一点:

图 5. KPConv 操作的 2D 示例

这里我们有一个以点 x 为中心的核,我们考虑对邻居 yᵢ 进行操作,其中每个邻居都有 Dᵢₙ 特征。我们将这个 yᵢ 与所有核点关联,然后将所有关联值与相关权重矩阵相乘。然后将这些乘积相加,得到一个具有 Dₒᵤₜ 特征的新点。

我们可以从下面扩展的 KPConv 定义中看到,特征乘以所有权重矩阵的总和,并按关联强度 h 缩放。这使我们能够将特征从 Dᵢₙ 缩放到 Dₒᵤₜ。

扩展了 KPConv 定义,其中术语已被排列以匹配维度

由于相关性对每个核权重矩阵施加了权重,因此它反过来决定了特征如何在网络中传播。例如,如果核点的相关性较低,则其对应的权重矩阵对输出特征 Dₒᵤₜ 的影响很小。

5、刚性和可变形核

内核点位置决定了特征如何通过卷积在网络中传播。这意味着它们的位置对卷积操作和整体网络性能很重要。

5.1 刚性核

到目前为止,我们只讨论了刚性核,其中每个点都固定在由球定义的域中的预定义位置。如何选择 K 个核点位置来优化性能?

事实证明,可以通过解决优化问题来找到这些位置,其中每个点彼此施加排斥力,并且所有点都被约束在具有吸引力的球内。

一个点也被限制在球的中间。这些点被随机初始化,并通过梯度下降最小化总能量来找到解决方案。

这提供了在球内有规律地放置的点,如图 6 所示:

Figure 6. Rigid Kernel Point Positions

然后可以将周围的点重新缩放到平均半径 1.5σ,这在每个核点的影响区域和核的整体空间覆盖之间提供了小的重叠。

5.2 可变形核

刚性核在分割和分类任务上表现出了高效且有效的性能,但事实证明,我们可以通过学习每个核点的最佳位置来提高容量。这被称为可变形 KP 卷积。直观地说,我们希望核能够适应每个卷积位置的局部结构。

由于核 g 相对于核点是可微的,我们实际上可以将核点作为参数进行学习。在可变形 KP 卷积中,我们从刚性核开始,并学习每个卷积位置 x 的 K 移位 Δ(x)。

可变形核定义为:

偏移量(或偏移量)Δ(x)是刚性KPConv将Dᵢₙ特征映射到3K偏移量(每个维度一个)的输出。在训练过程中,刚性核通过反向传播学习偏移量Δ(x),而可变形核则生成新特征。

图 7.可变形核点卷积的 2D 示例

因此,实际上学习的是核点偏移(kernel shifts)。

为了帮助防止偏移逃离核区域,核点偏移 Δ(x) 的学习率设置为全局学习率的 0.1 倍。然而,仅此而已实际上是无效的,并会导致性能不佳。为了克服这个问题,使用特殊的正则化将可变形核点约束到核区域。正则化由拟合项和排斥项组成。

拟合项确保每个核点与输入邻居保持足够近的距离。排斥项确保核点不会相互坍缩,并确保它们的影响区域不重叠(即我们希望核点覆盖相对均匀)。

可以证明可变形核能够符合输入点云的局部几何形状:

图 8. 刚性核(左)与无正则化核(中)和有正则化核(右)之间的差异

在图 8 中我们可以看到,左侧的刚性核不符合局部几何形状。中间的可变形核没有经过正则化,有许多点远离局部几何形状,这些点被称为丢失点。在右侧,我们可以看到正则化策略不仅可以防止丢失点,还可以使核符合局部几何形状,从而最大化活动核点的数量。其中活动是指非零空间相关值。

6、结束语

在这篇文章中,我们了解了 KPConv,这是一种专为点云设计的新型卷积。它利用由半径定义的核区域,在不同密度的区域中实现高性能。KPConv 使用简单的线性空间相关性,使其能够处理可变数量的局部输入点。它还能够为每个核点学习权重矩阵,从而以类似于基于图像的卷积神经网络的方式提高 KPConv 的表达能力。

KPConv 有两种取决于核类型的类型:刚性核和可变形核。刚性核具有预定义结构,计算效率高。可变形核能够符合局部结构,在更复杂的任务上往往表现出更高的性能。

KPConv 是一种模块化操作,可用于创建深度神经网络架构,该架构可以直接使用点云,而无需进行太多数据预处理。这些架构可以满足点云分类和分割的需求。


原文链接:KPConv 点云卷积 - BimAnt

  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值