【论文阅读30】-《Autocuts: Simultaneous Distortion and Cut Optimization for UV Mapping》

目录

0 摘要

1 introduction

2 related work

2.1 Minimizing distortion 

2.2 Optimizing cuts

2.2.1 Cuts for remeshing applications 

2.2.2 Adding cuts while minimizing distortion:

2.2.3 Generating cuts by mesh partitioning

2.2.4 Bypassing the need for cuts:

2.2.5 Existing tools for manual cut placement: (Back to Top)

4 framework implementation and results

4.1 Implementation,performances, 参数 

4.2 初始化 && 最终结果  (Back to Top)

4.3 非人工模式 &&  人工模式(含对比)

4.4 两个重要交互功能

4.4.1 Boundary rectangles (Back to Top)

4.4.2 Removing self-overlaps.

4.5 其他功能

4.5.1 UVmaps for quad meshes && irregularmeshes (Back to Top)

4.5.2  Cut length vs. number ofcuts (Back to Top)

4.6 与[Sorkine et al. 2002]对比 

5 limitation and conclusion (Back to Top)


0 摘要

  1. first --seam(离散的) && distortion(连续的)同时优化:
  2. 交互:
    1. Bounding boxes: packing islands(control the placement of the parameterization patches in the UV space)
    2. Painting of regions: seam region
    3. separate overlapping regions
    4. move vertices,
    5. cut mesh parts,
    6.  join seams,
    7.  上述交互:要么强约束:加入到能量函数 要么软约束:引导优化方向
  3. 其他方法:trial-and-error(试错型):cut-distortion (不满足要求,再重新cut,重复)

1 introduction

  1. 核心:Cut- 从现有的mesh edge 入手
    1. 单独每个三角面片分割,再seam融合(most,形式:E中的sparsity inducing norm)
  2. 实质:edge宽松的二分类问题:
    1. 刚开始:介于二者之间,优化后,属于二者之间
    2. Edge: seam or regular edge or 介于二者之间

2 related work

2.1 Minimizing distortion 

  1. isometric:angles and areas
  2. Distortion measure:
    1. 保角:UV变量的二次表达——稀疏最小二乘问题-难
    2. 角&面积——非线性,非凸
    3. local/global optimization[Liu et al. 2008]——同时考虑、权衡isometric &&face map 后的不连续性[Liu et al. 2008]   本文:借鉴local/global optimization:为每个三角面片的每个顶点单独指定uv变量--实现uv空间三角面片的分离(detaching)
    4. 优化对象Iteratively updated convex proxynon-convex——考虑 isometric && inversion-free
  3. 本文:同时考虑--意义
    1. Cut: spread the error equally over the surface,
    2. Distortion: concentrate the error in a discrete set (the cut vertices) and leave it at zero everywhere else,

2.2 Optimizing cuts

  1. 第一类:先确定cut,再计算map(disk-topology)
    1. accept cuts as input and compute the mapping of a surface that has the topology of one or several disks
  2. 其他方法:
    1. 限制the shape of cut
    2. 优化整个2D patch shape (free-boundary)
    3. 当前:避免local/global self-inersections (boundary-free && 降低isometric distortion)
  3. 另一种理解:Cut--等效于参数化过程的一部分【即,surface 参数化过程中,解决cut问题】,分为三类

2.2.1 Cuts for remeshing applications 

  1. 实质:以remesh(quadrilateral remeshing)为导向的参数化:cut的两对应边,在UV空间,相差旋转(0.5PI的整数倍) &&  平移变换   此种情况,cut被视作griddable(利用grid可以实现seamlessly traverse)——此时的参数化交做: seamless
    1. 此类,有些不考虑seam的位置--[Bommes et al. 2009] and the survey [Bommes et al. 2013]
    2. 一些考虑cone singularities 锥奇点位置(griddable cut的端点)——作为优化目标
    3. 一些考虑griddable cut的位置(包括straightness,alignment, and shortness )
  2. 评价
    1. cut的约束只和remesh有关
    2. 然而,顾及texture UV的展开应考虑
    3. trading Gaussian curvature inside patches for line curvature at their boundary,reducing distortion. 

2.2.2 Adding cuts while minimizing distortion:

  1. 核心:着重关注降低局部变形
    1. 法1:greedily增加cut,以减低变形
    2. 法2:通过分析Gaussian curvature and visibility,确定较好的cut位置
  2. 实质:在cut优化的过程中,部分考虑变形,依赖于一种启发式的方式,非全局(ours)

2.2.3 Generating cuts by mesh partitioning

  1. 实质:mesh划分程多个disk-topologypatch 因此,cut = patch boundary
  2. 相关mesh划分方法:(聚类,种子点法)

  3. 评价:这是间接法,无法得到optimal UV maps 进一步,上述方法得到的结果:
  • patches--smaller &&numerous
  • cut发生在不同类的patch之间,而人工编辑的话,同种patch也是允许cut的

2.2.4 Bypassing the need for cuts:

  1. 实质:绕过去找到good cut的需求
    1. 方式1:直接同时定义2D 参数化和重新纹理映射 like direct painting on 2D textures and redering
    2. 方式2:降低cut的不利影响,即“差的cut,也没啥坏结果”

