一种曲面细节保持的三维模型修复方法与流程

文档序号:11922487阅读:329来源:国知局
一种曲面细节保持的三维模型修复方法与流程

本发明涉及一种保持曲面细节的三维模型修复方法,特别是一种基于特征线保持曲面细节的三维模型修复方法。



背景技术:

三维模型修复是计算机图形学和数字几何处理中的一个经典问题,其应用领域包括如产品的设计与制造、数字娱乐、文物与考古、虚拟漫游等。三维网格模型主要来自于两种常见方式,一是来自于真实世界物体的数字化模型,二是通过电脑合成虚拟数据或重建生成的合成模型,这些方式得到的多边形网格往往含有多种瑕疵,如孔洞、孤立点、孤立边、自相交、噪声、孤岛等。这些缺陷在实际应用中带来了诸多不便。

一般来说,孔洞修复方法主要分为两类,基于体的方法和基于曲面定向的方法。基于体的方法主要是将待修补模型转换成体素并实现曲面孔洞的修复。这类方法与曲面定向的方法相比虽然可以在较短的时间内完成修复工作,但是网格和体素之间的转换带来了模型细节特征的丢失和原始网格连通性的破坏。利用基于体的方法得到的修复模型往往具有比原始模型多很多的多边形面片,在网格简化过程可能降低输出网格的质量。

基于曲面定向的方法一般是直接检测孔洞并对孔洞区域进行修复,大体上可以分为三类。第一类是直接检测模型上的多边形孔洞并对其进行剖分。对于一些可展曲面,则可以将三维孔洞直接转化为二维多边形,并对其进行剖分。第二类主要考虑将构建的孔洞区域曲面与原始模型自然衔接在一起。这两种类型的修复方法能快速地实现模型修补,但是难以很好地恢复孔洞区域的细节特征。第三类主要考虑如何实现孔洞区域的细节修复。但是该类修复方法的时间复杂度往往较高,难以做到对复杂模型的高效修复处理。



技术实现要素:

为解决现有实现孔洞区域细节修复方法难以做到对复杂模型的高效修复处理的问题,本发明提出一种曲面细节特征保持的鲁棒的孔洞区域修复方法,该方法充分考虑了曲面谷线和脊线,通过匹配曲面孔洞周边特征线,实现了对破损模型的有效修复,并且在模型修复质量和计算效率方面做出了很好的权衡。

本发明的一种基于特征线保持曲面细节的三维模型修复方法,具体步骤如下:

1)、检测和匹配模型孔洞区域的特征线;

2)、利用动态规划算法,构建模型孔洞区域的基曲面;

3)、给出一种曲面网格的分层加密技术,逐层将孔洞周围细节特征延续到孔洞内部;

4)、利用带特征线约束的双拉普拉斯系统对上面结果进行处理。

该三维模型修复方法与现有的传统三维模型修复方法功能基本一致,其改进在于通过检测和匹配得到的模型孔洞区域的特征线以及提出的一种曲面网格的分层加密技术,逐层将孔洞周围细节特征延续到孔洞内部,不仅捕获了孔洞的全局特征,而且孔洞区域的显著几何特征也得到了很好的恢复。

进一步,所述的步骤(1)中的检测和匹配操作主要包括以下步骤:

(11)对于检测到的特征线si,本发明给出候选集Ci中与特征线si匹配特征线的衡量标准MP:其中sj∈Ci,aj,k为sj的第k个采样点vj,k在由待匹配特征线si所拟合曲线上的投影。在实验中,取高斯函数中的参数σ为0.5。

对于特征线si,称使MP(si,sj)最大的sj∈Ci为si最优匹配。如果sj∈Ci的最优匹配也是si,则称(si,sj)是一个匹配对。对于特征线的匹配对,这里使用vi,0∈si,vj,0∈sj,vi,1∈si,vj,1∈sj拟合一个平面,称为特征平面。使用球面线性插值方法将特征线匹配对(si,sj)连接起来,这条线称为匹配对的桥线。

进一步,所述的步骤(2)中的检测和匹配操作主要包括以下步骤:

