1.一种基于卷积神经网络的三维点云模型分类方法,其特征在于,包括以下步骤:
S1、选用Princeton ModelNet,分别针对ModelNet10和ModelNet40,从官网选取所需数量的模型作为训练数据和测试数据,生成训练集和数据集;
S2、对点云模型进行特征分析以及构建分类框架;
S3、对点云进行有序化;
S4、将有序点云数据二维图像化;
S5、构建面向二维点云图像的CNN网络,包括:基于中型CNN的点云模型分类、基于小型CNN的点云模型分类和面向二维点云图像的CNN构造及分类。
2.根据权利要求1所述的一种基于卷积神经网络的三维点云模型分类方法,其特征在于:在步骤S1中,选用Princeton ModelNet,采用官网数据,针对ModelNet10和ModelNet40分别选取3991、9842个模型作为训练数据,908、2468个模型作为测试数据。
3.根据权利要求1所述的一种基于卷积神经网络的三维点云模型分类方法,其特征在于:在步骤S2中,针对点云无序性、不规则性、有限性、稀疏性特点,设计三维点云模型的通用分类框架,包括以下三个模块:点云数据的有序化模块,用于实现无序点云数据的有序化;
有序点云数据的二维图像化模块,用于实现点云数据的规则化;
面向二维点云图像的CNN模块,该模块由两部分组成:反卷积子模块,通过反卷积操作捕捉更多点云数据间的关联信息,在一定程度上弥补点云数据稀疏性的问题;中小型的卷积分类子模块,以适应点云数据的有限性特点,防止网络的过拟合。
4.根据权利要求1所述的一种基于卷积神经网络的三维点云模型分类方法,其特征在于:在步骤S3中,输入三维点云数据M={(xi,yi,zi),i=1,…,n},经过有序化后,点云的顺序被确定,输出为有序序列S=((xi,yi,zi),i=1,…,n),x,y,z分别为三维点云模型的维度坐标点;这里,点云数据有序化的基本原则是:在三维空间距离达到设定值的点,有序化后距离也相对靠近,这样就能够最大程度的保持原始点云的特征不被破坏,且符合图像领域相邻点之间的位置关系,基于这一基本原则,设计以下三种不同的有序化方法:质心排序法:据点到物体质心的距离,由近至远排序实现点云数据的有序化,这一方法的优点是有序化结果与点云输入顺序及模型平移、缩放、旋转均无关,但是另一方面也存在以下问题:相对质心对称的点原本在空间上彼此无相邻关系,有序化后它们却可能彼此相邻;
单维排序法:模型预先摆正再扫描,进而沿着某个坐标轴,按照坐标值大小排序实现点云数据的有序化,这一方法既能够保证有序化结果与点云输入顺序及模型平移、缩放、旋转无关,也避免了空间中对称位置点有序化后相邻的问题,而且通常待扫描的物体在空间中也能够满足正向摆放的前提约束,只是这样排序后的点云数据只体现了某个坐标轴的空间信息,无法体现其它维度的空间信息;
二维排序法:以单维排序法为基础,对预先摆正的模型扫描获取点云数据,得到点云数据模型,针对该点云数据模型,沿着某个坐标轴,等间隔的划分为m个切片,当m选取适当值时,能够认为同一切片内部的该坐标轴上的值相当,即这些点位于同一平面内部,此时,对每个切片,再次按照平面坐标中的某个坐标轴排序,完成点云数据的有序化,这一方法既能保证单维排序法的优点,又能更好的体现不同维度的空间信息。
5.根据权利要求1所述的一种基于卷积神经网络的三维点云模型分类方法,其特征在于:在步骤S4中,输入无序点云数据的有序化序列S=((xi,yi,zi),i=1,…,n),本步骤旨在将有序化序列合理的放置在二维图像A=(ajk)p×q中,其中p×q=n,A为二维矩阵,对应生成的图像;j和k分别为像素的行和列;ajk为二维矩阵中第j行第k列的像素值;p、q分别为矩阵的行数和列数;n表示点云模型中所包含点个数,以满足图像内部相邻像素间对应的点云数据在空间位置上彼此相近,针对这一要求,设计以下三种不同的二维图像化方法:行扫描法:模仿荧光屏电子束的运动,将有序点云数据从前到后依次取出,从左到右、从上到下逐行填充到二维图像中,这种方式能够保证横向相邻像素在原始点云数据中彼此相近,却无法确保纵向相邻像素在原始点云数据中彼此相近,即不具有各向同性;
棋盘法:考虑到CNN使用局部感受野的思想提取图像特征,倘若能将点云的局部与图像的局部对应起来,则能够更好的提取点云数据的局部特征,因而,提出了棋盘法的图像化方法:将有序点云数据从前到后依次取出,从左到右、从上到下依次填充各个格子,格子内部仍然按照从左到右、从上到下的方式填充每个像素,当格子取值为8×8时,每个格子就对应一个包含64个点的点云局部区域,这种方法同样不具备各向同性;
螺旋法:将有序点云数据从前到后依次取出,从图像中心像素开始,按螺旋轨迹依次进行填充,这种方式能够很好的保持各向同性,且在靠近中心点的位置能够很好的保持原始空间点的距离关系,但是也存在自身的缺陷:越靠近边缘,像素点就会越分散,一些在空间相距近的点填充后距离可能变大。
6.根据权利要求1所述的一种基于卷积神经网络的三维点云模型分类方法,其特征在于:在步骤S5中,构造适用于二维点云图像的卷积神经网络,由于点云数据具有有限性和稀疏性,层数多的大型CNN可能造成过拟合,因此,将首先选取一个中型CNN和一个小型CNN进行初步实验;
基于中型CNN的点云模型分类:点云数据具有信息有限性和稀疏性的特点,而中型网络面向的数据尺寸大,当AlxeNet的输入尺寸为224×224时,一个输入规模为1024的点云模型所对应的二维图像尺寸仅为32×32,因而,在将点云图像输入之前,首先对图像数据进行反卷积操作,满足中型CNN输入尺寸需求,避免过拟合,同时实现点云图像的高分辨率重建,获取更多的空间关联信息;
基于小型CNN的点云模型分类:LeNet是一个包含两层卷积、两层池化和三层全连接的小型CNN网络,主要用于手写体识别,该网络的输入是32×32大小的图像,恰好同包含1024个点的二维点云图像尺寸匹配,因此,直接沿用基于中型CNN的点云模型分类的实验设计,去掉反卷积子模块,将32×32的二维点云图像输入LeNet完成特征提取及模型分类;
面向二维点云图像的CNN构造及分类:分析点云模型自身特点,结合以上两种实验结果,设计一个面向二维点云图像分类的卷积神经网络PCI2CNN,该网络的设计思路如下:包含一组共2个反卷积,该组反卷积通道数为64,核大小为2×2,步长分别为2×2和1×
1,以通过反卷积操作实现二维点云图像的高分辨率重建,获取更多点云间的相关信息;
包含3个卷积层,且通道数分别为64,128,256;相比于AlxeNet包含更少的网络层次和参数,以避免网络的复杂度,提高网络训练的稳定性;相比于LeNet包含更多的参数,以提高网络拟合训练数据的能力;
在第一和第三个卷积层后加入池化操作,且池化层通道数与上一层通道数一致,核大小为3×3,步长为2×2,以通过重叠采样获取更加丰富的信息。