三维散乱点云拓扑近邻数据查询方法

文档序号:6466821阅读:134来源:国知局
专利名称:三维散乱点云拓扑近邻数据查询方法
技术领域
本发明提供一种三维散乱点云拓扑近邻数据査询方法,属于计算几何领域。
背景技术
三维散乱点云近邻数据査询广泛应用于逆向工程中的曲面重建与插值、地理信息系统及 微分几何等领域,其査询效率和准确性直接影响数据处理的速度和质量。
目前,常用的三维散乱点云近邻数据査询方法主要有A近邻査询和局部Delaunay近邻査 询。其中,it近邻査询主要采用空间分块策略,熊邦书等在学术期刊《计算机辅助设计与图形 学学报》2004, 16(7), P909-912上发表的学术论文"三维散乱数据的A个最近邻域快速搜索 算法"中,把数据空间分成许多大小相同的立方体子空间,将散乱点云中的每个点归入到相 应的子空间中,通过査询样点所在子空间及近邻子空间获取样点逝邻;但是,三维散乱点云 中的逝邻仅为几何近邻,对于非均匀点云,A近邻不能体现样点处的局部拓扑关系。单东日 和柯映林在学术期刊《中国机械工程》2003, 14, P756-758上发表的学术论文"基于二维 Delaunay近邻的空间散乱数据曲面重、建算法"中提出二维Delaunay近邻査询算法,基于逝邻 査询算法获取样点的^5邻点集,将其向最小二乘平面投影,从投影点中査找样点的Delaunay 近邻,将其映射到三维空间,获取投影点所对应的原始点作为局部型面参考数据,该算法获 取的Ddaunay近邻同时也是样点拓扑关系上的近邻(即拓扑近邻),伹是,由于该算法是基于 样点的逝邻点集査询获得其Delaunay近邻,所以不能保证准确获取样点全部的拓扑近邻数 据。