(21)定义目标函数以实现面积和法向变化的最优。假设M表示输入的带有孔洞的三角网格模型,P=[p0,p1,...,pn-1]为M上的某个多边形孔洞,其中顶点p0,p1,...,pn-1以逆时针排列。令φ(i,m,j)=(α,A)为定义在三角形Δpipmpj上的有序对(i,m,j∈{0,1,...,n-1}),其中α表示三角形Δvivmvj与相邻三角形之间的最大二面角,A表示三角形Δvivmvj的面积。那么基于动态规划方法的孔洞区域最优三角剖分就是极小化如下目标函数:

并且wi,j=0,如果i和j是相邻两个顶点的下标。其中0≤i<j<n。

进一步,所述的步骤(3)中的曲面网格的分层加密技术主要包括以下步骤:

(31)本发明提出一种分层收缩策略,把孔洞区域从外向内分成若干层,具体分层步骤如下:

101)收集模型孔洞区域的第一层,这些三角形由孔洞区域内带有边界顶点的三角形构成,如图2最外层的三角形;

102)收集模型孔洞区域第一层的内部边界,这个边界的顶点由第一层三角形在孔洞区域内部的顶点构成,或者是三角形顶点除去边界顶点的点构成;

103)对模型孔洞区域进行再次分层,即将第二步收集到的层内部边界作为新的边界,重复上面步骤101)、102)的过程;

该过程一直到新层内部边界仅为一个顶点、空集或一个退化折线段时为止;

(32)对于孔洞区域内的三角形给出一种剖分顺序和剖分方法,具体步骤如下:

201)本发明提出一种基于特征线的优先三角形的概念将网格中三角形进行分类,优先三角形具有如下特点:a1,三角形与特征线相连;a2,三角形与特征平面相交,这里,给出一个判断三角形与特征平面相交的简单方法,首先定义顶点v的符号为:

S(v)=sign((v-p)·n),

其中n是特征平面的法向量,p是特征平面上的任意一点,则一个三角形的符号被定义为:

S(Δvivjvk)=(S(vi),S(vj),S(vk)),

那么一个三角形的符号中有零分量或异号的分量,则三角形与特征平面相交;

202)本发明提出一种对曲面孔洞网格中三角形逐层剖分加密方法,从孔洞边界开始向孔洞中心逐层添加细节,在剖分每一层三角形时,首先剖分优先三角形,再剖分其余的非优先三角形;

对于曲面孔洞中某一层待剖分的三角形Δvivjvk,将使用一种变形的重心剖分方法对其进行加密,方法通过将三角形重心投影到由这个三角形的邻域顶点拟合的二次曲面上,然后使用投影点对三角形进行剖分,具体剖分过程如下:

第一步,使用三角形Δvivjvk邻域顶点拟合二次曲面,对于在同一层中不同种类的三角形,采取不同方法选取拟合二次曲面的邻域候选点;

如果三角形Δvivjvk是一个非优先三角形,则从三个顶点vi,vj,vk中选择到其重心G较近的两个顶点,并利用此两个顶点的邻域顶点作为候选点来拟合这个三角形相应的二次曲面;

如果三角形Δvivjvk是一个与特征平面相交的优先三角形,则选取这个三角形的两个具有相同符号的顶点为候选点,并且在匹配对的桥线上取一点为候选点,该点是到三角形的两个相同符号顶点的距离和最小的点,这些点的邻域顶点作为候选点拟合二次曲面;

如果三角形Δvivjvk是一个与不是匹配对的特征线相连的优先三角形,则首先选择在此特征线上的顶点和三角形到重心较近的顶点,然后用这两个顶点的邻域顶点作为候选点拟合二次曲面;

第二步,利用重心投影剖分三角形,将待剖分三角形Δvivjvk重心G沿着其法线方向n投影到上面方法得到的二次曲面上,即G的投影点G′为:

G′=G+αn,

其中α是重心G沿着法线方向位移,三角形Δvivjvk被剖分为3个三角形:ΔvivjG′,ΔvjvkG′和ΔvkviG′;

在对模型孔洞区域三角形进行一次剖分加密后,如果孔洞中三角形平均半径大于孔洞边界外三角形平均半径时就再一次的剖分加密,如果剖分后三角形出现狭长三角形,则对其进行翻转操作。

进一步,所述的步骤(4)中的带特征线约束的双拉普拉斯系统主要包括以下内容:

(41)该双拉普拉斯系统为:

其中,Δ2是双拉普拉斯算子,集合H表示孔洞区域内的所有顶点,F表示孔洞区域特征线上的顶点集合,为匹配特征线的桥线上距离x最近的点。

