本发明涉及三维点云数据处理,具体而言,涉及一种基于降采样的边缘检测方法和装置。
背景技术:
1、随着三维扫描技术的日臻成熟,三维点云数据处理技术日益得到学者的关注。点云通常由数千万或数亿个点组成,从点云中快速、准确地提取物体特征是各项应用的基本需求。其中,点云边缘可以提供有关物体底层几何结构的基本信息,目前点云边缘检测是广受研究者关注的任务。
2、现有的基于降采样的边缘检测方法通常采用多尺度邻域特征来从点云中提取物体边缘。该方法主要分为两个阶段:第一阶段,设置不同尺度大小的邻域,进行多尺度邻域特征的提取(如法向量、近邻点夹角和曲率等)。第二阶段,将提取的特征输入分类器,分类器根据这些特征进行分类,将点云中的点分类为边缘点和非边缘点。
3、现有的基于多尺度邻域特征的边缘检测方法具有实时性差的缺点,算法的运行需要消耗大量的时间。因为提取单个邻域的特征(如法向量和邻域点夹角等)本身涉及复杂的计算过程,进行多个不同尺度邻域特征的提取又需要多次重复上述过程。而点云通常由数千万或数亿个点组成,计算点云中每个点的特征时需要消耗大量的时间。因此,现有的点云边缘检测算法难以适用于嵌入式系统或实时装置中。
技术实现思路
1、本发明的目的包括,例如,提供了一种基于降采样的边缘检测方法和装置,其能够在降低实现复杂度的同时保障检测准确性。
2、本发明的实施例可以这样实现:
3、第一方面,本发明提供一种基于降采样的边缘检测方法,所述方法包括:
4、获取原始点云,所述原始点云包括多个三维点;
5、对所述原始点云分别进行多次降采样处理得到多个降采样点云,所述多个降采样点云的点云密度各不相同;
6、针对所述原始点云中的各个三维点,获得所述三维点在各所述降采样点云中的相关点;
7、获得所述三维点在所述原始点云中以及各所述相关点在各所述降采样点云中的设定统一数量的多个邻域点,并基于由所述多个邻域点构成的邻域点集合获得邻域特征;
8、基于所述三维点的多组邻域特征判断所述三维点是否为边缘点。
9、在可选的实施方式中,所述对所述原始点云分别进行多次降采样处理得到多个降采样点云的步骤,包括:
10、对所述原始点云采用多个不同的体素栅格参数构建多个不同的立方体,其中,各所述立方体被划分为多个体素单元,所述原始点云中的各所述三维点位于其中一个体素单元中,多个不同的立方体中包括的体素单元的数量以及体素单元的体积各不相同;
11、基于构建的各所述立方体分别对所述原始点云进行降采样处理,得到多个降采样点云。
12、在可选的实施方式中,所述基于构建的各所述立方体分别对所述原始点云进行降采样处理,得到多个降采样点云的步骤,包括:
13、针对各所述立方体中的各个体素单元,获得所述体素单元中具有的所述原始点云中的三维点;
14、计算得到所述三维点的质心点,保留所述体素单元中的质心点并删除三维点,以得到降采样处理后的降采样点云。
15、在可选的实施方式中,所述基于所述三维点的多组邻域特征判断所述三维点是否为边缘点的步骤,包括:
16、将所述三维点的多组邻域特征导入预先训练得到的分类器中,将任意两组邻域特征进行一次拼接处理得到拼接特征;
17、对各所述拼接特征进行降采样处理,得到降采样特征;
18、对降采样特征进行二次拼接处理,并基于二次拼接处理得到的拼接特征得到所述三维点的边缘点判定结果。
19、在可选的实施方式中,所述基于由所述多个邻域点构成的邻域点集合获得邻域特征的步骤,包括:
20、计算获得所述邻域点集合中多个邻域点的质心点,并基于所述多个邻域点构建协方差矩阵,对所述协方差矩阵进行分解得到奇异值以及特征向量;
21、将所述邻域点集合划分为第一子集合和第二子集合,并计算所述第一子集合的第一质心点以及所述第二子集合的第二质心点;
22、基于所述三维点、质心点、第一质心点和第二质心点,计算得到在所述特征向量上的垂直分量和切向分量;
23、分别对所述第一子集合和第二子集合的协方差矩阵进行分解得到第一奇异值组和第二奇异值组;
24、计算所述三维点的3d梯度沿各个坐标轴的分解值,并计算所述三维点对应的主曲率;
25、基于所述垂直分量、切向分量、第一奇异值组、第二奇异值组、分解值和主曲率得到邻域特征。
26、在可选的实施方式中,所述将所述邻域点集合划分为第一子集合和第二子集合的步骤,包括:
27、基于所述奇异值以及所述质心点对所述邻域点集合中各所述邻域点进行坐标值缩放处理;
28、基于所述特征向量和所述质心点构建拟合平面,基于所述拟合平面将缩放处理后的邻域点集合划分为第一子集合和第二子集合。
29、在可选的实施方式中,所述计算所述三维点的3d梯度沿各个坐标轴的分解值的步骤,包括:
30、计算得到所述三维点的边缘指数,以及所述邻域点集合中任一邻域点的边缘指数;
31、计算所述三维点与所述任一邻域点之间的距离以及分别在各个坐标轴上的投影的差值;
32、基于所述三维点和任一邻域点的边缘指数、距离以及各个坐标轴上的差值,得到所述三维点的3d梯度沿各个坐标轴的分解值。
33、在可选的实施方式中,所述计算所述三维点对应的主曲率的步骤,包括:
34、基于所述邻域点集合中的多个邻域点构建二次曲面方程;
35、基于所述二次曲面方程获得对应的曲面的主曲率,作为所述三维点对应的主曲率。
36、在可选的实施方式中,所述基于所述三维点、质心点、第一质心点和第二质心点,计算得到在所述特征向量上的垂直分量和切向分量的步骤,包括:
37、计算所述三维点与所述质心点之间的第一差值向量,将所述第一差值向量分解为在所述特征向量上的第一垂直分量和第一切向分量;
38、计算所述第一质心点和第二质心点之间的第二差值向量,将所述第二差值向量分解为在所述特征向量上的第二垂直分量和第二切向分量。
39、第二方面,本发明提供一种基于降采样的边缘检测装置,所述装置包括:
40、获取模块,用于获取原始点云,所述原始点云包括多个三维点;
41、处理模块,用于对所述原始点云分别进行多次降采样处理得到多个降采样点云,所述多个降采样点云的点云密度各不相同;
42、第一获得模块,用于针对所述原始点云中的各个三维点,获得所述三维点在各所述降采样点云中的相关点;
43、第二获得模块,用于获得所述三维点在所述原始点云中以及各所述相关点在各所述降采样点云中的设定统一数量的多个邻域点,并基于由所述多个邻域点构成的邻域点集合获得邻域特征;
44、判断模块,用于基于所述三维点的多组邻域特征判断所述三维点是否为边缘点。
45、本发明实施例的有益效果包括,例如:
46、本技术提供一种基于降采样的边缘检测方法和装置,针对获取的原始点云分别进行多次降采样处理得到多个降采样点云,多个降采样点云的点云密度各不相同。针对原始点云中的各个三维点,获得三维点在各降采样点云中的相关点,获得三维点在原始点云中以及各相关点在各降采样点云中的设定统一数量的多个邻域点,并基于由多个邻域点构成的邻域点集合获得邻域特征,基于三维点的多组邻域特征判断三维点是否为边缘点。如此,由于多个密度不同的降采样点云具有不同的邻域点特征,因此,可以在较小邻域范围查询的情况下,保留原始点云较大邻域范围内的特征性质,可以在降低实现复杂度的基础上,保障检测准确性。