当前位置: 首页 > 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.数据融合使用梯度

结论

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

相关文章:

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

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

数字货币交易所源码开发:场外(OTC)与币币交易所系统的构建指南

在区块链技术迅速发展的推动下,数字货币市场的需求大幅增加。数字货币交易所作为加密货币的主要交易场所,成为了开发者和企业关注的焦点。市场上有多种交易模式可供选择,最常见的是场外交易(OTC)和币币交易。本篇文章将…...

C++ 进阶:类相关特性的深入探讨

⭐在对C 中类的6个默认成员函数有了初步了解之后,现在我们进行对类相关特性的深入探讨! 🔥🔥🔥【C】类的默认成员函数:深入剖析与应用(上) 【C】类的默认成员函数:深入剖…...

C++ 多态、虚析构、模板类、常函数、虚继承、虚函数和纯虚函数相关知识和问题总结

1. C 中的多态 多态(Polymorphism)是面向对象编程中的一个重要特性,它允许使用相同的接口来表示不同的类型。由于派生类重写基类方法,然后用基类引用指向派生类对象,调用方法时候会进行动态绑定,这就是多态…...

计算机组成原理一句话

文章目录 计算机系统概述存储系统指令系统 计算机系统概述 指令和数据以同等地位存储在存储器中,形式上没有差别,但计算机应能区分他们。通过指令周期的不同阶段。 完整的计算机系统包括,1)软件系统:程序、文档和数据&…...

【Linux】僵尸进程和孤儿进程

一、僵尸进程 何为僵尸进程? 在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的,父进程永远无法预测子进程到底什么时候结束。当一个进程调用 exit 命令结束自己的生命时&#xff…...

Patchcore运行过程

论文github地址:https://github.com/amazon-science/patchcore-inspection 平台:autodl云服务器 1.将下载的代码上传到autodl-tmp/PatchCore里面解压,将数据集上传path_to_mvtec_folder/mvtec里,目录结构如图 2.安装依赖 cd au…...

一小时快速入门Android GPU Inspector

本文介绍如何使用 Android GPU Inspector (AGI) 对Android 应用进行系统性能分析和帧性能分析 。面向熟悉Android图形的开发者。 待分析应用需要的前置条件 (1) 将应用设置为可调试状态 <application [...] android:debuggable"true">&#xff08;2&#xff09…...

二叉树展开为链表

二叉树展开为链表 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…...

基于SpringBoot+Vue+uniapp微信小程序的教学质量评价系统的详细设计和实现

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...

【二刷hot100】day 4

终于有时间刷刷力扣&#xff0c;求实习中。。。。 目录 1.最大子数组和 2.合并区间 3.轮转数组 4.除自身以外数组的乘积 1.最大子数组和 class Solution {public int maxSubArray(int[] nums) {//就是说可以转换为计算左边的最大值&#xff0c;加上中间的值&#xff0c…...

10.22学习

1.求余 在C语言中&#xff0c;求余操作是通过取模运算符 % 来实现的。取模运算符会返回两个数相除后的余数。对于正数和负数的除法&#xff0c;求余的结果会有所不同&#xff0c;但 % 运算符总是返回被除数的符号。 下面是一个简单的例子&#xff0c;展示如何使用 % 运…...

【不要离开你的舒适圈】:猛兽才希望你落单,亲人总让你回家,4个维度全面构建舒适圈矩阵

单打独斗的英雄时代已经落幕 抱团取暖才是社会寒冬的良策 自然界中&#xff0c;每个物种都占据着自己的领地和生存空间。 生态位的差异决定了它们的生存方式&#xff0c;一旦离开领地&#xff0c;失去群体的庇护&#xff0c;就会沦为野兽的美餐。 人类社会同样存在隐形圈层…...

OpenIPC开源FPV之Channel配置

OpenIPC开源FPV之Channel配置 1. 源由2. 现象3. 硬件3.1 模拟频点3.2 数字频点2.4GHz频段频点表格 (802.11b/g/n):5GHz频段频点表格 (802.11a/n/ac): 4. 分析5. 实验6. 参考资料 1. 源由 无线信号&#xff0c;传输过程中不可避免都会受到干扰。同时&#xff0c;由于在一个开放…...

UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程

一、如何关闭防火墙&#xff1f; 提示&#xff1a;安装软件之前&#xff0c;建议先 关闭防火墙和杀毒软件&#xff01;&#xff01;&#xff01; 文章目录 一、如何关闭防火墙&#xff1f;二、UG NX12.0安装包三、UG NX12.0安装教程1.新建文件夹2.安装JAVA环境3.安装许可证管理…...

【C++】踏上C++学习之旅(三):“我“ 与 “引用“ 的浪漫邂逅

文章目录 前言1. "引用"的概念1.1 "引用"的语法 2. "引用"的特性3. "引用"的使用场景3.1 "引用"做参数3. 2 "引用"做返回值3.2.1 "引用"做返回值时需要注意的点 4. 常引用5. "引用"在底层的实…...

中间件之Seata

一、引言 在微服务架构日益盛行的今天&#xff0c;分布式事务成为了一个必须面对和解决的问题。传统的本地事务已经无法满足分布式环境下的数据一致性需求&#xff0c;因此分布式事务解决方案应运而生。Seata作为一款开源的分布式事务中间件&#xff0c;以其高性能、易用性和灵…...

