Edify 3D: Scalable High-Quality 3D Asset Generation

news2024/11/28 8:47:34

Deep Imagination Research | NVIDIA

目录

一、Abstract

二、核心内容

1、多视图扩散模型

3、重建模型:

4、数据处理模块:

三、结果

        1、文本到 3D 生成结果

2、图像到 3D 生成结果

3、四边形网格拓扑结构


一、Abstract

        NVIDIA 开发的用于高质量 3D 资产生成的 Edify 3D 模型。该模型通过多视图扩散模型合成物体的 RGB 外观和表面法线图像,再用重建模型预测 3D 形状的几何、纹理和基于物理的渲染(PBR)材质,Edify 3D能够在 2 分钟内生成具有详细几何结构、清晰形状拓扑、高分辨率纹理和材质的 高质量3D 资产。

1、能在短短两分钟内,生成包含完整 UV 贴图、4K 纹理和 PBR 材质的高品质 3D 模型

2、采用独特的技术架构,将多视角扩散模型与基于 Transformer 的重建技术相结合

3、支持文本到 3D 生成和图像到 3D 生成

4、能生成具有精确网格结构的 3D 模型,保证纹理的高分辨率和材质贴图的完整性,可生成多样化的 3D 资产

5、具有出色的技术扩展性,随着训练视角数量的增加,模型生成的图像质量和一致性不断提升

6、可用于生成复杂的 3D 场景,通过与大语言模型(LLM)结合,根据文本提示定义场景布局、物体位置和尺寸,创建连贯且真实的 3D 场景组合。

PS:UV贴图:用于将 2D 纹理映射到 3D 模型表面,从而使模型具有真实的外观细节

二、核心内容

Edify 3D 模型

  • 核心能力:文本到 3D 生成和图像到 3D 生成。
  • 模型设计:基于扩散模型和 Transformer,训练多视图扩散模型和重建模型。

       Edify 3D的最终输出是一个3D资产,其中包括网格几何、纹理贴图和材质贴图

Edify 3D 的工作流程:

1、文本提示(Text prompt)

        图的左上角有一个文本提示:“A steampunk robot turtle with rusty mechanical parts.”(一只带有生锈机械部件的蒸汽朋克机器龟)。

2、多视图扩散模型(Multi - view diffusion model)

        文本提示作为输入进入多视图扩散模型。该模型生成多个视角的 RGB 图像(RGB images),这些图像展示了机器龟从不同角度的外观。

3、多视图 ControlNet(Multi - view ControlNet)

        多视图扩散模型生成的 RGB 图像作为输入进入多视图 ControlNet。该模型生成多个视角的法线图像(Normal images),这些图像展示了机器龟表面的法线方向。

4、重建模型(Reconstruction model)

        多视图 RGB 图像和法线图像作为输入进入重建模型。重建模型生成潜在 3D 标记(Latent 3D tokens)。

5、等值面提取和网格处理(Isosurface extraction & mesh processing)

        潜在 3D 标记经过等值面提取和网格处理,生成网格几何(Mesh geometry)。

6、光栅化低分辨率纹理和表面法线(Rasterize low - resolution texture and surface normal)

        网格几何用于光栅化低分辨率纹理和表面法线。

7、放大 ControlNet(Upscaling ControlNet)

        低分辨率纹理和表面法线作为输入进入放大 ControlNet。该模型生成高分辨率 RGB 图像。

8、更新(Update)

        高分辨率 RGB 图像被用于更新纹理贴图(Texture map)和材质贴图(Material map)。

9、最终 3D 资产(3D asset)

        最终生成的 3D 资产包括网格几何、纹理贴图和材质贴图。图的右下角展示了最终生成的 3D 机器龟模型。