本发明的技术构思是:为修复孔洞区域的显著几何,本发明提出了一种曲面细节特征保持的鲁棒的孔洞区域修复方法。首先,方法检测三维破损模型孔洞周围的特征线并配准特征线。然后,利用动态规划算法构建模型孔洞周围的基曲面。在孔洞修复的过程中,给出一种分层收缩策略对孔洞区域从外层到内层逐次剖分,对于每一层面片通过优先剖分特征线附近面片给出三角面片的剖分顺序和剖分方法。最后,引进带特征线约束的双拉普拉斯系统恢复孔洞区域的显著几何特征。

本发明的优点在于:该方法充分考虑了曲面谷线和脊线,通过匹配曲面孔洞周边特征线,实现了对破损模型的有效修复,并且在模型修复质量和计算效率方面做出了很好的权衡。

附图说明

图1为本发明的特征线检测和匹配图。

图2为本发明的分层收缩策略图,其中图2a是层内部边界为一个顶点的示意图,图2b是层内部边界为空集的示意图,图2c是层内部边界为退化折线段的示意图。

图3为本发明的流程图,其中图3a是原始孔洞图像,图3b是基曲面图像,图3c是初次剖分和翻转图像,图3d是按层再次剖分图像,图3e是特征增强示意图。

图4为应用本发明修复摇臂模型效果图,其中图4a是摇臂原始模型,图4b是修复结果示意图。

图5为应用本发明修复CAD模型效果图,其中图5a是孔洞CAD模型,图5b是CAD模型修复结果示意图。

图6为应用本发明修复面具模型效果图,其中图6a是破损的面具原始模型,图6b是面具修复结果示意图。

具体实施方式

参照附图,进一步说明本发明:

一种保持曲面细节的三维模型修复方法,包括以下步骤:

1)、对原始孔洞图像3a,进行图1所示的特征线的检测和匹配操作;

2)、对步骤1)处理后的图像3a使用动态规划算法,得到孔洞区域的基曲面图像3b;

3)、对基曲面图像3b进行分层收缩策略下的剖分和翻转操作,得到图像3c;对图像3c再次进行分层收缩策略下的剖分操作,得到图像3d;

4)、对图像3d进行带特征线约束的双拉普拉斯系统操作,得到图像3e;

5)、对图像4a、5a、6a分别进行上述4个步骤所述的操作,分别得到对应的修复效果图4b、5b、6b;

该三维模型修复方法与现有的传统三维模型修复方法功能基本一致,其改进在于通过检测和匹配得到的模型孔洞区域的特征线以及提出的一种曲面网格的分层加密技术,逐层将孔洞周围细节特征延续到孔洞内部,不仅捕获了孔洞的全局特征,而且孔洞区域的显著几何特征也得到了很好的恢复。

进一步,所述的步骤(1)中的检测和匹配操作主要包括以下步骤:

(11)对于检测到的特征线si,本发明给出候选集Ci中与特征线si匹配特征线的衡量标准MP:其中sj∈Ci,aj,k为sj的第k个采样点vj,k在由待匹配特征线si所拟合曲线上的投影。在实验中,取高斯函数中的参数σ为0.5。

对于特征线si,称使MP(si,sj)最大的sj∈Ci为si最优匹配。如果sj∈Ci的最优匹配也是si,则称(si,sj)是一个匹配对。对于特征线的匹配对,这里使用vi,0∈si,vj,0∈sj,vi,1∈si,vj,1∈sj拟合一个平面,称为特征平面。使用球面线性插值方法将特征线匹配对(si,sj)连接起来,这条线称为匹配对的桥线。

进一步,所述的步骤(2)中的检测和匹配操作主要包括以下步骤:

(21)定义目标函数以实现面积和法向变化的最优。假设M表示输入的带有孔洞的三角网格模型,P=[p0,p1,...,pn-1]为M上的某个多边形孔洞,其中顶点p0,p1,...,pn-1以逆时针排列。令φ(i,m,j)=(α,A)为定义在三角形Δpipmpj上的有序对(i,m,j∈{0,1,...,n-1}),其中α表示三角形Δvivmvj与相邻三角形之间的最大二面角,A表示三角形Δvivmvj的面积。那么基于动态规划方法的孔洞区域最优三角剖分就是极小化如下目标函数:

