PointNet是斯坦福大学发表在2017年CVPR上的一篇处理点云数据的论文。相较于之前其他处理点云数据的论文,其最大的不同是,对于点云数据,会直接进行处理,而非将点云数据进行格式化处理,从而避免了将点云数据格式化后,产生的unnecessarily voluminous以及像素点失真的问题。从这一点上来说,PointNet具有极其重要的意义。
从传统思路来讲,通过将点云数据转换成3D像素数据后,可以将3D像素数据像处理2维图像一样,进行卷积,权值共享等,而显而易见,对于无序的一些点的集合,是无法直接像和处理2D数据一样进行处理,在原文中,当直接使用点云数据不加处理时,作者提出了以下3个可能产生的问题,以及主要就这3个问题,进行的网络结构的设计以及相关的证明和实验:
1、输入无序性问题
从数据结构的角度来讲,点云数据知识一组无序的向量集合,若不考虑其他诸如颜色等因素,只考虑点的坐标,则点云数据只是一组n * 3的点集合。那么当对这n个点进行不同顺序的读入时,无论是图像分类抑或是部分分割,都必须输出相同的结果,在2D图像中,因为点的位置是固定的,所以不存在这样的问题,但是在点云数据中,点的输入组合中共有n!种,所以必须进行处理。
在论文中,处理的方式也比较简单,使用了最大池化,在对n个点进行卷积等操作后,生成n * 1024维的矩阵,1024维的1024个整体特征,对于每个维度,求其最大值,即解决了输入无序性的问题。此处可举例有max(a,b,c,d,e,f,g) = max (a,d,b,e,c