当前位置: 首页 > news >正文

论文阅读-三维结构几何修复(导-4)

摘要

解决了3D数字模型中大洞修复的问题。

通过基于字典学习的方法解决了缺失区域推断问题,该方法利用从单个自相似结构在线深度数据库中得出的几何先验。利用几何先验提供的线索,从洞的边界周围自适应地传播局部3D表面平滑性来恢复底层表面。在合成和真实示例中不同复杂性和大小的洞上进行了性能展示。

预处理步骤:生成3D网格作为输入数据。目标处理大的缺失区域,因此无法从受损对象本身的邻近区域填充缺失的数据。然而,在存在与受损对象自相似的示例的情况下,我们提出了一种基于梯度图字典学习的方法来利用几何先验。假设存在一个自相似的示例(我们只需要一个!)对于考古遗址来说是合理的。通过利用洞中“缺失”的底层几何形状显示出局部平滑变化的约束来推断缺失的几何形状。

之前的研究:

在H边界附近存在的表面拓扑的自然延展,同时在过程中保持不同区域的局部表面曲率平滑性[11]。像[5]这样的工作已经尝试使用局部邻域的平滑性先验来完成小缺失区域的网格。他们考虑了使用体积扩散将邻域几何形状迭代扩展到洞中。然而,这种方法无法正确修复具有该对象类别独特表面复杂性的大洞。[9]中讨论了利用张量投票(TV)框架对光滑表面进行孔洞填充。

文章的方法:

三维数据需要标记与预分割数据库,但是手动标记十分麻烦,我们通过利用一个自相似例子中利用的几何先验,并结合在线可用的深度图,提供关于孔区域内复杂表面变化的类特定先验信息,来解决这个难题。这可以为该对象类唯一的表面复杂性提供一个有效的先验。这个方法不同于基于张量投票(TV)的[24]方法,后者需要几个(通常是> 5)自相似的例子。

用单一的自相似的例子填充孔:

我们从一个要修复的目标结构的3D模型(点云)开始,假设只有一个自相似结构可用。损坏的结构S和其自相似示例{M}之间的3D点云可能存在大的姿态变化。因此需要配准:

由于采集环境不是受控设置,3D模型可能存在大量的异常值。然而,{M}与S自相似的事实通过提供与损坏区域和异常值相比的大量相似未损坏区域,有利于这个配准步骤。因此,首选能够高效处理异常值的鲁棒点云配准技术,如CPD(Coherent Point Drift)[18],以获得自相似示例的最佳可能变换T。此外,我们确保只有3D模型的未损坏部分参与配准过程。但是点云配准不能解决局部尺度变化,这反过来可能导致修复结果中的边界伪影。我们的目标是在保持对单一自相似示例提供的先验的忠实度的同时,将局部区域平滑性传播到孔洞中。

字典学习(DL)为给定的信号类别提供了强大的局部表示[1]。由于有多个深度数据库在线可用,因此尝试基于DL的方法进行洞填充是合理的。表面梯度被认为对相对尺度差异的影响具有弹性,可以详尽地捕捉可能存在于表面上的高阶曲率。我们提出在DL框架内通过从自相似示例M′中获取梯度来指导从在线深度数据库学习到的稀疏表示的选择,以推断最能代表来自M′的几何先验的缺失区域。实际的修复过程从外部向内部进行。为了保留局部表面曲率变化,从当前洞边界{hk}到洞中心的洞填充策略被遵循,其中在洞边界附近的S上的定向表面点推断沿洞边界{hk}的缺失表面点。这些新推断的表面点S(hk​)连同原始值有助于推断沿新洞边界的缺失表面点,这个过程重复进行,直到洞完全被填充。

纹理领域中的一个相关问题在泊松图像编辑[22]中得到了解决。这种技术已被证明能够成功地将给定的纹理补丁融合到可能完全不同的背景图像上。我们还利用了来自配准的自相似示例M′的已知梯度场,这些梯度场来自与破损结构的损坏区域H相对应的区域。然而,与[22]相比,我们寻找一组从过度完整的字典D中稀疏表示,这些表示最能代表当前洞边界(P)的已知区域。其中,与M′在当前边界点hk​的未知区域中最相似的梯度的稀疏表示被用来为缺失区域提供估计。

3.1. 深度字典生成

随着范围扫描仪的广泛可用性,近年来已经有几个深度数据库在线提供[13]、[26]和[19]。我们继续构建一个字典以促进稀疏表示。遵循基于k-SVD的DL[1]、[16],我们从在线深度数据库中随机选择的大量深度图中提取大小为pxp的重叠局部补丁{Ji},并将它们排列成一个矩阵Y,

,,表示一个lexicographically

问题演化为

证明了基于字典的表示在重建一些标准范围图像中的有效性。

3.2.数据融合使用梯度

结论

我们提出了一个基于字典学习和表面梯度的方法,当只有一个自相似的例子(在一个不受控制的环境中捕获)可作为几何先验。本文给出的结果表明,即使是使用所提出的框架的非常具有挑战性的场景,也有可能进行忠实的重建,尽管偶尔会有少量的局部伪影

http://www.lryc.cn/news/466302.html

相关文章:

  • 数字货币交易所源码开发:场外(OTC)与币币交易所系统的构建指南
  • C++ 进阶:类相关特性的深入探讨
  • C++ 多态、虚析构、模板类、常函数、虚继承、虚函数和纯虚函数相关知识和问题总结
  • 计算机组成原理一句话
  • 【Linux】僵尸进程和孤儿进程
  • Patchcore运行过程
  • 一小时快速入门Android GPU Inspector
  • 二叉树展开为链表
  • 基于SpringBoot+Vue+uniapp微信小程序的教学质量评价系统的详细设计和实现
  • 【二刷hot100】day 4
  • 10.22学习
  • 【不要离开你的舒适圈】:猛兽才希望你落单,亲人总让你回家,4个维度全面构建舒适圈矩阵
  • OpenIPC开源FPV之Channel配置
  • UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程
  • 【C++】踏上C++学习之旅(三):“我“ 与 “引用“ 的浪漫邂逅
  • 中间件之Seata
  • MySQL 异常: “Host ‘xxx‘ is not allowed to connect to this MySQL server“
  • c语言中字符串函数strlen,strcmp,strcpy,srtcat,strncpy,strncat,strncmp
  • 携程线下一面,面试内容:
  • DeepL翻译:全世界最准确的翻译
  • 15分钟学Go 实战项目一:命令行工具
  • lesson02 作业
  • 港大和字节提出长视频生成模型Loong,可生成具有一致外观、大运动动态和自然场景过渡的分钟级长视频。
  • RabbitMQ进阶_可靠性
  • JavaScript字符串的常用方法有哪些?
  • jmeter发送post请求
  • 图文深入理解Oracle Total Recall
  • 腾讯云控制台URL刷新URL预热 使用接口刷新
  • 构建后端为etcd的CoreDNS的容器集群(二)、下载最新的etcd容器镜像
  • libaom-all-intra参数说明