首页 / 专利库 / 电脑编程 / K最近邻算法 / 一种三维点云的处理方法、装置及设备

一种三维点的处理方法、装置及设备

阅读:859发布:2020-05-11

专利汇可以提供一种三维点的处理方法、装置及设备专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种三维点 云 的处理方法、装置及设备,该方法包括:获取包括多个点的点云数据;将所述点云数据输入预先训练好的 卷积神经网络 ;所述卷积神经网络包括:几何特征信息共享的卷积模 块 ;针对点云数据中每个点,基于所述卷积模块获取所述点在欧式空间的近邻点,且基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点;聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征;使用多层 感知 器对聚合后的特征进行特征学习,并对近邻点的维度做最大 池化 操作得到输出特征。通过直接构造卷积结构处理三维点云数据,有效地减缓数据缺失问题和数据冗余问题。,下面是一种三维点的处理方法、装置及设备专利的具体信息内容。

1.一种三维点的处理方法,其特征在于,包括:
获取包括多个点的点云数据;
将所述点云数据输入预先训练好的卷积神经网络;所述卷积神经网络包括:几何特征信息共享的卷积模
针对点云数据中每个点,基于所述卷积模块获取所述点在欧式空间的近邻点,且基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点;
聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征;
使用多层感知器对聚合后的特征进行特征学习,并对近邻点的维度做最大池化操作得到输出特征。
2.如权利要求1所述的一种三维点云的处理方法,其特征在于,所述基于所述卷积模块获取所述点在欧式空间的近邻点,包括:
通过所述卷积模块利用K近邻查询算法获取所述点在欧式空间的近邻点。
3.如权利要求1所述的一种三维点云的处理方法,其特征在于,所述基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点,包括:
基于所述点在欧式空间的近邻点确定特征值图结构;
基于所述特征值图结构确定三维结构张量;
对所述三维结构张量进行分解得到特征值矩阵;
基于所述特征值矩阵确定所述点在特征值空间中的近邻点。
4.如权利要求1所述的一种三维点云的处理方法,其特征在于,所述聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征,是基于下列公式来进行的:
其中,Θ表示特征的级联; 为所述点在欧式空间中k1个近邻点对应的特征;k1为欧式空间的近邻点个数; 为所述点在特征值空间中k2个近邻点对应的特征;k2为特征值空间的近邻点个数;fi为所述点的特征。
5.如权利要求1所述的一种三维点云的处理方法,其特征在于,还包括:
将所获取的点云数据划分分类,分为第一类和第二类;
通过所述第一类的点云数据中对卷积神经网络的卷积核进行训练,得到训练完成的卷积神经网络;
将所述第二类的点云数据作为验证数据,对所述卷积神经网络进行验证。
6.如权利要求1所述的一种三维点云的处理方法,其特征在于,还包括:
通过旋转所述点云数据中的点,和/或使所述点源数据中点的点坐标在所述点周围的预定范围内扰动,以对所述点云数据进行增强;
和/或,对所述点数据中的点进行随机删除。
7.如权利要求1所述的一种三维点云的处理方法,其特征在于,还包括:所述对所述点数据中的点进行随机删除包括:
根据预先设定的最大随机概率,随机生成随机概率;
根据生成的随机概率对点云数据中的点进行删除。
8.一种三维点云的处理装置,其特征在于,包括:
获取模块,用于获取包括多个点的点云数据;
输入模块,用于将所述点云数据输入预先训练好的卷积神经网络;所述卷积神经网络包括:几何特征信息共享的卷积模块;
处理模块,用于针对点云数据中每个点,基于所述卷积模块获取所述点在欧式空间的近邻点,且基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点;
聚合模块,用于聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征;
输出模块,用于使用多层感知器对聚合后的特征进行特征学习,并对近邻点的维度做最大池化操作得到输出特征。
9.一种三维点云的处理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述三维点云的处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述三维点云的处理方法的步骤。

说明书全文

一种三维点的处理方法、装置及设备

技术领域

