目录
本文的骨干网络主要是基于RandLaNet的,所以,对比着RandLaNet看。
SCF模块由三个模块组成:
1)局部极坐标表示块
2)双距离注意池化块
3)全局上下文特征块
(类比RandLaNet中的局部特征聚合模块,局部特征聚合模块由:
1局部空间编码(LocSE),
2注意力池化(attentive pooling),
3扩张残留块 )
空间上下文特征(SCF)模块图:
作者说到,虽然已经有一些方案可以用与大规模点云的语义分割,例如SPG,PCT,RandLaNet等,但是他们都还面临如何从大规模点云中学习更有效的特征用于语义分割这个难题。
1)如何表示三维点的局部上下文 —> 局部极坐标表示块
2)如何学习局部上下文特征 —> 双距离注意池化块
3)如何学习全局上下文特征 —> 全局上下文特征块
对于每个三维点:
首先探索局部极坐标表示块,在极坐标系统中构造一个z轴旋转不变表示,以表示局部上下文。
然后,利用双距离注意力池块学习到的权值,整合其邻域表示学习有效的局部特征。
最后,全局上下文特征块利用邻域的位置和体积比来学习每个3D点的全局上下文。
局部极坐标表示块(LPR)
在极坐标系统中构造一个z轴旋转不变表示,以表示局部上下文。
该模块:将局部空间信息输入LPR块,输出极坐标表示和几何距离。
这种对方向敏感的情况会在一定程度上影响分割性能。
为了解决这个问题,提出了LPR学习z轴旋转不变量表示,它表示一个三维点在极坐标系而不是笛卡尔坐标系(直角坐标系)的局部上下文。
LPR模块的结构:
该模块包含的步骤如下:
1.构造初始局部表示:
首先,计算相邻点在极坐标系统中的相对坐标。对于一个中心点pi,通过KNN算法找到pi的K个欧氏距离邻居{p1i…….pKi},将每个邻居局部表示为:(dis ki , φki , θki),计算如下:
其中,(xki,yki,zki)为笛卡尔坐标系中的相对坐标。
2.计算局部方向:
然后计算局部邻域pmi的质心点,局部方向定义为:pi到pmi的方向,有以下两个优点:
a)质心点(中心点,关键点)可以反映局部邻域的一般情况;
b)在计算pmi时采用均值,可以有效降低下采样引入的随机性;
(方向有什么用?
暂时还没搞懂方向的作用。
为什么要计算局部质心?
质心是为了以质心为观测点看其他邻居点时,沿横向平面和竖向的观测角度不变,即以质心,实现z轴旋转不变表示。)
3.更新前面计算出的φki和θki:
φki和θki更新为φki‘和θki’
其中αi和β i是pmi的相对角度。由式(4)和式(5)可以看出,当点云绕z轴旋转时,φki‘和θki’保持不变。
(a)原来的φki和θki
(b)局部方向的相对角度αi和βi
(c)更新后的φki‘和θki’
双距离注意力池块(DDAP)
根据几何距离和特征距离自动学习有效的局部特征。
在给定了局部旋转不变表示的情况下(LPR模块的输出),如何利用邻域点特征学习局部上下文特征是下一步需要解决的问题。作者认为距离是衡量点之间相关性的一个重要变量。距离越小,它们就越相关。因此提出双距离注意池化,通过整合相邻点特征{f1i , f2i,…,fki,…,fki},自动学习有效的局部上下文特征。
DDAP结构如下:
该模块有三个输入,分别是:几何距离、点特征、几何模式(Patterns)。
为了产生局部几何模式,LPR输出的局部相对坐标与绝对坐标拼接在一起,并通过Shared MLP进一步处理。
关注两个距离:世界空间中的几何距离d ki g和特征空间中的特征距离d ki f ,同时用g(i)和g(k)分别表示DDAP模块中的第i个和第k个点的输入特征向量,则g(i)和g(k)的特征距离d ki f定义为:
其中' |·| '为L1范数,mean(·)为均值函数,利用距离的负指数来学习权值,同时还引入’λ‘来调整d ki f这边,已处理其不稳定性:
(文章后面实验部分说了,’λ‘设为0.1最合适)
exp(-d)是关于距离的恒大于零的单调减函数,距离dikf越大,权重越小。
再对dki+应用MLP和softmax,注意力权重分数aki自动的学习为:
最后,利用学习到的加权值计算相邻点特征的加权和,得到局部上下文特征:
全局上下文特征(GCF)
该块可以从点云中学习每个三维点的全局上下文。
局部上下文特征描述了邻域点之间的上下文,但是对于语义分割来说,局部上下文特征还不够,因此需要全局上下文。
全局上下文特征块的说明(显示的是一个圆形,实际上是一个三维球面空间):
在不同的场景中,同一类别的物体(如椅子)通常有不同的风格,它们的几何结构一般相似,但并不完全相同。考虑到体积比对局部和全局边界球内点的位置不敏感,我们使用它来表示同一类别物体的轻微几何变形,在全局上下文表示中利用了位置和体积比例。
式中vi是pi中心点的邻域边界球对应的体积,vg为整个点云的边界球的体积。
pi的x-y-z坐标来代表局部邻域的位置。
因此,全局上下文特征被定义为f iG:
其中(xi,yi,zi)是pi的坐标,‘⊕’表示并联。
SCF模块架构
SCF-Net总体架构
SCF模块嵌入到一个标准的编码器-解码器架构中,从而产生了新的分割网络,SCF-net。
如图6(a)所示,网络的输入为N×d的点云,N为点的个数,d为输入的特征维数。
首先通过一个全连通层提取逐点特征,并将维数统一到8,得到(N,8)。
之后五层编码器(encoder)堆叠,对特征进行编码,其中,采用随机采样对点云进行下采样,并嵌入SCF模块学习空间上下文特征。在这个过程中,点数逐渐减少,特征维度逐渐增大。
接下来又是五个解码器(decoder)堆叠,并通过最近邻插值进行上采样,并通过跳过连接进一步与中间特征映射连接。
利用三个连续的全连接层对语义标签进行预测。
输出是(N×c)大小的分割预测,N是点数,c是类的数量。
此外,交叉熵损失用于训练。