当前位置: 首页 > 专利查询>扬州大学专利>正文

一种面向面结构光点云数据的对应点搜索结构的构建方法技术

技术编号:13123709 阅读:66 留言:0更新日期:2016-04-06 11:32
一种面向面结构光点云数据的对应点搜索结构构建方法,属于测量数据建模领域。本发明专利技术包括以下步骤:1)由于面结构光点云的拓扑结构已知,首先基于指定点的三维坐标求出其栅格坐标,进而计算哈希索引值,构建哈希表;2)连接横向十字链表、纵向十字链表的头尾数据,构建双向十字链表;3)基于哈希表与双向十字链表相融合的新型搜索结构的搜索策略:通过指定点三维坐标计算哈希索引值,找到指定点的位置;利用双向十字链表沿纵横方向查找到其邻域点;进行大型点云数据操作,如点云对齐、特征建模等。本发明专利技术由于采用新型算法构建有效的对应点搜索结构,提高了面结构光点云数据的搜索效率,并改善其存储效率。

【技术实现步骤摘要】

本专利技术涉及一种对应点搜索结构的构建方法,特别涉及一种面向面结构光点云数 据的对应点搜索结构的构建方法,属于测量数据建模领域。
技术介绍
随着面结构光扫描仪的性能越来越强,所能采集到的点云数据量就越来越大。但 是给定的一个目标数据,进行点搜索的操作就越来越耗费时间。就效率而言,大型点云数据 操作,如点云对齐、过滤、分割、特征建模,目标点的快速搜索是最基本的操作。就拿点云对 齐而言,常用的算法是ICP算法,其中95%的时间耗费在对应点的搜索上,因此,为了方便目 标点的快速搜索,一个合适的数据结构是必须的。 在三维空间中,K最邻域搜索是最常用的方法,如果大量点数据处于杂乱无章的状 态的话,K最邻域搜索将成为非常耗时的操作。为了提高K最邻域搜索的效率,改进的方法包 括:1.通过减少搜索空间或减少重复搜索来优化搜索策略;2在进行搜索时采用高效率的数 据结构。据文献检索,目前所用的数据结构又分为如下几种:1 )KD树或八叉树;2)虚拟栅格 结构;3)基于哈希的虚拟栅格结构。这里计算速度与存储空间存在一个折中,即速度越快的 算法需要更大的存储量。 KD树是是一种基于空间分治的数据结构,其中每个结点代表K维空间的一个划分, 根节点表示整个空间,以及叶节点代表含有相互排斥的小子集的子空间。空间划分采用递 归遍历的方式进行。八叉树也是一种用于描述三维空间的树状数据结构,其中八叉树的每 个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积 元素加在一起就等于父节点的体积。基于KD树或八叉树的搜索属于全局搜索,如果给定点 云P上的每个点,要在点云)(找到它的最近点,它的搜素效率能够达到0(N PlogNx),KD树或八 叉树的存储效率〇(Np),但八叉树有分配不平衡的弱点。 2009年韩国首尔大学的Minho Chang在"Efficiency of grid representation and its algorithms for areal 3D scan data"(Journal of Mechanical Science and Technology 23(2009) 1234-1243)-文中将虚拟栅格结构定义为链表的三维阵列或者二维 虚拟栅格结构的垂直方向的延伸,每个单元由一个链表所组成,用于存储三维点坐标。虚拟 栅格结构属于局部搜索,它的搜索效率能够达到〇(Np),但是它需要大量的存储空间,特别 对于稀疏点云来说,它的存储效率非常低。如果扫描的物体为10X10X10立方米,单元栅格 的长、宽、高都为0.1米,那么扫描数据所仅用于简单阵列的声明所需的存储空间就高达4* (10/0.1) 3 字节。 2012年韩国延世大学Minho Chang在"Development of a hashing-based data structure for the fast retrieval of 3D terrestrial laser scanned data', (Computers & Geosciences 39(2012)1-10)-文中在虚拟栅格结构的基础上进行了改进, 提出了基于哈希的虚拟栅格结构,用哈希表替代链表,在保持搜索效率的同时适当提高了 存储效率,避免了三维点不存在时使用空指针来占用存储空间的情况。不同于散乱点云,面结构光点云获取方法如下:面结构光扫描仪将二维模版投射 到3D物体上,然后用相机获取这个图像,然后通过三角化原理得到三维点的坐标,测量点的 坐标由2D模版所激发。因此可以获取带纵横像素信息的点云,从而可以获取其拓扑结构。点 云的每个点包含有五个数据X,y,Z,pc,prx。X,y,z为点在空间的三个坐标,pc表示其横坐标 方向的像素值,pr表示其纵坐标方向上的像素值。根据面结构光的特点,一个图像的像素产 生一个测量点,即点与像素是--对应的。因此,可以利用面结构光点云拓扑结构已知的条件,提供一种面向面结构光点云 数据的有效的对应点搜索结构。
技术实现思路
本专利技术的目的是提供一种面向面结构光点云数据的有效的对应点搜索结构的构 建方法,该方法不同于散乱点云,面结构光点云可以利用其拓扑结构已知的条件,本专利技术可 以提高大型点云数据操作的效率,进而提高点云数据处理软件的质量和市场占有率。 本专利技术通过下述技术方案实现,一种面向面结构光点云数据的有效的对应点搜索 结构的构建方法,包括以下步骤: 1)由于面结构光点云的拓扑结构已知,首先基于指定点的三维坐标求出其栅格坐 标,进而计算哈希索引值,构建哈希表; 2)连接横向十字链表、纵向十字链表的的头尾数据,构建双向十字链表; 3)基于哈希表与双向十字链表相融合的新型搜索结构的搜索策略:通过指定点三 维坐标计算哈希索引值,找到指定点的位置;利用双向十字链表沿纵横方向查找到其邻域 点;进行大型点云数据操作,如点云对齐、特征建模等。 优选的,所述步骤1中的面向面结构光点云数据的哈希表构建包括如下过程: Stepl:对点云数据的包围盒进行立体栅格划分;包围盒长宽高为Βοχ、Box、 Box,初步设定单位立方体总数为Ncell,单元立方体x,y,z方向的单位立方体个数分别 为NDivs,NDivs,NDivs: NDivs = int(Box*k) ; i = 0,1,2 并求得单位立方体分别在x,y ,z方向上的边长值Voxel ,Voxel ,Voxel; Voxel = Box/NDivs ; i = 0,1,2 Step2:对于点云数据中的每个点,计算它们在立体栅格划分中的栅格坐标(PCX, 戸(^,?(: 2),并求出它的总索引值1(^;设点坐标为(?^?^?2),包围盒的边角的最小坐标 (BMin x,BMiny ,ΒΜ?ηζ); Idx = PCx+NDvis X (PCy+NDvis XPCZ); Step3:计算根据索引值,建立哈希表;建立对应的桶,来存储点的ID列表; Bucket = HashTable。 优选的,所述步骤2中的面向面结构光点云数据的哈希表构建包括如下过程: Stepl:首先定义点的结构体、十字链表结构体、辅助头结点结构体; 1)点的结构体 Step2:创建一个结点 *p; Step3:创建横向十字链表; 根据行号找到在行表中的插入位置并在行表中插入该结点,形成横向十字链表; while(q->right!=r&&q->right->pc<a) q = q->right ; p->left = q;q->right->left = p ; p->r ight = q_>r ight; q_>r ight = p; Step4:创建纵向十字链表;根据列号找到在列表中的插入位置并在列表中插入该结点,形成纵向双向链表; while(q->down!=t&&q->down->pr<a) q = q->down; q_>down_>up = p;p_>up = q; Step5:创建双向十字链表; 分别连接横向双向链表、纵向双向链本文档来自技高网
...

【技术保护点】
面向面结构光点云数据的对应点搜索结构的构建方法,其特征在于,所述构建方法包括下述步骤:1)面向面结构光点云数据的哈希表的构建;2)面向面结构光点云数据的双向十字链表的重建;3)基于哈希表与双向十字链表相融合的新型搜索结构的搜索策略。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙进朱兴龙黄则栋竺志大
申请(专利权)人:扬州大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1