【论文阅读笔记】Meta 3D AssetGen


Info

project:https://assetgen.github.io/
paper:https://arxiv.org/abs/2407.02445

Meta 这一手有点顶,连发三篇,PBR 材质打通了我比较惊讶的是这个数据集的组织形式,怎么把材质种类划分的这么好,希望大佬指教
在这里插入图片描述

摘要

我们提出了 Meta 3D AsetGen (AssetGen),这是文本到 3D 生成的重大进步,它产生了忠实、高质量的网格,具有纹理和材料控制。与在 3D 对象外观中烘烤阴影的作品相比,AsetGen 输出基于物理的渲染 (PBR) 材料,支持逼真的重新照明。AsetGen 使用分解阴影和反照率外观通道生成对象的前几个视图,然后使用延迟阴影损失重建 3D 中的颜色、金属度和粗糙度以进行有效监督。它还使用符号距离函数更可靠地表示 3D 形状,并为直接形状监督引入了相应的损失。这是使用融合内核实现的,以实现高内存效率。在网格提取之后,在UV空间中操作的纹理细化转换器显著提高了清晰度和细节。AsetGen 在倒角距离方面提高了 17%,在 LPIPS 中比用于少视图重建的最佳并行工作提高了 40%,人类对可比速度的最佳行业竞争对手的偏好为 72%,包括那些支持 PBR 的人。

引言

  1. PBR 材质的重要性
  2. AsetGen 在 30 秒以下生成资产,同时优于先前在忠实度、生成的 3D 网格质量以及材料的质量和控制方面相当速度的工作,支持基于物理的渲染 (PBR) [85]。
  3. AsetGen 使用受 [40] 启发的两阶段设计。第一阶段从4个规范视点随机生成对象的4个图像,第二阶段确定性地从这些视图中重建对象的3D形状和外观(图1)。这种方法比基于 SDS 的技术 [66] 更快、更稳健,并且比单级 3D 生成器产生更多样化和更忠实的结果 [36, 59, 92, 77]。

创新点

我们考虑了反照率、金属度和粗糙度来渲染准确反映环境照明的场景。此外,由于网格在应用程序和与 PBR 的兼容性方面的流行,我们专注于网格作为输出表示。

  1. 我们的第一个贡献是扩展两个阶段以生成 PBR 信息。由于图像到 3D 阶段是确定性的,它是文本到图像阶段,它是随机的,应该解决分配材料的歧义。这可以通过微调文本到图像模型来直接输出所需的 PBR 通道来完成,但由于 PBR 和自然图像之间的差距很大,我们发现这是有问题的。相反,我们为文本到图像模型分配了更简单的任务,即输出外观的阴影和反照率(无阴影)版本。这允许图像到 3D 组件通过分析反照率和阴影通道之间的差异来准确预测 PBR 材料。
  2. 我们的第二个创新在于网格生成步骤。现有的工作通常输出一个不透明度场来表示 3D 形状,但后者可能会导致定义不明确的水平集,从而导致网格伪影。为了解决这个问题,AsetGen 的图像到 3D 阶段 MetaILRM 直接预测符号距离场 (SDF) 而不是不透明度场。这会产生更高质量的网格,因为SDF的零水平集更可靠地跟踪对象的表面。此外,这种表示可以很容易地使用地面真实深度图进行监督,这对于不透明度来说是不可能的我们使用VolSDF[107]来不同地渲染基于SDF的模型,并通过在内存高效的LightPlane Kernels[6]中实现渲染来提高训练效率。这允许对高分辨率渲染进行更大的批次和光度损失监督,从而获得更好的纹理质量。

挖个坑,解读一下LightPlane

相关工作

T23D