1、多视图扩散模型

        根据输入的文本提示和相机姿态来合成 RGB 外观,从不同的角度合成物体的外观。训练出以下模型:

  • 基本的多视图扩散模型:基于输入文本提示和相机姿态合成RGB外观。
  • 多视图 ControlNet:它以多视图 RGB 合成和文本提示为条件,合成物体的表面法线。这意味着它可以根据输入的多个视角的图像信息以及文本描述,来推断出物体表面的法线方向,从而为后续的 3D 重建提供更准确的几何信息。
  • 多视图放大 ControlNet:以给定 3D 网格的光栅化纹理和表面法线为条件,将多视图 RGB 图像超分辨率到更高分辨率。它利用已有的纹理和表面法线信息,对图像进行放大处理,提高图像的清晰度和细节

        使用 Edify Image模型(NVIDIA 2024) 作为基础扩散模型架构(具有27亿个参数的U-Net),在像素空间中操作扩散。ControlNet 编码器使用来自U-Net的权重进行初始化,并扩展了原始文本到图像的扩散模型中的自注意层, 用一种新的机制来关注不同的视图 ,作为一个具有相同权重的视频扩散模型。摄像机的pose(旋转和平移)通过一个轻量级的MLP进行编码,该MLP随后被作为时间嵌入添加到视频扩散模型架构中。

多视图 ControlNet

        ControlNet 的神经网络架构,用于为大型预训练文本到图像扩散模型添加空间条件控制。ControlNet 通过锁定预训练模型的参数并利用其强大的编码层作为骨干,学习各种条件控制,从而实现更精细的图像生成控制。

3、重建模型

       重建模型以多视图 RGB 和表面法线图像为输入,利用基于 Transformer 的模型预测 3D 形状的几何、纹理和材料。通过一系列处理步骤,最终得到 3D 资产的网格几何、纹理图和材质图。基于Transformer 的模型对看不见的物体图像具有很强的泛化能力 包括从二维多视图扩散模型的合成输出。

模型选择与 3D 表示

  • Decoder-Only Transformer 模型:我们采用了一种仅含解码器的 Transformer 模型。Transformer 架构在自然语言处理等领域有广泛应用,其特点是基于注意力机制来处理序列数据,能够很好地捕捉长距离依赖关系。这里使用的仅含解码器的版本,重点在于根据输入生成相应的输出,在这个情境下是用于后续的 3D 重建相关任务。
  • 潜在 3D 表示为三平面(Triplanes):模型的潜在 3D 表示采用了三平面的形式。三平面是一种对 3D 信息进行编码和表示的方式,它可以将 3D 空间的信息以一种特定的结构进行组织,以便于模型后续对 3D 数据的处理和分析。

输入条件与注意力机制

  • 输入作为重建模型的条件:输入的 RGB 图像和法线图像在这里充当重建模型的条件。RGB 图像提供了物体的颜色等外观信息,法线图像则给出了物体表面的法线方向等几何信息。
  • 交叉注意力层应用:在三平面标记和输入条件之间应用了交叉注意力层。交叉注意力机制可以让模型在处理过程中更好地关注到输入条件中的不同部分与三平面标记之间的关联,从而更有效地利用输入信息来生成准确的 3D 重建结果。

三平面标记处理与预测

  • 通过 MLPs 处理三平面标记:三平面标记会通过多层感知机(MLPs)进行处理。MLPs 是一种常见的神经网络结构,能够对输入数据进行非线性变换,在这里用于进一步处理三平面标记,挖掘其中蕴含的信息。
  • 预测神经场:经过 MLPs 处理后,三平面标记用于预测有符号距离函数(SDF)和基于物理的渲染(PBR)属性的神经场。神经场是一种对空间中各点属性进行描述的数学表示,通过预测这些神经场,可以得到关于物体在 3D 空间中的几何形状(通过 SDF)以及材质等外观属性(通过 PBR 属性)的相关信息。

基于 SDF 的渲染与 3D 网格生成

  • 基于 SDF 的体渲染:预测得到的神经场用于基于 SDF 的体渲染。体渲染是一种将 3D 数据渲染成 2D 图像的技术,通过基于 SDF 的方式,可以根据物体的几何形状准确地渲染出其在不同视角下的外观。
  • 3D 网格生成:神经有符号距离函数(Neural SDF)通过等值面提取被转换为 3D 网格。3D 网格是 3D 模型的一种常见表示形式,它由一系列的顶点、边和面组成,通过等值面提取从神经 SDF 中获取到合适的表面信息,从而构建出 3D 网格,这是得到最终 3D 模型几何形状的重要步骤。
