【论文阅读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 摘要
- first --seam(离散的) && distortion(连续的)同时优化:
- 交互:
- Bounding boxes: packing islands(control the placement of the parameterization patches in the UV space)
- Painting of regions: seam region
- separate overlapping regions
- move vertices,
- cut mesh parts,
- join seams,
- 上述交互:要么强约束:加入到能量函数 要么软约束:引导优化方向
- 其他方法:trial-and-error(试错型):cut-distortion (不满足要求,再重新cut,重复)
1 introduction
- 核心:Cut- 从现有的mesh edge 入手
- 单独每个三角面片分割,再seam融合(most,形式:E中的sparsity inducing norm)
- 实质:edge宽松的二分类问题:
- 刚开始:介于二者之间,优化后,属于二者之间
- Edge: seam or regular edge or 介于二者之间
2 related work
2.1 Minimizing distortion
- isometric:angles and areas
- Distortion measure:
- 保角:UV变量的二次表达——稀疏最小二乘问题-难
- 角&面积——非线性,非凸
- local/global optimization[Liu et al. 2008]——同时考虑、权衡isometric &&face map 后的不连续性[Liu et al. 2008] 本文:借鉴local/global optimization:为每个三角面片的每个顶点单独指定uv变量--实现uv空间三角面片的分离(detaching)
- 优化对象Iteratively updated convex proxy(non-convex)——考虑 isometric && inversion-free
- 本文:同时考虑--意义
- Cut: spread the error equally over the surface,
- Distortion: concentrate the error in a discrete set (the cut vertices) and leave it at zero everywhere else,
2.2 Optimizing cuts
- 第一类:先确定cut,再计算map(disk-topology)
- accept cuts as input and compute the mapping of a surface that has the topology of one or several disks
- 其他方法:
- 限制the shape of cut
- 优化整个2D patch shape (free-boundary)
- 当前:避免local/global self-inersections (boundary-free && 降低isometric distortion)
- 另一种理解:Cut--等效于参数化过程的一部分【即,surface 参数化过程中,解决cut问题】,分为三类:
2.2.1 Cuts for remeshing applications
- 实质:以remesh(quadrilateral remeshing)为导向的参数化:cut的两对应边,在UV空间,相差旋转(0.5PI的整数倍) && 平移变换 此种情况,cut被视作griddable(利用grid可以实现seamlessly traverse)——此时的参数化交做: seamless
- 此类,有些不考虑seam的位置--[Bommes et al. 2009] and the survey [Bommes et al. 2013]
- 一些考虑cone singularities 锥奇点位置(griddable cut的端点)——作为优化目标
- 一些考虑griddable cut的位置(包括straightness,alignment, and shortness )
- 评价
- cut的约束只和remesh有关
- 然而,顾及texture UV的展开应考虑:
- trading Gaussian curvature inside patches for line curvature at their boundary,reducing distortion.
2.2.2 Adding cuts while minimizing distortion:
- 核心:着重关注降低局部变形
- 法1:greedily增加cut,以减低变形
- 法2:通过分析Gaussian curvature and visibility,确定较好的cut位置
- 实质:在cut优化的过程中,部分考虑变形,依赖于一种启发式的方式,非全局(ours)
2.2.3 Generating cuts by mesh partitioning
- 实质:mesh划分程多个disk-topology的patch 因此,cut = patch boundary
- 相关mesh划分方法:(聚类,种子点法)
- 评价:这是间接法,无法得到optimal UV maps 进一步,上述方法得到的结果:
- patches--smaller &&numerous
- cut发生在不同类的patch之间,而人工编辑的话,同种patch也是允许cut的
2.2.4 Bypassing the need for cuts:
- 实质:绕过去找到good cut的需求
- 方式1:直接同时定义2D 参数化和重新纹理映射 like direct painting on 2D textures and redering
- 方式2:降低cut的不利影响,即“差的cut,也没啥坏结果”
2.2.5 Existing tools for manual cut placement: (Back to Top)
- 大部分需要人工辅助
- distortion minimization 自动化难度不大;
- placement of cut难以实现自动化--本文:该步骤半自动,无需全人工
- 缺点:
- 耗时
- Mesh irregular---难度变大(select consxecutive edges--edge loops)本文:不依赖mesh 连续性的规则
4 framework implementation and results
4.1 Implementation,performances, 参数
- 线性搜索--Pardiso solver
- 运行时间与mesh size线性相关
- 一次迭代 15ms/3k面片
- 100ms/20k
- 交互调整的参数: sigma && lamda
- sigma: 初始化1 ,后续 乘 2/0.5
- lamda: 初始化1 后续调整介于[0,1]区间 (distortion && cut的平衡因子)
4.2 初始化 && 最终结果 (Back to Top)
- X(uv坐标)初始化:
- placing the triangles individually in the plane with a rigid transformation(transformation不影响效率)(如下图第二个)
- 好处:高效(迭代次数较少),简单
- 本文算法对初始方式(下述3种)不敏感
- Finalizing the Uvmap
- 要求:连续 && patch 不跨过seam
- 方法(保证连续):对于每一对cornerseparation 较小的corner(Es< 0.5),根据average 整合
- 最后UV空间scale and translate into [0,1]^2
4.3 非人工模式 && 人工模式(含对比)
- Our Unassisted cutting VS UV Master(ZBrush’s UVMaster [Pixologic 2017],
- 大量人工交互,多次重复指定cut的可选/禁忌区)
- 结果:前者Cut along the edges VS 后者random
- Assisted cutting:
- 本文:用户交互选择cut edge(click or paint )---更改edge对应的two pairs of corner的权重(E_seperation)——实验证明:指定一条edge(被cut)作为”种子点“,就足够得到较好的结果
- 用户还可以直接操作UV 碎块(deform tear and attach the UV island)
4.4 两个重要交互功能
4.4.1 Boundary rectangles (Back to Top)
- 意义:UV空间高效利用 && aid packing
- 本文:提供交互接口——画 && 编辑 bounding rectangle
- 实现:增加一个soft constraint (不能在指定的矩形外部),具体为给目标函数增加:beta(=100,权重)*B
- B :针对与boundary相关的UV 坐标,根据 (10)求cost,再求和
4.4.2 Removing self-overlaps.
- Global-overlap && local-overlap (triangle flips)
- 已有的做法
- Automatic:[Smith and Schaefer 2015] :
- 考虑global-overlap
- 具体做法:参数化的初始解,保证overlap-free,后续优化过程也保证满足该条件---缺点:会极大得缩小解空间(增加了额外约束)
- 交互工具:依赖于用户来实现
- 效果:比直接去除overlap快;但是效果不好,还是需要后续人工调整
- 用户可以随时调整目前global overlap情况
- Automatic:[Smith and Schaefer 2015] :
- 本文:
- 核心:同[Sorkine et al. 2002]greedy策略
- 具体做法:
- 采用宽度优先顺序,从”种子面片“开始,遍历triangle——依次调整UV空间三角面片的位置,保证不会与先前遍历的三角面片重叠——得到一个patch
- 当满足终止条件后,再选择新的”种子面片“
- 评价:此种基于overlap的三角面片位置调整,只影响boundary???
4.5 其他功能
4.5.1 UVmaps for quad meshes && irregularmeshes (Back to Top)
- 针对quadrilateral or polygonal meshes:将其三角化(distortion measure是基于三角面片的),同时给三角化过程新生成的边增加权重(100),使得在优化过程中那些边不被cut
- 针对irregular mesh(irregular face && non standard topologies)--本文方法不受影响(因为使用triangle soup——所有的顶点copies)
4.5.2 Cut length vs. number ofcuts (Back to Top)
- Cut number---number of vertex duplication
- 做法:
- 现有能量函数,在 seperation measure 中用cut长度来加权
- 若想引入将cut length 转换为cut number, seperation measure 中的权值都为1(代替length)
4.6 与[Sorkine et al. 2002]对比
- 侧重点: low distortion && small number of cuts
- greedy manner
- 初始状态:选择一个参数化后,符合等距要求的triangle Tri0
- 迭代:不断往Tri0附加triangle,得到一个patch(终止条件:distortion bound && self-intersection)
- [Sorkine et al. 2002]结果:over-segmented 很多patch含单个triangle,或短条状triangle
5 limitation and conclusion (Back to Top)
- 核心点:cut && distortion --放在一个能量函数中,同时考虑 (以前的工作:要么二选一,要么先后进行)
- 后续改进点(不足)
- mesh scale < 20k
- 降低问题的自由度(当前所有edge作为候选cut,后续,可以缩小候选空间)
- 加速:Another direction for future work is adapting acceleration techniques [Kovalsky et al. 2016; Liu et al. 2017] to our formulation.
- 两个问题还未考虑--未自动化实现,目前需要交互(思路:融入到能量函数):
- Global overlaps
- Packing of charts(紧凑性排布??)
【论文阅读30】-《Autocuts: Simultaneous Distortion and Cut Optimization for UV Mapping》相关推荐
- [论文阅读] (30)李沐老师视频学习——3.研究的艺术·讲好故事和论点
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- 【联邦学习论文阅读】FedProx(2018)Federated Optimization in Heterogeneous Networks
[FedProx]论文链接:https://arxiv.org/abs/1812.06127 摘要 联邦学习面临两个关键挑战:系统异构性:统计异构性.本文的FedProx可以解决联邦学习的异构性,可看 ...
- 【论文阅读】LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping
LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 摘要 I. 介绍 II. 相关工作 III. 基于 ...
- 【论文阅读】Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping
这篇论文提出了一个改进的地图生成方法,使用的传感器是激光雷达,所以这里也划分到激光SLAM的范畴下了.论文提出的框架的改进主要在两方面,一方面是使用了基于体素化的GICP匹配成本因子,采用这种方法可以 ...
- 论文阅读:(一)Voxblox++:Volumetric Instance-Aware Semantic Mapping and 3D Object Discovery
语义SLAM定义: SLAM技术完成了机器人对环境的几何信息的理解,但是忽略了对环境语义信息的理解.单纯的SLAM技术是缺乏场景理解能力的,机器人实时的对3D环境感知理解能力是智能体的技术的关键部分. ...
- 【论文阅读32】《Texture Defragmentation for Photo-Reconstructed 3D Models》
目录 1 introduction 2 overview 3 Related work 3.1 Single-patch Mesh Parametrization 3.2 Global Mesh Pa ...
- 3D目标检测论文阅读多角度解析
3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...
- YOLOv4论文阅读(附原文翻译)
YOLOv4论文阅读(附原文翻译) 论文阅读 论文翻译 Abstract摘要 1.Introduction 引言 2.Related work相关工作 2.1.Object detection mod ...
- 论文阅读笔记--Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods 人体姿态估计综述
趁着寒假有时间,把之前的论文补完,另外做了一点点笔记,也算是对论文的翻译,尝试探索一条适合自己的论文阅读方法. 这篇笔记基本按照原文的格式来,但是有些地方翻译成中文读起来不太顺,因此添加了一些自己的理 ...
最新文章
- 终端不能联网_详细解析物联网是什么?
- 涨知识!外贸中,船公司S/O(订舱单)文件英文解释!
- mysql 导出数据为csv格式
- gmock学习01---Linux配置gmock
- hibernate管理实体的三个状态
- AnkhSVN的自动加锁
- 简述机器指令与微指令之间的关系_计算机组成原理期末考试题-百度文库
- mysql按域排序_如何在MySQL中对域名进行排序?
- kafka 消费者offset记录位置和方式
- rails--bcrypt对密码加密
- 电脑虎牙,虎牙助手主播版电脑版
- 学李炎恢老师的PHP第一季 笔记 多用户留言系统-TestGuest0.2
- vs2003无法打开sal.h
- 自平衡小车的原理和硬件设计
- python读取nc文件并转换成csv_python - 在python 3中读取Crystal Report .rpt文件并将其转换为.csv或.xlsx - 堆栈内存溢出...
- mac 10.8 montion lion 山狮系统上 安装 rails 和 oci8 连 oracle 数据库
- 遥远的路:【码农】的成长困惑
- 新库上线 | CnOpenData制造业工商注册企业基础信息数据
- 100项目插件激活程序验证码,自行复制
- 怎么从H5广告页内复制微信号直接调起微信客户端添加好友