受文本到图像模型的启发,早期的文本到 3D 方法 [62, 33 , 26 , 109 , 104 ] 在字幕 3D 资产的数据集上训练 3D 扩散模型。然而,3D 数据的有限大小和多样性阻碍了对开放词汇提示的泛化。因此,最近的工作基于在数十亿个字幕图像上训练的文本到图像模型的此类生成器。2 其中,[73]、54等工作微调2D扩散模型输出3D表示,但由于2D-3D域间隙较大,质量有限。其他方法可以深入研究两组。

  1. 第一组包含基于DreamFusion的方法,这是[66]的开创性工作,并通过SDS损失优化NeRF来提取3D对象,将其渲染与预先训练的文本到图像模型的信念相匹配。考虑了扩展:(i)其他3D表示,如哈希网格[42,67]、网格[42]和3D高斯(3DGS)[7,110,12,12];(ii)改进的SDS[89,93,118,30];(iii)单眼条件反射[67,80,112,76];(iv)预测额外的法线或深度以获得更好的几何形状[68,76]。然而,蒸馏方法容易出现Janus效应(复制对象部分)和内容漂移等问题[72]。一种常见的解决方案是通过将视图一致性先验合并到扩散模型中,通过对相机[45,71,31,11,67]进行调节,或者通过联合生成多个对象视图[72,96,91,38,17]。此外,SDS 优化很慢,每个资产需要几分钟到小时;这个问题在 [50, 99] 中部分解决,带有摊销 SDS。
  2. 第二组方法包括更快的两阶段方法[44,49,47,106,105,8,81,28,23],它首先使用文本到图像或视频模型[52,13]生成对象的多个视图,然后使用NERF[56]或3DGS[37]进行逐场景优化。然而,每个场景的优化需要几个高度一致的视图,这些视图很难可靠地生成。Instant3D[40]通过生成仅四个视图的网格和从这些视图重建对象的前馈网络(LRM[29])来提高速度和稳健性。One-2-3-45++ [43] 将 LRM 替换为 3D 扩散模型。

我们的 AsetGen 建立在 Instant3D 范式之上,并将 LRM 升级为输出 PBR 材料和基于 SDF 的 3D 形状的表示。此外,它从四个带有阴影和反照率通道的视图网格开始,这是从图像中预测准确的3D形状和材料的关键。

Instant3D

基于图片的3d 重建

从图像中重建3D。3D场景重建,在传统的多视图立体(MVS)意义上,假设可以访问密集的场景视图集。最近的重建方法,如NeRF[56],通过最小化多视图渲染损失来优化3D表示。
有两种流行的3D表示类:(i)网格[22,13,24,61,57,74]或3D点/高斯[37,25]等显式表示,以及(ii)占用场[63]、亮度场[56,60]和符号距离函数(SDF)[108]等隐式表示。与占用场相比,SDF[64,107,90,17,21]简化了表面约束集成,提高了场景几何。出于这个原因,我们采用了 SDF 公式并证明它优于占用率。
相反,稀疏视图重建假设输入视图很少(通常为 1 到 8)。减轻密集多个视图缺乏的一种方法是在优化过程中利用 2D 扩散先验 [53, 97],但这通常很慢并且不是很健壮。最近,作者专注于在大型数据集上训练前馈重构器[14,35,55,46,98,58,92]。特别是,最先进的LRM[29]训练一个大的Transformer[87],使用三平面表示来预测NeRF[7,9]。LRM扩展研究其他3D表示,如网格[101,95]和3DGS[119,103,78,114],改进的骨干[94,95]和训练协议[84,34]。

我们的方法还建立在 LRM 之上,但引入了三个关键修改:(i)改进几何形状的 SDF 公式,(ii)重新照明的 PBR 材料预测,以及(iii)纹理细化器以获得更好的纹理细节。

使用 PBR 材料的 3D 建模。

