InstantMesh 论文学习

news2024/9/20 0:14:29

论文链接:https://arxiv.org/abs/2404.07191
代码链接:https://github.com/TencentARC/InstantMesh

解决了什么问题?

这项技术可以从单个视角的2D图像中生成3D模型,这有助于简化3D内容的创建过程。3D资产的生成可以应用于虚拟现实(VR)、工业设计、游戏开发和动画制作等多个领域。随着大规模扩散模型的出现,图像和视频生成领域经历了一场革命。这些模型在数十亿规模的数据上训练,能够根据开放式的提示生成生动和富有想象力的内容。尽管图像和视频生成取得了巨大成功,但在3D生成领域复制这种成功面临挑战,主要原因是3D数据集的规模有限,且3D数据的标注质量较差。3D数据集通常不如2D图像和视频数据集那样丰富和多样化,这限制了3D生成模型的训练和性能。此外,3D数据的标注(如深度、法线等)可能不够准确或详尽,这影响了模型学习3D结构的能力。

3D 数据缺乏是 3D 生成领域面临的一个重要问题,尤其是在需要大量数据来训练模型的情况下。为了解决这个问题,先前的研究探索了将2D图像扩散先验知识蒸馏到3D表示中的方法。这些方法采用了针对每个场景的优化策略,这意味着为每个单独的场景或数据集进行特定的优化。DreamFusion提出了得分蒸馏采样(SDS),这是一种在开放世界3D合成中取得突破的技术。使用文本到 2D 模型的 SDS 经常遇到所谓的 “Janus” 问题,即生成的3D模型在不同视角下出现不一致性,导致模型表面出现多个不同的面孔。为了改善3D一致性,后续工作提出了从Zero123模型中蒸馏,Zero123是一个从Stable Diffusion微调得到的新型视图生成器。一系列进一步的工作提出了多视图生成模型,这些模型可以同时由多个新颖的视图引导优化过程。通过多视图生成模型,优化过程可以得到多个视图的同时指导,这有助于生成在不同视角下都保持一致性的3D模型。

基于2D图像扩散先验的方法能够展示出强大的零样本(zero-shot)生成能力,即在没有针对特定类别训练的情况下生成新的样本。尽管2D蒸馏方法在理论上很有潜力,但它们在实际应用中耗时且不实用,因为生成过程可能需要大量的计算资源和时间。随着大规模开放世界3D数据集的可用性增加,一些先锋性的工作表明,图像标记(tokens)可以直接映射到3D表示,例如通过使用三平面(triplanes)。LRM是一种新型的3D重建模型,它基于高度可扩展的 transformer 架构,能够快速创建高质量的3D资产。Instant3D 提出了一种通过增强的LRM预测3D形状的方案,该LRM使用由扩散模型生成的多视图输入。Instant3D 的方法将LRM与图像生成模型相结合,这显著提高了模型的泛化能力,使其能够更好地适应不同的图像和场景。通过结合LRM和图像生成模型,Instant3D不仅提高了3D资产生成的速度和质量,还提高了模型对新数据和新场景的适应性。

基于LRM的方法使用三平面(triplanes)作为3D表示。尽管三平面在几何和纹理表示方面具有很强的能力,但解码三平面需要一个内存密集型的体积渲染过程。体积渲染的内存需求和计算复杂性显著限制了训练规模,即这种方法难以扩展到大规模的数据集或高分辨率的图像。高昂的计算成本使得使用高分辨率的RGB图像和几何信息(例如深度和法线)进行监督变得具有挑战性。为了提高训练效率,近期的研究寻求使用高斯分布作为3D表示,这种方法在渲染方面是有效的,但不适合于几何建模。一些并行的研究选择使用可微分表面优化技术直接对网格表示进行监督。然而,这些研究通常采用基于卷积神经网络(CNN)的架构,这限制了它们处理不同输入视图的灵活性,以及在更大规模数据集上的扩展性。

Triplanes是一种用于3D数据表达的方法,它通过将3D空间中的信息编码到三个正交的2D平面(通常称为特征平面)上,来高效地表示3D形状和场景。每个特征平面包含了3D空间中特定坐标轴的切片信息,这些切片通过插值获取3D点的特征向量,然后将这些特征向量累加以形成3D特征表示。这种方法的优势在于其效率,因为它随着表面面积而非体积进行扩展。

Image-to-3D

