网格降噪的制作方法

文档序号:12906800阅读:240来源:国知局
网格降噪的制作方法与工艺



背景技术:

三维(3d)扫描仪和深度相机的出现极大地简化了几何建模过程,并且使得人们能够容易地从真实世界获得3d形状。与由艺术家人工创建的3d网格(mesh)不同的是,经扫描的3d网格中的噪声通常比较显著。这里所说的“噪声”是指3d网格在被扫描或摄取的过程中所受到的随机信号干扰。造成这些噪声的原因是多方面的,诸如有限的设备精度、真实世界物体的材料属性、重建过程中的误差,等等。实际上,在3d建模和处理的各个阶段,都可能存在降低网格噪声的需求。因此,从经扫描的网格中去除噪声成为3d几何处理中的重要任务。



技术实现要素:

根据本文所描述主题的实现,提出了一种基于数据驱动的网格降噪的方案。根据该方案,对于包括面片的网格,获取网格中的第一面片的噪声法向和真实法向。然后,基于噪声法向,从网格中的第一面片的多个邻近面片确定第一面片的第一几何特征。接着,基于第一几何特征和真实法向,确定第一几何特征到第一面片的真实法向的映射,以用于对网格降噪。

提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实现中将被进一步描述。发明内容部分无意标识所要求保护的主题的关键特征或主要特征,也无意限制所要求保护的主题的范围。

附图说明

图1示出了能够在其中实施本文所描述主题的实现的环境100的 框图;

图2示出了根据本文所描述主题的实现的用于对网格降噪的方法200的流程图;

图3示出了根据本文所描述主题的实现的用于生成回归树的方法300的流程图;以及

图4示出了根据本文所描述主题的实现的用于生成级联的回归树的方法400的流程图;

图5示出了根据本文所描述主题的实现的用于对网格降噪的方法500的流程图;

图6示出了根据本文所描述主题的实现的用于对网格降噪的装置600的框图;以及

图7示出了其中可以实施本文所描述主题的一个或多个实现的示例计算系统/服务器700的框图。

在附图中,相同或相似的参考符号被用于指示相同或相似的元素。

具体实施例

现在将参照若干示例实现来论述本文所描述主题。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本文所描述主题,而不是暗示对本主题的范围的任何限制。

如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。除非另外地明确指出,术语的定义贯穿说明书是一致的。

此外,如本文中所使用的,术语“网格(mesh)”指代3d几何模型的一种表示方式。可以对处于3d坐标系中的物体进行点采样,这些采样点可以按一定顺序被连接成一系列的小平面(三角形或者共面 的四边形、五边形等),这些小平面也被称为面片(facet)。这样,经采样的物体可以由许多的面片组成,如同网一样,因此被称为网格。在本公开的上下文中,将主要结合网格来阐述本文所描述主题的实现的原理和思想。除了网格之外,3d几何模型还可以用点云(pointcloud)来表示。点云是以离散采样点为基元的几何模型。可以利用任何目前已知或者将来开发的方法将点云重建为网格。例如,可以利用点云中若干邻近的采样点来构造小平面(类似于网格中的面片)。因此,本文所描述主题的实现将同样适用于点云。

如以上所描述的,从经扫描的网格中去除噪声是几何处理中的重要任务。网格降噪的根本目标是要从物体的带有噪声的表面中恢复其真实(ground-truth)的表面。现有的降噪算法大多数是基于滤波器的方法。例如,可以设计诸如双边滤波器的具体滤波器,并且应用试错法(trialanderror)来选择滤波器的参数以达到令人满意的降噪效果。然而,这整个过程是繁琐的。此外,现有的降噪算法通常假设噪声的统计特征。例如,假设噪声是类高斯分布的(gaussian-like),这在真实数据中不一定是正确的。对于来自多种因素(诸如扫描设备、扫描环境、物体材料等)的噪声而言,噪声的特征是复杂的。因此,假设噪声的统计特征的现有降噪算法不能够有效地去除这些噪声。