[0001] 本发明涉及三维数据处理领域,特别涉及一种三维点云的处理方法、装置及设备。

背景技术

[0002] 点云(英文全称为Point Cloud)是在逆向工程中通过测量仪器得到的产品外观表面的点数据集合,点云数据除了具有几何位置以外,有的还有颜色信息。颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息(RGB)赋予点云中对应的点。强度信息的获取是激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射方向,以及仪器的发射能量,激光波长有关。
[0003] 但是,对点云数据进行处理时,由于三维点云数据与图像不同,三维点云数据是非规格化的,多视角投影技术将非规格化的三维点云投影为二维图像,再对二维图像进行处理,目前对点云数据进行处理需要先将点云数据转换为其它的数据格式,比如将三维点云投影到二维图像,作为卷积神经网络的输入;但是这个过程存在以下缺点:(1)由于遮挡原因,投影的过程本身会造成部分数据缺失。(2)数据转化的过程计算量比较大;
[0004] 再或者将点云转换成体素表示,通过进行特征提取。
[0005] 而体素表示会造成数据的冗余问题,会造成内存占用大、消耗较多的计算机资源,容易丢失空间局部细节几何信息。
[0006] 由此,目前需要一种更好的可以处理点云的方法。

发明内容

[0007] 有鉴于此,本发明提出了一种三维点云的处理方法、装置及设备,直接构造卷积结构处理三维点云数据,有效减缓点云的数据缺失和冗余问题。
[0008] 具体的,本发明提出了以下具体的实施例
[0009] 本发明实施例提出了一种三维点云的处理方法,包括:
[0010] 获取包括多个点的点云数据;
[0011] 将所述点云数据输入预先训练好的卷积神经网络;所述卷积神经网络包括:几何特征信息共享的卷积模
[0012] 针对点云数据中每个点,基于所述卷积模块获取所述点在欧式空间的近邻点,且基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点;
[0013] 聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征;
[0014] 使用多层感知器对聚合后的特征进行特征学习,并对近邻点的维度做最大池化操作得到输出特征。
[0015] 在一个具体的实施例中,所述基于所述卷积模块获取所述点在欧式空间的近邻点,包括:
[0016] 通过所述卷积模块利用K近邻查询算法获取所述点在欧式空间的近邻点。
[0017] 在一个具体的实施例中,所述基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点,包括:
[0018] 基于所述点在欧式空间的近邻点确定特征值图结构;
[0019] 基于所述特征值图结构确定三维结构张量;
[0020] 对所述三维结构张量进行分解得到特征值矩阵;
[0021] 基于所述特征值矩阵确定所述点在特征值空间中的近邻点。
[0022] 在一个具体的实施例中,所述聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征,是基于下列公式来进行的:
[0023]
[0024]
[0025]
[0026] 其中,Θ表示特征的级联; 为所述点在欧式空间中k1个近邻点对应的特征;k1为欧式空间的近邻点个数; 为所述点在特征值空间中k2个近邻点对应的特征;k2为特征值空间的近邻点个数;fi为所述点的特征。
[0027] 在一个具体的实施例中,还包括:
[0028] 将所获取的点云数据划分分类,分为第一类和第二类;
[0029] 通过所述第一类的点云数据中对卷积神经网络的卷积核进行训练,得到训练完成的卷积神经网络;
[0030] 将所述第二类的点云数据作为验证数据,对所述卷积神经网络进行验证。
[0031] 在一个具体的实施例中,还包括:
[0032] 通过旋转所述点云数据中的点,和/或使所述点源数据中点的点坐标在所述点周围的预定范围内扰动,以对所述点云数据进行增强;
[0033] 和/或,对所述点数据中的点进行随机删除。
[0034] 在一个具体的实施例中,还包括:所述对所述点数据中的点进行随机删除包括:
[0035] 根据预先设定的最大随机概率,随机生成随机概率;
[0036] 根据生成的随机概率对点云数据中的点进行删除。
[0037] 本发明实施例还提出了一种三维点云的处理装置,包括:
[0038] 获取模块,用于获取包括多个点的点云数据;
[0039] 输入模块,用于将所述点云数据输入预先训练好的卷积神经网络;所述卷积神经网络包括:几何特征信息共享的卷积模块;
[0040] 处理模块,用于针对点云数据中每个点,基于所述卷积模块获取所述点在欧式空间的近邻点,且基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点;
[0041] 聚合模块,用于聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征;
[0042] 输出模块,用于使用多层感知器对聚合后的特征进行特征学习,并对近邻点的维度做最大池化操作得到输出特征。
[0043] 本发明实施例还提出了一种三维点云的处理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述三维点云的处理方法的步骤。
[0044] 本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述三维点云的处理方法的步骤。
[0045] 本发明实施例与现有技术相比,存在的有益效果是:通过直接构造卷积结构处理三维点云数据,有效缓解点云的数据缺失和冗余问题。附图说明
[0046] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0047] 图1为本发明实施例提出的一种三维点云的处理方法的流程示意图;
[0048] 图2为本发明实施例提出的一种三维点云的处理方法中几何特征相似卷积模块说明图;
[0049] 图3为本发明实施例提出的一种三维点云的处理方法中示例特征值图可视化的示意图;
[0050] 图4为本发明实施例提出的一种三维点云的处理方法中卷积神经网络的结构图;
[0051] 图5为本发明实施例提出的一种三维点云的处理设备的结构示意图。

