【论文阅读31】《OptCuts: Joint Optimization of Surface Cuts and Parameterization》

news2024/9/22 21:13:51

目录

一些疑惑 

0 引言 

1 introduction 

2 related work

 2.1 parameterization with fixed connectivity

2.2 Separate Cut Computation

3 problem statement

​编辑​ 3.1 数学形式1

3.2 数学形式2

3.3 能量函数

3.3.1 接缝线长度(归一化),用面积归一化后,在不同数据集间具有可比性

3.3.2 变形度(基于map后的结果) 

4-6 optimization framework,COUPLED DISCRETE-CONTINUOUS DESCENT,THE OPTCUTS ALGORITHM

4.1 初始状态:

4.2 外迭代:

4.2.1 lamda的迭代更新: 

​编辑​ 4.2.2 T U的迭代更新-内迭代:

7 evaluation

7.1 对比试验 


一些疑惑 

  1. (global ) bijectivity 

    Bijectivity 双射性 这样可以保证表面上的每个点都会映射到纹理空间中的不同点。如果你想让纹理在表面上重复(想想墙纸或地毯的重复图案),那么有意引入从表面点到纹理点的多对一映射是有意义的

     <Chapter 11 —— Texture Mapping_五月的天气的博客-CSDN博客>

  2. Local injectivity <每个人都看得懂的映射(单射、满射、双射) - 知乎
  3. Disk-topology:就是一个圆(open OR closed)https://en.wikipedia.org/wiki/Disk_(mathematics)

        

0 引言 

  1. 作用:生成好的Uvmap   或者   优化已有的UV map(保持distortion一致的情况下)
  2. 接口:自定义接缝线放置 :结合语义和自定义 Hide && 保持对称性
  3. 关键词: mesh parameterization

1 introduction 

  1. UV展开,两个核心问题:变形度 和 接缝线的放置问题
    1. 变形度和接缝线的长度二者相悖:变形度为0的时候,所有三角面片都是切割分开的
  2. mesh参数化(两步走):
    1. Geometric techniques:
      1. 已经cut为 disk-topology
      2. 需要解决的问题:将cut后的segment map到二维平面(保持固定的连接性(拓扑),最小变形)
      3. map过程,会改变mesh的角度和面积
    2. Topological

2 related work

  1. 大多数将surface cut && 最小化变形视作两个问题(sequential tasks)
  2. 将二者统一考虑的相关研究如下

 2.1 parameterization with fixed connectivity

  1. 先 fixed connectivity && disk-topolgy,再优化distortion
  2. 不同方法,distortion metrics不同
    1. 常用:angular distortion
      •  [Aigerman and Lipman 2015; Floater 2003; Lévy et al. 2002; Sawhney and Crane 2017; She er et al. 2005],
    2. 其他:isometric parameterization ( account for triangle stretch)
    3. 评价:大多数不满足 globally bijective.
    4. 解决办法:初始化就满足bijective,再后续优化中阻止 local and global overlaps
  3. 接缝线参数化
    1. ​ 参考:[Kharevych et al. 2006; Myles and Zorin 2013].
      1. 在接缝线区域,要求参数是连续的(刚性变化相关),结果中,存在部分不连续现象
      2. 进一步:将接缝线放在map不连续的地方:cone singularities(锥奇点),discrete points
      3. 意义:对inter-surface mapping and quad meshing有效果,在storing surface signals, such as texture in atlases.效果不佳
    2. 其他:基于纹理的方法--倾向于接缝线长度较小
  4. 上述方法:先cut,再参数化【需要指定proxy metrics (各种参数阈值)】
     

2.2 Separate Cut Computation

  1.  Poranne et al. [2017] proposed AutoCuts—a method
    1. 没有包含 bijectivity约束
    2. 无法指定变形的限值
    3. 在迭代过程中,调整用户预先指定的参数
    4. 用户交互(主) && 全自动两种模式,都需要用户指定namda(变形 和 接缝线长度的权重)
    5. 三角面片-together--影响接缝线长度
    6. Topology-fixed

3 problem statement

  1. 问题的数学思想:
    1. ​ 多目标优化,目标之间具有相对权重,难以确定,并且无法将权重与最终的结果对应起来,即权重没有实际意义
    2. 将某个目标转换为数值约束,变为含约束条件的单目标优化问题

 3.1 数学形式1

  1. M = (V,F)
  2. 变量:T(topology/connectivity) = (V_T,F_T) U (position)
  3. 目标函数:

  4. 约束:

  1. V_T是V的superset:迭代过程中,顶点的数量,位置会变化,同时,3D map到2D,会产生重复的2D点
  2. F_T与F应该是不同的:迭代过程中,F会有所改变(拓扑改变)
  3. 变形度:smooth albeit nonconvex(具有多个局部最优值)
  4. 接缝线长度:nonsmooth

