专利名称:一种自适应密度的非均匀点云简化处理方法
技术领域:
本发明涉及计算机视觉、数据处理、计算机图形学、数值计算方法和逆向工程领 域,尤其是一种非均勻点云简化处理方法。
背景技术:
通过图像匹配和扫描真实物体模型技术可以获得大规模的采样点即点云。点云 通常包含大量的数据点并且能很好的表达物体的表面。但是大规模的点云给点的绘制以 及编辑都带来了很大的困难,另一方面,三维模型的表达通常并不需要如此多的点。为了 更有效的表达和绘制三维点云模型,近年来提出的很多方法应用于点云简化。在初期对点 云的研究中,多数研究是基于点的拓扑网格,有四种经典简化算法的概述见于Mark Pauly 马克.波利的文章M. Pauly,"EfficientSimplification of Point-Sampled Surfaces,,, IEEE Visualization 20020ct. 27-Nov.,即马克.波利点云曲面的有效简化IEEE视觉 2002. 10 ;包括了一下四种(1)顶点移除⑵顶点聚类(3)边收缩⑷粒子仿真。这几种 算法都是基于点拓扑而需要耗费较多的内存。于是近来很多研究的重点开始放在直接对点 云进行简化上。Boissormat引入了一种逐步的由粗糙到精细的简化方法,参照文献J. _D. Boissonnat and F.Cazals. “Coarse-to-fine surface, simplificationwith geometric guarantees" . EUROGRAPHICS 01,Conf. Proc.,Manchester, UK, 2001 ;即伯奈特基于几何方 法的细化点云简化欧洲图形学大会英国2001。11。重采样方法是通过一些定制的规则计算 初始点云的子集,而聚类的含义是把数据集分割为子集并找到每一子集的代表点。大多数 聚类算法都需要在初始数据集中随机的选择一些聚类中心,通常这些初始聚类中心的选择 会影响到最终选出的代表点的结果。仿射聚类算法的提出克服了这一缺陷,它的主要思想 是初始把每一个点都作为初始的代表点,并在点对之间发送带有点信息的消息,但是和其 他聚类算法一样不适合应用于稠密的相似矩阵。对点云简化的研究主要以点云的网格拓扑结构为基础,根据拓扑网格的关系进行 网格简化以达到点简化的目的,这种方法的缺陷是存储大量的网格而需要较大的内存。而 现在的主流方法主要是直接对点云进行简化。仿射聚类算法的主要优点是能够在点与点之 间发送消息,并且拥有较快的处理速度,应用领域较为广泛,但是对于稠密的数据相似矩阵 时需要较大的内存。在通过图像匹配特征点重建后得到的点云中,由于特征点分布的不均勻,会导致 最后得到的点云分布的不均勻,而在采用激光扫描获取数据点云时,也会因为条件的限制 而产生非均勻的点云,现有的点云简化方法计算复杂、需要占用较大内存、不能有效处理非 均勻的点云。
发明内容
为了克服已有的点云简化的处理方法的计算复杂、需要占用较大内存、不能有效 处理非均勻的点云的不足,本发明提供一种简化计算、减少占用的内存容量、能有效简化非均勻点云的自适应密度的非均勻点云简化处理方法。本发明解决其技术问题所采用的技术方案是一种自适应密度的非均勻点云简化处理方法,所述非均勻点云简化处理方法包括 以下步骤1)、首先对整体点云进行k近邻计算,计算点云模型中每一个点的k个邻近点,然 后根据邻近点来计算每一个点的曲率值和密度表示值,并将邻近点的序列号和其曲率值密
度值--对应;2)、根据每一个点的密度信息以及曲率信息进行自适应的均勻重采样;3)、进行近邻传播聚类简化,设初始点云为D,输出简化后点云为FD,过程为3. 1)根据点云中每个点的密度J和曲率cv,求出点云的平均密度5为所有点密度 的加权平均值;3. 2)设定点云平均密度阈值;3. 3)对初始点云D均勻网格曲率适应性采样方法采样获得其子点集SD ;3. 4)计算SD中点与点之间的相似度,得到相似度矩阵S,并通过索引获得SD中 点的u值;3. 5)运用近邻聚类算法,S和u作为AP算法输入,计算点间的代表度矩阵和适选 度矩阵;迭代更新点间的消息,然后计算SD中的点的平均密度,如果平均密度小于阈值,则 返回步骤3. 2),D = D-SD,每次选出的代表点标号加入到同一个矩阵中,直到达到目标值得 到最终点集FD。作为优选的一个方案所述步骤2)中,自适应的均勻重采样的过程为首先对点 云计算一个外接包围盒,并对包围盒中的点云模型进行网格划分,划分的过程中是均勻的 划分网格,由于密度的差异,落入不同单元格中的点数会有差异,采样时首先以外接立方体 坐标最小的立方体开始,并逐渐在此立方体周围扩大,在每一个单元格中查看其落入点的 曲率和密度信息,如果单元格内平均曲率超过整体点云的平均曲率,则再对单元格进行划 分以在此格中取到较多的样点,计算进一步细分格中点集的中心值,并找到最靠近中心值 的点作为一个采样点,然后把搜索过的点删除,在下一个立方体中搜索,直到遍历所有的 点o本发明的技术构思为针对非均勻的点云,本文提出基于近邻传播聚类密度自适 应的点云简化方法,将曲率计算和密度计算结合起来,共同作为点被保留的条件。密度是指具有统计性质的样本密度,密度的表示可以有多种方法,一个真实物体 的密度在物理学中的表示是质量与体积之比,例如水的密度是一千克每升。而表示所用三 维物体的点云是分布在物体的表面,因此,我们可以用单位面积内点的个数来作为三维点 云分布的密度。另外在聚类的概念中,一个类是一个区域,区域内存在的点的密集度可以表 示为点云的密度,例如,以样本点为中心,以某个指定数据为半径,在特征空间内画出一个 球形区域,计算落入该区域的样本数目作为该点的密度。还有一种方法是根据点与点之间 的距离来判断点的密度,如果样本点的邻近点与此点之间的平均距离小,则松散度小,表示 密度偏大,而样本点的邻近点与样点之间距离大,则表示松散度偏大,密度偏小。本文算法 中为了要计算点云中点间的密度,首先要对点云划分空间为栅格法,在划分过程中确定每 个点所属的单元格编号,然后在所在单元格内搜索周围点的个数,或者是根据单元格的划分计算邻近点的距离来表示密度,两种密度表示方法在本质上是相同的。假设空间中的任意一点p,在以半径为r的的区域内包含的点的个数称为点p基于 距离r的密度density (p,r),则整个点云的平均密度为
1 NDen = —^density (pt,r)(1)
N !=i其中N为点云中点的个数。点云中的最大最小密度为density.和densitymin。densitymax = max (density (p^ r)) i = 1,2, ... N (2)densitymin = min (density (pi r)) i = 1,2, ... N (3)以点云中点与点之间的距离作为密度衡量标准,点间的距离能够表现点云分布的 紧密程度。点云中任意一点P点到其他点的最小距离为dp,则dp = min(distance(p,q)),q = 1,2. N 且 q 乒 p (4)
1 NDm=-YJdp(5)
丄、i=lDffl为点云S中点之间的平均距离。点云中点与点之间的距离越小,点的分布越集中,密度也就越大,反之,点之间的 距离越大,则分布越稀疏,密度越小。采用以上基于距离的密度计算方法,首先利用k邻近点搜索算法对点云中的每一 个点搜索k个邻近点,计算邻近点到样点的平均距离,得到样点在点云环境中周围的密度
d o在非均勻点云中同样存在点云曲面的弯曲度问题,为了更好的保留简化后点云的 细节,仍然保留曲率计算,并把曲率信息也做为点云简化的标准之一。曲率计算方法同第四 章中的曲率计算方法。对非均勻密度点云的简化仍然基于近邻传播聚类算法,在运用近邻传播聚类算法 前计算基于距离的点云中点的密度以及曲率信息,并作为近邻传播聚类算法中的偏向参 数,达到以密度以及曲率共同作为监督策略来选择最终的样本点的结果。本发明的有益效果主要表现在简化计算、减少占用的内存容量、能有效简化非均 勻点云
图1是密度设定为全是点云平均密度的一半的旋转心脏模型的示意图。图2是密度设定为全是点云平均密度的一半的心脏模型的示意图。图3是原始非均勻点云的示意图。图4是4/5倍原始密度的简化结果的示意图。图5是3/4倍原始密度的简化结果
具体实施例方式下面结合附图对本发明作进一步描述。参照图1 图5,一种自适应密度的非均勻点云简化处理方法,假设点云中任意一 点的密度为么曲率为CV。设定一参数U作为衡量^和CV的范围。
u= cv/ d(6)当密度孑越大时,u越小,密度孑越小时,u越大。这样的话u就能反映密度大小的 变化,能够保证在密度大时降低点被选中为代表点的概率,而在密度较小时提高点被选中 为代表点的概率,反之,对于曲率来说也是,当曲率CV越大时,点被选中的概率越大,反之, 被选中的概率越小。而密度和曲率都大或都小时,U值则处于中间值,这个时候判断,以曲 率优先判定其被选中的概率。在对非均勻点云简化处理方法中,首先对整体点云进行k近邻计算,计算点云模 型中每一个点的k个邻近点,然后根据邻近点来计算每一个点的曲率值和密度表示值。然 后将点的序列号和其曲率值密度值一一对应,以便于下一步的索引使用。由于点云中的每 一个点的密度信息以及曲率信息都可以预先计算得到,因此我们可以根据这两种信息来对 点云进行自适应的采样后进行近邻传播聚类简化。采样方法和第四章中均勻重采样方法有 些类似,首先对点云计算一个外接包围盒,并对包围盒中的点云模型进行网格划分,划分的 过程中是均勻的划分网格,由于密度的差异,落入不同单元格中的点数会有差异,采样时首 先以外接立方体坐标最小的立方体开始,并逐渐在此立方体周围扩大,在每一个单元格中 查看其落入点的曲率和密度信息,如果单元格内平均曲率超过整体点云的平均曲率,则再 对单元格进行划分以在此格中取到较多的样点,计算进一步细分格中点集的中心值,并找 到最靠近中心值的点作为一个采样点。然后把搜索过的点删除,在下一个立方体中搜索, 直到遍历所有的点,此种均勻划分网格的方法能够保证在点云模型表面采样到比较均勻的 点,并且在曲率较大的网格内多采样点较大的保留细节信息。基于近邻传播聚类算法的非均勻点云算法流程如下初始点云为D,输出简化后点云为FD。步骤1 计算点云中每个点的密度J和曲率cv,并求出点云的平均密度5为所有点 密度的加权平均值。步骤2 设定点云平均密度阈值,本实验中把平均密度阈值设定为达到原模型密 度的4/5和3/4。步骤3 对初始点云D均勻网格曲率适应性采样方法采样获得其子点集SD。步骤4 计算SD中点与点之间的相似度,得到相似度矩阵S,并通过索引获得SD中 点的u值。步骤5 运用AP聚类算法,S和u作为AP算法输入,计算点间的代表度矩阵和适选 度矩阵。迭代更新点间的消息,然后计算SD中的点的平均密度,如果平均密度小于阈值,则 返回步骤2,D = D-SD,每次选出的代表点标号加入到同一个矩阵中,直到达到目标值得到 最终点集FD。对非均勻兔子点云实验结果如图3,4,5所示,图3为原始非均勻点云模型,图4和 图5为对此非均勻点云模型采用近邻传播聚类的密度适应性简化结果图。从利用自适应密度的近邻传播聚类简化后实验结果中图3和4,可以看出,由原图 的密度分布的不均勻而得到相对均勻的结果,有利于整体的进一步模型化。利用GE0MAGIC 软件对原始不均勻点云模型化结果和对3/4倍原始密度的简化模型化效果图,经过本实施 例的的自适应密度的近邻传播聚类算法简化后,点的数量大大减少,并且使兔子的整个点 分布相对比较均勻。
权利要求
一种自适应密度的非均匀点云简化处理方法,其特征在于所述非均匀点云简化处理方法包括以下步骤1)、首先对整体点云进行k近邻计算,计算点云模型中每一个点的k个邻近点,然后根据邻近点来计算每一个点的曲率值和密度表示值,并将邻近点的序列号和其曲率值密度值一一对应;2)、根据每一个点的密度信息以及曲率信息进行自适应的均匀重采样;3)、进行近邻传播聚类简化,设初始点云为D,输出简化后点云为FD,过程为3.1)根据点云中每个点的密度和曲率cv,求出点云的平均密度为所有点密度的加权平均值;3.2)设定点云平均密度阈值;3.3)对初始点云D均匀网格曲率适应性采样方法采样获得其子点集SD;3.4)计算SD中点与点之间的相似度,得到相似度矩阵S,并通过索引获得SD中点的u值;3.5)运用近邻聚类算法,S和u作为AP算法输入,计算点间的代表度矩阵和适选度矩阵;迭代更新点间的消息,然后计算SD中的点的平均密度,如果平均密度小于阈值,则返回步骤3.2),D=D-SD,每次选出的代表点标号加入到同一个矩阵中,直到达到目标值得到最终点集FD。FDA0000022022650000011.tif,FDA0000022022650000012.tif
2.如权利要求1所述的一种自适应密度的非均勻点云简化处理方法,其特征在于所 述步骤2)中,自适应的均勻重采样的过程为首先对点云计算一个外接包围盒,并对包围 盒中的点云模型进行网格划分,划分的过程中是均勻的划分网格,由于密度的差异,落入不 同单元格中的点数会有差异,采样时首先以外接立方体坐标最小的立方体开始,并逐渐在 此立方体周围扩大,在每一个单元格中查看其落入点的曲率和密度信息,如果单元格内平 均曲率超过整体点云的平均曲率,则再对单元格进行划分以在此格中取到较多的样点,计 算进一步细分格中点集的中心值,并找到最靠近中心值的点作为一个采样点,然后把搜索 过的点删除,在下一个立方体中搜索,直到遍历所有的点。
全文摘要
一种自适应密度的非均匀点云简化处理方法,包括以下步骤1)首先对整体点云进行k近邻计算;2)根据每一个点的密度信息以及曲率信息进行自适应的均匀重采样;3)设初始点云为D,输出简化后点云为FD,求出点云的平均密度为所有点密度的加权平均值。设定点云平均密度阈值;对初始点云D均匀网格曲率适应性采样方法采样获得其子点集SD;计算SD中点与点之间的相似度,得到相似度矩阵S,并通过索引获得SD中点的u值;运用近邻聚类算法,S和u作为AP算法输入,计算点间的代表度矩阵和适选度矩阵;迭代更新点间的消息,直到达到目标值得到最终点集FD。本发明简化计算、减少占用的内存容量、能有效简化非均匀点云。
文档编号G06T17/00GK101853526SQ20101019158
公开日2010年10月6日 申请日期2010年6月4日 优先权日2010年6月4日
发明者刘盛, 旺晓研, 李兰兰, 李友福, 王鑫, 陈胜勇 申请人:浙江工业大学