CN105488192A - 点云数据k邻域搜索方法 - Google Patents

点云数据k邻域搜索方法 Download PDF

Info

Publication number
CN105488192A
CN105488192A CN201510876826.9A CN201510876826A CN105488192A CN 105488192 A CN105488192 A CN 105488192A CN 201510876826 A CN201510876826 A CN 201510876826A CN 105488192 A CN105488192 A CN 105488192A
Authority
CN
China
Prior art keywords
point
distance
sampling
threshold value
less
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.)
Pending
Application number
CN201510876826.9A
Other languages
English (en)
Inventor
王红
薛斌
刘启
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
QINGDAO UNIQUE PRODUCTS DEVELOP CO Ltd
Original Assignee
QINGDAO UNIQUE PRODUCTS DEVELOP CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by QINGDAO UNIQUE PRODUCTS DEVELOP CO Ltd filed Critical QINGDAO UNIQUE PRODUCTS DEVELOP CO Ltd
Priority to CN201510876826.9A priority Critical patent/CN105488192A/zh
Publication of CN105488192A publication Critical patent/CN105488192A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

本发明提出一种点云数据K邻域搜索方法,将点云数据中每个点从X、Y和Z轴三个方向按升序排列存入数组Px、Py和Pz中;确定候选点P(i,j,k),在Px、Py和Pz中,分别取第i、第j和第k点,在每个点上分别向前向后按照设定步长取样,若取样点的X方向与第i点的距离小于阈值、Y方向与第j点的距离小于阈值、Z方向与第k点的距离小于阈值,则对应将索引存入数组TemX、TemY和TemZ中,继而增加一次步长继续上述步骤直至距离大于阈值;从TemX、TemY和TemZ中搜索点的交集确定搜索点集,从搜索点集中找出与候选点距离最近的K个点组成候选点的K邻域,解决了现有K邻域算法耗时长且占用内存空间的技术问题。

Description