3.2 数学形式2

  1. 进一步,利用拉格朗日项求解含约束条件的优化问题(引入lamda变量-dual objective)约束优化的拉格朗日乘子(KKT) - 知乎 (zhihu.com)

​ 针对lamda变形度不满足限制时,lamda变大;变形度满足限制时,lamda 变小到0

3.3 能量函数

3.3.1 接缝线长度(归一化),用面积归一化后,在不同数据集间具有可比性

  1.  S:在input surface(mesh)上分割后产生的所有的接缝线集合 ?? 是三维分割线,还是map到二维(考虑变形)的边界线
  2. ei: 接缝线长度
  3. F:分割后的所有面片(mesh)
  4. At:面片面积

3.3.2 变形度(基于map后的结果) 

  1. ​ 参考:symmetric Dirichlet energy [Smith and Schaefer 2015]

        

        sigma为变形梯度的singular value

  1. distortion energy的额外项:--大部分同autoCut
    1. 本文:采用scaffolding method of Jiang et al. [2017] --实现 global bijective优先三角化 outer, air-mesh in void regions
    2. distortion energy 增加了额外项,但不包含在计算变形度中(与优化过程有关,影响优化方向,但是不包含在计算distortion)
    3. not included in the distortion bound constraint,防止void-sapce 三角面片造成能量函数奔溃
    4. why:相对于autoCut改进

      考虑基于negative-space triangles的拓扑操作

      具体为:

      1. triangulate the void region about the union of one rings around the participating stencil vertices. This provides a sufficient scaffold to ensure bijectivity in the local solve without growing the problem size.
      2. for each candidate edge split we need to carefully pull apart the new split vertices to form an initial void to build the scaffold triangulation

4-6 optimization framework,COUPLED DISCRETE-CONTINUOUS DESCENTTHE OPTCUTS ALGORITHM

4.1 初始状态:

  1. lamda_0 =0
  2. T_0U_0:先确定初始seam,再最小化distortion 得到T_0U_0
  3. 初始Seam:
    1. 本文:circle , map过程中,保证边的长度不变preserving edge lengths
      1. Disk-topology surface: longest boundary
      2. Genus-0 closed surface: randomly tow connected edges
      3. Higher-genus: homology generators (using the cut_to_disk function in libigl -autoCut)
    2. 其他方法:在后续实验有使用另一种初始化方式:initialization from scratch [I.e., directly starting from the Tutte embedding of each mesh.]
  4. 顶点参数化(包含在最小化distortion):
    1. Tutte’s embedding [1963] using uniform weights to ensure bijectivity
    2. William Thomas Tutte. 1963. How to draw a graph. Proceedings ofthe London Mathematical Society 3, 1 (1963), 743–767.

4.2 外迭代:

  1. 在主变量 T U 和dual 变量 lamda之间交替优化,交替时,非优化对象,视作常量;外迭代中一次主变量 T U的更新,包含多次内迭代
  2. 外迭代终止条件(未限定最大迭代数)
    1. 内迭代收敛终止 &&
    2. lamda上收敛

    3. cyclic stationarity condition (伪代码中没有包含)--简要概括:外迭代可行解复现

Ps:当前连续的topology变化,可能不是最优方案

离散的拓扑变化需要被考虑,因此在内迭代过程中,非连续的topology变化,可根据是否被再次搜索到,来决定其是否是可行解

save hashes (Es , Ed, lamda) of solution triplets, and the best visited solution,of solution triplets, and the best visited solution

4.2.1 lamda的迭代更新: 

  1.  lamda的变化是 nonsmooth:根据E_d & E_d_th 变化(非平滑):
    • Ed<bd

  2. 改进:给拉格朗日项增加一个关于lamda的quadratic 二次正则化项,使得lamda变化 smooth(数学原理参考其他--称作“增加不等式约束,使得lamda变化smooth”)
    • Ps: Smooth:新的lamda与原lamda相似

  3. lamda最终更新方式

 4.2.2 T U的迭代更新-内迭代:

  1. 是一个(T-)离散 && (U-)连续的变量交替优化过程(交替时,非优化对象,视作常量)
  1. 内迭代终止条件
    1. topology变化相对于朗格朗日项(等效理解为总的能量函数)收敛

    2. 当前topology,使得distortion足够小

