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

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

土建施工员考试:建筑施工技术重点知识有哪些?

《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目&#xff0c;核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容&#xff0c;附学习方向和应试技巧&#xff1a; 一、施工组织与进度管理 核心目标&#xff1a; 规…...