点云数据K邻域搜索方法
技术领域
本发明属于计算机应用技术领域,具体地说,涉及一种扫描数据三维重建技术中的点云数据K邻域搜索方法。
背景技术
对点云数据进行三维重建,需要建立点云的邻域拓扑关系。K邻域广泛应用于海量数据点的三维重建中,能够在数据点中建立一定的邻域关系以加快搜索速度。
现有的K邻域搜索方法是:首先对点云数据集S={Pi}(i=1,2,...,n)进行分块,按照空间位置邻近的原则设定点Pi的近邻区域,然后在近邻区域中计算距离并排序,最后取距离Pi最近的K个点作为其K近邻。
由于要处理的点云在数量上往往是海量的,因此将其精确分块是非常耗时的,而要分块记录下来也需要复杂的数据结构,占用大量的存储空间。
发明内容
本发明提供了一种点云数据K邻域搜索方法,解决现有K邻域算法耗时长且占用内存空间的技术问题。
为解决上述技术问题,本发明采用以下技术方案予以实现:
提出一种点云数据K邻域搜索方法,包括:将点云数据中每个点分别从X、Y、Z三个方向进行升序排列,存入数组Px、Py和Pz中;取数组Px中的第i点,分别向前向后按照设定步长取样,若取样点的X方向与第i点的距离小于阈值d,则将其索引存入数组TemX中,并增加一次步长取样,直至取样点X方向距离与第i点的距离大于阈值d;取数组Py中的第j点,分别向前向后按照设定步长取样,若取样点的Y方向与第j点的距离小于阈值d,则将其索引存入数组TemY中,并增加一次步长取样,直至取样点Y方向距离与第j点的距离大于阈值d;取数组Pz中的第k点,分别向前向后按照设定步长取样,若取样点的Z方向与第k点的距离小于阈值d,则将其索引存入数组TemZ中,并增加一次步长取样,直至取样点Z方向距离与第k点的距离大于阈值d;基于TemX、TemY和TemZ中搜索点的交集确定搜索点集;计算搜索点与候选点之间的欧式空间距离,取距离最近的K个点组成所述候选点的K邻域;其中,数组Px中的第i点、数组Py中的第j点和数组Pz中的第k点对应为候选点P(i,j,k)。
进一步的,所述阈值d的取值为点云平均间距的4至5倍。
进一步的,在将点云数据中每个点分别从x、y、z三个方向进行升序排列之前,所述方法还包括:保存点云数据的索引值;和初始化点云数据的标识为初始值;则所述方法还包括:在确定X方向与第i点的距离小于阈值d的取样点后,将所述X方向与第i点的距离小于阈值d的取样点的标识值加1;在确定Y方向第j点的距离小于阈值d的取样点后,将所述Y方向与第j点的距离小于阈值d的取样点的标识值加1;在确定Z方向第k点的距离小于阈值d的取样点后,将所述Z方向与第k点的距离小于阈值d的取样点的标识值加1。
进一步的,所述初始值为0,则基于TemX、TemY和TemZ中索引的交集,确定搜索点,具体为:将标识值增大3的点确定为搜索点。
进一步的,在数组Px、数组Py和数组Pz中取样时,所述方法还包括:若第一次取样的点的个数小于设定步长,则将所有取样点的标识加1。
与现有技术相比,本发明的优点和技术效果是:
本发明实施例提出的点云数据K邻域搜索方法中,使用单坐标轴结合距离阈值d进行分步搜索的方法,在整体点云中限定一个候选点为中心,以边长为2倍的阈值d的立方体为限,在该立方体内沿X、Y、Z三个方向以设定步长依次向正负两个方向分段进行搜索,分别找到X、Y、Z三个方向所有距离候选点单坐标距离小于阈值d的点,在这些点中求X、Y、Z三个方向搜索结果的交集,确定搜索点,最后在这个搜索点交集中找出距离候选点的欧式空间距离最小的K个点,构成候选点的K邻域。该方法使用单坐标结合阈值进行分步搜索,方法简单直观,易于实现,能够减少参与计算欧式空间距离的点数,从而减少了计算量,提高了搜索速度,也节省了内存空间。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1为本发明实施例提出的点云数据K邻域搜索方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步详细地说明。
如图1所示,为本发明实施例提出的点云数据K邻域搜索方法的流程图,包括以下步骤:
步骤S11:将点云数据中每个点分别从X、Y、Z三个方向进行升序排列,存入数组Px、Py和Pz中。
读取点云数据,将每个点的x、y、z坐标值分别存入数组Px、Py和Pz中,同时保存点云数据的索引值,初始化点云数据的标识为初始值,例如,初始化点云数据的标识flag为0。
然后按照数组Px、Py和Pz中元素的坐标值对数组Px、Py和Pz中元素进行升序排列。
步骤S12:取数组Px中的第i点,分别向前向后按照设定步长取样,若取样点的X方向与第i点的距离小于阈值d,则将其索引存入数组TemX中,并增加一次步长取样,直至取样点X方向距离与第i点的距离大于阈值d。
在确定X方向与第i点的距离小于阈值d的取样点后,将这些取样点的标识值flag加1。若第一次取样的点的个数小于设定步长,则将所有取样点的标识加1。
步骤S13:取数组Py中的第j点,分别向前向后按照设定步长取样,若取样点的Y方向与第j点的距离小于阈值d,则将其索引存入数组TemY中,并增加一次步长取样,直至取样点Y方向距离与第j点的距离大于阈值d。
在确定Y方向第j点的距离小于阈值d的取样点后,将这些取样点的标识值flag加1。若第一次取样的点的个数小于设定步长,则将所有取样点的标识加1。
步骤S14:取数组Pz中的第k点,分别向前向后按照设定步长取样,若取样点的Z方向与第k点的距离小于阈值d,则将其索引存入数组TemZ中,并增加一次步长取样,直至取样点Z方向距离与第k点的距离大于阈值d。
在确定Z方向第k点的距离小于阈值d的取样点后,将这些取样点的标识值flag加1。若第一次取样的点的个数小于设定步长,则将所有取样点的标识加1。
这其中,数组Px中的第i点、数组Py中的第j点和数组Pz中的第k点对应为从点云中选取出的候选点P(i,j,k)。可以在数组Px中的第i点选取确定后,通过Py和Pz中查找i对应的索引确定j和k。
设定步长为设定的一次取样的点数;阈值d与设定步长均可调。
步骤S15:基于TemX、TemY和TemZ中搜索点的交集确定搜索点集。
具体的,数组TemX、TemY和TemZ中都存在的点,其对应的标识值flag增大3次,则可将标识值增大3的点确定为搜索点。
步骤S16:计算搜索点与候选点之间的欧式空间距离,取距离最近的K个点组成所述候选点的K邻域。
完成步骤S11至步骤S16后,将i值加1切换到下一个候选点,重复步骤12至步骤S16,直至i大于点云数量总数。
上述阈值d的取值优选为为点云平均间距的4至5倍。取值过大,会导致计算量太大,而取值过小,会导致无法取得足够的近邻点。
上述本发明实施例提出的点云数据K邻域搜索方法,使用单坐标轴结合阈值d进行分步搜索的方法,简单直观,易于实现,减少了参与计算欧式空间距离的点数,进而提高了搜索速度,也节省了内存空间的占用。该方法根据点云精度和数量确定阈值d来约束候选点前后的搜索范围,解决了对不同精度和规模的点云数据的适用性问题。
应该指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (5)