为了解决上述问题以及其他潜在问题中的一个或者多个,根据本文所描述主题的示例实现,提出了一种用于对网格降噪的方案。如以上所描述的,网格可以由许多面片组成,每个面片可以具有垂直于该面片的直线(也被称为“法线”),该直线的方向可以被称为“法向(normal)”。因此,对网格降噪的过程可以包括将网络中的一系列面片的带有噪声的法向(以下也称为“噪声法向”)恢复为对应的真实法向(ground-truthnormal),以及基于这些真实法向来更新网格的顶点位置的过程。

图1示出了能够在其中实施本文所描述主题的实现的环境100的框图。要理解的是,仅出于示例性的目的描述环境100的结构和功能而不是暗示对于本文所描述主题的范围的任何限制。本文所描述主题 可以被体现在不同的结构和/或功能中。

如图1所示,环境100总体上可以包括模型训练系统110和模型应用系统120。根据本文所描述主题的实现,对网格降噪的方案可以包括两个阶段:模型训练阶段和模型应用阶段。

在模型训练阶段中,模型训练系统110可以被配置为接收训练数据130,并且基于训练数据130来生成模型140。训练数据130可以是由网格中的一系列面片的噪声法向和对应的真实法向所组成的数据集合。可以通过模型训练系统110基于训练数据130来生成用于对网格降噪的模型140。模型140可以表示从面片的噪声法向到真实法向的映射。

在模型应用阶段中,模型应用系统120可以被配置为接收模型140和输入数据150,并且基于模型140和输入数据150来生成输出数据160。输入数据150可以表示网格的一组噪声法向。模型应用系统120可以利用模型140来将该组噪声法向映射到对应的一组真实法向,即输出数据160。基于输出数据160,可以更新网格的顶点位置,从而实现对网格的降噪。

图2示出了根据本文所描述主题的实现的用于对网格降噪的方法200的流程图。例如,方法200可以由如图1所示的模型训练系统110来执行。应当理解的是,方法200还可以包括未示出的附加步骤和/或可以省略所示出的步骤。本文所描述主题的范围在此方面不受限制。

方法200开始于步骤210。在步骤210中,由模型训练系统110获取网格中的一个或多个面片的噪声法向和真实法向。为了描述方便起见,将在此处理的面片称为“第一面片”。第一面片的噪声法向和真实法向可以构成如图1所示的训练数据130。例如,可以基于用户输入的方式来获得训练数据130,也可以通过数据合成的方式来获得训练数据130。此外,还可以从任何目前已知或将来开发的设备中获得训练数据130。例如,可以利用较低精度的扫描设备来获得第一面片的噪声法向并且利用较高精度的扫描设备来获得第一面片的真实法向。本文所描述主题的范围在此方面不受限制。

接下来,方法200进行到步骤220。在步骤220中,由模型训练系统110基于噪声法向,从网格中的第一面片的多个邻近面片确定第一面片的第一几何特征。在一些实现中,“邻近面片”可以包括与第一面片共用顶点和/或边的面片。在一些实现中,“邻近面片”可以包括其几何中心(centroid)与第一面片的几何中心之间的距离小于预定阈值的面片。此外,在某些实现中,“邻近面片”可以包括网格中的所有面片。在某些实现中,可以对第一面片与多个邻近面片之间的法向变化和位置变化进行滤波,以生成表示第一几何特征的特征向量。例如,可以基于滤波参数的影响范围来选择多个邻近面片。

以3d三角网格(即,网格中的每个面片为三角面片)为例,网格可以被表示为m=(v,f),其中v={vi}表示顶点的集合并且f={fi}表示面片的集合。面片fi的几何中心可以被表示为ci,并且面片fi的法向可以被表示为ni。

在一些实现中,可以对第一面片与多个邻近面片之间的法向变化和位置变化进行双边滤波来生成表示第一几何特征的特征向量。例如,双边滤波器(bilateralfilter)的第(k+1)次迭代可以被定义如下:

其中nj表示面片fj的初始噪声法向。表示经过k次迭代的面片fi的经滤波的法向,当k为0时,表示面片fi的初始噪声法向。aj表示面片fj的面积。在公式(1)(和以下的所有公式)中,运算符“·”表示乘积。ws和wr是分别表征一对面片之间的位置相似性和法向相似性的单调递减的加权函数。例如,可以使用高斯函数wσ(x)=exp(-x2/(2σ2)),则ws和wr的标准差分别为σs和σr。是归一化项。当适当地设置σs、σr和迭代数目时,可以在保留网格的尖锐特征的同时对法向上的噪声进行有效过滤。可以将公式(1)表示为以绑定参数σs和σr,从而可以获得面片fi上的特征向量si。也即,si可以利用如下的公式(2)来表示:

其中是包含各种高斯推导的参数集,l表示参数集p中所包含的参数对(σs,σr)的数目。利用公式(2)来表示的si也可以被称为经双向滤波的法向描述符(bilateralfilterednormaldescriptor,b-fnd)。

备选地或附加地,在一些实现中,为了应对较高的噪声水平,可以对第一面片与多个邻近面片之间的法向变化和位置变化进行引导滤波来生成表示第一几何特征的特征向量。引导滤波器(guidedfilter)也被称为联合双边滤波器(jointbilateralfilter)。由于引导滤波器向双边滤波器中引入可靠引导(guidance),因此对于高水平噪声更鲁棒。例如,引导滤波器可以被定义如下:

其中g(·)表示预定义的面片法向的引导。例如,在一个实施例中,可以使用高斯法向滤波器作为引导,即其中为归一化项。

可以将公式(3)表示为从而可以获得面片fi上的特征向量si。也即,si可以利用如下的公式(4)来表示:

利用公式(4)来表示的si也可以被称为经引导滤波的法向描述符(guidedfilterednormaldescriptor,g-fnd)。针对具有较大误差的网格而言,g-fnd在区别主要特征中比b-fnd更鲁棒,而b-fnd对于较弱的特征比g-fnd更敏感。

应当理解,除了上述的双边滤波器和引导滤波器之外,还可以利用其他鲁棒的滤波器来生成表示第一几何特征的特征向量。本文所描 述主题的范围在此方面不受限制。

通过收集网格中的所有面片的法向描述符,可以获得特征向量集合(表示为ω)。ω中的特征向量si包含一系列的经滤波的面片法向。附加地或者备选地,可以对ω中的特征向量进行进一步的处理。例如,可以对ω中的单个特征向量si进行对齐。假设si包含d个经滤波的法向:m1,m2,…,md。可以构建法向张量矩阵ti的三个特征向量定义了从si中的经滤波的面片法向所处的局部坐标系到世界坐标系(即,网格所处的坐标系)的旋转矩阵ri。通过将每个mj乘以特征向量si可以被对齐。在ω中的所有特征向量被对齐之后,可以执行主成分分析(principlecomponentanalysis,pca)以降低特征向量的维度。特征向量的维度用于指代特征向量中所包含的项的数目(例如,d)。主成分的数目可以通过保留特征能量的至少90%来确定,例如,可以被确定为3。此外,还可以使用聚类算法对经降维或未降维的特征向量进行聚类。

接下来,方法200进行到步骤230。在步骤230中,由模型训练系统110基于第一几何特征和真实法向,确定第一几何特征到第一面片的真实法向的映射,以用于对网格降噪。

在一些实现中,可以利用回归分析(regressionanalysis)来确定第一几何特征到第一面片的真实法向的映射。回归分析是用于确定两种或两种以上变量间的依赖关系的一种方法。例如,回归分析可以通过规定面片的几何特征和真实法向之间的因果关系来建立回归模型,并且根据训练数据来求解模型的各个参数,然后评价回归模型是否能够很好地拟合训练数据。

作为示例,在一些实现中,可以通过生成表示该映射的回归树来确定第一几何特征到第一面片的真实法向的映射。在此方面,图3示出了根据本文所描述主题的实现的用于生成回归树的方法300的流程图。方法300可以视为方法200中的步骤230的一种实现,并且例如可以由如图1所示的模型训练系统110来执行。

在步骤310,在回归树的每个节点处,利用与该节点相关联的训 练数据集来训练第一回归模型。例如,在回归树的根节点处,训练数据集可以包括网格中的多个面片中的每个面片的第一几何特征和真实法向。根节点处的训练数据集可以被表示为其中si表示面片fi的特征向量,表示面片fi的真实法向,表示训练数据集的一个样本,并且n表示训练数据集中的样本的数目。

