CN112767552A - 基于支持向量机的散乱点云三角化方法 - Google Patents
基于支持向量机的散乱点云三角化方法 Download PDFInfo
- Publication number
- CN112767552A CN112767552A CN202110097019.2A CN202110097019A CN112767552A CN 112767552 A CN112767552 A CN 112767552A CN 202110097019 A CN202110097019 A CN 202110097019A CN 112767552 A CN112767552 A CN 112767552A
- Authority
- CN
- China
- Prior art keywords
- data
- point
- point cloud
- points
- intersect
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012706 support-vector machine Methods 0.000 title claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 12
- 238000005520 cutting process Methods 0.000 claims abstract description 10
- 238000012952 Resampling Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 32
- 238000007906 compression Methods 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 13
- 238000013144 data compression Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 4
- 238000013138 pruning Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000000280 densification Methods 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 238000012843 least square support vector machine Methods 0.000 abstract description 4
- 238000012795 verification Methods 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000002591 computed tomography Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 210000003888 boundary cell Anatomy 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002558 medical inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本发明涉及一种基于支持向量机的散乱点云三角化方法,该方法先求出原始点云数据在平面内的最小矩形包围盒,在此包围盒内以原始数据中的最小点云密度均值进行数据点重采样,并生成平面三角网格;用原始点云边界多边形对平面四边域内的三角网格进行裁剪,得到实际边界域内的三角网格;然后应用最小二乘支持向量机对经过压缩的原始三维点云进行拟合,并通过此拟合模型将平面域内的三角网格向空间映射,得到三维空间的三角网格。通过实例验证表明,该方法在处理冗余或局部残缺数据时仍能生成较规则的三角网格,不易生成奇异网格或空洞。
Description
技术领域:
本发明涉及一种基于支持向量机的散乱点云三角化方法。
背景技术:
目前在工业产品设计、医学检验、数字化人体模型建立、三维地图绘制等领域,都需要获取物理模型的表面形状信息。常用的表面信息获取设备为三坐标测量机、激光扫描仪和计算机断层扫描仪(Computerized Tomography,CT)。这些设备得到的数据点形式各不相同,三坐标测量机和CT得到的数据分布在相互平行的平面断层上,在局部有一定的组织规律性。但从全局看,这三种设备得到的数据点都呈现散乱分布的特点。在后续完成表面连续化重建的过程中,需要对这些散乱数据点间的拓扑关系进行描述。三角化就是将各数据点间以三角形相互连接,形成一张三角网格,建立起各数据点与其邻近点间的拓扑连接关系,以揭示散乱数据点所表示的原始表面的形状和拓扑结构。
根据所处理数据点维数的不同,散乱数据三角化可分为平面域和空间域内两类算法。平面域内散乱数据三角化大多采用Delaunay三角剖分算法及其优化准则,此类算法已比较成熟。但对于空间域内的散乱数据点,其间拓扑关系更加复杂,如果采用与二维数据同样的三角化算法,则很难取得理想的效果。因此,目前对空间散乱数据点的三角化理论和算法尚不完善,需进行进一步研究。特别是当测量点分布不均匀、含有冗余数据或局部残缺时,现有的直接三角化算法容易生成奇异三角网格或空洞。
发明内容:
鉴于上述现有技术中存在的不足,本发明针对工程实践中常见的单值点云数据研究其三角网格生成方法,对于非单值点云,可将其分割为多块单值点云分别进行三角化。本发明提出一种基于最小二乘支持向量机(简称“LS-SVM”)的空间散乱数据间接三角化方法,该方法在处理冗余或局部残缺数据时仍具有良好的适应性,且不易生成奇异三角网格或空洞。
为了实现上述发明目的,本发明所采用的技术方案为:
基于支持向量机的散乱点云三角化方法,包括对Z向单值点云数据进行边界特征提取、平面域内三角网格生成、基于LS-SVM的曲面拟合、三维映射生成空间域内三角网格;在曲面拟合前对原始数据进行数据压缩过滤原始数据中的冗余信息,所述数据压缩采用基于LS-SVM方法进行,具体如下:
(1)点云分块:将原始数据点云中的数据点分为若干数据块,每个数据块中的数据点数小于给定块内数据点数最大值,得到符合要求的D个数据块;
(2)块内剪枝:用LS-SVM对各个数据块分别进行拟合,计算出拉格朗日乘子αi,并按|αi|由大到小降序排列,设压缩率为k,k<1,数据块内压缩前数据点个数为r,则将排在最后的k·r个|αi|对应的数据点删除,可得到压缩后的数据点,点的个数为r(1-k);
(3)精度检验:将经过块内剪枝的D个数据块合并得到压缩后的数据点集Sn,采用LS-SVM进行拟合,得到拟合散乱点云数据的整体曲面模型z=f(x,y);设拟合误差的许用值为ε,对于Sn内的任一点Pi(xi,yi,zi),进行拟合误差计算e=|zi-f(xi,yi)|,若e≤ε,则数据压缩合理,否则减小压缩率k重新进行压缩。
进一步,所述点云分块具体方式如下:设原始测量点云Sc共有m个数据点,给定块内数据点数最大值为mmax,若m>mmax,则将其沿Z向投影,得到XY平面内的点集Sp;沿X方向求出平面区域的边界,即xmin,xmax;将其沿X方向分为2块,即得到:和设中数据点的数量分别为和若或则将或再沿Y方向对分,直至每个数据块中点的数量小于mmax,则停止分割,最终分割得到的数据块数量为D。
进一步,所述平面域内三角网格生成包括平面矩形域内三角网格生成及平面内三角网格裁剪,裁剪过程分为边界预处理和网格裁剪,所述边界预处理步骤如下:
(1)在Y方向边界[ymin,ymax]之间以直线间的间距dy为间隔,生成平行于X轴的Q条直线Li;
(2)计算各条直线与初始边界多边形之间的交点:当原始边界上相邻两点间线段与Li重合时,取其端点作为与Li的交点;
(3)剔除冗余点,并按距离最近原则,建立新的边界点列之间的邻接关系:剔除冗余点是指在新的边界点列中,当相邻间距离小于点云密度时,则剔除后一个点;
所述网格裁剪根据三角形顶点与边界多边形的相对位置关系,对每个三角形进行处理。
进一步,所述网格裁剪具体方法如下:设三角形的三个顶点为Vi,i=1,2,3,设边界多边形为L,则可用如下函数来描述Vi与L的位置关系:
设Bij为三角形两个顶点Vi、Vj之间的一条边,i,j=1,2,3,则可用如下函数来描述Bij与L的位置关系:
采用上述给出的两个位置关系函数分以下情况对三角网格进行处理:
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3,L)=0,此时删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3,L)=1,此时需结合Intersect函数进行判别:设InorOut(V1,L)=1,若Intersect(B12,L)=1且Intersect(B13,L)=1,则交点D1、D2替换V2、V3生成新的三角形V1D1D2;若Intersect(B12,L)=0或Intersect(B13,L)=0,则删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3 L)=2,此时也需结合Intersect函数进行判别:设InorOut(V1,L)=0,若Intersect(B12,L)=1且Intersect(B13,L)=1,则用△V2D1V3、△D1D2V3两个三角形替换原来的三角形;若Intersect(B12,L)=1且Intersect(B13,L)=0,则用△V2D1V3替换原来的三角形;若Intersect(B12,L)=0且Intersect(B13,L)=1,则用△V2D2V3替换原来的三角形;若Intersect(B12,L)=0且Intersect(B13,L)=0,则删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3 L)=3,此时保留三角形的三个顶点。
进一步,所述平面矩形域内三角网格生成具体方法如下:
设原始点集为S3={Pi 3},Pi 3=(xi,yi,zi),i=1,2,...,N,N为测量点个数,则在平面矩形域内生成三角网格的步骤如下:
(1)将其沿Z向投影,得到XY平面内的点集S2={Pi 2},Pi 2=(xi,yi),并沿X、Y方向求出平面区域的边界xmin、xmax、ymin、ymax;
(3)数据重采样:在ymin、ymax之间,以相同间隔生成Q条与X轴平行的直线,其中:
Q=int[(ymax-ymin)/ρ+0.5]+1
直线间的间距为dy=(ymax-ymin)/(Q-1),第i条直线上各点的Y坐标为:
yi=ymin+dy(i-1)
对于每一条直线,以xmin、xmax为界生成线段,在每一条线段上进行数据点采样,数据点数量为M:
M=int[(xmax-xmin)/ρ+0.5]+1
各点间距为dx=(xmax-xmin)/(M-1),第j个数据点的X坐标为:
xj=xmin+dx(j-1)
(4)生成三角网格:经过重采样后的Q·M个数据点沿X、Y方向规则排列,应用Delaunay三角化方法即可生成平面域内的三角网格,记为mesh2=(Pi 2,Pj 2,Pk 2)。
进一步,所述基于LS-SVM的曲面拟合方法如下:
式中,w为权矢量,C为惩罚因子,b为偏差量,ζi为松弛变量;应用拉格朗日乘子法和Mercer条件,可将式(2)表达的优化问题转化为求解下列线性方程组:
求解式(3),可得b和α,则回归函数可表示为:
当给定散乱点集S3={Pi 3}(Pi 3=(xi,yi,zi)时,i=1,2,...,m,m为测量点个数,可将Xi=(xi,yi)作为样本向量的输入值,Yi=zi作为样本向量的输出值,通过式(3)求出α和b值,将α和b值代入式(4),可得到拟合散乱点数据的LS-SVM曲面。
进一步,所述三维映射生成空间域内三角网格的具体方式为:得到mesh2后,将每一三角网格的三个顶点的X、Y坐标值(xi,yi)、(xj,yj)、(xk,yk)值分别带入式(4),可求出其对应的Z坐标值,保持各顶点间的拓扑连接关系不变,即可得到空间域三角网格
进一步,得到空间域内的三维网格后,为了控制三角网格对原始数据的逼近精度,需进行精度检验,方法如下:
对于S3={Pi 3}中的每一点都进行上述判断,并进行局部网格密化,即可保证三角网格对原始数据的逼近精度。
本发明提出一种以最小二乘支持向量机模型为映射函数的空间散乱点云三角化方法,是以空间局部残缺或冗余的信息不完备点云为输入数据,通过二维网格的三维映射技术,可自动得到规则、均匀的高精度、高质量网格,且所有网格形状均符合Delaunay原则,可广泛应用于工程数据可视化及逆向工程领域。
以下通过附图和具体实施方式对本发明做进一步阐述。
附图说明:
图1为本发明三角化方法的流程图;
图2为本发明三角化方法中数据压缩方法的流程图;
图3为网格裁剪时InorOut=1时生成新三角形的示例图;
图4为网格裁剪时InorOut=2时生成新三角形的示例图;
图5为采用本发明方法示例中原始测量点示意图;
图6为采用本发明方法示例中边界提取结果示意图;
图7为采用本发明方法示例中平面域内裁剪后三角网格示意图;
图8为采用本发明方法示例中压缩后数据点示意图;
图9为采用本发明方法示例中曲面拟合后示意图;
图10为采用本发明方法示例中生成空间三角网格后示意图。
具体实施方式:
本实施例公开一种基于支持向量机的散乱点云三角化方法,该方法如图1所示,主要包括对Z向单值点云数据进行边界特征提取、平面域内三角网格生成、基于LS-SVM的曲面拟合、三维映射生成空间域内三角网格。该方法先求出原始点云数据在平面内的最小矩形包围盒,在此包围盒内以原始数据中的最小点云密度均值进行数据点重采样,并生成平面三角网格;用原始点云边界多边形对平面四边域内的三角网格进行裁剪,得到实际边界域内的三角网格;然后应用最小二乘支持向量机对经过压缩的原始三维点云进行拟合,并通过此拟合模型将平面域内的三角网格向空间映射,得到三维空间的三角网格。下面将对上述每步具体内容详细说明。
在介绍本发明核心内容前,先介绍采用LS-SVM的曲面拟合方法:LS-SVM用等式约束替代传统支持向量机计算模型中的不等式约束,用误差平方和损失函数作为训练集的经验损失。通过这种变换,将传统支持向量机求解过程中的二次规划问题转化为线性方程组求解,减小了计算复杂度,提高了求解速度和收敛精度。
式中,w为权矢量,C为惩罚因子,b为偏差量,ζi为松弛变量;应用拉格朗日乘子法和Mercer条件,可将式(2)表达的优化问题转化为求解下列线性方程组:
式中α=(α1,α2,...,αm)T,α为拉格朗日乘子(本发明中出现的参数α以及包含有下标的该符号均表示拉格朗日乘子),I为单位矩阵,k为核函数,k(xi,xj)=φ(xi)T·φ(xj),i,j=1,2,…,m,y=[y1,y2,...,ym]T;
求解式(3),可得b和α,则回归函数可表示为:
当给定散乱点集S3={Pi 3}(Pi 3=(xi,yi,zi)时,i=1,2,...,m,m为测量点个数,可将Xi=(xi,yi)作为样本向量的输入值,Yi=zi作为样本向量的输出值,通过式(3)求出α和b值,将α和b值代入式(4),可得到拟合散乱点数据的LS-SVM曲面。求解式(3)时,需定义核函数,一般选择径向基核函数可获得较好的拟合效果。
在数据预处理阶段的边界特征点提取,对于Z向单值的点云数据,在提取其边界特征点时,可按如下现有步骤进行:点云向XY平面投影、单元格划分、边界单元提取、边界单元格内实际边界点提取、边界特征点拓扑排序。此部分属于现有技术,本实施例不对此展开过多介绍。
使用表面数据采集设备获得的原始数据点一般均较密,含有较多的冗余信息。如果直接使用原始数据点进行曲面拟合,则会使计算效率降低。因此有必要采用适当的数据压缩算法,在保证点云对表面形状表达精度的前提下,尽可能过滤原始数据中的冗余信息。因此,本发明提出一种基于LS-SVM剪枝的数据压缩算法,如图2所示,具体内容如下:
(1)点云分块:设原始测量点云Sc共有m个数据点,给定块内数据点数最大值为mmax,若m>mmax,则将其沿Z向投影,得到XY平面内的点集Sp;沿X方向求出平面区域的边界,即xmin,xmax;将其沿X方向分为2块,即得到:和设中数据点的数量分别为和若或则将或再沿Y方向对分,直至每个数据块中点的数量小于mmax,则停止分割,最终分割得到的数据块数量为D。
(2)块内剪枝:用LS-SVM对各个数据块分别进行拟合,计算出αi,并按|αi|由大到小降序排列,设压缩率为k,k<1,数据块内压缩前数据点个数为r,则将排在最后的k·r个|αi|对应的数据点删除,可得到压缩后的数据点,点的个数为r(1-k)。
(3)精度检验:将经过块内剪枝的D个数据块合并得到压缩后的数据点集Sn,采用LS-SVM进行拟合,得到拟合散乱点云数据的整体曲面模型z=f(x,y);设拟合误差的许用值为ε,对于Sn内的任一点Pi(xi,yi,zi),进行拟合误差计算e=|zi-f(xi,yi)|,若e≤ε,则数据压缩合理,否则减小压缩率k重新进行压缩。
关于平面域内三角网格的生成方式如下:
设原始点集为S3={Pi 3},Pi 3=(xi,yi,zi),i=1,2,...,N,N为测量点个数。则在平面矩形域内生成三角网格的步骤如下:
(1)将其沿Z向投影,得到XY平面内的点集S2={Pi 2},Pi 2=(xi,yi),并沿X、Y方向求出平面区域的边界xmin、xmax、ymin、ymax。
(3)数据重采样。在ymin、ymax之间,以相同间隔生成Q条与X轴平行的直线,其中:
Q=int[(ymax-ymin)/ρ+0.5]+1
直线间的间距为dy=(ymax-ymin)/(Q-1),第i(i=1,2,…,Q)条直线上各点的Y坐标为:
yi=ymin+dy(i-1)。
对于每一条直线,以xmin、xmax为界生成线段。在每一条线段上进行数据点采样,数据点数量为M:
M=int[(xmax-xmin)/ρ+0.5]+1
各点间距为dx=(xmax-xmin)/(M-1)。第j(j=1,2,…,M)个数据点的X坐标为:
xj=xmin+dx(j-1)。
(4)生成三角网格。经过重采样后的Q·M个数据点沿X、Y方向规则排列,应用Delaunay三角化方法即可生成平面域内的三角网格,记为mesh2=(Pi 2,Pj 2,Pk 2)。
对于上述平面矩形域内的三角网格,需使用边界多边形对其进行裁剪,以得到实际边界域内的三角网格。裁剪过程主要包括两个步骤:边界预处理和网格裁剪。边界多边形理论上可能为任意复杂的曲线,如果直接采用原始边界进行网格裁剪,则可能使计算过程不稳定。当点云密度较小时,可采用重采样的方法对边界多边形进行预处理,以便在保证精度的同时,确保计算稳定性。
边界预处理具体步骤如下:
(1)在Y方向边界[ymin,ymax]之间以直线间的间距dy为间隔,生成平行于X轴的Q条直线Li;
(2)计算各条直线与初始边界多边形之间的交点:当原始边界上相邻两点间线段与Li重合时,取其端点作为与Li的交点;
(3)剔除冗余点,并按距离最近原则,建立新的边界点列之间的邻接关系:剔除冗余点是指在新的边界点列中,当相邻间距离小于点云密度时,则剔除后一个点。
根据三角形顶点与边界多边形的相对位置关系,对每个三角形进行处理,可实现对三角网格的裁剪,网格裁剪具体方式如下:
设三角形的三个顶点为Vi,i=1,2,3,设边界多边形为L,则可用如下函数来描述Vi与L的位置关系:
设Bij为三角形两个顶点Vi、Vj之间的一条边,i,j=1,2,3,则可用如下函数来描述Bij与L的位置关系:
采用上述给出的两个位置关系函数分以下情况对三角网格进行处理:
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3,L)=0,此时删除三角形的三个顶点。
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3,L)=1,此时需结合Intersect函数进行判别:设InorOut(V1,L)=1,若Intersect(B12,L)=1且Intersect(B13,L)=1,则交点D1、D2替换V2、V3生成新的三角形V1D1D2(如图3所示);若Intersect(B12,L)=0或Intersect(B13,L)=0,则删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3 L)=2,此时也需结合Intersect函数进行判别:设InorOut(V1,L)=0,若Intersect(B12,L)=1且Intersect(B13,L)=1,则用△V2D1V3、△D1D2V3两个三角形替换原来的三角形(如图4a);若Intersect(B12,L)=1且Intersect(B13,L)=0,则用△V2D1V3替换原来的三角形(如图4b);若Intersect(B12,L)=0且Intersect(B13,L)=1,则用△V2D2V3替换原来的三角形(如图4c);若Intersect(B12,L)=0且Intersect(B13,L)=0,则删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3 L)=3,此时保留三角形的三个顶点。
三维空间域内的三角网格生成方式如下:得到mesh2后,将每一三角网格的三个顶点Pi 2,Pj 2,Pk 2的X、Y坐标值(xi,yi)、(xj,yj)、(xk,yk)值分别带入式(4),可求出其对应的Z坐标值,保持各顶点间的拓扑连接关系不变,即可得到空间域三角网格得到空间域内的三维网格后,为了控制三角网格对原始数据的逼近精度,需进行精度检验,方法如下:
(3)通过式(4)计算出插入顶点Pc 2的Z坐标值,得到空间域内三角网格。
对于S3={Pi 3}中的每一点都进行上述判断,并进行局部网格密化,即可保证三角网格对原始数据的逼近精度。
为了验证本发明上述三角化方法的实际效果,特将本发明所公开的方法用Matlab编程语言实现,并采用操作系统为windows XP,计算机CPU为Core3.3GHz,内存2G的计算机进行模拟验证。如图5所示,通过接触式三坐标测量机对某自由曲面零件表面进行数据采集,采样点间距为1.0mm,行间距1.0mm,共采集数据点6370个,原始数据中含有噪声点和空洞区域。获得原始数据后,按照本发明所提供方法进行下列操作:
(1)边界特征提取。边界提取结果如图6所示,图中‘.’表示原始数据点、‘*’表示边界单元格内的数据点,‘o’表示边界特征点。
(2)平面域内三角网格生成。平面域内生成的经裁剪后的三角网格如图7所示。原始三角形边长为1mm,共有6671个三角形。
(3)数据压缩并拟合曲面。压缩时将数据分为两块,设定压缩率为20%,最大拟合误差小于ε=1×10-4,实际最大拟合误差为7.5×10-6。经压缩、合并后的结果如图8所示,曲面拟合结果如图9所示。
(4)空间三角网格生成。将裁剪后的平面域内的三角网格通过以LS-SVM表达的曲面(如图9所示)进行三维映射,可得到如图10所示的空间三角网格。
通过具体示例验证结果可见,采用本发明所公开的三角化方法所获得的网格非常规则、均匀,三角网格的精度高,没有出现奇异网格或空洞。
以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围中。
Claims (9)
1.基于支持向量机的散乱点云三角化方法,其特征在于:包括对Z向单值点云数据进行边界特征提取、平面域内三角网格生成、基于LS-SVM的曲面拟合、三维映射生成空间域内三角网格;在曲面拟合前对原始数据进行数据压缩过滤原始数据中的冗余信息,所述数据压缩采用基于LS-SVM方法进行,具体如下:
(1)点云分块:将原始数据点云中的数据点分为若干数据块,每个数据块中的数据点数小于给定块内数据点数最大值,得到符合要求的D个数据块;
(2)块内剪枝:用LS-SVM对各个数据块分别进行拟合,计算出拉格朗日乘子αi,并按|αi|由大到小降序排列,设压缩率为k,k<1,数据块内压缩前数据点个数为r,则将排在最后的k·r个|αi|对应的数据点删除,可得到压缩后的数据点,点的个数为r(1-k);
(3)精度检验:将经过块内剪枝的D个数据块合并得到压缩后的数据点集Sn,采用LS-SVM进行拟合,得到拟合散乱点云数据的整体曲面模型z=f(x,y);设拟合误差的许用值为ε,对于Sn内的任一点Pi(xi,yi,zi),进行拟合误差计算e=|zi-f(xi,yi)|,若e≤ε,则数据压缩合理,否则减小压缩率k重新进行压缩。
3.根据权利要求1所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述平面域内三角网格生成包括平面矩形域内三角网格生成及平面内三角网格裁剪,裁剪过程分为边界预处理和网格裁剪,所述边界预处理步骤如下:
(2)计算各条直线与初始边界多边形之间的交点:当原始边界上相邻两点间线段与Li重合时,取其端点作为与Li的交点;
(3)剔除冗余点,并按距离最近原则,建立新的边界点列之间的邻接关系:剔除冗余点是指在新的边界点列中,当相邻间距离小于点云密度时,则剔除后一个点;
所述网格裁剪根据三角形顶点与边界多边形的相对位置关系,对每个三角形进行处理。
4.根据权利要求3所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述网格裁剪具体方法如下:设三角形的三个顶点为Vi,i=1,2,3,设边界多边形为L,则可用如下函数来描述Vi与L的位置关系:
设Bij为三角形两个顶点Vi、Vj之间的一条边,i,j=1,2,3,则可用如下函数来描述Bij与L的位置关系:
采用上述给出的两个位置关系函数分以下情况对三角网格进行处理:
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3,L)=0,此时删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3,L)=1,此时需结合Intersect函数进行判别:设InorOut(V1,L)=1,若Intersect(B12,L)=1且Intersect(B13,L)=1,则交点D1、D2替换V2、V3生成新的三角形V1D1D2;若Intersect(B12,L)=0或Intersect(B13,L)=0,则删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3 L)=2,此时也需结合Intersect函数进行判别:设InorOut(V1,L)=0,若Intersect(B12,L)=1且Intersect(B13,L)=1,则用△V2D1V3、△D1D2V3两个三角形替换原来的三角形;若Intersect(B12,L)=1且Intersect(B13,L)=0,则用△V2D1V3替换原来的三角形;若Intersect(B12,L)=0且Intersect(B13,L)=1,则用△V2D2V3替换原来的三角形;若Intersect(B12,L)=0且Intersect(B13,L)=0,则删除三角形的三个顶点;
当InorOut(V1,L)+InorOut(V2,L)+InorOut(V3 L)=3,此时保留三角形的三个顶点。
5.根据权利要求3所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述平面矩形域内三角网格生成具体方法如下:
设原始点集为S3={Pi 3},Pi 3=(xi,yi,zi),i=1,2,...,N,N为测量点个数,则在平面矩形域内生成三角网格的步骤如下:
(1)将其沿Z向投影,得到XY平面内的点集S2={Pi 2},Pi 2=(xi,yi),并沿X、Y方向求出平面区域的边界xmin、xmax、ymin、ymax;
(3)数据重采样:在ymin、ymax之间,以相同间隔生成Q条与X轴平行的直线,其中:
Q=int[(ymax-ymin)/ρ+0.5]+1
直线间的间距为dy=(ymax-ymin)/(Q-1),第i条直线上各点的Y坐标为:
yi=ymin+dy(i-1)
对于每一条直线,以xmin、xmax为界生成线段,在每一条线段上进行数据点采样,数据点数量为M:
M=int[(xmax-xmin)/ρ+0.5]+1
各点间距为dx=(xmax-xmin)/(M-1),第j个数据点的X坐标为:
xj=xmin+dx(j-1)
6.根据权利要求5所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述基于LS-SVM的曲面拟合方法如下:
式中,w为权矢量,C为惩罚因子,b为偏差量,ζi为松弛变量;应用拉格朗日乘子法和Mercer条件,可将式(2)表达的优化问题转化为求解下列线性方程组:
求解式(3),可得b和α,则回归函数可表示为:
当给定散乱点集S3={Pi 3}(Pi 3=(xi,yi,zi)时,i=1,2,...,m,m为测量点个数,可将Xi=(xi,yi)作为样本向量的输入值,Yi=zi作为样本向量的输出值,通过式(3)求出α和b值,将α和b值代入式(4),可得到拟合散乱点数据的LS-SVM曲面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110097019.2A CN112767552B (zh) | 2021-01-25 | 2021-01-25 | 基于支持向量机的散乱点云三角化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110097019.2A CN112767552B (zh) | 2021-01-25 | 2021-01-25 | 基于支持向量机的散乱点云三角化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112767552A true CN112767552A (zh) | 2021-05-07 |
CN112767552B CN112767552B (zh) | 2024-09-17 |
Family
ID=75707103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110097019.2A Active CN112767552B (zh) | 2021-01-25 | 2021-01-25 | 基于支持向量机的散乱点云三角化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112767552B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626157A (zh) * | 2022-03-16 | 2022-06-14 | 南京维拓科技股份有限公司 | 一种基于数字化模型的实体轮廓曲线抽取方法 |
CN116363330A (zh) * | 2023-02-27 | 2023-06-30 | 优鹰智能科技(深圳)有限公司 | 基于激光扫描技术的空间重构方法、装置、设备及介质 |
CN116778113A (zh) * | 2023-06-25 | 2023-09-19 | 深圳市魔数智擎人工智能有限公司 | 一种基于现实中已有的异型曲面建立新的理论模型的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663237A (zh) * | 2012-03-21 | 2012-09-12 | 武汉大学 | 基于网格分块与移动最小二乘的点云数据全自动滤波方法 |
CN109872394A (zh) * | 2019-01-10 | 2019-06-11 | 重庆大学 | 基于最小二乘支持向量机的狭长三角形网格优化方法 |
CN110516388A (zh) * | 2019-08-31 | 2019-11-29 | 大连理工大学 | 基于调和映射的曲面离散点云模型环切刀轨生成方法 |
CN110889861A (zh) * | 2019-11-15 | 2020-03-17 | 广州供电局有限公司 | 一种电力杆塔点云提取方法 |
WO2021008202A1 (zh) * | 2019-07-16 | 2021-01-21 | 浙江大学 | 一种基于毫米波雷达点云特征的核支持向量机目标分类方法 |
-
2021
- 2021-01-25 CN CN202110097019.2A patent/CN112767552B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663237A (zh) * | 2012-03-21 | 2012-09-12 | 武汉大学 | 基于网格分块与移动最小二乘的点云数据全自动滤波方法 |
CN109872394A (zh) * | 2019-01-10 | 2019-06-11 | 重庆大学 | 基于最小二乘支持向量机的狭长三角形网格优化方法 |
WO2021008202A1 (zh) * | 2019-07-16 | 2021-01-21 | 浙江大学 | 一种基于毫米波雷达点云特征的核支持向量机目标分类方法 |
CN110516388A (zh) * | 2019-08-31 | 2019-11-29 | 大连理工大学 | 基于调和映射的曲面离散点云模型环切刀轨生成方法 |
CN110889861A (zh) * | 2019-11-15 | 2020-03-17 | 广州供电局有限公司 | 一种电力杆塔点云提取方法 |
Non-Patent Citations (5)
Title |
---|
史忠植,王文杰: "人工智能", 28 February 2007, 北京:国防工业出版社, pages: 231 * |
吴福忠: "基于支持向量机的点云曲面刀具路径规划", 中国机械工程, vol. 25, no. 6, 25 March 2014 (2014-03-25), pages 766 - 770 * |
吴福忠: "点云曲面等残留高度刀具路径规划", 计算机集成制造系统, vol. 18, no. 5, 31 May 2012 (2012-05-31), pages 965 - 972 * |
张琴;蔡勇: "支持向量学习机在点云去噪中的应用", 计算机技术与发展, no. 06, 30 June 2011 (2011-06-30), pages 85 - 88 * |
王永信,邱志惠: "逆向工程及检测技术与应用", 31 May 2014, 西安:西安交通大学出版社, pages: 139 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626157A (zh) * | 2022-03-16 | 2022-06-14 | 南京维拓科技股份有限公司 | 一种基于数字化模型的实体轮廓曲线抽取方法 |
CN116363330A (zh) * | 2023-02-27 | 2023-06-30 | 优鹰智能科技(深圳)有限公司 | 基于激光扫描技术的空间重构方法、装置、设备及介质 |
CN116363330B (zh) * | 2023-02-27 | 2023-09-19 | 优鹰智能科技(深圳)有限公司 | 基于激光扫描技术的空间重构方法、装置、设备及介质 |
CN116778113A (zh) * | 2023-06-25 | 2023-09-19 | 深圳市魔数智擎人工智能有限公司 | 一种基于现实中已有的异型曲面建立新的理论模型的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112767552B (zh) | 2024-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112767552B (zh) | 基于支持向量机的散乱点云三角化方法 | |
CN107767457B (zh) | 一种基于点云快速重建的stl数模生成方法 | |
CN102880741B (zh) | 一种基于个性化三维虚拟人台的服装衣身原型样板生成方法 | |
Yunchu et al. | Prototype garment pattern flattening based on individual 3D virtual dummy | |
CN108595858A (zh) | 基于bim的轻量化深度处理工作方法 | |
CN110610478B (zh) | 一种基于邻域拓扑的医学图像三维重建方法 | |
CN102306397A (zh) | 点云数据网格化的方法 | |
CN106445981B (zh) | 一种基于小波变换的stl网格模型切片数据自适应压缩方法 | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN109551768A (zh) | 一种基于stl的3d打印文件的数据处理方法 | |
CN114611359B (zh) | 一种网格-参数混合模型建模方法和系统 | |
CN114383498A (zh) | 应用于涡轮叶片气膜孔检测的目标点云分割方法 | |
Abdul-Rahman et al. | Freeform texture representation and characterisation based on triangular mesh projection techniques | |
Kim et al. | Mesh-offset-based method to generate a delta volume to support the maintenance of partially damaged parts through 3D printing | |
Liu et al. | Integrating cross-sectional imaging based reverse engineering with rapid prototyping | |
CN117475110A (zh) | 叶片的语义三维重建方法、装置、电子设备及存储介质 | |
CN110207618B (zh) | 三维扫描测量数据的表面线数据提取方法 | |
CN110322415A (zh) | 基于点云的高精度表面三维重构方法 | |
CN111696111B (zh) | 一种基于ssdf衰减图聚类的3d模型网格分割方法 | |
CN114049471A (zh) | 基于有序化分层精简散乱点云的孔洞填补方法 | |
CN114119928A (zh) | 一种基于网格操作的肺内器官三维模型优化方法及系统 | |
Navangul et al. | A vertex translation algorithm for adaptive modification of STL file in layered manufacturing | |
He et al. | RETRACTED ARTICLE: Application of the slicing technique to extract the contour feature line | |
Jang et al. | GPU-optimized indirect scalar displacement mapping | |
CN112634458A (zh) | 一种基于特征显著性评价的口腔模型点云精简方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |