一种基于特征线的三维网格模型缺陷孔洞修复方法与流程

文档序号:16985064发布日期:2019-03-02 00:33阅读:491来源:国知局
一种基于特征线的三维网格模型缺陷孔洞修复方法与流程

本发明涉及计算机图形学处理技术领域,具体是一种基于特征线的三维网格模型缺陷孔洞修复方法。



背景技术:

近年来因ai技术的飞速发展,计算机视觉方面也取得了很大的成就,技术要求精度越来越高,这也使得基于序列图像的三维重建的技术精度和要求程度越来越高。随着基于非均匀有理b样条(nurbs)的传统三维重建表示方法中存在的诸多问题日益明显,基于离散的网格表示模型得到了越来越广泛的应用。网格模型的表示和造型具有高效、拓扑任意性、易于交易、适应网络传输等优点,已经逐步成为现代计算机图形学和几何处理的重要基础。

三角多边形网格模型因其良好的可视化、简单灵活的表现能力,被越来越多的用在计算机视觉与图形学中表示物体的几何形态。由于现实物体形态及材质的复杂性,对目标物体进行三维网格重建生成时会造成孔洞、自相交、噪声、边冗余等方面的瑕疵,这对后续的几何模型展示及应用带来了极大的障碍。网格模型中的孔洞区域通常是模型缺失了几何信息且未经剖分的缺陷区域。待修补模型的孔洞区域处没有任何已知信息,使得构造一个连续、合理的几何结构来填充孔洞区域并得到令人信服的修复结果是一个具有挑战的课题。根据修复方法的不同,孔洞修复的方法主要分为两大类:一种是基于体素的方法,另一种是基于曲面定向的方法。

(1)基于体素的方法主要思想是将待修补的网格模型转换成体的形式表达,在体的基础上进行修补操作,再利用等值面抽取技术转换表达成多边形网格。可以通过定义隐式距离函数,再利用体扩散算子沿着体的表面扩散到数据缺失区域;可以通过原子体积区域空间分解进行孔洞填充;也可以通过建立一个八叉树网格结构,利用等值面曲面重建的方法来修复网格漏洞。这些基于体的方法虽然在效率上有良好的表现,但是在模型转换之间会丢失一些原有的细节特征信息,修复后的模型往往会比原有的模型出现多余的多边形面片,这对后续的网格简化等操作会造成输出网格质量的降低。

(2)基于曲面定向的方法一般是在待修补的网格模型上对孔洞进行定位检测和修复。可以通过最小化相邻曲率的能量函数直接在待修复模型的孔洞区域进行delaunay三角剖分;可以采用波前法(advancingfrontmethod)进行初次填充,后用泊松方程优化初始片面;另外还有基于径向基函数(radialbasisfunctions)、nurbs、移动最小二乘法、变分水平集等方法。这些方法在一定程度上能修复三维模型的破损区域,但计算复杂度高且在过渡区域不能自然衔接,无法很好的恢复孔洞原始的曲面细节特征。



技术实现要素:

本发明的目的在于针对现有技术的不足,而提供一种基于特征线的三维网格模型缺陷孔洞修复方法,该方法可以满足数字化技术对3d模型的技术精度要求,可以解决序列图像三维重建生成网格模型后由于序列图像的弱纹理、强高光、遮挡等原因造成的信息干扰勋在局部缺陷的问题,同时,该方法在保证修复后的三维网格模型与修复前的三维网格模型结构相似性的前提下,最大限度的恢复出了原有模型的曲面细节特征信息,修复后的视觉效果好,符合实际应用的需要。

实现本发明目的的技术方案是:

一种基于特征线的三维网格模型缺陷孔洞修复方法,包括如下步骤:

1)特征线的检测:对三维网格模型曲面上能够表示显著几何特征的特征线进行数学定义上的相应主方向曲率拟合极值的描述;

2)特征线的匹配:对步骤1)检测出来的特征线,通过匹配概率(matchingpossibility)衡量标准选取最优匹配对;

3)三角剖分及细化调整:经过匹配与桥接后的特征线,把原孔洞部分化为了若干个的多边形子洞,基曲面构造完成;再对多边形子洞进行delaunay三角剖分与边记分函数的计算,为多边形子洞的每条边赋予一个影响因子,实现网格的各向异性的细化,完成孔洞破损区的修复;修复后的孔洞破损区域能与周边三角网格密度保持一致,且能自然衔接。

步骤1)中,所述特征线的检测过程,包括如下步骤:

1-1)在进行特征线的检测之前,先对三维模型表面进行平滑处理操作后,再计算离散极值;

1-2)假设m是三维空间中的光滑曲面,对于m上的所有点集,特征线表现了曲面几何有用的特征信息,函数ei的值为0即为曲面m上的一条特征线,分为两种情况emax和emin,分别计算emax和emin,其中被称为是极值系数,ei是曲面上的隐函数,是沿着m中曲率线上的单位切向量,是ki的梯度表示,下列式子中为同一表示方法,其中:

1-3)对于规则三角形t=(p1,p2,p3),依次对三角形的顶点计算和emax(pi),i=(1,2,3),由于emax对于三角形t为线性函数,计算emax的梯度

1-4)若emax=0或emin=0为非空,则与emax=0和emin=0对应的特征线段就被检测出来,待所有的特征线被提取后,采用阈值方案处理所提取的特征线,摒弃小线段和弯曲的波浪线,余下的即为所述的特征线。

步骤2)中,特征线的匹配,过程如下:

2-1)假设s={si},i=1,2,3,…n是孔洞区域周边提取的特征线集合,对于特征线si∈s,待匹配特征线集合为

其中si是以孔洞边界顶点vi,0为起点且有m个采样点vi,0,vi,1,…,vi,m的特征线,为特征线平均单位方向,阈值参数匹配集合中元素的数目决定于阈值δ的大小,δ越小则集合中元素的数目就越多;

2-2)根据特征线si与集合ci中的待匹配特征线,通过匹配概率(matchingpossibility,mp)衡量标准选取最优匹配:

其中sj∈ci,aj,k为sj的第k个采样点vj,k在特征线si拟合曲线上的投影,高斯函数中参数σ取0.5;

2-3)选取最优匹配对(si,sj),使用球面线性插值方法将特征线匹配对连接起来,即:

其中o是由vi,0,vi,1,vj,0三点所确定圆的圆心,为向量之间的夹角,连接起来的该条线称为匹配对(si,sj)的桥线。

步骤3)中,三角剖分及细化调整,包括如下步骤:

3-1)影响因子由边的长度和密度两个元素构成,反映最终的孔洞网格的疏密程度,边eij=vj-vi,则边的长度为l(eij)=||eij||=||vj-vi||;

3-2)定义顶点v的密度ρ(v)=μ|k(v)|+(1-μ)h2(v),则边密度ρ(eij)可由两个顶点密度的均值表示:

其中为顶点v0的高斯曲率,为平均曲率,s是与顶点v0相邻的所有三角形的面积之和,相邻两条边e0i和e0(i+1)之间夹角ai=ang(e0i,e0(i+1));δv0v0iv0(i+1)所在平面的法向量为相邻三角形所在平面的夹角为βi=ang(ni,ni+1)。

3-3)定义了边的长度和密度之后,边eij的记分函数由准高斯核函数得出,边eij的记分函数为:

通过该记分函数,先计算孔洞周围区域网格的每条边的记分,并求其平均值孔洞网格填充后的每条边的一个记分为mij,若则对该边进行边分裂操作,即在该边的中点处插入一个新的顶点,并将这个新顶点与该边所在三角形的两个对顶点分别相连;

4)对孔洞网格填充细化后,对修复后的网格进行几何形态调整,所述调整是在局部按各向异性进行,通过边置换保证孔洞网格的delaunay性质。

本发明提供的一种基于特征线的三维网格模型缺陷孔洞修复方法,该方法首先对三维网格模型中的孔洞判断为缺陷孔洞后,对缺陷孔洞区域周边的特征线进行检测与匹配以恢复缺陷孔洞区域的特征线,实现缺陷孔洞区域基曲面的构造;然后对基曲面填充时先进行一般三角化,再利用三角网格模型的各向异性特性进行细化及形态调整,之后能输出更高质量的三角网格模型。本发明在保证修复后的三维网格模型与修复前的三维网格模型结构相似性的前提下最大限度的恢复出了原有模型的曲面细节特征信息,修复后的视觉效果好,符合实际应用的需要。

附图说明

图1为本发明的特征线的检测与匹配示意图;

图2为本发明的顶点相关的几何量定义示意图;

图3为本发明的边的拓扑分裂示意图;

图4为本发明的边的拓扑置换示意图;

图5为eight模型的原始破损结构图;

图6为eight模型的liepa方法修复效果图;

图7为eight模型的本发明方法修复效果图;

图8为diana模型的原始破损结构图;

图9为diana模型的liepa方法修复效果图;

图10为diana模型的本发明方法修复效果图。

具体实施方式

下面结合附图和实施例对本发明做进一步阐述,但不是对本发明的限定。

实施例:

一种基于特征线的三维网格模型缺陷孔洞修复方法,包括如下步骤:

1)特征线的检测:对三维网格模型曲面上能够表示显著几何特征的特征线进行数学定义上的相应主方向曲率拟合极值的描述;

2)特征线的匹配:对步骤1)检测出来的特征线,通过匹配概率(matchingpossibility)衡量标准选取最优匹配对;

3)三角剖分及细化调整:经过匹配与桥接后的特征线,把原孔洞部分化为了若干个简单的多边形子洞,基曲面构造完成;再对多边形子洞进行delaunay三角剖分与边记分函数的计算,为多边形子洞的每条边赋予一个影响因子,实现网格的各向异性的细化,完成孔洞破损区的修复;修复后的孔洞破损区域能与周边三角网格密度保持一致,且能自然衔接。

步骤1)中,所述特征线的检测过程,包括如下步骤:

1-1)利用离散微分算子对分段线性网格进行操作,避免了高阶表面拟合技术或隐士曲面流程这样预处理操作步骤,在进行特征线的检测之前,先对三维模型表面进行平滑处理操作,之后再计算离散极值,因为对于绝大部分几何模型来说,曲面噪声造成了大量奇异三角形的出现,影响了模型原有特征线的分布。

1-2)假设m是三维空间中的光滑曲面,对于m上的所有点集来说,特征线表现了曲面几何有用的特征信息,函数ei的值为0即为曲面m上的一条特征线,分为两种情况emax和emin,分别计算emax和emin,被称为是极值系数,ei是曲面上的隐函数,是沿着m中曲率线上的单位切向量,是ki的梯度表示,下列式子中为同一表示方法,其中:

1-3)对于规则三角形t=(p1,p2,p3),依次对三角形的顶点计算和emax(pi),i=(1,2,3),由于emax对于三角形t为线性函数,计算emax的梯度

1-4)若emax=0为非空满足公式(3)和公式(4)的条件,则与emax=0对应的特征线段就被检测出来,同理,emin也采用同样的方式处理,则emin对应的特征线段也被检测出来,待所有的特征线被提取后,采用阈值方案处理所提取的特征线,摒弃一些小线段和弯曲的波浪线,余下的即为本方法所采用的特征线。

步骤2)中,特征线的匹配,过程如下:

2-1)假设s={si},i=1,2,3,…n是孔洞区域周边提取的特征线集合,对于特征线si∈s,待匹配特征线集合为

其中si是以孔洞边界顶点vi,0为起点且有m个采样点vi,0,vi,1,…,vi,m的特征线,为特征线平均单位方向,阈值参数匹配集合中元素的数目决定于阈值δ的大小,δ越小则集合中元素的数目就越多,本实施例选取δ的值为

2-2)根据特征线si与集合ci中的待匹配特征线,通过匹配概率(matchingpossibility,mp)衡量标准选取最优匹配:

其中sj∈ci,aj,k为sj的第k个采样点vj,k在特征线si拟合曲线上的投影,高斯函数中参数s取0.5,如图1所示为特征线的检测与匹配的示意图。

2-3)对于特征线si,使mp(si,sj)最大的sj∈ci即为si的最优匹配,如果sj的最优匹配也是si,则称(si,sj)为最优匹配对,选取最优匹配对(si,sj),使用球面线性插值方法将特征线匹配对连接起来,即

公式(6)中,其中o是由vi,0,vi,1,vj,0三点所确定圆的圆心,为向量之间的夹角,连接起来的这条线称为匹配对(si,sj)的桥线。

步骤3)中,所述的三角剖分及细化调整,先对步骤2)中桥接后的特征线把原孔洞部分划分为了多个简单的多边形子洞而形成的基曲面进行delaunay三角剖分,之后采用边记分函数为每条边赋予一个影响因子,实现网格的各向异性的细化及形态调整,步骤如下:

3-1)影响因子由边的长度和密度两个元素构成,反映的是最终的孔洞网格的疏密程度,边eij=vj-vi,则边的长度为l(eij)=||eij||=||vj-vi||。

3-2)对于另一个元素边的密度,先定义顶点v的密度ρ(v)=μ|k(v)|+(1-μ)h2(v),μ∈(0,1),而k(v)和h(v)分别为该点的高斯曲率和平均曲率,如下图2所示,对于顶点v0,e01,e02,…,e0n为其顶点v0对相邻顶点v1,v2,…,vn形成的边;相邻两条边e0i和eo(i+1)之间的夹角为ai=ang(e0i,e0(i+1));δv0v0iv0(i+1)所在平面的法向量为相邻三角形所在平面的夹角为βi=ang(ni,ni+1),

顶点v0的高斯曲率k和平均曲率h的定义为:

其中s是与顶点v0相邻的所有三角形的面积之和。

假设边的密度从一个顶点vi到另一个顶点vj之间是线性变化,则边密度ρ(eij)可由两个顶点密度的均值表示:

3-3)根据所定义的边的长度和密度,边eij的记分函数由准高斯核函数得出,边eij的记分函数为:

通过该记分函数,先计算孔洞周围区域网格的每条边的记分,并求其平均值孔洞网格填充后的每条边的一个记分为mij,若则对该边进行边分裂操作,即在该边的中点处插入一个新的顶点,并将这个新顶点与该边所在三角形的两个对顶点分别相连,示意图为图3所示。

3-4)对孔洞网格填充细化之后,需要对修复后的网格进行几何形态调整,这种调整在局部是按各向异性进行的,通过边置换来保证孔洞网格的delaunay性质;对于相邻的两个三角形δabc和δabd,当δabc确定一个外接圆时,对顶点d进行判断:d到该圆上的投影点d′在外接圆外时,边ab具有局部delaunay性质,无需进行操作;否则需要将边ab置换为边cd,图4所示为边的拓扑置换示意图。

性能分析:

下图5-10是使用本发明实例对破损模型的修复效果与liepa方法的对比图,参照以上对比图的实验结果可以看出,本实施例方法在保证原有曲面细节特征信息的前提下修复孔洞有很好的接近真实的视觉效果。

本实例对比liepa方法处理前后的顶点数和三角面片数,详情见下表1和表2所示,可以看出使用liepa方法后的顶点数量与原始破损模型的顶点数量一样,即liepa方法只在原始破损模型的孔洞轮廓上进行三角剖分,不会考虑到原始特征信息的保持,而本实例发明方法修复后的模型不管是在顶点数量还是在三角面片的数量上都高于liepa方法,且对于大孔洞区域的面片数大大增加,极大的丰富了孔洞区域的细节特征信息。

表1模型的顶点数比较

表2模型的面片数比较

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1