点云噪声的去除方法、去噪系统、计算机设备及存储介质转让专利

申请号 : CN201810128719.1

文献号 : CN110136072B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡玮高翔郭宗明

申请人 : 北京大学北大方正集团有限公司北京北大方正电子有限公司

摘要 :

本发明提出了一种点云噪声的去除方法、去噪系统、计算机设备及计算机可读存储介质,其中点云噪声的去除方法,包括:获取点云数据;确定点云中的异常点,并将异常点删除;确定删除异常点后的点云中的噪声点,并将噪声点删除。本发明经过异常点删除和噪声点删除这两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。

权利要求 :

1.一种点云噪声的去除方法,其特征在于,所述方法包括:获取点云数据;

确定所述点云中的异常点,并将所述异常点删除;

确定删除所述异常点后的所述点云中的噪声点,并将所述噪声点删除;

所述确定删除所述异常点后的所述点云中的噪声点,并将所述噪声点删除的步骤,具体包括:将所述点云分解为多个点云块,再将每个所述点云块分解为多个面片;

拟合出每个所述面片的拟合曲面,计算任一所述面片中每一点到所述拟合曲面的距离,形成所述拟合曲面的距离向量;

将所述面片建为无向图,并得到所述无向图的图拉普拉斯矩阵;

根据所述拟合曲面的距离向量和所述图拉普拉斯矩阵建立优化方程,并对所述优化方程求解,得到最优距离向量;

将所述最优距离向量与所述拟合曲面的距离向量进行比较,若绝对差值大于预设差值,则将所述点确定为所述噪声点,并对所述噪声点进行删除;

其中,所述拟合曲面为z=f(x,y),所述优化方程为 所述最优距离向量为 q为所述拟合曲面的距离向量,L为所述图拉普拉斯矩阵,I为单位矩阵,τ1、τ2为参数。

2.根据权利要求1所述的点云噪声的去除方法,其特征在于,所述确定所述点云中的异常点,并将所述异常点删除的步骤,具体包括:设置初始距离;

确定以所述点云中的任一点为中心,所述初始距离为半径的范围内的点的数量;

若所述数量小于预设值,则将所述点被确定为所述异常点,并对所述异常点进行删除。

3.根据权利要求1所述的点云噪声的去除方法,其特征在于,所述计算任一所述面片中每一点到所述拟合曲面的距离,形成所述拟合曲面的距离向量的步骤,包括:获取任一所述面片上每一所述点在x0y平面上的投影点,计算所述投影点到所述点的距离,根据所述投影点到所述点的距离选取预设步长;

根据所述预设步长在所述拟合曲面上对应地确定多个曲面点,分别计算所述点到每个所述曲面点的距离,将所述点到所述曲面点的距离中最小的距离作为所述点到所述拟合曲面的距离;

由每个所述点到所述拟合曲面的距离形成所述拟合曲面的距离向量;

其中,pi(xi,yi,zi)为所述点的坐标,p'i(xi,yi,z'i)为所述投影点的坐标,z'i=f(xi,yi),d=‖zi-z'i‖为所述投影点到所述点的距离,d/l为所述预设步长,l∈Z+,多个所述曲面点为

4.根据权利要求3所述的点云噪声的去除方法,其特征在于,所述将所述面片建为无向图,并得到所述无向图的图拉普拉斯矩阵的步骤,具体包括:将所述面片上的每一所述点作为顶点,将所述拟合曲面的距离向量作为顶点属性;

将所述面片建为无向图,根据第一计算公式计算连接所述顶点之间的边的权重;

对于任一所述顶点,选取所述顶点的多个所述边的权重中权重值由小到大的预设数量的顶点作为所述顶点的邻居点;

保留所述邻居点对应的所述边的权重,将剩余的所述边的权重置0,将所有所述边的权重作为矩阵元素形成所述无向图的带权邻接矩阵,并根据第二计算公式计算度矩阵;

将所述度矩阵与所述带权邻接矩阵的差值作为所述无向图的图拉普拉斯矩阵;

其中,所述第一计算公式为wi,j=exp(-β‖qi-qj‖2),wi,j为连接顶点i与顶点j的边的权重,β为参数,所述第二计算公式为 Di,j为所述度矩阵。

5.一种点云噪声的去除系统,其特征在于,所述系统包括:数据获取模块,用于获取点云数据;

异常点删除模块,用于确定所述点云中的异常点,并将所述异常点删除;

噪声点删除模块,用于确定删除所述异常点后的所述点云中的噪声点,并将所述噪声点删除;

所述噪声点删除模块,包括:

分解模块,用于将所述点云分解为多个点云块,再将每个所述点云块分解为多个面片;

第一计算模块,用于拟合出每个所述面片的拟合曲面,计算任一所述面片中每一点到所述拟合曲面的距离,形成所述拟合曲面的距离向量;

矩阵获取模块,用于将所述面片建为无向图,并得到所述无向图的图拉普拉斯矩阵;

所述第一计算模块,还用于根据所述拟合曲面的距离向量和所述图拉普拉斯矩阵建立优化方程,并对所述优化方程求解,得到最优距离向量;