例如,在某些实施例中,可以选择单隐层前馈神经网络(single-hiddenlayerfeedforwardnetwork,slfn)模型来作为回归模型,并且可以基于极限学习机(extremelearningmachine,elm)技术来训练该回归模型。elm的本质在于隐藏层的权重可以被随机生成而无须调整。针对具有n个样本的训练数据集,具有l个隐藏节点的elm可以利用如下的公式(5)来表示:

其中i=1,…,n。表示从回归中所预期的面片法向,其是一个三维向量。输出权重向量中的每个权重与的一个维度相关联。θ(aj,bj,si)表示隐藏节点的激活函数。例如,θ(aj,bj,si)可以被设置为s型函数(sigmoidfunction),并且可以利用如下的公式(6)来表示:

其中aj和bj为分别从间隔[-1,1]m和[0,1]随机选择的隐藏节点权重,m是向量si的维数。输出权重向量在elm中是未知的,其可以通过求解lp范数正则化最小二乘问题来确定。可以利用如下的公式(7)来表示:

可以利用如下的公式(8)来表示回归的成本函数:

例如,可以将公式(7)和公式(8)中的范数p设置为1,从而通过将优化为以l1范数定义的误差来减小训练数据集中的离群值所带来的负面影响。迭代重加权最小二乘法可以被应用以找到 输出权重的最小值,其可以被表示为如下的公式(9):

其中l表示迭代次数。一旦输出权重已知,则elm可以预测去除噪声的面片法向。

在某些实施例中,可以在回归树的每个节点处,基于elm技术来训练第一回归模型,第一回归模型的拟合误差例如可以根据上述公式(8)被计算为e0。

在步骤320,从训练数据集获得多个训练数据子集。例如,如上所述,可以利用pca将训练数据集划分为多个簇。当然,任何其他适当的技术或算法均可与在此描述的主题的实施例结合使用,用于将训练数据集划分为多个簇。例如,目前已知或者将来开发的聚类方法可被使用。

在步骤330,利用多个训练数据子集来训练多个第二回归模型。例如,可以针对多个训练数据子集基于神经网络技术来训练多个第二回归模型。训练第二回归模型的方式与以上在步骤310中所描述的训练第一回归模型的方式相同,此处不再作进一步的详细描述。

接下来,方法300进行至步骤340。在步骤340,响应于多个第二回归模型的拟合误差之和小于预定误差阈值,生成节点的多个子节点。例如,如果多个第二回归模型的拟合误差之和小于e0的2%,则可以生成节点的多个子节点。每个子节点与一个训练数据子集相关联。

接下来,在步骤350中,确定回归树的叶节点(即,不具有子节点的节点)数目是否达到预定阈值。例如,预定阈值可以被设置为8。当回归树的叶节点数目大于或等于8时,该回归树停止生长(即,方法300结束);当回归树的叶节点数目小于8时,迭代地执行方法300的步骤310至350,直到回归树的叶节点数目达到8。

应当理解,除了上述的slfn模型之外,还可以利用其他模型作为回归模型。本文所描述主题的范围在此方面不受限制。

在一些实现中,可以通过生成级联的回归树来确定第一几何特征到第一面片的真实法向的映射。通过多个回归树的级联,能够实现更 小的拟合误差(即,更低的成本函数值)。在此方面,图4示出了根据本文所描述主题的实现的用于生成级联的回归树的方法400的流程图。方法400可以视为方法200中的步骤230的一种实现,并且例如可以由如图1所示的模型训练系统110来执行。

在步骤410,基于第一几何特征和真实法向,生成表示映射的第一回归树,第一回归树将第一几何特征映射到表示第一面片的真实法向的第一法向。例如,可以利用结合图3来描述的方法300来生成第一回归树。

在步骤420,基于第一法向,确定第一面片的第二几何特征。例如,可以利用与结合图2来描述的方法200的步骤220相同的方式来确定表示第一面片的第二几何特征的特征向量。

接下来,方法400进行至步骤430。在步骤430,基于第二几何特征和真实法向,生成与第一回归树级联的第二回归树。例如,可以利用结合图3来描述的方法300来生成第二回归树。例如,第二回归树可以将第二几何特征映射到表示第一面片的真实法向的第二法向,并且第二法向与真实法向之间的误差小于第一法向与真实法向之间的误差。

