CN108648156B - 点云数据中杂散点标记方法、装置、电子设备及存储介质 - Google Patents
点云数据中杂散点标记方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN108648156B CN108648156B CN201810431794.5A CN201810431794A CN108648156B CN 108648156 B CN108648156 B CN 108648156B CN 201810431794 A CN201810431794 A CN 201810431794A CN 108648156 B CN108648156 B CN 108648156B
- Authority
- CN
- China
- Prior art keywords
- point
- cloud
- points
- stray
- neighborhood
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000002372 labelling Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明实施例提供了一种点云数据中杂散点标记方法、装置、电子设备及存储介质,其中,该方法包括:获取三维点云数据中第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径,其中,位置信息包括:第一云点与三维点云数据的中心的距离,第一云点的俯仰角以及第一云点的方位角,统计第一云点的邻域半径内云点的数量,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,并对杂散点进行标记,得到标记有杂散点的三维点云数据。从而可以使得不同位置的云点,具有不同的邻域半径,可以实现通过与位置相关的邻域半径来确定三维点云数据中的杂散点,可以实现对点的分布不均匀的点云数据中的杂散点进行标记。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种点云数据中杂散点标记方法、装置、电子设备及存储介质。
背景技术
点云数据是通过各种三维数据采集设备采集得到的表达物体表面信息和空间分布的三维数据点的集合,通常以非结构化的云点的形式进行表示,是空间上离散的几何点。在实际应用中,通过三维数据采集设备进行点云数据采集时,由于人为的影响、仪器自身的误差以及采集环境的干扰等,采集得到的点云数据中会掺入杂散点,而杂散点会影响使用点云数据进行三维重建的精度,因此,需要对点云数据中的杂散点进行移除。
目前,移除杂散点的算法主要有基于距离、基于密度和基于聚类的杂散点移除算法。DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类算法)算法作为杂散点移除算法中的一种代表算法,是一种基于密度的、高密度连通的聚类算法。
具体地,DBSCAN算法以用户输入的点云数据、邻域半径以及邻域密度阈值为输入,以直接密度可达和密度相连两条准则对点云数据进行分簇,然后将点云数据中,不属于任一个簇的云点标记为杂散点,进而移除该杂散点。然而,发明人发现该DBSCAN算法存在以下问题:
由于DBSCAN算法中的邻域半径是不变的,因此,该DBSCAN算法并不适用于对点的分布不均匀的点云数据中的杂散点进行标记。
发明内容
本发明实施例的目的在于提供一种点云数据中杂散点标记方法、装置、电子设备及存储介质,以实现对点的分布不均匀的点云数据中的杂散点进行标记。具体技术方案如下:
第一方面,本发明实施例提供了一种点云数据中杂散点标记方法,该方法包括:
获取三维点云数据中第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径,其中,位置信息包括:第一云点与三维点云数据的中心的距离,第一云点的俯仰角以及第一云点的方位角,第一云点为三维点云数据中除杂散点外的任一云点;
统计第一云点的邻域半径内云点的数量,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,并对杂散点进行标记,得到标记有杂散点的三维点云数据。
可选的,根据第一云点在三维点云数据中的位置信息,计算第一云点的邻域半径,包括:
根据第一云点与三维点云数据的中心的距离r,第一云点的俯仰角β以及第一云点的方位角α,通过第二公式
计算第一云点的邻域半径eps。
可选的,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,包括:
在第一云点的邻域半径内的云点的数量为0时,将第一云点标记为杂散点。
可选的,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,包括:
获取预设邻域点数量阈值和预设杂散点条件,其中,预设杂散点条件为:第一云点的第一邻域点和第二邻域点中至少有一点,与第一云点的距离大于第一云点的邻域半径,且第一云点的第一线段和第一云点的第二线段的夹角小于预设夹角阈值,邻域点为:对以第一云点为原点的三维坐标系进行N等分后,得到的N个部分的每个部分中,距离第一云点最近的云点,第一邻域点为邻域点中,与第一云点的距离最近的云点,第二邻域点为邻域点中,与第一云点的距离次近的云点,第一线段为第一云点与第一邻域点构成的线段,第二线段为第一云点与第二邻域点构成的线段;
在第一云点的邻域半径内的云点的数量大于0且小于预设邻域点数量阈值时,判断第一云点是否满足预设杂散点条件;
当第一云点满足预设杂散点条件时,将第一云点标记为杂散点。
可选的,在获取预设邻域点数量阈值和预设杂散点条件之后,本发明实施例的一种点云数据中杂散点标记方法,还包括:
在第一云点的邻域半径内云点的数量等于预设邻域点数量阈值时,以第一云点为核心点,根据第一云点的邻域半径和预设邻域点数量阈值,通过DBSCAN算法对三维点云数据进行分簇,得到分簇后的三维点云数据;
将分簇后的三维点云数据中不属于任一个簇的点标记为杂散点。
可选的,在对杂散点进行标记,得到标记有杂散点的三维点云数据之后,本发明实施例的一种点云数据中杂散点标记方法,还包括:
对标记有杂散点的三维点云数据进行修正处理,得到修正后的三维点云数据,其中,修正处理包括:删除杂散点,改变杂散点的位置信息。
第二方面,本发明实施例还提供了一种点云数据中杂散点标记装置,该装置包括:
计算模块,用于获取三维点云数据中第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径,其中,位置信息包括:第一云点与三维点云数据的中心的距离,第一云点的俯仰角以及第一云点的方位角,第一云点为三维点云数据中除杂散点外的任一云点;
标记模块,用于统计第一云点的邻域半径内云点的数量,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,并对杂散点进行标记,得到标记有杂散点的三维点云数据。
可选的,计算模块,具体用于:
根据第一云点与三维点云数据的中心的距离r,第一云点的俯仰角β以及第一云点的方位角α,通过第二公式
计算第一云点的邻域半径eps。
可选的,标记模块,具体用于:
在第一云点的邻域半径内的云点的数量为0时,将第一云点标记为杂散点。
可选的,标记模块,包括:
获取子模块,用于获取预设邻域点数量阈值和预设杂散点条件,其中,预设杂散点条件为:第一云点的第一邻域点和第二邻域点中至少有一点,与第一云点的距离大于第一云点的邻域半径,且第一云点的第一线段和第一云点的第二线段的夹角小于预设夹角阈值,邻域点为:对以第一云点为原点的三维坐标系进行N等分后,得到的N个部分的每个部分中,距离第一云点最近的云点,第一邻域点为邻域点中,与第一云点的距离最近的云点,第二邻域点为邻域点中,与第一云点的距离次近的云点,第一线段为第一云点与第一邻域点构成的线段,第二线段为第一云点与第二邻域点构成的线段;
判断子模块,用于在第一云点的邻域半径内的云点的数量大于0且小于预设邻域点数量阈值时,判断第一云点是否满足预设杂散点条件;
第一标记子模块,用于当第一云点满足预设杂散点条件时,将第一云点标记为杂散点。
可选的,标记模块,还包括:
分簇子模块,用于在第一云点的邻域半径内云点的数量等于预设邻域点数量阈值时,以第一云点为核心点,根据第一云点的邻域半径和预设邻域点数量阈值,通过DBSCAN算法对三维点云数据进行分簇,得到分簇后的三维点云数据;
第二标记子模块,用于将分簇后的三维点云数据中不属于任一个簇的点标记为杂散点。
可选的,本发明实施例的一种点云数据中杂散点标记装置,还包括:
修正模块,用于对标记有杂散点的三维点云数据进行修正处理,得到修正后的三维点云数据,其中,修正处理包括:删除杂散点,改变杂散点的位置信息。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现以上任一所述的点云数据中杂散点标记方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现以上任一所述的点云数据中杂散点标记方法。
本发明实施例提供的一种点云数据中杂散点标记方法、装置、电子设备及存储介质,在接收到三维点云数据后,可以从该三维点云数据中获取第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径。从而可以使得不同位置的云点,具有不同的邻域半径,进而可以实现在统计不同云点的邻域半径内云点的数量时,采用不同的邻域半径进行统计,由于不同的第一云点具有不同的邻域半径,在根据第一云点的邻域半径内云点的数量确定并标记三维点云数据中的杂散点时,可以基于不同的邻域半径进行确定的,因此,可以实现通过与位置相关的邻域半径来确定三维点云数据中的杂散点,可以实现对点的分布不均匀的点云数据中的杂散点进行标记。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种点云数据中杂散点标记方法第一种实施方式的流程图;
图2为本发明实施例的一种点云数据中杂散点标记方法中第一云点在球面坐标系中的示意图;
图3为本发明实施例的一种点云数据中杂散点标记方法第二种实施方式的流程图;
图4为本发明实施例的一种点云数据中杂散点标记方法中邻域点位置示意图;
图5为本发明实施例的一种点云数据中杂散点标记方法中第一线段与第二线段的夹角示意图;
图6为本发明实施例的一种点云数据中杂散点标记方法第三种实施方式的流程图;
图7为本发明实施例的一种点云数据中杂散点标记装置的结构示意图;
图8为本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术存在的问题,本发明实施例提供了一种点云数据处理方法、装置、电子设备及存储介质,可以实现对点的分布不均匀的点云数据中的杂散点进行标记。
下面,首先对本发明实施例的一种点云数据中杂散点标记方法进行介绍,如图1所示,为本发明实施例的一种点云数据中杂散点标记方法第一种实施方式的流程图,在图1中,该方法可以包括:
S110,获取三维点云数据中第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径。
其中,位置信息用于表征第一云点在三维点云数据中的位置,第一云点为三维点云数据中除杂散点外的任一云点。
在一些示例中,当用户通过三维数据采集设备采集到三维点云数据后,可以将该三维点云数据,输入到应用本发明实施例的一种点云数据中杂散点标记方法的标记装置中,以对该三维点云数据中的杂散点进行标记。
因此,上述的标记装置可以获取到三维点云数据。
上述标记装置获取到三维点云数据后,在第一次从三维点云数据中获取云点时,该三维点云数据中并不存在标记的杂散点,因此,上述的标记装置可以从三维点云数据中任意选择一个云点作为第一云点。
当上述的标记装置不是第一次从三维点云数据中获取第一云点时,由于该三维点云数据中存在标记的杂散点,因此,为了避免重复选择,可以从三维点云数据中选择除该杂散点外的任一云点作为第一云点。
在一些示例中,上述的三维点云数据中的云点可以是非均匀分布的。
在一些示例中,该三维点云数据可以具有中心点和三维坐标系,因此,上述的第一云点的位置信息可以是该第一云点在三维点云数据的三维坐标系中,相对于中心点的位置信息。
在一些示例中,该三维坐标系可以是球面坐标系,当上述的三维坐标系是球面坐标系时,该第一云点的位置信息可以是第一云点与三维点云数据的中心的距离,第一云点的俯仰角以及第一云点的方位角。
例如,如图2所示,为本发明实施例的一种点云数据中杂散点标记方法中第一云点在球面坐标系中的示意图,在图2中,r为第一云点与三维点云数据的中心的距离,β为第一云点的俯仰角,α为第一云点的方位角。
当上述的标记装置在获取到第一云点在球面坐标系中的位置信息后,可以通过以下公式:
计算第一云点的邻域半径eps。
可见,无论上述的三维点云数据是由空间直角坐标系构成还是由球面坐标系构成,该三维点云数据中的任一云点的邻域半径都是与该云点在三维点云数据中的位置有关。
当该云点距离三维点云数据的中心点越远,则邻域半径也就越大,云点距离三维点云数据的中心点越近,则邻域半径也就越小,从而可以实现不同位置的点云具有不同邻域半径,在后续步骤中确定杂散点时,可以根据不同的邻域半径确定杂散点,从而解决了现有技术不能对点的分布不均匀的点云数据中的杂散点进行标记的问题。
S120,统计第一云点的邻域半径内云点的数量,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,并对杂散点进行标记,得到标记有杂散点的三维点云数据。
当上述的标记装置在确定第一云点的邻域半径后,可以统计第一云点的邻域半径内云点的数量,然后可以根据该第一云点的邻域半径内云点的数量,确定三维点云数据中的杂散点。
在一些示例中,当第一云点的邻域半径内的云点的数量为0时,则说明该第一云点的邻域半径内不存在云点,则该第一云点为三维点云数据中孤立的点,因此,可以将该第一云点确定为杂散点。
上述的标记装置在将第一云点确定为杂散点后,为了使得用户可以对该三维点云数据中的杂散点进行处理,在本步骤中,可以将该第一云点标记为杂散点。以便用户在处理时,能够对该三维点云数据中的杂散点进行区分。
在一些示例中,上述的标记装置每次可以仅获取一个云点作为第一云点,也可以同时获取多个云点作为第一云点,并针对该多个云点中的每个云点,采用本发明实施例的一种点云数据中杂散点标记方法,确定该云点是否为杂散点。
通过本发明实施例的一种点云数据中杂散点标记方法,在接收到三维点云数据后,可以从该三维点云数据中获取第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径。从而可以使得不同位置的云点,具有不同的邻域半径,进而可以实现在统计不同云点的邻域半径内云点的数量时,采用不同的邻域半径进行统计,由于不同的第一云点具有不同的邻域半径,在根据第一云点的邻域半径内云点的数量确定并标记三维点云数据中的杂散点时,可以基于不同的邻域半径进行确定的,因此,可以实现通过与位置相关的邻域半径来确定三维点云数据中的杂散点,可以实现对点的分布不均匀的点云数据中的杂散点进行标记。
在一些示例中,上述的标记装置在对三维点云数据中的杂散点进行标记后,还可以对标记有杂散点的三维点云数据进行修正处理。
其中,该修正处理可以包括:删除杂散点,改变杂散点的位置信息。
在一些示例中,用户可以查看标记的杂散点的位置信息,并针对该杂散点重新输入一个新的位置信息,因此,上述的标记装置可以根据用户输入的新的位置信息,改变该杂散点在三维点云数据中的位置。
在一些示例中,用户在查看标记的杂散点的位置信息后,可以输入删除指令,因此,上述的标记装置可以获取到用户输入的删除指令,并删除该杂散点。
在本发明实施例的一种可选的实现方式中,在图1所示的一种点云数据中杂散点标记方法的基础上,本发明实施例还提供了一种可能的实现方式,如图3所示,为本发明实施例的一种点云数据中杂散点标记方法第二种实施方式的流程图,在图3中,S120,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,可以包括:
S121,获取预设邻域点数量阈值和预设杂散点条件。
其中,该预设杂散点条件为:第一云点的第一邻域点和第二邻域点中至少有一点不是连通点,第一云点的第一线段和第一云点的第二线段的夹角小于预设夹角阈值,邻域点为:对以第一云点为原点的三维坐标系进行N等分后,得到的N个部分的每个部分中,距离第一云点最近的云点,该第一邻域点为邻域点中,与第一云点的距离最近的云点,该第二邻域点为邻域点中,与第一云点的距离次近的云点,第一线段为第一云点与第一邻域点构成的线段,第二线段为第一云点与第二邻域点构成的线段。
为了更清楚的说明邻域点,这里以平面坐标系为例进行说明,如图4所示,为本发明实施例的一种点云数据中杂散点标记方法中邻域点位置示意图;在图4中,O点为第一云点,x轴为以第一云点为原点的三维坐标系中的横坐标,y轴为以第一云点为原点的三维坐标系中的纵坐标,上述的标记装置可以对该坐标系进行N等分,得到该坐标系的N个部分,然后,将每个部分中,与第一云点距离最近的作为第一云点的邻域点。
例如,如图4所示,可以将该平面坐标系分为16份,得到的每个扇形为该坐标系的一个部分,每个扇形中的星形点为第一云点的邻域点。
在一些示例中,上述的连通点为:在第一云点的邻域半径内,且为第一云点的邻域点。也就是说,预设杂散点条件为:第一云点的第一邻域点和第二邻域点中至少有一点,与第一云点的距离大于第一云点的邻域半径,且,第一云点的第一线段和第一云点的第二线段的夹角小于预设夹角阈值。
在一些示例中,上述的邻域点数量阈值与该第一云点的坐标系的N个部分的数量相同,例如,将该坐标系分为16份,则该邻域点数量阈值可以为16。
为了更清楚的说明第一云点的第一线段和第一云点的第二线段的夹角,这里结合图5进行说明,如图5所示,为本发明实施例的一种点云数据中杂散点标记方法中第一线段与第二线段的夹角示意图。
在图5中,假设点C为第一云点,点B为点C的第一邻域点,点A为点C的第二邻域点,则线段BC为第一云点和第一邻域点构成的线段,线段AC为第一云点和第二邻域点构成的线段。线段BC和线段AC的夹角为θ。
在一些示例中,该预设夹角阈值可以为8°。
S122,在第一云点的邻域半径内的云点的数量大于0且小于预设邻域点数量阈值时,判断第一云点是否满足预设杂散点条件。
上述的标记装置在获取到预设邻域点数量阈值和预设杂散点条件后,可以对该第一云点的邻域半径内云点的数量和预设邻域点数量阈值进行对比。
当该云点的数量大于0且小于预设预设邻域点数量阈值时,为了进一步确定该第一云点是不是杂散点,可以通过获取的预设杂散点条件来判断。
具体的,上述的标记装置可以判断该第一云点是否满足预设杂散点条件。当该第一云点满足预设杂散点条件时,则说明该第一云点为杂散点,因此,可以执行步骤S123。
S123,当第一云点满足预设杂散点条件时,将第一云点标记为杂散点。
具体的,当上述的标记装置在确定该第一云点满足预设杂散点条件时,则说明该第一云点为杂散点,因此,可以将该第一云点标记位杂散点。
通过本发明实施例的一种点云数据中杂散点标记方法,可以在第一云点的邻域半径内的邻域点的数量不为0时,确定该第一云点是否为杂散点,从而可以提高应用本发明实施例的的一种点云数据中杂散点标记方法标记杂散点的精确度。
在本发明实施例的一种可选的实现方式中,在图3所示的一种点云数据中杂散点标记方法的基础上,本发明实施例还提供了一种可能的实现方式,如图6所示,为本发明实施例的一种点云数据中杂散点标记方法第三种实施方式的流程图,在图6中,在S121,获取预设邻域点数量阈值和预设杂散点条件之后,本发明实施例的一种点云数据中杂散点标记方法,还可以包括:
S124,在第一云点的邻域半径内云点的数量等于预设邻域点数量阈值时,以第一云点为核心点,根据第一云点的邻域半径和预设邻域点数量阈值,通过DBSCAN算法对三维点云数据进行分簇,得到分簇后的三维点云数据。
在一些示例中,上述的标记装置在获取到预设邻域点数量阈值和预设杂散点条件后,可以对该第一云点的邻域半径内云点的数量和预设邻域点数量阈值进行对比,在对比后,当上述的标记装置确定第一云点的邻域半径内云点的数量等于预设邻域点数量阈值时,可以以第一云点为核心点,根据第一云点的邻域半径和预设邻域点数量阈值,通过DBSCAN算法对三维点云数据进行分簇。
在一些示例中,在本步骤中对三维点云数据进行分簇时,可以重复执行步骤S110~S124,以实现对三维点云数据中的所有云点进行分簇,从而可以得到分簇后的三维点云数据。
S125,将分簇后的三维点云数据中不属于任一个簇的点标记为杂散点。
在对三维点云数据中的云点分簇完成,得到分簇后的三维点云数据后,可以将分簇后的三维点云数据中不属于任一个簇的点标记为杂散点。
在一些示例中,上述的标记装置在对三维点云数据中的杂散点进行标记后,还可以执行以下步骤:
S126,对标记有杂散点的三维点云数据进行修正处理。
其中,该修正处理包括:删除杂散点,改变杂散点的位置信息。
在一些示例中,用户可以查看标记的杂散点的位置信息,并针对该杂散点重新输入一个新的位置信息,因此,上述的标记装置可以根据用户输入的新的位置信息,改变该杂散点在三维点云数据中的位置。
在一些示例中,用户在查看标记的杂散点的位置信息后,可以输入删除指令,因此,上述的标记装置可以获取到用户输入的删除指令,并删除该杂散点。
通过本发明实施例的一种点云数据中杂散点标记方法,可以在确定第一云点不是杂散点时,进一步识别三维点云数据中的杂散点,并对识别出的杂散点进行标记,进一步提高了应用本发明实施例的的一种点云数据中杂散点标记方法标记杂散点的精确度。可以实现对三维点云数据中所有杂散点进行标记。
相应于上述的方法实施例,本发明实施例还提供了一种点云数据中杂散点标记装置,如图7所示,为本发明实施例的一种点云数据中杂散点标记装置的结构示意图,在图7中,该装置可以包括:
计算模块710,用于获取三维点云数据中第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径,其中,位置信息包括:第一云点与三维点云数据的中心的距离,第一云点的俯仰角以及第一云点的方位角,第一云点为三维点云数据中除杂散点外的任一云点;
标记模块720,用于统计第一云点的邻域半径内云点的数量,根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,并对杂散点进行标记,得到标记有杂散点的三维点云数据。
通过本发明实施例的一种点云数据中杂散点标记装置,在接收到三维点云数据后,可以从该三维点云数据中获取第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径。从而可以使得不同位置的云点,具有不同的邻域半径,进而可以实现在统计不同云点的邻域半径内云点的数量时,采用不同的邻域半径进行统计,由于不同的第一云点具有不同的邻域半径,在根据第一云点的邻域半径内云点的数量确定并标记三维点云数据中的杂散点时,可以基于不同的邻域半径进行确定的,因此,可以实现通过与位置相关的邻域半径来确定三维点云数据中的杂散点,可以实现对点的分布不均匀的点云数据中的杂散点进行标记。
具体的,计算模块720,具体用于:
根据第一云点与三维点云数据的中心的距离r,第一云点的俯仰角β以及第一云点的方位角α,通过第二公式
计算第一云点的邻域半径eps。
具体的,标记模块720,具体用于:
在第一云点的邻域半径内的云点的数量为0时,将第一云点标记为杂散点。
具体的,标记模块720,包括:
获取子模块,用于获取预设邻域点数量阈值和预设杂散点条件,其中,预设杂散点条件为:第一云点的第一邻域点和第二邻域点中至少有一点,与第一云点的距离大于第一云点的邻域半径,且第一云点的第一线段和第一云点的第二线段的夹角小于预设夹角阈值,邻域点为:对以第一云点为原点的三维坐标系进行N等分后,得到的N个部分的每个部分中,距离第一云点最近的云点,第一邻域点为邻域点中,与第一云点的距离最近的云点,第二邻域点为邻域点中,与第一云点的距离次近的云点,第一线段为第一云点与第一邻域点构成的线段,第二线段为第一云点与第二邻域点构成的线段;
判断子模块,用于在第一云点的邻域半径内的云点的数量大于0且小于预设邻域点数量阈值时,判断第一云点是否满足预设杂散点条件;
第一标记子模块,用于当第一云点满足预设杂散点条件时,将第一云点标记为杂散点。
具体的,标记模块720,还包括:
分簇子模块,用于在第一云点的邻域半径内云点的数量等于预设邻域点数量阈值时,以第一云点为核心点,根据第一云点的邻域半径和预设邻域点数量阈值,通过DBSCAN算法对三维点云数据进行分簇,得到分簇后的三维点云数据;
第二标记子模块,用于将分簇后的三维点云数据中不属于任一个簇的点标记为杂散点。
具体的,本发明实施例的一种点云数据中杂散点标记装置,还包括:
修正模块,用于对标记有杂散点的三维点云数据进行修正处理,得到修正后的三维点云数据,其中,修正处理包括:删除杂散点,改变杂散点的位置信息。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器810、通信接口820、存储器830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信,
存储器830,用于存放计算机程序;
处理器810,用于执行存储器830上所存放的程序时,实现如下步骤:
获取三维点云数据中第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径,其中,位置信息包括:第一云点与三维点云数据的中心的距离,第一云点的俯仰角以及第一云点的方位角,第一云点为三维点云数据中除杂散点外的任一云点;
统计第一云点的邻域半径内云点的数量,并根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,并对杂散点进行标记,得到标记有杂散点的三维点云数据。
本发明实施例的一种电子设备,在接收到三维点云数据后,可以从该三维点云数据中获取第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径。从而可以使得不同位置的云点,具有不同的邻域半径,进而可以实现在统计不同云点的邻域半径内云点的数量时,采用不同的邻域半径进行统计,由于不同的第一云点具有不同的邻域半径,在根据第一云点的邻域半径内云点的数量确定并标记三维点云数据中的杂散点时,可以基于不同的邻域半径进行确定的,因此,可以实现通过与位置相关的邻域半径来确定三维点云数据中的杂散点,可以实现对点的分布不均匀的点云数据中的杂散点进行标记。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现如下步骤:
获取三维点云数据中第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径,其中,位置信息包括:第一云点与三维点云数据的中心的距离,第一云点的俯仰角以及第一云点的方位角,第一云点为三维点云数据中除杂散点外的任一云点;
统计第一云点的邻域半径内云点的数量,并根据第一云点的邻域半径内云点的数量确定三维点云数据中的杂散点,并对杂散点进行标记,得到标记有杂散点的三维点云数据。
通过本发明实施例的一种计算机可读存储介质,在接收到三维点云数据后,可以从该三维点云数据中获取第一云点的位置信息,并根据位置信息,计算第一云点的邻域半径。从而可以使得不同位置的云点,具有不同的邻域半径,进而可以实现在统计不同云点的邻域半径内云点的数量时,采用不同的邻域半径进行统计,由于不同的第一云点具有不同的邻域半径,在根据第一云点的邻域半径内云点的数量确定并标记三维点云数据中的杂散点时,可以基于不同的邻域半径进行确定的,因此,可以实现通过与位置相关的邻域半径来确定三维点云数据中的杂散点,可以实现对点的分布不均匀的点云数据中的杂散点进行标记。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一云点的邻域半径内云点的数量确定所述三维点云数据中的杂散点,包括:
在所述第一云点的邻域半径内的云点的数量为0时,将所述第一云点标记为杂散点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一云点的邻域半径内云点的数量确定所述三维点云数据中的杂散点,包括:
获取预设邻域点数量阈值和预设杂散点条件,其中,所述预设杂散点条件为:所述第一云点的第一邻域点和第二邻域点中至少有一点,与第一云点的距离大于第一云点的邻域半径,且所述第一云点的第一线段和所述第一云点的第二线段的夹角小于预设夹角阈值,邻域点为:对以所述第一云点为原点的三维坐标系进行N等分后,得到的N个部分的每个部分中,距离第一云点最近的云点,所述第一邻域点为所述邻域点中,与所述第一云点的距离最近的云点,所述第二邻域点为所述邻域点中,与所述第一云点的距离次近的云点,所述第一线段为所述第一云点与所述第一邻域点构成的线段,所述第二线段为所述第一云点与所述第二邻域点构成的线段;
在所述第一云点的邻域半径内的云点的数量大于0且小于所述预设邻域点数量阈值时,判断所述第一云点是否满足所述预设杂散点条件;
当所述第一云点满足所述预设杂散点条件时,将所述第一云点标记为杂散点。
4.根据权利要求3所述的方法,其特征在于,在所述获取预设邻域点数量阈值和预设杂散点条件之后,所述方法还包括:
在所述第一云点的邻域半径内云点的数量等于预设邻域点数量阈值时,以所述第一云点为核心点,根据所述第一云点的邻域半径和所述预设邻域点数量阈值,通过DBSCAN算法对所述三维点云数据进行分簇,得到分簇后的三维点云数据;
将所述分簇后的三维点云数据中不属于任一个簇的点标记为杂散点。
5.根据权利要求1~4任一项所述的方法,其特征在于,在所述对所述杂散点进行标记,得到标记有杂散点的三维点云数据之后,所述方法还包括:
对所述标记有杂散点的三维点云数据进行修正处理,得到修正后的三维点云数据,其中,所述修正处理包括:删除杂散点,改变所述杂散点的位置信息。
6.一种点云数据中杂散点标记装置,其特征在于,所述装置包括:
计算模块,用于获取三维点云数据中第一云点的位置信息,其中,所述位置信息包括:所述第一云点与所述三维点云数据的中心的距离,所述第一云点的俯仰角以及所述第一云点的方位角,所述第一云点为所述三维点云数据中除杂散点外的任一云点;
所述计算模块,还用于:
根据所述第一云点与所述三维点云数据的中心的距离r,所述第一云点的俯仰角β以及所述第一云点的方位角α,通过以下公式:
计算所述第一云点的邻域半径eps;
标记模块,用于统计所述第一云点的邻域半径内云点的数量,根据所述第一云点的邻域半径内云点的数量确定所述三维点云数据中的杂散点,并对所述杂散点进行标记,得到标记有杂散点的三维点云数据。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810431794.5A CN108648156B (zh) | 2018-05-08 | 2018-05-08 | 点云数据中杂散点标记方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810431794.5A CN108648156B (zh) | 2018-05-08 | 2018-05-08 | 点云数据中杂散点标记方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108648156A CN108648156A (zh) | 2018-10-12 |
CN108648156B true CN108648156B (zh) | 2021-04-16 |
Family
ID=63749853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810431794.5A Active CN108648156B (zh) | 2018-05-08 | 2018-05-08 | 点云数据中杂散点标记方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108648156B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961440B (zh) * | 2019-03-11 | 2021-06-18 | 重庆邮电大学 | 一种基于深度图的三维激光雷达点云目标分割方法 |
CN110332895B (zh) * | 2019-07-11 | 2021-07-02 | 广东工业大学 | 一种长方体包裹长宽信息检测的方法、***及设备 |
CN110515054B (zh) * | 2019-08-23 | 2021-07-23 | 斯坦德机器人(深圳)有限公司 | 滤波方法和装置、电子设备、计算机存储介质 |
CN111432210B (zh) * | 2020-04-30 | 2021-10-19 | 中山大学 | 一种基于填充的点云属性压缩方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2526342A (en) * | 2014-05-22 | 2015-11-25 | Nokia Technologies Oy | Point cloud matching method |
CN104567708B (zh) * | 2015-01-06 | 2018-03-16 | 浙江工业大学 | 基于主动式全景视觉的隧道全断面高速动态健康检测装置与方法 |
CN105096268B (zh) * | 2015-07-13 | 2018-02-02 | 西北农林科技大学 | 一种点云去噪平滑方法 |
CN105022035B (zh) * | 2015-07-31 | 2018-07-20 | 中国电子科技集团公司第三十八研究所 | 一种基于模型修正的弹道目标发射点估计装置及其方法 |
-
2018
- 2018-05-08 CN CN201810431794.5A patent/CN108648156B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108648156A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108648156B (zh) | 点云数据中杂散点标记方法、装置、电子设备及存储介质 | |
CN109141364B (zh) | 障碍物检测方法、***及机器人 | |
CN108732582B (zh) | 车辆定位方法和装置 | |
CN107911680B (zh) | 投影设备校正方法、装置及投影设备 | |
CN110083475B (zh) | 一种异常数据的检测方法及装置 | |
CN109949306B (zh) | 反射面角度偏差检测方法、终端设备及存储介质 | |
CN111091572A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN110516752A (zh) | 聚类簇质量评估方法、装置、设备及存储介质 | |
CN112987724A (zh) | 路径优化方法、装置、机器人及存储介质 | |
CN110865785B (zh) | 像素尺寸的获取方法、装置及电子设备 | |
CN110335219B (zh) | 一种像素畸变的校正方法、校正装置及终端 | |
CN111540202B (zh) | 一种相似卡口确定方法、装置、电子设备及可读存储介质 | |
CN111563115B (zh) | 一种分布式数据库中数据分布信息的统计方法及装置 | |
CN113645630A (zh) | 一种基站布局的方法、装置、电子设备及存储介质 | |
CN106909552A (zh) | 图像检索服务器、***、相关检索及排错方法 | |
CN114463512B (zh) | 点云数据的处理方法、矢量化方法及装置 | |
CN112816959B (zh) | 用于车辆的聚类方法、装置、设备和存储介质 | |
CN115546143A (zh) | 定位晶圆的中心点的方法、装置、存储介质以及电子设备 | |
CN111353597A (zh) | 一种目标检测神经网络训练方法和装置 | |
CN113689526A (zh) | 地图中无效区域的划分方法及装置、电子设备 | |
CN111399754B (zh) | 存储空间的释放方法、装置及分布式*** | |
CN113487634A (zh) | 关联建筑物高度与面积的方法及装置 | |
CN111880721A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
CN111787608B (zh) | 一种锚节点布设方法及装置 | |
CN107291873B (zh) | 地理位置聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |