CN103065354A - 点云优化方法及其装置 - Google Patents

点云优化方法及其装置 Download PDF

Info

Publication number
CN103065354A
CN103065354A CN2012105670585A CN201210567058A CN103065354A CN 103065354 A CN103065354 A CN 103065354A CN 2012105670585 A CN2012105670585 A CN 2012105670585A CN 201210567058 A CN201210567058 A CN 201210567058A CN 103065354 A CN103065354 A CN 103065354A
Authority
CN
China
Prior art keywords
point
cloud
new
adjoint
normal vector
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
CN2012105670585A
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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN2012105670585A priority Critical patent/CN103065354A/zh
Publication of CN103065354A publication Critical patent/CN103065354A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

一种点云优化方法包括:点云数据预处理步骤:对大规模散乱扫描点云进行精简,去噪,去外点,均匀化,法向量计算,空间结构划分预处理工作;点云尖锐特征恢复步骤:进一步的投影和法向量计算,恢复点云的尖锐特征;点云尖锐特征增强步骤:对尖锐特征处的上采样,增强点云的尖锐特征。本发明通过增强散乱点云的尖锐特征,使最终得到的三维模型更符合实际应用需求。同时,优化后的点云由于更精简,更规整,可以让现有的重建技术更易于调整参数,效率更高。换句话来说,本发明方法在不改动现有点云三维重建流程的基础上,通过优化点云这个原材料,提高了自动化程度、生产效率和产品质量。

Description

