【文献翻译】PointSIFT: 用于3D点云语义分割的 SIFT-like 网络模块

摘要

近年来,三维理解研究为直接从点云中提取特征提供了新的思路[22,24],这需要对点云进行有效的形状模式描述。受二维形状描述符SIFT[15]的启发,我们设计了一个名为PointSIFT的模块,它编码不同方向的信息,并适应形状的比例。具体来说,设计了一个方向编码单元来描述八个关键方向,并通过多个方向编码单元的叠加实现多尺度表示。PointSIFT模块可以集成到各种基于pointnet的体系结构中,以提高表示能力。大量实验表明,我们的基于PointSIFT的框架在标准基准数据集上的表现优于最先进的方法。代码和训练模型将随本文一起发布。

问题描述

我们首先制定了点云语义分割的任务。给定的点云记为 P P P, P P P 是一个包含 n n n 个具有 d d d 维特征的点 p 1 , p 2 , … , p n ∈ R d p_1, p_2,…, p_n∈R^d p1,p2pnRd 的点集。每个点 p i p_i pi 的特征向量可以是它在三维空间中的坐标 ( x i , y i , z i ) (x_i, y_i, z_i) (xi,yi,zi) (或者加上可选的特征通道,如RGB值、法线、中间步骤中的表示向量等)。语义标签的集合用 L L L 表示。点云的语义分割是一个函数 Ψ \Psi Ψ,它为点云中的每个点分配语义标签。也就是说, Ψ : P ↦ L n \Psi : P \mapsto L^n Ψ:PLn.
分割算法的目标是找到能给出准确语义标签的最优函数。
点集 P P P 的几个性质在以前的工作 [22,24] 中已经得到了强调。 P P P 的密度可能不是处处均匀的, P P P 可能非常稀疏。此外, P P P 作为一个集合是无序的、非结构化的,它将点云与常见的顺序或结构化数据(如图像或视频)区分开来。

算法描述

我们的网络遵循一个编码解码(downsample-upsample)框架,类似于用于点云分割的一般语义分割网络。在降采样阶段,我们递归地应用我们提出的PointSIFT模块和[24]中引入的集合抽象(SA)模块来进行分层特征嵌入。在上采样阶段,通过有效地交错特征传播(FP)模块[24]和PointSIFT模块来得到密集特征。我们的主要贡献之一和我们的分割网络的核心组件是PointSIFT模块,该模块具有预期的方向编码和规模感知特性。
在这里插入图片描述

图1. 说明我们的两阶段网络架构。该网络由下采样 (set abstraction) 和上采样 (feature propegation) 过程组成。PointSIFT模块(红色标记)与下采样(蓝色标记)和上采样(绿色标记)层交错。在[24]中同时引入了SA和FP模块。为了更清晰,图中没有显示 FP-shortcuts。PointSIFT(·) 指定每个方向编码单元(OE)的特征维数,例如,PointSIFT(64,64)表示两个堆叠的OE单元,它们都有64个输出特征通道。层下面的数字是对应层输出点集的形状,例如8192×64表示8192个点,每个点64个特征通道.

一、PointSIFT 模块

给定一个 n × d n×d n×d 矩阵作为输入,它描述了一个大小为 n n n 的点集,每个点都具有 d d d 维特征,PointSIFT模块输出一个 n × d n×d n×d 矩阵,为每个点分配一个新的 d d d 维特征。受到广泛使用的 SIFT 描述符的启发,我们试图将 PointSIFT 模块设计为局部特征描述方法,该方法建模各种方向,且不随比例变化。

1. 方向编码

以往方法中的局部描述符通常基于点云无序、非结构化的观察,采用无序操作(如最大池[24,32])。然而,使用有序操作符可以提供更多信息(最大池丢弃除了 maximum 之外的所有输入),同时仍然保持输入点顺序的不确定性。点云的一种自然顺序是由三个坐标的顺序所引起的。这个观察将我们引向了方向编码(OE)单元,它是一种编码八个方向信息的点方向局部特征描述符。
OE单元的输入是点 p 0 p_0 p0 d d d 维特征向量 f 0 ∈ R d f_0∈R^d f0Rd。来自八个方向的信息被一个两阶段方案集成,以产生一个方向感知特征 f 0 ′ f_0' f0。OE单元如图2所示。
在这里插入图片描述

