Least Squares Conformal Maps for Automatic Texture Atlas Generation用于自动纹理图集生成的最小二乘保角映射

提供了一种新的拟保角参数化方法,基于柯西—黎曼方程的最小二乘近似。所定义的目标函数使角度变形最小,并证明了以下的正确性:最小值是唯一的,与纹理空间的相似性无关,与网格的分辨率无关,不能生成三角形翻转。该函数在数值上表现良好,因此可以非常有效地最小化。我们的方法是稳健的,可以参数化具有复杂边界的大型图表。
我们还介绍了分割方法将模型分解为具有自然形状的图表,并提出了一种新的包装算法,以收集他们在纹理空间。我们演示了我们的方法用于绘制扫描和建模的数据集。

1、介绍

3D绘制系统可以通过交互添加细节(颜色,凹凸贴图…)来增强3D模型的视觉外观。如果表面的离散化足够好,就可以直接绘制它的顶点[1]。然而,在大多数情况下,期望的颜色精度比模型的几何细节更精细。假设要绘制的表面具有参数化,可以使用纹理映射在参数空间[9]中存储颜色。参数化曲面(如NURBS)具有自然的参数化。对于其他表示法,比如多边形曲面,找到参数化就不是件容易的事了。要用规则的图案装饰多边形模型,可以使用[26]重叠纹理方法:局部重叠参数化用于重复地将一个小的纹理样本映射到模型上。
纹理图集是一种更一般的表示(参见,例如,[13,20,23])。要进行纹理化的模型被分割成一组与圆盘同构的部件,称为图表,每个部件都有一个参数化。纹理图集可以很容易地用标准文件格式表示,并使用标准纹理映射硬件显示。当在3D绘制系统中使用时,纹理图集应该满足以下要求:
•图表边界的选择应该最小化纹理工件,
•纹理空间的采样应该尽可能的均匀,
•图集应该优化使用纹理空间。
纹理图集的生成可以分解为以下步骤:
1.分段:将模型划分为一组图表。
2.参数化:每个图表都是“展开”的,即与R的一个子集相对应2。
3.填充:在纹理空间中收集图表。

1.1以前的工作

分割成图表。在[14]和[23]中,模型是由用户交互划分的。为了实现自动分割,Maillot等[20]将面按法线进行分组。几种多分辨率方法[7,16]将模型分解为与基复形的简单结构相对应的图。在[27]中,Sander等人使用区域增长的方法来分割,根据平面性和紧凑性标准合并图表。所有这些方法都是为了生成可由现有参数化方法处理的图表,而现有参数化方法仅限于凸边图表。因此,生成了大量的图表,在构造纹理图集时引入了许多不连续性。
图参数化其中应用最广泛的是Eck等[4]所描述的离散谐波映射。它们是连续谐波映射[5]的近似,使度规色散准则最小化。Pinkal和Polthier[24]已经表明了这一准则与另一种称为“适形”的准则之间的联系,并以狄利克雷能量的形式表达了两者。Haker等人[8]描述了一个类似的方法在一个球面同胚的表面三角化的具体情况下。
用Tutte[30]研究了图的嵌入理论,其中引入了重心映射。所定义的参数化的双射性在数学上是有保证的。浮动的[6]提出了具体的权重来提高映射的质量,在面积变形和一致性方面。在[18]中,提出了一种考虑附加约束的方法。
在上述方法中,由于保形是参数间的间接耦合,因此需要边界条件,即边界节点需要固定在参数空间的凸边上。其他的拟合表达式,如非线性MIPS方法[10],使解决这一问题成为可能,并使边界节点可以自由移动。然而,后一种方法需要一个耗时的非线性优化,并可能陷入一个局部最小的非线性函数。在[12]中,Hurdal等人提出了一种基于圆包的方法,即已知具有特定切线模式的特定圆的配置,以提供一种近似保角映射的方法。然而,建造循环包装是相当昂贵的。在[28]中提出的方法是在参数空间中求解角度。它导致了一个高度约束的优化问题。其他方法[17,25,31]也可以推断边界,但不能保证没有三角形翻转,并且需要与用户交互。本文介绍了一种保角映射方法,与其它方法相比,该方法具有更好的保证、效率和鲁棒性。
在纹理映射的情况下,不仅要保证参数化的双射性,而且要保证参数化能够最优地利用纹理内存,准确地表示存储在纹理空间中的信号。Sander等[27]描述了一种方法来最小化纹理拉伸标准和细节级别之间的纹理偏差。由于他们的方法独立于初始参数化方法,它可以应用于优化采样的参数化所建立的方法。
图表包装在纹理空间。在纹理空间中寻找图表的最佳包装问题称为装箱问题。一些作者已经对它进行了研究,比如Milenkovic(参见[21]),但是由于问题是np完备的,因此得到的算法会花费大量的时间。为了加速这些计算,计算机图形界提出了几种启发式方法。在单个三角形的情况下,这种方法已经由几个作者描述过了(见[3])。在图表的一般情况下,Sander等人[27]提出了一种封装最小值的方法区域边界矩形的图表。在我们的例子中,由于图表可以有任意形状的边界,因此边界矩形可以远离图表的边界。因此,大量的纹理空间会被浪费。因此,我们提出了一种更精确的包装算法,可以处理由我们的分割和参数化方法创建的复杂图表。

