一种三角形网格模型的处理方法及装置制造方法
【专利摘要】本发明实施例公开了一种三角形网格模型的处理方法和装置。该方法包括:计算每个顶点的平均曲率,将两个顶点的平均曲率都小于预设的平均曲率阈值的顶点对确定为候选顶点对;对于每个候选顶点对,确定与其对应的目标顶点的位置,目标顶点用于移除候选顶点对时代替候选顶点对;根据目标顶点到所有具有与候选顶点对中任意一顶点的三角形面片的距离,确定移除候选顶点对的第一代价;根据具有目标顶点的所有三角形面片的形状特征,确定移除候选顶点对的第二代价;根据第一代价和第二代价,确定移除候选顶点对的代价;移除代价最小的一个候选顶点对,以与所移除的候选顶点对对应的目标顶点代替。本发明能够尽量避免处理相应的顶点对以避免生成异常三角形。
【专利说明】一种三角形网格模型的处理方法及装置
【技术领域】
[0001]本发明涉及数字图像处理技术,特别涉及一种三角形网格模型的处理方法及装置。
【背景技术】
[0002]在计算机图形学的应用中,物体的几何模型通常采用三角形面片表示。但是,随着物体模型复杂性的增加,表示物体所需要的三角形面片的数量大大增加。例如,三维激光实物扫描、医学图像三维重构、遥感图像地形重建等应用中,三角形面片的数量常常达到百万甚至千万,大大超出了图形硬件和网路传输的处理能力。
[0003]因此,计算机图形学中一个重要的步骤就是通过网格处理用低复杂度的模型代替高复杂度的模型,同时维持物体的重要特征,较好的逼近物体的原始形状。
[0004]为了降低三角形网格模型的复杂度,可以通过移除或者修改模型中对视觉效果影响不大的部分网格面片信息,例如顶点、边或者三角形面片等,来减少网格模型中三角形面片的数量。三角形网格模型的简化是在尽量保证简化前后模型特征变化最小的情况下,找到最少数量三角形面片的简化表示方法。三角形网格模型的简化过程通常为:对给定的原始三角形网格模型,根据一定的简化算法,在一定的条件约束下,对其进行一系列的简化基本操作,直到得到要求的简化后的网格模型。
[0005]目前,边折叠方法是一种比较常用的网格简化方法。边折叠方法的基本思想是:为三角形网格模型中的每个顶点计算一个误差矩阵,根据误差矩阵计算网格中边折叠的代价以及目标顶点的位置,然后按照折叠代价从小到大进行折叠操作。具体包括:选择网格模型中代价最小的边以及与该边相关`的两个顶点,将这两个顶点“折叠”至目标顶点,然后修改拓扑关系,将与这两个顶点相关的边映射到目标顶点;更新每个顶点的误差矩阵,然后重新计算网格模型中边折叠的代价以及目标顶点的位置,再次选择代价最小的边以及与该边相关的两个顶点进行简化操作;重复上述过程,直至得到满足要求的网格模型。图1为现有技术中边折叠方法的示意图。如图1所示,假设图(a)所示的三角形网格模型中,顶点^和^之间的边为代价最小的边。因此,顶点、和%被“折叠”至目标顶点V 12。相应的,与这两个顶点相关的边被映射到目标顶点y' 12,得到如图(b)所示的三角形网格模型。
[0006]Garland提出的基于二次误差测度的边折叠方法是一种经典的边折叠方法,该方法使用目标顶点到和被折叠边的两个顶点相关联的平面的距离的平方和作为误差,计算比较简单、速度快。但是,Garland基于二次误差测度的边折叠方法在简化过程中,由于目标顶点可能位于任意位置,当目标顶点的位置与周围相关的顶点很近时,会产生一些异常三角形面片。这些异常三角形面片通常具有一个非常大的顶角和两个非常小的顶角,这对于后续的处理是非常不利的。也就是说,在Garland的方法中,由于没有充分考虑简化过程中生成的三角形面片的形状特征,导致简化结果容易出现形状异常的三角形,这可能会严重影响后续基于简化模型的细分曲面的重建质量。具体请见M.Garland, et.al.,“SurfaceSimplification Using QuadricError Metrics,’’Computer Graphics (SIGGRAPH' 97Proceedings),1997, pp.209-216.
【发明内容】
[0007]本发明实施例提供了一种三角形网格模型的处理方法及装置,以避免在处理过程中产生异常的三角形面片。
[0008]本发明实施例提出的技术方案包括:
[0009] 一种三角形网格模型的处理方法,其中,所述三角形网格模型由顶点和三角形面片组成,三角形面片的同一条边的两个顶点组成一个顶点对,一个顶点的平均曲率反映所述三角形网络模型对应的实际物体的曲率统计特征,所述处理方法包括:计算每个所述顶点的平均曲率,将两个顶点的平均曲率都小于预设的平均曲率阈值的顶点对确定为候选顶点对;对于每个所述候选顶点对,确定与其对应的目标顶点的位置,所述目标顶点用于移除所述候选顶点对时代替所述候选顶点对;根据所述目标顶点到所有具有与所述候选顶点对中任意一顶点的三角形面片的距离,确定移除所述候选顶点对的第一代价;根据具有所述目标顶点的所有三角形面片的形状特征,确定移除所述候选顶点对的第二代价;根据所述第一代价和所述第二代价,确定移除所述候选顶点对的代价;移除代价最小的一个候选顶点对,以与所移除的候选顶点对对应的目标顶点代替。
[0010]一种三角形网格模型的处理装置,其中,所述三角形网格模型由顶点和三角形面片组成,三角形面片的同一条边的两个顶点组成一个顶点对,顶点的平均曲率反映所述三角形网络模型对应的实际物体的曲率统计特征,该装置包括:目标顶点确定模块,用于计算每个所述顶点的平均曲率,将两个顶点的平均曲率都小于预设的平均曲率阈值的顶点对确定为候选顶点对;对于每个所述候选顶点对,确定与其对应的目标顶点的位置,所述目标顶点用于移除所述候选顶点对时代替所述候选顶点对;代价计算模块,用于根据所述目标顶点到所有具有与所述候选顶点对中任意一顶点的三角形面片的距离,确定移除所述候选顶点对的第一代价;根据具有所述目标顶点的所有三角形面片的形状特征,确定移除所述候选顶点对的第二代价,所述第二代价为移除操作带来的第二误差;根据所述第一代价和所述第二代价,确定移除所述候选顶点对的代价;移除模块,移除代价最小的一个候选顶点对,以与所移除的候选顶点对对应的目标顶点代替
[0011]一种三角形网格模型的处理装置,所述三角形网格模型由顶点和三角形面片组成,两个属于同一个三角形面片的同一条边的顶点组成一个顶点对,所述装置包括:处理器、以及和所述处理器通信连接的存储器,其中所述存储器中存储有机器可读指令,所述处理器用于执行存储器中的指令,以执行上述方法所述的步骤。
[0012]与现有技术相比,在本发明提出的三角形网格模型的处理方法和装置中,在确定移除每个顶点对的代价的时候,除了考虑目标顶点到所有与和该目标顶点对应的顶点对相关联的三角形面片的距离,还进一步考虑了和目标顶点相关联的所有三角形面片的形状特征。这样,对于可能产生的异常三角形面片,移除其对应的顶点对的代价较大。因此,能够尽量避免处理相应的顶点对以避免生成异常三角形。
【专利附图】
【附图说明】
[0013]图1为现有技术中边折叠方法的示意图。[0014]图2为本发明实施例提供的一种三角形网格模型的处理方法流程图。
[0015]图3为本发明一实施例提供的一种三角形网格模型的处理装置的结构示意图。
[0016]图4为本发明另一实施例提供的一种三角形网格模型的处理装置的结构示意图。
[0017]图5为本发明实施例进一步提供的一种三角形网格模型的处理方法子流程图。
【具体实施方式】
[0018]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。本发明实施例进一步提供了一种三角形网格模型的简化方法,该方法能够避免在简化过程中产生异常三角形面片。
[0019]本发明提出的技术方案包括:
[0020]一种三角形网格模型的处理方法,其中,三角形网格模型由顶点和三角形面片组成,两个属于同一个三角形面片的同一条边的顶点组成一个顶点对,该方法包括:
[0021]计算每个所述顶点的平均曲率,将两个顶点的平均曲率都小于预设的平均曲率阈值的顶点对确定为候选顶点对;
[0022]对于每个所述候选顶点对,确定与其对应的目标顶点的位置,所述目标顶点用于移除所述候选顶点对时代替所述候选顶点对;
[0023]根据所述目标顶点到所有具有与所述候选顶点对中任意一顶点的三角形面片的距离,确定移除所述候选顶点对的第一代价;
[0024]根据具有所述目标顶点的所有三角形面片的形状特征,确定移除所述候选顶点对的第二代价,所述第二代价为移除操作带来的第二误差;
[0025]根据所述第一代价和所述第二代价,确定移除所述候选顶点对的代价;
[0026]移除代价最小的一个候选顶点对,以与所移除的候选顶点对对应的目标顶点代替。
[0027]从上述技术方案可以看出,在本发明提出的网格处理方法中,在确定移除每个顶点对的代价的时候,除了考虑目标顶点到所有与和该目标顶点对应的顶点对相关联的三角形面片的距离,还进一步考虑了和所述目标顶点相关联的所有三角形面片的形状特征。这样,对于可能产生的异常三角形面片,移除其对应的顶点对的代价较大。因此,能够尽量避免处理相应的顶点对以避免生成异常三角形。
[0028]下面通过具体实施例并结合附图来对本发明上述技术特征、优点及其实现方式予以进一步说明。
[0029]图2为本发明实施例提供的一种三角形网格模型的处理方法的流程图。如图2所示,该方法包括以下步骤。
[0030]步骤201,对于三角形网格模型中的每个顶点对(Vl,v2),确定用于代替顶点对(V1, V2)的目标顶点V' 12的位置。
[0031]在三角形网格模型中,每个三角形面片的每条边都有两个顶点V1和v2,即顶点对(Vl,V2)。在本步骤中,需要确定每个顶点对(Vl,V2)对应的目标顶点V 12。在处理过程中,该目标顶点V 12用于代替顶点对(Vl,V2),这样,就减少了三角形网格模型中的一条边。也就是说,对于边收缩(V1, V2) —V 12,需要按照一定的原则确定目标顶点V' 12的位置,使处理后的网格模型尽可能的逼近原始的网格模型。[0032]下面以Garland 二次误差测度的方法为例,对确定目标顶点V' 12的位置的方法进行描述。根据该方法,二次误差测度达到极小值的点将将作为目标顶点V 12。
[0033]具体的,在三角形网格模型中,每一个顶点都可以看作是一系列平面的交点,即包含该顶点的所有三角形面片的交点。因此,可以将每个顶点和一系列三角形面片联系起来。设与顶点V1相关联的三角形面片的集合为S1,与顶点V2相关联的三角形面片的集合为S2,则定义目标顶点V 12处的误差为目标顶点V' 12到S1和S2中各个相关联的三角形面片的
距离的平方和,即Σ &~)2’其中
【权利要求】
1.一种三角形网格模型的处理方法,其中,所述三角形网格模型由顶点和三角形面片组成,三角形面片的同一条边的两个顶点组成一个顶点对,一个顶点的平均曲率反映所述三角形网络模型对应的实际物体的曲率统计特征,所述处理方法包括: 计算每个所述顶点的平均曲率,将两个顶点的平均曲率都小于预设的平均曲率阈值的顶点对确定为候选顶点对; 对于每个所述候选顶点对,确定与其对应的目标顶点的位置,所述目标顶点用于移除所述候选顶点对时代替所述候选顶点对; 根据所述目标顶点到所有具有与所述候选顶点对中任意一顶点的三角形面片的距离,确定移除所述候选顶点对的第一代价; 根据具有所述目标顶点的所有三角形面片的形状特征,确定移除所述候选顶点对的第二代价; 根据所述第一代价和所述第二代价,确定移除所述候选顶点对的代价; 移除代价最小的一个候选顶点对,以与所移除的候选顶点对对应的目标顶点代替。
2.根据权利要求1所述的方法,其特征在于,所述根据和目标顶点相关联的所有三角形面片的形状特征,确定移除该候选顶点对的第二代价包括: 确定每个具有所述目标顶点的三角形面片的形状特征;其中,所述形状特征包括以下任意一项比值: 具有所述目标顶点的每个 三角形面片的外切圆和内切圆的半径之比; 具有所述目标顶点的每个三角形面片的最长边和最短边的边长之比;或 具有所述目标顶点的每个三角形面片的最大顶角和最小顶角的角度之比。 确定所有具有所述目标顶点的三角形面片的所述形状特征的平均值; 根据所述形状特征的平均值,确定所述第二代价。
3.根据权利要求1所述的方法,其特征在于,所述根据和目标顶点相关联的所有三角形面片的形状特征,确定移除该候选顶点对的第二代价包括: 确定每个具有所述目标顶点的三角形面片的形状特征;其中,所述形状特征包括以下至少两项比值: 具有所述目标顶点的每个三角形面片的外切圆和内切圆的半径之比; 具有所述目标顶点的每个三角形面片的最长边和最短边的边长之比;以及 具有所述目标顶点的每个三角形面片的最大顶角和最小顶角的角度之比。 确定所有具有所述目标顶点的三角形面片的所述形状特征的各比值的平均值; 对所述各比值的平均值进行加权平均; 根据所述加权平均结果,确定所述第二代价。
4.根据权利要求3所述的方法,其特征在于,进一步包括:归一化所述形状特征的各比值,或者,归一化所述形状特征的各比值的平均值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一代价和所述第二代价,确定移除该候选顶点对的代价包括: 分别对所述第一代价和第二代价进行归一化处理; 根据所述归一化的第一代价和归一化的第二代价,按照以下公式确定移除该候选顶点对的代价:cost (ν1; V2) =W1COSt' ! (ν1; V2) +W2COSt' S(V11V2) 其中,(V1, V2)为候选顶点对,cost (V1, V2)代表移除候选顶点对(V1, V2)的代价,cost' I(VpV2)代表归一化的第一代价,cost' 2^!, V2)代表归一化的第二代价,W1和W2为权重因子。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一代价和所述第二代价,确定移除该候选顶点对的代价包括: 对所述第二代价进行归一化处理; 根据所述第一代价和归一化的第二代价,按照以下公式确定移除该候选顶点对的代价:
cost (V1, V2) =COSt' 2 (V1, V2) X COSt1 (V1, V2) 其中,(V1, V2)为候选顶点对,cost (V1, V2)代表移除该候选顶点对的代价,COSt1 (V1, V2)代 表第一代价,cost' 2 (V1, V2)代表归一化的第二代价。
7.一种三角形网格模型的处理装置,其中,所述三角形网格模型由顶点和三角形面片组成,三角形面片的同一条边的两个顶点组成一个顶点对,顶点的平均曲率反映所述三角形网络模型对应的实际物体的曲率统计特征,其特征在于,该装置包括: 目标顶点确定模块,用于计算每个所述顶点的平均曲率,将两个顶点的平均曲率都小于预设的平均曲率阈值的顶点对确定为候选顶点对;对于每个所述候选顶点对,确定与其对应的目标顶点的位置,所述目标顶点用于移除所述候选顶点对时代替所述候选顶点对;代价计算模块,用于根据所述目标`顶点到所有具有与所述候选顶点对中任意一顶点的三角形面片的距离,确定移除所述候选顶点对的第一代价;根据具有所述目标顶点的所有三角形面片的形状特征,确定移除所述候选顶点对的第二代价;根据所述第一代价和所述第二代价,确定移除所述候选顶点对的代价; 移除模块,移除代价最小的一个候选顶点对,以与所移除的候选顶点对对应的目标顶点代替。
8.根据权利要求7所述的装置,其特征在于,所述代价计算模块进一步用于, 确定每个具有所述目标顶点的三角形面片的形状特征;其中,所述形状特征包括以下任意一项比值: 具有所述目标顶点的每个三角形面片的外切圆和内切圆的半径之比; 具有所述目标顶点的每个三角形面片的最长边和最短边的边长之比;或 具有所述目标顶点的每个三角形面片的最大顶角和最小顶角的角度之比。 确定所有具有所述目标顶点的三角形面片的所述形状特征的平均值; 根据所述形状特征的平均值,确定所述第二代价。
9.根据权利要求7所述的装置,其特征在于,所述代价计算模块进一步用于, 确定每个具有所述目标顶点的三角形面片的形状特征;其中,所述形状特征包括以下至少两项比值: 具有所述目标顶点的每个三角形面片的外切圆和内切圆的半径之比; 具有所述目标顶点的每个三角形面片的最长边和最短边的边长之比;以及 具有所述目标顶点的每个三角形面片的最大顶角和最小顶角的角度之比。确定所有具有所述目标顶点的三角形面片的所述形状特征的各比值的平均值; 对所述各比值的平均值进行加权平均; 根据所述加权平均结果,确定所述第二代价。
10.根据权利要求9所述的装置,其特征在于,进一步包括: 归一化处理模块,用于归一化所述形状特征的各比值,或者,归一化所述形状特征的各比值的平均值。
11.根据权利要求7所述的装置,其特征在于,所述代价计算模块进一步用于, 分别对所述第一代价和第二代价进行归一化处理; 根据所述归一化的第一代价和归一化的第二代价,按照以下公式确定移除该候选顶点对的代价:
cost (ν1; V2) =W1COSt' ! (ν1; V2) +W2COSt' S(V11V2) 其中,(V1, V2)为候选顶点对,cost (V1, V2)代表移除候选顶点对(V1, V2)的代价,cost' I(VpV2)代表归一化的第一代价,cost' 2^!, V2)代表归一化的第二代价,W1和W2为权重因子。
12.根据权利要求7所述的装置,其特征在于,所述代价计算模块进一步用于, 对所述第二代价进行归一化处理; 根据所述第一代价和归一化的第二代价,按照以下公式确定移除该候选顶点对的代价:
cost (V1, V2) =COSt' 2 (V1, V2) X COSt1 (V1, V2) 其中,(V1, V2)为候选顶点对,cost (V1, V2)代表移除该候选顶点对的代价,COSt1 (V1, V2)代表第一代价,cost' 2^!, V2)代表归一化的第二代价。
13.—种三角形网格模型的处理装置,所述三角形网格模型由顶点和三角形面片组成,两个属于同一个三角形面片的同一条边的顶点组成一个顶点对,其特征在于,所述装置包括:处理器、以及和所述处理器通信连接的存储器,其中所述存储器中存储有机器可读指令,所述处理器用于执行存储器中的指令,以执行权利要求1-6的步骤。
【文档编号】G06T17/20GK103679814SQ201210320745
【公开日】2014年3月26日 申请日期:2012年8月31日 优先权日:2012年8月31日
【发明者】李建福, 邓翔 申请人:西门子公司