【点云系列】SoftPoolNet: Shape Descriptor for Point Cloud Completion and Classification
发布时间
阅读量:
阅读量
文章目录
-
1. 概要
-
2. 动机
-
3. 方法
-
- 3.1 整个网络框架SoftPoolNet
- 3.2 Soft-pooling框架
- 3.3 通过区域熵来学习激活
- 3.4 去除重叠区域
- 3.5 从MLP保留特征
- 3.6 训练损失
-
4. 效果
-
- 4.1 点云补全
- 4.2 点云分类
- 4.3 特征数量值验证
- 4.4 效能分析
- 4.5 可视化分析
-
5. 总结
1. 概要
会议:ECCV2020
机构:慕尼黑工业大学+Google
论文:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123480069.pdf
代码:https://github.com/wangyida/softpool
后续:SoftPool++:An Encoder–Decoder Network for Point Cloud Completion, IJCV2022
2. 动机
提出的SfotPool
- 作用:替代PointNet里的 Max-Pooling操作
- 本质:参考Top K的结果,而非Top1(max)的结果;
- 优势:可考虑多个得分最高的特征,而非像max-pooling里仅考虑1个。可实现参考更多信息的同时保持置换不变性。

3. 方法
3.1 整个网络框架SoftPoolNet
- Encoder: 采用PointNet的MLP系列。输出维度分别是 [512, 512, 8]
- 用soft pooling模块,见Sec.3.2
- Decoder: 设计如下图。包括两个阶段。第一阶段:稀疏点云256个点;第二阶段:通过插值实现高分辨率点云16384;
- 损失函数:基础的CD距离

3.2 Soft-pooling框架
整个框架通过2个步骤实现
排序:按照公式(3)进行排序,选取特征F当中的前k个作为特征表达F'_k。这里其实就是不在使用max-pooling输出最大的,而是输出前k个的特征来作为后面的衡量。
拼接:将所有特征进行拼接,形成最终的特征F*
卷积:如公式(1),就是让着k个特征都分别参与了卷积的过程;

3.3 通过区域熵来学习激活


3.4 去除重叠区域

3.5 从MLP保留特征

3.6 训练损失
L = L_{CD}+ L_{inter} + L_{intra}+ L_{boundary} + L_{preserve}$
4. 效果
4.1 点云补全

4.2 点云分类

4.3 特征数量值验证

4.4 效能分析

4.5 可视化分析


5. 总结
这个方法的思路非常简单,其实就是将max-pooling–> KNN-pooling的模式,但大部分人可能就是去尝试一下看看效果,好就用,不好可能就放弃了。这里值得学习的一点就是,当你采用了soft-pooling之后,会遇到哪些问题,针对这些问题是如何处理的。比如这篇文章里面,发现类间、类内的问题,区域重叠的问题,重复特征的去除等,然后针对设计损失函数。就让一篇文章变得丰富了起来。我们常说,一个点不容易发论文,但由这个点发散开来的问题是什么?找到了,就是一篇好文了。
所以,有时候点不在小,而是看你是否有把一个小点挖掘到淋漓尽致的本事。
全部评论 (0)
还没有任何评论哟~