点云优化方法及其装置
【技术领域】
本发明涉及一种图像处理技术,尤其设计一种对大规模散乱点云的优化方法和装置。
【背景技术】
当今的生产应用中,计算机辅助设计,逆向工程,虚拟现实,三维动画和游戏等三维技术发展的一个主要瓶颈是:至今仍没有一个便利的方法快速获得用计算机存储的三维模型。近年来,三维激光扫描仪凭借其能够方便灵活地获取现实物体的三维表面数据的优势,得到了广泛应用。然而,目前在世界范围内,如何直接从扫描点云数据出发,直接快速得到实用的点云模型,仍是一个未完全解决的难题。
所谓点云模型,一般指由三维扫描设备发射扫描光到被测物体表面上,接收反射光,并以此推算出物体表面的三维坐标点的集合。所谓点云三维重建,是指在一定的点云模型数据基础上,重建出能表示源模型的网格数据,便于计算机渲染和用户交互。经过二十多年的发展,现有的点云三维重建技术并不能很好重构源物体的尖锐特征,主要存在两大问题。
第一,目前主流的研究方向是用三维曲面尽可能地去拟合输入的三维坐标点。为了消除噪声和外点的影响,往往使用全局或局部的二次拟合方法,对源模型进行逼近。这种方法可以较好地得到光滑而连续的拟合曲面,但最大缺点是它假设物体表面处处平滑,却无法保持物体的尖锐特征。
第二,现有的点云三维重建方法都严重依赖于点云的法向量信息。所谓法向量,是指每个三维的点除了坐标这一标量信息外,还有一个矢量信息,标明该点的朝向,并隐含着逼近曲面的梯度信息。而实际上,单从点云坐标信息估算正确的法向量信息,是使得点云三维重建技术自动化的最关键的一步。。但目前还没有一个很好的方法解决这个问题,特别是点云模型尖锐特征处的点的法向量更是难以估算。
如图1所示,是对一个方形泡沫盒子的点云三维重构,输入是由现有三维扫描设备直接获取的三维点云数据,这些数据只有散乱的点的三维坐标数据,往往包含大量的噪声、外点(outlier)和空洞,而且数据规模大,分布不均匀。从图上可以已经无法看清方形顶角的尖锐特征,实有待改善。
【发明内容】
有鉴于现有技术中三维点云重建的缺陷,有必要提供一种在尽可能恢复点云模型的尖锐特征的同时,保持非尖锐特征的光滑性,使得重建结果更真实的点云优化方法和装置。
为实现上述目的,本发明采用如下方案:
一种点云优化方法,其中,该方法包括:
点云数据预处理步骤:对大规模散乱扫描点云进行精简,去噪,去外点,均匀化,法向量计算,空间结构划分预处理工作;
点云尖锐特征恢复步骤:进一步的投影和法向量计算,恢复点云的尖锐特征;
点云尖锐特征增强步骤:对尖锐特征处的上采样,增强点云的尖锐特征。
所述的方法,其中,该点云数据预处理步骤由带权重的局部最优化投影,PCA法向量计算,点云空间划分三种方法组合使用实现其功能。
所述的方法,其中,该点云尖锐特征恢复步骤由各向异性的局部最优化投影,法向量磨光,双边滤波投影三种方法组合迭代使用,不断由已有可靠信息推断不可靠信息。
所述的方法,其中,各向异性的局部最优化投影方法加入了点云法向量差异的权重考虑,具体步骤为:
第一步,对原始的点云数据集合J进行随机下采样,得到下采样点集合I;
第二步,基于邻域半径h,求得点集I中每个点pi在点集I中的邻点集合和在点集J中的邻点集合
Figure BDA00002643449400022
第三步,求出点集I中每个点的稠密值density,若是第一次迭代,同时也求出点集J中每个点的稠密值density;若稠密值低于用户定义的阈值,把该点删除;
第四步,对于I中每个点xi,做如下操作:
对xi
Figure BDA00002643449400023
中的每个邻点pi,做如下操作:通过累加方式得到并保存一个三维向量repulsion;
对xi中的每个邻点pj,做如下操作:通过累加方式得到并保存一个三维向量average;
求出每个点pi的新坐标,mu是控制“斥力”大小的权值参数:
for(vi=samples->vert.begin();vi!=vert.end();;++vi)
vi->P()=vi->average+mu*vi->repulsion;
第五步,若迭代次数少于设定值,或两次迭代间的变化率大于设定值,返回第二步。
所述的方法,其中,该法向量磨光方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和ni
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加邻点法向量:ni+=wi*nj;
第三步,对于点云中每个点pi,做如下操作:
ni=ni/wi
所述的方法,其中,该双边滤波投方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和di
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加投影距离:di+=wi*(ni*(pi-pj));
第三步,对于点云中每个点pi,做如下操作:
pi=pi+di*ni
所述的方法,其中,该点云尖锐特征加强步骤采用保持尖锐特征的点云上采样技术方法。
所述的方法,其中,该保持尖锐特征的点云上采样方法步骤为:
第一步,根据参数邻域半径h,通过Grid遍历方法得到S中每个点si的邻点集
Figure BDA00002643449400041
对每个点si,根据它的邻点信息计算稀疏程度,从而得到该点的插新点的优先度:
假定点si的邻点数目为k个,则对于每一个邻点sj,
Figure BDA00002643449400042
与si都有一个中点mj,对于每一个中点mj,计算出它到si的每个邻点sj法向方向上的正弦投影距离,即 projDist = | | m j - s j | | - | | m j - s j | | · n s j , 求出其中最小的projDist;
求出这k个最小projDist的最大值max projDist作为点si的稠密度优先值,值越大,表明越稀疏,优先级越高,同时,记录这个最大值对应的中点mj以及产生这个中点的邻点sj,方便上采样过程中直接加点的处理;
第二步,根据稠密值的大小建立堆,维持堆顶元素是全局最稀疏的点;
第三步,取出堆顶元素,通过索引得到点云数据中相应的顶点s,得到***该点邻域的新点snew,然后投影,具体插点过程实现如下:
通过snew的两个端点s和s'的邻域,计算出snew的邻域;
s和s'的法向量作为候选法向赋给snew,用双边滤波投影算法计算出snew在每一个法向上的投影距离,选择投影距离最小的法向作为snew的临时法向量;
根据投影距离和法向对snew投影;
第四步,snew投影后,更新snew的邻点,以及把snew加入到它邻点的邻域中,然后计算出snew稠密度优先权值以及更新它的邻点的稠密度优先权值;同时,用法向量磨光算法计算出该点新的法向量;
第五步,把新点snew对应的权值节点***堆,同时更新它的邻点在堆中的位置;
第六步,如果点云S点总数目小于设定值,返回第三步继续插点。
一种点云优化装置,其中,包括:
点云数据预处理模块:对大规模散乱扫描点云进行精简,去噪,去外点,均匀化,法向量计算,空间结构划分预处理工作;
点云尖锐特征恢复模块:进一步的投影和法向量计算,恢复点云的尖锐特征;
点云尖锐特征增强模块:对尖锐特征处的上采样,增强点云的尖锐特征。
所述的装置,其中,该点云数据预处理模块由带权重的局部最优化投影,PCA法向量计算,点云空间划分三种方法组合使用实现其功能。
所述的装置,其中,该点云尖锐特征恢复模块由各向异性的局部最优化投影,法向量磨光,双边滤波投影三种方法组合迭代使用,不断由已有可靠信息推断不可靠信息。
所述的装置,其中,各向异性的局部最优化投影方法加入了点云法向量差异的权重考虑,具体步骤为:
第一步,对原始的点云数据集合J进行随机下采样,得到下采样点集合I;
第二步,基于邻域半径h,求得点集I中每个点pi在点集I中的邻点集合
Figure BDA00002643449400051
和在点集J中的邻点集合
Figure BDA00002643449400052
第三步,求出点集I中每个点的稠密值density,若是第一次迭代,同时也求出点集J中每个点的稠密值density;若稠密值低于用户定义的阈值,把该点删除;
第四步,对于I中每个点xi,做如下操作:
对xi
Figure BDA00002643449400053
中的每个邻点pi,做如下操作:通过累加方式得到并保存一个三维向量repulsion;对xi中的每个邻点pj,做如下操作:通过累加方式得到并保存一个三维向量average;
求出每个点pi的新坐标,mu是控制“斥力”大小的权值参数:
for(vi=samples->vert.begin();vi!=vert.end();;++vi)
vi->P()=vi->average+mu*vi->repulsion;
第五步,若迭代次数少于设定值,或两次迭代间的变化率大于设定值,返回第二步。
所述的装置,其中,该法向量磨光方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和ni
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加邻点法向量:ni+=wi*nj;
第三步,对于点云中每个点pi,做如下操作:
ni=ni/wi
所述的装置,其中,该双边滤波投影方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和di
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加投影距离:di+=wi*(ni*(pi-pj));
第三步,对于点云中每个点pi,做如下操作:
pi=pi+di*ni
所述的装置,其中,该点云尖锐特征加强模块配置为保持尖锐特征的点云上采样技术方法。
所述的装置,其中,该保持尖锐特征的点云上采样方法步骤为:
第一步,根据参数邻域半径h,通过Grid遍历方法得到S中每个点si的邻点集
Figure BDA00002643449400061
对每个点si,根据它的邻点信息计算稀疏程度,从而得到该点的插新点的优先度:
假定点si的邻点数目为k个,则对于每一个邻点sj,
Figure BDA00002643449400062
与si都有一个中点mj,对于每一个中点mj,计算出它到si的每个邻点sj法向方向上的正弦投影距离,即 projDist = | | m j - s j | | - | | m j - s j | | · n s j , 求出其中最小的projDist;
求出这k个最小projDist的最大值max projDist作为点si的稠密度优先值,值越大,表明越稀疏,优先级越高,同时,记录这个最大值对应的中点mj以及产生这个中点的邻点sj,方便上采样过程中直接加点的处理;
第二步,根据稠密值的大小建立堆,维持堆顶元素是全局最稀疏的点;
第三步,取出堆顶元素,通过索引得到点云数据中相应的顶点s,得到***该点邻域的新点snew,然后投影,具体插点过程实现如下:
通过snew的两个端点s和s'的邻域,计算出snew的邻域;
s和s'的法向量作为候选法向赋给snew,用双边滤波投影算法计算出snew在每一个法向上的投影距离,选择投影距离最小的法向作为snew的临时法向量;
根据投影距离和法向对snew投影;
第四步,snew投影后,更新snew的邻点,以及把snew加入到它邻点的邻域中,然后计算出snew稠密度优先权值以及更新它的邻点的稠密度优先权值;同时,用法向量磨光算法计算出该点新的法向量;
第五步,把新点snew对应的权值节点***堆,同时更新它的邻点在堆中的位置;
第六步,如果点云S点总数目小于设定值,返回第三步继续插点。
相对有现有技术,本发明并不是提出一种新的点云三维重建技术,而是通过增强散乱点云的尖锐特征,使最终得到的三维模型更符合实际应用需求。同时,优化后的点云由于更精简,更规整,可以让现有的重建技术更易于调整参数,效率更高。换句话来说,本发明方法在不改动现有点云三维重建流程的基础上,通过优化点云这个原材料,提高了自动化程度、生产效率和产品质量。
【附图说明】
图1为方形泡沫盒子在现有点云三维重建方法重建的结果图;
图2为本发明点云优化方法的流程图;
图3为本发明点云优化装置的模块图;
图4为方形泡沫盒子在本发明点云优化方法后三维重建的结果图。
【具体实施方式】
下面结合图示,对本发明进行说明。
本发明并不是提出一种新的点云三维重建技术,而是通过增强散乱点云的尖锐特征,使最终得到的三维模型更符合实际应用需求。本发明方法在不改动现有点云三维重建流程的基础上,通过优化点云这个原材料,提高了自动化程度、生产效率和产品质量。
【实施例1】
如图2所示,点云优化方法包括点云数据预处理步骤,点云尖锐特征恢复步骤,点云尖锐特征增强步骤。点云数据预处理步骤P100是利用现有的方法,对大规模散乱点云进行精简,去噪,去外点,均匀化,法向量计算,空间结构划分等预处理工作。点云尖锐特征恢复步骤P200是通过进一步的法向量计算,恢复点云的尖锐特征。点云尖锐特征增强步骤是通过对尖锐特征处的上采样,增强点云的尖锐特征。
下面具体来描述这三个步骤的具体情况。
一、点云数据预处理步骤
该点云数据预处理步骤P100主要包括三大方法:带权重的局部最优化投影,PCA法向量计算,点云空间划分。下面分别来说明这三个方法。
1.1、带权重的局部最优化投影(WLOP)方法
局部最优化投影(Locally Optimal Projection)是将一个散乱的点云投影(下采样)到一个新的点集,该点集能更好地表达物体的潜在模型。它除了有传统滤波方法的降噪功能以外,还能精简和均匀化点云,同时有利于点云法向量和拓扑结构的计算。
该方法如下:
给定一个散乱的点集P=fpjgj2J 1/2R3,LOP定义了一个投影点集X=fxigi2I 1/ 2R3。假设要进行k次迭代运算,k=0,1,2…,则有如下最优化方程,目标是最小化Xk
Xk=E1+1E2                        (1.1)
其中,点集I是从原点集J中随机下采样得来。一般I的点数越少,方法的效果越好。但点数过少可能会丢失原型的细节。k¢k是二次范式,
Figure BDA00002643449400083
是一个快速下降的权值函数,用来定义邻点搜索的范围大小。
Figure BDA00002643449400084
另一个快速下降的惩罚函数,用来防止点集X中的点互相之间距离太近。参数方面,0·1<:5是用来控制E 2部分的能量,通常取1=4:5即可。至于h的默认是
Figure BDA00002643449400085
其中dbb是三维模型绑定立方体的对角线,m是J中点的个数,该默认值能适应绝大部分需求。
从直观的几何意义来讲,E1相当于一种“引力”,把Xk中的每个点xi拉到它对应的在P中的邻点集合的中心位置,目的是让Xk在消除噪声的同时尽可能表达P中隐含的原模型。E2相当于是一种“斥力”,让Xk中的点相互排斥。两点的距离越近,斥力越大,从而达到全局均匀化的目的。当Xk中的这两个力达到最小化时,即这两个力相对平衡,得到的投影点集X就比较精简和均匀化了。
带稠密度权值的局部最优化投影(Weighted LOP):经观察,LOP方法在某些情况下不会聚合或产生振荡,全局均匀化效果不够好。原因是E1的作用是把每个点投影到本地分布的中心位置。当输入点集高度不均匀的时候,无论我们选取怎样的X0,最终结果在稠密的地方还是相对稠密。这样的话,对法向量的计算还是会产生不良影响。因此加入了描述点云稠密程度的权重函数:
Figure BDA00002643449400092
其中,pj2P;xi2X。对于点云的稠密部位,可用vi来减少“引力”,
Figure BDA00002643449400093
来增大“斥力”。把这两个函数加入LOP,并求解最优化方程,可得:
Figure BDA00002643449400094
其中,
Figure BDA00002643449400095
Figure BDA00002643449400096
Figure BDA00002643449400097
是指第k+1次迭代中第i个点的坐标。假设X的点个数为M,Xi在X中的平均邻点个数为N,P的点个数为I,Xi在P中的平均邻点个数为J,方法的时间复杂度近似为O(MN)+O(IJ)。
另一方面,扫描点云的时候有时会获得一些模型外部的外点。此时,可利用稠密度的定义,快速把这些相对低稠密度的外点消除。
该方法实现点云的精简,去噪,去外点,均匀化。该方法的优点是:无参数的、鲁棒的、高效的,并且不需要用到点的法向量信息。
1.2、PCA法向量计算:初步计算点云法向量
PCA(Principle Component Analysis)是一种对数据进行分析的技术,最重要的应用是对原有数据进行简化。这种方法可以有效的找出数据中最“主要”的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。
当前的目标是求出三维点云中每个点的法向量。就一个点P而言,不难知道它本身和周围邻点的三维坐标。将它们当做一组数据集考虑,易知它们满足高斯分布。此时可以转化为求出三维的一个平面,该平面经过点P,并且和每个邻点的垂直距离之和最小,则该平面的法向量方向可作为P点的法向量方向。而用PCA的方法可求出该平面。
PCA的目的是“降噪”和“去冗余”,一般实现思路是对角化协方差矩阵。协方差是一种用来度量两个随机变量关系的统计量:
cov ( X , Y ) = &Sigma; i = 1 n ( X i - X &OverBar; ) ( Y i - Y &OverBar; ) n - 1
其中,X,Y是随机变量,
Figure BDA00002643449400102
是变量平均值。
而协方差矩阵的定义为:
Cn×n=(ci,j,ci,j=cov(Dimi,Dimj))
其中Dimi是指第i维的随机变量。
对三维数据集{x,y,z}来说,其协方差矩阵为:
C = cov ( x , x ) cov ( x , y ) cov ( x , z ) cov ( y , x ) cov ( y , y ) cov ( y , z ) cov ( z , x ) cov ( z , y ) cov ( z , z )
协方差矩阵的主对角线上的元素是各个维度上的方差(即能量),其他元素是两两维度间的协方差(即相关性)。为了达到“降噪”目的,希望不同维度间的相关性尽可能小,即让协方差矩阵中非对角线元素都基本为零。这可利用线性代数中的矩阵对角化来实现。对角化后得到的矩阵,其对角线上是协方差矩阵的特征值。这特征值是各维度上的新方差,同时也代表各个维度本身应该拥有的能量。
首先,运用线性代数的知识,可以为点云上的每个点建立协方差矩阵:
C = p i 1 - p &OverBar; &CenterDot; &CenterDot; &CenterDot; p i k - p &OverBar; T p i 1 - p - &CenterDot; &CenterDot; &CenterDot; p i k - p &OverBar; , i j &Element; N p
其中,Np表示pi的邻点集合,
Figure BDA00002643449400106
表示Np的中点。
为把C对角化,应进行特征值分解:
C·vl=λl·vl,l∈{0,1,2}
由于C是对称半正定矩阵,所有的特征值λl是实值,并且特征向量vl相互垂直,形成一个新的坐标系,分别有三个新的维度方向v0,v1,v2。现在问题是从这三个向量中选取一个作为改点的法向量。已知λl是各个点在新的维度方向上的方差,可得:
&Sigma; i &Element; N p | p i - p | &OverBar; 2 = &lambda; 0 + &lambda; 1 + &lambda; 2
假设λ0<λ1<λ2,则形象地来说,v0是三个特征向量中拥有能量最少的一个方向,应最为法向量。也可简单证明如下:
假设有平面: T ( x ) : ( x - p &OverBar; ) &CenterDot; v k = 0 , k { 0,1,2 }
由前面分析可知,我们需要找出一个平面,使得中的点到该平面的距离的平方和最小。由于λ0的值最小,则各点在v0方向上的投影距离之和最小,由此得证。
假设点云的点的个数为M,每个点的平均邻点个数为N,PCA方法的时间复杂度近似为O(MN)。
值得注意的是,PCA只能算出法向量的方向,而无法确定其朝向。计算朝向的方法很多,比如鲁棒的基于邻点传播的方法。该方法是选取一个或多个源点开始,在它的k近邻点集中选取最优的点,并纠正它的法向量朝向,以此不断向前传播。最终的结果可能全部朝内或全部朝外,若朝内则全部翻转即可。
具体方法步骤如下:
第一步,基于邻域半径h,求得点云中每个点p的邻点集合Np
第二步,对于点云中每个点p,做如下操作:
对p的Np中的每个邻点pi,做如下操作:
计算p和pi的距离值di ff;
求出3×3的协方差矩阵:
for(inti=0;i<3;i++)
for(int j=0;j<3;j++)
covariance_mat[i][j]+=diff[i]*diff[j];
用雅可比法求协方差矩阵特征向量和特征值。
把特征向量按特征值从小到大排序,取最小值的特征向量作为p点的新法向量。
点云空间划分:建立邻域信息,用于快速获得每个点的邻接点
在点云方法实现过程中,第一步是每个点的邻点的获取。因为点云数据量庞大,对点云内单一个点而言,它不可能考虑全局所以的其他点,而往往只需要考虑自身周围的点即可。因此,如何快速有效实现邻点搜索是十分重要的。在***中,实现了两种邻点搜索方案:基于邻域半径和基于最近邻的方法。
基于邻域半径的方法是,给定邻域半径H,在三维点云中,为每一个点找出与它距离值小于H的所有点作为它的邻点。而基于最近邻的方法是,给定最近邻个数K,为每一个点找出与它最近距离的前K个点,作为它的邻点。
基于最近邻方法用ANN库来实现,而ANN库内部是用K-D Tree方法来搜索KNN邻点的。
二、尖锐特征恢复步骤
该尖锐特征恢复步骤主要由三大方法完成,各向异性的局部最优化投影,法向量磨光,双边滤波投影。下面分别来说明这三个方法。
2.1、各向异性的局部最优化投影:移走点云模型边缘尖锐特征处的点
本方法沿用上述的局部最优化投影的思路,不同的是加入了点云法向量信息的考虑。前面说到,法向量平滑过渡的区域一般是非尖锐特征处,反之法向量急剧变化的区域是尖锐特征处。因此,我们可以加入两个点的法向量的差异作为权值,法向量差异大的点,“引力”减少,那么点云模型上的点就趋于往法向量差异小的区域投影聚拢,从而达到移走点云模型边缘尖锐特征处的点的目的。
实际上,只需把LOP方法公式错误!未找到引用源。1中的E1改为如下即可:
Figure BDA00002643449400121
其中,
Figure BDA00002643449400122
原理是计算出点xi与其在源点集合P中的邻点pi形成的向量,和xi本身法向量之间的夹角。若pi和xi越不在同一平面上,则A的值越小。因此边缘上的点的总体趋势是往同一个面上点方面靠拢。
具体实现方法步骤如下:
第一步,对原始的点云数据集合J进行随机下采样,得到下采样点集合I。
第二步,基于邻域半径h,求得点集I中每个点pi在点集I中的邻点集合
Figure BDA00002643449400131
和在点集J中的邻点集合
第三步,按公式求出点集I中每个点的稠密值density。如果是第一次迭代,同时也求出点集J中每个点的稠密值density。若稠密值低于用户定义的阈值,把该点删除(去除外界特异点)。
第四步,对于I中每个点xi,做如下操作:
对xi
Figure BDA00002643449400133
中的每个邻点pi,做如下操作:通过累加方式,计算公式1.2中的右部,得到并保存一个三维向量repulsion;
对xi
Figure BDA00002643449400134
中的每个邻点pj,做如下操作:通过累加方式,计算公式1.4(如果计算WLOP,则用公式1.1)中的左部,得到并保存一个三维向量average;
根据公式1.1,求出每个点pi的新坐标,mu是控制“斥力”大小的权值参数:
for(vi=samples->vert.begin();vi!=vert.end();;++vi)
vi->P()=vi->average+mu*vi->repulsion;
第五步,若迭代次数少于设定值,或两次迭代间的变化率大于设定值,返回第二步。
2.2、法向量磨光和双边滤波投影:进一步优化尖锐特征附近点的坐标和法向量信息
经过一步各向异性的局部最优化投影后,不可靠的数据已经得到部分消除,因此我们可以对剩余的较可靠信息进行磨光修正。法向量磨光,是指在点云点坐标不变的情况下,优化法向量信息,增大边缘处的法向量差异程度,。双边滤波投影,是指点云法向量不变的情况下,优化点坐标信息,使边缘上的点投影到同一平面上。下面给出本发明用到的原理介绍和方法步骤。
法向量磨光方法公式如下:
n i &LeftArrow; &Sigma; s i &prime; &Element; N s i &theta; ( | | p i - p i &prime; | | ) &psi; ( n i , n i &prime; ) n i &prime; &Sigma; s i &prime; &Element; N s i &theta; ( | | p i - p i &prime; | | ) &psi; ( n i , n i &prime; ) . - - - ( 1 . 5 )
Figure BDA00002643449400136
其中,ni代表第i个点的法向量,ni′代表第i个点的邻点的法向量。θ是点距离权值函数,距离越小,权值越大。ψ是法向量差异权值函数,法向量差异越小,权值越大。
法向量磨光方法步骤如下:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和ni
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
根据公式1.5,计算pj对pi的权值wi+=θ*ψ;
累加邻点法向量:ni+=wi*nj;
第三步,对于点云中每个点pi,做如下操作:
ni=ni/wi;
双边滤波投影方法公式如下:
Figure BDA00002643449400141
其中,bk是需要投影的点,n是该点的法向量,bk是计算得到的该点沿着法向量投影的距离。pi是bk的第i个邻点,权值函数θ和ψ和法向量磨光中的一致。
双边滤波投影方法步骤如下:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和di
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
根据公式1.5,计算pj对pi的权值wi+=θ*ψ;
累加投影距离:di+=wi*(ni*(pi-pj));
第三步,对于点云中每个点pi,做如下操作:
pi=pi+di*ni;
3.3、迭代恢复尖锐方法:本方法用到的这三种技术,实质上就是前面所说的用可靠信息推理恢复不可靠信息。这决定了可能需要进行多次往返迭代,才能达到最佳的尖锐特征恢复效果。具体看输入点云的尖锐特征处的散乱程度而定。
三、尖锐特征增强步骤
该尖锐特征增强步骤P300主要由一种保持尖锐特征的点云上采样技术实现。
经过尖锐特征恢复步骤,在点云模型尖锐特征处会出现一道“空隙”,可看作为一种隐含的尖锐特征信息。因此,本发明采用了一种上采样方法,通过***新的点填补这道“空隙”,从而达到增强尖锐特征信息的目的。该上采样方法的思路是:不断地往点云模型最稀疏的地方插点,每插进一个新点,选择合适的临时法向量,用双边滤波投影方法把它投影到合适的位置,然后用法向量磨光方法计算出该点准确的法向量。详细步骤如下:
第一步,根据参数邻域半径h,通过Grid遍历方法得到S中每个点si的邻点集对每个点si,根据它的邻点信息计算稀疏程度,从而得到该点的插新点的优先度:
a)假定点si的邻点数目为k个,则对于每一个邻点sj,
Figure BDA00002643449400152
与si都有一个中点mj,对于每一个中点mj,计算出它到si的每个邻点sj法向方向上的正弦投影距离,即 projDist = | | m j - s j | | - | | m j - s j | | &CenterDot; n s j , 求出其中最小的projDist。
b)求出这k个最小projDist的最大值maxprojDist作为点si的稠密度优先值,值越大,表明越稀疏,优先级越高。同时,记录这个最大值对应的中点mj以及产生这个中点的邻点sj,方便上采样过程中直接加点的处理。
第二步,根据稠密值的大小建立堆,维持堆顶元素是全局最稀疏的点。
第三步,取出堆顶元素,通过索引得到点云数据中相应的顶点s,得到***该点邻域的新点snew,然后投影,具体插点过程实现如下:
a)通过snew的两个端点s和s'的邻域,计算出snew的邻域;
b)s和s'的法向量作为候选法向赋给snew,用双边滤波投影方法计算出snew在每一个法向上的投影距离,选择投影距离最小的法向作为snew的临时法向量;
c)根据投影距离和法向对snew投影。
第四步,snew投影后,更新snew的邻点,以及把snew加入到它邻点的邻域中,然后计算出snew稠密度优先权值以及更新它的邻点的稠密度优先权值;同时,用法向量磨光方法计算出该点新的法向量。
第五步,把新点snew对应的权值节点***堆,同时更新它的邻点在堆中的位置;
第六步,如果点云S点总数目小于设定值,返回第三步继续插点。
【实施例2】
如图3所示,点云优化装置包括点云数据预处理模块,点云尖锐特征恢复模块,点云尖锐特征增强模块。点云数据预处理模块D100是利用现有的方法,对大规模散乱点云进行精简,去噪,去外点,均匀化,法向量计算,空间结构划分等预处理工作。点云尖锐特征恢复模块D200是通过进一步的法向量计算,恢复点云的尖锐特征。点云尖锐特征增强模块D300是通过对尖锐特征处的上采样,增强点云的尖锐特征。
下面具体来描述这三个模块的具体情况。
一、点云数据预处理模块
该点云数据预处理模块D100主要包括三大方法:带权重的局部最优化投影,PCA法向量计算,点云空间划分。下面分别来说明这三个方法。
1.1、带权重的局部最优化投影(WLOP)方法
局部最优化投影(Locally Optimal Projection)是将一个散乱的点云投影(下采样)到一个新的点集,该点集能更好地表达物体的潜在模型。它除了有传统滤波方法的降噪功能以外,还能精简和均匀化点云,同时有利于点云法向量和拓扑结构的计算。
该方法如下:
给定一个散乱的点集P=fpjgj2J 1/2R3,LOP定义了一个投影点集X=fxigi2I 1/2R3。假设要进行k次迭代运算,k=0,1,2…,则有如下最优化方程,目标是最小化Xk
Xk=E1+1E2                                (2.1)
Figure BDA00002643449400171
Figure BDA00002643449400172
其中,点集I是从原点集J中随机下采样得来。一般I的点数越少,方法的效果越好。但点数过少可能会丢失原型的细节。k¢k是二次范式,
Figure BDA00002643449400173
是一个快速下降的权值函数,用来定义邻点搜索的范围大小。
Figure BDA00002643449400174
另一个快速下降的惩罚函数,用来防止点集X中的点互相之间距离太近。参数方面,0·1<:5是用来控制E 2部分的能量,通常取1=4:5即可。至于h的默认是
Figure BDA00002643449400175
其中dbb是三维模型绑定立方体的对角线,m是J中点的个数,该默认值能适应绝大部分需求。
从直观的几何意义来讲,E1相当于一种“引力”,把Xk中的每个点xi拉到它对应的在P中的邻点集合的中心位置,目的是让Xk在消除噪声的同时尽可能表达P中隐含的原模型。E2相当于是一种“斥力”,让Xk中的点相互排斥。两点的距离越近,斥力越大,从而达到全局均匀化的目的。当Xk中的这两个力达到最小化时,即这两个力相对平衡,得到的投影点集X就比较精简和均匀化了。
带稠密度权值的局部最优化投影(Weighted LOP):经观察,LOP方法在某些情况下不会聚合或产生振荡,全局均匀化效果不够好。原因是E1的作用是把每个点投影到本地分布的中心位置。当输入点集高度不均匀的时候,无论我们选取怎样的X0,最终结果在稠密的地方还是相对稠密。这样的话,对法向量的计算还是会产生不良影响。因此加入了描述点云稠密程度的权重函数:
Figure BDA00002643449400181
Figure BDA00002643449400182
其中,pj2P;xi2X。对于点云的稠密部位,可用vi来减少“引力”,
Figure BDA00002643449400183
来增大“斥力”。把这两个函数加入LOP,并求解最优化方程,可得:
Figure BDA00002643449400184
其中,
Figure BDA00002643449400185
Figure BDA00002643449400186
Figure BDA00002643449400187
是指第k+1次迭代中第i个点的坐标。假设X的点个数为M,Xi在X中的平均邻点个数为N,P的点个数为I,Xi在P中的平均邻点个数为J,方法的时间复杂度近似为O(MN)+O(IJ)。
另一方面,扫描点云的时候有时会获得一些模型外部的外点。此时,可利用稠密度的定义,快速把这些相对低稠密度的外点消除。
该方法实现点云的精简,去噪,去外点,均匀化。该方法的优点是:无参数的、鲁棒的、高效的,并且不需要用到点的法向量信息。
1.2、PCA法向量计算:初步计算点云法向量
PCA(Principle Component Analysis)是一种对数据进行分析的技术,最重要的应用是对原有数据进行简化。这种方法可以有效的找出数据中最“主要”的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。
当前的目标是求出三维点云中每个点的法向量。就一个点P而言,不难知道它本身和周围邻点的三维坐标。将它们当做一组数据集考虑,易知它们满足高斯分布。此时可以转化为求出三维的一个平面,该平面经过点P,并且和每个邻点的垂直距离之和最小,则该平面的法向量方向可作为P点的法向量方向。而用PCA的方法可求出该平面。
PCA的目的是“降噪”和“去冗余”,一般实现思路是对角化协方差矩阵。协方差是一种用来度量两个随机变量关系的统计量:
cov ( x , y ) = &Sigma; i = 1 n ( X i - X &OverBar; ) ( Y i - Y &OverBar; ) n - 1
其中,X,Y是随机变量,
Figure BDA00002643449400192
是变量平均值。
而协方差矩阵的定义为:
Cn×n=(ci,j,ci,j=cov(Dimi,Dimj))
其中Dimi是指第i维的随机变量。
对三维数据集{x,y,z}来说,其协方差矩阵为:
C = cov ( x , x ) cov ( x , y ) cov ( x , z ) cov ( y , x ) cov ( y , y ) cov ( y , z ) cov ( z , x ) cov ( z , y ) cov ( z , z )
协方差矩阵的主对角线上的元素是各个维度上的方差(即能量),其他元素是两两维度间的协方差(即相关性)。为了达到“降噪”目的,希望不同维度间的相关性尽可能小,即让协方差矩阵中非对角线元素都基本为零。这可利用线性代数中的矩阵对角化来实现。对角化后得到的矩阵,其对角线上是协方差矩阵的特征值。这特征值是各维度上的新方差,同时也代表各个维度本身应该拥有的能量。
首先,运用线性代数的知识,可以为点云上的每个点建立协方差矩阵:
C = p i 1 - p &OverBar; &CenterDot; &CenterDot; &CenterDot; p i k - p &OverBar; T p i 1 - p - &CenterDot; &CenterDot; &CenterDot; p i k - p &OverBar; , i j &Element; N p
其中,Np表示pi的邻点集合,
Figure BDA00002643449400196
表示Np的中点。
为把C对角化,应进行特征值分解:
C·vl=λl·vl,l∈{0,1,2}
由于C是对称半正定矩阵,所有的特征值λl是实值,并且特征向量vl相互垂直,形成一个新的坐标系,分别有三个新的维度方向v0,v1,v2。现在问题是从这三个向量中选取一个作为改点的法向量。已知λl是各个点在新的维度方向上的方差,可得:
&Sigma; i &Element; N p | p i - p - | 2 = &lambda; 0 + &lambda; 1 + &lambda; 2
假设λ0<λ1<λ2,则形象地来说,v0是三个特征向量中拥有能量最少的一个方向,应最为法向量。也可简单证明如下:
假设有平面: T ( x ) : ( x - p &OverBar; ) &CenterDot; v k = 0 , k { 0,1,2 }
由前面分析可知,我们需要找出一个平面,使得中的点到该平面的距离的平方和最小。由于λ0的值最小,则各点在v0方向上的投影距离之和最小,由此得证。
假设点云的点的个数为M,每个点的平均邻点个数为N,PCA方法的时间复杂度近似为O(MN)。
值得注意的是,PCA只能算出法向量的方向,而无法确定其朝向。计算朝向的方法很多,比如鲁棒的基于邻点传播的方法。该方法是选取一个或多个源点开始,在它的k近邻点集中选取最优的点,并纠正它的法向量朝向,以此不断向前传播。最终的结果可能全部朝内或全部朝外,若朝内则全部翻转即可。
具体方法步骤如下:
第一步,基于邻域半径h,求得点云中每个点p的邻点集合Np
第二步,对于点云中每个点p,做如下操作:
对p的Np中的每个邻点pi,做如下操作:
计算p和pi的距离值diff;
求出3×3的协方差矩阵:
for(inti=0;i<3;i++)
for(int j=0;j<3;j++)
covariance_mat[i][j]+=diff[i]*diff[j];
用雅可比法求协方差矩阵特征向量和特征值。
把特征向量按特征值从小到大排序,取最小值的特征向量作为p点的新法向量。
点云空间划分:建立邻域信息,用于快速获得每个点的邻接点
在点云方法实现过程中,第一步是每个点的邻点的获取。因为点云数据量庞大,对点云内单一个点而言,它不可能考虑全局所以的其他点,而往往只需要考虑自身周围的点即可。因此,如何快速有效实现邻点搜索是十分重要的。在***中,实现了两种邻点搜索方案:基于邻域半径和基于最近邻的方法。
基于邻域半径的方法是,给定邻域半径H,在三维点云中,为每一个点找出与它距离值小于H的所有点作为它的邻点。而基于最近邻的方法是,给定最近邻个数K,为每一个点找出与它最近距离的前K个点,作为它的邻点。
基于最近邻方法用ANN库来实现,而ANN库内部是用K-D Tree方法来搜索KNN邻点的。
二、尖锐特征恢复模块
该尖锐特征恢复模块D200主要包括三大方法,各向异性的局部最优化投影,法向量磨光,双边滤波投影。下面分别来说明这三个方法。
2.1、各向异性的局部最优化投影:移走点云模型边缘尖锐特征处的点
本方法沿用上述的局部最优化投影的思路,不同的是加入了点云法向量信息的考虑。前面说到,法向量平滑过渡的区域一般是非尖锐特征处,反之法向量急剧变化的区域是尖锐特征处。因此,我们可以加入两个点的法向量的差异作为权值,法向量差异大的点,“引力”减少,那么点云模型上的点就趋于往法向量差异小的区域投影聚拢,从而达到移走点云模型边缘尖锐特征处的点的目的。
实际上,只需把LOP方法公式错误!未找到引用源。1中的E1改为如下即可:
Figure BDA00002643449400211
其中,
Figure BDA00002643449400212
原理是计算出点xi与其在源点集合P中的邻点pi形成的向量,和xi本身法向量之间的夹角。若pi和xi越不在同一平面上,则A的值越小。因此边缘上的点的总体趋势是往同一个面上点方面靠拢。
具体实现方法步骤如下:
第一步,对原始的点云数据集合J进行随机下采样,得到下采样点集合I。
第二步,基于邻域半径h,求得点集I中每个点pi在点集I中的邻点集合
Figure BDA00002643449400221
和在点集J中的邻点集合
Figure BDA00002643449400222
第三步,按公式求出点集I中每个点的稠密值density。如果是第一次迭代,同时也求出点集J中每个点的稠密值density。若稠密值低于用户定义的阈值,把该点删除(去除外界特异点)。
第四步,对于I中每个点xi,做如下操作:
对xi
Figure BDA00002643449400223
中的每个邻点pi,做如下操作:通过累加方式,计算公式2.2中的右部,得到并保存一个三维向量repulsion;
对xi
Figure BDA00002643449400224
中的每个邻点pj,做如下操作:通过累加方式,计算公式2.4(如果计算WLOP,则用公式2.1)中的左部,得到并保存一个三维向量average;
根据公式2.1,求出每个点pi的新坐标,mu是控制“斥力”大小的权值参数:
for(vi=samples->vert.begin();vi!=vert.end();;++vi)
vi->P()=vi->average+mu*vi->repulsion;
第五步,若迭代次数少于设定值,或两次迭代间的变化率大于设定值,返回第二步。
2.2、法向量磨光和双边滤波投影:进一步优化尖锐特征附近点的坐标和法向量信息
经过一步各向异性的局部最优化投影后,不可靠的数据已经得到部分消除,因此我们可以对剩余的较可靠信息进行磨光修正。法向量磨光,是指在点云点坐标不变的情况下,优化法向量信息,增大边缘处的法向量差异程度,。双边滤波投影,是指点云法向量不变的情况下,优化点坐标信息,使边缘上的点投影到同一平面上。下面给出本发明用到的原理介绍和方法步骤。
法向量磨光方法公式如下:
n i &LeftArrow; &Sigma; s i &prime; &Element; N s i &theta; ( | | p i - p i &prime; | | ) &psi; ( n i , n i &prime; ) n i &prime; &Sigma; s i &prime; &Element; N s i &theta; ( | | p i - p i &prime; | | ) &psi; ( n i , n i &prime; ) . - - - ( 2.5 )
Figure BDA00002643449400226
其中,ni代表第i个点的法向量,ni′代表第i个点的邻点的法向量。θ是点距离权值函数,距离越小,权值越大。ψ是法向量差异权值函数,法向量差异越小,权值越大。
法向量磨光方法步骤如下:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和ni
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
根据公式2.5,计算pj对pi的权值wi+=θ*ψ;
累加邻点法向量:ni+=wi*nj;
第三步,对于点云中每个点pi,做如下操作:
ni=ni/wi;
双边滤波投影方法公式如下:
Figure BDA00002643449400231
其中,bk是需要投影的点,n是该点的法向量,bk是计算得到的该点沿着法向量投影的距离。pi是bk的第i个邻点,权值函数θ和ψ和法向量磨光中的一致。
双边滤波投影方法步骤如下:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和di
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
根据公式2.5,计算pj对pi的权值wi+=θ*ψ;
累加投影距离:di+=wi*(ni*(pi-pj));
第三步,对于点云中每个点pi,做如下操作:
pi=pi+di*ni;
3.3、迭代恢复尖锐特征:本模块用到的这三种技术,实质上就是前面所说的用可靠信息推理恢复不可靠信息。这决定了可能需要进行多次往返迭代,才能达到最佳的尖锐特征恢复效果。具体看输入点云的尖锐特征处的散乱程度而定。
三、尖锐特征增强模块
该尖锐特征增强模块D300主要由一种保持尖锐特征的点云上采样技术实现。
经过尖锐特征恢复模块的计算,在点云模型尖锐特征处会出现一道“空隙”,可看作为一种隐含的尖锐特征信息。因此,本发明采用了一种上采样方法,通过***新的点填补这道“空隙”,从而达到增强尖锐特征信息的目的。该上采样方法的思路是:不断地往点云模型最稀疏的地方插点,每插进一个新点,选择合适的临时法向量,用双边滤波投影方法把它投影到合适的位置,然后用法向量磨光方法计算出该点准确的法向量。详细步骤如下:
第一步,根据参数邻域半径h,通过Grid遍历方法得到S中每个点si的邻点集
Figure BDA00002643449400241
对每个点si,根据它的邻点信息计算稀疏程度,从而得到该点的插新点的优先度:
c)假定点si的邻点数目为k个,则对于每一个邻点sj,
Figure BDA00002643449400242
与si都有一个中点mj,对于每一个中点mj,计算出它到si的每个邻点sj法向方向上的正弦投影距离,即 projDist = | | m j - s j | | - | | m j - s j | | &CenterDot; n s j , 求出其中最小的projDist。
d)求出这k个最小projDist的最大值max projDist作为点si的稠密度优先值,值越大,表明越稀疏,优先级越高。同时,记录这个最大值对应的中点mj以及产生这个中点的邻点sj,方便上采样过程中直接加点的处理。
第二步,根据稠密值的大小建立堆,维持堆顶元素是全局最稀疏的点。
第三步,取出堆顶元素,通过索引得到点云数据中相应的顶点s,得到***该点邻域的新点snew,然后投影,具体插点过程实现如下:
d)通过snew的两个端点s和s'的邻域,计算出snew的邻域;
e)s和s'的法向量作为候选法向赋给snew,用双边滤波投影方法计算出snew在每一个法向上的投影距离,选择投影距离最小的法向作为snew的临时法向量;
f)根据投影距离和法向对snew投影。
第四步,snew投影后,更新snew的邻点,以及把snew加入到它邻点的邻域中,然后计算出snew稠密度优先权值以及更新它的邻点的稠密度优先权值;同时,用法向量磨光方法计算出该点新的法向量。
第五步,把新点snew对应的权值节点***堆,同时更新它的邻点在堆中的位置;
第六步,如果点云S点总数目小于设定值,返回第三步继续插点。
如图4所示,方形泡沫盒子在本发明点云优化方法后三维重建的结果图。跟图1相比,可以看到本发明通过增强散乱点云的尖锐特征,使最终得到的三维模型更符合实际应用需求。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种点云优化方法,其特征在于,该方法包括:
点云数据预处理步骤:对大规模散乱扫描点云进行精简,去噪,去外点,均匀化,法向量计算,空间结构划分预处理工作;
点云尖锐特征恢复步骤:进一步的投影和法向量计算,恢复点云的尖锐特征;
点云尖锐特征增强步骤:对尖锐特征处的上采样,增强点云的尖锐特征。
2.根据权利要求1所述的方法,其特征在于,该点云数据预处理步骤由带权重的局部最优化投影,PCA法向量计算,点云空间划分三种方法组合使用实现其功能。
3.根据权利要求1所述的方法,其特征在于,该点云尖锐特征恢复步骤由各向异性的局部最优化投影,法向量磨光,双边滤波投影三种方法组合迭代使用,不断由已有可靠信息推断不可靠信息。
4.根据权利要求3所述的方法,其特征在于,各向异性的局部最优化投影方法加入了点云法向量差异的权重考虑,具体步骤为:
第一步,对原始的点云数据集合J进行随机下采样,得到下采样点集合I;
第二步,基于邻域半径h,求得点集I中每个点pi在点集I中的邻点集合
Figure FDA00002643449300011
和在点集J中的邻点集合
Figure FDA00002643449300012
第三步,求出点集I中每个点的稠密值density,若是第一次迭代,同时也求出点集J中每个点的稠密值density;若稠密值低于用户定义的阈值,把该点删除;
第四步,对于I中每个点xi,做如下操作:
对xi
Figure FDA00002643449300013
中的每个邻点pi,做如下操作:通过累加方式得到并保存一个三维向量repulsion;
对xi
Figure FDA00002643449300014
中的每个邻点pj,做如下操作:通过累加方式得到并保存一个三维向量average;
求出每个点pi的新坐标,mu是控制“斥力”大小的权值参数:
for(vi=samples->vert.begin();vi!=vert.end();;++vi)
vi->P()=vi->average+mu*vi->repulsion;
第五步,若迭代次数少于设定值,或两次迭代间的变化率大于设定值,返回第二步。
5.根据权利要求3所述的方法,其特征在于,该法向量磨光方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和ni
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加邻点法向量:ni+=wi*nj;
第三步,对于点云中每个点pi,做如下操作:
ni=ni/wi
6.根据权利要求3所述的方法,其特征在于,该双边滤波投方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和di
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加投影距离:di+=wi*(ni*(pi-pj));
第三步,对于点云中每个点pi,做如下操作:
pi=pi+di*ni
7.根据权利要求1所述的方法,其特征在于,该点云尖锐特征加强步骤采用保持尖锐特征的点云上采样技术方法。
8.根据权利要求7所述的方法,其特征在于,该保持尖锐特征的点云上采样方法步骤为:
第一步,根据参数邻域半径h,通过Grid遍历方法得到S中每个点si的邻点集
Figure FDA00002643449300021
对每个点si,根据它的邻点信息计算稀疏程度,从而得到该点的插新点的优先度:
假定点si的邻点数目为k个,则对于每一个邻点sj,
Figure FDA00002643449300022
与si都有一个中点mj,对于每一个中点mj,计算出它到si的每个邻点sj法向方向上的正弦投影距离,即 projDist = | | m j - s j | | - | | m j - s j | | &CenterDot; n s j , 求出其中最小的projDist;
求出这k个最小projDist的最大值max projDist作为点si的稠密度优先值,值越大,表明越稀疏,优先级越高,同时,记录这个最大值对应的中点mj以及产生这个中点的邻点sj,方便上采样过程中直接加点的处理;
第二步,根据稠密值的大小建立堆,维持堆顶元素是全局最稀疏的点;
第三步,取出堆顶元素,通过索引得到点云数据中相应的顶点s,得到***该点邻域的新点snew,然后投影,具体插点过程实现如下:
通过snew的两个端点s和s'的邻域,计算出snew的邻域;
s和s'的法向量作为候选法向赋给snew,用双边滤波投影算法计算出snew在每一个法向上的投影距离,选择投影距离最小的法向作为snew的临时法向量;
根据投影距离和法向对snew投影;
第四步,snew投影后,更新snew的邻点,以及把snew加入到它邻点的邻域中,然后计算出snew稠密度优先权值以及更新它的邻点的稠密度优先权值;同时,用法向量磨光算法计算出该点新的法向量;
第五步,把新点snew对应的权值节点***堆,同时更新它的邻点在堆中的位置;
第六步,如果点云S点总数目小于设定值,返回第三步继续插点。
9.一种点云优化装置,其特征在于,包括:
点云数据预处理模块:对大规模散乱扫描点云进行精简,去噪,去外点,均匀化,法向量计算,空间结构划分预处理工作;
点云尖锐特征恢复模块:进一步的投影和法向量计算,恢复点云的尖锐特征;
点云尖锐特征增强模块:对尖锐特征处的上采样,增强点云的尖锐特征。
10.根据权利要求9所述的装置,其特征在于,该点云数据预处理模块由带权重的局部最优化投影,PCA法向量计算,点云空间划分三种方法组合使用实现其功能。
11.根据权利要求9所述的装置,其特征在于,该点云尖锐特征恢复模块由各向异性的局部最优化投影,法向量磨光,双边滤波投影三种方法组合迭代使用,不断由已有可靠信息推断不可靠信息。
12.根据权利要求11所述的装置,其特征在于,各向异性的局部最优化投影方法加入了点云法向量差异的权重考虑,具体步骤为:
第一步,对原始的点云数据集合J进行随机下采样,得到下采样点集合I;
第二步,基于邻域半径h,求得点集I中每个点pi在点集I中的邻点集合和在点集J中的邻点集合
Figure FDA00002643449300042
第三步,求出点集I中每个点的稠密值density,若是第一次迭代,同时也求出点集J中每个点的稠密值density;若稠密值低于用户定义的阈值,把该点删除;
第四步,对于I中每个点xi,做如下操作:
对xi中的每个邻点pi,做如下操作:通过累加方式得到并保存一个三维向量repulsion;
对xi
Figure FDA00002643449300044
中的每个邻点pj,做如下操作:通过累加方式得到并保存一个三维向量average;
求出每个点pi的新坐标,mu是控制“斥力”大小的权值参数:
for(vi=samples->vert.begin();vi!=vert.end();;++vi)
vi->P()=vi->average+mu*vi->repulsion;
第五步,若迭代次数少于设定值,或两次迭代间的变化率大于设定值,返回第二步。
13.根据权利要求11所述的装置,其特征在于,该法向量磨光方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和ni
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加邻点法向量:ni+=wi*nj;
第三步,对于点云中每个点pi,做如下操作:
ni=ni/wi
14.根据权利要求11所述的装置,其特征在于,该双边滤波投影方法步骤:
第一步,基于邻域半径h,求得点云中每个点pi的邻点集合Np,初始化每个点的wi和di
第二步,对于点云中每个点pi,做如下操作:
对pi的Np中的每个邻点pj,做如下操作:
计算pj对pi的权值wi+=θ*ψ;
累加投影距离:di+=wi*(ni*(pi-pj));
第三步,对于点云中每个点pi,做如下操作:
pi=pi+di*ni
15.根据权利要求9所述的装置,其特征在于,该点云尖锐特征加强模块配置为保持尖锐特征的点云上采样技术方法。
16.根据权利要求15所述的装置,其特征在于,该保持尖锐特征的点云上采样方法步骤为:
第一步,根据参数邻域半径h,通过Grid遍历方法得到S中每个点si的邻点集
Figure FDA00002643449300051
对每个点si,根据它的邻点信息计算稀疏程度,从而得到该点的插新点的优先度:
假定点si的邻点数目为k个,则对于每一个邻点sj,
Figure FDA00002643449300052
与si都有一个中点mj,对于每一个中点mj,计算出它到s i的每个邻点sj法向方向上的正弦投影距离,即 projDist = | | m j - s j | | - | | m j - s j | | &CenterDot; n s j , 求出其中最小的proDist;
求出这k个最小projDist的最大值maxprojDist作为点si的稠密度优先值,值越大,表明越稀疏,优先级越高,同时,记录这个最大值对应的中点mj以及产生这个中点的邻点sj,方便上采样过程中直接加点的处理;
第二步,根据稠密值的大小建立堆,维持堆顶元素是全局最稀疏的点;
第三步,取出堆顶元素,通过索引得到点云数据中相应的顶点s,得到***该点邻域的新点snew,然后投影,具体插点过程实现如下:
通过snew的两个端点s和s'的邻域,计算出snew的邻域;
s和s'的法向量作为候选法向赋给snew,用双边滤波投影算法计算出snew在每一个法向上的投影距离,选择投影距离最小的法向作为snew的临时法向量;
根据投影距离和法向对snew投影;
第四步,snew投影后,更新snew的邻点,以及把snew加入到它邻点的邻域中,然后计算出snew稠密度优先权值以及更新它的邻点的稠密度优先权值;同时,用法向量磨光算法计算出该点新的法向量;
第五步,把新点snew对应的权值节点***堆,同时更新它的邻点在堆中的位置;
第六步,如果点云S点总数目小于设定值,返回第三步继续插点。
CN2012105670585A 2012-12-24 2012-12-24 点云优化方法及其装置 Pending CN103065354A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012105670585A CN103065354A (zh) 2012-12-24 2012-12-24 点云优化方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012105670585A CN103065354A (zh) 2012-12-24 2012-12-24 点云优化方法及其装置

