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

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...