早期的研究主要集中在将2D图像转换为3D模型的单视图重建任务上。单视图重建是指仅使用一个视角的图像来推断出3D结构的过程。随着扩散模型(diffusion models)的发展,这些模型开始被用于图像到3D的生成任务。先驱性的工作探索了基于图像条件的3D生成建模,这些模型尝试在多种3D表示上生成3D内容,例如:点云、网格、SDF 网格、神经场。尽管这些方法取得了有希望的进展,但由于训练数据规模有限,它们很难泛化到开放世界(open-world)的对象上。开放世界的对象指的是在训练数据中未出现过的、更广泛和多样化的对象。这些方法在处理训练数据中未包含的物体时可能会遇到困难,因为它们没有足够的信息来准确预测和生成新的3D结构。

强大的文本到图像扩散模型的出现,激发了利用这些模型生成3D内容的新思路。2D扩散先验是指在2D图像上训练得到的扩散模型,这些模型能够捕捉图像的分布特性。通过每场景优化策略,可以将2D扩散先验知识蒸馏到3D表示中,这意味着为每个单独的场景或数据集进行特定的优化。DreamFusion提出的得分蒸馏采样(SDS)是一种在零样本文本到3D合成中表现出色的技术。零样本文本到3D合成是指在没有针对特定类别训练的情况下,直接从文本描述生成3D模型的能力。SDS方法经常遇到的一个问题是多面问题,也称为 “Janus” 问题,即生成的3D模型在不同视角下出现不一致性,导致模型表面出现多个不同的面孔。Zero123展示了Stable Diffusion模型可以通过相对相机姿态的条件调整来微调,以合成新视角的图像。利用Zero123提供的新颖视角指导,近期的图像到3D方法展示了改进的3D一致性,能够从开放领域的图像中生成合理的形状。

Multi-view Diffusion Models

Zero123是一种用于从文本描述生成3D模型的方法,但它在生成同一对象的不同视图时可能会遇到一致性问题。为了解决这个问题,一些研究工作尝试微调2D扩散模型,以便同时合成同一对象的多个视图。生成的多视图图像在3D上是一致的,这意味着从不同角度观察时,图像能够保持相同的3D结构。有了3D一致性多视图图像后,可以应用多种技术来获取3D对象:SDS 优化、神经表面重建方法、多视图条件 3D 扩散模型。为了进一步提高模型的泛化能力和多视图生成的一致性,一些近期的研究工作利用视频扩散模型中的时间先验来进行多视图生成。视频扩散模型中的时间先验是指在视频帧序列中,连续帧之间的时间关系和变化模式。利用这些时间先验可以帮助生成在时间上连贯的多视图图像。

Large Reconstruction Models

大规模3D数据集的出现使得可以训练出能够泛化到新场景的3D重建模型。LRM展示了 transformer 架构可以有效将图像标记映射到隐式的3D三平面表示,并使用多视图监督。Instant3D进一步将LRM扩展到稀疏视图输入,显著提高了重建质量。结合多视图扩散模型,Instant3D能够实现高泛化性和高质量的单图像到3D生成。受到Instant3D的启发,LGM和GRM将三平面NeRF表示替换为3D高斯表示,以利用其优越的渲染效率,并避免了内存密集型的体积渲染过程。尽管高斯表示在渲染效率上有优势,但在显式几何建模和高质量表面提取方面存在不足。鉴于神经网格优化方法的成功,MVD2和CRM等并行工作选择直接在网格表示上进行优化,以实现高效的训练和高质量的几何及纹理建模。与MVD2和CRM使用的卷积网络架构不同,作者的模型基于LRM,并选择了 transformer 架构,提供了更好的灵活性和训练可扩展性。

提出了什么方法?

InstantMesh 能够从单张图像快速生成3D网格,该框架提供了目前最高水准的 3D 资产生成质量,在训练时具有良好的可扩展性,可以处理更大规模的数据集或更复杂的模型。

  • 给定一个输入图像,InstantMesh使用这个图像作为生成3D网格的起点。
  • InstantMesh首先使用多视图扩散模型生成一组在3D上一致的多视图图像。这些图像从不同角度展示了预期的3D结构。
  • 接着,InstantMesh利用一个基于LRM的稀疏视图大型重建模型直接预测3D网格。这意味着模型可以从少量视图快速推断出3D结构。
  • 整个过程,从图像输入到3D网格生成,可以在几秒钟内完成。
  • InstantMesh集成了一个可微分等值面提取模块,该模块可以直接在网格表面上应用几何监督,提高了训练效率和网格生成质量。