Publications (1)

Publication Number Publication Date
CN103065354A true CN103065354A (zh) 2013-04-24

Family

ID=48107970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105670585A Pending CN103065354A (zh) 2012-12-24 2012-12-24 点云优化方法及其装置

Country Status (1)

Country Link
CN (1) CN103065354A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103247041A (zh) * 2013-05-16 2013-08-14 北京建筑工程学院 一种基于局部采样的多几何特征点云数据的分割方法
CN103489218A (zh) * 2013-09-17 2014-01-01 中国科学院深圳先进技术研究院 点云数据质量自动优化方法及***
CN103886625A (zh) * 2014-01-09 2014-06-25 北京工业大学 一种基于压缩感知的点云数据稀疏表示方法
CN104123746A (zh) * 2014-07-10 2014-10-29 上海大学 一种三维扫描点云中实时法向量的计算方法
CN104616278A (zh) * 2013-11-05 2015-05-13 北京三星通信技术研究有限公司 三维点云兴趣点检测方法和***
CN105096300A (zh) * 2014-05-08 2015-11-25 株式会社理光 对象检测方法和设备
WO2017113260A1 (zh) * 2015-12-30 2017-07-06 中国科学院深圳先进技术研究院 一种三维点云模型重建方法及装置
CN107123164A (zh) * 2017-03-14 2017-09-01 华南理工大学 保持锐利特征的三维重建方法及***
CN107492072A (zh) * 2017-07-05 2017-12-19 山东理工大学 基于样点邻域同构曲面的散乱点云法向估计方法
CN109118594A (zh) * 2018-06-06 2019-01-01 链家网(北京)科技有限公司 一种删除房源虚拟三维模型中细小虚像的方法及***
CN109344812A (zh) * 2018-11-27 2019-02-15 武汉大学 一种改进的基于聚类的单光子点云数据去噪方法
CN110211040A (zh) * 2019-04-30 2019-09-06 国网河南省电力公司电力科学研究院 一种基于权值的点云压缩方法和装置
CN110370287A (zh) * 2019-08-16 2019-10-25 中铁第一勘察设计院集团有限公司 基于视觉引导的地铁列检机器人路径规划***及方法
CN111539361A (zh) * 2020-04-28 2020-08-14 北京小马慧行科技有限公司 噪点的识别方法、装置、存储介质、处理器和运载工具
CN111640072A (zh) * 2020-05-09 2020-09-08 中国地质大学(武汉) 一种结合特征检测方法、顶点更新方法的点云去噪方法
CN112102178A (zh) * 2020-07-29 2020-12-18 深圳市菲森科技有限公司 一种点云保特征去噪方法、装置、电子设备及存储介质
CN112365528A (zh) * 2020-07-23 2021-02-12 哈尔滨岛田大鹏工业股份有限公司 一种基于主成分分析的三维点云模型逐步求精快速配准方法
CN112529010A (zh) * 2020-12-04 2021-03-19 浙江大学计算机创新技术研究院 一种基于在线局部特征提取的点云识别方法
CN113295142A (zh) * 2021-05-14 2021-08-24 上海大学 一种基于faro扫描仪和点云的地形扫描分析方法和装置
CN116109685A (zh) * 2023-04-11 2023-05-12 成都飞机工业(集团)有限责任公司 一种零件点云配准方法、装置、设备及介质
WO2023087526A1 (zh) * 2021-11-18 2023-05-25 上海仙途智能科技有限公司 用于点云去噪的方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050064314A1 (en) * 2003-09-24 2005-03-24 Konica Minolta Business Technologies, Inc. Toner and production process for the same
CN101833666A (zh) * 2009-03-11 2010-09-15 中国科学院自动化研究所 一种对离散点云数据微分几何量的估计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050064314A1 (en) * 2003-09-24 2005-03-24 Konica Minolta Business Technologies, Inc. Toner and production process for the same
CN101833666A (zh) * 2009-03-11 2010-09-15 中国科学院自动化研究所 一种对离散点云数据微分几何量的估计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘青: "三维点云模型优化***", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 12, 15 December 2011 (2011-12-15), pages 4 - 34 *
李宝: "三维点云的鲁棒处理技术研究", 《中国博士学位论文全文数据库信息科技辑》, no. 03, 15 March 2012 (2012-03-15), pages 33 - 43 *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103247041B (zh) * 2013-05-16 2016-02-10 北京建筑工程学院 一种基于局部采样的多几何特征点云数据的分割方法
CN103247041A (zh) * 2013-05-16 2013-08-14 北京建筑工程学院 一种基于局部采样的多几何特征点云数据的分割方法
CN103489218A (zh) * 2013-09-17 2014-01-01 中国科学院深圳先进技术研究院 点云数据质量自动优化方法及***
US9684817B2 (en) 2013-09-17 2017-06-20 Shenzhen Institutes Of Advanced Technology Chinese Academy Of Sciences Method and system for automatically optimizing quality of point cloud data
CN103489218B (zh) * 2013-09-17 2016-06-29 中国科学院深圳先进技术研究院 点云数据质量自动优化方法及***
CN104616278A (zh) * 2013-11-05 2015-05-13 北京三星通信技术研究有限公司 三维点云兴趣点检测方法和***
CN103886625B (zh) * 2014-01-09 2017-02-15 北京工业大学 一种基于压缩感知的点云数据稀疏表示方法
CN103886625A (zh) * 2014-01-09 2014-06-25 北京工业大学 一种基于压缩感知的点云数据稀疏表示方法
CN105096300A (zh) * 2014-05-08 2015-11-25 株式会社理光 对象检测方法和设备
CN105096300B (zh) * 2014-05-08 2018-06-12 株式会社理光 对象检测方法和设备
CN104123746A (zh) * 2014-07-10 2014-10-29 上海大学 一种三维扫描点云中实时法向量的计算方法
CN104123746B (zh) * 2014-07-10 2017-07-25 上海大学 一种三维扫描点云中实时法向量的计算方法
WO2017113260A1 (zh) * 2015-12-30 2017-07-06 中国科学院深圳先进技术研究院 一种三维点云模型重建方法及装置
US10089781B2 (en) 2015-12-30 2018-10-02 Shenzhen Institutes Of Advanced Technology Chinese Academy Of Sciences Three-dimensional point cloud model reconstruction method, computer readable storage medium and device
CN107123164B (zh) * 2017-03-14 2020-04-28 华南理工大学 保持锐利特征的三维重建方法及***
CN107123164A (zh) * 2017-03-14 2017-09-01 华南理工大学 保持锐利特征的三维重建方法及***
CN107492072A (zh) * 2017-07-05 2017-12-19 山东理工大学 基于样点邻域同构曲面的散乱点云法向估计方法
CN109118594A (zh) * 2018-06-06 2019-01-01 链家网(北京)科技有限公司 一种删除房源虚拟三维模型中细小虚像的方法及***
CN109344812B (zh) * 2018-11-27 2021-06-04 武汉大学 一种改进的基于聚类的单光子点云数据去噪方法
CN109344812A (zh) * 2018-11-27 2019-02-15 武汉大学 一种改进的基于聚类的单光子点云数据去噪方法
CN110211040A (zh) * 2019-04-30 2019-09-06 国网河南省电力公司电力科学研究院 一种基于权值的点云压缩方法和装置
CN110370287A (zh) * 2019-08-16 2019-10-25 中铁第一勘察设计院集团有限公司 基于视觉引导的地铁列检机器人路径规划***及方法
CN111539361A (zh) * 2020-04-28 2020-08-14 北京小马慧行科技有限公司 噪点的识别方法、装置、存储介质、处理器和运载工具
CN111539361B (zh) * 2020-04-28 2023-09-05 北京小马慧行科技有限公司 噪点的识别方法、装置、存储介质、处理器和运载工具
CN111640072A (zh) * 2020-05-09 2020-09-08 中国地质大学(武汉) 一种结合特征检测方法、顶点更新方法的点云去噪方法
CN111640072B (zh) * 2020-05-09 2023-04-18 中国地质大学(武汉) 一种结合特征检测方法、顶点更新方法的点云去噪方法
CN112365528A (zh) * 2020-07-23 2021-02-12 哈尔滨岛田大鹏工业股份有限公司 一种基于主成分分析的三维点云模型逐步求精快速配准方法
CN112102178A (zh) * 2020-07-29 2020-12-18 深圳市菲森科技有限公司 一种点云保特征去噪方法、装置、电子设备及存储介质
CN112529010A (zh) * 2020-12-04 2021-03-19 浙江大学计算机创新技术研究院 一种基于在线局部特征提取的点云识别方法
CN112529010B (zh) * 2020-12-04 2023-03-24 浙江大学计算机创新技术研究院 一种基于在线局部特征提取的点云识别方法
CN113295142A (zh) * 2021-05-14 2021-08-24 上海大学 一种基于faro扫描仪和点云的地形扫描分析方法和装置
CN113295142B (zh) * 2021-05-14 2023-02-21 上海大学 一种基于faro扫描仪和点云的地形扫描分析方法和装置
WO2023087526A1 (zh) * 2021-11-18 2023-05-25 上海仙途智能科技有限公司 用于点云去噪的方法、电子设备及存储介质
CN116109685A (zh) * 2023-04-11 2023-05-12 成都飞机工业(集团)有限责任公司 一种零件点云配准方法、装置、设备及介质
CN116109685B (zh) * 2023-04-11 2023-08-04 成都飞机工业(集团)有限责任公司 一种零件点云配准方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN103065354A (zh) 点云优化方法及其装置
US11107272B2 (en) Scalable volumetric 3D reconstruction
Zeng et al. 3D point cloud denoising using graph Laplacian regularization of a low dimensional manifold model
Kobourov Spring embedders and force directed graph drawing algorithms
Li et al. Feature-preserving 3D mesh simplification for urban buildings
Campomanes-Álvarez et al. Evolutionary multi-objective optimization for mesh simplification of 3D open models
CN105654492A (zh) 基于消费级摄像头的鲁棒实时三维重建方法
CN104966317B (zh) 一种基于矿体轮廓线的三维自动建模方法
CN106599108A (zh) 一种三维环境中多模态环境地图构建方法
CN104850615A (zh) 一种基于g2o的SLAM后端优化算法方法
Feito et al. Fast and accurate evaluation of regularized Boolean operations on triangulated solids
CN102509327B (zh) 一种图像空洞填补的多尺度全局采样方法
Park Anisotropic output-based adaptation with tetrahedral cut cells for compressible flows
CN110033519A (zh) 基于隐式函数的三维建模方法、装置、***及存储介质
CN103679814A (zh) 一种三角形网格模型的处理方法及装置
Mousel A massively parallel adaptive sharp interface solver with application to mechanical heart valve simulations
Kovalev Unstructured hexahedral non-conformal mesh generation
Lalos et al. Signal processing on static and dynamic 3d meshes: Sparse representations and applications
Edirimuni et al. Contrastive learning for joint normal estimation and point cloud filtering
Korotov et al. Longest-edge n-section algorithms: properties and open problems
Li et al. Saliency guided subdivision for single-view mesh reconstruction
Yu et al. New software developments for quality mesh generation and optimization from biomedical imaging data
Vidal et al. Fast approximation of persistence diagrams with guarantees
Muñoz et al. Manifold learning for coherent design interpolation based on geometrical and topological descriptors
Stolpner et al. Sampled medial loci for 3D shape representation

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

Application publication date: 20130424

RJ01 Rejection of invention patent application after publication