2.2.5 Existing tools for manual cut placement: (Back to Top)

  1. 大部分需要人工辅助
    1. distortion minimization 自动化难度不大;
    2. placement of cut难以实现自动化--本文:该步骤半自动,无需全人工
  2. 缺点:
    1. 耗时
    2. Mesh irregular---难度变大(select consxecutive edges--edge loops)本文:不依赖mesh 连续性的规则 

4 framework implementation and results

4.1 Implementation,performances, 参数 

  1. 线性搜索--Pardiso solver
  2. 运行时间与mesh size线性相关
    1. 一次迭代 15ms/3k面片
    2. 100ms/20k
  3. 交互调整的参数: sigma && lamda
    1. sigma: 初始化1 ,后续 乘 2/0.5
    2. lamda: 初始化1 后续调整介于[0,1]区间 (distortion && cut的平衡因子)

4.2 初始化 && 最终结果  (Back to Top)

  1. X(uv坐标)初始化:
    1. placing the triangles individually in the plane with a rigid transformation(transformation不影响效率)(如下图第二个)
    2. 好处:高效(迭代次数较少),简单
    3. 本文算法对初始方式(下述3种)不敏感
  2. Finalizing the Uvmap
    1. 要求:连续 && patch 不跨过seam
    2. 方法(保证连续):对于每一对cornerseparation 较小的corner(Es< 0.5),根据average 整合
    3. 最后UV空间scale and translate into [0,1]^2

4.3 非人工模式 &&  人工模式(含对比)

  1. Our Unassisted cutting VS UV Master(ZBrush’s UVMaster [Pixologic 2017],
    1. 大量人工交互,多次重复指定cut的可选/禁忌区)
    2. 结果:前者Cut along the edges   VS 后者random
  2. Assisted cutting:
    1. 本文:用户交互选择cut edge(click or paint )---更改edge对应的two pairs of corner的权重(E_seperation)——实验证明:指定一条edge(被cut)作为”种子点“,就足够得到较好的结果
    2. 用户还可以直接操作UV 碎块(deform tear and attach the UV island)

4.4 两个重要交互功能

4.4.1 Boundary rectangles (Back to Top)

  1. 意义:UV空间高效利用 && aid packing
  2. 本文:提供交互接口——画 && 编辑 bounding rectangle
  3. 实现:增加一个soft constraint (不能在指定的矩形外部),具体为给目标函数增加:beta(=100,权重)*B
    1. B :针对与boundary相关的UV 坐标,根据 (10)求cost,再求和

4.4.2 Removing self-overlaps.

  1. Global-overlap     &&   local-overlap (triangle flips)
  2. 已有的做法
    1. Automatic:[Smith and Schaefer 2015] :
      1. 考虑global-overlap
      2. 具体做法:参数化的初始解,保证overlap-free,后续优化过程也保证满足该条件---缺点:会极大得缩小解空间(增加了额外约束)
    2. 交互工具:依赖于用户来实现
      1. 效果:比直接去除overlap快;但是效果不好,还是需要后续人工调整
      2. 用户可以随时调整目前global overlap情况
  3. 本文:
    1. 核心:同[Sorkine et al. 2002]greedy策略
    2. 具体做法:
      1. 采用宽度优先顺序,从”种子面片“开始,遍历triangle——依次调整UV空间三角面片的位置,保证不会与先前遍历的三角面片重叠——得到一个patch
      2. 当满足终止条件后,再选择新的”种子面片“
    3. 评价:此种基于overlap的三角面片位置调整,只影响boundary???

4.5 其他功能

4.5.1 UVmaps for quad meshes && irregularmeshes (Back to Top)

  1. 针对quadrilateral or polygonal meshes将其三角化(distortion measure是基于三角面片的),同时给三角化过程新生成的边增加权重(100),使得在优化过程中那些边不被cut
  2. 针对irregular mesh(irregular face && non standard topologies)--本文方法不受影响(因为使用triangle soup——所有的顶点copies

4.5.2  Cut length vs. number ofcuts (Back to Top)

  1. Cut number---number of vertex duplication
  2. 做法:
  •  现有能量函数,在 seperation measure 中用cut长度来加权
  • 若想引入将cut length 转换为cut number, seperation measure 中的权值都为1(代替length)

4.6 与[Sorkine et al. 2002]对比 

  1.  侧重点: low distortion  && small number of cuts
  2. greedy manner
    1. 初始状态:选择一个参数化后,符合等距要求的triangle Tri0
    2. 迭代:不断往Tri0附加triangle,得到一个patch(终止条件:distortion bound && self-intersection)
  3. [Sorkine et al. 2002]结果:over-segmented 很多patch含单个triangle,或短条状triangle

5 limitation and conclusion (Back to Top)

  1. 核心点:cut && distortion --放在一个能量函数中,同时考虑 (以前的工作:要么二选一,要么先后进行)
  1. 后续改进点(不足)
    1. mesh scale < 20k
    2. 降低问题的自由度(当前所有edge作为候选cut,后续,可以缩小候选空间)
    3. 加速:Another direction for future work is adapting acceleration techniques [Kovalsky et al. 2016; Liu et al. 2017] to our formulation.
    4. 两个问题还未考虑--未自动化实现,目前需要交互(思路:融入到能量函数):
    5. Global overlaps
    6. Packing of charts(紧凑性排布??)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值