一种三维数据处理方法及系统
文献发布时间:2023-06-19 12:13:22
【技术领域】
本发明涉及图像检索技术领域,特别涉及一种三维数据处理方法及系统。
【背景技术】
随着人工智能的快速发展,当前对一维数据以及二维数据已经有了大量的研究,但是对于三维数据的处理,仍然处于研究的初期阶段。
当前,为了使视图更具视觉冲击力,通常会采用立体图像,而在对这些立体图像进行检索时,通常需要对立体图像中的三维数据进行分析处理。常见的处理方式是采用点云分割的方式对体素化的三维数据进行卷积完成分割,然后进行下一步的处理。但是,这种处理方式数据量较大,时间和空间复杂度高,这就导致了其分割的时间较长且准确率较低,无法实现快速准确的对三维数据进行处理。
【发明内容】
为解决现有点云分割无法实现快速准确的对三维数据进行处理的问题,本发明实施例提供了一种三维数据处理方法及系统。
为了解决上述技术问题,本发明实施例提供一种三维数据处理方法,其用于图像识别以及检索中,所述方法包括以下步骤:获取图像的三维点云数据;对所述三维点云数据进行局部区域集构造;通过Pointnet++网络提取所述局部区域集中三维点云数据的特征;根据提取的特征建立分类网络和/或分割网络,并根据分类网络和/或分割网络对图像的三维数据进行分析。
优选地,通过八叉树来对所述三维点云数据进行局部区域集构造。
优选地,通过所述八叉树构造三维点云数据的局部区域集具体步骤为:设定最大递归深度;确定三维数据中场景的最大尺寸,并以此尺寸建立第一立方体;依序将第一立方体中的单位元元素分别置于没有子节点的第二立方体内;对第二立方体进行持续的细分,直至达到设定的最大递归深度。
优选地,对第二立方体进行持续的细分的具体步骤为:将第二立方体细分为八个第三立方体,并将第二立方体中的单位元元素分配给八个第三立方体。
优选地,获取图像的三维点云数据之后还包括:对三维点云数据进行预处理;其中,预处理包括分块、采样、平移和归一化处理。
优选地,提取所述局部区域集中三维点云数据后,将所述局部区域集中三维点云数据的特征通过全连接层得到N个分数来建立分类网络;其中,N个分数对应N个类别,N为大于零的自然数。
优选地,在得到N个分数之前,对全连接层的输出进行Dropout处理。
优选地,所述Dropout的比率为0.3至0.8。
本发明为解决上述技术问题,提供又一技术方案如下:一种三维数据处理系统,其用于图像识别以及检索中,所述三维数据处理系统包括数据处理模块及数据分析模块,所述数据处理模块与所述数据分析模块通信连接;所述数据处理模块获取图像的三维点云数据,并对三维点云数据进行局部区域集的构造,通过Pointnet++网络提取局部区域集中三维点云数据的特征,以建立分类网络和/或分割网络;所述数据分析模块通过分类网络和/或分割网络对图像的三维数据进行分析。
优选地,所述数据处理模块通过八叉树来构造三维点云数据的局部区域集,具体为:设定最大递归深度;确定三维数据中场景的最大尺寸,并以此尺寸建立第一立方体;依序将第一立方体中的单位元元素分别置于没有子节点的第二立方体内;对第二立方体进行持续的细分,直至达到设定的最大递归深度。
与现有技术相比,本发明实施例提供的一种三维数据处理方法及系统具有以下优点:
1、由于Pointnet++网络在不同位置采集的三维点云数据的密度不一样,能够自适应地结合多尺度特征,因此本设计采用Pointnet++网络提取三维点云数据的特征能够解决三维点云数据采样不均匀的问题。同时,Pointnet++网络在提取时也考虑了三维空间中点与点之间的距离度量,利用度量空间的距离,能够利用上下文尺度的增长学习局部特征,使得网络结构更有效、更具鲁棒性。且在通过Pointnet++网络提取特征之前,通过构造三维点云数据的局部区域集,能够大幅缩减 Pointnet++网络的领域查询时间,具有较高的实用性及推广价值。
2、本设计通过八叉树来对三维点云数据进行局部区域集构造,八叉树的算法实现简单,可以快速进行三维目标的集合运算,如交、并、补、差等,亦可快速进行最邻近区域或点的搜索。因此通过八叉树来构造局部区域集,完成在 Pointnet++网络中分组层上局部区域的特征提取,能够提高Pointnet++网络的分类准确率,并大大缩减了Pointnet++网络提取三维点云数据特征的时长,进而实现对三维数据高效准确的处理。
3、通过对三维点云数据进行预处理能够有效剔除三维点云数据中的噪声和外点,在保持几何特征的基础上实现三维点云数据的简化,进一步提高了对三维数据进行处理时的效率及准确率。
4、本设计通过对全连接层的输出进行 Dropout处理,能够避免在Pointnet++网络的训练过程中存在过拟合的现象进而导致网络运行时间过长。通过Dropout防止过拟合,能够减少网络训练时的收敛时间,进一步提高了对三维数据进行处理时的效率。
5、本设计Dropout的比率设置为0.3至0.8,通过将Dropout的比率限制在此区间,使得Dropout 能够随机生成较多的网络结构,能够较好的减少过拟合现象的发生。
6、本设计三维数据处理系统中的数据处理模块通过构造三维点云数据的局部区域集,并通过 Pointnet++网络提取局部区域集中三维点云数据的特征,以建立分类网络和/或分割网络。由于Pointnet++网络在不同位置采集的三维点云数据的密度不一样,能够自适应地结合多尺度特征,因此采用Pointnet++网络提取三维点云数据的特征能够解决三维点云数据采样不均匀的问题。同时,Pointnet++网络在提取时也考虑了三维空间中点与点之间的距离度量,利用度量空间的距离,能够利用上下文尺度的增长学习局部特征,使得网络结构更有效、更具鲁棒性。且在通过 Pointnet++网络提取特征之前,通过构建的局部区域集能够大幅缩减Pointnet++网络的邻域查询时间,具有较高的实用性及推广价值。
7、本设计通过八叉树来对三维点云数据进行局部区域集构造,八叉树的算法实现简单,可以快速进行三维目标的集合运算,如交、并、补、差等,亦可快速进行最邻近区域或点的搜索,因此通过构建八叉树来构造局部区域集,完成在 Pointnet++网络中分组层上局部区域的特征提取,能够提高Pointnet++网络的分类准确率,并大大缩减了Pointnet++网络提取三维点云数据特征的时长,能够高效准确的对三维数据进行处理,具有较高的实用性及推广价值。
【附图说明】
图1是本发明第一实施例提供的三维数据处理方法的步骤流程示意图一。
图2是本发明第一实施例提供的三维数据处理方法的步骤流程示意图二。
图3是本发明第一实施例提供的三维数据处理方法之构建局部区域集的步骤流程示意图。
图4是本发明第一实施例提供的三维数据处理方法之建立分类网络的步骤流程示意图。
图5是本发明第二实施例提供的三维数据处理系统的功能模块示意图。
附图标识说明:
1、三维数据处理系统;
11、数据处理模块;12、数据分析模块。
【具体实施方式】
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明第一实施例提供一种三维数据处理方法,其用于图像识别以及检索中,其包括以下步骤:
获取图像的三维点云数据;
对三维点云数据进行局部区域集构造;
通过Pointnet++网络提取局部区域集中三维点云数据的特征;
根据提取的特征建立分类网络和/或分割网络,并根据分类网络和/或分割网络对图像的三维数据进行分析。
可以理解的,立体图像的三维数据具有多种表述形式,例如点云、体素、Mesh等。当通过点云来表述图像的三维数据时,三维点云数据即为图像的三维数据在三维坐标系统中的数据的集合。对图像的三维数据进行分析时,首先通过存储有图像的三维数据的装置获取三维点云数据,并将三维点云数据输入到Pointnet++网络中以进行下一步的分析。其中,Pointnet++网络能够对输入的三维点云数据中的每一个点进行学习,得到其对应的空间编码,之后再利用所有点的特征得到一个全局的点云特征。
可以理解的,在不同位置采集的三维点云数据的密度是不一样,由于Pointnet++网络能够自适应地结合多尺度特征,因此本发明实施例采用 Pointnet++网络提取三维点云数据的特征能够解决三维点云数据采样不均匀的问题。同时, Pointnet++网络在提取时也考虑了三维空间中点与点之间的距离度量,利用度量空间的距离,能够利用上下文尺度的增长学习局部特征,使得网络结构更有效、更具鲁棒性。
进一步的,由于在Pointnet++网络中面对大量无拓扑关系的点云数据,分组层的点云邻域查找是一个十分耗时的环节,因此在通过Pointnet++ 网络提取三维点云数据的特征时,可以先对三维点云数据进行划分,以形成一个有效的数据存储结构。
作为一种实施方式,在本发明实施例中通过八叉树构造三维点云数据的局部区域集,然后通过Pointnet++网络提取局部区域集中三维点云数据的特征。可以理解的,八叉树作为描述三维空间的树状数据结构,其每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起就等于父节点的体积。因此,通过八叉树能够将三维空间分割成若干个正方体,而三维点云数据分别置于不同的正方体内。此时,若干个正方体的集合即为三维点云数据的局部区域集。Pointnet++网络通过局部区域集可以很快地寻找到目标点在三维点云数据中的位置,并通过Pointnet++网络能够快速的提取局部区域集中三维点云数据的特征。此外,通过八叉树构建的局部区域集能够大幅缩减 Pointnet++的领域查询时间,而八叉树的算法实现简单,可以快速进行三维目标的集合运算,如交、并、补、差等,亦可快速进行最邻近区域或点的搜索,因此通过构建八叉树来构造局部区域集,完成在Pointnet++分组层上局部区域的特征提取,能够提高Pointnet++网络的分类准确率,并大大缩减了Pointnet++提取三维点云数据特征的时长,能够高效准确的对三维数据进行处理,具有较高的实用性及推广价值。
在Pointnet++完成三维点云数据的特征提取后,根据提取的特征建立分类网络和/或分割网络,并根据分类网络和/或分割网络对图像的三维数据进行分析。可以理解的,分类网络能够得到训练好的分类模型并输出分类结果,而分割网络能够得到训练好的分割模型并输出分割好的点云数据。根据分类网络和/或分割网络对图像的三维数据进行分析时,可以是对当前获取的图像的三维数据进行分析,也可以对其他输入的图像的三维数据进行分析,本发明不做限制。
请参阅图2,作为一种实施方式,在将三维点云数据输入到Pointnet++网络之前还包括:
对三维点云数据进行预处理;
其中,预处理包括分块、采样、平移和归一化处理等。
可以理解的,为了提高Pointnet++提取三维点云数据特征时的准确度,在将三维点云数据输入到Pointnet++网络之前可以对三维点云数据进行预处理。通过对三维点云数据进行预处理能够有效剔除三维点云数据中的噪声和外点,在保持几何特征的基础上实现三维点云数据的简化,进一步提高了对三维数据进行处理时的效率及准确率。可以理解的,在其他的实施例中也可以直接将三维点云数据输入到Pointnet++网络中,而不对三维点云数据进行预处理操作。
可以理解的,对三维点云的XYZ进行平移的具体公式如下:
X=X-X
对点云的XYZ进行归一化处理的具体公式如下:
请参阅图3,作为一种实施方式,通过八叉树构造三维点云数据的局部区域集的具体步骤为:
设定最大递归深度;
确定三维数据中场景的最大尺寸,并以此尺寸建立第一立方体;
依序将第一立方体中的单位元元素分别置于没有子节点的第二立方体内;
对第二立方体进行持续的细分,直至达到设定的最大递归深度。
可以理解的,通过八叉树构造三维点云数据的局部区域集时,首先需要确定最大递归深度,即首先需要确定将空间分割到何种程度时停止分割。然后确定三维数据中场景的最大尺寸,并以此尺寸建立第一立方体,完成建立的第一立方体即为包含所有单位元元素的立方体空间。其中,单位元元素即为三维点云数据。然后依序将第一立方体中的单位元元素分别置于没有子节点的第二立方体内。其中,第二立方体为在第一立方体上分割的子立方体。此时若未达到最大递归深度,则对第二立方体进行持续的细分,直至达到设定的最大递归深度。
其中,作为一种实施方式,对第二立方体进行持续的细分的具体步骤为:
将第二立方体细分为八个第三立方体,并将第二立方体中的单位元元素分配给八个第三立方体。若此时还未达到最大递归深度,则继续对第三立方体进行细分。
可以理解的,一个立方体可以分割为八个大小相等的子立方体,在本发明实施例中八个第三立方体即为一个第二立方体分割后的子立方体。通过将第二立方体分割为八个第三立方体,能够进一步将第二立方体中的单位元元素分配至不同的第三立方体,实现对单位元元素的进一步细分。
进一步的,若任一第三立方体中的单元元素的数量不为零且与第二立方体中的单元元素的数量相等,则停止对第三立方体的细分。可以理解的,根据空间分割理论,细分的空间所分配得到的单位元元素必定较少,若细分的空间中分配到的单位元元素与未细分前的空间中的单位元元素数目一致,则无论如何细分,细分后的空间中的单位元元素数目保持不变,此时若继续细分空间则会造成空间无穷细分的情形。本发明实施例在任一第三立方体中的单元元素数量不为零且与第二立方体中单元元素的数量相等时,停止对第三立方体的细分,能够确保构建的八叉树不会发生无穷细分的情形,进一步提高了构建八叉树时的工作效率。
请参阅图4,作为一种实施方式,在建立分类网络时,通过Pointnet++网络提取局部区域集中三维点云数据的特征,并通过全连接层得到N个分数。其中,N个分数对应N个类别,N为大于零的自然数。
可以理解的,全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用,其能将学到的“分布式特征表示”映射到样本标记空间中。通过Pointnet++网络提取局部区域集中三维点云数据后,对提取的数据进行训练并通过全连接层进行分类,能够得到N个分数,进而实现分类网络的建立。
进一步的,作为一种实施方式,为了避免 Pointnet++网络在训练过程中存在过拟合进而导致网络运行时间较长,本发明实施例在得到N个分数之前,对全连接层的输出进行Dropout处理。
可以理解的,在Pointnet++训练过程中容易产生过拟合的现象。而Dropout在深度学习网络的训练过程中,对于神经网络单元会按照一定的概率将其暂时从网络中丢弃,通过忽略一些神经网络单元,可以明显地减少过拟合现象。本发明实施例通过对全连接层的输出进行Dropout处理,能够避免在Pointnet++网络的训练过程中存在过拟合的现象进而导致网络运行时间过长。同时,通过 Dropout防止过拟合,能够减少网络训练时的收敛时间,进一步提高了对三维数据进行处理时的效率。
本发明实施例对全连接层的输出进行 Dropout处理时Dropout的比率不做具体限定,作为一种优选,Dropout的比率为0.3至0.8。具体的,本发明实施例Dropout的比率为0.3、0.4、0.5、0.6、 0.7或0.8。本发明实施例通过将Dropout的比率限制在此区间,使得Dropout能够随机生成较多的网络结构,能够较好的减少过拟合现象的发生。
作为另一种实施方式,在建立分割网络时,通过线性差值与MLP堆叠,进行特征传递。在对相应级别的点的特征进行拼接时,采用以下公式:
其中,x
进一步的,通过对点云数据进行训练能够得到训练好的模型,通过训练好的模型可以分析其他的点云数据。具体的,在训练时通过Pytorch训练整个神经网络,使用大小为32的batch训练网络,保留训练参数作为预训练模型对网络进行参数初始化。并且采用带动量参数为0.9的ADAM算法优化整个系统网络的损失函数,使得损失降到网络的最小值。训练时采取变化的学习率进行学习,初始化学习率为0.001,每训练20个周期学习率下降到原来的0.5倍,直到学习率小于0.0001时停止下降。训练时采用早停止的策略,共训练200 个周期。
具体的,在训练网络时使用NLLLoss来进行收敛,并在网络的最后一层使用log_softmax,其中log_softmax的公式如下:
完成训练后,通过聚类合并模块,对分割实例组合进行删减、去噪、去重,以分割完整的实例物体。
可以理解的,通过上述方式可以对图像的三维数据进行分析处理。本发明实施例以室内场景进行举例说明,但不仅限于处理室内场景的三维数据。具体的,在对室内场景的三维数据进行处理时,设定室内场景的三维数据为包含6个场景区域、271个房间的3D扫描图像,三维点云数据即为在室内场景的三维坐标系统中的数据的集合,设定室内场景三维数据中每一个点云数据都为13类语义标签(桌子、椅子、墙壁、地板以及杂物等)中的一类。在对室内场景的三维数据进行处理时,在每个block中随机抽取4096个点作为点云数据,然后对这些点云数据进行预处理操作,其中预处理操作包括平移和归一化。将这些点云数据输入到Pointnet++神经网络中,通过FPS (Frames Per Second)来选择点云数据中每一个区域的中心点,并以该中心点通过八叉树构建局部区域集,然后在分组层中引入八叉树进行领域查询,并构建点云索引结构,快速创建子点云,然后通过Pointnet++进行特征提取。在创建分类网络时,对全连接层的输出进行0.5的Dropout处理,并通过全连接层能够得到13个分数。其中,13个分数对应13个类别。进一步的,通过对点云数据进行训练能够得到训练好的模型,在训练时通过 Pytorch训练整个神经网络,使用大小为32的batch 训练网络,保留训练参数作为预训练模型对网络进行参数初始化。并且采用带动量参数为0.9的 ADAM算法优化整个系统网络的损失函数,使得损失降到网络的最小值。训练时采取变化的学习率进行学习,初始化学习率为0.001,每训练20个周期学习率下降到原来的0.5倍,直到学习率小于 0.0001时停止下降。训练时采用早停止的策略,训练200个周期。通过训练好的模型可以分析其他的室内场景的三维数据,并预测出分析结果。
综上所述,本发明第一实施例提供的一种三维数据处理方法,其在对三维数据进行处理时首先获取三维点云数据,并对三维点云数据进行预处理。然后将三维点云数据输入到Pointnet++网络中,通过八叉树构造三维点云数据的局部区域集,并通过Pointnet++网络提取局部区域集中三维点云数据的特征。根据提取的特征建立分类网络和/ 或分割网络,并根据分类网络和/或分割网络对三维数据进行分析。本发明实施例在Pointnet++提取三维点云数据的特征之前,通过八叉树构造三维点云数据的局部区域集,八叉树可快速进行三维目标的集合运算及最邻近区域或点的搜索,因此通过八叉树来构造局部区域集,完成在Pointnet++ 分组层上局部区域的特征提取,能够提高 Pointnet++网络的分类准确率,并大大缩减了 Pointnet++提取三维点云数据特征的时长,能够高效准确的对三维数据进行处理,具有较高的实用性及推广价值。
请参阅图5,本发明第二实施例提供一种三维数据处理系统1,通过第一实施例中的三维数据处理方法实现对三维数据的处理。三维数据处理系统1包括数据处理模块11及数据分析模块12,数据处理模块11与数据分析模块12通信连接。
具体的,数据处理模块11通过与存储有三维点云数据的装置通信连接以获取三维点云数据,并将三维点云数据输入到Pointnet++网络中。然后通过八叉树构造三维点云数据的局部区域集,并通过Pointnet++网络提取局部区域集中三维点云数据的特征,以建立分类网络和/或分割网络。可以理解的,数据处理模块11中存储有Pointnet++ 网络及构建八叉树的相关软件。在完成分类网络和/或分割网络的建立后,数据分析模块12获取分类网络和/或分割网络,并通过分类网络和/或分割网络对三维数据进行分析。可以理解的,根据分类网络和/或分割网络对三维数据进行分析时,数据分析模块12可以是对当前获取的三维数据进行分析,也可以对其他输入的三维数据进行分析,本发明不做限制。
本发明实施例数据处理模块11通过八叉树构造三维点云数据的局部区域集,并通过Pointnet++ 网络提取局部区域集中三维点云数据的特征,以建立分类网络和/或分割网络。可以理解的,在不同位置采集的三维点云数据的密度不一样,由于 Pointnet++网络能够自适应地结合多尺度特征,因此采用Pointnet++网络提取三维点云数据的特征能够解决三维点云数据采样不均匀的问题。同时, Pointnet++网络在提取时也考虑了三维空间中点与点之间的距离度量,利用度量空间的距离,能够利用上下文尺度的增长学习局部特征,使得网络结构更有效、更具鲁棒性。且在通过Pointnet++ 网络提取特征之前,通过八叉树构造三维点云数据的局部区域集,通过八叉树构建的局部区域集能够大幅缩减Pointnet++网络的邻域查询时间。而八叉树的算法实现简单,可以快速进行三维目标的集合运算,如交、并、补、差等,亦可快速进行最邻近区域或点的搜索,因此通过构建八叉树来构造局部区域集,完成在Pointnet++分组层上局部区域的特征提取,能够提高Pointnet++网络的分类准确率,并大大缩减了Pointnet++提取三维点云数据特征的时长,能够高效准确的对三维数据进行处理,具有较高的实用性及推广价值。
进一步的,数据处理模块11在将三维点云数据输入到Pointnet++网络之前,还包括对三维点云数据进行预处理。其中,预处理包括分块、采样、平移和归一化处理等。可以理解的,为了提高 Pointnet++网络提取三维点云数据特征时的准确度,在将三维点云数据输入到Pointnet++网络之前,可以对三维点云数据进行预处理。通过数据处理模块11对三维点云数据进行预处理能够有效剔除三维点云数据中的噪声和外点,在保持几何特征的基础上实现三维点云数据的简化,进一步提高了系统1对三维数据进行处理时的效率及准确率。可以理解的,在其他的实施例中数据处理模块11也可以直接将三维点云数据输入到Pointnet++网络中,而不对三维点云数据进行预处理操作。
进一步的,数据处理模块11通过八叉树构造三维点云数据的局部区域集的方式具体为:
设定最大递归深度;
确定三维数据中场景的最大尺寸,并以此尺寸建立第一立方体;
依序将第一立方体中的单位元元素分别置于没有子节点的第二立方体内;
对第二立方体进行持续的细分,直至达到设定的最大递归深度。
综上所述,本发明第二实施例提供的一种三维数据处理系统1在对三维数据进行分析时,首先通过数据处理模块11与存储有三维点云数据的装置通信连接以获取三维点云数据,并将三维点云数据输入到Pointnet++网络中。然后通过八叉树构造三维点云数据的局部区域集,并通过Pointnet++ 网络提取局部区域集中三维点云数据的特征,以建立分类网络和/或分割网络。在完成分类网络和 /或分割网络的建立后,数据分析模块12获取分类网络和/或分割网络,并通过分类网络和/或分割网络对三维数据进行分析。本发明实施例在Pointnet++提取三维点云数据的特征之前,通过八叉树构造三维点云数据的局部区域集,八叉树可快速进行三维目标的集合运算及最邻近区域或点的搜索,因此通过八叉树来构造局部区域集,完成在Pointnet++分组层上局部区域的特征提取,能够提高Pointnet++网络的分类准确率,并大大缩减了Pointnet++提取三维点云数据特征的时长,能够高效准确的对三维数据进行处理,具有较高的实用性及推广价值。
在本发明所提供的实施例中,应理解,“与A 对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A 确定B,还可以根据A和/或其他信息确定B。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本发明的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方案中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,在此基于涉及的功能而确定。需要特别注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
与现有技术相比,本发明实施例提供的一种三维数据处理方法及系统具有以下优点:
1、由于Pointnet++网络在不同位置采集的三维点云数据的密度不一样,能够自适应地结合多尺度特征,因此本设计采用Pointnet++网络提取三维点云数据的特征能够解决三维点云数据采样不均匀的问题。同时,Pointnet++网络在提取时也考虑了三维空间中点与点之间的距离度量,利用度量空间的距离,能够利用上下文尺度的增长学习局部特征,使得网络结构更有效、更具鲁棒性。且在通过Pointnet++网络提取特征之前,通过构造三维点云数据的局部区域集,能够大幅缩减 Pointnet++网络的领域查询时间,具有较高的实用性及推广价值。
2、本设计通过八叉树来对三维点云数据进行局部区域集构造,八叉树的算法实现简单,可以快速进行三维目标的集合运算,如交、并、补、差等,亦可快速进行最邻近区域或点的搜索。因此通过八叉树来构造局部区域集,完成在 Pointnet++网络中分组层上局部区域的特征提取,能够提高Pointnet++网络的分类准确率,并大大缩减了Pointnet++网络提取三维点云数据特征的时长,进而实现对三维数据高效准确的处理。
3、通过对三维点云数据进行预处理能够有效剔除三维点云数据中的噪声和外点,在保持几何特征的基础上实现三维点云数据的简化,进一步提高了对三维数据进行处理时的效率及准确率。
4、本设计通过对全连接层的输出进行 Dropout处理,能够避免在Pointnet++网络的训练过程中存在过拟合的现象进而导致网络运行时间过长。通过Dropout防止过拟合,能够减少网络训练时的收敛时间,进一步提高了对三维数据进行处理时的效率。
5、本设计Dropout的比率设置为0.3至0.8,通过将Dropout的比率限制在此区间,使得Dropout 能够随机生成较多的网络结构,能够较好的减少过拟合现象的发生。
6、本设计三维数据处理系统中的数据处理模块通过构造三维点云数据的局部区域集,并通过 Pointnet++网络提取局部区域集中三维点云数据的特征,以建立分类网络和/或分割网络。由于Pointnet++网络在不同位置采集的三维点云数据的密度不一样,能够自适应地结合多尺度特征,因此采用Pointnet++网络提取三维点云数据的特征能够解决三维点云数据采样不均匀的问题。同时,Pointnet++网络在提取时也考虑了三维空间中点与点之间的距离度量,利用度量空间的距离,能够利用上下文尺度的增长学习局部特征,使得网络结构更有效、更具鲁棒性。且在通过 Pointnet++网络提取特征之前,通过构建的局部区域集能够大幅缩减Pointnet++网络的邻域查询时间,具有较高的实用性及推广价值。
7、本设计通过八叉树来对三维点云数据进行局部区域集构造,八叉树的算法实现简单,可以快速进行三维目标的集合运算,如交、并、补、差等,亦可快速进行最邻近区域或点的搜索,因此通过构建八叉树来构造局部区域集,完成在 Pointnet++网络中分组层上局部区域的特征提取,能够提高Pointnet++网络的分类准确率,并大大缩减了Pointnet++网络提取三维点云数据特征的时长,能够高效准确的对三维数据进行处理,具有较高的实用性及推广价值。
以上对本发明实施例公开的一种三维数据处理方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,凡在本发明的原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。
- 三维数据系统以及三维数据处理方法
- 一种三维数据处理方法及系统