4、数据处理模块

        对 3D 形状数据进行预处理,包括格式转换、质量过滤、姿态对齐、PBR 渲染和 AI 字幕等操作,以提高数据质量和适用性,为模型训练做好准备

  • 格式转换:将所有 3D 形状转换为统一格式,包括三角化网格、打包纹理文件和将材料转换为金属 - 粗糙度格式,丢弃损坏的纹理或材料的形状3。
  • 质量过滤:从大规模 3D 数据集中过滤出非对象中心的数据,通过多轮主动学习使用 AI 分类器去除部分 3D 扫描、大型场景、形状拼贴以及包含辅助结构的形状,还应用基于规则的过滤去除有明显问题的形状4。
  • 姿态对齐:通过主动学习将训练形状对齐到其规范姿态,对于缺乏明确正面的形状,定义功能部分为正面并优先保持左右对称5。
  • PBR 渲染:使用内部路径追踪器对 3D 数据进行逼真渲染,采用多样化的相机参数采样技术,以适应不同的使用场景6。
  • AI 字幕:为每个 3D 形状渲染一张图像,使用视觉语言模型(VLM)生成长短字幕,并提供形状的元数据以增强字幕的全面性

PBR 属性处理

        烘焙到纹理和材质贴图:基于物理的渲染(PBR)属性通过 UV 映射被烘焙到纹理贴图和材质贴图中。UV 映射是一种将 3D 模型表面映射到 2D 平面的技术,通过这种方式可以将 PBR 属性准确地赋予到相应的纹理和材质贴图上。

        包含的属性内容:这些 PBR 属性包括反照率颜色以及诸如粗糙度和金属度通道等材质属性。反照率颜色决定了物体表面反射光线的能力,粗糙度和金属度等属性则进一步描述了物体表面的材质特性,通过将这些属性烘焙到纹理和材质贴图中,可以使最终生成的 3D 模型具有更加真实的外观和材质表现。

三、结果

        1、文本到 3D 生成结果

        展示了输入的文本提示,以及所生成资源的渲染图和表面法线。生成的 3D 网格包含精细的几何形状和清晰的纹理,反照率颜色分解良好,使其适用于各种下游编辑和渲染应用。

2、图像到 3D 生成结果

        将输入的参考图像以及所生成资源的渲染图和表面法线进行可视化展示。Edify 3D 能够准确地还原参考对象的潜在 3D 结构,同时还能够在未被观察到的表面区域(例如杯子的背面)生成精细的纹理。

3、四边形网格拓扑结构

        Edify 3D 以具有清晰拓扑结构的四边形网格形式生成资源,使其适用于下游编辑工作流程。我们将所生成资源的四边形网格拓扑结构与其基于物理的渲染(PBR)图并排展示出来以便进行可视化观察。

四、相关工作

1、3D资产生成

        概念:3D 资产生成是指通过一系列技术手段创建三维资产的过程。3D 资产是指存在于三维空间中的数字化对象,包括 3D 模型、纹理、材质、动画等元素。这些资产可用于多种领域,如影视制作、游戏开发、虚拟现实(VR)、增强现实(AR)、建筑设计、工业设计等。生成方法包括手工建模(如多边形建模、NURBS 建模)、扫描技术(如激光扫描、结构光扫描)、基于图像的建模(如摄影测量法、图像深度学习建模)等。此外,还包括材质与纹理生成以及动画生成等方面。

        3D资产生成的挑战通常通过在3D数据集上训练模型来解决,但这些数据集的稀缺性限制了泛化能力。为了克服这一问题,最近的方法转向使用在大规模图像和视频数据集上训练的模型。得分蒸馏采样(SDS)已被早期方法采用,并扩展到图像条件3D生成模型。然而,它们通常处理速度较慢,并且容易出现诸如两面神脸问题等问题。为了提高性能,新技术整合了多视图图像生成模型,专注于生成可重建为3D模型的多个一致视图。然而,在这些视图之间保持一致性仍然是一个挑战,这导致了从有限视图增强重建鲁棒性的方法的发展。

