首页> 中国专利> 基于TV和各向异性Laplacian正则项的三角网格滤波方法

基于TV和各向异性Laplacian正则项的三角网格滤波方法

摘要

本发明涉及了基于TV和各向异性Laplacian正则项的三角网格滤波方法,该方法首先提出了一个作用于网格面法向量域的变分模型。该模型包括全变分和各向异性拉普拉斯两个正则项,不仅能恢复三角网格上的尖锐特征,还能很好地处理非线性光滑区域;其次,采用增广拉格朗日方法求解该变分模型,获得优化的面法向量信息;最后,根据优化的面法向量,采用顶点更新算法快速获得滤波后的三角网格模型。与现有技术相比,本发明算法具有效率较高,能显著提高滤波后三角网格的质量,同时保护尖锐几何特征以及恢复非线性光滑区域,达到较理想的滤波效果等优点。

著录项

  • 公开/公告号CN108492370A

    专利类型发明专利

  • 公开/公告日2018-09-04

    原文格式PDF

  • 申请/专利权人 中国地质大学(武汉);

    申请/专利号CN201810174194.5

  • 申请日2018-03-02

  • 分类号

  • 代理机构武汉知产时代知识产权代理有限公司;

  • 代理人冯必发

  • 地址 430074 湖北省武汉市洪山区鲁磨路388号

  • 入库时间 2023-06-19 06:25:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-22

    授权

    授权

  • 2018-09-28

    实质审查的生效 IPC(主分类):G06T17/20 申请日:20180302

    实质审查的生效

  • 2018-09-04

    公开

    公开

说明书

技术领域

发明涉及计算机图形处理技术领域,尤其涉及了一种基于全变分(TV)模型和各向异性拉普拉斯(Laplacian)正则项的三角网格滤波方法。

背景技术

随着传感器技术的进步,各式各样的扫描设备在三维重建、VR/AR等领域得到了广泛的应用,同时也产生了大量的三角网格模型。然而,在扫描和重建过程中,三角网格模型会不可避免地被噪声污染。由于噪声不仅降低模型本身的视觉质量,而且会影响到后续网格处理效果,因而不论从可视化角度还是为了便于进一步网格处理,都需要对三角网格模型进行滤波。三角形网格滤波中的关键问题是在去除噪声的同时最大程度上恢复尖锐特征和非线性光滑区域。

目前主要的三角网格滤波方法包括基于Laplacian的方法、基于稀疏优化的方法以及数据驱动的方法等。这几类方法虽然能在一定程度上去除噪声,然而它们都存在一些弊端和局限性,主要体现在如下几个方面:

基于Laplacian的方法可以分为各向同性和各向异性两大类。各向同性的方法简单且效率较高,但由于没有考虑几何特征而会产生特征模糊;各向异性的方法能有效地处理几何特征,但对噪声的鲁棒性不足;

基于稀疏优化的方法主要有基于TV、等模型的滤波方法。这类方法利用网格上某种几何量的稀疏性有效地消除噪声,然而不可避免会地在非线性光滑曲面区域中产生阶梯现象;

数据驱动的方法理论上可以很好地消除各种类型的噪声并且恢复不同尺度的几何特征,然而它们的性能依赖于训练集的完备程度,且耗时较大。

发明内容

为了克服上述方法存在的缺陷,本发明提供一种可以同时恢复尖锐特征和非线性光滑区域的三角网格滤波方法,适用于CAD模型、non-CAD模型以及扫描模型等。

本发明解决其技术问题所采用的技术方案是:构造一种基于TV和各向异性Laplacian正则项的三角网格滤波方法,首先对三角网格面法向量进行滤波,然后根据优化后的法向量更新顶点得到滤波后的网格。

优选地,在本发明的基于TV和各向异性Laplacian正则项的三角网格滤波方法中,该方法具体包括:

1)通过计算几何算法库(CGAL)获取输入三角网格模型的顶点、边、面的索引结构;

2)根据拓扑关系,计算并存储每个顶点的一邻域顶点和一邻域面,以及每个面的一邻域面;

3)计算每个面法向量,具体为:其中,(vi,vj,vk)是三角形τ中逆时针方向排列的三个顶点;

4)根据步骤3)获取的法向量设定优化目标,其形式为:

其中,Ef(N)为保真项,Etv(N)为TV项,Ewlap(N)为各向异性Laplacian项,α、β为优化参数,

5)采用增广拉格朗日法求解4)中的优化目标,得到滤波后的法向量;

6)根据步骤1)中获取的顶点和步骤5)中获取的法向量,通过顶点更新算法得到滤波后的三角网格。

优选地,在本发明的基于TV和各向异性Laplacian正则项的三角网格滤波方法中,步骤4)中优化目标的保真项、TV项和各向异性Laplacian项分别为:Ef(N)=∑τSτ||Nτ-Nin||2,其中Sτ是三角形τ的面积,Nτ为三角形τ的法向量;其中le是边e的长度,为法向量域的梯度算子;其中,D1(τ)是三角形τ的一邻域面,为权重函数,为归一化因子。

优选地,在本发明的基于TV和各向异性Laplacian正则项的三角网格滤波方法中,步骤5)包括:通过增广拉格朗日优化算法,对优化目标进行变量分离,然后针对每个子优化问题分别迭代求解。