发明内容
本发明的目的在于提供一种三维散乱点云拓扑近邻数据査询方法,散乱点云拓扑近邻数 据作为散乱点云的局部型面参考数据可有效反映散乱点云的局部拓扑关系。其技术方案为
一种三维散乱点云拓扑近邻数据査询方法,其特征在于步骤依次为(l)采集三维散乱点 云数据并基于R^tree组织三维散乱点云的动态空间索引结构;(2)采用动态空心球扩展算法 査询样点的/t近邻点集(实践中,取A:值为8 15),具体是基于三维散乱点云动态空间索引 结构采用深度优先遍历算法査找包含样点的叶结点,计算其MBR (Minimum BoundingRectangle)的外接球半径r,以当前样点为球心,^=^^^为半径,确定空间球区域,获 取该空间球区域内的数据点,若其点数大于it,则从中査找与样点之间距离最近的)t个点,否 则以当前球半径为内径,+ ("为己取得的近邻点数)为外径,动态扩展空心
球区域,直到球内包含的点数大于等于it个,从中査找与样点之间距离最近的A个点,获取
样点的A近邻点集;(3)生成样点及其A近邻点所组成点集的Voronoi图;(4)如果样点为非 边界点且其Voronoi区域不封闭,则进行偏心扩展,否则直接执行步骤(5); (5)进行自适应扩 展,获取样点的拓扑近邻参考数据;(6)生成样点拓扑近邻参考数据的Voronoi图,査询与样 点Voronoi区域相邻的区域所对应的数据点,即为样点的拓扑近邻数据。
为实现发明目的,所述的三维散乱点云拓扑近邻数据査询方法,在步骤(4)中,对样点及 其A:近邻所组成的点集进行偏心扩展,以获取样点封闭的Voronoi区域,具体是1)根据三 维散乱点云的疏密程度设定距离阈值S,初始化扩展次数f-0; 2)将样点及其A近邻点组成 点集尸,将样点记作C,计算样点C与其A近邻点之间的距离,查找其中最大值R,分别以点 集P中各点为球心,R/4为半径作球,将球内包含点的个数记作该点的质量 m,.,(i = l,2,...,"l)。根据公式①,求得点集尸重心q的坐标;3)计算向量C,C的模,记作 lqCl-A 4)判断点集尸中各点是否都位于样点的一侧且r^S"如果是,则执行步骤5), 否则扩展结束;5)计算q关于C的对称点cV,并作如下代换C1=C, C = CV,及=及+ ^/, f = f+l; 6)将以C为球心,i 为半径的球内及球面上的点赋于点集尸。
A+l A+l A+l
Z,, S附'z'
S附i 2附' S附i
为实现发明目的,所述的三维散乱点云拓扑近邻数据査询方法,在步骤(5)中,进行自适 应扩展,获取样点的拓扑近邻参考数据,具体是偏心扩展后获取样点的近邻点集P,生成 其Voronoi图,计算样点到其所对应Voronoi区域各顶点的最大距离f/,,以样点为球心,2d皿 为半径作球,获取球内及球面上的点作为样点的拓扑近邻参考数据。
为实现发明目的,所述的三维散乱点云拓扑近邻数据査询方法,在步骤(6)中,生成局部 点集(样点拓扑近邻参考数据)的Voronoi图,基于存储Voronoi信息的"点-边-面-体"数据 结构査询与样点Voronoi区域具有公共面的区域(即Voronoi邻域)所对应的数据点,快速准确获取样点的拓扑近邻数据。 本发明具有以下四个优点1) 基于R*-tree组织的三维散乱点云动态空间索引结构采用动态空心球扩展算法进行ik 近邻査询,实现了三维散乱点云局部型面参考数据的快速获取;2) 提出偏心扩展和自适应扩展方法,获取了各种复杂海量散乱点云中包含样点全部拓扑 近邻点的参考数据;3) 对局部点集——样点的拓扑近邻参考数据生成Voronoi图并进行样点近邻数据过滤, 快速准确获取了各种复杂海量散乱点云的拓扑近邻数据;4) 采用本发明査询三维散乱点云拓扑近邻数据的时间复杂度是O(")。


图1是本发明实施案例整体点云图及样点C处局部点云放大图;图2是图1所示实施案例中样点C及其A近邻点集的三维Voronoi图网格图; 图3是图1所示实施案例中样点C及其A近邻点集的三维Voronoi图渲染图; 图4是图1所示实施案例中样点C及其A近邻点集的三维Voronoi图正截面图; 图5是本发明中偏心扩展流程图;图6是图1所示实施案例偏心扩展后样点及其近邻点集的Voronoi图; 图7是图1所示实施案例自适应扩展后样点及其近邻点集的Voronoi图; 图8是图1所示实施案例获取的样点的拓扑近邻数据(图中的三角形点)。
具体实施方式
实施案例査询米老鼠点云数据文件中第一个点(样点)的拓扑近邻数据,其实验步骤为1、 用激光测量机获取米老鼠模型的表面数据,如图1所示,数据点个数为20631,基于 R^tree建立米老鼠点云的动态空间索引结构,并采用动态空心球扩展算法查询点云数据文件 中第一个点C(21.5960' 28.8220, 13.0150)的A;近邻点集(取"12);2、 将样点C及其A近邻点组成点集尸,计算样点C与其6近邻点之间的距离,査找其中 最大值及=1.0453mm ,分别以点集尸中各点为球心,及/4为半径作球,将球内包含点的个数 标记为该点的质量m,.,(i-l,2,...,13)。根据公式①,求得点集户重心C,的坐标(21.08卯, 28.4110, 13.0470)。分别计算以样点C为起点,A:近邻点为终点的向量与向量Cq之间的夹 角,求得各夹角都小于9(T,即样点的ifc近邻点都位于一侧,如图2所示,生成其Voronoi图, 图3为其Voronoi图的渲染图,图4为其Voronoi图的正截面图,可见样点的Voronoi区域不封闭,需沿着向量C,C的方向偏心扩展点集尸;<formula>formula see original document page 7</formula>3、 根据点云分布情况设定距离阏值£ = 2.5mm ,对样点的近邻点集进行偏心扩展,偏心 扩展算法流程如图5所示,偏心扩展后,如图6所示,点丄5被添加到样点的近邻点集中, 生成样点及其近邻点集的Voronoi图;4、 进行自适应扩展计算样点C与其Voronoi邻域顶点之间的距离,得到其中的最大 值0) = <^ = 0.6310mm ,以C为球心,以2《^为半径作球,则样点的拓扑近邻数据都在该球范围内,球内及球面上的点即为欲获取的样点拓扑近邻参考数据;5、 生成样点拓扑近邻参考数据的Voronoi图,如图7中实线所示,可见,只有在球内的点(如点M)才可能影响到样点C*的Voronoi区域,球外的任何点都不可能是样点C的拓扑近 邻数据。从存储Voronoi信息的"点-边-面-体"数据结构中査找当前样点所对应的Voronoi区 域,査询与样点具有公共Voronoi边的Voronoi区域,获得样点的Voronoi邻域,其所对应的 数据点(图8中三角形点)即为样点的拓扑近邻数据,査询时间为L060713s。 实施案例三维散乱点云中其它样点的拓扑近邻数据査询方法同上。
权利要求
1、一种三维散乱点云拓扑近邻数据查询方法,其特征在于步骤依次为(1)采集三维散乱点云数据并基于R*-tree组织三维散乱点云的动态空间索引结构;(2)采用动态空心球扩展算法查询样点的k近邻点集,具体是基于三维散乱点云动态空间索引结构采用深度优先遍历算法查找包含样点的叶结点,计算其MBR的外接球半径r,以当前样点为球心,<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msub> <mi>r</mi> <mn>1</mn></msub><mo>=</mo><mi>r</mi><mo>&CenterDot;</mo><msqrt> <mfrac><mi>k</mi><mi>M</mi> </mfrac></msqrt> </mrow>]]></math> id="icf0001" file="A2008101597430002C1.tif" wi="21" he="11" top= "53" left = "167" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>为半径,确定空间球区域,获取该空间球区域内的数据点,若其点数大于k,则从中查找与样点之间距离最近的k个点,否则以当前球半径为内径,以<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><msub> <mi>r</mi> <mn>2</mn></msub><mo>=</mo><msub> <mi>r</mi> <mn>1</mn></msub><mo>&CenterDot;</mo><msqrt> <mfrac><mrow> <mi>k</mi> <mo>-</mo> <mi>n</mi></mrow><mi>n</mi> </mfrac> <mo>+</mo> <mn>1</mn></msqrt> </mrow>]]></math> id="icf0002" file="A2008101597430002C2.tif" wi="31" he="10" top= "78" left = "129" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>为外径,动态扩展空心球区域,其中n为已取得的近邻点数,直到球内包含的点数大于等于k个,从中查找与样点之间距离最近的k个点,获取样点的k近邻点集;(3)生成样点及其k个近邻点所组成点集的Voronoi图;(4)如果样点为非边界点且其Voronoi区域不封闭,则进行偏心扩展,否则直接执行步骤(5);(5)进行自适应扩展,获取样点的拓扑近邻参考数据;(6)生成样点拓扑近邻参考数据的Voronoi图,查询与样点Voronoi区域相邻的区域所对应的数据点,即为样点的拓扑近邻数据。
2、 如权利要求1所述的三维散乱点云拓扑近邻数据査询方法,其特征在于在步骤(4) 中,对样点及其A近邻所组成的点集进行偏心扩展,以获取样点封闭的Voronoi区域,具体是 1)根据三维散乱点云的疏密程度设定距离阈值s,初始化扩展次数f-0; 2)将样点及其A 近邻点组成点集户,将样点记作C,计算样点C与其A近邻点之间的距离,査找其中最大值R, 分别以点集尸中各点为球心,R/4为半径作球,将球内包含点的个数记作该点的质量 m,-,(i = l,2,...,A: + l),根据公式①,求得点集P重心C,的坐标;3)计算向量C力的模,记作 lC,Cl-d; 4)判断点集尸中各点是否都位于样点的一侧且rd^s,如果是,则执行步骤5), 否则扩展结束;5)计算C,关于C的对称点CV,并作如下代换C1=C, C-CV,及-及+ d, f = "l; 6)将以C为球心,及为半径的球内及球面上的点赋于点集尸。<formula>formula see original document page 2</formula>S附, Z附,
3、 如权利姜求1所述的三维散乱点云拓扑近邻数据查询方法,其特征在于在步骤(5)中,提出自适应扩展理论,具体是偏心扩展后获取样点的近邻点集尸,生成其Voronoi图, 计算样点到其所对应Voronoi区域各顶点的最大距离t/,,以样点为球心,2d皿为半径作球, 将球内及球面上的点作为样点的拓扑近邻参考数据,样点的拓扑近邻点必全部包含在该点集 中。
4、如权利要求1所述的三维散乱点云拓扑近邻数据査询方法,其特征在于在步骤(6) 中,生成局部点集即样点拓扑近邻参考数据的Voronoi图,基于存储Voronoi信息的"点-边-面-体"数据结构査询与样点Voronoi区域具有公共面的区域即Voronoi邻域所对应的数据点, 快速准确获取样点的拓扑近邻数据。
全文摘要
本发明提供一种三维散乱点云拓扑近邻数据查询方法,其特征在于采集三维散乱点云数据并基于R<sup>*</sup>-tree组织三维散乱点云的动态空间索引结构,采用动态空心球扩展算法查询样点的k近邻点集,通过偏心扩展和自适应扩展获取样点拓扑近邻参考数据,生成样点拓扑近邻参考数据的Voronoi图,查询样点Voronoi邻域所对应的数据点,即为样点的拓扑近邻数据。采用本方法可快速准确获取任意复杂海量散乱点云的拓扑近邻数据。
文档编号G06K9/62GK101404061SQ20081015974
公开日2009年4月8日 申请日期2008年11月12日 优先权日2008年11月12日
发明者健 刘, 孙殿柱, 崔传辉, 朱昌志 申请人:山东理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1