所述噪声点删除模块,具体用于将所述最优距离向量与所述拟合曲面的距离向量进行比较,若绝对差值大于预设差值,则将所述点确定为所述噪声点,并对所述噪声点进行删除;

其中,所述拟合曲面为z=f(x,y),所述优化方程为 所述最优距离向量为 q为所述拟合曲面的距离向量,L为所述图拉普拉斯矩阵,I为单位矩阵,τ1、τ2为参数。

6.根据权利要求5所述的点云噪声的去除系统,其特征在于,所述异常点删除模块,包括:设置模块,用于设置初始距离;

数量确定模块,用于确定以所述点云中的任一点为中心,所述初始距离为半径的范围内的点的数量;

所述异常点删除模块,具体用于若所述数量小于预设值,则将所述点被确定为所述异常点,并对所述异常点进行删除。

7.根据权利要求5所述的点云噪声的去除系统,其特征在于,所述第一计算模块,具体用于:获取任一所述面片上每一所述点在x0y平面上的投影点,计算所述投影点到所述点的距离,根据所述投影点到所述点的距离选取预设步长;

根据所述预设步长在所述拟合曲面上对应地确定多个曲面点,分别计算所述点到每个所述曲面点的距离,将所述点到所述曲面点的距离中最小的距离作为所述点到所述拟合曲面的距离;

由每个所述点到所述拟合曲面的距离形成所述拟合曲面的距离向量;

其中,pi(xi,yi,zi)为所述点的坐标,p'i(xi,yi,z'i)为所述投影点的坐标,z'i=f(xi,yi),d=‖zi-z'i‖为所述投影点到所述点的距离,d/l为所述预设步长,l∈Z+,多个所述曲面点为

8.根据权利要求7所述的点云噪声的去除系统,其特征在于,所述矩阵获取模块,包括:顶点确定模块,用于将所述面片上的每一所述点作为顶点,将所述拟合曲面的距离向量作为顶点属性;

第二计算模块,用于将所述面片建为无向图,根据第一计算公式计算连接所述顶点之间的边的权重;对于任一所述顶点,选取所述顶点的多个所述边的权重中权重值由小到大的预设数量的顶点作为所述顶点的邻居点;保留所述邻居点对应的所述边的权重,将剩余的所述边的权重置0,将所有所述边的权重作为矩阵元素形成所述无向图的带权邻接矩阵,并根据第二计算公式计算度矩阵;

所述矩阵获取模块,具体用于将所述度矩阵与所述带权邻接矩阵的差值作为所述无向图的图拉普拉斯矩阵;

其中,所述第一计算公式为wi,j=exp(-β‖qi-qj‖2),wi,j为连接顶点i与顶点j的边的权重,β为参数,所述第二计算公式为 Di,j为所述度矩阵。

9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的点云噪声的去除方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的点云噪声的去除方法的步骤。

说明书 :

点云噪声的去除方法、去噪系统、计算机设备及存储介质

技术领域

[0001] 本发明涉及图像处理技术领域,具体而言,涉及一种点云噪声的去除方法、去噪系统、计算机设备及计算机可读存储介质。

背景技术

[0002] 相关技术中,采集到的图像的三维点云数据通常会带有噪声的侵蚀。在硬件方面,由于深度相机或三维激光扫描仪的精度误差,会出现噪声;软件方面,在生成点云的算法过程中由于角度测量的误差或者浮点数运算的不精确性,可能会将点置于错误的位置。在环境方面,由于环境的因素(例如空气中的灰尘,物体表面发生的漫反射等),可能会对采集的点云产生影响。
[0003] 针对类似上述的带有噪声的三维点云数据,目前有两类主流的去噪算法:基于平面的去噪算法和基于图信号处理的滤波算法。
[0004] 基于平面的去噪方法利用噪声远离物体表面这一特点,针对点云上每一个小点集,为这个点集拟合一个平面,计算每个点与平面的距离,距离过大的点将被视为噪声,从而被删除。主要包括以下三种方法:(1)首先计算出了每个点的k近邻,然后应用最小二乘法来将这些点拟合为一个平面,最终将这k近邻点移动到相应的拟合平面上达到去噪的目的。但这种方法需要用移动最小二乘法求得拟合曲面,需要求解非线性优化问题,因而计算量大,复杂度高。(2)渐近平面算法:首先提出并证明了一些定理,通过这些定理,能够很容易构造一个小点集的渐进平面。接下来便可以通过计算点与平面的距离来判断哪些点需要删除。该算法较好的去除了光滑表面的噪声,但是对于细节的处理仍然不足。(3)混合算法:同样是构造渐进平面,在构造平面的同时计算一个阈值,在计算点与平面的距离时与该阈值做比较,通过比较的结果分别采用平面投影算法和双边滤波算法。该算法在一定程度上弥补了上述算法细节处理的不足,但是部分位置仍然存在失真。
[0005] 基于滤波的去噪方法通常是在时域或者频域上执行一定的滤波规则进行去噪。主要包括以下三种方法:(1)首先对三维点云数据进行分块处理,然后对每个块重新采样点数据。最后将离散傅立叶谱分析应用于数字图像处理中,对采样数据进行降噪处理。(2)采用图信号处理的方式进行降噪:使用k近邻算法将点云构建为一个无向图,同时建立优化方程,通过求解优化方程的方式对点云进行降噪。此方法消除了一定程度的噪声,但是针对信噪比较低的三维点云数据时,该方法的效果很差。(3)将改进的C-Means(C均值)算法与双边滤波算法结合起来的去噪算法:首先使用改进过的C-Means算法删除一些大规模的噪声,主要通过每个C-Means分类的大小来判断相关点是否为噪声。接下来使用双边滤波算法来平滑剩余的规模较小的噪声。通过以上两步对三维点云数据进行去噪。
[0006] 以上方法主要具有以下两个局限性:(1)在上述工作中均并没有指出点云的噪声的分布情况,对于部分的工作,也仅仅是在原有的点云数据的基础上增加的轻微的高斯白噪声,然后对点云上的高斯白噪声进行去噪,因此这些方法具有较明显的局限性。(2)上述工作大部分适用于表面规则的凸几何体,而对于结构复杂的点云,使用上述方法得到的效果不是很理想,相应的算法复杂度也非常高。