1.点云数据K邻域搜索方法,其特征在于,包括:
将点云数据中每个点分别从X、Y、Z三个方向进行升序排列,存入数组Px、Py和Pz中;
取数组Px中的第i点,分别向前向后按照设定步长取样,若取样点的X方向与第i点的距离小于阈值d,则将其索引存入数组TemX中,并增加一次步长取样,直至取样点X方向距离与第i点的距离大于阈值d;
取数组Py中的第j点,分别向前向后按照设定步长取样,若取样点的Y方向与第j点的距离小于阈值d,则将其索引存入数组TemY中,并增加一次步长取样,直至取样点Y方向距离与第j点的距离大于阈值d;
取数组Pz中的第k点,分别向前向后按照设定步长取样,若取样点的Z方向与第k点的距离小于阈值d,则将其索引存入数组TemZ中,并增加一次步长取样,直至取样点Z方向距离与第k点的距离大于阈值d;
基于TemX、TemY和TemZ中搜索点的交集确定搜索点集;
计算搜索点与候选点之间的欧式空间距离,取距离最近的K个点组成所述候选点的K邻域;
其中,数组Px中的第i点、数组Py中的第j点和数组Pz中的第k点对应为候选点P(i,j,k)。
2.根据权利要求1所述的点云数据K邻域搜索方法,其特征在于,所述阈值d的取值为点云平均间距的4至5倍。
3.根据权利要求1所述的点云数据K邻域搜索方法,其特征在于,在将点云数据中每个点分别从x、y、z三个方向进行升序排列之前,所述方法还包括:
保存点云数据的索引值;和
初始化点云数据的标识为初始值;则所述方法还包括:
在确定X方向与第i点的距离小于阈值d的取样点后,将所述X方向与第i点的距离小于阈值d的取样点的标识值加1;在确定Y方向第j点的距离小于阈值d的取样点后,将所述Y方向与第j点的距离小于阈值d的取样点的标识值加1;在确定Z方向第k点的距离小于阈值d的取样点后,将所述Z方向与第k点的距离小于阈值d的取样点的标识值加1。
4.根据权利要求3所述的点云数据K邻域搜索方法,其特征在于,所述初始值为0,则基于TemX、TemY和TemZ中搜索点的交集确定搜索点,具体为:
将标识值增大3的点确定为搜索点。
5.根据权利要求3所述的点云数据K邻域搜索方法,其特征在于,在数组Px、数组Py和数组Pz中取样时,所述方法还包括:
若第一次取样的点的个数小于设定步长,则将所有取样点的标识加1。
CN201510876826.9A 2015-12-03 2015-12-03 点云数据k邻域搜索方法 Pending CN105488192A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510876826.9A CN105488192A (zh) 2015-12-03 2015-12-03 点云数据k邻域搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510876826.9A CN105488192A (zh) 2015-12-03 2015-12-03 点云数据k邻域搜索方法

