文章目录
1. 概要
1.1 原文出处
题目: FPConv:Learning Local Flattening for Point Convolution, CVPR 2020
论文:https://arxiv.org/abs/2002.10701
代码:https://github.com/lyqun/FPConv
1.2 背景知识
点云分析所使用方法:
Volumetric-style 点卷积:
通过体素化编程规则的网格结构,使用3D卷积来操作。
缺点:低表达性能 + 高计算量, 且不能够很好地补获均匀区域。
Graph-style点卷积:
增加了点之间的关联性,比volumetric-style更有效;一般可定义在谱域。
缺点:取决于特定图结构, 且可靠的关联性并不容易建立;
Surface-style点卷积:
大部分工作将形状表面投影到中间网格结构,然后在使用传统卷积进行操作。例如RGBD。
缺点:多视角的冗余表达。切线角的话取决于切线估计,不足以面对复杂场景。不能准确进行表面估计。
2. Motivation:
- 不需要转换为3D网格或图之类的中间表达形式,而是可以直接处理点云的表面几何,是Surface-style点卷积中的一种。
- 传统方法通常分成两步骤:映射+2D卷积,那么是否可以将投影和插值简化为单个权重图学习的过程,使得表达更加通用和隐含?答案当然是肯定的也就是这篇文章的亮点所在。

3. 思想
为点云分析提出了一种 平面化的卷积方法,摒弃了先映射再2D卷积的两步骤,合称为一个过程定义为FPPConv的平面卷积操作,通过学习权重矩阵来实现。简言之,就是,为每个面片(每个点及其邻居点所构成)学习非线性投影,然后展平到2D栅格内。相当于将每个点及其领域映射成了一个平面处理,类似局部点域的注意力机制。
3.1 整体框架
如下图所示,输入的坐标和特征都来源于在p点随机选取一定范围内的N个随机点,及其对应特征;

3.2 分割框架
其中的分割框架如下:

FPConv块设计如下:

融合卷积设计如下:

3. 算法
3.1 局部平面化

p
p
p是点云
P
\mathcal{P}
P中的一个点,
F
(
p
)
\mathcal{F(p)}
F(p)为定义在点上的标量函数。在这
F
(
p
)
\mathcal{F(p)}
F(p)能够编码来自网络中间层的像颜色、几何或特征等信号。
N
(
p
)
\mathcal{N(p)}
N(p)为
p
p
p点为中心的一个点云块。
N
(
p
)
=
{
q
i
=
q
i
−
p
∣
∣
∣
q
i
−
p
∣
∣
2
<
ρ
,
q
i
∈
P
}
\mathcal{N(p)=\{q_i=q_i-p | ||q_i-p||_2<\rho ,q_i \in \mathcal{P}\}}
N(p)={qi=qi−p∣∣∣qi−p∣∣2<ρ,qi∈P} ,其中
ρ
\rho
ρ是选定的半径。
公式(1):定义了一个虚拟2D平面,
π
\pi
π为
N
(
p
)
\mathcal{N(p)}
N(p)到
S
S
S的映射;
公式(2):为定义在点
p
p
p的卷积,其中
c
(
u
)
c(u)
c(u)为卷积核。
公式(3):由于
π
\pi
π在
S
S
S中的映射是离散点,因此需要使用差值方法来估计
S
(
u
)
S(u)
S(u)的所有信号。
公式(4):如果将
S
S
S信号离散化到网格大小为
M
w
×
M
h
M_w \times M_h
Mw×Mh的屏幕。对于每个网格
S
(
v
j
)
S_(v_j)
S(vj)而言,其中
j
∈
{
1
,
2
,
3
,
.
.
.
,
M
w
×
M
h
}
j \in \{1,2,3,..., M_w \times M_h\}
j∈{1,2,3,...,Mw×Mh}可以得出此公式。
公式(5):由于
w
j
i
=
w
(
v
j
,
π
(
q
i
)
)
w_{ji}=w(v_j, \pi(q_i))
wji=w(vj,π(qi)), 因此我们可以改写公式(2)成一个近似离散的形式,即为公式(5),其中
c
j
c_j
cj是离散化卷积的核权值。设
L
=
M
w
×
M
h
,
W
f
∈
R
N
×
L
,
W
f
(
i
,
j
)
=
w
(
v
j
,
π
(
q
i
)
)
,
F
(
p
)
=
(
F
(
q
1
)
,
.
.
.
F
(
q
N
)
)
T
∈
R
N
×
C
L=M_w \times M_h, W_f\in \mathbb{R}^{N \times L}, W_f(i,j)=w(v_j, \pi(q_i)), F(p)=(\mathcal{F(q_1),...\mathcal{F(q_N)})}^T\in \mathbb{R}^{N \times C}
L=Mw×Mh,Wf∈RN×L,Wf(i,j)=w(vj,π(qi)),F(p)=(F(q1),...F(qN))T∈RN×C,
3.2 特征密度归一化
由于网格化到平面后的特征密度可能不平衡,导致网络难以收敛,因此继而提出来两个归一化方法用来学习投影权值:
-
密集网格平面:
一种方式是在第一维度除以所有和,确保在每个点的密度和为1。有点类似双线性差值,但为了避免除0,我们使用softmax如公式(6)所示:

-
稀疏网格平面:
由于点自然的稀疏性,归一化投影权值获取密集网格平面不是最优的。因此,设计了稀疏网格平面。
分两步:
Step 1: 归一化第二维度来平衡由局部邻居点获取的密度。

Step 2:归一化第一维度来平衡每个点位置密度。但是选取了另一种Max方式来确保连续的稀疏性。

4. 实验结果
分类效果一般,其中使用了数据增强:z轴随机旋转和抖动;

ScanNet数据集上的效果一般,但是在S3DIS数据集上的分割效果还不错。


参数方面,使用了Switchable Normalization, SGD优化器momentum=0.98, 训练的batch_size为12,应该在调参上下了一番功夫。
5. 几点思考
- 相对于平坦的区域表现更好,可作为体素的补充;
- 平滑区域ok,但曲率大的就不适用了。
- 有点类似FoldingNet思想;都是通过2D流体来模拟点云;
FPConv是一种针对点云分析的新型卷积方法,旨在直接处理点云表面几何,避免3D网格或图的中间表示。通过学习非线性投影并将其展平到2D栅格,实现点云的平面化卷积操作,提高了表达能力和效率。实验表明,该方法在某些场景下表现出色,尤其是在平滑区域,但对高曲率区域的处理效果一般。

1944

被折叠的 条评论
为什么被折叠?



