文章目录
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=