具体实施方式

[0052] 在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
[0053] 在本公开的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本公开的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本公开的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本公开的各种实施例中被清楚地限定。
[0054] 实施例1
[0055] 本发明实施例1公开了一种三维点云的处理方法,如图1所示,包括一下步骤:
[0056] 步骤101、获取包括多个点的点云数据;
[0057] 具体的,所述点云数据的采集,可以通过激光设备、立体摄像机或者越渡时间相机进行采集。可以通过采用基于点云自动拼接的数据采集方法对三维物体进行点云数据的采集,在采集过程中,可以使用多个测站扫描并将各测站数据拼接到一起得到点云数据,通过迭代优化坐标变换参数的方法实现不同角度点云的精确配准。
[0058] 在一个具体的实施例中,该方法还包括:通过旋转所述点云数据中的点,和/或使所述点源数据中点的点坐标在所述点周围的预定范围内扰动,以对所述点云数据进行增强;
[0059] 和/或,对所述点数据中的点进行随机删除。
[0060] 具体的,所述对所述点数据中的点进行随机删除包括:
[0061] 根据预先设定的最大随机概率,随机生成随机概率;
[0062] 根据生成的随机概率对点云数据中的点进行删除。
[0063] 基于实验,发现基于上述数据增强方法,可以增强卷积神经网络学习的泛化能,进而提高测试集(训练时没有用到的点云数据)上的测试的准确率。
[0064] 此外,采集到的点云数据还可以进行其他处理,例如可以对采集到的点云数据及进行去噪,补洞等操作,并使用最远点采样方法将密集的非均匀点云采样为均匀分布的点云,方便后续的处理并提升性能。
[0065] 步骤102、将所述点云数据输入预先训练好的卷积神经网络;所述卷积神经网络包括:几何特征信息共享的卷积模块;
[0066] 具体的,该方法还包括:
[0067] 将所获取的点云数据划分分类,分为第一类和第二类;
[0068] 通过所述第一类的点云数据中对卷积神经网络的卷积核进行训练,得到训练完成的卷积神经网络;
[0069] 将所述第二类的点云数据作为验证数据,对所述卷积神经网络进行验证。
[0070] 具体的,可以将第一类点云数据中对卷积神经网络的卷积核进行训练,得到训练完成的卷积神经网络;将第二类点云数据作为验证数据,评估所述卷积神经网络。比如,根据数据整理流程,对每一个类别的三维点云选取该类数量90%的数据作为网络训练时的训练数据,同时将剩下的10%数据保留作为实验的验证数据,用于后期对模型识别准确率和泛化能力的评估。具体的比例还可以进行调整,例如还可以选取该类数量80%的数据作为网络训练时的训练数据,同时将剩下的20%数据保留作为实验的验证数据;或该类数量70%的数据作为网络训练时的训练数据,同时将剩下的30%数据保留作为实验的验证数据等,具体的比例可以根据实际的经验进行灵活的调整。
[0071] 步骤103、针对点云数据中每个点,基于所述卷积模块获取所述点在欧式空间的近邻点,且基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点;
[0072] 具体的,步骤103中的所述基于所述卷积模块获取所述点在欧式空间的近邻点,包括:
[0073] 通过所述卷积模块利用K近邻查询算法获取所述点在欧式空间的近邻点。
[0074] 进一步的,步骤103中的所述基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点,包括:
[0075] 基于所述点在欧式空间的近邻点确定特征值图结构;
[0076] 基于所述特征值图结构确定三维结构张量;
[0077] 对所述三维结构张量进行分解得到特征值矩阵;
[0078] 基于所述特征值矩阵确定所述点在特征值空间中的近邻点。
[0079] 在一个具体的实施例中,如图2所示,几何特征信息共享模块首先构造特征值图结构,具体的可以使用K近邻查询算法获取每个点xi在欧式空间的近邻点 定义基于M定义三维结构张量C=MMT,即使真值(曲面)局部平坦,噪声点也会导致从曲面采样的点云不平坦。就算给定点的邻域不平坦,C依旧是对称正定矩阵。接下来分解矩阵C=R∧RT,R是旋转矩阵,∧是一个对角的正定矩阵,其中包括特征向量和特征值矩阵。特征值 的顺序排列为λ1≥λ2≥λ3>0,对于每个点xi,计算3D结构张量并计算特征值 其中,N为点云的点数。之后使用以下公式去计算点之间
的距离:
[0080]
[0081] 之后根据单位为 的特征值矩阵去选择每个点在特征值空间中的K近邻点。
[0082] 以此,如图3所示,从一个例子来进行说明,对于飞机点云给定一个锚定点(位于右翼的最边缘点),三维点的传统卷积运算在一个局部区域上进行,如左下圆圈所示。为了探索点云的对称性、曲率、凸性和连通性等几何特征,在欧氏空间和特征值空间中,利用特征图对邻域进行分组。欧氏空间中锚定点的邻域为蓝色,特征值空间中锚定点的邻域为右边或上边的四个圆圈所圈区域,从而构造了锚定点及其邻特征值空间中锚定点的邻域提供了关于整个点云的几何结构的更多信息。结果表明,即使在欧氏空间中锚定点彼此相距较远,本方案的方法确实将锚定点与具有相似局部几何的点相关联。
[0083] 步骤104、聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征;
[0084] 具体的,步骤104中的所述聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征,可以是基于下列公式来进行的:
[0085]
[0086]
[0087]
[0088] 其中,Θ表示特征的级联; 为所述点在欧式空间中k1个近邻点对应的特征;k1为欧式空间的近邻点个数; 为所述点在特征值空间中k2个近邻点对应的特征;k2为特征值空间的近邻点个数;fi为所述点的特征。
[0089] 步骤105、使用多层感知器对聚合后的特征进行特征学习,并对近邻点的维度做最大池化操作得到输出特征。
[0090] 具体的,在第一个几何特征信息共享模块,输入的特征是点的坐标X和特征值E。本方案中使用欧式空间的近邻点聚合坐标信息,使用特征空间近邻点聚合特征值。而在其他的几何特征信息共享模块,输入的特征为上一个卷积模块输出的特征,然后使用欧式空间的近邻点和特征值空间的近邻点同时聚合这些特征。得到聚合之后的特征,使用多层感知器进行特征学习,然后在近邻点的维度做最大池化操作得到本层的输出特征。每个卷积操作后都加入了非线性激活函数(ReLU),以及批标准化层(BN)。
[0091] 此外,本方案中卷积神经网络采用了分级特征学习的模式,如图4所示,网络可以分成三级(点数分别为1024,512,256),此外,为了减少运算量,本发明在层间使用最远点采样方法对点的坐标和特征进行均匀采样。
[0092] 对于分割任务,本发明在解码器部分对于编码器中每层的特征采用特征插值的方式将点云特征还原到最原始的点数。比如第l层特征Nl×Cl作为要插值的特征,Xl和X1分别是第l层和第1层的点的坐标,在X1中找到Xl的每个点的三个近邻点,然后计算对应特征的加权求和。权重是参考点与三个近邻点的距离的归一化。
[0093] 此外,本申请还可以对提取了点云数据的特征后,进一步进行处理:
[0094] 在经过多个几何特征信息共享卷积模块的运算后,可以使用最大K池化操作来提取点云的几何特征,用于后续的分类分割或配准等任务。假设经过多层卷积模块后得到的特征是N×M维的向量,N表示点的个数,M表示每个点特征的维数,最大k池化操作指在N个点第i维特征中,取最大的k个值,由此最后得到k×M维点云的全局特征向量。可以将每层卷积模块的输出特征并起来,做最大池化操作,最后通过全连接层。全连接层的最后一层的输出维度等于分类任务中类别的数量。可以将全连接层的输出用归一化指数函数转化为0到1间的概率,表示输入点云属于某一类别的概率。另外,还可以使用交叉熵函数作为损失函数,使用反向传播算法进行模型的训练和优化。
[0095] 对于分割任务,在得到全局特征的基础上,将点云的全局特征和物体类别信息也作为点云的局部特征,并在之前已经提取出来的点云局部特征后面,形成更高维的点云局部特征。然后通过多层感知器和归一化指数函数处理后得到的物体分割部位预测概率进行分割预测。
[0096] 通过设计适用于三维点云分类与分割的几何特征共享的卷积神经网络结构。调整神经网络的网络参数,包含但不限于(学习率、批量大小),采取不同的学习策略,促使几何共享卷积神经网络向最佳的网络模型优化方向收敛;最后利用训练得到的网络模型对验证数据完成测试,实现点云的分类和分割。并且,本发明设计的几何信息共享卷积是神经网络中的一个模块,作用是可以直接从分布在点云上的信号中提取几何相似性等特征,因此可以结合神经网络中的其他模块使用。可以改变该模块的输入输出通道数目,以及改变输出通道的组合方式,以在不同的任务中取得最优效果。可以使用几何特征信息共享模块设计各种不同的神经网络结构。
[0097] 另外,经过实验验证,本申请所述面向点云的特征提取方法在在大规模点云数据上(ModelNet40以及ShapeNet Part)测试分类分割任务,和目前国际上的先进方法对比,在分类任务上达到了93.3%的准确率,在分割任务上交并比为85.3%,性能上具有领先优势。
[0098] 实施例2
[0099] 本发明实施例还提出了一种三维点云的处理装置,如图5所示,包括:
[0100] 获取模块201,用于获取包括多个点的点云数据;
[0101] 输入模块202,用于将所述点云数据输入预先训练好的卷积神经网络;所述卷积神经网络包括:几何特征信息共享的卷积模块;
[0102] 处理模块203,用于针对点云数据中每个点,基于所述卷积模块获取所述点在欧式空间的近邻点,且基于所述点在欧式空间的近邻点确定所述点在特征值空间的近邻点;
[0103] 聚合模块204,用于聚合所述点在欧式空间的近邻点以及所述点在特征值空间的近邻点得到聚合后的特征;
[0104] 输出模块205,用于使用多层感知器对聚合后的特征进行特征学习,并对近邻点的维度做最大池化操作得到输出特征。
[0105] 本发明实施例2还公开有其他的相关特征,具体的相关特征请参见实施例1中的记载。
[0106] 实施例3
[0107] 本发明实施例还提出了一种三维点云的处理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1中三维点云的处理方法的步骤。
[0108] 实施例4
[0109] 本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现实施例1中三维点云的处理方法的步骤。
[0110] 本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0111] 本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0112] 上述本发明序号仅仅为了描述,不代表实施场景的优劣。
[0113] 以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