CN112767552A - 基于支持向量机的散乱点云三角化方法 - Google Patents

基于支持向量机的散乱点云三角化方法 Download PDF

Info

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
Application number
CN202110097019.2A
Other languages
English (en)
Other versions
CN112767552B (zh
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.)
University of Shaoxing
Original Assignee
University of Shaoxing
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 University of Shaoxing filed Critical University of Shaoxing
Priority to CN202110097019.2A priority Critical patent/CN112767552B/zh
Publication of CN112767552A publication Critical patent/CN112767552A/zh
Application granted granted Critical
Publication of CN112767552B publication Critical patent/CN112767552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing 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块,即得到:
Figure BDA0002914321980000021
Figure BDA0002914321980000031
Figure BDA0002914321980000032
中数据点的数量分别为
Figure BDA0002914321980000033
Figure BDA0002914321980000034
Figure BDA0002914321980000035
Figure BDA0002914321980000036
则将
Figure BDA0002914321980000037
Figure BDA0002914321980000038
再沿Y方向对分,直至每个数据块中点的数量小于mmax,则停止分割,最终分割得到的数据块数量为D。
进一步,所述平面域内三角网格生成包括平面矩形域内三角网格生成及平面内三角网格裁剪,裁剪过程分为边界预处理和网格裁剪,所述边界预处理步骤如下:
(1)在Y方向边界[ymin,ymax]之间以直线间的间距dy为间隔,生成平行于X轴的Q条直线Li
(2)计算各条直线与初始边界多边形之间的交点:当原始边界上相邻两点间线段与Li重合时,取其端点作为与Li的交点;
(3)剔除冗余点,并按距离最近原则,建立新的边界点列之间的邻接关系:剔除冗余点是指在新的边界点列中,当相邻间距离小于点云密度时,则剔除后一个点;
所述网格裁剪根据三角形顶点与边界多边形的相对位置关系,对每个三角形进行处理。
进一步,所述网格裁剪具体方法如下:设三角形的三个顶点为Vi,i=1,2,3,设边界多边形为L,则可用如下函数来描述Vi与L的位置关系:
Figure BDA0002914321980000039
设Bij为三角形两个顶点Vi、Vj之间的一条边,i,j=1,2,3,则可用如下函数来描述Bij与L的位置关系:
Figure BDA00029143219800000310
采用上述给出的两个位置关系函数分以下情况对三角网格进行处理:
当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
(2)估算点云密度ρ:从S2中随机抽取p个点,p≤N,计算每一个点与其余N-1个点间的距离,并取最小值djmin,j=1,2,…,p,则点云密度
Figure BDA0002914321980000041
(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的曲面拟合方法如下:
对于m个n维样本向量
Figure BDA0002914321980000051
其中xi∈Rn,yi∈R,设回归函数的形式为:
Figure BDA0002914321980000052
其中
Figure BDA0002914321980000053
为非线性映射函数,可将输入样本数据映射到对应的高维特征空间,此回归函数可通过求解如下优化模型得到:
Figure BDA0002914321980000054
式中,w为权矢量,C为惩罚因子,b为偏差量,ζi为松弛变量;应用拉格朗日乘子法和Mercer条件,可将式(2)表达的优化问题转化为求解下列线性方程组:
Figure BDA0002914321980000055
式中
Figure BDA0002914321980000056
α=(α12,...,αm)T,α为拉格朗日乘子,I为单位矩阵,k为核函数,k(xi,xj)=φ(xi)T·φ(xj),i,j=1,2,…,m,y=[y1,y2,...,ym]T
求解式(3),可得b和α,则回归函数可表示为:
Figure BDA0002914321980000057
当给定散乱点集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)时,需定义核函数,选择径向基核函数
Figure BDA0002914321980000061
进一步,所述三维映射生成空间域内三角网格的具体方式为:得到mesh2后,将每一三角网格的三个顶点
Figure BDA0002914321980000068
的X、Y坐标值(xi,yi)、(xj,yj)、(xk,yk)值分别带入式(4),可求出其对应的Z坐标值,保持各顶点间的拓扑连接关系不变,即可得到空间域三角网格
Figure BDA0002914321980000067
进一步,得到空间域内的三维网格后,为了控制三角网格对原始数据的逼近精度,需进行精度检验,方法如下:
(1)对于原始点集S3={Pi 3}中的任一数据点Pi 3,在XY平面内判断其位于哪一个三角网格内,当
Figure BDA0002914321980000062
时,记
Figure BDA0002914321980000063
(2)计算点Pi 3
Figure BDA0002914321980000064
所在平面的距离ei,设逼近误差许用值为er,若ei>er,则在
Figure BDA0002914321980000065
重心处插入一个顶点Pc 2,生成三个三角形;
(3)通过式(4)计算出插入顶点
Figure BDA0002914321980000066
的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用等式约束替代传统支持向量机计算模型中的不等式约束,用误差平方和损失函数作为训练集的经验损失。通过这种变换,将传统支持向量机求解过程中的二次规划问题转化为线性方程组求解,减小了计算复杂度,提高了求解速度和收敛精度。
对于m个n维样本向量
Figure BDA0002914321980000071
其中xi∈Rn,yi∈R,设回归函数的形式为:
Figure BDA0002914321980000081
其中
Figure BDA0002914321980000082
为非线性映射函数,可将输入样本数据映射到对应的高维特征空间,此回归函数可通过求解如下优化模型得到:
Figure BDA0002914321980000083
式中,w为权矢量,C为惩罚因子,b为偏差量,ζi为松弛变量;应用拉格朗日乘子法和Mercer条件,可将式(2)表达的优化问题转化为求解下列线性方程组:
Figure BDA0002914321980000084
式中
Figure BDA0002914321980000085
α=(α12,...,αm)T,α为拉格朗日乘子(本发明中出现的参数α以及包含有下标的该符号均表示拉格朗日乘子),I为单位矩阵,k为核函数,k(xi,xj)=φ(xi)T·φ(xj),i,j=1,2,…,m,y=[y1,y2,...,ym]T
求解式(3),可得b和α,则回归函数可表示为:
Figure BDA0002914321980000086
当给定散乱点集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)时,需定义核函数,一般选择径向基核函数
Figure BDA0002914321980000087
可获得较好的拟合效果。
在数据预处理阶段的边界特征点提取,对于Z向单值的点云数据,在提取其边界特征点时,可按如下现有步骤进行:点云向XY平面投影、单元格划分、边界单元提取、边界单元格内实际边界点提取、边界特征点拓扑排序。此部分属于现有技术,本实施例不对此展开过多介绍。
使用表面数据采集设备获得的原始数据点一般均较密,含有较多的冗余信息。如果直接使用原始数据点进行曲面拟合,则会使计算效率降低。因此有必要采用适当的数据压缩算法,在保证点云对表面形状表达精度的前提下,尽可能过滤原始数据中的冗余信息。因此,本发明提出一种基于LS-SVM剪枝的数据压缩算法,如图2所示,具体内容如下:
(1)点云分块:设原始测量点云Sc共有m个数据点,给定块内数据点数最大值为mmax,若m>mmax,则将其沿Z向投影,得到XY平面内的点集Sp;沿X方向求出平面区域的边界,即xmin,xmax;将其沿X方向分为2块,即得到:
Figure BDA0002914321980000091
Figure BDA0002914321980000092
Figure BDA0002914321980000093
中数据点的数量分别为
Figure BDA0002914321980000094
Figure BDA0002914321980000095
Figure BDA0002914321980000096
Figure BDA0002914321980000097
则将
Figure BDA0002914321980000098
Figure BDA0002914321980000099
再沿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
(2)估算点云密度ρ。从S2中随机抽取p(p≤N)个点,计算每一个点与其余N-1个点间的距离,并取最小值djmin(j=1,2,…,p)。则点云密度
Figure BDA0002914321980000101
(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的位置关系:
Figure BDA0002914321980000111
设Bij为三角形两个顶点Vi、Vj之间的一条边,i,j=1,2,3,则可用如下函数来描述Bij与L的位置关系:
Figure BDA0002914321980000112
采用上述给出的两个位置关系函数分以下情况对三角网格进行处理:
当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坐标值,保持各顶点间的拓扑连接关系不变,即可得到空间域三角网格
Figure BDA0002914321980000125
得到空间域内的三维网格后,为了控制三角网格对原始数据的逼近精度,需进行精度检验,方法如下:
(1)对于原始点集S3={Pi 3}中的任一数据点Pi 3,在XY平面内判断其位于哪一个三角网格内,当
Figure BDA0002914321980000121
时,记
Figure BDA0002914321980000122
(2)计算点Pi 3
Figure BDA0002914321980000123
所在平面的距离ei,设逼近误差许用值为er,若ei>er,则在
Figure BDA0002914321980000124
重心处插入一个顶点Pc 2,生成三个三角形;
(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重新进行压缩。
2.根据权利要求1所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述点云分块具体方式如下:设原始测量点云Sc共有m个数据点,给定块内数据点数最大值为mmax,若m>mmax,则将其沿Z向投影,得到XY平面内的点集Sp;沿X方向求出平面区域的边界,即xmin,xmax;将其沿X方向分为2块,即得到:
Figure FDA0002914321970000014
Figure FDA0002914321970000013
Figure FDA0002914321970000015
中数据点的数量分别为
Figure FDA0002914321970000011
Figure FDA0002914321970000012
Figure FDA0002914321970000023
Figure FDA0002914321970000024
则将
Figure FDA0002914321970000025
Figure FDA0002914321970000026
再沿Y方向对分,直至每个数据块中点的数量小于mmax,则停止分割,最终分割得到的数据块数量为D。
3.根据权利要求1所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述平面域内三角网格生成包括平面矩形域内三角网格生成及平面内三角网格裁剪,裁剪过程分为边界预处理和网格裁剪,所述边界预处理步骤如下:
(1)在Y方向边界[ymin,ymax]之间以直线间的间距dy为间隔,生成平行于X轴的Q条直线
Figure FDA0002914321970000027
(2)计算各条直线与初始边界多边形之间的交点:当原始边界上相邻两点间线段与Li重合时,取其端点作为与Li的交点;
(3)剔除冗余点,并按距离最近原则,建立新的边界点列之间的邻接关系:剔除冗余点是指在新的边界点列中,当相邻间距离小于点云密度时,则剔除后一个点;
所述网格裁剪根据三角形顶点与边界多边形的相对位置关系,对每个三角形进行处理。
4.根据权利要求3所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述网格裁剪具体方法如下:设三角形的三个顶点为Vi,i=1,2,3,设边界多边形为L,则可用如下函数来描述Vi与L的位置关系:
Figure FDA0002914321970000021
设Bij为三角形两个顶点Vi、Vj之间的一条边,i,j=1,2,3,则可用如下函数来描述Bij与L的位置关系:
Figure FDA0002914321970000022
采用上述给出的两个位置关系函数分以下情况对三角网格进行处理:
当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
(2)估算点云密度ρ:从S2中随机抽取p个点,p≤N,计算每一个点与其余N-1个点间的距离,并取最小值djmin,j=1,2,…,p,则点云密度
Figure FDA0002914321970000031
(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三角化方法即可生成平面域内的三角网格,记为
Figure FDA0002914321970000047
6.根据权利要求5所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述基于LS-SVM的曲面拟合方法如下:
对于m个n维样本向量
Figure FDA0002914321970000041
其中xi∈Rn,yi∈R,设回归函数的形式为:
Figure FDA0002914321970000042
其中
Figure FDA0002914321970000043
为非线性映射函数,可将输入样本数据映射到对应的高维特征空间,此回归函数可通过求解如下优化模型得到:
Figure FDA0002914321970000044
式中,w为权矢量,C为惩罚因子,b为偏差量,ζi为松弛变量;应用拉格朗日乘子法和Mercer条件,可将式(2)表达的优化问题转化为求解下列线性方程组:
Figure FDA0002914321970000045
式中
Figure FDA0002914321970000046
α=(α12,...,αm)T,α为拉格朗日乘子,I为单位矩阵,k为核函数,k(xi,xj)=φ(xi)T·φ(xj),i,j=1,2,…,m,y=[y1,y2,...,ym]T
求解式(3),可得b和α,则回归函数可表示为:
Figure FDA0002914321970000051
当给定散乱点集S3={Pi 3}(Pi 3=(xi,yi,zi)时,i=1,2,...,m,m为测量点个数,可将Xi=(xi,yi)作为样本向量的输入值,Yi=zi作为样本向量的输出值,通过式(3)求出α和b值,将α和b值代入式(4),可得到拟合散乱点数据的LS-SVM曲面。
7.根据权利要求6所述的基于支持向量机的散乱点云三角化方法,其特征在于:求解式(3)时,需定义核函数,选择径向基核函数
Figure FDA0002914321970000052
8.根据权利要求6所述的基于支持向量机的散乱点云三角化方法,其特征在于:所述三维映射生成空间域内三角网格的具体方式为:得到mesh2后,将每一三角网格的三个顶点Pi 2,
Figure FDA0002914321970000053
的X、Y坐标值(xi,yi)、(xj,yj)、(xk,yk)值分别带入式(4),可求出其对应的Z坐标值,保持各顶点间的拓扑连接关系不变,即可得到空间域三角网格
Figure FDA0002914321970000054
9.根据权利要求8所述的基于支持向量机的散乱点云三角化方法,其特征在于:得到空间域内的三维网格后,为了控制三角网格对原始数据的逼近精度,需进行精度检验,方法如下:
(1)对于原始点集S3={Pi 3}中的任一数据点Pi 3,在XY平面内判断其位于哪一个三角网格内,当
Figure FDA0002914321970000055
时,记
Figure FDA0002914321970000056
(2)计算点Pi 3
Figure FDA0002914321970000057
所在平面的距离ei,设逼近误差许用值为er,若ei>er,则在
Figure FDA0002914321970000058
重心处插入一个顶点
Figure FDA0002914321970000059
生成三个三角形;
(3)通过式(4)计算出插入顶点
Figure FDA00029143219700000510
的Z坐标值,得到空间域内三角网格;
对于S3={Pi 3}中的每一点都进行上述判断,并进行局部网格密化,即可保证三角网格对原始数据的逼近精度。
CN202110097019.2A 2021-01-25 2021-01-25 基于支持向量机的散乱点云三角化方法 Active CN112767552B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浙江大学 一种基于毫米波雷达点云特征的核支持向量机目标分类方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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