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

DefTet

简介

  • 论文主页
  • paper地址
  • 代码

DMTet论文借鉴了DefTet(Deformable Tetrahedral Meshes)的思路,使用可变性的四面体网格来编码SDF。DefTet可以从点云噪声重建3D mesh物体表面,也是第一个能从单张图片恢复物体mesh的工作。

使用神经网络的3D重建工作通常是以下几种:点云、体素、mesh、隐式表达(比如SDF) ,它们各有优劣:

  1. 体素可以表达各种拓扑结构,并且能使用CNN来完成。但是在高清晰度的重建工作中,体素需要高分辨率的网格,这会消耗更多内存。它还需要多层结构,比如八叉树,想要在此之上实现基于深度学习的方法是很麻烦的,因为这种结构不连续的,其结构会随着树的占有情况变化而变化。
  2. 基于隐式函数和点云的做法虽然不需要事先施加预定的分辨率,但是:
    • 它们生成的结果需要进一步加工为mesh,才可被下游使用。
    • 基于表面的正则化1相对容易添加到基于mesh表达的方法,但并不容易被添加到这些方法中,因为物体表面是被隐式定义的。
  3. 基于mesh表达的方法可以直接生成mesh物体,已经能生成高质量的结果。但是,这种方法通常需要预定义mesh所属的类型(比如曲面)。这限制了这种方法能处理的物体类型2

四面体网格是图形学中表示三维物体的主要方法之一,特别是广泛用于物理学模拟。与体素类似,四面体网格不仅模拟表面,而且使用由四个三角形组成的三维单纯形3四面体作为基本单位,来模拟形状的整个内部。在这项工作中,我们提出利用四面体网格进行重建问题,使其适合深度学习。我们的表示是一个完全细分成四面体的立方体,其中三维形状是容积性的,嵌入四面体网格中。网格中顶点的数量和它们的相邻性是固定的,与网络的输出大小成比例。然而,顶点的位置和每个四面体的二进制占用情况是动态的。这使得网格可以变形,以更准确地适应对象几何体,而不是相应的体素表示。我们将这种数据结构命名为可变形四面体网格(DEFTET)。给定典型的重建损失函数,我们展示如何向顶点位置以及四面体占用情况传播梯度。

DEFTET 有许多优点:

  1. 可以输出任意拓扑结构的形状,通过四面体的占据情况区分物体内部和外部。
  2. DEFTET 还可以通过变形四面体里的三角形面来表示局部几何细节,从而在更低的内存开销下实现高保真的重建。
  3. 此外,我们的表示还具有计算效率,因为它在推理时可以直接生成四面体网格,不需要后处理。
  4. 我们的方法支持各种下游任务,例如基于 2D/3D 监督下的单视图/多视图 3D 重建。
  5. 我们的结果是首次从嘈杂点云和图像直接生成四面体网格,这在图形学中是一个非常困难的问题,即对表面网格进行四面体化。
  6. 我们还展示了DEFTET在真实环境中作四面体网格化的应用,即对给定的密闭表面进行四面体划分,突出了我们方法的优势。。

正文公式

在本文中,假设每个三维形状都在一个可以归一化到单位立方体的有限空间内。DEFTET定义了一个在这个空间中做操作的空间graph,我们完全将空间四面体化:

  1. 每个四面体是一个由四个三角面、六条直边和四个顶点组成的多面体。
  2. 两个相邻的四面体共享一个面、三条边和三个顶点。
  3. 每个顶点都有一个定义在有限空间坐标系中的三维位置。
  4. 每个三角面代表物体的一段表面,而每个四面体代表物体的一块部分,应当是不会再分解的。

我们使用QuarTet作初始四面体化过程,即空间的细分化。这个初始化过程是固定的。

当变形固定时,DEFTET概念上等同于体素网格4,因此可以表示任意物体拓扑结构。然而,通过将顶点位置移动,我们可以绕过将物体分解时遇到的锯齿问题(即“楼梯效应”)5,用更少的内存和更快的计算效率,容纳更精细的几何形状。

多面体的参数定义 Tetrahedron Parameterization


  1. “基于表面的正则化” 指的是对三维形状的表面进行修改,以确保其具有某些理想的特性。这些特性可能包括光滑度、公平度或其他有助于使表面更具视觉吸引力或更容易处理的特性。例如,可以使用基于表面的正则化来消除表面上的尖角或脊,或使表面更均匀地弯曲。在三维形状表示的上下文中,基于表面的正则化用于使三维形状更具视觉吸引力,或帮助进一步处理形状,例如渲染或操作。与前面描述的基于网格的表示中结合基于表面的正则化的挑战在于,表面没有被明确定义,这使得应用这些修改更加困难。 ↩︎

  2. 也就是说,基于网格的表示方法只能处理一些特定类型的三维形状,例如具有球体形状的物体。如果试图处理具有其他形状(例如椭圆或多面体)的对象,可能会遇到一些技术上的困难。因此,这种方法的适用范围受到限制。 ↩︎

  3. “3D-simplex” 指的是三维单纯形,是一种数学概念。单纯形是一种n维几何体,由n+1个点组成,这些点构成n维空间的一个封闭的凸包。在三维空间中,三维单纯形是由四个点组成的,构成一个四面体。因此,3D-simplex 在这里指的是四面体四边形。 ↩︎

  4. voxel grid. https://zhuanlan.zhihu.com/p/348563616 ↩︎

  5. 锯齿问题和楼梯效应的原文是the aliasing problem (i.e., “staircase pattern”)。根据之前的理解,anti-aliasing的意思是抗锯齿,所以本人认为the aliasing problem是锯齿问题。staircase pattern可能又称staircase effect,表示图像中有类似锯齿的效果,像楼梯一样。 ↩︎

相关文章:

  • 单片机阻塞延时与非阻塞延时(1)
  • Kubernetes 入门
  • 深入探讨YOLOv8 网络架构
  • 【NLP】一种基于联合方式的三元组抽取模型——CasRel
  • 接口自动化测试-python-笔记
  • OpenPPL PPQ量化(3):量化计算图的加载和预处理 源码剖析
  • ES6 简介(二)
  • Spring Boot 最新版3.x 集成 OAuth 2.0实现认证授权服务、第三方应用客户端以及资源服务
  • ESP32开发板Arduino IDE更新指南
  • 【day4】 谷粒商城-前端相关(不全,没认真看)
  • 程序编译的过程
  • Spring由哪些模块组成
  • 单链表反转C语言代码
  • Visual Paradigm 17.X Crack
  • 【微服务】RabbitMQ高级篇
  • Dubbo-----------------项目整合和分析
  • ROS2 入门应用 工作空间
  • AOSP 8.0 系统启动之四ART虚拟机启动(一)
  • 1079 Total Sales of Supply Chain
  • 基于DemonSet方式收集容器日志输出实践
  • macOS虚拟机安装全过程(VMware)
  • Android studio连接MySQL数据库,在fragment中使用listview显示数据(Navicat操作数据库)(夜神模拟器运行)
  • 微信小程序支付完整流程(前端)
  • Kotlin实现简单的学生信息管理系统
  • uniapp开发微信小程序,从构建到上线
  • 【Kotlin】Kotlin 与 Java 互操作 ③ ( Kotlin 中处理 Java 异常 | Java 中处理 Kotlin 异常 | @Throws 注解处理异常 | 函数类型互相操作 )
  • Java8新特性详解
  • 手机解锁方法:8个顶级的 Android 手机解锁软件
  • Android Studio 安装步骤详细图解
  • 国产ChatGPT大战弱智吧效果实测!网页端小程序均已上线,人人可玩