MySQL 异常: “Host ‘xxx‘ is not allowed to connect to this MySQL server“

update user set host % where user root; FLUSH PRIVILEGES; 这两行代码就行...

c语言中字符串函数strlen,strcmp,strcpy,srtcat,strncpy,strncat,strncmp

1.strlen的使用和模拟实现 strlen 用来求字符串的长度&#xff0c;统计\0之前字符的个数。 模拟实现1&#xff1a;计数参数法 #include<stdio.h> #include<assert.h> size_t my_strlen(char* str) {int count0;assert(str);//assert断言是判断是字符串不能为空w…...

携程线下一面,面试内容:

面试时间&#xff1a;2024/9/12 • 实例方法和静态方法有什么不一样? • Java中的异常有哪几类?分别怎么使用? • 常用的集合类有哪些?比如List如何排序? • ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么? • 内存溢出是怎么…...

DeepL翻译:全世界最准确的翻译

DeepL翻译是一款高质量的机器翻译工具&#xff0c;以下从产品描述、产品特色、适用人群、适用场景四个方面对其进行介绍&#xff1a; 体验地址&#xff1a;DeepL翻译&#xff1a;全世界最准确的翻译 产品描述 DeepL是一家德国公司&#xff0c;以其高质量的机器翻译服务而闻名…...

15分钟学Go 实战项目一:命令行工具

实战项目一&#xff1a;命令行工具 1. 引言 命令行工具是开发者常用的工具之一&#xff0c;它可以帮助用户通过命令行界面对程序进行控制和交互。在这节中&#xff0c;我们将创建一个简单的命令行工具&#xff0c;以帮助你理解Go语言的基本语法和如何处理命令行输入。在这个过…...

lesson02 作业

lesson02-01作业 小红的体重是 m 千克&#xff0c;她想知道自己的体重在磅&#xff08;1 千克约等于 2.20462 磅&#xff09;是多少 输入描述 输入一个整数表示小红的标准体重m(kg) 输出描述 输出一个整数表示转换后的磅值n 磅 示例 输入&#xff1a; 50 输出&#xff1a…...

港大和字节提出长视频生成模型Loong,可生成具有一致外观、大运动动态和自然场景过渡的分钟级长视频。

HKU, ByteDance&#xff5c;⭐️ 港大和字节联合提出长视频生成模型Loong&#xff0c;该模型可以生成外观一致、运动动态大、场景过渡自然的分钟级长视频。选择以统一的顺序对文本标记和视频标记进行建模&#xff0c;并使用渐进式短到长训练方案和损失重新加权来克服长视频训练…...

RabbitMQ进阶_可靠性

文章目录 一、 发送者的可靠性1.1、 生产者重试机制1.2、 生产者确认机制1.2.1、确认机制理论1.2.2、确认机制实现1.2.2.1、定义ReturnCallback1.2.2.2、定义ConfirmCallback 二、 MQ的可靠性2.1、 数据持久化2.1.1、 交换机持久化2.1.2、 队列持久化2.1.3、 消息持久化 2.2、 …...

JavaScript字符串的常用方法有哪些?

1.1操作方法 归纳为增删查改 1.1.1增 这里不是直接增添内容&#xff0c;而是创建字符串的一个副本&#xff0c;再进行操作 处理用以及${}进行字符串拼接外&#xff0c;还可以通过concat 1.1.1.1concat 用于将一个或多个字符串拼接为一个新字符串&#xff08;浅拷贝&#…...

jmeter发送post请求

在jmeter中&#xff0c;有两种常用的请求方式&#xff0c;get和post.它们两者的区别在于get请求的参数一般是放在路径中&#xff0c;可以使用用户自定义变量和函数助手等方式进行参数化&#xff0c;而post请求的参数不能随url发送&#xff0c;而是作为请求体提交给服务器。而在…...

图文深入理解Oracle Total Recall

List item 题记&#xff1a;本文图文深入理解Oracle Total Recall技术。 1. Oracle Total Recall 概述 Oracle Total Recall&#xff08;也称为 Flashback Data Archive - 闪回数据归档&#xff09;提供了一种用于跟踪数据库更改的机制&#xff0c;可自动跟踪数据库历史更改…...

腾讯云控制台URL刷新URL预热 使用接口刷新

如图所示的俩个控制台功能&#xff0c;调用腾讯云的接口执行这俩个动作 &#xff08;代码可以优化&#xff09;nodejs框架是express, 这里粘贴调用成功的代码示例&#xff0c;做个记录。 app.get(/PurgeUrlsCache, async function (req, res, next) {// Depends on tencentclo…...

构建后端为etcd的CoreDNS的容器集群(二)、下载最新的etcd容器镜像

在尝试获取etcd的容器的最新版本镜像时&#xff0c;使用latest作为tag取到的并非最新版本&#xff0c;本文尝试用实际最新版本的版本号进行pull&#xff0c;从而取到想的最新版etcd容器镜像。 一、用latest作为tag尝试下载最新etcd的镜像 1、下载镜像 [rootlocalhost opt]# …...