SDANet: spatial deep attention-based for point cloud classification and segmentation(SDANet:基于空间深度注意力的点云分类与分割)
SDANet: spatial deep attention-based for point cloud classification and segmentation
Abstract
以往的不足: 然而,这些方法大多没有考虑点云局部特征对最终决策的贡献以及邻接点之间的空间关系,这限制了三维点云分类和分割的精度。本文提出: 设计了一种新的网络模型–空间深度注意网络。优点: 将局部深度注意机制嵌入到MLP层中学习局部邻域几何表示。提高点云分类和分割的准确率。通过SDA
模块获得点云的局部深度关注。通过SDA模块获取点云的局部深度关注度,然后结合
特征学习和局部深度关注度,有效捕获局部几何结构。为了获得最佳的特征提取能力,将局部深度注意特征与全局特征相结合。实验表明,SDANet在几个具有挑战性的基准数据集和任务上取得了与最先进的方法相同或更好的性能。
1. Introduction
三维点云包含丰富的几何、形状和比例信息,已被广泛应用于自动驾驶(Wu et al., 1809; Zermas et al., 2017)
、室内导航(Zhu et al., 2017)
、场景理解(Saleh et al., 2018; Saleh et al., 2018)
等领域。然而,由于三维点云数据的无序性、非结构化、密度分布不均匀、场景复杂等特点(点云的缺陷)
,如何有效、准确地对三维数据进行分类和分割是计算机视觉领域的研究热点之一。CNN
严重依赖于具有标准网格结构的数据,对于不规则和无序的点云处理性能较低。为了充分利用CNN的优势,学者们提出了几种将非结构化点云数据映射到标准三维网格数据的方法:(Maturana & Scherer, 2015; Riegler et al., 2017; Su et al., 2015)
。<-缺点: 信息损失大、计算复杂等。2016年,PointNet(Qi et al., 2017)
网络模型在点云分类、分量分割、场景语义分析等方面取得突破性进展,利用深度学习直接处理原始点云成为主流,并逐渐占据主导地位。PointNet++(齐等,2017)
对PointNet网络模型进行了扩展,通过构建层次结构实现了点云的局部划分和局部特征提取,在一定程度上解决了采样不均匀和局部特征提取的问题。这些方法在一定程度上取得了良好的效果。
然而,PointNet++中的共享多层感知器(MLP)和最大值池的特征提取操作与局部区域的空间结构无关(PointNet++没有考虑到空间关系)
。<-为了解决这些问题,LSANet(Chen et al., 1905)
根据局部区域的空间分布自适应地生成注意图。(效果)
结合这些注意图的特征学习过程能够有效地捕捉到局部的几何结构。在此基础上,提出了一种空间特征抽取器(SFE),并构建了一个分支结构来更好地聚合网络各层的空间信息和相关特征。但只考虑局部特征而忽视局部特征的重要性是限制三维点云分类分割精度的重要原因之一。<-为了解决这一问题,我们应该更多地关注点云处理任务中决策更多的特征。
由于信息处理的瓶颈,人类会有选择地专注于所有信息的一部分,并将有限的信息处理资源分配到重要的部分。深度学习中的注意机制本质上类似于人类的选择性视觉注意机制,已被广泛应用于目标检测(Paigwar et al., 2019)
、语义分割(Hu et al., 2020)
、生物医学图像增强 (Xiaobin et al., 2006)
和三维重建(Yang et al., 1808)
。在注意力机制的启发下,我们主要关注在三维点云分类和分量分割任务中对最终决策有重要影响的局部特征。本文提出了SDA模块来获取局部空间区域的关注度,并充分利用点的空间关系,从而获得局部点云的关注度特征。为了保证特征提取的完备性,我们提取点云数据的全局特征,并将局部关注度特征和全局特征进行融合,以达到最优的分类和分割精度。通过分类、局部分割、场景语义分割和复杂度分析与消融四个实验验证了该网络的有效性。
我们工作的主要贡献如下:
- 我们提出了一种局部空间深度注意机制,允许SDA层通过考虑局部邻域相关性和局部投影深度来计算注意系数。
- 我们将深度注意的局部特征与全局特征融合,以获得足够的特征提取能力。
- 我们提出的SDANet具有良好的鲁棒性。通过使用不完全点云数据进行测试,本文方法的性能优于其他类似算法。
本文的其余部分组织如下。第二部分回顾了三维点云分类与分割的相关工作。第三部分介绍了所提出的局部深度注意机制和基于SDA模块的网络结构。第四部分给出实验结果并进行讨论。第五部分是结论。
2. Related work
2.1 Multi-view point cloud feature learning
早在1995年,视觉识别领域的研究人员就利用大量的二维图像来自动表示姿态和光照参数,以获得低维子空间。在地理信息科学中,也有将机载激光扫描提供的数据与现有建筑物二维平面图相结合,实现自动三维数据采集的实践。多视图方法将3D点集转换为2D视图的集合,以便在转换后的数据上应用流行的2D卷积操作。首次提出多视图卷积神经网络(MVCNN) (Su et al., 2015)
。通过从多个角度捕捉二维图像,将卷积层和池化层聚合为三维形状描述符,然后将聚合的特征输入到网络中,返回分类或分割结果。MVCNN在分割和分类任务中表现出良好的效果,提高了计算效率,MVCNN的局限->
但预先设置了视点的位置,使动态选择视图成为不可能。同时,由于忽略了大量关键的几何空间信息,也影响了MVCNN分割和分类的准确性,不适用于大规模复杂场景。一些改进方法GVCNN (Feng et al., 2018)
, SnapNet (Boulch et al., 2017)
, MHBN (Tan et al., 2018)
, 3D-MiniNet (Alonso et al., 2020)
,虽然在一定程度上优
提高了点云分割和分类任务的准确性,缺
2D投影局限于对象的表面建模,无法捕捉三维内部结构,导致信息丢失。
2.2 Voxel-based point cloud feature learning
体素化是一种直观的方法,它将非结构化的稀疏点云转换为标准的神经网络处理。VoxNet (Maturana & Scherer, 2015)
于2015年首次提出,将非结构化点云数据体素化为网格数据,并将其应用于3D深度学习网络。该方法构建多个三维网格,对网格中对应的体素进行归一化,然后进入网络卷积层提取特征并对非重叠体素进行最大池化处理。VoxNet在一定程度上优
解决了非结构化点云问题,缺
但在计算过程中仍然存在占用大量内存的问题。随着分辨率的增加,正方形的数量也会增加。<-提高
为了解决体素化网格占用内存大、训练复杂的问题,FPNN (Li & Pirk, 1605)将三维空间表示为三维向量场作为网络输入,利用场检测滤波器提取有效特征。PointGrid (Le et al., 2018)使用简单的点量化策略对每个网格单元中固定数量的点进行采样,使网络能够提取局部几何特征。体素化方法的优缺点
基于体素的方法解决了三维点云的非结构化问题,但低分辨率的体素会导致有用信息的丢失,高分辨率的体素会导致大而复杂的计算。
2.3 Learning features from unstructured point cloud directly
为了降低计算复杂度,充分利用三维点云数据,气等人开创PointNet
(Qi et al ., 2017),直接输入原始点云数据,标准化数据通过网网络,然后用MLP学习每一点此外,全球最大池层是用于聚合功能,以较低的成本解决了点云无序、位移和旋转不变性等问题。PointNet + + (Qi, Li, et al., 2017)基于PointNet扩展,通过构建局部分层模块,沿着多分辨率分层结构捕获局部特征,解决了非均匀采样和局部特征提取的问题。PointSIFT模块(Jiang et al., 1807) 可以嵌入到各种PointNet网络中,它使用方向编码卷积(OEC)集成来自八个方向的信息,以获得编码方向信息的表示。RandLA-Net (Hu et al., 2020)设计了一个局部特征聚合模块,通过逐渐增加每个神经层的接收野的大小来有效地学习复杂的局部结构。首先为每个三维点引入局部空间编码(LocSE)单元来保留局部几何结构信息,然后利用注意力机制聚集有用的局部特征,通过叠加多个LocSE单元和池化层来提高每个点的有效性。该方法提高了计算和存储效率,同时显示出良好的分类效果。 RD3D
(Qiang et al., 2101)提出了一种基于3D cnn的RGB-D SOD框架,采用渐进式的方式进行跨模态特征融合。RD3D首先利用三维卷积对RGB和深度进行预融合,然后通过一个具有丰富的反向投影路径和通道-模态注意模块的3D解码器对模态感知特征进行显式融合。LAM-Net
(Cui et al., 2020)、EPC-Net
(Hui et al., 2101)通过设计一个轻量级网络模型,在保证准确性的同时提高了计算和存储效率。这些轻量级模块可以很容易地嵌入到其他深度学习网络中。
2.4 Learning features basedon graph theory
自从图神经网络(GNN)
(Scarselli et al., 2009)被提出以来,图卷积神经网络(GCNN)
(Kip & Welling, 1609)在半监督分类任务中表现良好。一些研究SpecGCN
(Wang et al., 1806)、RGCNN
(Gusi et al., 1803)、DGCNN
(Wang et al., 2019)、LDGCN
(Zhang et al., 1904)、poinn-gcnn
(Lu et al., 2020)已经成功地将图神经网络应用于点云分类和分割任务。KC-Net
(Shen et al., 2018)包含KNN图,提取点云的局部结构特征,并通过grapy max pooling聚合邻居信息。LKPO-GNN
(Zhang et al., 2020)将三维无序点转换为一维有序序列。LKPO-GNN模块使用全向局部k- nn模式图表示和学习点云的丰富局部拓扑结构,然后使用球查询模块(ball query)提取点的丰富特征信息。LKPO-GNN模块和球体查询模块交替使用,简化了三维点云场景中的中心点,丰富了中心点聚合的特征信息,具有良好的空间几何信息表达能力。
2.5 Learning features based on attention mechanism
注意力机制允许对不同大小的输入进行处理,专注于输入中最相关的部分,从而做出决定。一些研究A-SCN
(Liu, 2018), PAN
(Li et al., 1805), GACNet
(Wang et al., 2019)通过邻居点之间的关系分配适当的注意权系数。LSANet
(Chen et al., 1905)利用分层局部空间特征提取器(SFE)
提取输入点云,获取高维空间信息
,并根据局部邻域的空间关系分层生成空间分布权值(SDW)
。具有更强大的空间信息提取功能。PryramNet
(Zhiheng & Ning, 1906)、LAENet
(Feng et al., 1909)将图的注意机制嵌入到多层感知器(MLP) 中学习局部几何表示。GAPNet
(Chen et al., 2021)通过将图注意机制嵌入到堆叠MLP中来学习局部几何特征。提出了GAPNet算法,通过对邻域内的点分配不同的注意权值来学习点特征,然后引入一种multi-headed attention (MHA)机制来聚合不同的GAPLayer Output特征,从而获得多注意特征和多图像特征。它不仅关注信道关系,而且在一定程度上保证了空间编码的质量,使点云学习更加充分。GATs
(Veličković & Cucurull, 1710)在图形结构的数据上运行,利用了隐藏的自我注意层。通过层层叠加使节点关注其邻域的特征,从而(隐式地)为邻域内的不同节点分配不同的权值,该方法的关键是需要一个合理的中心节点(如图2b所示)。因为点云数据是相对复杂的,仅仅依靠中央节点会导致信息利用不足,和错误造成的中央节点将直接影响最终的功能,所以我们需要考虑点和其邻居节点之间的关系在同一时间(见图©)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vaGLlQ4F-1653178426442)(https://cdn.mathpix.com/snip/images/Pm9_SoGYbqq9EpWLPL_aO33hiVH_3a-0RyMJeypZTgA.original.fullsize.png)]
图2 a \boldsymbol{a} a、 b \boldsymbol{b} b、 c \boldsymbol{c} c是三个相同的局部区域。 a \boldsymbol{a} a表示每个点的权重是固定的,与空间关系无关。 b \boldsymbol{b} b表示每个点的权重与本区域的中心点相关。 c \boldsymbol{c} c表示每个点的权值与本区域内的所有邻居点相关。其中, x i x_{i} xi表示局部区域的中心点, y i j y_{i j} yij表示相邻节点之间的空间关系。
3. Our Method
首先,我们引入点云局部深度特征的描述。然后详细描述了基于空间点云的深度注意局部特征。最后,我们详细阐述了全局特性与其他操作的集成,并介绍了我们的SDANet。
3.1 Spatial depth attention feature
假设点云 P P P是由 N N N个点 { p 1 , p 2 , ⋯ p N } \left\{p_{1}, p_{2}, \cdots p_{N}\right\} {
p1,p2,⋯pN}组成,任意点PI的邻域定义为一个球,PI为圆心,r为半径,记为 p n j = { p i j ∣ j = 1 , 2 , ⋯ , k } p_{n}^{j}=\left\{p_{i}^{j} \mid j=1,2, \cdots, k\right\} pnj={
pij∣j=1,2,⋯,k},其中 k k k是局部区域内的点数。假设点云的采样表面各处都是光滑的,并且可以访问整个三维表面。然后将点云的局部邻域拟合为一个曲面,从而得到点 p i p_i pi所在的曲面上的法向量 n i n_i ni。同理,可以得到 n i j n_{i}^{j} nij,然后取 n i n_i ni为局部坐标轴。沿局部坐标轴正方向,定义二维平面 E E E为投影平面,如图1所示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7R0NaDJR-1653178426445)(https://cdn.mathpix.com/snip/images/y6Nr4dw8CTvh4yu1pwKuulGNCi84GQbRP8C3SaCEnSA.original.fullsize.png)]
图1三维点云局部深度示意图
点集 p n ′ i = { p i ′ j ∣ j = 1 , 2 , ⋯ , k } p_{n}^{\prime i}=\left\{p_{i}^{\prime j} \mid j=1,2, \cdots, k\right\} pn′i={ pi′j∣j=1,2,⋯,k}是通过将 p i p_i pi附近所有的邻域点投影到 E E E上得到的。则 p i j p_{i}^{j} pij与 p i j p_{i}^{j} pij之间的距离为局部深度,取值范围为[0,2r]。
局部深度的具体表达式为
d j = r − n i ⋅ ( p i j − p i ) ( 1 ) d_{j}=r-n_{i} \cdot\left(p_{i}^{j}-p_{i}\right)\space\space\space\space\space\space (1) dj=r−ni⋅(pij−pi) (1)
设 S = { X i ∈ R K ∣ i = 1 , 2