在公共数据集上的实验结果表明,InstantMesh 在定性和定量方面都显著优于其他最新的图像到3D的基线方法。作者发布了InstantMesh 的所有代码、权重和演示,目的是为3D生成AI领域的社区做出实质性贡献,并为研究人员和内容创作者提供支持。

InstantMesh 的架构和 Instant3D 相似,由一个多视图扩散模型 G M G_M GM 和一个稀疏视图的大规模重建模型 G R G_R GR 组成。给定一张输入图像 I I I G M G_M GM 产生 3D 连续的多视图图像,然后输入 G R G_R GR 重建出高质量的 3D 网格。

Multi-view Diffusion Model

作者的重建模型接受自由视点图像作为输入,这意味着它可以处理从不同角度拍摄的图像。由于稀疏视图重建模型的灵活性,可以将任意多视图生成模型集成到其框架中。文中提到了一些多视图生成模型的例子,包括MVDream、ImageDream、SyncDreamer、SPAD和SV3D。通过集成这些多视图生成模型,作者的框架能够实现从文本描述或图像到3D资产的创建。作者选择了Zero123++作为其框架的一部分,因为它在多视图一致性方面表现出可靠性,并且提供了适应的视点分布。Zero123++的视点分布能够覆盖3D对象的上部和下部,这有助于更全面地捕捉和重建3D结构。

White-background Fine-tuning.

给定一张图像,Zero123++ 生成一个 960 × 640 960\times 640 960×640 的灰底图像,该图像以 3 × 2 3\times 2 3×2网格的形式展示 6 6 6个多视图图像。在实践中,作者发现生成的背景在不同图像区域之间不一致,并且在RGB值上有所变化。这种不一致性会导致重建结果中出现浮动物(floaters)和类似云的伪影。大型重建模型(LRMs)通常也是在白底图像上进行训练的。为了去除灰底背景,可能需要使用第三方库或模型来保证在多个视图之间分割的一致性,但这不能保证分割的稳定性。因此,作者选择对Zero123++进行微调,使其能够合成一致的白底背景图像。这样做的目的是确保后续稀疏视图重建过程的稳定性。微调Zero123++的目的是为了生成没有背景不一致问题的图像,这样可以提高重建质量,减少重建过程中可能出现的伪影。在多视图重建中,视图之间的一致性对于获得高质量的3D模型至关重要。通过确保背景的一致性,可以提高重建过程的稳定性和最终结果的可靠性。

Data Preparation and Fine-tuning Details.

作者按照Zero123++的相机分布来准备微调数据集,使用Objaverse数据集中的LVIS子集中的每个3D模型进行操作。对于LVIS子集中的每个3D模型,渲染一个查询图像(query image)和6个目标图像(target images),所有图像都在白色背景上。查询图像的方位角(azimuth)、仰角(elevation)和相机距离是从一个预定义的范围中随机采样的。6个目标图像的相机姿态在 2 0 ∘ 20^\circ 20 − 1 0 ∘ -10^\circ 10之间的仰角交替变化(从不同的高度视角捕捉 3D 模型),并结合相对于查询图像的方位角,起始于 3 0 ∘ 30^\circ 30,并为每个姿态增加 6 0 ∘ 60^\circ 60,确保从不同角度全面覆盖3D模型。

在微调过程中,使用查询图像作为条件,并把6个目标图像拼接成一个 3 × 2 3\times 2 3×2的网格进行去噪处理。查询图像作为条件输入,指导去噪过程,确保生成的图像与查询图像在内容上一致。将6个目标图像拼接起来,形成一个较大的图像网格,这有助于模型学习如何一致地去噪整个图像集合。遵循Zero123++的做法,使用线性噪声计划(linear noise schedule),这是一种向数据中逐渐添加噪声的策略,用于训练扩散模型。使用 v v v-prediction损失函数来训练模型,这种损失函数专注于预测噪声过程中的中间步骤,有助于改善去噪性能。随机调整条件图像的分辨率,使模型能够适应不同的输入分辨率,并生成清晰的图像。微调的目标是简单地替换背景颜色,而不是改变模型的生成能力。由于目标简单,微调过程收敛得非常快。使用UNet进行微调,迭代 1000 1000 1000步,学习率为 1.0 × 1 0 − 5 1.0 × 10^{−5} 1.0×105,批量大小(batch size)为 48 48 48。微调后的模型能够完全保留Zero123++的生成能力,并能够一致地产生白色背景的图像。