4.2.2.1 T的优化

  1. autoCut:
    1. 拓扑变化有限(即最后将seperation 较小的corner合并)
    2. 不适合本文larger mesh(strongly ill-conditioned real-valued optimization and prevented scaling to larger meshes)
  2. 本文方法:(核心点)T的可行解搜索是一个”化离散为连续 的方式  Ps: 常规方式:穷举遍历搜索可行解
  3. 本文:
    1. 离散变量,局部搜索迭代(等效为连续变化) delta_T,根据一定的原则确定更新后的T:
    2. 针对topology的局部搜索:基于当前的拓扑,相似的/微小 的拓扑变化(cutting && merging组合)---delta_Tology
  4. delta_Tology计算:cutting && merging:共三种,组合&&选择生成可行解
  5. 三种基本拓扑变化
    1. Boundary vertex split产生2/4(橙色的边链接另一个边界顶点的情形)个重复顶点

    2. Interior vertex split:产生2个重复顶点

    3. Corner merge:合并后顶点的位置-average(中点),而不是Naïve merging--违背local injectivity;合并后,若出现inversion(三角面片有向面积为负,顶点顺序),用Agmon’s relaxation 解决,若不能解决,放弃这种mesh 操作i

  6. 选择策略:
    1. 首先boundary:
      1. 选择subset of 边界顶点:顶点的优先级,由相对于distortion energy 梯度的标准差的偏差决定,偏差越大,优先选择
      2. cutting这些顶点能极大的去除这些大偏差,有助于降低变形度
    2. 基于boundary,考虑所有的seams的corner merging操作,共同构成一个操作集合
    3. 计算distortion降低的值,得到最佳方案;若所有操作都不能使d降低,最后考虑interior

    4. 考虑interior:选择部分内部顶点(选择规则同边界顶点),同上在构成的操作集合中,得到使d降低的最终方案

    5. 下一次的内迭代的拓扑变化,从由拓展(propagation)上一次的拓扑变化得到的操作集合中选择,因此O_01格外重要

  7. 如何根据delta_T 计算更新后的T
    1. 核心:要么接受delta_T,直接更新,要么拒绝delta_T,T保持不变
    2. 接受/拒绝的原则1:为了减少拓扑变化过程中顶点节点的变化,内迭代中,某次拓扑结构变化,使得d满足阈值,就更新内迭代T,否则T不更新;

      • 阈值:初始为0,后续会变化
    3. 接受/拒绝的原则2:拉格朗日项是否降低,且尽可能降低得多(类似于评估是否为优化拉格朗日项的迭代方向)

       
      1. 由于,关于mesh的topology更新O_ij,会引起U的变化(U_ij表示因O_ij而受影响的顶点集合,尽可能减少顶点的改变,U_S表示不受影响的顶点集合),因此,上述delta_l的形式为:

4.2.2.2 U优化 

  1. Newton法,梯度下降,线性搜索
  2. 由于distorton E nonconvex,进一步采用 projected-Newton(Hessian),保证PSD--采用TBB 并行化线性搜索过程
  3. 关于U有优化过程中,考虑distortion最小化要求时,根据T迭代是否满足要求来确定

        若更新内迭代T,则最小化要求较严格;若T不更新,该要求较宽松

7 evaluation

  1. 数据:benchmark mesh dataset
    1. 71model
    2. 80-10k 顶点,ave: 3.7
  2. 参数:bd : {4.2, 4.1, 4.05}.
  3. 指标,Es、 Ed、 运行时间(最大、小值,平均值)

7.1 对比试验 

实验类型

结论

Global bijectivity  VS local injectivity

Global bijectivity约束强:时间的多,seam

optCut VS autoCut(自动模式)

整体上:optCut 时间短,展开线短

进一步讨论Scalability(顶点数) 对时间的影响

顶点数越多,时间差异越大; 耗时:

optCut(无bijectivity约束)>optCut(有bijectivity约束)> autoCut

24k and 48k数据:autoCut(复制所有的顶点),out of memory

比较topology operation:

本文:local ——减少计算开销

其他:Geometry Images [Gu et al. 2002] - EB(extrema-to-boundary) cuts:connect the current boundary to the most distored point

 EB(extrema-to-boundary) cuts: 收敛较慢,展开线更长

EB在下述情况,收敛较快,但展开线更长:isometric(等距、等角) UV maps where extremities are less prominent(极端/末端不突出)