2 最小二乘正形映射

在本节中,我们主要讨论将同形图参数化的问题。然后将展示如何将模型分解成一组图表,以及如何在纹理空间中包装这些图表。

2.1符号

•标量用法线符号x, y, u, v表示,
•向量以粗体表示x = (x, y),
•复数用大写U = (U + iv)表示,
•复数向量用粗体大写U表示,
•映射和矩阵用草书字体U, X表示。
在这里插入图片描述

2.2保角映射

在这里插入图片描述
如图2所示,应用程序X (u, v)域映射到一个表面是保形为每个(u, v),如果iso-u和iso-v曲线的切线向量通过X (u, v)是正交和有相同的规范,可以写成:

在这里插入图片描述
式中,N(u, v)表示垂直于曲面的单位。换句话说,保角映射是局部各向同性的,即映射(u, v)域的初等圆到曲面的初等圆。
使用微分算子如Laplace-Beltrami重写方程1是可能的,就像[24]和[8]中所做的那样,得到众所周知的余切加权系数(见例如[4])。(u, v)参数是两个独立线性系统的解,一个是u,一个是v。两个系统的右侧间接地考虑了u和v之间的关系。因此,这种方法要求边界固定在凸多边形上。而MIPS方法[10]则没有这个限制,它将保形表示为度量张量的系数之间的联系。然而,得到的方程是非线性的。另一种方法已在[28]中描述,其基础是定义保角映射的标准应独立于参数空间中的平移、旋转和缩放(即相似性)。未知量是三角形角上的角。这需要一个耗时的约束优化方法。
我们不是在三角剖分的顶点上离散拉普拉斯算子,而是采用对偶路径来考虑曲面三角形的保形条件。使用抽象由于相似性可以用复数的乘积来表示,因此,我们给出了如何将保形问题转化为无约束的二次最小化问题。u和v参数由一个单一的全局方程联系在一起。u和v参数的直接耦合使得有效地参数化具有复杂边界的大型图表成为可能,如图1所示。在这个例子中,切割是手工完成的(图1-C),为方法的健壮性创建一个大型的测试用例。(将在第3节中显示如何自动将一个模型切割成与光盘同形的图表。)
黎曼定理表明,对于任何与圆盘同胚的曲面,都有可能找到满足方程1的曲面的参数化。然而,由于我们想要使用产生的参数化来进行纹理映射,所以我们添加了这样的约束:三角形的边缘应该映射到直线上,并且映射应该在每个三角形中线性变化。有了这个附加的约束,就不可能总是满足同形条件。因此,我们将在最小二乘意义上最小化黎曼条件的违反。

2.3三角剖分中的适形性

现在考虑一个三角测量G ={[1…T, (pj )16j6n,其中[1 . .]n], n> 3,对应于这些顶点,其中T是n的一个集合′ 三角形由顶点的三组表示,其中pj ∈R3表示顶点j的几何位置,我们假设每个三角形都有一组局部标准正交基,其中(x)1y1), (x2y2), (x3y3)是其顶点在此基础上的坐标(即,法线沿z轴)。共享一条边的两个三角形的局部基的方向是一致的。
现在我们考虑X对三角形T的约束,并将适形准则应用到逆映射U: (X, y) 7→(U, v)(即给定点的坐标并要求其参数化)。在三角形的局部坐标系中,得到方程1
在这里插入图片描述
其中X是用复数表示的,即X = X +iy。根据逆函数的导数定理,它可以说明
在这里插入图片描述
其中U = U + iv(这是Cauchy- Riemann方程的简明公式)
由于该方程一般不能严格执行,我们在最小二乘意义上最小化同形条件的违反,从而定义了准则C:
在这里插入图片描述
一个T 是三角形的面积,符号|z|表示复数z的模。将整个三角剖分相加,求最小值的准则为
在这里插入图片描述

2.4三角形的渐变

