当前位置:网站首页>【点云处理之论文狂读前沿版9】—Advanced Feature Learning on Point Clouds using Multi-resolution Features and Learni
【点云处理之论文狂读前沿版9】—Advanced Feature Learning on Point Clouds using Multi-resolution Features and Learni
2022-07-03 08:53:00 【LingbinBu】
PointStack:Advanced Feature Learning on Point Clouds using Multi-resolution Features and Learnable Pooling
摘要
- 问题: (1) 现有的点云特征学习网络通常都是不断地进行sampling, neighborhood grouping, neighborhood-wise feature learning, feature aggregation来学习点云的global context,但是这种处理过程会因为sampling而导致granular information的大量缺失;(2) 由于max-pooling feature aggregation完全抛弃了non-maximum point features,因此导致的信息损失更严重;(3)由于granular information和non-maximum point features的损失,导致现有网络提取的最终high-semantic点特征无法有效地表示点云的local context
- 方法: 提出了一种新的点云特征学习网络PointStack,使用了multi-resolution feature learning 和 learnable pooling(LP) 两种处理方法
- 技术细节:
①通过在多层间聚合不同分辨率的点特征实现 multi-resolution feature learning,最终的点特征会同时包含high-semantic和 high-resolution 信息
②Learnable pooling可以看作是广义pooling函数,通过带有learnable queries的注意力机制计算multi-resolution point features 的加权和 - 效果:
①在损失granular information和non-maximum point features的情况下提取high-semantic点特征
②最终聚合后的点特征可以同时表示点云的global和localcontext
③PointStack的network head能够更好地理解点云的globa结构和local形状细节 - 代码:https://github.com/kaist-avelab/PointStack PyTorch版本
引言
- 来自不同分辨率的点特征对特定任务的head而言是很有帮助的。
- 从所有点特征结合信息的广义pooling函数(permutation invariant)可以提高点特征的聚合能力
PointStack
Multi-resolution Feature Learning
与2D图像相比,3D形状更复杂,3D形状的一些重要纹理和曲线只有在最高的粒度级别上才能观察到。现有的方法都是牺牲细粒度构造high-semantic特征,因此multi-resolution point features就成为了既能收集足够的语义信息,又能一定程度上保留细粒度的方法。

通过现有的基于MLP方法(PointMLP)获取 m m m个不同分辨率下的点特征:
- 通过 m m m 个重复的残差块学习点的基础表示,与输入相比,每个残差块的输出分辨率更低但是具有更高的语义信息,选择残差块而不选择transformer块的原因是在内存消耗和计算复杂度上,残差块更占优势
- 在学习到合适的表示后,对输出的特征执行pooling操作。在第 i i i层中,大小为 N i × C i N_i \times C_i Ni×Ci的特征通过 P F i p o o l e d \mathbf{PF}_i^{pooled} PFipooled后,得到大小为 N m × C m N_m \times C_m Nm×Cm的pooled特征,该特征中包含了该层分辨率下的重要特征
- 将每一层通过 P F i p o o l e d \mathbf{PF}_i^{pooled} PFipooled后的特征进行拼接,得到大小为 N i × m ⋅ C i N_i \times m \cdot C_i Ni×m⋅Ci的stacked 特征,再通过 P F p o o l e d \mathbf{PF}^{pooled} PFpooled即可获得全局特征向量
由于全局特征向量是从 m m m个分辨率中得到的,因此它包含了high-semantic 和 high-resolution features信息。
本来在每一层pooling后的特征大小可以是不固定的,但是我们通过实验发现固定pooling后的特征大小有助于提升分类性能。原因可能因为 m m m个不同分辨率下的点特征会有不同数量的entries,即较高分辨率的点特征要比较低分辨率的点特征要有更多的特征向量,不同数量特征向量之间的差异可能会影响最后一个multi-resolution L P \mathrm{LP} LP。
Learnable Pooling

结构上,LP使用了multi-head attention (MHA),MHA被看作做一个信息检索的过程,一组queries被用于从values中检索信息,values是基于queries 和 keys相关性得到的。将keys和values设置为相同的点特征张量,而queries 是可学习参数。通过网络来学习合适的queries,那么检索到的点特征(values)与learning objectives就会高度相关。由于queries直接被learning objectives监督,values是通过所有点特征的加权和得到的,所以LP能够在最小信息损失的情况下聚合点特征。
性质1. 所提出的LP是一个对称函数,对于点云而言是permutation-invariance的
LP的permutation invariant性质最关键的点就是使用了point-wise shared-MLP,并且keys和values的选择都是相同的row-permuted feature matrix,那么permutation matrix是正交的,scaled dot-product attention mechanism 也就是permutation-invariance的。
实验
残差块使用的是PointMLP,single-resolution pooling 和 multi-resolution pooling中可学习的queries大小分别为 64 × 1024 64 \times 1024 64×1024和 1 × 4096 1 \times 4096 1×4096,残差块的数量设置为4,每个残差块中的可学习的queries都不一样。
Shape Classification

Part Segmentation

Ablation Study

Permutation Invariant Property of the Learnable Pooling

Limitations on the Number of Training Samples
- PointStack在ModelNet40上表现不好的原因可能是因为训练的样本不足
- 将ScanObjectNN样本减少,表现一样不太好,如表4所示
边栏推荐
- Facial expression recognition based on pytorch convolution -- graduation project
- AcWing 785. Quick sort (template)
- AcWing 786. Number k
- 剑指 Offer II 029. 排序的循环链表
- Dom4j traverses and updates XML
- 拯救剧荒,程序员最爱看的高分美剧TOP10
- LeetCode 438. 找到字符串中所有字母异位词
- With low code prospect, jnpf is flexible and easy to use, and uses intelligence to define a new office mode
- LeetCode 75. 颜色分类
- Gaussian elimination acwing 883 Gauss elimination for solving linear equations
猜你喜欢
随机推荐
How to delete CSDN after sending a wrong blog? How to operate quickly
教育信息化步入2.0,看看JNPF如何帮助教师减负,提高效率?
The method of replacing the newline character '\n' of a file with a space in the shell
即时通讯IM,是时代进步的逆流?看看JNPF怎么说
求组合数 AcWing 886. 求组合数 II
Introduction to the usage of getopts in shell
剑指 Offer II 029. 排序的循环链表
数位统计DP AcWing 338. 计数问题
LeetCode 241. 为运算表达式设计优先级
状态压缩DP AcWing 91. 最短Hamilton路径
Find the combination number acwing 885 Find the combination number I
Common penetration test range
LeetCode 75. Color classification
What is an excellent fast development framework like?
Log4j2 vulnerability recurrence and analysis
LeetCode 438. 找到字符串中所有字母异位词
Sword finger offer II 029 Sorted circular linked list
Facial expression recognition based on pytorch convolution -- graduation project
LeetCode 30. 串联所有单词的子串
Deep parsing JVM memory model