optCut VS autoCut(交互模式)VS Sorkine et al. [2002](Bounded distortion piecewise mesh parameterization)

optCut VS Unwrella2, ZBrush3, and Maya4,

hard-surface mode

occasionally produced UV meshes with local inversions and non-manifold vertices

解决办法:organic mode

Unwrella、Maya distortion的优化可能较宽松,因此:Unwrella、Maya结果的基础上,在seam不变的情况下,利用optCut再次最小化distortion得到最终结果,再与原始optCut对比

  • Zbrush: single chart (单个纹理块:变形大 && 展开线短)
  • Unwrella、Maya:multiple charts

7.2 讨论展开线的位置:Regional Seam Placement

  1. 远离显著区域:salient surface regions
  2. 方法:给显著区域surface加一个权重,用以惩罚seam length——权重越大,”length越长“
  3. 改进后的E_s

  4. 输入:salience map(w越大,显著性越强 w = 1~100):Salience map的格式到底是什么?是基于三维面片标注,还是基于二维展开标注
  5. 最后的最优解可能与无salience map情况不同,可能会更优,即权值w可能帮助跳出局部最优解

7.3 optCut的另一个应用:优化现有UV展开结果 

  1. 实验:
    1. 初始值:Seamster [She er and Hart 2002] ——检测局部曲率极值,并采用 MST进行连接;
    2. Seamster [She er and Hart 2002] 对输入的参数敏感(size of surface regions——与模型的形状有关,不同模型,需要调整该参数

8 conclusion

  1. 优化收敛性:尽管都收敛了(固定阈值 or 最优解cyclical recall,非启发式阈值)——但无法证明一定会收敛
  2. 满足distortion阈值的前提下,seam length 可能是个局部解
    1. 增加顶点位置扰动,可能帮助跳出局部解,得到distortion 更小的解
  3. 提速的要点:
    1. 拓扑操作,可以并行化
    2. 线性搜索是可以分解的
  4. 其他可能的改进:
    1. favor seamless parameterization,
    2. seam smoothness,
    3. the creation of charts that effciently use texture space.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员们,你会考虑使用中文编程吗?

众所周知&#xff0c;编程语言有一条无形的“鄙视链”。 Java和C#相互不服&#xff0c;并且看不起写Python的&#xff0c;Python看不起PHP&#xff0c;PHP看不起前端。而中文编程就在这个语言“鄙视链”的底端艰难生存。 有人对中文编程嗤之以鼻&#xff0c;相比于“人生苦短…

免费网课题库系统接口

免费网课题库系统接口 本平台优点&#xff1a;免费查题接口搭建 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a;题库后台http://daili.jueguangzhe.cn/ 题…

[附源码]计算机毕业设计JAVA职业中介信息管理系统

[附源码]计算机毕业设计JAVA职业中介信息管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…

Java进阶——IO流(I)

文章目录IO流一、文件1.1、文件流1.2、常用的文件操作1.2.1、创建文件对象相关构造和方法1.2.2、获取文件的相关信息1.2.3、目录的操作和文件删除二、IO流原理及流的分类2.1、Java IO流的原理2.2、流的分类2.3、IO流常用的类2.3.1、InputStream&#xff1a;字节输入流FileInput…

SSH 远程连接协议详解

一、SSH 协议 1、SSH 协议简介 SSH全称是Secure Shell,SSH协议是基于应用层的协议,为远程登录会话和其他网络服务提供安全性的协议。 SSH使用最多的是远程登录和传输文件,实现此功能的传统协议都不安全(ftp、telnet等),因为它们使用明文传输数据,而SSH在传输过程中的…

【云原生.docker】docker部署Redis集群

1、镜像拉取 docker pull redis:5.0.5 2、容器启动 docker run -d --nameredis-6400 --net host --privilegedtrue -v /home/dev/toms/docker_redis/data/redis-6400:/data redis:5.0.5 --cluster-enabled yes --appendonly yes --port 6400 & docker run -d --nameredis-…

在抖音及一些直播上,如何进行违禁词在线检测呢?

本文首发于&#xff1a;行者AI谛听 随着直播行业的兴起&#xff0c;越来越多的网红主播纷纷加入&#xff0c;平台的审核能力也面临着巨大的挑战&#xff0c;相对于平台的严格监管&#xff0c;很多主播也需要进行深层学习&#xff0c;避免在直播中出行违规。 其实很多主播在直播…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java小型餐饮综合管理系统j1c7m

首先选择计算机题目的时候先看定什么主题&#xff0c;一般的话都选择当年最热门的话题进行组题&#xff0c;就比如说&#xff0c;今年的热门话题有奥运会&#xff0c;全运会&#xff0c;残运会&#xff0c;或者疫情相关的&#xff0c;这些都是热门话题&#xff0c;所以你就可以…

文档对象模型 (DOM) :初学者介绍和指南

果你已经使用JavaScript一段时间了&#xff0c;你可能相当熟悉DOM&#xff08;文档对象模型&#xff09;和CSSOM&#xff08;CSS对象模型&#xff09;脚本。除了 DOM 和 CSSOM 规范定义的接口之外&#xff0c;CSSOM 视图模块中还指定了方法和属性的子集&#xff0c;从而提供了用…

Vue3知识点之数据侦测

Vue 的核心之一就是响应式系统&#xff0c;通过侦测数据的变化&#xff0c;来驱动更新视图。 实现可响应对象的方式 通过可响应对象&#xff0c;实现对数据的侦测&#xff0c;从而告知外界数据变化。实现可响应对象的方式&#xff1a; getter 和 setterdefinePropertyProxy …

IB课程工具书单,助力你考高分

亚马逊汇总了近期最畅销的IB课程工具书单&#xff0c;该书单以购买量和评分进行综合排名。其中的许多书籍都是IBDP学生可选用的绝佳工具书&#xff01;1、Physics for the IB Diploma Coursebook 这本书涵盖了IB 2016年首考的物理课程要求。这本课程手册的第六版针对IB物理教学…

写出go程序

1.安装go包 下载地址&#xff1a;https://golang.google.cn/dl/ 2.安装vscode 下载地址&#xff1a;https://code.visualstudio.com/ 安装好后 以打开文件夹形式打开.go文件。 该文件自己创建一个即可。

怎么视频提取音频文件?分享这3种简单实用的提取方法

不知道大家平时用手机刷视频的时候&#xff0c;会不会被一些好听的背景音乐给吸引了呢&#xff1f;这些背景音乐大多都是网友们自己合成导入视频上传的&#xff0c;可能在许多音乐平台都不能找到音源播放。遇到这样的情况&#xff0c;大家一定都很苦恼吧&#xff1f;但其实&…

Fluorescein(5-isomer)-DBCO,2054339-00-1,二苯基环辛炔-FITC(5-异构体)

一、理论分析&#xff1a; 中文名&#xff1a;二苯基环辛炔-FITC(5-异构体)&#xff0c;二苯并环辛炔-荧光素(5-异构体) 英文名&#xff1a;DBCO-FITC(5-isomer)&#xff0c;5-FITC-DBCO&#xff0c;Fluorescein(5-isomer)-DBCO CAS号&#xff1a;2054339-00-1 化学式&#xff…

遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)实践技术应用

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

