PointNet:针对三维分类和分割的点集深度学习

查尔斯·R·齐*   郝苏*   莫开春   列奥尼达斯·吉巴斯   
斯坦福大学

2017年计算机视觉和模式识别(CVPR)会议

[arXiv版本] [GitHub上的代码] [演示视频] [幻灯片]

图1。PointNet的应用。我们提出了一种新的深层网络结构,它使用原始点云(点集),无需进行体素化或渲染。这是一种学习全局和局部点特征的统一结构,为许多3D识别任务提供了一种简单、高效和有效的方法。

摘要

点云是一种重要的几何数据结构。由于其不规则的格式,大多数研究人员将此类数据转换为规则的三维体素网格或图像集合。然而,这会导致数据量过大,并引发问题。本文设计了一种新型的直接消耗点云的神经网络,它很好地尊重了输入点的置换不变性。我们的网络名为PointNet,为从对象分类、部分分割到场景语义解析的应用程序提供了统一的架构。虽然简单,但PointNet非常高效。从经验上看,它表现出了与现有水平相当甚至更好的性能。从理论上讲,我们提供了分析,以了解网络学到了什么,以及为什么网络在输入扰动和损坏方面是健壮的。


PointNet体系结构

为了处理无序输入集,我们方法的关键是使用单个对称函数,最大池数。网络有效地学习了一组优化功能/标准,这些功能/标准可选择点云中有趣或信息丰富的点,并对其选择原因进行编码。网络的最终完全连接层将这些学习到的最佳值聚合到上述整个形状的全局描述符中(形状分类),或用于预测每个点的标签(形状分割)。我们的输入格式很容易应用刚性或仿射变换,因为每个点都是独立变换的。因此,我们可以添加一个数据相关的空间变换器网络,该网络尝试在PointNet处理数据之前将数据规范化,以便进一步改进结果。


图2。PointNet体系结构。分类网络n个点作为输入,应用输入和特征转换,然后通过最大池聚合点特征。输出为的分类分数类。分割网络是分类网络的扩展。它将全局和局部特征连接起来,并输出每个分数。百万磅代表多层感知器,括号中的数字是其层大小。Batchnorm用于具有ReLU的所有层。删除层用于分类网中的最后一个mlp。


对象零件分割结果

图3。零件分割结果。我们可视化了所有16个对象类别的CAD零件分割结果。我们显示了部分模拟Kinect扫描(左块)和完整ShapeNet CAD模型(右块)的结果。


语义分割结果

图4。语义分割结果。顶行是带颜色的输入点云。底行是输出语义分割结果(在点上),显示在与输入相同的相机视点中。


可视化PointNet所学内容

图5。点功能可视化。我们的网络学习点函数的集合,从输入点云中选择代表性/关键点。在这里,我们从模型中的1024个函数中随机选择15个点函数,并可视化它们的激活区域。


图6。可视化关键点并上下成型。第一行显示了输入点云。第二行显示关键点由我们的PointNet选择。第三行显示输入的上界形状——位于临界点集和上界集之间的任何输入点集都将产生相同的分类结果。