PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
概述:
由于点云数据的不规范性,之前的算法都是将点云数据转化为图片数据或者体素网格数据。本文创造性地将点云数据直接应用到了3D目标分类和识别检测任务中,针对点云数据三个特性:无序性,点之间有关性(Interaction among points)以及平移不变性,提出了新颖的Pointnet方法。

基本思路
点云数据具有以下三个特征:
1、无序性。
点云数据是描绘物体的一个一个点的集合(set),具有无序性。因此具有N个点的点云的表示方法有
A
N
N
A^N_N
ANN种。对于同一个点云,输入其不同表示方法,需要网络能够输出相同的点云表示。作者创造性的提出了用一个对称的函数(Max)来解决这个问题。模型中点云数据通过共享权重的MLP(共享权重是通过卷积神经网络实现的,十分巧妙,可以看一下代码)形成了N×K维的数据(K为点的特征维度),而后对列取Max操作形成了1×K维的点云特征(框架图中的global feature),由此解决了点云数据的无序性。
2、点之间有关性(Interaction among points)
点云数据是处于欧拉空间的一组点,每个点与其余点有相应的位置关系(距离,相对位置)。实际上就是这些位置关系是最重要的。因而在对点云中每个点的特征进行表示学习时,需要考虑全局点的特征。在Segmentation Network中将每个点特征与global feature进行拼接,由此形成最终的点的特征。
3、平移不变性
当一个物体进行平移,旋转等操作之后,物体还是没变,但是点云数据的坐标全都发生了变化。作者希望能够解决这个问题,就是说希望当网络输入同一个物体的不同的点云数据时,网络的输出是一致的。作者使用了T-net来做这个事情。具体的原理借鉴了Spatial Transformer Networks。
总结
提出了基于点云数据的3D数据处理方式,且经过实验验证效果达到了最好。