大多数 3D 生成器输出具有烘烤照明的 3D 对象,无论是视图相关的 [56, 37] 还是与视图无关的 [29]。由于烘焙照明忽略了模型对环境照明的响应,不适合具有受控照明的图形管道。**基于物理的渲染(PBR)定义了材料属性,以便合适的着色器可以真实地解释照明。**一些MVS工作考虑了使用NeRF[4,3,100]、SDF[115]、可微网格[61,27]或3DGS[32,41]估计PBR材料。在生成建模中,[10,68,48,102]使用PBR模型增强了文本到3D SDS优化[66]。与它们不同的是,我们将 PBR 建模集成到我们的前馈文本到 3D 网络中,首次解锁了具有可控 PBR 材料的基于快速文本生成 3D 资产。

方法

AsetGen 是一个两阶段管道(图 2)。首先,文本到图像(第3.1节),将文本作为输入,生成具有材料信息的4视图图像网格。其次,图像到 3D 包括一种新颖的基于 PBR 的稀疏视图重建模型(第 3.2 节)和纹理细化器(第 3.3 节)。因此,AsetGen 适用于两个任务:text-to-3D(阶段 1+2)和image-to-3D(仅阶段 2)。
在这里插入图片描述

文本到图像:从文本中生成阴影和反照率图像

类似于MVDREAM 和 Instant3D,首先 fintuene 了一个生成四视角的模型。但是发现如果直接预测 PBR 材质(abeldo、roughness、metallic)无法收敛,转而去预测abeldo和 shading降低难度(输入输出改为 6 通道)

Image-to-3D:基于pbr的大型重构模型

训练 MetalLRM,输入是6 通道图像,借助 Triplane 后面接两个 MLP 分别预测 SDF R 3 − > R R^3->R R3>R和PBR系数 R 3 − > R 5 R^3->R^5 R3>R5 (abeldo、roughness、metallic)
k ( x ) = ( ρ 0 , γ , α )  are the albedo, metalness and roughness.  k(\boldsymbol{x})=\left(\rho_{0}, \gamma, \alpha\right) \text { are the albedo, metalness and roughness. } k(x)=(ρ0,γ,α) are the albedo, metalness and roughness. 
学习模型的关键是可微分渲染算子 R。这将场 ℓ : R 3 → R D \ell: \mathbb{R}^{3} \rightarrow \mathbb{R}^{D} :R3RD、SDF s s s、视点 π π π和像素 u ∈ U = [ 0 , W ) × [ 0 , H ) u∈U = [0, W) × [0, H) uU=[0,W)×[0,H)作为输入,并根据渲染方程[56]输出场在像素上的投影,该渲染方程具有与渲染场ℓ相同数量的通道D:
R ( u ∣ ℓ , s , π ) = ∫ 0 ∞ ℓ ( x t ) σ ( x t ∣ s ) e − ∫ 0 t σ ( x τ ∣ s ) d τ d t . ( 1 ) \mathcal{R}(u \mid \ell, s, \pi)=\int_{0}^{\infty} \ell\left(\boldsymbol{x}_{t}\right) \sigma\left(\boldsymbol{x}_{t} \mid s\right) e^{-\int_{0}^{t} \sigma\left(\boldsymbol{x}_{\tau} \mid s\right) d \tau} dt . (1) R(u,s,π)=0(xt)σ(xts)e0tσ(xτs)dτdt.(1)

这里 xt = x0 - tωo, t ∈ [0, ∞) 是沿方向 − ω o ∈ S 2 -ω_o ∈ S^2 ωoS2 的像素 u 从相机中心 x 0 x_0 x0 到射线。函数 σ(x | s) 是 3D 点 x 的不透明度,使用VolSDF[107]公式从SDF值s(X)得到:
σ ( x ∣ s ) = a 2 ( 1 + sign ⁡ s ( x ) ( 1 − e − ∣ s ( x ) ∣ / b ) ) , \sigma(\boldsymbol{x} \mid s)=\frac{a}{2}\left(1+\operatorname{sign} s(\boldsymbol{x})\left(1-e^{-|s(\boldsymbol{x})| / b}\right)\right), σ(xs)=2a(1+signs(x)(1es(x)∣/b)),
其中 a, b 是超参数

反射模型