Publications (1)

Publication Number Publication Date
CN105488192A true CN105488192A (zh) 2016-04-13

Family

ID=55675166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510876826.9A Pending CN105488192A (zh) 2015-12-03 2015-12-03 点云数据k邻域搜索方法

Country Status (1)

Country Link
CN (1) CN105488192A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112991521A (zh) * 2021-03-26 2021-06-18 清华大学 一种基于熵能量的点云各向异性邻域搜索方法
CN113932727A (zh) * 2021-11-29 2022-01-14 中国电建集团成都勘测设计研究院有限公司 基于扫描全站仪与gnss的边坡变形监测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092897A (zh) * 2011-11-08 2013-05-08 南京理工大学常熟研究院有限公司 一种用于点云数据处理的快速k近邻搜索方法
CN103744886A (zh) * 2013-12-23 2014-04-23 西南科技大学 一种直接提取的k个最近邻点搜索方法
CN105096379A (zh) * 2014-05-23 2015-11-25 南京理工大学 一种基于k-邻域的三角网格曲面重建方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092897A (zh) * 2011-11-08 2013-05-08 南京理工大学常熟研究院有限公司 一种用于点云数据处理的快速k近邻搜索方法
CN103744886A (zh) * 2013-12-23 2014-04-23 西南科技大学 一种直接提取的k个最近邻点搜索方法
CN105096379A (zh) * 2014-05-23 2015-11-25 南京理工大学 一种基于k-邻域的三角网格曲面重建方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112991521A (zh) * 2021-03-26 2021-06-18 清华大学 一种基于熵能量的点云各向异性邻域搜索方法
CN113932727A (zh) * 2021-11-29 2022-01-14 中国电建集团成都勘测设计研究院有限公司 基于扫描全站仪与gnss的边坡变形监测方法及系统

Similar Documents

Publication Publication Date Title
CN107621263B (zh) 一种基于道路磁场特征的地磁定位方法
JP2010033561A (ja) マルチプロセッサ・システム上でデータ・セットを区分化およびソートするための方法および装置
CN103116536B (zh) 存储装置的容量检测方法
KR101370989B1 (ko) 3차원 스캔 데이터를 이용한 시공 오차 분석 방법
CN104346384A (zh) 一种小文件处理方法及装置
CN107122126A (zh) 数据的迁移方法、装置和系统
CN104990501A (zh) 一种三维激光扫描装置的系统参数校准方法
CN103617163A (zh) 基于聚类分析的目标快速关联方法
CN103336828B (zh) 实时数据库读取及写入方法
CN105488192A (zh) 点云数据k邻域搜索方法
CN113592961A (zh) 一种基于精度控制场和点云特征相似性的点云拼接方法
CN103092897A (zh) 一种用于点云数据处理的快速k近邻搜索方法
CN109634960B (zh) 键值数据存储方法、装置、设备以及存储介质
CN104502967A (zh) 快速获取地震勘探观测系统面元信息的方法及装置
CN108595792B (zh) 一种飞机油箱燃油测量传感器布局优化方法
CN110879063B (zh) 基于三角形匹配的快速星图识别方法
CN112130166A (zh) 基于反光板网络的agv定位方法及装置
CN103335626B (zh) 三坐标测量机测量平面度的样本点优化选取方法
CN115983007A (zh) 一种重合轨迹提取方法、装置、电子设备及存储介质
CN110969900A (zh) 一种基于航线管理的全航线水平偏置算法
CN111858785A (zh) 地图离散型要素的匹配方法、装置、系统及存储介质
CN108286957A (zh) 一种快稳简的平面度误差评定方法
CN102166747A (zh) 利用机械手臂测试物体的系统及方法
CN110619134B (zh) 解决路网数据飞点、点密度问题一体化检测及修复方法
JP2014016831A (ja) 更新装置、更新方法、および更新プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160413