目录
3.1 Single-patch Mesh Parametrization
3.2 Global Mesh Parametrization
3.3 Signal-Specialized UV Maps
3.5 Alleviating the effect of seams
4.1. Enumeration of candidate merge operations
4.2. Performing a merge operation
4.2.2. Local UV re-optimization
4.3. Ranking of the candidate operations
4.4. Updating candidate operations
4.6. Extension to Multiple Texture Sheets
5.2.1 local optimization (alpha 邻域)
5.3 Comparison against computing an entirely new UV-map
1 introduction
- 不采用重新map的原因:
- 模型不连续,高分辨率--不利于参数化(模型复杂)
- resample纹理图,导致纹理信息损失
- 摄影测量三维重建,纹理问题
- 用参数化的思路——走不通
- undistorted map--不关注
- 根据映射后UV坐标(0~1)对原始重建影像采样(三维顶点投影到视图,得到像素坐标(隐含一次采样),变换得到到UV纹理图)
- 渲染时,需要对纹理图再采样(到screen)
- 总结:视图-纹理图-屏幕渲染(两次采样:信息损失)
- 模型不规整
- 目前的思路:三维顶点投影到视图,得到像平面坐标,再对像平面坐标采样,直接copy-拼接到最终的UV纹理图,无需额外采样
- 三维面片最佳视图的选择,与可视性 && 法向有关(尽可能选择正视图???
- 保证了与重建影像相同的采样密度: 近大远小(近处采样密度高,远处采样密度小)
- 疑惑?? 采样密度与UV纹理图中像素数相关;在人工UV展开时,像素数,应该与模型部位的重要性有关;而上述方法,像素数与该部位相对于最佳影像的深度
- 好处/意义
- 需要注意的点
- Seam - visible(视觉上尽量不可见)
- 全局一致性
- [LI07] LEMPITSKY V., IVANOV D.: Seamless mosaicing of image-based texture maps. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2007), IEEE Computer Society, pp. 1–6.
- [GWO∗10] GAL R., WEXLER Y., OFEK E., HOPPE H., COHEN-OR D.: Seamless montage for texturing models. Computer Graphics Forum 29, 2 (2010), 479–486.
- 三维面片最佳视图的选择,与可视性 && 法向有关(尽可能选择正视图???
- 当前做法的问题
- [YLT19] YUKSEL C., LEFEBVRE S., TARINI M.: Rethinking texture mapping. Computer Graphics Forum 38, 2 (2019), 535–551.
- Texture space - packing
- Texture pixel = texel
- Texel 重复
- 渲染时,基于UV图,采样颜色值时,采用双线性插值,得到最终的渲染值
- 在seam边界处,由于存在空白区域,上述插值,会导致seam边界处的渲染值不一致,进一步使得接缝明显;
- 因此seam边界处的插值,要考虑空间邻接性,体现为:将空间邻接的texel重复备份,用于插值
- seam越长,备份数据越多
- [RNLL10] RAY N., NIVOLIERS V., LEFEBVRE S., LÉVY B.: Invisible seams. Computer Graphics Forum 29, 4 (2010), 1489–1496.
- 问题2也加重了问题(预留更多gap来备份)
- 双线性插值本身,是种不连续的方式,使得seam两侧还是不一致
- Seam顶点的备份(标记seam??)--gpu memory/loading /cache
- seam导致缓存不一致?!!!
除第一个问题,其他都是渲染方面的问题??
- 用参数化的思路——走不通
2 overview
- 本文核心目标:
- 减少缝-碎片减少
- 尽可能保留原始变形属性,同时避免重采样
- 上述目标,是相互冲突,无法找到全局最优的解决方法,因此,采用贪心策略(需要去了解一下贪心策略的含义)
3 Related work
3.1 Single-patch Mesh Parametrization
- Single :强调只讨论基于变形度的map,不考虑seam
- 结合需求,应该侧重于基于纹理映射的参数化!!!!
- [FH05] FLOATER M. S., HORMANN K.: Surface parameterization: a tutorial and survey. In Advances in Multiresolution for Geometric Modelling (Berlin, Heidelberg, 2005), Dodgson N. A., Floater M. S., Sabin M. A., (Eds.), Springer Berlin Heidelberg, pp. 157–186.
- [SPR∗07] SHEFFER A., PRAUN E., ROSE K., ET AL.: Mesh parameterization methods and their applications. Foundations and Trends R in Computer Graphics and Vision 2, 2 (2007), 105–171.
- [HPS08] HORMANN K., POLTHIER K., SHEFFER A.: Mesh parameterization: Theory and practice. In ACM SIGGRAPH ASIA 2008 Courses (2008), SIGGRAPH Asia ’08.
- [LZX∗08] LIU L., ZHANG L., XU Y., GOTSMAN C., GORTLER S. J.: A local/global approach to mesh parameterization. Computer Graphics Forum 27, 5 (2008), 1495–1504.
- [SA07] SORKINE O., ALEXA M.: As-rigid-as-possible surface modeling. In Proceedings of the Fifth Eurographics Symposium on Geometry Processing (2007), SGP ’07, pp. 109–116.
- [RPPSH17] RABINOVICH M., PORANNE R., PANOZZO D., SORKINEHORNUNG O.: Scalable locally injective mappings. ACMTrans. Graph. 36, 2 (2017).
- [LZX∗08] LIU L., ZHANG L., XU Y., GOTSMAN C., GORTLER S. J.: A local/global approach to mesh parameterization. Computer Graphics Forum 27, 5 (2008), 1495–1504.
3.2 Global Mesh Parametrization
- global :强调考虑seam+基于变形度的map
- 二者同时考虑,构成NP-hard问题——一般采用启发式算法(heuristics)
- [PTH∗17] PORANNE R., TARINI M., HUBER S., PANOZZO D., SORKINE-HORNUNG O.: Autocuts: Simultaneous distortion and cut optimization for uv mapping. ACMTrans. Graph. 36, 6 (2017)
- 需要关注能够体现 平衡seam + distortion 的度量方式
- 难点:seam的衡量
- 本文: [MPCT20]:[MPCT20] MAGGIORDOMO A., PONCHIO F., CIGNONI P., TARINI M.: Real-world textured things: A repository of textured models generated with modern photo-reconstruction tools. Computer Aided Geometric Design 83 (2020).
- [LKK∗18] LI M., KAUFMAN D. M., KIM V. G., SOLOMON J., SHEFFER A.: Optcuts: Joint optimization of surface cuts and parameterization. ACMTrans. Graph. 37, 6 (2018).
3.3 Signal-Specialized UV Maps
- 含义:参数化过程中重点考虑纹理问题,纹理的信息是否被损耗
- 相关研究(重要)!!!
- [SWB98] SLOAN P.-P. J., WEINSTEIN D. M., BREDERSON J.: Importance driven texture coordinate optimization. Computer Graphics Forum 17, 3 (1998), 97–104.
- [SGSH02] SANDER P. V., GORTLER S. J., SNYDER J., HOPPE H.: Signal-specialized parametrization. In Proceedings of the 13th Eurographics Workshop on Rendering (2002), EGRW ’02, Eurographics Association, pp. 87–98.
- [BTB02] BALMELLI L., TAUBIN G., BERNARDINI F.: Space-optimized texture maps. In Computer Graphics Forum (2002), vol. 21, pp. 411– 420.
- 本文:不考虑纹理信号(原始纹理图,每个像素同等重要) && 不保证每个像素在最终的结果中,都1:1保留
- Signal specialization && avoid texture area to be resampled 是一个trade-off问题
3.4 Mesh repairing
- 用于解决摄影测量生成模型-inconsistent问题
- 参考:
- [ACK13] ATTENE M., CAMPEN M., KOBBELT L.: Polygon mesh repairing: An application perspective. ACM Comput. Surv. 45, 2 (2013).
- 结论:repair不适用
- repair步骤需要处理一个具有高几何复杂度和分辨率的mesh,其本身就是当前难以解决的问题
- repair后,会涉及到texel密度改变 && 重采样
- 本文仍旧基于原始模型(可以尝试repair)
3.5 Alleviating the effect of seams
- 减少seam number的几个目的(不同侧重点),相关方法包含一个或多个
- Servey:[YLT19] YUKSEL C., LEFEBVRE S., TARINI M.: Rethinking texture mapping. Computer Graphics Forum 38, 2 (2019), 535–551.
- 最接近本文应用场景的方法:
- [[SWG∗03] SANDER P. V., WOOD Z. J., GORTLER S. J., SNYDER J., HOPPE H.: Multi-chart geometry images. In Proceedings of the 2003 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing (2003), SGP ’03, Eurographics Association, p. 146â ˘A¸S155.] LIU S., FERGUSON Z., JACOBSON A., GINGOLD Y.: Seamless: Seam erasure and seam-aware decoupling of shape from mesh resolution. ACMTrans. Graph. 36, 6 (2017).
- 不同点:
- 参考文献只考虑了 visual artifacts
- 参考文献的实验数据,是小规模mesh,摄影测量的模型是大规模的&& 复杂的
3.6 Packing of texture charts
- packing问题嵌入到参数化问题中,类似于一个组合优化问题--采用启发式(类似于autoCut)
- 常规方法:chart栅格化-pack to 2d grid(最小化各种损失函数:pack水平高度?? chart之间的空隙空间)
- [LPRM02] LÉVY B., PETITJEAN S., RAY N., MAILLOT J.: Least squares conformal maps for automatic texture atlas generation. ACM Trans. Graph. 21, 3 (2002), 362–371.
- [SWG∗03] SANDER P. V., WOOD Z. J., GORTLER S. J., SNYDER J., HOPPE H.: Multi-chart geometry images. In Proceedings of the 2003 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing (2003), SGP ’03, Eurographics Association, p. 146â ˘A¸S155.
- [NS11] NÖLL T., STRIEKER D.: Efficient packing of arbitrary shaped charts for automatic texture atlas generation. Computer Graphics Forum 30, 4 (2011), 1309–1317.
- pack过程中,首先detect大的空隙空间(由复杂的seam边界line造成) ,然后通过split charts来减少这些空隙---其实质与减少seam number && length相悖 --trade-off
- 本文:
- 直接采用先有的packing方法,增加一个grid-perserving constraint
- 本文输入到packing额uv-map,chart 数量更少,形状更加规整
- 参考:[LVS18] LIMPER M., VINING N., SHEFFER A.: Box cutter: Atlas refinement for efficient packing via void elimination. ACMTrans. Graph. 37, 4 (2018).
4 Phases of the algorithms
- Linked edges: 与seam相对应的边
- Charts: connected component in UV-layout
- Linked chart: 通过linked edges 联系的charts
4.1. Enumeration of candidate merge operations
- Merge operations:
- 只考虑:merge the all linked edges of linked charts
- merge the subset of linked edges of linked charts:成立,但会增加merge operation的空间,故不考虑
- 针对 linked edge出现在同一个chart的情况--intra-chart,合并,不影响chart数目
- 舍弃无效的合并操作:将非0亏格变为0的操作
4.2. Performing a merge operation
- Merge operations,涉及到transform && topological unifying---会使相关tri变形--违背目的2,因此,用tri变形作为是否接受该merge的评判标准之一
- 在merge相关操作中,尽可能较少变形,体现为:
- Initial 步骤,采用刚性变换
4.2.1. Initial alignment
- Step1:将小的tri,2d gridly transformed to the 大的tri
- Transform: 刚性;目标:最小化对应顶点间的距离--最小二乘
- 这个变换,仅考虑距离,没有考虑其他限制:例如 变换后导致overlap && 较小tri朝向改变
- 前者通过merge取平均,可以消除;后者不可——这也是后续需要进行一致性检查的原因
- 绿色表示tir的正确方向,红色表示翻折后tir的错误面片
- 针对intra-chart, transform --identity
- transform中的rotation(非90°倍数),会引起最终纹理像素从原始零碎纹理图中进行重采样问题!!!(见notebility)
- Transform: 刚性;目标:最小化对应顶点间的距离--最小二乘
- Step2: Merge(vertice位置取平均)——会引起变形
4.2.2. Local UV re-optimization
- 局部调整,其他区域固定position
- As-rigid-as-possible(ARAP)
- isometric distortions
- 评价re-optimization:
- Minimized energy VS local th
- accumulated distortion VS global th
4.2.3. Consistency Checks
- Overlap
- 4.2.1 (如图2中的翻折)中的刚性变换---4.2.2前可以detected
- 4.2.2中的re-optimization
-
拒绝新的overlap,接受input中存在的overlap
4.3. Ranking of the candidate operations
- 感觉这个rank可以是突破点
- rank原因:
- merge(re-optimazation)耗时,优先merge成功率高的
- merge间相互影响,顺序很重要
- Rank-score意义
- 体现merge成功率
- 符合本文两大核心(seam 短;保留原始distortion/map)
- score的影响因素(主要是几何特征)
- 碎片少-chart总周长短-linked edges长度 / chart周长
- 为什么不是linked edges的绝对长度??
- 考虑到面片大小,采用相对长度??
- 最大值:1 对应 insidea hole or the other
- 此种情况,merge易成功 && 对应的边界容易造成global overlap---应该优先处理
- 变形少-initial align幅度越小--transform后,愈接近——linked vertics 平均距离
- 成功率大--实验表明,面片越小,计算复杂度越低,越容易成功
- 成功率大--实验表明,失败次数越多,越容易再次失败
4.4. Updating candidate operations
- Potential queue Q && failed queue F
- 成功:弹出操作S,更新 Q &&F (失败的与S相关的操作,在S成功后,可能成功)
- 更新:重新定义与S相关的操作 &&计算得分 && 排序
- 相关是指与S(a,b)中面片a,b有关
- 重新定义:此时该操作不是与a/b有关,而是与a,b merge后的unified chart有关
- 失败的与S相关的操作,在S成功后,可能成功:
- “当chart边界被以前的操作简化后,比如填补空白,全局重叠就变得不那么频繁了"
- 失败:将S放入F
4.5. Atlas Repacking
- 重点理解重采样
- Merge的对象是以UV坐标(0~1)表示的二维面片
- merge前后的对象,都需要对应到纹理图(像素空间)
- Tri1(merge前)---纹理图采样1---纹理像素1
- Tri2(merge后)---纹理图采样2---纹理像素2
- 若tri1 && tri2之间相差90°整数倍旋转/平移/水平 && 垂直翻转 则相同纹理图像素分辨率条件下,纹理图采样1&&2等效,纹理像素1&&2只相差90°整数倍旋转/平移/翻转(纹理像素快size/shape一致)
- 此时,可以避免纹理像素1->2过程中,由于采样1 &&2导致的信号损失
- ps:三维模型渲染过程的纹理采样
- 屏幕像素---屏幕采样--Tri(3d)--Tri(2d)---纹理图采样--纹理像素
- 本文packing算法的实质
- Grid-preserved(确定旋转)
- 最大化空间利用(确定平移-placement)
- grid-preserved-具体步骤:
- 每个chart内的tri,若能刚性变换,恢复零碎纹理图中(原始)uv位置,标记并记录旋转角度angle1,2,3…
- 对某个chart,记角度seta(个人理解 seta = angle1+n1*90° = angle2+n2*90°=…=angle_m+n_m*90°),使得m个三角面片占chart面积比(r)尽可能大--本文,采用3D area占比来代替2D area
- 若r大于阈值(本文5%),则上述m个三角面片(2D)被视作preserved,该chart被视作constrainted,在packing算法中,该chart整体的旋转分量为 k*90°-seta
- 影响因素:
- 结论:merge成功越多,resample也越多
- 最大化空间利用(确定平移-placement)
- 参考:[LPRM02, SWG∗03]
- [LPRM02] LÉVY B., PETITJEAN S., RAY N., MAILLOT J.: Least squares conformal maps for automatic texture atlas generation. ACM Trans. Graph. 21, 3 (2002), 362–371.
- [SWG∗03] SANDER P. V., WOOD Z. J., GORTLER S. J., SNYDER J., HOPPE H.: Multi-chart geometry images. In Proceedings of the 2003 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing (2003), SGP ’03, Eurographics Association, p. 146â ˘A¸S155.
- triUV--网格化(不是纹理像素化,但二者实质都是采样):
- placement:multiple horizons(不懂细节)
- 要点:greedy fashion, minimizing a cost function that penalizes wasteful placements.
- 放置顺序:
- 小于100个chart:随机——提高packing效率
- 大于100:根据chart面积,从大到小
- 参考:[LPRM02, SWG∗03]
- 新的纹理图的生成--上述步骤完成了triUV的packing,此时还没有采样到生成纹理像素!!!!
- Preserved:直接copy from the 原始纹理图像素值
- 其他:逐像素(取像素中心)计算新的uv坐标--变换对应到到旧的uv坐标(由顶点确定变换对应关系),再采样(从uv坐标采样纹理像素值,可能涉及到(双线性)插值)
- 之前实现了另一个版本:同于新旧uv坐标分别像素化,两个像素块进行仿射变换,从旧的纹理像素值获得新纹理图的像素值——二者貌似不同,后者似乎没有涉及到采样插值
- 针对纹理空间未使用的像素(不是冗余的纹理信息,而是空白部分)
- 本文:从使用的纹理像素中进行extend && blend
- Push-pull算法:[GGSC96]
- 目的/意义:contain the bleeding artifacts at any MIP-map level.
4.6. Extension to Multiple Texture Sheets
- 一些思考:见notebility
- 本文关于最终纹理图的数量 && 大小 &&分辨率的确定,细节如下:
- 假定存在多张纹理图(sheet),size不同,纹理图内部 && 纹理图之间分辨率相近(分析见note)
- 分辨率:输出纹理图与原纹理图分辨率保持一致
- 大小:等同于最大尺寸??看代码
- 数量:placement时,当前chart放不进当前sheet时,新建一个等大(最后去掉无效像素)
- 生成的多张纹理图,size可能不同
- 分辨率:输出纹理图与原纹理图分辨率保持一致
5. Results
5.1 defragmentaion 实验
- Benchmark dataset
- [MPCT20].--不同重建 tool
- inconsistencies such as nonmanifoldness, non-coherent face orientation, degenerate faces
- Texture: multiple image files
- 一些参数
- alignment error: 2*seam length ?? 什么东西
- Linked edge/周长 最低阈值20%
- Arap 阈值 local 0.5 entire 0.025
- Entire th要比local: 前者将distortion分散到所有tri,后者将distortion集中在部分邻域tir
- alignment error: 2*seam length ?? 什么东西
- Time 5min
- 结果评价(defragmentation--seam减少)——一些定量化指标
- Atlas solidity--Seam length / texture area 外接边界
- Number of charts
- Uv border length
- Atlas solidity--Seam length / texture area 外接边界
- 变形度--ARAP energy (新旧uv layout)
- Resample--本文与其他方法的最大区别点???其他方法---统计不需要重采样的面片/总面片 (3D mesh)
- 其他相关问题,practical broblem(与defragmentation间接相关)
- Vertex Replication Coefficient(before):the ratios of the number of 2D vertices to 3D vertices
- Number of texture samples:
- 不是纹理采样次数,而是纹理图size!!!
- 异常分析:部分texture size 变大
- Packing: padding 4 -pixel --> 8 pixel apart (chart)
- 意义:保证了MIP-mapping level two--correct filtering
- Mip-mapping---然而一些原始零碎纹理图没有padding
- 根据景深,调整模型纹理贴图的大小(近大远小),节约资源
- 合并后,chart变大,packing变难
- 解决办法,但从packing角度考虑,cut chart---但与本文goal相反
- 解决办法,但从packing角度考虑,cut chart---但与本文goal相反
- Packing: padding 4 -pixel --> 8 pixel apart (chart)
5.2 ablation study
- 对本文方法的一些步骤,进行更细致的讨论
5.2.1 local optimization (alpha 邻域)
- 统计不同alpha值下,相关实验结果
- alpha值与相关结果的关系:alpha越大,atlas solidity 变大,resample 变大,运行时间边长
5.2.2 greedy order
- 本文顺序 vs随机
- 后续想进一步改进order???
5.2.3 appeal score factors
- 控制变量,去除其中一个factor;Size-Bonus情况较复杂
5.3 Comparison against computing an entirely new UV-map
- 现有的软件或者开源方法,无法直接处理基于摄影测量的三维模型:due to various inconsistencies on the input models or their excessive resolution
- 转换思路:根本不同是map考虑的变形度量
- 3dmesh && 2d new uv layout
- 2d old uv layout &&2d new uv layout
- 上述两种思路在以下情况,区别明显(还不懂为什么):
- Texture samples distribution:纹理分辨率
- 具体的对比实验:
- Composite Majorization [SPSH∗17], using scaffolding[JSP17] to ensure the new texture atlas is overlap-free.
- [SPSH∗17] SHTENGEL A., PORANNE R., SORKINE-HORNUNG O., KOVALSKY S. Z., LIPMAN Y.: Geometric optimization via composite majorization. ACMTrans. Graph. 36, 4 (2017).
- [JSP17] JIANG Z., SCHAEFER S., PANOZZO D.: Simplicial complex augmentation framework for bijective maps. ACM Trans. Graph. 36, 6 (2017).
- 核心思路:减少原始UV distortion(3dmesh && 2d new uv layout),不影响 cut layout
- 重点是为了探讨本文在distortion上衡量的有效性
- 结论:本文
- preserving highly detailed areas and high frequencies of the input texture image
- 中间那列确实有点模糊,可能是因为涉及到大量重采样---看看我自己的实验呢
- Composite Majorization [SPSH∗17], using scaffolding[JSP17] to ensure the new texture atlas is overlap-free.
6. conclusions
- 本文方法的亮点(相较于re-parametrization)
- the first approach to target specifically the goals set in Sec. 2
- Future work
- Local optimization 中融入 avoid re-sample 约束
- 可能会比较难,但是最近有些数值研究可以参考
- [PTH∗17, LKK∗18].
- [LKK∗18] LI M., KAUFMAN D. M., KIM V. G., SOLOMON J., SHEFFER A.: Optcuts: Joint optimization of surface cuts and parameterization. ACMTrans. Graph. 37, 6 (2018).
- [PTH∗17] PORANNE R., TARINI M., HUBER S., PANOZZO D., SORKINE-HORNUNG O.: Autocuts: Simultaneous distortion and cut optimization for uv mapping. ACMTrans. Graph. 36, 6 (2017).
- Limitations
- 大量冗余图片,不适用,不懂??
- 不适用可以利用超分辨率技术提高纹理质量的情景(我的理解是,如果能用超分辨率提高纹理质量,那么就可以直接re-parametrization)
- 也不适用于需要对纹理图像进行降采样的情况(原始重建影像是高分辨率影像)??不懂--In both(b,c) cases, the benefit of inheriting the input texel distribution is diminished (although the reliability and robustness of the proposed method would still be an advantage).
- meshlab已经集成了??202105 !!!
MeshLab 2021.05 is out! · Discussion #992 · cnr-isti-vclab/meshlab · GitHub
https://github.com/cnr-isti-vclab/meshlab/releases
体验其在meshlab中的实验,参考meshlab中代码实现 是否与开源一样,是否有关于加速优化等东西可以借鉴