阴影RGB图像 I ^ \hat I I^中的对象 I ^ ( U ) = R ( u ∣ L , s , π ) \hat I(U)=R(u|L,s,π) I^(U)=R(uL,s,π)的外观是通过渲染其辐射场 ℓ ( X ) = L ( x , ω o ∣ k , n ) ℓ(X)=L(x,ω_o|k,n) (X)=L(x,ωok,n)来获得的,其中n是单位法线的场。亮度是物体在观察者方向 ω o ω_o ωo反射的光(见App.A.8 的详细信息),其中 PBR 由下式给出:
L ( x , ω o ∣ k , n ) = ∫ H ( n ) f ( ω i , ω o ∣ k ( x ) , n ( x ) ) L ( x , − ω i ) ( n ( x ) ⋅ ω i ) d Ω i ( 3 ) L\left(\boldsymbol{x}, \boldsymbol{\omega}_{\mathrm{o}} \mid k, \boldsymbol{n}\right)=\int_{H(\boldsymbol{n})} f\left(\boldsymbol{\omega}_{\mathrm{i}}, \boldsymbol{\omega}_{\mathrm{o}} \mid k(\boldsymbol{x}), \boldsymbol{n}(\boldsymbol{x})\right) L\left(\boldsymbol{x},-\boldsymbol{\omega}_{\mathrm{i}}\right)\left(\boldsymbol{n}(\boldsymbol{x}) \cdot \boldsymbol{\omega}_{\mathrm{i}}\right) d \Omega_{\mathrm{i}} (3) L(x,ωok,n)=H(n)f(ωi,ωok(x),n(x))L(x,ωi)(n(x)ωi)dΩi(3)
其中 ω o , ω i ∈ H ( n ) = ω ∈ S 2 : n ⋅ ω ≥ 0 ω_o, ω_i ∈ H(n) = {ω ∈ S2 : n · ω ≥ 0} ωo,ωiH(n)=ωS2:nω0是指向对象外部的两个单位向量, L ( x , − ω i ) L(x, −ω_i) L(x,ωi) 是从 x 处的环境在立体角 d Ω i dΩ_i dΩi 中从方向 ω i ω_i ωi 入射的辐射。双向反射分布函数 (BRDF) f 告诉从方向 − ω i -ω_i ωi(传入)接收到的光如何被对象 [20] 分散到不同的方向 ω o ω_o ωo(传出)

在PBR中,我们考虑了BRDF的物理启发模型,在真实感和复杂性之间取得平衡[2,85,75,15,88];具体来说,我们使用迪士尼GGX模型[88,5],它只依赖于参数 ρ 0 、 γ 和 α ρ_0、γ和α ρ0γα(见App.A.12.1 用于 f 的参数形式)。因此,MetaI LRM 在每个 3D 点 x 处预测三元组 k ( x ) = ( ρ 0 , γ , α ) k(x) = (ρ_0, γ, α) k(x)=(ρ0,γ,α)

延迟着色

在实践中,我们不是使用方程式(1),(3)计算 I ^ ( u ) = R ( u ∣ L , s , π ) \hat{I}(u)=\mathcal{R}(u \mid L, s, \pi) I^(u)=R(uL,s,π),我们使用延迟着色过程 [20]:
I ^ ( u ) = R def ⁡ ( u ∣ k , s , π ) = ∫ H ( n ) f ( ω i , ω o ∣ k ˉ , n ‾ ) L e n v ( − ω i ) ( n ‾ ⋅ ω i ) d Ω i , ( 4 ) \hat{I}(u)=\mathcal{R}_{\operatorname{def}}(u \mid k, s, \pi)=\int_{H(\boldsymbol{n})} f\left(\boldsymbol{\omega}_{\mathrm{i}}, \boldsymbol{\omega}_{\mathrm{o}} \mid \bar{k}, \overline{\boldsymbol{n}}\right) L_{\mathrm{env}}\left(-\boldsymbol{\omega}_{\mathrm{i}}\right)\left(\overline{\boldsymbol{n}} \cdot \boldsymbol{\omega}_{\mathrm{i}}\right) d \Omega_{\mathrm{i}}, \text(4) I^(u)=Rdef(uk,s,π)=H(n)f(ωi,ωokˉ,n)Lenv(ωi)(nωi)dΩi,(4)