并且wi,j=0,如果i和j是相邻两个顶点的下标。其中0≤i<j<n。进一步,所述的步骤(3)中的曲面网格的分层加密技术主要包括以下步骤:

(31)本发明提出一种分层收缩策略,把孔洞区域从外向内分成若干层,具体分层步骤如下:

101)收集模型孔洞区域的第一层,这些三角形由孔洞区域内带有边界顶点的三角形构成,如图2最外层的三角形;

102)收集模型孔洞区域第一层的内部边界,这个边界的顶点由第一层三角形在孔洞区域内部的顶点构成,或者是三角形顶点除去边界顶点的点构成;

103)对模型孔洞区域进行再次分层,即将第二步收集到的层内部边界作为新的边界,重复上面步骤101)、102)的过程;

该过程一直到新层内部边界仅为一个顶点、空集或一个退化折线段时为止;

(32)对于孔洞区域内的三角形给出一种剖分顺序和剖分方法,具体步骤如下:

201)本发明提出一种基于特征线的优先三角形的概念将网格中三角形进行分类,优先三角形具有如下特点:a1,三角形与特征线相连;a2,三角形与特征平面相交,这里,给出一个判断三角形与特征平面相交的简单方法,首先定义顶点v的符号为:

S(v)=sign((v-p)·n),

其中n是特征平面的法向量,p是特征平面上的任意一点,则一个三角形的符号被定义为:

S(Δvivjvk)=(S(vi),S(vj),S(vk)),

那么一个三角形的符号中有零分量或异号的分量,则三角形与特征平面相交;

202)本发明提出一种对曲面孔洞网格中三角形逐层剖分加密方法,从孔洞边界开始向孔洞中心逐层添加细节,在剖分每一层三角形时,首先剖分优先三角形,再剖分其余的非优先三角形;

对于曲面孔洞中某一层待剖分的三角形Δvivjvk,将使用一种变形的重心剖分方法对其进行加密,方法通过将三角形重心投影到由这个三角形的邻域顶点拟合的二次曲面上,然后使用投影点对三角形进行剖分,具体剖分过程如下:

第一步,使用三角形Δvivjvk邻域顶点拟合二次曲面,对于在同一层中不同种类的三角形,采取不同方法选取拟合二次曲面的邻域候选点;

如果三角形Δvivjvk是一个非优先三角形,则从三个顶点vi,vj,vk中选择到其重心G较近的两个顶点,并利用此两个顶点的邻域顶点作为候选点来拟合这个三角形相应的二次曲面;

如果三角形Δvivjvk是一个与特征平面相交的优先三角形,则选取这个三角形的两个具有相同符号的顶点为候选点;并且在匹配对的桥线上取一点为候选点,该点是到三角形的两个相同符号顶点的距离和最小的点,这些点的邻域顶点作为候选点拟合二次曲面;

如果三角形Δvivjvk是一个与不是匹配对的特征线相连的优先三角形,则首先选择在此特征线上的顶点和三角形到重心较近的顶点,然后用这两个顶点的邻域顶点作为候选点拟合二次曲面;

第二步,利用重心投影剖分三角形,将待剖分三角形Δvivjvk重心G沿着其法线方向n投影到上面方法得到的二次曲面上,即G的投影点G′为:

G′=G+αn,

其中α是重心G沿着法线方向位移,三角形Δvivjvk被剖分为3个三角形:ΔvivjG′,ΔvjvkG′和ΔvkviG′;

在对模型孔洞区域三角形进行一次剖分加密后,如果孔洞中三角形平均半径大于孔洞边界外三角形平均半径时就再一次的剖分加密,如果剖分后三角形出现狭长三角形,则对其进行翻转操作。

进一步,所述的步骤(4)中的带特征线约束的双拉普拉斯系统主要包括以下内容:

(41)该双拉普拉斯系统为:

其中,Δ2是双拉普拉斯算子,集合H表示孔洞区域内的所有顶点,F表示孔洞区域特征线上的顶点集合,为匹配特征线的桥线上距离x最近的点。

目前,在计算机图形学领域,三维模型修复方法已经日渐成熟,孔洞修复方法主要分为两类:基于体的方法和基于曲面定向的方法。本发明针对这两类方法中存在的无法兼顾修复质量和计算效率的不足,提出了一种保持曲面细节的三维模型修复方法,该类方法在模型修复质量和计算效率方面做出了很好的权衡。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

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