代码随想录第一天

专题&#xff1a;数组 题目&#xff1a;二分查找 题目要求&#xff1a; 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。…

信号相角位移量的计算与信号位移计算-附Matlab代码

一、初始相角的位移量 在信号处理中正弦信号经常表示为 x(n)Acos⁡(2πf0n/fsθ)x\left( n \right)A\cos (2\pi {{f}_{0}}n/{{f}_{s}}\theta )x(n)Acos(2πf0​n/fs​θ)&#xff0c;其中 fs{{f}_{s}}fs​是采样频率&#xff0c; f0{{f}_{0}}f0​是正弦信号的频率&#xff0c;…

volatile关键字的原理和要避免的误区

1>防止指令重排 2>禁用工作内存缓冲区&#xff0c;直接使用主内存。 经典使用场景 场景1 public static Singleton getInstance() { //第一次null检查 if (instance null) { synchronized (Singleton.class) { //1 //第二次null检查 if (instance null) { //2…

flink sql gateway初探

文章目录前言1.启动SQL gateway2.打开session3.执行flink SQL4.查看执行结果5.获取operationHandle的status6.注意事项7.官方链接前言 flink 1.16版本中发布了一个新功能–SQL gateway&#xff0c;本篇文章就来实践测试下该功能。 1.启动SQL gateway ./bin/sql-gateway.sh st…

让企业报表化繁为简,Smartbi实现报表统一管理

报表作为大家日常工作的关键和必不可少的内容&#xff0c;往往需要定期进行维护和更新。处在工作的不同时间、不同岗位、不同职责&#xff0c;要做的报表也各不相同。随着时间的推移&#xff0c;手上的报表也会越来越多&#xff0c;而这还只是从个人的角度出发来理解&#xff0…