Sparse-view Large Reconstruction Model

稀疏视图重建模型 G R G_R GR 针对生成的多视图图像预测出网格。作者对于 Instant3D 的 G R G_R GR 的结构做了增强。

数据准备

训练数据集由Objaverse数据集中渲染的多视图图像组成。具体来说,对于数据集中的每个物体,作者渲染了 512 × 512 512\times 512 512×512像素的图像、深度图和法线图。每个物体的图像是从32个随机视点渲染得到的,这有助于模型学习从不同角度观察物体。此外,作者使用了一个经过筛选的高质量子集来训练他们的模型。筛选的目标是移除满足以下任一条件的物体:

  • 没有纹理贴图的物体;
  • 从任何角度渲染的图像占据不足 10 % 10\% 10% 的物体;
  • 包含多个独立物体的组合;
  • 没有 Cap3D 数据集提供的标题信息的物体;
  • 低质量的物体。

“低质量”物体的分类是基于元数据中是否存在如“lowpoly”及其变体(例如“low poly”)等标签来确定的。通过应用筛选标准,作者从Objaverse数据集最初的800k个物体中筛选并整理出了大约270k个高质量实例。

输入视图和分辨率

训练时,对于每个物体,随机选取6张图像作为输入,另外选取4张图像作为监督信号。这10张图像用于训练模型,以学习如何根据一组图像重建 3D 结构。为了和 Zero123++ 的输出分辨率保持一致,所有输入的图像都被调整大小至 320 × 320 320\times 320 320×320 像素。在推理时,使用 Zero123++ 生成的6张图像作为重建模型的输入。重建模型的相机姿态是固定的,这意味着在生成图像时使用的相机位置和方向在推理过程中保持不变。作者的模型基于 transformer 架构,可以自然地处理不同数量的输入视图。使用较少的输入视图进行重建是实际可行的,这有助于在某些情况下减轻多视图一致性问题。当从多个视角渲染图像时,可能会遇到视角之间的一致性问题,尤其是在视角差异较大时。Transformer 架构提供了灵活性,允许根据需要选择不同数量的输入视图,这有助于优化推理过程并提高结果的稳定性。

Mesh as 3D Representation

传统的基于LRM的方法输出三平面(triplanes),这些需要通过体积渲染来合成图像。在训练过程中,体积渲染消耗大量内存,这限制了使用高分辨率图像和法线作为监督信号。为了提高训练效率和重建质量,作者在他们的重建模型中集成了一个可微分的等值面(iso-surface)提取模块,即 FlexiCubes。得益于高效的网格光栅化技术,作者能够使用全分辨率图像和额外的几何信息(如深度和法线)进行监督,而无需将它们裁剪成小块。应用这些几何监督信号可以生成比从三平面NeRF提取的网格更平滑的网格输出。使用网格表示还可以方便地应用额外的后处理步骤来增强结果,例如得分蒸馏采样(SDS)优化或纹理烘焙。

体绘制(Volume Rendering)是一种用于显示三维体数据的二维投影的技术。这种技术能够将体数据中的信息以图像的形式展现出来,广泛应用于科学计算可视化、医学成像、地质勘探等领域。体绘制算法有多种,包括光线投射算法(Ray-casting)、错切-变形算法(Shear-warp)、频域体绘制算法(Frequency Domain)和抛雪球算法(Splatting)。其中,光线投射算法是最基本和通用的方法,它通过从图像的每一个像素发射光线,并在体数据中进行采样和颜色累加,最终生成渲染图像。此外,有向距离场(Signed Distance Fields, SDF)在立体渲染中也扮演着重要角色,它可以用来表示和处理复杂的几何形状。通过SDF,可以实现对物体内部结构的精确控制和渲染。

Iso-surface是在三维数据集中,选取一个特定的数值(iso-value),将所有在这个数值上的数据点连接起来形成的表面。这个表面代表了数据场中的一个特定值的边界。在体绘制中,三维数据通常以体素(Voxel)的形式表示,每个体素包含一个数值,如密度、温度或压力等。通过选择特定的数值作为阈值,等值面提取算法会搜索体数据中所有等于该阈值的体素,并构建连接这些体素的表面。Marching Cubes是一种流行的等值面提取算法,它通过在体素数据中行进并检测数值变化来构建等值面。等值面可以提供数据集中特定特征的直观表示。等值面提取通常关注于数据集中特定数值的表面,而体绘制技术则是展示整个数据集的体积信息,包括透明度和颜色的变化。