应当理解,为了进一步降低拟合误差,还可以进一步生成与第二回归树级联的第三回归树、与第三回归树级联的第四回归树等等。所生成的经级联的回归树的数目例如可以由预定的拟合误差的阈值来决定,本文所描述主题的范围在此方面不受限制。此外,为了处理具有较大误差的训练数据集,例如,可以使用g-fnd来训练第一回归树,以使得第一回归树的输出具有较小误差。然后,可以基于第一回归树的输出来提取b-fnd。由于b-fnd对于网格的尖锐特征更敏感,因此可以使用b-fnd来训练与第一回归树级联的第二回归树。

因此,通过以上结合图2至图4所描述的方法200、300和/或400,在模型训练阶段中,模型训练系统110已经基于训练数据130生成了模型140(例如,通过单个回归树或者级联的多个回归树表示)。在模型应用阶段中,模型应用系统120可以利用所生成的模型140来将表 示网格的一组噪声法向的输入数据150映射到表示对应的一组真实法向的输出数据160。

图5示出了根据本文所描述主题的实现的用于对网格降噪的方法500的流程图。例如,方法500可以由如图1所示的模型应用系统120来执行。应当理解的是,方法500还可以包括未示出的附加步骤和/或可以省略所示出的步骤。本文所描述主题的范围在此方面不受限制。

在步骤510,由模型应用系统120获取网格中的一个或多个面片的噪声法向。为了描述方便起见,将在此处理的面片称为“第二面片”。第二面片的噪声法向可以组成如图1所示的输入数据150。

接下来,方法500进行至步骤520。在步骤520,基于第二面片的噪声法向,从网格中的第二面片的多个邻近面片确定第二面片的第三几何特征。例如,可以利用与结合图2来描述的方法200的步骤220相同的方式来确定表示第二面片的第三几何特征的特征向量,此处不再作进一步的详细描述。

然后,在步骤530,基于第三几何特征和映射,确定第二面片的真实法向。第二面片的真实法向可以组成如图1所示的输出数据160。如上所述,例如,面片的几何特征到真实法向的映射可以由单个回归树来表示。在该示例中,可以基于回归树的中间节点(即,具有子节点的节点)来确定表示第二面片的第三几何特征的特征向量被分支的路径。当表示第二面片的第三几何特征的特征向量到达该回归树的叶节点时,可以基于叶节点所对应的回归模型(即,公式(5))来确定第二面片的真实法向。

在一些实现中,面片的几何特征到真实法向的映射可以由级联的多个回归树来表示。例如,假设面片的几何特征到真实法向的映射由级联的第一回归树和第二回归树来表示。在该示例中,可以如上所述来执行方法500,以基于第二面片的噪声法向和第一回归树来确定的第二面片的第三法向。然后,可以重复地执行方法500,以基于第二面片的第三法向和第二回归树来确定第二面片的真实法向。例如,可以获取第二面片的第三法向(510)。然后,可以基于第二面片的第 三法向确定第二面片的第四几何特征(520)。最后,可以基于第四几何特征和第二回归树来确定第二面片的真实法向(530)。

附加地或者备选地,在获得网格中的面片的真实法向之后,可以利用这些真实法向来更新网格的顶点位置。例如,可以通过求解如以下的公式(10)表示的非线性最小化问题来获得经更新的顶点位置:

其中v表示顶点的集合,表示网格中的面片的真实法向,ejk表示面片fi具有端点vj和vk的边,并且ai(v)表示面片fi的面积。

图6示出了根据本文所描述主题的实现的用于对网格降噪的装置600的框图。模型训练系统110、模型应用系统120或者两者可以由装置600实现。如图6所示,装置600可以包括训练数据获取模块610,被配置为获取网格中的第一面片的噪声法向和真实法向。装置600还可以包括第一几何特征确定模块620,被配置为基于噪声法向,从网格中的第一面片的多个邻近面片确定第一面片的第一几何特征。此外,装置600还可以包括映射确定模块630,被配置为基于第一几何特征和真实法向,确定第一几何特征到第一面片的真实法向的映射,以用于对网格降噪。