2、从多视图图像进行3D重建

        从有限视图生成3D资产通常涉及3D重建技术,通常使用可微渲染,可利用各种3D表示,如神经辐射场(NeRF)。网格是工业3D引擎中最常用的格式,但从多视图图像重建高质量网格具有挑战性。传统的摄影测量流程,包括运动结构(SfM)、多视图立体(MVS)和表面提取,成本高且耗时,通常产生低质量的结果。虽然基于NeRF的神经渲染方法可以实现高质量的3D重建,但它们需要密集的图像和大量的优化,并且将辐射场转换为网格可能会导致次优结果。为了解决这些限制,基于Transformer的模型通过学习前馈先验进一步改进了从稀疏视图进行的3D NeRF重建。

3、纹理和材质生成

        早期针对给定3D形状的3D纹理生成方法包括用于文本对齐的CLIP和SDS损失优化。为了提高3D感知能力,一些文本到3D方法将纹理修复与深度条件扩散相结合,尽管速度较慢且更容易产生伪影。为了增强一致性,其他技术将扩散与重投影交替进行或同时生成多个带纹理的视图,但计算成本较高。为了进一步增强真实感,一些方法启用了多视图PBR建模,以扩展对生成材质属性的支持。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2248944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QUAD-MxFE平台

QUAD-MxFE平台 16Tx/16Rx直接L/S/C频段采样相控阵/雷达/电子战/卫星通信开发平台 概览 优势和特点 四通道MxFE数字化处理卡 使用MxFE的多通道、宽带系统开发平台 与Xilinx VCU118评估板(不包括)搭配使用 16个RF接收(Rx)通道(32个数字Rx通道…

操作系统 锁——针对实习面试

目录 操作系统 锁什么是死锁?说说死锁产生的条件?死锁如何预防?死锁如何避免?银行家算法具体怎么操作?死锁如何解决?死锁会产生什么影响?乐观锁与悲观锁有什么区别? 操作系统 锁 什么…

UI设计-色彩、层级、字体、边距(一)

一.色彩:色彩可以影响人的心理与行动,具有不同的象征意义;有冷暖,轻重,软硬等等。 1.色彩情绪:最直观的视觉感受 一个活动的页面所用的颜色必须要与其内容相适应,让人看起来舒服。有时我们会不…

从入门到精通数据结构----四大排序(上)

目录 首言: 1. 插入排序 1.1 直接插入排序 1.2 希尔排序 2. 选择排序 2.1 直接选择排序 2.2 堆排序 3. 交换排序 3.1 冒泡排序 3.2 快排 结尾: 首言: 本篇文章主要介绍常见的四大排序:交换排序、选择排序、插入排序、归并排…

【C++第三方库】Muduo库结合ProtoBuf库搭建服务端和客户端的过程和源码

每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论​: 本章我将结合之前的这俩个第三方库快速上手protobuf序列化和反序列化框架和muduo网络,来去实现muduo库在protocol协议搭建服务端和客户端。…

Scala—Map用法详解

Scala—Map用法详解 在 Scala 中,Map 是一种键值对的集合,其中每个键都是唯一的。Scala 提供了两种类型的 Map:不可变 Map 和可变 Map。 1. 不可变集合(Map) 不可变 Map 是默认的 Map 实现,位于 scala.co…

文本处理之sed

1、概述 sed是文本编辑器,作用是对文本的内容进行增删改查。 和vim不一样,sed是按行进行处理。 sed一次处理一行内容,处理完一行之后紧接着处理下一行,一直到文件的末尾 模式空间:临时储存,修改的结果临…

了解网络威胁情报:全面概述

网络威胁情报 CTI 是指系统地收集和分析与威胁相关的数据,以提供可操作的见解,从而增强组织的网络安全防御和决策过程。 在数字威胁不断演变的时代,了解网络威胁情报对于组织来说至关重要。复杂网络攻击的兴起凸显了制定强有力的策略以保护敏…

Python 海龟绘图 turtle 的介绍

python的计算生态中包含标准库和第三方库 标准库:随着解释器直接安装到操作系统中的功能模块 第三方库:需要经过安装才能使用的功能模块 库Library 包 Package 模块Module 统称为模块 turtle 是一个图形绘制的函数库,是标准库&#…

学习日志017--python的几种排序算法

冒泡排序 def bubble_sort(alist):i 0while i<len(alist):j0while j<len(alist)-1:if alist[j]>alist[j1]:alist[j],alist[j1] alist[j1],alist[j]j1i1l [2,4,6,8,0,1,3,5,7,9] bubble_sort(l) print(l) 选择排序 def select_sort(alist):i 0while i<len(al…

java集合及源码

目录 一.集合框架概述 1.1集合和数组 数组 集合 1.2Java集合框架体系 常用 二. Collection中的常用方法 添加 判断 删除 其它 集合与数组的相互转换 三Iterator(迭代器)接口 3.0源码 3.1作用及格式 3.2原理 3.3注意 3.4获取迭代器(Iterator)对象 3.5. 实现…

⭐️ GitHub Star 数量前十的工作流项目

文章开始前&#xff0c;我们先做个小调查&#xff1a;在日常工作中&#xff0c;你会使用自动化工作流工具吗&#xff1f;&#x1f64b; 事实上&#xff0c;工作流工具已经变成了提升效率的关键。其实在此之前我们已经写过一篇博客&#xff0c;跟大家分享五个好用的工作流工具。…

【Jenkins】自动化部署 maven 项目笔记

文章目录 前言1. Jenkins 新增 Maven 项目2. Jenkins 配置 Github 信息3. Jenkins 清理 Workspace4. Jenkins 配置 后置Shell脚本后记 前言 目标&#xff1a;自动化部署自己的github项目 过程&#xff1a;jenkins 配置、 shell 脚本积累 相关连接 Jenkins 官方 docker 指导d…

杂7杂8学一点之多普勒效应

最重要的放在最前面&#xff0c;本文学习资料&#xff1a;B站介绍多普勒效应的优秀视频。如果上学时老师这么讲课&#xff0c;我估计会爱上上课。 目录 1. 多普勒效应 2. 多普勒效应对通信的影响 3. 多普勒效应对低轨卫星通信的影响 1. 多普勒效应 一个小石头扔进平静的湖面…

【python数据结构算法】排序算法 #冒泡 #选择排序 #快排 #插入排序

思维导图 一、经典冒泡 冒泡排序&#xff1a;是一种简单的排序算法&#xff0c;它重复的遍历要排序的序列&#xff0c;一次比较两个元素&#xff0c;如果他们的顺序错误&#xff0c;就把他们交换过来。 冒泡排序算法的运作如下&#xff1a; 比较相邻的元素。如果第一个比第二…

Linux系统之fuser命令的基本使用

Linux系统之fuser命令的基本使用 一、fuser命令介绍二、fuser命令使用帮助2.1 help帮助信息2.1 基本语法①通用选项②文件/设备相关选项③网络相关选项④进程操作选项⑤其他选项 三、fuser命令的基本使用3.1 查找挂载点的进程3.2 查看指定设备进程信息3.3 查找监听特定端口的进…

stable Diffusion官方模型下载

v2-1_768-ema-pruned.safetensors 下载地址&#xff1a; https://huggingface.co/stabilityai/stable-diffusion-2-1/tree/main 下载完成后&#xff0c;放到&#xff1a;E:\AITOOLS\stable-diffusion-webui\models\Stable-diffusion 模型&#xff1a;sd_xl_base_1.0.safetens…

《并查集算法详解及实用模板》

《重生我要成为并查集高手&#x1f354;&#x1f354;&#x1f354;》 并查集&#xff1a;快速查询和快速合并&#xff0c; 路径压缩&#xff0c; 按大小&#xff0c;高度&#xff0c;秩合并。 静态数组实现 &#x1f607;前言 在数据的海洋中&#xff0c;有一种悄然流淌的力量…

群聊前选择患者功能的实现

和普通群聊不同&#xff0c;开启一个图文会话聊天&#xff0c;必须先选择患者、团队、医生。 原来是集成到腾讯IM当中&#xff0c;现在需要单独写一个页面 原来的代码在这里&#xff1a; const handleShow () > {uni.navigateTo({url: /pageB/active-home/active-home})}…

基于边缘智能网关的机房安全监测应用

随着我国工业互联网的扎实推进&#xff0c;越来越多地区积极建设信息基础设施&#xff0c;以充沛算力支撑产业物联网的可持续发展&#xff0c;数据机房就是其中的典型代表。而且随着机房规模的扩大&#xff0c;对于机房的安全管理难题挑战也日益增加。 面向数据机房安全监测与管…