Advertisement

【点云系列】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)

还没有任何评论哟~