附加地或者备选地,装置600还可以包括输入数据获取模块,被配置为获取网格中的第二面片的噪声法向。装置600还可以包括第三几何特征确定模块,被配置为基于第二面片的噪声法向,从网格中的第二面片的多个邻近面片确定第二面片的第三几何特征。此外,装置600还可以包括输出数据确定模块,被配置为基于第三几何特征和映射,确定第二面片的真实法向。

出于清楚的目的,在图6中没有示出装置600的某些可选模块。然而,应当理解,上文参考图1-5所描述的各个特征同样适用于装置600。而且,装置600的各个模块可以是硬件模块,也可以是软件模块。例如,在某些实施例中,装置600可以部分或者全部利用软件和/或固件来实现,例如被实现为包含在计算机可读介质上的计算机程序产品。备选地或附加地,装置600可以部分或者全部基于硬件来实现, 例如被实现为集成电路(ic)、专用集成电路(asic)、片上系统(soc)、现场可编程门阵列(fpga)等。本公开的范围在此方面不受限制。

图7示出了其中可以实施本文所描述主题的一个或多个实现的示例计算系统/服务器700的框图。模型训练系统110、模型应用系统120或者两者可以由计算系统/服务器700实现。图7示出的计算系统/服务器700仅是示例,其不应当构成对本文所描述的实现的使用的功能和范围的限制。

如图7所示,计算系统/服务器700是通用计算设备的形式。计算系统/服务器700的组件可以包括但不限于一个或多个处理器或处理单元700,存储器720,一个或多个输入设备730,一个或多个输出设备740,存储装置750,和一个或多个通信单元760。处理单元700可以是实际或虚拟处理器并且能够根据存储器720中存储的持续来执行各种处理。在多处理系统中,多处理单元执行计算机可执行指令,以增加处理能力。

计算系统/服务器700通常包括多个计算机介质。这样的介质可以是计算系统/服务器700可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器720可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储装置750可以是可拆卸或不可拆卸,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息并且可以在计算系统/服务器700内被访问。

计算系统/服务器700可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性计算机系统存储介质。尽管未在图7中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线。存储器720可以包括至少一个程序产品,具有(例如至少一个) 程序模块集合,这些程序模块被配置为执行本文所描述的各种实现的功能。

具有(例如至少一个)程序模块724的集合的程序/实用程序工具722可以被存储在例如存储器720中。这样的程序模块724可以包括但不限于操作系统、一个或多个应用程序、其他程序模块和操作数据。这些示例中的每个示例或特定组合可以包括联网环境的实现。程序模块724通常执行本文所描述主题的实现的功能和/或方法,例如方法200、300、400和/或方法500。

输入单元730可以是一个或多个各种输入设备。例如,输入单元739可以包括用户设备、诸如鼠标、键盘、追踪球等。通信单元760实现在通信介质上向另外的计算实体进行通信。附加地,计算系统/服务器600的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接来通信。因此,计算系统/服务器700可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。例如但不限于,通信介质包括有线或无线联网技术。

计算系统/服务器700还可以根据需要与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等等,与一个或多个使得用户与计算系统/服务器700交互的设备进行通信,或者与使得计算系统/服务器700与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。

通过以上描述,将会理解,本文所描述主题的实现无须对噪声的统计特征做出任何假设,而是从经扫描的噪声数据及其对应的真实数据所组成的训练数据中学习如何将噪声数据映射到其对应的真实数据。因此,本文所描述主题的实现能够针对任何3d扫描仪并且能够容易去除未知的噪声。在本文所描述主题的实现中所提出的被称为经滤波的法向描述符的特征向量对于各种噪声是鲁棒的。在本文所描述主题的实现中所提出的通过训练级联的回归树来确定噪声法向到真 实法向的映射过程是快速的,并且所产生的回归模型能够有效去除数据中的噪声。

本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。

用于实施本文所描述主题的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本文所描述主题的范围的限制。在单 独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

以下列出了本文所描述主题的一些示例实现。

在第一方面中,提供了一种电子设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由该至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时,使得该设备:获取网格中的第一面片的噪声法向和真实法向;基于噪声法向,从网格中的第一面片的多个邻近面片确定第一面片的第一几何特征;以及基于第一几何特征和真实法向,确定第一几何特征到第一面片的真实法向的映射,以用于对网格降噪。

