海量点云的Out-of-Core快速均匀精简方法技术

技术编号:11982261 阅读:120 留言:0更新日期:2015-09-02 12:35
本发明专利技术提供一种海量点云的Out-of-Core快速均匀精简方法,属于产品逆向工程领域,其特征在于:改进CR树结点分裂算法;将上溢结点子结点集转化为子结点包围盒的中心点集;利用CR树与数据库SQLite构建海量点云的主存-辅存分级存储机制;运用海量点云的主存-辅存分级存储机制对海量散乱点云进行Out-of-Core管理;计算CR树目标结点层中每个结点所包含点集的均值点;将距离均值点最近的点作为该点集的精简结果;根据所选目标结点层的不同实现海量散乱点云不同程度的精简。本发明专利技术方法不仅能够快速实现超出主存容限的海量散乱点云的精简,且能够达到较好的精简效果。

【技术实现步骤摘要】

本专利技术提供,可用于精简超出主存容 限的实物表面海量采样数据,属于产品逆向工程领域。
技术介绍
在逆向工程中,为精确表示实物的空间信息,由光栅投影式=维测量仪等扫描设 备获得点云数据规模趋于海量,甚至超出通用计算机主存储器的容量,导致点云数据无法 进行可视化及交互性操作,需要对其进行精简处理。目前,点云数据的精简方法分为均匀精简法与保形精简法。均匀精简法利用包围 盒、网格划分等来精简点云数据,能够快速均匀精简点云,但损失部分点云的几何特征。保 形精简算法对点云数据=角化,计算=角面片的法向量,并估计其曲率,基于曲率去除部分 =角面片从而精简数据,能够很好地保留点云的几何特征,但精简速度过低。为能够快速显 示与操作点云数据,应采用均匀精简方法对点云进行精简。 为有效均匀精简点云数据,主要的均匀精简方法包括Sun等在《Clouddata modelingemployingaunifiednon-redundanttriangularmesh》 (Computer-Aided Design,2001,33(2) ;183-193)采用包围盒法来简化测量散乱点云数据、叶冬荣等在《基于 二次精简的散乱点云精简方法》(计算机系统应用,2014,23巧):182-185)首先利用切平面 进行初次精简,然后利用均匀网格法对精简后的点云重采样进行二次精简等。上述方法能 够快速有效的精简点云数据,但当点云数据规模趋于海量,甚至超出通用计算机的主存容 限时,点云数据无法一次性加载到主存中,上述精简方法将无法使用。
技术实现思路
本专利技术的目的是针对目前海量点云的精简方法存在的主要问题,提出一种海量点 云的Out-of-Core快速均匀精简方法,不仅能够快速精简超出主存容限的海量散乱点云, 且能够达到较好精简效果。 本专利技术的目的是通过如下技术方案实现的: 一种,其特征在于;(1)为超出主存容限 的海量点云构建主存-辅存分级存储机制,将海量点云的动态索引结构存储在主存储器 中,将动态索引结构的数据结点存储在辅存储器中;(2)获取海量点云主存-辅存分级存 储机制第句言索引层的结点的集合为冲任一结点;(3)获取集合中结点的 总数厶|'^^将用于存储海量点云最终精简结果的集合钟刀始化为空集;(4)将点集0 初始化为空集,并将结点'包含的点数据添加到点集冲,计算点集嫌]均值点&?,式中2>;表示点集冲所有点在^^方向的坐标值之和,减示冲数据点的总数, 为点集0所在坐标系的维度;(5)获取点集冲距离Am最近的点C,将g添加到集合/^, ;做重复执行(4)~(5),直至f二£ ;(7)伪最终海量点云的精简结果。 所述的,其特征在于步骤(1)构建主 存-辅存分级存储机制的具体步骤为;(1)初始化;i<-l,新建CR树的根结点巧;(2)构 建用于存储叶结点子结点数据的点链表P/. ;(3)读取点云文件中第i行点数据4,若/g.为 空,则跳转至(16) ; (4)将点数据/,插入巧;妨根据/,利用CR树动态空间索引的选择子 树算法获取叶结点巧化)若数据库SQLite中对应叶结点/前数据表口存在,则利用数据库 SQLite的读取语句将邱余表头数据外的其他数据拷贝到中,F^A,调整结点K利用 数据库SQLite的删除语句将幼人数据库SQLite中删除;(7)若.巧中元素的总数£ < ,则构建数据表C,将结点及巧.中的数据存储到口中,其中表头为K巧.中的数据在 后,清空主存储器中的点链表巧,。,并跳转至(15) ; (8)将的子结点转化为点集供利用k均值聚类算法对点集ea行聚类,将点集巧>为A个子集{谷.....&};巧)利用结点/冲的 子结点与点集0的双射关系,将结点/前子结点分裂为k个新的结点{ii...,巧}; (10)若 巧叶结点,J'^1,否则,固龄至(14) ;(11)利用数据库SQLite新建数据表语句构建新的 数据表马,并利用数据库SQLite插入语句将及其包含的点数据存储到£>,中,其中表头为 其它为f,'包含的点数据,+ 重复(11),直至i二奏。结束;(13)清空主存 储器中的点链表巧;(14)获取结点/前父结点|:>,^*^1=]5,将1^个新的结点巧,...,|*^ 逐个插入到冲,若冲的子结点总数《>姐,返回巧);(15)f片1,返回(3) ;(16) 海量点云主存-辅存分级存储机制构建完成。 所述的,其特征在于步骤巧)子结点 转化为点集的方法为;将上溢结点的子结点转化为子结点包围盒的中屯、点,转化公式为 A二C牌㈱)似 式中表示上溢结点尸中任一子结点/i的包围盒,C(A')表示包围盒X的中屯、点。 本专利技术与现有技术相比,具有W下优点: (1) CR树与SQLite相结合构建的主存-辅存分级存储机制能有效存储与管理超出主 存容限的海量点云数据; (2) 利用距离均值点最近的点代替每簇点集有效提高了精简效率; (3) 将上溢结点的子结点用其包围盒的中屯、点代替,能够有效表示结点的空间分布, 同时提高了建树效率; (4) 可用于交互性显示与观察海量点云 的几何特征,同时可作为海量散乱点云进一步进行保形精简的预处理工作。【附图说明】 图1是本专利技术的程序实现流程图; 图2是改进的CR树上溢结点的点集表示效果图; 图3是海量点云主存-辅存分级存储机制结构示意图; 图4~图6是对结点进行k均值聚类的过程示意图; 图7是实施例一海量点云精简试验所采用的一种实物表面样点一一blade点云模型; 图8是实施例二海量点云精简试验所采用的一种实物表面样点一一佛像体点云模型; 图9-11是实例一blade点云模型不同结点层的精简效果图; 图12-14是实例二佛像点云模型不同结点层的精简效果图。【具体实施方式】 下面结合附图及实施例对本专利技术作进一步说明。 图1是本专利技术的程序实现流程图,可 采用C程序设计语言实现。海量散乱点云精简方法的程序主要模块包括改进CR树结点表 示方法、海量点云CR树动态索引结构的构建、CR树与数据库SQLite相结合实现海量点云 主存-辅存分级存储机制的构建、选取目标结点层及该目标结点层的结点集、获取结点集 中每个结点中距离结点均值点最近的点等。 图2是改进的CR树上溢结点的点集表示效果图,将上溢结点的子结点转化为子结 点包围盒的中屯、点,转化公式为 巧'二C(玄(/;)) 似 式中SW)表示上溢结点/冲任一子结点/:的包围盒,CC的表示包围盒X的中屯、点。图3是海量点云主存-辅存分级存储机制结构示意图,构建过程的具体步骤为: (1)初始化新建CR树的根结点F,; (2)构建用于存储叶结点子结点数据的点链 表巧;做读取点云文件中第带点数据/,,,若为空,则跳转至(16);(4)将点数据 插入沪t;(5)根据利用CR树动态空间索引的选择子树算法获取叶结点巧化)若数据 库SQLite中对应叶结点/前数据表C存在,则利用数据库SQLite的读取语句将邱余表头 数据外的其他数据拷贝到吗中,F^li,调整结点K利用数据库SQLite的删除语句将 公从数据库SQLite中删当前第1页1 2 本文档来自技高网...

【技术保护点】
一种海量点云的Out‑of‑Core快速均匀精简方法,其特征在于步骤依次为:(1) 为超出主存容限的海量点云构建主存‑辅存分级存储机制,将海量点云的动态索引结构存储在主存储器中,将动态索引结构的数据结点存储在辅存储器中;(2) 获取海量点云主存‑辅存分级存储机制第h层索引层的结点的集合,为F中任一结点;(3) 获取集合中结点的总数L,,将用于存储海量点云最终精简结果的集合P初始化为空集;(4) 将点集Q初始化为空集,并将结点包含的点数据添加到点集Q中,计算点集Q的均值点,式中表示点集Q中所有点在j轴方向的坐标值之和,N表示Q中数据点的总数,d为点集Q所在坐标系的维度;(5) 获取点集Q中距离最近的点,将添加到集合P中,;(6) 重复执行(4)~(5),直至;(7) P为最终海量点云的精简结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙殿柱聂乐魁李延瑞郭洪帅
申请(专利权)人:山东理工大学
类型:发明
国别省市:山东;37

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

1