与单视图的 LRM 相比,本文的重建模型的输入包含了6个视图,在计算 triplane tokens 和图像 tokens 的跨注意力时需要更多的内存。从头训练这样一个大型的 transformer 需要很长的时间。为了提高收敛速度,作者使用 OpenLRM 的预训练权重来初始化。作者采用了双阶段的训练策略。

Stage 1: Training on NeRF

第一阶段,作者在 triplane NeRF 表示上训练,重用了预训练的 OpenLRM 的知识。为了使模型那个能处理多个视角的输入图像,作者对模型做了修改。AdaLN(Adaptive Layer Normalization)是一种自适应的层归一化技术。在这里,它被添加到Vision Transformer 的图像编码器中,用于根据相机姿态调制特征,使输出的图像 token 能感知到姿态。在LRM的 triplane 解码器中原本包含了相机调制层,在修改过程中,作者将这些层被移除了,为了适应多视图输入或简化模型结构。

NeRF(Neural Radiance Fields,神经辐射场)是一种用于3D场景表示的深度学习模型。在这里,它被用于基于三平面(triplane)的3D表示,这是一种将3D信息编码到三个正交2D平面上的方法。

图像损失和 mask 损失就是:

L 1 = ∑ i ∥ I ^ i − I i g t ∥ 2 2 + λ lpips ∑ i L lpips ( I ^ i , I i g t ) + λ m a s k ∑ i ∥ M ^ i − M i g t ∥ 2 2 \begin{equation} \begin{split} \mathcal{L}_1&=\sum_i \left\| \hat{I}_i - I_i^{gt} \right\|_2^2 \\ &+ \lambda_{\text{lpips}}\sum_i \mathcal{L}_{\text{lpips}}\left( \hat{I}_i, I_i^{gt} \right) \\ &+ \lambda_{mask}\sum_i \left\| \hat{M}_i - M_i^{gt} \right\|_2^2 \end{split} \end{equation} L1=i I^iIigt 22+λlpipsiLlpips(I^i,Iigt)+λmaski M^iMigt 22

其中, I ^ i , I i g t , M ^ i , M i g t \hat{I}_i, I_i^{gt}, \hat{M}_i, M_i^{gt} I^i,Iigt,M^i,Migt 表示第 i i i个视角的渲染图像、ground-truth 图像、渲染 mask、ground-truth mask。训练时, λ lpips = 2.0 , λ m a s k = 1.0 \lambda_{\text{lpips}}=2.0, \lambda_{mask}=1.0 λlpips=2.0,λmask=1.0,学习率设为了 4.0 × 1 0 − 4 4.0\times 10^{-4} 4.0×104,余弦退火至 4.0 × 1 0 − 5 4.0\times 10^{-5} 4.0×105。为了训练高分辨率图像,模型渲染了 192 × 192 192\times 192 192×192 个 patches,由裁剪后的 ground-truth patches 监督训练,这些 ground-truth patches 的大小在 192 × 192 192\times 192 192×192 512 × 512 512\times 512 512×512 之间。

LPIPS(Learned Perceptual Image Patch Similarity)是一种用于评估图像相似性的度量标准,特别是在3D重建任务和其他计算机视觉应用中。LPIPS的核心思想是利用深度学习模型来学习图像内容的感知相关性,从而提供一个比传统像素级度量(如均方误差MSE)更为精确的相似性评估。在3D重建任务中,LPIPS可以用来评估重建结果的质量。通过比较重建图像与真实图像或参考图像之间的LPIPS得分,可以评估重建的准确性和真实感。传统的图像相似性度量(如MSE、SSIM等)可能无法准确反映人类视觉感知,而LPIPS作为一种基于学习的方法,能够更好地模拟人类的感知评价。计算LPIPS得分通常涉及将输入图像通过一个预训练的深度神经网络,得到一个分数,该分数反映了图像对之间的相似性。LPIPS得分越低,表示两幅图像之间的感知差异越小,即它们在视觉上越相似。

Stage 2: Training on Mesh