在一些实现中,确定第一几何特征包括:利用滤波器对第一面片与多个邻近面片之间的法向变化和位置变化进行滤波,以生成表示第一几何特征的特征向量。

在一些实现中,滤波器包括双边滤波器。

在一些实现中,滤波器包括引导滤波器。

在一些实现中,确定映射包括:基于第一几何特征和真实法向,利用回归分析来确定映射。

在一些实现中,利用回归分析来确定映射包括:基于第一几何特征和真实法向,生成表示映射的第一回归树,第一回归树将第一几何特征映射到表示真实法向的第一法向。

在一些实现中,生成第一回归树包括迭代地执行以下操作至少一次,直到第一回归树的叶节点数目达到预定阈值:在第一回归树的每个节点处,利用与该节点相关联的训练数据集来训练第一回归模型,训练数据集包括网格中的多个面片中每个面片的第一几何特征和真实法向;从训练数据集获得多个训练数据子集;利用多个训练数据子集来训练多个第二回归模型;以及响应于多个第二回归模型的拟合误差之和小于预定误差阈值,生成该节点的多个子节点。

在一些实现中,利用回归分析来确定映射还包括:基于第一法向, 确定第一面片的第二几何特征;以及基于第二几何特征和真实法向,生成与第一回归树级联的第二回归树,第二回归树将第二几何特征映射到表示真实法向的第二法向,第二法向与真实法向之间的误差小于第一法向与真实法向之间的误差。

在一些实现中,该指令当由至少一个处理单元执行时,还使得该设备:获取网格中的第二面片的噪声法向;基于第二面片的噪声法向,从网格中的第二面片的多个邻近面片确定第二面片的第三几何特征;以及基于第三几何特征和映射,确定第二面片的真实法向。

在第二方面中,提供了一种对包括面片的网格降噪的方法。该方法包括:获取网格中的第一面片的噪声法向和真实法向;基于噪声法向,从网格中的第一面片的多个邻近面片确定第一面片的第一几何特征;以及基于第一几何特征和真实法向,确定第一几何特征到第一面片的真实法向的映射,以用于对网格降噪。

在一些实现中,确定第一几何特征包括:对第一面片与多个邻近面片之间的法向变化和位置变化进行滤波,以生成表示第一几何特征的特征向量。

在一些实现中,滤波包括:对第一面片与多个邻近面片之间的法向变化和位置变化进行双边滤波。

在一些实现中,滤波包括:对第一面片与多个邻近面片之间的法向变化和位置变化进行引导滤波。

在一些实现中,确定映射包括:基于第一几何特征和真实法向,利用回归分析来确定映射。

在一些实现中,利用回归分析来确定映射包括:基于第一几何特征和真实法向,生成表示映射的第一回归树,第一回归树将第一几何特征映射到表示真实法向的第一法向。

在一些实现中,生成第一回归树包括迭代地执行以下操作至少一次,直到第一回归树的叶节点数目达到预定阈值:在第一回归树的每个节点处,利用与该节点相关联的训练数据集来训练第一回归模型,训练数据集包括网格中的多个面片中每个面片的第一几何特征和真 实法向;从训练数据集获得多个训练数据子集;利用多个训练数据子集来训练多个第二回归模型;以及响应于多个第二回归模型的拟合误差之和小于预定误差阈值,生成该节点的多个子节点。

在一些实现中,利用回归分析来确定映射还包括:基于第一法向,确定第一面片的第二几何特征;以及基于第二几何特征和真实法向,生成与第一回归树级联的第二回归树,第二回归树将第二几何特征映射到表示真实法向的第二法向,第二法向与真实法向之间的误差小于第一法向与真实法向之间的误差。

在一些实现中,该方法还包括:获取网格中的第二面片的噪声法向;基于第二面片的噪声法向,从网格中的第二面片的多个邻近面片确定第二面片的第三几何特征;以及基于第三几何特征和映射,确定第二面片的真实法向。

在第三方面中,提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令。计算机可读程序指令用于执行根据第一方面所述的方法的步骤。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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