发明内容

[0007] 本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
[0008] 为此,本发明的一个方面在于提出了一种点云噪声的去除方法。
[0009] 本发明的另一个方面在于提出了一种点云噪声的去除系统。
[0010] 本发明的再一个方面在于提出了一种计算机设备。
[0011] 本发明的又一个方面在于提出了一种计算机可读存储介质。
[0012] 有鉴于此,根据本发明的一个方面,提出了一种点云噪声的去除方法,包括:获取点云数据;确定点云中的异常点,并将异常点删除;确定删除异常点后的点云中的噪声点,并将噪声点删除。
[0013] 本发明提供的点云噪声的去除方法,包括两个主要步骤:异常值删除、表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0014] 根据本发明的上述点云噪声的去除方法,还可以具有以下技术特征:
[0015] 在上述技术方案中,优选地,确定点云中的异常点,并将异常点删除的步骤,具体包括:设置初始距离;确定以点云中的任一点为中心,初始距离为半径的范围内的点的数量;若数量小于预设值,则将点被确定为异常点,并对异常点进行删除。
[0016] 在该技术方案中,对于任意的带有噪声的点云,如果点云中有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,需要将其删除。具体为,首先选定一个合适的初始距离,即初始半径,然后针对点云中的每一个点,计算以该点为球心,初始距离为半径的球内包括的点的数量,即计算出每个点对应的邻居点数量。此时可以选择一个预设值,邻居点数量小于该预设值的点将被视为异常点而被删除。实现通过点与点之间的距离关系精确地识别出异常点,进而进行对点云中点的初步去噪。
[0017] 在上述任一技术方案中,优选地,确定删除异常点后的点云中的噪声点,并将噪声点删除的步骤,具体包括:将点云分解为多个点云块,再将每个点云块分解为多个面片;拟合出每个面片的拟合曲面,计算任一面片中每一点到拟合曲面的距离,形成拟合曲面的距离向量;将面片建为无向图,并得到无向图的图拉普拉斯矩阵;根据拟合曲面的距离向量和图拉普拉斯矩阵建立优化方程,并对优化方程求解,得到最优距离向量;将最优距离向量与拟合曲面的距离向量进行比较,若绝对差值大于预设差值,则将点确定为噪声点,并对噪声点进行删除;其中,拟合曲面为z=f(x,y),优化方程为 最优距离向量为 q为拟合曲面的距离向量,L为图拉普拉斯矩阵,I
为单位矩阵,τ1、τ2为参数。
[0018] 在该技术方案中,在进行噪声点删除时,首先使用八叉树分解算法将每个点云分解为若干个点云块,在将每个点云块利用Normalized Cuts(归一划割)算法分解为若干个面片,使用多项式曲面拟合算法为每一个面片拟合出曲面的解析式,针对每一个面片,计算该面片中每个点到拟合曲面的距离,形成距离向量。使用k-NN(K Nearest Neighbor,K邻近)算法将面片建为一个无向图,并得到该无向图的图拉普拉斯矩阵。根据得到的距离向量和图拉普拉斯矩阵建立优化方程,对优化方程进行求解,得到最优距离向量。将求解得到的最优距离向量与计算得到的距离向量进行比较,差距较大的点将被视为噪声点,从而被删除。通过上述方法增加了辨别噪声点的精准度,减小计算复杂度,提高了计算速度。
[0019] 在上述任一技术方案中,优选地,计算任一面片中每一点到拟合曲面的距离,形成拟合曲面的距离向量的步骤,包括:获取任一面片上每一点在x0y平面上的投影点,计算投影点到点的距离,根据投影点到点的距离选取预设步长;根据预设步长在拟合曲面上对应地确定多个曲面点,分别计算点到每个曲面点的距离,将点到曲面点的距离中最小的距离作为点到拟合曲面的距离;由每个点到拟合曲面的距离形成拟合曲面的距离向量;其中,pi(xi,yi,zi)为点的坐标,p'i(xi,yi,z'i)为投影点的坐标,z'i=f(xi,yi),d=||zi-z'i||为投影点到点的距离,d/l为预设步长,l∈Z+,多个曲面点为
[0020] 在该技术方案中,针对面片上的任意一点,计算该点在x0y平面上的投影点,计算投影点到该点的距离,接下来选取一个步长,根据该步长在曲面上生成若干个曲面点,点到拟合曲面的距离便可以认为是该点到上述曲面点距离的最小值。计算出面片上所有点到拟合曲面的距离,形成距离向量,进而利用该距离向量实现对噪声点的准确辨别。
[0021] 在上述任一技术方案中,优选地,将面片建为无向图,并得到无向图的图拉普拉斯矩阵的步骤,具体包括:将面片上的每一点作为顶点,将拟合曲面的距离向量作为顶点属性;将面片建为无向图,根据第一计算公式计算连接顶点之间的边的权重;对于任一顶点,选取顶点的多个边的权重中权重值由小到大的预设数量的顶点作为顶点的邻居点;保留邻居点对应的边的权重,将剩余的边的权重置0,将所有边的权重作为矩阵元素形成无向图的带权邻接矩阵,并根据第二计算公式计算度矩阵;将度矩阵与带权邻接矩阵的差值作为无向图的图拉普拉斯矩阵;其中,第一计算公式为wi,j=exp(-β||qi-qj||2),wi,j为连接顶点i与顶点j的边的权重,β为参数,第二计算公式为 Di,j为度矩阵。
[0022] 在该技术方案中,根据谱图理论,使用k-NN算法将面片建为一个无向图,每个点的坐标可以被看作是在无向图上定义的图信号,这里将拟合曲面的距离向量作为图信号。其中,图信号是指驻留在图的顶点上的数据,例如社交网络、交通网络、传感器网络和神经元网络。在建图过程中,判断顶点互相连接的方法是通过比较两点之间的权重,确定任一顶点的邻居点,具体为将权重值较小的k个顶点作为该顶点的邻居点,根据是否为邻居点确定无向图的带权邻接矩阵的元素,进一步地计算出度矩阵。最后将度矩阵与带权邻接矩阵的差值作为无向图的图拉普拉斯矩阵,进而利用该图拉普拉斯矩阵实现对噪声点的准确辨别。
[0023] 根据本发明的另一个方面,提出了一种点云噪声的去除系统,包括:数据获取模块,用于获取点云数据;异常点删除模块,用于确定点云中的异常点,并将异常点删除;噪声点删除模块,用于确定删除异常点后的点云中的噪声点,并将噪声点删除。
[0024] 本发明提供的点云噪声的去除系统,主要包括:异常值删除、表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0025] 根据本发明的上述点云噪声的去除系统,还可以具有以下技术特征:
[0026] 在上述技术方案中,优选地,异常点删除模块,包括:设置模块,用于设置初始距离;数量确定模块,用于确定以点云中的任一点为中心,初始距离为半径的范围内的点的数量;异常点删除模块,具体用于若数量小于预设值,则将点被确定为异常点,并对异常点进行删除。
[0027] 在该技术方案中,对于任意的带有噪声的点云,如果点云中有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,需要将其删除。具体为,首先选定一个合适的初始距离,即初始半径,然后针对点云中的每一个点,计算以该点为球心,初始距离为半径的球内包括的点的数量,即计算出每个点对应的邻居点数量。此时可以选择一个预设值,邻居点数量小于该预设值的点将被视为异常点而被删除。实现通过点与点之间的距离关系精确地识别出异常点,进而进行对点云中点的初步去噪。
[0028] 在上述任一技术方案中,优选地,噪声点删除模块,包括:分解模块,用于将点云分解为多个点云块,再将每个点云块分解为多个面片;第一计算模块,用于拟合出每个面片的拟合曲面,计算任一面片中每一点到拟合曲面的距离,形成拟合曲面的距离向量;矩阵获取模块,用于将面片建为无向图,并得到无向图的图拉普拉斯矩阵;第一计算模块,还用于根据拟合曲面的距离向量和图拉普拉斯矩阵建立优化方程,并对优化方程求解,得到最优距离向量;噪声点删除模块,具体用于将最优距离向量与拟合曲面的距离向量进行比较,若绝对差值大于预设差值,则将点确定为噪声点,并对噪声点进行删除;其中,拟合曲面为z=f(x,y),优化方程为 最优距离向量为q为拟合曲面的距离向量,L为图拉普拉斯矩阵,I为单位矩阵,τ1、τ2为参数。
[0029] 在该技术方案中,在进行噪声点删除时,首先使用八叉树分解算法将每个点云分解为若干个点云块,在将每个点云块利用Normalized Cuts算法分解为若干个面片,使用多项式曲面拟合算法为每一个面片拟合出曲面的解析式,针对每一个面片,计算该面片中每个点到拟合曲面的距离,形成距离向量。使用k-NN算法将面片建为一个无向图,并得到该无向图的图拉普拉斯矩阵。根据得到的距离向量和图拉普拉斯矩阵建立优化方程,对优化方程进行求解,得到最优距离向量。将求解得到的最优距离向量与计算得到的距离向量进行比较,差距较大的点将被视为噪声点,从而被删除。通过上述方法增加了辨别噪声点的精准度,减小计算复杂度,提高了计算速度。
[0030] 在上述任一技术方案中,优选地,第一计算模块,具体用于:获取任一面片上每一点在x0y平面上的投影点,计算投影点到点的距离,根据投影点到点的距离选取预设步长;根据预设步长在拟合曲面上对应地确定多个曲面点,分别计算点到每个曲面点的距离,将点到曲面点的距离中最小的距离作为点到拟合曲面的距离;由每个点到拟合曲面的距离形成拟合曲面的距离向量;其中,pi(xi,yi,zi)为点的坐标,p'i(xi,yi,z'i)为投影点的坐标,z'i=f(xi,yi),d=||zi-z'i||为投影点到点的距离,d/l为预设步长,l∈Z+,多个曲面点为[0031] 在该技术方案中,针对面片上的任意一点,计算该点在x0y平面上的投影点,计算投影点到该点的距离,接下来选取一个步长,根据该步长在曲面上生成若干个曲面点,点到拟合曲面的距离便可以认为是该点到上述曲面点距离的最小值。计算出面片上所有点到拟合曲面的距离,形成距离向量,进而利用该距离向量实现对噪声点的准确辨别。
[0032] 在上述任一技术方案中,优选地,矩阵获取模块,包括:顶点确定模块,用于将面片上的每一点作为顶点,将拟合曲面的距离向量作为顶点属性;第二计算模块,用于将面片建为无向图,根据第一计算公式计算连接顶点之间的边的权重;对于任一顶点,选取顶点的多个边的权重中权重值由小到大的预设数量的顶点作为顶点的邻居点;保留邻居点对应的边的权重,将剩余的边的权重置0,将所有边的权重作为矩阵元素形成无向图的带权邻接矩阵,并根据第二计算公式计算度矩阵;矩阵获取模块,具体用于将度矩阵与带权邻接矩阵的差值作为无向图的图拉普拉斯矩阵;其中,第一计算公式为wi,j=exp(-β||qi-qj||2),wi,j为连接顶点i与顶点j的边的权重,β为参数,第二计算公式为 Di,j为度矩阵。
[0033] 在该技术方案中,根据谱图理论,使用k-NN算法将面片建为一个无向图,每个点的坐标可以被看作是在无向图上定义的图信号,这里将拟合曲面的距离向量作为图信号。其中,图信号是指驻留在图的顶点上的数据,例如社交网络、交通网络、传感器网络和神经元网络。在建图过程中,判断顶点互相连接的方法是通过比较两点之间的权重,确定任一顶点的邻居点,具体为将权重值较小的k个顶点作为该顶点的邻居点,根据是否为邻居点确定无向图的带权邻接矩阵的元素,进一步地计算出度矩阵。最后将度矩阵与带权邻接矩阵的差值作为无向图的图拉普拉斯矩阵,进而利用该图拉普拉斯矩阵实现对噪声点的准确辨别。
[0034] 根据本发明的再一个方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一项的点云噪声的去除方法的步骤。
[0035] 本发明提供的计算机设备,处理器执行计算机程序时实现异常值删除和表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0036] 根据本发明的又一个方面,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项的点云噪声的去除方法的步骤。
[0037] 本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现异常值删除和表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0038] 本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