图2. 方向编码(OE)单元说明。(a) 三维空间中的点云,输入点在原点。(b) 在八个象限中进行最近邻搜索。(c) 沿X, Y, Z轴的卷积.
 

OE嵌入的第一阶段是堆叠8邻域搜索(Stacked 8 neighborhood, S8N),它根据三个坐标的排序在8个象限中寻找最近邻。由于远处的点对于描述局部模式提供的信息很少,当搜索半径 r r r 内不存在点时,我们复制 p 0 p_0 p0 作为其最近的邻居。
我们进一步处理那些位于 2 × 2 × 2 2×2×2 2×2×2 立方体中的邻居的特征,以 p 0 p_0 p0 为中心进行局部模式描述。以前的许多工作忽略了数据的结构,而是对特征向量沿着维度进行最大池化来获得新的特征。然而,我们相信像卷积这样的有序算子可以更好地利用数据的结构。因此,我们提出了方向编码卷积,它是一种沿X、Y和Z轴依次对 2 × 2 × 2 2×2×2 2×2×2 立方体进行卷积的三级算子。形式上,相邻点的特征是形状为 2 × 2 × 2 × d 2×2×2×d 2×2×2×d 的向量 V V V,其中前三个维度对应于三个轴。向量 M M M 的切片为特征向量,例如 M 1 , 1 , 1 M_{1,1,1} M1,1,1 代表 上-右-前 这个象限的特征。三阶段卷积公式为:

V x = g ( C o n v ( W x , V ) ) ∈ R 1 × 2 × 2 × d V_x=g( Conv(W_x, V) ) \in R_{1 \times 2 \times 2 \times d} Vx=g(Conv(Wx,V))R1×2×2×d
V x y = g ( C o n v ( W y , V x ) ) ∈ R 1 × 1 × 2 × d V_{xy}=g( Conv(W_y, V_x) ) \in R_{1 \times 1 \times 2 \times d} Vxy=g(Conv(Wy,Vx))R1×1×2×d
V x y z = g ( C o n v ( W z , V x y ) ) ∈ R 1 × 1 × 1 × d V_{xyz}=g( Conv(W_z, V_{xy}) ) \in R_{1 \times 1 \times 1 \times d} Vxyz=g(Conv(Wz,Vxy))R1×1×1×d

其中 W x ∈ R 2 × 1 × 1 × d W_x∈R_{2×1×1×d} WxR2×1×1×d, W y ∈ R 1 × 2 × 1 × d W_y∈R_{1×2×1×d} WyR1×2×1×d W z ∈ R 1 × 1 × 2 × d W_z∈R_{1×1×2×d} WzR1×1×2×d 为卷积算子的权值(为清晰起见,省略了偏置)。本文设 g ( ⋅ ) = R e L U ( ⋅ ) g(·)=ReLU(·) g()=ReLU()。最后,OE卷积通过重塑 V x y z ∈ R 1 × 1 × 1 × d V_{xyz}∈R_{1×1×1×d} VxyzR1×1×1×d 输出一个 d d d 维特征。方向编码卷积(OEC)集成了八个空间方向的信息,得到了一种对方向信息进行编码的表示。

2. 尺度感知

为了让我们的 PointSIFT 模块能够感知尺度,我们遵循长期存在的多尺度表示方法,在 PointSIFT 模块中叠加几个方向编码(OE)单元,如图3所示。
在这里插入图片描述

图3. PointSIFT模块。输入特征首先经过一系列的方位编码(OE)层,然后将OE单元的输出通过另一个点卷积进行连接转换,得到多尺度特征.
 

高水平的OE单元比低水平的OE单元有更大的感受野。通过构建OE单元的层次结构,我们获得了点云局部区域的多尺度表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值