本发明涉及数据获取和重建领域,具体是一种基于顶点特征的双法向网格模型光顺方法。
背景技术:
因工业ct数据在数据获取、存储以及传输过程中受到仪器设备、射线源噪声、重建算法以及人为等因素的影响,使得基于工业ct数据重建三角网格模型中不可避免的含有一些噪声信息。这些噪声的存在不仅降低了网格模型的可视化效果,而且给后续处理工作带来麻烦。尽管有不少方法已经获得了较为满意的光顺结果,但对非均匀采样、多尺度的三角网格模型光顺的同时,能有效保留网格模型的几何、细节特征仍是一个挑战性课题。
现有的网格光顺方法主要分为各向同性的光顺和各向异性的光顺。早期光顺的方法基本都是各向同性的,拉普拉斯法因运算速度快、实现简单、应用广泛成为这类方法的代表,并一直受研究人员的青睐:有学者提出了一种两步拉普拉斯算子对光顺后网格模型进行扩充;有学者采用几何流模拟法将这种方法扩展并将其应用到非均匀网格的光顺;有学者将几何流模拟进一步扩展,将其应用在各向异性的特征保留方面;有学者将上述几种方法设计一个带有增强和衰减选项的低通/高通滤波器框架用于对网格模型光顺。这些各向同性的方法能够获得稳定的光顺结果,然而,由于各向同性滤波的固有特性,不可避免会将网格模型中的部分高频特征滤除。
相比于各向同性的网格光顺方法,各向异性的方法在光顺网格模型的同时可更好的保留网格的几何、细节特征。有学者首先将图像处理领域的双边滤波算法扩展,采用一种快速的单步迭代方案将其用于网格模型的光顺,但该方法不能总准确的保留网格的细节特征。有学者采用两步骤的非迭代方案,将法向光顺和顶点更新考虑成一个全局优化问题,一定程度上提高了特征的保留情况,但算法速度较慢。有学者将双边滤波用于对面片法向滤波,再根据面片法向对顶点位置调整。有学者将双边滤波用于对面法向处理,并结合meanshift方法实现了一个网格模型的光顺框架,一定程度上提高了双边滤波算法的速度和光顺的准确性,但该框架并不是适用于所有的网格模型。
近年来,一些研究人员通过先计算三角形面片的法向场;再根据计算的面法向场更新顶点实现网格光顺。这种两阶段的光顺方法在处理含有一定噪声的网格模型上,能更好保留网格的几何、细节特征,但无法消除不同几何结构的相互影响,导致特征模糊,尤其是浅层特征的处理。另外,这类方法处理的基础是三角形的面法向比顶点法向可更好的描述网格模型的曲面变化,但在特征区域,顶点法向可更好的描述网格模型的局部细节特征。所以,在对非均匀、多尺度网格模型光顺时,仅根据面法向的几何信息指引顶点位置更新,将导致网格的细节特征模糊、形状扭曲或顶点偏移等不足。
技术实现要素:
本发明的目的是解决现有技术中存在的问题。
为实现本发明目的而采用的技术方案是这样的,一种基于顶点特征的双法向网格模型光顺方法,主要包括以下步骤:
1)利用张量投票理论,将网格模型中所有顶点划分为特征点和非特征点。
进一步,将三角网格模型中所有三角面片的顶点划分为特征点和非特征点的主要步骤如下:
1.1)计算三角网格模型中所有三角面片顶点的法向张量。
三角网格模型的第j个三角面片fj顶点vi的张量
顶点vi的法向张量
式中,nf(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均为法向张量的特征值。
特征平均值
式中,λ1、λ2和λ3均为法向张量的特征值。
1.3.2)设定顶点vi的一阶三角形邻域的初始尺度为r1。
1.3.3)顶点vi进行邻域扩展。记顶点vi的一阶三角形邻域的尺度扩展为rm时,顶点属性特征量为
1.3.4)根据顶点属性特征量为
其中,ω1和ω2为预设的阈值,且ω1<ω2。
1.3.5)在尺度rm上法向张量投票如下所示:
式中,
其中,权重函数
式中,m表示顶点vi的邻域的阶数。
1.3.6)根据张量投票结果,对三角网格模型边界进行光顺。
2)利用引导滤波构建面法向场。
基于引导滤波的面法向场构建的主要步骤如下:
2.1)记三角网格模型中面片fq方向朝外的单位法向nq如下所示:
式中,
2.2)计算三角网格模型中面片fq的单位法向滤波信号
式中,ak和bk为窗口ωk上的线性系数。gq为引导法向信号。
窗口ωk上的线性系数ak和bk分别如下所示:
式中,gp为引导法向信号。nq为三角网格模型中面片fq方向朝外的单位法向。
式中,
2.2)构建法向场。
2.2.1)确定所有含有面片fq的小块,记为集合
2.2.2)计算每个候选块
式中,
面块
式中,fd和fh为面块
面片块中边缘相对显著性
式中,
其中,内边的显著程度
式中,eq为入射面
2.2.3)从所有的候选块中选出一个使
式中,aq为面片fq的面积。
2.2.4)重复步骤2.2.1至步骤2.2.3,得到引导法向场{gq}。
2.2.5)计算引导法向场{gi}在边eq上的稳定性,即:
式中,
几何邻域由包含面片fq的最大面集合组成,且满足:i)对于每个属于nq的面片,它的法向与面片fq的法向夹角小于等于β。其中β为设定的参数,即
3)基于引导滤波构建的面法向场,利用对每个面相对的面的法向进行滤波,获得精确的面法向场。
4)分别计算三角网格模型中的特征点和非特征点的顶点法向,从而构建顶点的法向场。
网格顶点法向场构建的主要步骤如下:
4.1)记三角面片fo非特征顶点为vo,其法向
式中,
邻域三角面片的面积权重因子
式中,
4.2)记三角面片fo特征顶点为v'o,其法向
4.2.1)对邻域面片进行聚类优化。
聚类能量函数e如下所示:
式中,α为邻域面片种类。mγ为第γ类邻域。ρ(x')为密度函数。n为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,遍历每个特征点,从而生成特征顶点的法向场。
网格模型的非特征顶点vo的顶点和邻域面片集
5)根据面法向对非特征顶点位置进行更新。根据面法向和顶点法向对特征顶点位置进行迭代更新。
对顶点位置进行迭代更新的主要步骤如下:
5.1)当顶点为非特征点时,根据面法向
式中,vo(t)为顶点vo在第t次迭代时的值。no为与顶点vo对应的一阶邻域面片集合。
三角面片fo的中心
式中,
5.2)当顶点为特征点时,综合使用面法向
式中,
5.3)遍历网格模型中所有顶点,重复1和2对顶点更新。直到光顺处理后的网格模型与初始模型接近或前后两次网格模型的误差小于设定值,迭代结束。
6)根据顶点法向信息、面法向信息、非特征顶点位置和特征顶点位置,对网格模型进行光顺。
本发明的技术效果是毋庸置疑的。本发明在对网格模型去除噪声的同时,能更好的保留网格模型的细节特征,且光顺后网格模型的误差较小,能更精确的逼近实际模型。
附图说明
图1为fandisk加噪模型;
图2为双边滤波法下fandisk加噪模型的光顺结果;
图3为双边法向滤波法下fandisk加噪模型的光顺结果;
图4为基于优化的双法向滤波法下fandisk加噪模型的光顺结果;
图5为联合双边滤波法下fandisk加噪模型的光顺结果;
图6为本发明方法下fandisk加噪模型的光顺结果;
图7为支架加噪模型;
图8为双边滤波法下支架加噪模型的光顺结果;
图9为双边法向滤波法下支架加噪模型的光顺结果;
图10为基于优化的双法向滤波法下支架加噪模型的光顺结果;
图11为联合双边滤波法下支架加噪模型的光顺结果;
图12为本发明方法下支架加噪模型的光顺结果;
图13为气缸盖模型;
图14为拉普拉斯方法下气缸盖模型的光顺结果;
图15为双边滤波法下气缸盖模型的光顺结果;
图16为双边法向滤波法下气缸盖模型的光顺结果;
图17为联合双边滤波法下气缸盖模型的光顺结果;
图18为双边滤波+拉普拉斯方法下气缸盖模型的光顺结果;
图19为基于优化的双法向滤波法下气缸盖模型的光顺结果;
图20为本发明方法下气缸盖模型的光顺结果;
图21为化油器模型;
图22为拉普拉斯方法下化油器模型的光顺结果;
图23为双边滤波法下化油器模型的光顺结果;
图24为双边法向滤波法下化油器模型的光顺结果;
图25为联合双边滤波法下化油器模型的光顺结果;
图26为双边滤波+拉普拉斯方法下化油器模型的光顺结果;
图27为基于优化的双法向滤波法下化油器模型的光顺结果;
图28为本发明方法下化油器模型的光顺结果;
具体实施方式
下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
实施例1:
一种基于顶点特征的双法向网格模型光顺方法,主要包括以下步骤:
1)利用张量投票理论,将网格模型中所有顶点划分为特征点和非特征点。
进一步,将三角网格模型中所有三角面片的顶点划分为特征点和非特征点的主要步骤如下:
1.1)计算三角网格模型中所有三角面片顶点的法向张量。
三角网格模型的第j个三角面片fj顶点vi的张量
顶点vi的法向张量
式中,nf(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≈1,特征值λ2≈0且特征值λ3≈0的法向张量对应的顶点。平面点为非特征点。
突变边点为以特征值λ1和特征值λ2为主,即特征值λ1≈1,特征值λ2≈1且特征值λ3≈0的法向张量对应的顶点。突变边点为特征点。
拐角点为特征值λ1=λ2=λ3的法向张量对应的顶点。拐角点为特征点。
1.3)利用自适应尺度的张量投票法对顶点进行精确分类,即根据顶点属性特征量ωi的值对顶点进行精确分类,主要步骤如下:
1.3.1)计算顶点属性特征量ωi。顶点属性特征量ωi如下所示:
式中,λ1、λ2和λ3均为法向张量的特征值。
特征平均值
式中,λ1、λ2和λ3均为法向张量的特征值。
1.3.2)设定顶点vi的一阶三角形邻域的初始尺度为r1。
1.3.3)顶点vi进行邻域扩展。记顶点vi的一阶三角形邻域的尺度扩展为rm时,顶点属性特征量为
因法向张量谱在计算时使用的是一阶邻域三角面片的法向,没有考虑尺度信息,该准则仅能较好的检测出高质量网格模型中的特征点,而在处理含噪、非均匀采样(即小曲率区域是由较大三角形组成,大曲率区域由相对较小的三角形组成)的网格模型时,会出现将噪声顶点划分为特征顶点,特征点被漏检等情况。一般情况下,小尺度邻域细节确定较好,但对噪声敏感。随着尺度的增大,更多的邻域面片用于计算投票张量,这种大尺度的张量滤波不仅能够滤除噪声,而且能保留网格模型的细节。基于此,实施例1提出一种基于自适应尺度的张量投票法对顶点进行分类,以期可在特征点和非特征点之间取得平衡。
因工业ct体数据在采集、存储和传输阶段受各种因素的影响,不可避免的给重建的三角网格模型引入了噪声,且生成的网格模型大都是非均匀采样。所以,本实施例采用基于自适应尺度的张量投票法对顶点进行分类。
1.3.4)根据顶点属性特征量为
其中,ω1和ω2为预设的阈值,且ω1<ω2。
1.3.5)在尺度rm上法向张量投票如下所示:
式中,
其中,权重函数
式中,m表示顶点vi的邻域的阶数。
1.3.6)根据张量投票结果,对三角网格模型边界进行光顺。
2)利用引导滤波构建面法向场。
引导滤波是一种新的图像滤波方法,它的输出是引导图像的一个局部线性变换,跟双边滤波类似具有较好的边缘保持性能且不会产生梯度反转现象。而且,在引导图像辅助下,引导滤波的输出比输入图像具有更多的结构信息。因引导滤波的算法简单、有效且特征保持较好,已在图像光顺/增强、闪光/非闪光图像、图像抠图/渐变处理、去模糊、上采样、光流估计、图像分割、显著性检测以及光照和绘制等方面得到了广泛应用。
引导滤波算法的关键是其被看成引导图像和输出图像之间的一个局部线性模型。
引导滤波中,滤波输出优劣的关键是引导信号的构建,引导信号与原始信号(噪声干扰前的输入信号)越接近,滤波效果越好。同样,网格模型光顺中引导法向对面法向滤波来说,也非常重要。如果网格模型中不存在噪声,对于引导滤波来说,面片自身的法向{ni}就是很好的引导法向。若网格模型中噪声较大时,面片自身的法向则无法正确描述网格模型的形状,甚至用其作为引导法向会导致错误的结果。所以,在引导滤波网格光顺算法中,引导法向的正确构建是关键。
基于引导滤波的面法向场构建的主要步骤如下:
2.1)记三角网格模型中面片fq方向朝外的单位法向nq如下所示:
式中,
2.2)计算三角网格模型中面片fq的单位法向滤波信号
式中,ak和bk为窗口ωk上的线性系数。gq为引导法向信号。
窗口ωk上的线性系数ak和bk分别如下所示:
式中,gp为引导法向信号。nq为三角网格模型中面片fq方向朝外的单位法向。
式中,
2.2)构建法向场。
2.2.1)确定所有含有面片fq的小块,记为集合
2.2.2)计算每个候选块
式中,
面块
式中,fd和fh为面块
面片块中边缘相对显著性
式中,
其中,内边的显著程度
式中,eq为入射面
2.2.3)从所有的候选块中选出一个使
式中,aq为面片fq的面积。
2.2.4)重复步骤2.2.1至步骤2.2.3,得到引导法向场{gq}。
2.2.5)计算引导法向场{gi}在边eq上的稳定性,即:
式中,
几何邻域由包含面片fq的最大面集合组成,且满足:i)对于每个属于nq的面片,它的法向与面片fq的法向夹角小于等于β。其中β为设定的参数,即
2.2.6)根据实际需求,决定删除或不删除稳定性差的引导法向。
3)基于引导滤波构建的面法向场,利用对每个面相对的面的法向进行滤波,获得精确的面法向场。
引导滤波原理:
1)记输入图像p为三角网格模型的每个三角面片。g为引导图像,则引导滤波的输出qi如下所示:
式中,gi为引导图像。ωk为中心像素为k、半径为r的矩形窗口;ak和bk为窗口ωk上的线性系数。
窗口ωk上的线性系数ak和bk分别如下所示:
式中,
式中,ak为窗口ωk上的线性系数。
2)计算引导滤波的输出平均值
式中,
包含像素i的所有窗口的平均系数
式中,ωk为中心像素为k、半径为r的矩形窗口。ak为窗口ωk上的线性系数;
式中,ωk为中心像素为k、半径为r的矩形窗口。bk为窗口ωk上的线性系数。
3)结合公式,引导滤波的输出qi如下所示:
式中,wij(g)为权重函数。
其中,权重函数wij(g)如下所示:
4)分别计算三角网格模型中的特征点和非特征点的顶点法向,从而构建顶点的法向场。
网格顶点法向场构建的主要步骤如下:
4.1)记三角面片fo非特征顶点为vo,其法向
式中,
邻域三角面片的面积权重因子
式中,
4.2)记三角面片fo特征顶点为v'o,其法向
4.2.1)对邻域面片进行聚类优化。
聚类能量函数e如下所示:
式中,α为邻域面片种类。mγ为第γ类邻域。ρ(x')为密度函数。n为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,遍历每个特征点,从而生成特征顶点的法向场。
网格模型的非特征顶点vo的顶点和邻域面片集
5)根据面法向对非特征顶点位置进行更新。根据面法向和顶点法向对特征顶点位置进行迭代更新。
对顶点位置进行迭代更新的主要步骤如下:
5.1)当顶点为非特征点时,根据面法向
式中,vo(t)为顶点vo在第t次迭代时的值。no为与顶点vo对应的一阶邻域面片集合。
三角面片fo的中心
式中,
5.2)当顶点为特征点时,综合使用面法向
式中,
5.3)遍历网格模型中所有顶点,重复1和2对顶点更新。直到光顺处理后的网格模型与初始模型接近或前后两次网格模型的误差小于设定值,迭代结束。
6)根据顶点法向信息、面法向信息、非特征顶点位置和特征顶点位置,对网格模型进行光顺。
三角网格模型的面法向场描述的是网格的全局几何变化特征,顶点法向场描述的是网格的局部细节特征,尽管两种法向场包含的几何信息有时会有重复,尤其是在网格的扁平区域,描述的几何特征几乎一致。但在实际应用中,要处理的网格模型经常是分段平滑的(存在特征区域),面法向和顶点法向包含的几何信息不再相似,此时再仅用其中一个法向信息指引网格模型的顶点位置更新,将导致网格模型的细节特征模糊、形状扭曲。基于此,本实施例将顶点法向和面法向信息结合,提出一种新的基于顶点特征分类的双法向算法对网格模型光顺,以期可在光顺的同时,更好的保留网格模型的几何、细节特征。
实施例2:
一种基于顶点特征的双法向网格模型光顺的实验,主要包括以下实验:
i)确定网格模型为fandisk加噪模型,如图1所示。分别采用双边滤波算法、双边法向滤波法、基于优化的双法向滤波、联合双边滤波和本发明方法进行对比,如图2至6所示。
ii)确定网格模型为支架加噪模型,如图7所示。分别采用双边滤波算法、双边法向滤波法、基于优化的双法向滤波、联合双边滤波和本发明方法进行对比,如图8至12所示。
iii)确定网格模型为气缸盖模型,如图13所示。分别采用拉普拉斯方法、双边滤波算法、双边法向滤波法、联合双边滤波、双边滤波+拉普拉斯方法、基于优化的双法向滤波和本发明方法进行对比,如图13至19所示。
iv)确定网格模型为化油器模型,如图20所示。分别采用拉普拉斯方法、双边滤波算法、双边法向滤波法、联合双边滤波、双边滤波+拉普拉斯方法、基于优化的双法向滤波和本发明方法进行对比,如图21至28所示。为获得客观的比较结果,使用5种测量标准评价各方法光顺的效果:
i)sbox:模型最小包围盒尺寸。
ii)esur:光顺模型与实际模型之间的表面积误差。
iii)evol:光顺模型与实际模型之间的体积误差。
iv)dmax:光顺后模型各顶点与实际模型之间最大距离。
v)dave:光顺后模型各顶点与实际模型之间的平均距离。
表1为化油器和气缸盖模型的初始数据。由表2中数据可知,本文方法与基于优化的双法向滤波及联合双边滤波算法可更好的逼近原模型,且体积误差、表面积误差都较小。无论是化油器模型还是气缸盖模型,基于优化的双法向滤波误差最小,本文方法误差与其相近,但本文方法在最大距离误差和平均误差指标上占有优势。另外,基于优化的双法向滤波法是将顶点的更新以能量函数的形式表示,对能量函数寻优的过程较慢,算法的计算速度较慢。
表1模型初始数据
表2各光顺方法的性能比较
本发明针对现有网格模型光顺方法在光顺和特征保留两方面难以平衡的问题,将反映网格模型全局几何变化的面法向场和反映网格模型细节特征的顶点法向场结合,提出一种基于顶点特征选择的双法向网格模型光顺方法。实验结果表明,相比于现有网格模型的光顺方法,本发明可在对网格模型去除噪声的同时,能更好的保留网格模型的细节特征,且光顺后网格模型的误差较小,能更精确的逼近实际模型。