我们的目标是把每个顶点j和一个复数U联系起来j 使每个三角形满足柯西-黎曼方程(在最小二乘意义上)。为了达到这个目的,让我们重写准则C(T),假设映射U在T中线性变化。
我们考虑三角形{(x)1y1), (x2y2), (x3y3R2的)},具有标量u1,你2,你3 与它的顶点相关联。我们有:
在这里插入图片描述
在维T x = (1y2 −y1x2) + (x2y3 −y2x3) + (x3y1 −y3x1是这个三角形面积的两倍。梯度的两个分量可以集合成一个复数:
在这里插入图片描述
在这里插入图片描述
柯西-黎曼方程(方程2)可以改写为:
在这里插入图片描述

2.6特性

上述最小化问题有几个基本性质,在附录中得到了证明:
•当固定顶点的数量p大于或等于2时,矩阵A具有满秩。
•因此,最小化问题有唯一解p > 2时,由x =(⊤)−1 a⊤b。p的最佳值是2,因为在这种情况下,如果曲面是可展的,那么映射U可以是完全保角的(即目标函数的最小值为零)。在我们的实验中,我们已经使两个顶点最大化了它们之间的短路径的长度(即图的直径)。
•最小化问题的解决方案通过纹理空间中的相似性是不变的。
•最小化问题的解决方案与网格的分辨率无关。此属性如图3所示。
•在纹理空间中,如果固定顶点选择在T的边界上,那么所有三角形的方向一致。换句话说,抛三角形是不可能发生的。

3分割

分割算法将模型分解为一组图表。算法设计的目的是满足以下两个要求:
1.图表边界的位置应该是这样的:图表之间的大多数不连续性将位于不会造成纹理失真的区域,
2.图表必须与圆盘同构,并且必须能够在不引入太多变形的情况下对它们进行参数化。
对于第一点,由于阴影模型依赖于法线,高曲率区域导致照明的急剧变化。在这些区域,一个纹理工件将不明显,因为它将被忽略与阴影变化。因此,为了最小化工件,我们将设计这样的分割算法,以避免图表边界在平面区域。换句话说,它适用于生成大的图表,其中大部分边界位于高曲率区域。
对于第二点,我们将提供一种自动方法,模拟用户手动划分模型的方式。基本上,用户尝试将模型分解为类似圆柱体的部分。为了检测这样的圆柱体,我们将使用一种受莫尔斯理论启发的方法,描述在表面上定义的函数(见[29])。
接下来的两节给出了一种特征检测算法,该算法可以找到模型高曲率区域对应的曲线,并通过一种图表增长算法使它们在这些特征曲线上相交。然后,它将显示如何验证结果,并在需要时细分图表。在本节的其余部分中,我们假设表面是由基于halfedge的数据结构表示的(参见[19])。

3.1检测特性

特征检测阶段概述如下:
1.计算边缘的锐度准则。我们在这里使用二阶差值(SOD),即法线之间的角度,如[11]。也可以使用更详细的标准。
2.选择一个阈值,使一定比例的边缘被过滤掉。在我们的示例中,我们保留了5%的检测到的边缘。
3.对于剩余的每条边,应用算法1生成一条特征曲线。
算法1尝试预测最佳路径,滤除噪声引起的小特征。对检测到的特征邻域进行标记,避免了在高曲率区域产生大量的特征。在我们的示例中,设置了参数
在这里插入图片描述

3.2扩大图表

一旦发现了尖锐的特征,图表就可以创建了。我们的方法是一个贪婪算法,从一组种子同时展开所有的图表。它类似于[4]中使用的s源Dijkstra算法,也类似于计算机视觉中使用的区域增长模式。由于我们希望图的边界在特征层上满足,因此对s-source算法进行如下修改:
•要选择这组种子,直觉上的想法是“逆其道而行”。更准确地说,我们使用以下方法:从前面算法检测到的边界和特征曲线传播一个front,在每个面计算一个distance_to_features函数。然后,发现这些种子是这个distance_to_features函数的局部最大值。
•对于没有任何检测到的特征的封闭表面,传播从平面图形直径的两端初始化,就像在[15]中所做的那样。
•我们的s-source传播使用−distance_to_features作为优先级函数,而不是distance_to_seeds。等优点,
此方法的tage如图4所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3验证图

然后使用第2节中介绍的方法对so构造的图表进行参数化。然后,测试以下两个标准:
•如第2节所述,不能发生三角翻转,边界可以外推。然而,由于边界可以是非凸的,就会遇到一类新的重叠。它们是由边界的自交点引起的,如[28]。通过以钢网模式绘制参数空间,硬件可以有效地检测这种配置。多次绘制的模板像素对应于重叠。如果检测到重叠,则对对应的图进行细分,沿着重叠区域的边界边缘进行切割,如图6所示。需要注意的是,我们的分割算法并不会生成单个的恐龙头部图(见图5)。在实际操作中,我们的实验中很少出现重叠问题,这是由边界形成的微小循环造成的。
•我们的标准非常尊重角度,如结果部分所示。就面积而言,带有高曲率区域的大图表可能会导致大面积变化。为了检测这些问题,在小面上测量最小和最大的模型面积/纹理面积比。如果最大/最小比率大于一定的阈值,相关图表被分割,通过从最小和最大对应的面增加两个图表。在这里显示的示例中,阈值被设置为2。

4包装

一旦模型被分解成一组参数化图表,就有可能通过合并图表的所有域来创建一个纹理图集。通常,只有有限的纹理内存可用。然后,它适合最小化未使用的空间。换句话说,给定一组可能非凸的多边形,我们希望找到一个不重叠的布局多边形,使外接矩形的面积最小。因此获得的纹理坐标将被重新缩放以适应纹理的大小。
包装问题是np完备的(见,例如,[21]和[22])。基于计算几何的方法在损失面积最小化方面表现出良好的性能,但对于大而复杂的数据集效率不够。基于这个原因,计算机图形学中提出了几种启发式方法。例如Sander等人[27]提出的方法,对图的边界矩形进行打包。在我们的例子中,是边界可以是任意形状,边界矩形不是精确的近似。
出于这个原因,我们提出了一种不同的算法,它直接打包图表而不是它们的边界矩形。和[2]一样,我们的算法是受《俄罗斯方块》玩家操作方式的启发,但没有使用边界框近似图表:
1.每个图表都被重新标定,使其(u, v)空间的面积等于其(x, y, z)空间的面积。
2.图的最大直径垂直方向,并按递减顺序排列。
3.如图7所示,对于每个图表C,顶部地平线h⊤C (红色)和底部地平线h⊥C (粉色)是计算出来的。图表不是用它们的边界矩形表示,而是用两条曲线h之间的面积近似表示⊤C 和hC ⊥。与传统方法一样,为了避免mip映射造成的不必要的混合,在视野上增加了额外的边界。
4.使用下面描述的方法逐个插入图表。
如图7-A所示,算法保持代表“horizon”的分段线性函数h(u)。对于每一个图表C,美国C 坐标在C的左下角的选择方式是这样的,丢失的空间(黑色)之间的底部地平线h⊥C C(粉红色)和当前水平h(蓝色)被最小化(见图7-A)。然后,视界h用顶层视界h更新⊤C 当前的图表(红色部分)。由于参数空间被离散成texels,用离散值数组和纹理分辨率来表示视域似乎很自然。这使得算法比使用分段线性函数简单得多。对于图表C,所有的离散值为uC 进行测试。该算法执行得很好,用不到一秒的时间处理我们测试过的所有数据集。
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最小二乘支持向量机(Least Squares Support Vector Machines,LS-SVM)是一种支持向量机(SVM)的变种,它在解决分类问题时引入了最小二乘法的思想。在LS-SVM中,我们使用最小二乘法来估计模型的参数,以最小化预测值与实际值之间的误差。 最小二乘支持向量机的映射方程涉及到两个关键的公式:回归函数的线性表达式和最小二乘法的求解方法。具体来说: 1. 回归函数的线性表达式:LS-SVM通过寻找一条直线来拟合数据,这条直线可以表示为y = w^T x + b。其中w是直线的权重向量,b是截距,x是输入特征,y是对应的输出标签(对于分类问题,y通常为-1或1)。 2. 最小二乘法的求解方法:在LS-SVM中,我们使用最小二乘法来求解权重向量w和截距b。具体来说,我们通过计算预测值与实际值之间的误差的平方和,并求最小值来找到最优的w和b。 求解这个优化问题的一种常见方法是使用拉格朗日乘数法。在LS-SVM中,拉格朗日函数的形式为:L(w, b, α) = α*(误差项1) + L(w, b, 0) - α*(约束项)。其中α是拉格朗日乘数,用于引入约束条件(如约束权重向量的非负性)。然后通过优化这个拉格朗日函数来求解最优的w和b。 总的来说,最小二乘支持向量机的映射方程是通过线性表达式和最小二乘法来找到最优的权重向量w和截距b,以最小化预测值与实际值之间的误差。这个映射方程在LS-SVM中起着关键的作用,决定了模型对数据的拟合程度和预测准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值