优选地,在本发明的基于TV和各向异性Laplacian正则项的三角网格滤波方法中,步骤5)中包括:先忽略法向量正交约束问题求解优化法向量,然后将结果投影到单位球表面。

优选地,在本发明的基于TV和各向异性Laplacian正则项的三角网格滤波方法中,步骤6)中顶点更新算法模型为其中(vi,vj)是三角形τ的顶点。

优选地,在本发明的基于TV和各向异性Laplacian正则项的三角网格滤波方法中,步骤6)采用梯度下降法,并设置每次下降预设步长来解算顶点更新算法模型,得到滤波后的三角网格模型。

优选地,在本发明的基于TV和各向异性Laplacian正则项的三角网格滤波方法中,所述预设步长为1/18。

本发明与现有技术相比,其有益效果如下几点:

1.本发明事先存储所有顶点、面的邻域信息,避免冗余的邻域搜索操作,可以很大程度上减少计算量,提高算法效率;

2.本发明统一采用Eigen库中的高效、紧凑的数据结构表示顶点、法向量等几何量,可直接使用这些几何量进行稀疏系统求解等代数运算,避免了繁杂的数据类型转换,同时也便于后续算法的扩展与维护;

3.本发明不仅能有效地去除三角网格中的噪声,还能很好地恢复几何特征和非线性光滑区域,适用于更加广泛的三角网格模型。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1为本发明方法的技术流程图;

图2(a)为三角形τi的一邻域面D1i)的邻域示意图,图2(b)为三角形顶点vi的一邻域顶点N1(vi)的邻域示意图;

图3(a)为CAD噪声模型图,图3(b)为本发明方法在CAD模型上的滤波结果图;

图4(a)为non-CAD噪声模型图,图4(b)为本发明方法在non-CAD模型上的滤波结果图;

图5(a)为扫描模型图,图5(b)为本发明方法在扫描模型上的滤波结果图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

如图1所示,本实施示例提供一种基于TV模型和各向异性Laplacian算子的三角网格滤波方法,该方法包括以下步骤:

1)利用计算几何算法库(CGAL)获取三角网格模型的顶点、边、面,分别表示为{vi:i=1,2,…,V}、{ei:i=1,2,…,E}、{τi:i=1,2,…,T},其中V、E和T分别为顶点、边和面的数量;

2)根据拓扑关系,计算并存储每个顶点的一邻域顶点和一邻域面,以及每个面的一邻域面;

3)计算每个面法向量,具体为:其中,(vi,vj,vk)是三角形τ中逆时针方向排列的三个顶点;

4)根据步骤3)中的法向量设定优化目标为:

其中,Ef(N)为保真项,Etv(N)为TV项,Ewlap(N)为各向异性Laplacian项,α、β为优化参数,

所述保真项为:Ef(N)=∑τSτ||Nτ-Nin||2,其中Sτ是三角形τ的面积,Nτ为三角形τ的法向量。

所述TV项为:其中le是边e的长度,为法向量域的梯度算子。

所述各向异性Laplacian项为:

其中,D1(τ)是如图2所示的三角面τ的一邻域面,为权重函数,为归一化因子。

5)采用增广拉格朗日方法求解4)中的优化目标,得到优化的法向量,具体步骤为:

51)引入辅助变量并定义4)中优化目标的增广拉格朗日函数:

其中,Rtv(p)=∑ele||pe||,是拉格朗日乘子,r为惩罚因子,

52)固定辅助变量p,忽略非线性项ψ(N),优化法向量N:

然后将优化结果进行归一化处理。此为二次优化问题,其一阶最优性条件:A+βLTSL=b,其中,它们的元素分别为:

其中,τj<D1(i),e<τi∩τj。由于每个法向量有三个通道,该一阶最优条件需要分别在三个通道内建立稀疏线性系统并通过Eigen库中的LDLT方法求解。

53)固定法向量N,优化辅助变量p:

由于p中的每个元素Pe独立,该优化问题可以被分解,然后逐一计算。对于任意的Pe,求解以下优化问题:

它的封闭解为:其中

54)更新拉格朗日乘子:

55)判断优化参数是否达到收敛条件,若是则输出优化的法向量,若否则返回至步骤52;

56)上述收敛条件为:

6)根据步骤1)中获取的顶点和优化的法向量,通过顶点更新算法得到滤波后的三角网格,具体步骤为:

61)设定顶点优化目标为:

其中,Nτ是滤波后三角形τ的法向量,(vi,vj)是三角形τ中的两个顶点。

62)计算顶点优化目标关于顶点vi的梯度信息:

其中,N1(vi)为顶点vi的1-ring顶点,如图2(b)所示。

63)根据1)中的顶点和62)中的梯度信息,采用梯度下降法(步长为1/18)求解顶点优化目标,得到滤波后的三角网格。

采用C++语言实现上述算法,代码环境配置具体为:Microsoft VisualStudio2010;CGAL-4.9;Eigen-3.2.8。参数格式为:

ICNF<input><output>(<α><β><r><NITRS><VITRS>)其中,<input><output>分别为输入的噪声网格和输出的结果网格,(<α><β><r><NITRS><VITRS>)为算法运行参数。

图3、图4及图5分别展示了本发明方法在CAD模型、non-CAD模型和扫描模型上的滤波效果,表明了该方法能有效地消除三角网格上的噪声,同时保护网格曲面上的几何特征及非线性光滑曲面,显著地提高了三角网格的质量。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号