Pointnet++
Pointnet系列是直接使用三维数据处理点云的代表之作。Pointnet++为Pointnet系列的第二篇文章。Pointnet++的分析文章有很多,但我发现大多数文章也就是对其思想进行一些探究,其思想固然重要,但代码的分析也必不可少。本文将深入探究其代码,尝试恢复整个运算过程,从运算过程的角度帮助读者更好地理解PointNet++的思想。话不多说,直接上图。
- 图的解释
- 虚线大框:一个虚线框代表一个完整的子网络,对应代码中的一个class
- 红色小框:每个子网络的名称
- 蓝色小块:一个蓝色小块代表一个tensor,蓝色小框的第一行为tensor的名称,第二行为tensor的尺寸(也有特别个例为操作,例如插值和选取最近3个点的操作)
- 橘色小块:一个子网络的输出
- 箭头:一种操作,没有标的大部分为resize或者permutation操作,也有concatenate操作