当前位置: 首页 > 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内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么? • 内存溢出是怎么…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...