[发明专利]一种基于顶点特征的双法向网格模型光顺方法有效
申请号: | 201810920094.2 | 申请日: | 2018-08-14 |
公开(公告)号: | CN109242972B | 公开(公告)日: | 2022-11-04 |
发明(设计)人: | 段黎明;王武礼 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06T17/20 | 分类号: | G06T17/20 |
代理公司: | 重庆缙云专利代理事务所(特殊普通合伙) 50237 | 代理人: | 王翔 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 顶点 特征 网格 模型 方法 | ||
1.一种基于顶点特征的双法向网格模型光顺方法,其特征在于,包括以下步骤:
1)将网格模型中所有顶点划分为特征点和非特征点;
将三角网格模型中所有三角面片的顶点划分为特征点和非特征点的步骤如下:
1.1)计算三角网格模型中所有三角面片顶点的法向张量;
三角网格模型的第j个三角面片fj顶点vi的张量为邻域三角形法向协方差矩阵的权重和;
顶点vi的法向张量如下所示:
式中,Nf(vi)为顶点vi的一阶邻域三角形;为权重;fj为三角网格模型的第j个三角面片;为三角面片fj的单位法向量;上标T为转置;
其中,权重如下所示:
式中,为三角形面片fj的面积;为Nf(vi)中最大面积;为三角形fj的中心;vi'为顶点vi的坐标;
1.2)根据顶点法向张量积和法向张量的特征值,将三角网格模型中所有顶点分为平面点、突变边点和拐角点三类,步骤如下:
1.2.1)计算顶点的法向张量谱;
顶点的法向张量谱如下所示:
式中,λ1、λ2和λ3均为法向张量的特征值;λ1≥λ2≥λ3≥0;e1为特征值λ1对应的单位特征向量;e2为特征值λ2对应的单位特征向量;e3为特征值λ3对应的单位特征向量;
1.2.2)根据顶点的法向张量积和法向张量的特征值将顶点分成平面点、突变边点和拐角点;其中,平面点为特征值λ1≈1,特征值λ2≈0且特征值λ3≈0的法向张量对应的顶点;平面点为非特征点;
突变边点为特征值λ1≈1,特征值λ2≈1且特征值λ3≈0的法向张量对应的顶点;突变边点为特征点;
拐角点为特征值λ1=λ2=λ3的法向张量对应的顶点;拐角点为特征点;
1.3)利用自适应尺度的张量投票法对顶点进行精确分类,即根据顶点属性特征量Ωi的值对顶点进行精确分类,步骤如下:
1.3.1)计算顶点属性特征量Ωi;顶点属性特征量Ωi如下所示:
式中,λ1、λ2和λ3均为法向张量的特征值;为特征平均值;d为顶点属性特征量计算系数;
特征平均值如下所示:
式中,λ1、λ2和λ3均为法向张量的特征值;
1.3.2)设定顶点vi的一阶三角形邻域的初始尺度为r1;
1.3.3)顶点vi进行邻域扩展;记顶点vi的一阶三角形邻域的尺度扩展为rm时,顶点属性特征量为邻域扩展条件为当时,转入步骤1.3.4);其中,τ为约束界限的常数;τ=[1,2];
1.3.4)根据顶点属性特征量为判断顶点vi是否为特征点;若则顶点vi是特征点,停止顶点vi的邻域扩充;若顶点vi是非特征点,停止顶点vi的邻域扩充;若则计算和Ω1差的绝对值、和Ω2差的绝对值;若和Ω1差的绝对值小于和Ω2差的绝对值,则判定顶点vi为非特征点,相反,则顶点vi为特征点;
其中,Ω1和Ω2为预设的阈值,且Ω1<Ω2;
1.3.5)在尺度rm上法向张量投票如下所示:
式中,为三角形邻域的尺度扩展到rm后,新增的面片;为权重;fj为三角网格模型的第j个三角面片;为三角面片fj的单位法向量;上标T为转置;
其中,权重函数如下所示:
式中,m表示顶点vi的邻域的阶数;表示vi的m阶邻域中的所有面片的最大面积;表示顶点vi第m阶邻域各面片的面积;表示第m阶邻域各面片中心与顶点vi的最大距离;为三角形fj的中心;
1.3.6)根据张量投票结果,对三角网格模型边界进行光顺;
2)利用引导滤波构建面法向场;
基于引导滤波的面法向场构建的步骤如下:
2.1)记三角网格模型中面片fq方向朝外的单位法向nq如下所示:
式中,和分别为三角面片fq的三个顶点坐标;
2.2)计算三角网格模型中面片fq的单位法向滤波信号即:
式中,ak和bk为窗口ωk上的线性系数;gq为引导法向信号;
窗口ωk上的线性系数ak和bk分别如下所示:
式中,gq为引导法向信号;nq为三角网格模型中面片fq方向朝外的单位法向;为fq邻域面片对应引导法向的均值;为面片fq邻域面片法向的均值;ω为邻域面片块中面片的个数;Nq为面片fq的一阶几何邻域面片集合;ε为较小的整数,防止分母为0;σk为邻域面片法向的标准差;
式中,为fq邻域面片对应引导法向的均值;为面片fq邻域面片法向的均值;ak为窗口ωk上的线性系数;
2.2)构建法向场;
2.2.1)确定所有含有面片fq的小块,记为集合其中为所有与面片fq共顶点的面片定义成的一个联合块;
2.2.2)计算每个候选块的法向一致性即:
式中,为面块中相对的两个面片法向的最大距离;为面片块中边缘相对显著性;
面块中两个面片法向的最大距离如下所示:
式中,fd和fh为面块中任意两个面片;nd为面片fd的法向;nh为面片fh的法向;
面片块中边缘相对显著性如下所示:
式中,为面块中所有内边的集合;表示内边的显著程度;ε为较小的整数,防止分母为0;
其中,内边的显著程度如下所示:
式中,eq为入射面的公共边;
2.2.3)从所有的候选块中选出一个使值最小的块按面积权重计算其均值法向gq,以作为面片fq的引导法向;面片fq的引导法向gq如下所示:
式中,Aq为面片fq的面积;为使值最小的块;nq为面片fq的法向;
2.2.4)重复步骤2.2.1)至步骤2.2.3),得到引导法向场{gq};
2.2.5)计算引导法向场{gq}在边eq上的稳定性,即:
式中,为边eq两个入射面的引导法向的夹角;为两个入射面的实际法向的夹角;
3)对每个面相对的面的法向进行滤波,获得精确的面法向场;
4)分别计算三角网格模型中的特征点和非特征点的顶点法向,从而构建顶点的法向场;
网格顶点法向场构建的步骤如下:
4.1)记三角面片fo非特征顶点为vo,其法向如下所示:
式中,为邻域三角面片的面积权重因子;为面片fo的法向;为邻域面片集;
邻域三角面片的面积权重因子如下所示:
式中,为面片fo的面积;为邻域面片集;
4.2)记三角面片fo特征顶点为v'o,其法向计算步骤如下:
4.2.1)对邻域面片进行聚类优化;
聚类能量函数E如下所示:
式中,α为邻域面片种类;Mγ为第γ类邻域;ρ(x')为密度函数;n为Mγ类中某面片的任一顶点的法向;为Mγ中所有面片归一化的权重平均法向;
设定面片内每个点的法向相同,则聚类能量函数E的离散形式如下所示:
式中,so为面片fo的面积函数;no为面片fo的单位法向量;
面片fo的面积函数so如下所示:
式中,ρ(x')为密度函数;当ρ(x')=1时,so为面片fo的面积;
4.2.2)计算特征顶点法向场;
利用最小二乘法对聚类后的每类面片的顶点进行三次曲面拟合,拟合公式如下所示:
式中,A、B、C、D、E、F、G、H、I和J均为计算系数;x和y分别为横、纵坐标;
在拟合的每类曲面中搜索拟合程度最优的三角面片;判断拟合程度的方法为:将三角面片的三个顶点代入拟合公式(23),从而得到拟合程度;
用每类曲面中拟合度最优的面片法向计算特征顶点的法向,即:
式中,Ao为最优面片fo的面积权重因子;no表示最优面片fo的法向;
4.3)重复步骤4.2),遍历每个特征点,从而生成特征顶点的法向场;
5)根据面法向对非特征顶点位置进行更新;根据面法向和顶点法向对特征顶点位置进行迭代更新;
6)根据顶点法向信息、面法向信息、非特征顶点位置和特征顶点位置,对网格模型进行光顺;
对顶点位置进行迭代更新的步骤如下:
6.1)当顶点为非特征点时,根据面法向对顶点更新,即:
式中,vo(t)为顶点vo在第t次迭代时的值;No为与顶点vo对应的一阶邻域面片集合;
三角面片fo的中心如下所示:
式中,和为三角面片fo的单个顶点坐标;
6.2)当顶点为特征点时,综合使用面法向和顶点法向对顶点更新,即:
式中,为顶点一阶邻域各面片的引导滤波后的法向;为顶点法向;η为比例因子,取值为0≤η≤1;
6.3)遍历网格模型中所有顶点,重复步骤6.1)和步骤6.2)对顶点更新;直到光顺处理后的网格模型与初始模型接近或前后两次网格模型的误差小于设定值,迭代结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810920094.2/1.html,转载请声明来源钻瓜专利网。