其中 L e n v L_{env} Lenv是环境辐射度(假设所有x都假定相同),̄ k ˉ = R ( u ∣ k , s , π ) \bar{k}=\mathcal{R}(u \mid k, s, \pi) kˉ=R(uk,s,π)和̄ n ‾ = R ( u ∣ n , s , π ) \overline{\boldsymbol{n}}=\mathcal{R}(u \mid \boldsymbol{n}, s, \pi) n=R(un,s,π)是材质和法线场的渲染。Eq.(4)的优点是,在Eq.(1)的评估过程中,BRDF f f f只评估每个像素一次,这比对每个3D点这样做要快得多,内存密集更少,特别是对于训练/反向传播。此外,在训练过程中,假设环境光是无穷远处的单个光源,因此积分(4)简化为评估单个项。

延迟着色方法,是先把场景中所有物体渲染一次,将其相关数据(包括位置、法向量、纹理等)保存到一个帧缓存中,然后,用这些数据配合上光源信息再进行一次计算,得到最终的效果。

loss

因此,MetaILRM 是一个神经网络,它将一组图像 ( I i , π i ) i = 1 N \left(I_{i}, \pi_{i}\right)_{i=1}^{N} (Ii,πi)i=1N作为输入,并为 SDF 和 PBR 字段输出估计 s ^ \hat s s^ k ^ \hat k k^

我们从网格表面数据集 M ⊂ R 3 M ⊂ R^3 MR3 和地面实况 PBR 材料 k : M → R 5 .  k: M \rightarrow \mathbb{R}^{5} \text {. } k:MR5对其进行训练。

重建模型通常通过对渲染的监督进行训练[29,95]。然而,通过方程式进行物理上准确的渲染。 (1) 非常昂贵。我们以两种方式克服了这个障碍。首先,我们渲染原始的ground-truth PBR字段 k k k,并使用它们来监督其MSE损失的预测对应项,跳过Eq.(1)。对于与自然图像足够相似的渲染反照率 ρ 0 ρ_0 ρ0,我们也使用LPIPS[116]损失:

L p b r = LPIPS ⁡ ( R ( ⋅ ∣ ρ ^ 0 , s ^ , π ) , R ( ⋅ ∣ ρ 0 , M , π ) ) + ∥ R ( ⋅ ∣ k ^ , s ^ , π ) − R ( ⋅ ∣ k , M , π ) ∥ 2 . \mathcal{L}_{\mathrm{pbr}}=\operatorname{LPIPS}\left(\mathcal{R}\left(\cdot \mid \hat{\rho}_{0}, \hat{s}, \pi\right), \mathcal{R}\left(\cdot \mid \rho_{0}, M, \pi\right)\right)+\|\mathcal{R}(\cdot \mid \hat{k}, \hat{s}, \pi)-\mathcal{R}(\cdot \mid k, M, \pi)\|^{2} . Lpbr=LPIPS(R(ρ^0,s^,π),R(ρ0,M,π))+R(k^,s^,π)R(k,M,π)2.

我们通过添加计算效率高的延迟阴影损失来进一步监督 PBR 字段:
L def  = ∥ w ⊙ ( R d e f ( ⋅ ∣ k ^ , s ^ , π ) − R d e f ( ⋅ ∣ k , M , π ) ) ∥ 2 \mathcal{L}_{\text {def }}=\left\|\sqrt{w} \odot\left(\mathcal{R}_{\mathrm{def}}(\cdot \mid \hat{k}, \hat{s}, \pi)-\mathcal{R}_{\mathrm{def}}(\cdot \mid k, M, \pi)\right)\right\|^{2} Ldef 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值