1.本技术涉及图像处理技术领域,尤其涉及一种基于点云的边缘提取方法及装置。
背景技术:
2.3d点云边缘提取技术是基础的点云处理算法,可应用于物体轮廓提取、物体定位、物体量测等场景。其中,点云边缘是指能够表达物体特征的边缘测量点,用于表征物体的几何特征。
3.为了能够从大量的三维点中准确地提取出边缘点,可通过深度图判别点云的边缘点,即基于各个点到相机平面的距离生成点云的深度图,并根据深度图计算各个点的高度落差,再提取高度落差大于一定阈值的点为边缘点。但是,在生成点云的深度图的过程会产生一定的损失,对深度图数据的准确性产生影响,进而导致边缘提取的精确率下降。
技术实现要素:
4.本技术提供了一种基于点云的边缘提取方法及装置,以解决边缘提取的精确率低的问题。
5.第一方面,本技术一些实施例提供一种基于点云的边缘提取方法,包括:
6.获取目标点云,所述目标点云包括不同坐标的特征点;
7.通过体素近邻搜索算法检测所述特征点的邻域信息;
8.根据所述邻域信息获取所述特征点的差异特征,所述差异特征包括所述特征点平滑处理后的位移,和/或,所述特征点中相邻投影向量的最大夹角;
9.根据所述差异特征计算判别阈值;
10.将所述差异特征大于所述判别阈值的特征点标记为边缘点。
11.本技术一些实施例中,通过体素近邻搜索算法检测所述特征点的邻域信息,包括:基于所述目标点云建立体素网格,以及记录所述体素网格的索引信息;根据所述索引信息计算所述特征点的网格索引;通过所述网格索引查询所述特征点的邻域网格;获取所述邻域网格的特征点信息。
12.本技术一些实施例中,根据所述邻域信息获取所述特征点的差异特征,包括:按照所述邻域信息对所述目标点云执行平滑处理,以生成平滑点云;检测所述平滑点云中目标特征点的第一坐标,以及检测所述目标点云中目标特征点的第二坐标;计算所述第一坐标与所述第二坐标的坐标差值。
13.本技术一些实施例中,基于双边滤波算法对所述目标点云执行平滑处理。
14.本技术一些实施例中,根据所述邻域信息获取所述特征点的差异特征,包括:
15.按照所述邻域信息对所述目标点云执行平面拟合,并通过预设的距离阈值剔除邻域特征点中的局外点,以生成局部拟合平面;将所述特征点投影至所述局部拟合平面,以生成所述特征点的投影向量;计算相邻两个所述投影向量的夹角;记录所述夹角中的最大值。
16.本技术一些实施例中,通过预设的距离阈值剔除邻域特征点中的局外点,包括:根
据所述邻域信息查询所述特征点的邻域特征点;检测所述邻域特征点与所述特征点的目标距离;如果所述目标距离大于所述距离阈值,将所述邻域特征点标记为局外点,以及将所述局外点剔除;如果所述目标距离小于或等于所述距离阈值,将所述邻域信息点标记为局内点,以及根据所述局内点拟合所述局部拟合平面。
17.本技术一些实施例中,根据所述差异特征计算判别阈值,包括:获取所述差异特征的平均值与标准差;根据所述平均值与所述标准差计算判别阈值。
18.本技术一些实施例中,根据所述平均值与所述标准差计算判别阈值,包括:获取所述判别阈值的阈值因子;计算所述阈值因子与所述标准差的乘积;计算所述乘积与所述平均值之和,以作为所述判别阈值。
19.本技术一些实施例中,将特征值大于所述判别阈值的特征点标记为边缘点,包括:遍历所述目标点云的特征点,以获取所述特征点的特征值;如果所述特征值大于所述判别阈值,标记所述特征点为所述边缘点;如果所述特征值小于或等于所述判别阈值,标记所述特征点为非边缘点。
20.第二方面,本技术一些实施例还提供一种基于点云的边缘提取装置,包括搜索模块、数据处理模块与边缘点提取模块,其中:
21.搜索模块被配置为获取目标点云,所述目标点云包括不同坐标的特征点;通过体素近邻搜索算法检测所述特征点的邻域信息;
22.数据处理模块被配置为根据所述邻域信息获取所述特征点的差异特征,所述差异特征包括所述特征点平滑处理后的位移,和/或,所述特征点中相邻投影向量的最大夹角;根据所述差异特征计算判别阈值;
23.边缘点提取模块被配置为将所述差异特征大于所述判别阈值的特征点标记为边缘点。
24.由以上技术方案可知,本技术一些实施例提供的基于点云的边缘提取方法及装置,所述方法可获取不同坐标特征点的目标点云,并通过体素近邻搜索算法检测特征点的邻域信息。再根据邻域信息获取特征点的差异特征。其中,差异特征包括特征点平滑处理后的位移,和/或,特征点中相邻投影向量的最大夹角。根据差异特征计算判别阈值,并将差异特征大于判别阈值的特征点标记为边缘点。所述方法可基于体素近邻搜索算法获取各个特征点的邻域信息,提高邻域信息的获取效率;并且提供平滑处理或相邻投影相邻夹角两种方式判别点云中的边缘点,通过点云的原始数据判别边缘点,可提高边缘提取的精准率,进而改善边缘提取的效果。
附图说明
25.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本技术一些实施例提供的一种基于点云的边缘提取方法的流程示意图;
27.图2为本技术一些实施例提供的体素近邻搜索的体素网格及邻域网格的示例图;
28.图3为本技术一些实施例提供的获取平滑处理后的位移的流程示意图;
29.图4a为本技术一些实施例提供的内部折叠边缘点的效果示意图;
30.图4b为本技术一些实施例提供的高曲率边缘点的效果示意图;
31.图4c为本技术一些实施例提供的外轮廓边界点的效果示意图;
32.图5为本技术一些实施例提供的相邻投影向量的最大夹角的示例图;
33.图6为本技术一些实施例提供的一种基于点云的边缘提取方法的架构图。
具体实施方式
34.为使本技术示例性实施例的目的、技术方案和优点更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
35.基于本技术中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
36.点云是指在同一空间参考系下,表达目标空间分布和目标表面特性的特征点集合。比如,通过激光测量原理得到的点云,包括三维坐标与激光反射强度;通过摄影测量原理得到的点云,包括三维坐标与颜色信息(rgb)。因此,点云可看作为一张三维特征点图像。点云的属性包括:空间分辨率、点位精度、表面法向量等。
37.点云边缘是指点云中能够表达物体特征的边缘测量点,用于表征物体的几何特征。在一些实施例中,为了能够从大量的三维点中准确地提取出边缘点,可通过深度图判别点云的边缘点,即基于各个点到相机平面的距离生成点云的深度图,并根据深度图计算各个点的高度落差,再提取高度落差大于一定阈值的点为边缘点。但是,在生成点云的深度图的过程会产生一定的损失,对深度图数据的准确性产生影响,导致边缘提取的精确率下降。
38.因此,为了改善深度图产生的损失问题,在一些实施例中,可以基于kdtree算法(k-dime nsionaltree,k维树)执行近邻查找,以查找点云中各个特征点的邻域特征点。再生成各个邻域特征点的投影向量,并通过投影向量的夹角判别点云中的边缘点。然而,基于kdtree算法查找邻域像素点需要消耗较长的搜索时间,会导致边缘点提取的效率下降,影响点云的边缘提取效果。
39.基于上述应用场景,为了改善边缘提取的精确率低的问题,本技术一些实施例提供一种基于点云的边缘提取方法,如图1所示,包括以下程序步骤:
40.s1:获取目标点云。
41.其中,目标点云包括不同坐标的特征点,特征点中包括边缘点与非边缘点,每个特征点包括其对应的像素值。例如,由激光测量得到的点云,特征点的像素值为该点的激光反射强度值;由摄影测量得到的点云,特征点的像素值为该点的颜色信息。目标点云可以为多种类型的点云数据,例如具有外轮廓边界点的点云或具有内部折叠边缘点的点云等。
42.s2:通过体素近邻搜索算法检测特征点的邻域信息。
43.在获取到目标点云后,需要通过特征点的邻域信息,以检测出该特征点与邻近特征点的区别。因此,通过体素近邻搜索算法获取目标点云中各个特征点的邻域信息。其中,邻域信息为特征点邻域特征点的信息。通过体素近邻搜索算法可减少获取邻域信息所消耗
的时间,进而提高边缘提取的整体效率。
44.因此,在一些实施例中,通过体素近邻搜索算法检测所述特征点的邻域信息时,基于目标点云建立体素网格,以及记录体素网格的索引信息。即体素网格需将目标点云的各个特征点划分至不同的网格内,并记录网格的索引信息。在记录好索引信息后,根据索引信息计算特征点的网格索引,并通过网格索引查询特征点的邻域网格。邻域网格的尺寸可以为多种尺寸,例如3
×3×
3的邻域网格或5
×5×
5的邻域网格等。再获取邻域网格的特征点信息,以作为当前特征点的邻域信息。
45.例如,如图2所示,图2中各个三维点为目标点云的特征点,实线部分为体素网格,虚线部分为邻域网格。其中,邻域尺寸为3
×3×
3。在获取目标点云后,根据目标点云设定体素网格的长宽高尺寸,将目标点云中各点划分至不同的体素网格,并记录网格内的点索引。根据点索引查询特征点的邻域网格,并获取邻域网格内各个点的信息,以作为当前特征点的邻域信息。
46.s3:根据邻域信息获取特征点的差异特征。
47.在检测到特征点的邻域信息后,则按照邻域信息获取特征点的差异特征,以通过差异特征判别特征点是否为点云中的边缘点。其中,差异特征包括特征点平滑处理后的位移,和/或,特征点中相邻投影向量的最大夹角。本技术实施例提供两种方式获取特征点的差异特征,可适用于多种边缘提取场景。将平滑处理后的位移作为差异特征判别边缘点时,可检测出曲率较大的弯曲边界与折叠边缘;将相邻投影向量的最大夹角作为差异特征判别边缘点时,可检测出点云的外轮廓边界与折叠边缘。
48.如图3所示,当差异特征为平滑处理后的位移时,在一些实施例中,根据邻域信息获取特征点的差异特征时,按照邻域信息对目标点云执行平滑处理,以生成平滑点云。平滑处理可执行多次,以对点云数据进行多次迭代。再检测平滑点云中目标特征点的第一坐标,以及检测目标点云中目标特征点的第二坐标。计算第一坐标与第二坐标的坐标差值,以作为平滑处理后的位移。本实施例将平滑处理后的位移作为差异特征,可适用于高曲率边缘点或折叠边缘点的边缘提取。其中,曲率是指针对曲线上某个点的切线方向角对弧长的转动率,可表明曲线偏离直线的程度。曲率越高,表示曲线的弯曲程度越大。
49.为了提高平滑处理的精度,在一些实施例中,基于双边滤波算法对目标点云执行平滑处理。双边滤波(bilateralfilter)为一种非线性的滤波方法,是结合图像的空间邻近度及像素值相似度的一种折中处理。同时,双边滤波还考虑空域信息与灰度相似性,可达到保边去噪的目的,具有简单、非迭代、局部的特点。
50.例如,如图4a、4b所示,当目标点云的边缘点为图4a、4b所示的内部折叠边缘点或高曲率边缘点时,可获取平滑处理后的位移作为特征点的差异特征。首先,通过体素近邻搜索算法获取邻域信息,并根据邻域信息对目标点云的各个特征点执行双边滤波平滑,再对平滑后的点云执行多次双边滤波平滑,如5次双边滤波平滑。最后,记录多次迭代平滑后各个特征点的位移,以作为特征点的差异特征。
51.需要说明的是,本技术实施例提供的平滑处理方式还可以采用三边滤波、线性插值、ml s(movinglestsquares,移动最小二乘法)等平滑算法。对此,本技术不作限制。
52.如图5所示,当差异特征为相邻投影向量的最大夹角时,在一些实施例中,根据邻域信息获取特征点的差异特征时,按照邻域信息对目标点云执行平面拟合,并通过预设的
距离阈值剔除邻域特征点中的局外点,以生成局部拟合平面。即对特征点执行剔除局外点的平面拟合。将特征点投影至局部拟合平面,以生成特征点的投影向量。再计算相邻两个投影向量的夹角,并记录夹角中的最大值,以作为特征点的差异特征。
53.为了便于剔除目标点云中的局外点,在一些实施例中,通过预设的距离阈值剔除邻域特征点中的局外点时,根据邻域信息查询特征点的邻域特征点,并检测邻域特征点与特征点的目标距离。如果目标距离大于距离阈值,将邻域特征点标记为局外点,以及将局外点剔除;如果目标距离小于或等于距离阈值,将邻域信息点标记为局内点,以及根据所局内点拟合局部拟合平面。通过邻域特征点与当前特征点的距离,将距离较远的特征点剔除,以拟合生成当前特征点的局部拟合平面。
54.例如,如图4c所示,当目标点云的边缘点为图4c所示的外轮廓边界点时,可获取相邻投影向量的最大夹角作为特征点的差异特征。首先,通过体素近邻搜索算法获取邻域信息,并根据邻域信息对目标点云中的目标点执行剔除局外点的平面拟合。目标点为当前正在处理的特征点,根据距离阈值k判断目标点的各个邻域特征点是否属于局部拟合平面的局内点。其中,小于或等于距离阈值k的点为局内点,大于距离阈值k的点为局外点。以目标点为原点建立uvn坐标系,将局外点剔除并根据局内点拟合局部拟合平面,并将各个特征点及其对应的局内点投影至该平面。再记录相邻投影向量的最大夹角,以作为当前特征点的差异特征。如图5所示,图5中夹角θ为相邻投影向量的最大夹角。
55.可以理解的是,上述两种差异特征适用于不同类型的边缘提取,当需要检测曲率大的弯曲边界和折叠边缘时,通过特征点平滑处理后的位移判别目标点云的边缘点;当需要检测外轮廓边界时,通过相邻投影向量的最大夹角判别目标点云的边缘点。因此,本技术实施例提供的边缘提取方法,可适用于多种边缘类型,进而提高边缘提取的普适性。
56.s4:根据差异特征计算判别阈值。
57.在获取到各个特征点的差异特征后,可以得出一组位移或最大夹角的数据,并通过得出该组数据计算用于判别特征点的判别阈值。这样,可以根据差异特征对目标点云中的各个特征点进行判别,将差异较大的特征点标记为边缘点。
58.为了便于判别边缘点,判别阈值可基于统计学原理计算得出,在一些实施例中,根据所述差异特征计算判别阈值时,获取差异特征的平均值与标准差,并根据平均值与标准差计算判别阈值。标准差可以反映目标点云中差异特征的离散程度,结合差异特征的平均值,即可以得出上述用于判别边缘点的判别阈值。
59.因此,在一些实施例中,根据平均值与标准差计算判别阈值时,获取判别阈值的阈值因子,并计算阈值因子与标准差的乘积。再计算乘积与平均值之和,以作为判别阈值。其中,阈值因子为预设的数值,可自定义设置。
60.示例性的,判别阈值可以通过以下公式计算:
61.threshd=meand m
·
σd62.式中,threshd为判别阈值,meand为平均值,m为预设的阈值因子,σd为标准差。差异特征为位移时,meand与σd为位移的平均值与标准差;差异特征为相邻投影向量的最大夹角时,meand与σd为最大夹角的平均值与标准差。
63.s5:将差异特征大于判别阈值的特征点标记为边缘点。
64.在计算出判别阈值后,则可以根据判别阈值判断目标点云中的边缘点。对目标点
云中的各个特征点进行检测,如果特征点的差异特征大于该判别阈值,说明当前特征点与其他特征点存在较大差异,则将该特征点标记为边缘点。通过计算得出的判别阈值对点云中各个特征点进行判别,无需将点云数据转化为其他形式,可改善数据转换所产生的损失问题,提高边缘提取的精度。
65.在一些实施例中,将差异特征大于判别阈值的特征点标记为边缘点时,遍历目标点云的特征点,以获取特征点的差异特征,即特征点平滑处理后的位移,和/或,特征点中相邻投影向量的最大夹角。如果差异特征大于判别阈值,标记特征点为边缘点;如果差异特征小于或等于判别阈值,标记特征点为非边缘点,直至目标点云中所有的特征点遍历完毕,以筛选出所有的边缘点。
66.基于上述基于点云的边缘提取方法,本技术的部分实施例还提供一种基于点云的边缘提取装置,如图6所示,所述装置包括搜索模块100、数据处理模块200与边缘点提取模块300。其中:
67.搜索模块100被配置为获取目标点云,所述目标点云包括不同坐标的特征点;通过体素近邻搜索算法检测所述特征点的邻域信息;
68.数据处理模块200被配置为根据所述邻域信息获取所述特征点的差异特征,所述差异特征包括所述特征点平滑处理后的位移,和/或,所述特征点中相邻投影向量的最大夹角;根据所述差异特征计算判别阈值;
69.边缘点提取模块300被配置为将所述差异特征大于所述判别阈值的特征点标记为边缘点。
70.在一些实施例中,所述数据处理模块200在执行根据所述邻域信息获取所述特征点的差异特征前,还被配置为生成边缘提取的模式选择选项,所述模式选择选项包括平滑模式选项与邻域向量角模式选项。数据处理模块可以根据模式选择选项的操作事件,提取对应的差异特征。当平滑模式选项处于选中状态时,数据处理模块200则获取平滑处理后的位移作为差异特征;当邻域向量角模式选项处于选中状态时,数据处理模块200则获取特征点中相邻投影向量的最大夹角作为差异特征。
71.由以上技术方案可知,本技术一些实施例提供的基于点云的边缘提取方法及装置,所述方法可获取不同坐标特征点的目标点云,并通过体素近邻搜索算法检测特征点的邻域信息。再根据邻域信息获取特征点的差异特征。其中,差异特征包括特征点平滑处理后的位移,和/或,特征点中相邻投影向量的最大夹角。根据差异特征计算判别阈值,并将差异特征大于判别阈值的特征点标记为边缘点。所述方法可基于体素近邻搜索算法获取各个特征点的邻域信息,提高邻域信息的获取效率;并且提供平滑处理或相邻投影相邻夹角两种方式判别点云中的边缘点,通过点云的原始数据判别边缘点,可提高边缘提取的精准率,进而改善边缘提取的效果。
72.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
73.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨
论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。