在第二阶段,模型从之前的三平面NeRF转换到使用网格表示。网格表示可以使得训练过程更高效,因为它可能简化了优化问题,或者使得模型更容易学习到3D形状的细节。并且使用额外的几何监督信号,如深度、法线等来指导和改进模型的训练。作者将 FlexiCubes 加入了本文的重建模型,从隐式的三平面场提取网格表面。原始的三平面NeRF渲染器包括一个用于预测密度的多层感知器(MLP)和一个用于预测颜色的MLP。在转换到网格表示后,原有的用于预测密度的MLP被重用,但这次它被用来预测符号距离函数(SDF)。为了支持FlexiCubes的工作,模型中添加了两个额外的MLP,一个用于预测变形,另一个用于预测FlexiCubes所需的权重,从而调整网格以更好地适应隐式场提取的形状。

Mesh 网格表示通常指的是由顶点、边和面组成的3D模型。

FlexiCubes是一种集成到重建模型中的方法,用于从未显式的三平面场(triplane implicit fields)中提取网格表面。

符号距离函数(SDF)是一种表示3D形状的函数,它为空间中的每个点分配一个值,表示该点到最近表面的有符号距离。

对于密度场 f ( x ) = d , x ∈ R 3 f(\mathbf{x})=d, \mathbf{x}\in \mathbb{R}^3 f(x)=d,xR3,物体内部的点具有更高的值,外部的点值较小。而 SDF 场 g ( x ) = s g(\mathbf{x})=s g(x)=s 则恰恰相反。因此,作者用如下方式初始化最后一个 SDF MLP 的权重 w ∈ R C \mathbf{w}\in \mathbb{R}^C wRC 和偏置 b ∈ R b\in \mathbb{R} bR

w = − w d b = τ − b d \begin{equation} \begin{split} \mathbf{w}=-\mathbf{w}_d \\ b = \tau - b_d \end{split} \end{equation} w=wdb=τbd

其中 w d ∈ R C \mathbf{w}_d\in \mathbb{R}^C wdRC b d ∈ R b_d\in\mathbb{R} bdR 是原密度 MLP 最后一层的权重和偏置。 τ \tau τ 表示密度场里用到的 iso-surface 阈值。将最后一个 MLP 的输入特征记做 f ∈ R C \mathbf{f}\in \mathbb{R}^C fRC,我们有

s = w ⋅ f + b = ( − w d ) ⋅ f + ( τ − b d ) = − ( w d ⋅ f + b d − τ ) = − ( d − τ ) \begin{equation} \begin{split} s &= \mathbf{w}\cdot \mathbf{f} + b \\ &= (-\mathbf{w}_d)\cdot \mathbf{f} + (\tau - b_d) \\ &= -(\mathbf{w}_d \cdot \mathbf{f} + b_d - \tau) \\ &= -(d-\tau) \end{split} \end{equation} s=wf+b=(wd)f+(τbd)=(wdf+bdτ)=(dτ)

初始化后,将密度场的方向掉转,和 SDF 的方向一致,确保 iso-surface 的边界位于 SDF 场的零水平集上。通过实验,作者发现这样初始化有助于提升训练的稳定性和 FlexiCubes 的收敛速度。第二阶段的损失如下:

L 2 = L 1 + λ d e p t h ∑ i M g t ⊗ ∥ D ^ i − D i g t ∥ 1 + λ n o r m a l ∑ i M g t ⊗ ( 1 − N i ^ ⋅ N i g t ) + λ r e g L r e g \begin{equation} \begin{split} \mathcal{L}_2 = \mathcal{L}_1 &+ \lambda_{depth} \sum_i M^{gt} \otimes \left\| \hat{D}_i - D_i^{gt} \right\|_1 \\ &+ \lambda_{normal} \sum_i M^{gt} \otimes (1 - \hat{N_i}\cdot N_i^{gt}) \\ &+ \lambda_{reg}\mathcal{L}_{reg} \end{split} \end{equation} L2=L1+λdepthiMgt D^iDigt 1+λnormaliMgt(1Ni^Nigt)+λregLreg