附图说明

[0039] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0040] 图1示出了本发明的一个实施例的点云噪声的去除方法的流程示意图;
[0041] 图2示出了本发明的另一个实施例的点云噪声的去除方法的流程示意图;
[0042] 图3示出了本发明的再一个实施例的点云噪声的去除方法的流程示意图;
[0043] 图4a示出了本发明的一个实施例的原始点云示意图;
[0044] 图4b示出了本发明的一个实施例的添加噪声后的点云示意图;
[0045] 图4c示出了本发明的一个实施例的去噪后的点云示意图;
[0046] 图5a示出了本发明的另一个实施例的原始点云示意图;
[0047] 图5b示出了本发明的另一个实施例的添加噪声后的点云示意图;
[0048] 图5c示出了本发明的另一个实施例的去噪后的点云示意图;
[0049] 图6示出了本发明的一个实施例的点云噪声的去除系统的示意框图;
[0050] 图7示出了本发明的另一个实施例的点云噪声的去除系统的示意框图;
[0051] 图8示出了本发明的再一个实施例的点云噪声的去除系统的示意框图;
[0052] 图9示出了本发明的一个实施例的计算机设备的示意框图。

具体实施方式

[0053] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0054] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
[0055] 首先介绍一下谱图理论,谱图理论将是本发明实施例的核心。谱图理论包括以下几个内容:
[0056] (1)图和图拉普拉斯算子:
[0057] 定义一个无向图,G={V,E,W}。V为图上顶点的集合,|V|=N;E为边的集合;W为带权邻接矩阵。其中W是一个N×N的实对称矩阵,wi,j是连接顶点i与顶点j的边的权重,通常使用非负值作为权重。
[0058] 图拉普拉斯算子通常被定义为L=D-W,其中D为对角矩阵,
[0059] (2)图信号和图信号平滑理论:
[0060] 图信号是指驻留在图的顶点上的数据,例如社交网络,交通网络,传感器网络和神经元网络。例如,如果在点云上构造一个k-NN图,那么每个点的坐标可以被看作是在k-NN图上定义的图信号。
[0061] 对于在图G上定义的信号z,如果满足下述条件,那么称信号z相对于G的拓扑结构是平滑的:
[0062]
[0063] 其中,∈是一个参数,i~j表示图中相连的两个顶点。为了满足上述公式,zi和zj相对于权重较大的边时必须相似,对于权重较小的边时zi和zj可能完全不同。因此,上述公式强制z适应G的拓扑结构,从而创造了图信号的平滑性。由于zTLz=∑i~jwi,j(zi-zj)2,上述公式还可以写为zTLz<∈。这个理论将在后续的步骤中使用。
[0064] 本发明第一方面的实施例,提出一种点云噪声的去除方法,图1示出了本发明的一个实施例的点云噪声的去除方法的流程示意图。其中,该方法包括:
[0065] 步骤102,获取点云数据;
[0066] 步骤104,确定点云中的异常点,并将异常点删除;
[0067] 步骤106,确定删除异常点后的点云中的噪声点,并将噪声点删除。
[0068] 本发明提供的点云噪声的去除方法,包括两个主要步骤:异常值删除、表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0069] 图2示出了本发明的另一个实施例的点云噪声的去除方法的流程示意图。其中,该方法包括:
[0070] 步骤202,获取点云数据;
[0071] 步骤204,设置初始距离;确定以点云中的任一点为中心,初始距离为半径的范围内的点的数量;若数量小于预设值,则将点被确定为异常点,并对异常点进行删除;
[0072] 步骤206,确定删除异常点后的点云中的噪声点,并将噪声点删除。
[0073] 在该实施例中,对于任意的带有噪声的点云,如果点云中有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,需要将其删除。具体为,首先选定一个合适的初始距离,即初始半径,然后针对点云中的每一个点,计算以该点为球心,初始距离为半径的球内包括的点的数量,即计算出每个点对应的邻居点数量。此时可以选择一个预设值,邻居点数量小于该预设值的点将被视为异常点而被删除。实现通过点与点之间的距离关系精确地识别出异常点,进而进行对点云中点的初步去噪。
[0074] 图3示出了本发明的再一个实施例的点云噪声的去除方法的流程示意图。其中,该方法包括:
[0075] 步骤302,获取点云数据。
[0076] 步骤304,设置初始距离;确定以点云中的任一点为中心,初始距离为半径的范围内的点的数量;若数量小于预设值,则将点被确定为异常点,并对异常点进行删除。
[0077] 对于任意的带有噪声的点云,如果点云中有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,需要将其删除。具体为,首先选定一个合适的初始距离,即初始半径,然后针对点云中的每一个点,计算以该点为球心,初始距离为半径的球内包括的点的数量,即计算出每个点对应的邻居点数量。此时可以选择一个预设值,邻居点数量小于该预设值的点将被视为异常点而被删除。实现通过点与点之间的距离关系精确地识别出异常点,进而进行对点云中点的初步去噪。
[0078] 步骤306,将点云分解为多个点云块。使用八叉树分解算法将点云分解为若干个块,重复步骤308至316循环处理每一个点云块。
[0079] 步骤308,将每个点云块分解为多个面片。针对每一个点云块,实施Normalized Cuts算法将其分解为若干个面片,重复步骤310至316循环处理每一个面片。
[0080] 步骤310,使用多项式曲面拟合算法拟合出每个面片的拟合曲面,计算任一面片中每一点到拟合曲面的距离,形成拟合曲面的距离向量。所求得的拟合曲面的解析式为:
[0081] z=f(x,y)
[0082] 其中,计算任一面片中每一点到拟合曲面的距离,形成拟合曲面的距离向量,可以包括:针对面片上的任一点pi(xi,yi,zi),计算该点在x0y平面上的投影点p'i(xi,yi,z'i),其中z'i=f(xi,yi);计算投影点p'i到点pi的距离d=||zi-z'i||,根据投影点p'i到点pi的距离选取预设步长d/l;根据预设步长d/l在拟合曲面上对应地确定多个曲面点:
[0083]
[0084] 分别计算点pi到每个曲面点的距离,将点pi到曲面点的距离中最小的距离作为点到拟合曲面的距离;面片上每个点到曲面的距离使用向量q表示。
[0085] 步骤312,将面片建为无向图,并得到无向图的图拉普拉斯矩阵。
[0086] 将面片上的每一点pi作为顶点,将拟合曲面的距离向量q作为顶点属性;应用k-NN算法将面片建为无向图,根据第一计算公式计算连接顶点之间的边的权重。其中,第一计算公式为:
[0087] wi,j=exp(-β||qi-qj||2)
[0088] wi,j为连接顶点i与顶点j的边的权重,β为参数。
[0089] 对于任一顶点pi,选取其多个边的权重中权重值由小到大的k个顶点作为顶点pi的邻居点;保留邻居点对应的边的权重,将剩余的边的权重置0,则连接顶点之间的边的权重表示为:
[0090]
[0091] 其中,pi~pj表示相连的两个顶点。
[0092] 将所有边的权重作为矩阵元素形成无向图的带权邻接矩阵W,并根据第二计算公式计算度矩阵D,第二计算公式为:
[0093]
[0094] 将度矩阵与带权邻接矩阵的差值D-W作为无向图的图拉普拉斯矩阵L。
[0095] 步骤314,根据拟合曲面的距离向量和图拉普拉斯矩阵建立优化方程,并对优化方程求解,得到最优距离向量。其中,优化方程为:
[0096]
[0097] 最优距离向量为:
[0098]
[0099] I为单位矩阵,τ1、τ2为参数。
[0100] 步骤316,将最优距离向量与拟合曲面的距离向量进行比较,若绝对差值大于距离阈值,则将点确定为噪声点,并对噪声点进行删除。即对于任一顶点pi,若 h为距离阈值,则顶点pi被确定为噪声点。
[0101] 图4a示出了本发明的一个实施例的原始点云示意图,图4b示出了本发明的一个实施例的添加噪声后的点云示意图,其中添加的噪声的信噪比为30,图4c示出了本发明的一个实施例的去噪后的点云示意图。图5a示出了本发明的另一个实施例的原始点云示意图,图5b示出了本发明的另一个实施例的添加噪声后的点云示意图,其中添加的噪声的信噪比为10,图5c示出了本发明的另一个实施例的去噪后的点云示意图。由图4a至图4c,以及图5a至图5c可见,利用本发明实施例的点云噪声的去除方法进行点云去噪的效果较理想。
[0102] 本发明第二方面的实施例,提出一种点云噪声的去除系统,图6示出了本发明的一个实施例的点云噪声的去除系统600的示意框图。其中,该系统600包括:
[0103] 数据获取模块602,用于获取点云数据;异常点删除模块604,用于确定点云中的异常点,并将异常点删除;噪声点删除模块606,用于确定删除异常点后的点云中的噪声点,并将噪声点删除。
[0104] 本发明提供的点云噪声的去除系统600,主要包括:异常值删除、表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0105] 图7示出了本发明的另一个实施例的点云噪声的去除系统700的示意框图。其中,该系统700包括:
[0106] 数据获取模块702,用于获取点云数据;
[0107] 异常点删除模块704,用于确定点云中的异常点,并将异常点删除;
[0108] 异常点删除模块704,包括:设置模块742,用于设置初始距离;数量确定模块744,用于确定以点云中的任一点为中心,初始距离为半径的范围内的点的数量;异常点删除模块704,具体用于若数量小于预设值,则将点被确定为异常点,并对异常点进行删除;
[0109] 噪声点删除模块706,用于确定删除异常点后的点云中的噪声点,并将噪声点删除;
[0110] 噪声点删除模块706,包括:分解模块762,用于将点云分解为多个点云块,再将每个点云块分解为多个面片;第一计算模块764,用于拟合出每个面片的拟合曲面,计算任一面片中每一点到拟合曲面的距离,形成拟合曲面的距离向量;矩阵获取模块766,用于将面片建为无向图,并得到无向图的图拉普拉斯矩阵;第一计算模块764,还用于根据拟合曲面的距离向量和图拉普拉斯矩阵建立优化方程,并对优化方程求解,得到最优距离向量;噪声点删除模块706,具体用于将最优距离向量与拟合曲面的距离向量进行比较,若绝对差值大于预设差值,则将点确定为噪声点,并对噪声点进行删除。
[0111] 其中,拟合曲面为z=f(x,y),优化方程为 最优距离向量为 q为拟合曲面的距离向量,L为图拉普拉斯矩阵,I为单
位矩阵,τ1、τ2为参数。
[0112] 在该实施例中,对于任意的带有噪声的点云,如果点云中有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,需要将其删除。具体为,首先选定一个合适的初始距离,即初始半径,然后针对点云中的每一个点,计算以该点为球心,初始距离为半径的球内包括的点的数量,即计算出每个点对应的邻居点数量。此时可以选择一个预设值,邻居点数量小于该预设值的点将被视为异常点而被删除。实现通过点与点之间的距离关系精确地识别出异常点,进而进行对点云中点的初步去噪。
[0113] 在进行噪声点删除时,首先使用八叉树分解算法将每个点云分解为若干个点云块,在将每个点云块利用Normalized Cuts算法分解为若干个面片,使用多项式曲面拟合算法为每一个面片拟合出曲面的解析式,针对每一个面片,计算该面片中每个点到拟合曲面的距离,形成距离向量。使用k-NN算法将面片建为一个无向图,并得到该无向图的图拉普拉斯矩阵。根据得到的距离向量和图拉普拉斯矩阵建立优化方程,对优化方程进行求解,得到最优距离向量。将求解得到的最优距离向量与计算得到的距离向量进行比较,差距较大的点将被视为噪声点,从而被删除。通过上述方法增加了辨别噪声点的精准度,减小计算复杂度,提高了计算速度。
[0114] 图8示出了本发明的再一个实施例的点云噪声的去除系统800的示意框图。其中,该系统800包括:
[0115] 数据获取模块802,用于获取点云数据。
[0116] 异常点删除模块804,用于确定点云中的异常点,并将异常点删除。
[0117] 异常点删除模块804,包括:设置模块842,用于设置初始距离;数量确定模块844,用于确定以点云中的任一点为中心,初始距离为半径的范围内的点的数量;异常点删除模块804,具体用于若数量小于预设值,则将点被确定为异常点,并对异常点进行删除。
[0118] 噪声点删除模块806,用于确定删除异常点后的点云中的噪声点,并将噪声点删除。
[0119] 噪声点删除模块806,包括:分解模块862,用于将点云分解为多个点云块,再将每个点云块分解为多个面片。
[0120] 第一计算模块864,用于拟合出每个面片的拟合曲面,计算任一面片中每一点到拟合曲面的距离,形成拟合曲面的距离向量。
[0121] 具体为,获取任一面片上每一点在x0y平面上的投影点,计算投影点到点的距离,根据投影点到点的距离选取预设步长;根据预设步长在拟合曲面上对应地确定多个曲面点,分别计算点到每个曲面点的距离,将点到曲面点的距离中最小的距离作为点到拟合曲面的距离;由每个点到拟合曲面的距离形成拟合曲面的距离向量;其中,pi(xi,yi,zi)为点的坐标,p'i(xi,yi,z'i)为投影点的坐标,z'i=f(xi,yi),d=||zi-z'i||为投影点到点的距离,d/l为预设步长,l∈Z+,多个曲面点为
[0122] 矩阵获取模块866,用于将面片建为无向图,并得到无向图的图拉普拉斯矩阵。
[0123] 矩阵获取模块866,包括:顶点确定模块820,用于将面片上的每一点作为顶点,将拟合曲面的距离向量作为顶点属性;第二计算模块822,用于将面片建为无向图,根据第一计算公式计算连接顶点之间的边的权重;对于任一顶点,选取顶点的多个边的权重中权重值由小到大的预设数量的顶点作为顶点的邻居点;保留邻居点对应的边的权重,将剩余的边的权重置0,将所有边的权重作为矩阵元素形成无向图的带权邻接矩阵,并根据第二计算公式计算度矩阵;矩阵获取模块866,具体用于将度矩阵与带权邻接矩阵的差值作为无向图的图拉普拉斯矩阵;其中,第一计算公式为wi,j=exp(-β||qi-qj||2),wi,j为连接顶点i与顶点j的边的权重,β为参数,第二计算公式为 Di,j为度矩阵。
[0124] 第一计算模块864,还用于根据拟合曲面的距离向量和图拉普拉斯矩阵建立优化方程,并对优化方程求解,得到最优距离向量。
[0125] 噪声点删除模块806,具体用于将最优距离向量与拟合曲面的距离向量进行比较,若绝对差值大于预设差值,则将点确定为噪声点,并对噪声点进行删除。
[0126] 其中,拟合曲面为z=f(x,y),优化方程为 最优距离向量为 q为拟合曲面的距离向量,L为图拉普拉斯矩阵,I为单
位矩阵,τ1、τ2为参数。
[0127] 在该实施例中,针对面片上的任意一点,计算该点在x0y平面上的投影点,计算投影点到该点的距离,接下来选取一个步长,根据该步长在曲面上生成若干个曲面点,点到拟合曲面的距离便可以认为是该点到上述曲面点距离的最小值。计算出面片上所有点到拟合曲面的距离,形成距离向量,进而利用该距离向量实现对噪声点的准确辨别。
[0128] 根据谱图理论,使用k-NN算法将面片建为一个无向图,每个点的坐标可以被看作是在无向图上定义的图信号,这里将拟合曲面的距离向量作为图信号。其中,图信号是指驻留在图的顶点上的数据,例如社交网络、交通网络、传感器网络和神经元网络。在建图过程中,判断顶点互相连接的方法是通过比较两点之间的权重,确定任一顶点的邻居点,具体为将权重值较小的k个顶点作为该顶点的邻居点,根据是否为邻居点确定无向图的带权邻接矩阵的元素,进一步地计算出度矩阵。最后将度矩阵与带权邻接矩阵的差值作为无向图的图拉普拉斯矩阵,进而利用该图拉普拉斯矩阵实现对噪声点的准确辨别。
[0129] 本发明第三方面的实施例,提出一种计算机设备,图9示出了本发明的一个实施例的计算机设备900的示意框图。其中,该计算机设备900包括:
[0130] 存储器902、处理器904及存储在存储器902上并可在处理器904上运行的计算机程序,处理器904执行计算机程序时实现如上述任一项的点云噪声的去除方法的步骤。
[0131] 本发明提供的计算机设备900,处理器904执行计算机程序时实现异常值删除和表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0132] 本发明第四方面的实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项的点云噪声的去除方法的步骤。
[0133] 本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现异常值删除和表面噪声删除。在异常值删除过程中,如果有一些点远离点云主体,并且非常稀疏,那么这些点将被视为异常点,将会被直接删除。将异常点删除之后,还会有一些噪声仍然漂浮在图像表面,这些点称作噪声点,对噪声点进行删除。本发明经过以上两个主要步骤后达到点云去噪的目的,在达到较好的点云去噪的效果的同时,提高了点云去噪的处理速度。
[0134] 在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0135] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。