其中 D ^ i , D i g t , N ^ i , N i g t \hat{D}_i, D_i^{gt}, \hat{N}_i, N_i^{gt} D^i,Digt,N^i,Nigt 分别表示第 i i i个视角的渲染深度、ground-truth 深度、渲染法线和 ground-truth 法线。 ⊗ \otimes 表示逐元素的乘积。 L r e g \mathcal{L}_{reg} Lreg 表示 FlexiCubes 的正则项。训练时, λ d e p t h = 0.5 , λ n o r m a l = 0.2 , λ r e g = 0.01 \lambda_{depth}=0.5, \lambda_{normal}=0.2, \lambda_{reg}=0.01 λdepth=0.5,λnormal=0.2,λreg=0.01,学习率为 4.0 × 1 0 − 5 4.0\times 10^{-5} 4.0×105,余弦退火至 0 0 0。在这俩阶段都使用了八张 H800 GPUs 训练。

Camera Augmentation and Perturbation

与那些在视图空间(即相对于相机视角的局部空间)中重建3D对象的模型不同,作者的模型在规范化的世界空间(canonical world space)中重建3D对象。在这种空间中, z z z轴与反重力方向对齐,这意味着在重建过程中,3D对象是根据地球重力方向(通常指向地面)来定位的。为了提高模型对3D对象尺度和方向的鲁棒性,作者对输入的多视图相机姿态(即相机的位置和方向)执行了随机旋转和平移。通过对相机姿态进行随机变换,模型可以学习到在不同尺度和方向下重建3D对象的能力,从而提高其泛化能力。考虑到由Zero123++生成的多视图图像可能与其预定义的相机姿态不一致,这可能会影响重建的准确性。为了解决这个问题,作者在将相机参数输入到 Vision Transformer 图像编码器之前,向其添加了随机噪声,以增强模型对输入变化的适应性。

Model Variants

本文,作者提供了四个稀疏视角重建模型的变体,两个来自于第一阶段,两个来自第二阶段。根据 3D 表示(NeRF、Mesh)和参数的多少(base、large)来命名模型。下表中列出了各模型的细节。

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

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

相关文章

Pytorch人体姿态骨架生成图像

ControlNet是一个稳定扩散模型,可以复制构图和人体姿势。ControlNet解决了生成想要的确切姿势困难的问题。 Human Pose使用OpenPose检测关键点,如头部、肩膀、手的位置等。它适用于复制人类姿势,但不适用于其他细节,如服装、发型和…

Altium designer学习笔记03 -原理图绘制

原理图绘制 1. 原理图页大小设置2.原理图格点的设置3. 原理图模板的应用4. 元件的放置5.元件属性的编辑6.元件的选择、移动、旋转、镜像6.1 元件的选择6.2 元件的移动6.3 元件的旋转6.3 元件的镜像 7.元件的复制/剪切/粘贴8.元件的排列与对齐9.绘制导线的导线属性设置10.放置网…

基于Comsol进行薄膜型声学超表面设计与可调节性研究

研究背景: 在隔声领域,高频噪声属于易于隔离的频段噪声,使用隔音板或隔音墙便可达到良好的隔声效果。而低频噪声由于具有波长大、穿透性强、传播距离远等特点,根据质量作用定律,传统的隔声材料需要通过不断增加材料的…

低代码与软件定制开发的完美结合:生产管理软件的高效解决方案

引言 在当今快速变化的商业环境中,企业需要灵活且高效的生产管理软件来应对日益复杂的生产流程和市场需求。传统的软件开发模式往往需要大量的时间和资源,而低代码平台的出现为企业提供了一种快速开发和部署应用的新途径。低代码平台通过直观的拖放界面和…

Mirillis Action v4.40 解锁版下载与免安装教程 (专业高清屏幕录像软件)

前言 Mirillis Action!(暗神屏幕录制软件)专业高清屏幕录像软件,被誉为游戏视频三大神器之一。这款屏幕录制软件和游戏录制软件,拥有三大硬件加速技术,支持以超高清视频画质录制桌面和实况直播,超清视频画…

如何抢先获得抖音外卖未开放城市的区域服务商资格?附系统搭建教程!

自抖音外卖上线以来,抖音外卖区域服务商的申请热度与日俱增,连带着抖音外卖区域服务商有哪些城市开放了等多个相关话题也成为了各大本地生活服务商交流群的重点讨论对象。 从申请情况来看,目前,抖音外卖区域服务商的申请渠道主要…

五种IO模型、多路转接IO:select,poll,epoll(reactor)(技术

之前的系统部分的基础IO:就是冯诺依曼结果中的访问磁盘,用内存作为输入输出缓冲区提高效率 现在我们要说的高级IO(input/output):访问的外设(网络中就是网卡):我们的发送和接收接收其实大部分时…

奇奇怪怪的知识又增加了---给数据自动加上千分位

千分位(thousands),数学领域术语,一种简化数学表达的方式。千分位形式,即从个位数起,每三位之间加一个逗号,例如,将7654321输出成7,654,321。 有粉丝私信问,投稿中经常有编辑要求给数字加上千分…

资产管理系统GLPI的安装配置——Linux(Ubuntu 20.04.6 LTS)

系统版本20.04.6 LTSGLPI版本10.0.16PHP版本7.4.3 1.安装PHP及其依赖。PHP版本必须在7.4.0以上 sudo apt update -y sudo apt upgrade -y sudo apt install -y apache2 php-curl php-zip php-gd php-intl php-intl php-pear php-imagick php-imap php-memcache php-pspell p…

探索腾讯云AI代码助手的效能与实用性

前言开发环境配置项目实例应用一:功能介绍二:项目测试FFmpeg二次开发SDL应用加密播放器 帮助提升建议结语 ​ 前言 腾讯云的AI代码助手是一款强大的编码辅助工具,利用混元代码大模型技术,提供技术对话、代码补全、代码诊断和优化…

MySQL·C/C++访问数据库

目录 准备工作 测试是否安装成功 C/C语言访问 官方文档 接口介绍使用 mysql_init() mysql_close() 补充1:makefile编写 mysql_real_connect() 测试1:编译链接 mysql_query() 测试2:SQL语句测试 改 增 删 查 错误1&#x…

vxe-table树形结构使用setCheckboxRow卡顿--已解决

项目场景: vxe-table树形结构使用setCheckboxRow进行部分节点选中 问题描述 vxe-table树形结构使用setCheckboxRow,在数据较多时卡顿 原因分析: setCheckboxRow内部进行了多次的循环遍历,导致速度慢 解决方案: …

YoloV9改进策略:Block改进|GroupMamba在RepNCSP模块中的革新应用|即插即用

在深度学习和计算机视觉领域,YoloV9以其卓越的性能和高效的检测能力赢得了广泛认可。为了进一步提升YoloV9的性能,我们创新性地引入了GroupMambaLayer作为其RepNCSP模块的核心改进。这一策略不仅显著增强了模型的性能,还优化了参数效率和计算…

[数据集][目标检测]轴承缺陷划痕检测数据集VOC+YOLO格式1166张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1166 标注数量(xml文件个数):1166 标注数量(txt文件个数):1166 标注…

从 Pandas 到 Polars 四十五:Polars、Altair 和 Vegafusion

Altair长期以来一直是我最喜欢的可视化库。它允许我通过简洁且一致的API制作美丽的可视化图表。然而,去年我发现我无法将Polars的DataFrame传递给Altair图表时,我感到很失望。 但那些日子已经过去了。在这篇文章中,我们将探讨随着Altair 5的…

雷达气象学(1)——雷达电磁波的散射

文章目录 1.0 电磁波的特征1.1 散射的概念及类型1.2 散射函数——表示粒子的散射能力1.3 瑞利后向散射函数1.4 后向散射截面——更好地表示粒子的散射能力1.5 反射率因子 1.0 电磁波的特征 雷达的探测方式为电磁波。电磁波是在空间传播的电场和磁场两者结合,它在时…

C++从入门到起飞之——string类的模拟实现 全方位剖析!

🌈个人主页:秋风起,再归来~🔥系列专栏:C从入门到起飞 🔖克心守己,律己则安 目录 1、多文件之间的关系 2、模拟实现常用的构造函数 2.1 无参构造函数 2.2 有参的构造函数 2.3 析构函…

应急响应-主机安全之文件相关命令(Linux操作系统)

目录 概述常用命令file-探测给定文件的类型选项常用选项组合 stat-查看文件信息find-不止查找文件选项测试操作常用选项 locate-比find好用的查找命令选项常用选项组合 chmod-修改文件权限suidsbit chown、chgrp 修改文件所有者/所在组umask-显示或设置创建文件的权限掩码常用选…

理解Spring框架4:事务

理解Spring框架4:事务 (qq.com)

等保密评整改应该申请哪种SSL证书

在等保(信息安全等级保护)和密评(商用密码应用安全性评估)整改过程中,申请SSL证书是提升系统安全性的重要环节。下面是等保密评应该申请什么样证书的详细建议 类型选择 1 选择国密或者双算法证书 应优先考虑使用采用…