高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成

发布于 2025-2-18 12:48
浏览
0收藏

    

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

论文链接:https://arxiv.org/pdf/2502.07785 
项目链接:https://yashkant.github.io/pippo/

亮点直击

  • 一种生成模型:能够从单张图像生成高分辨率和多视角一致的人体,并提出了有效的训练策略。
  • 一种扩散Transformer架构:专为增强多视角生成和视角控制而设计。
  • 一种注意力偏置技术:能够在推理时生成比训练时多5倍以上的视角。
  • 一种新颖的3D一致性指标:用于准确衡量生成任务中的3D一致性水平。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

总结速览

解决的问题

  • 高质量多视角数据获取成本高:传统方法需要高质量的多视角工作室数据来创建逼真的人体表示,但这些数据获取成本高,限制了可扩展性。
  • 野外数据缺乏3D或多视角表示:大规模、非结构化的野外人体图像和视频虽然丰富,但缺乏真实的3D或多视角表示。
  • 多视角生成模型的3D一致性问题:现有方法在生成多视角图像时,难以保证3D一致性,且现有评估指标无法准确衡量3D一致性。

提出的方案

  • Pippo模型:提出了一种基于Diffusion Transformer的生成模型Pippo,能够从单张随意拍摄的照片生成1K分辨率的多视角一致图像。
  • 多阶段训练策略
  • 预训练:在大规模野外人体图像数据集上进行预训练。
  • 中期训练:在高质量工作室数据集上进行多视角一致性生成训练。
  • 后期训练:引入空间锚点(Spatial Anchor)信号,进一步提升3D一致性。
  • 推理时的注意力偏置技术:提出了一种注意力偏置方法,解决了生成更多视角时质量下降的问题。
  • 改进的3D一致性评估指标:设计了一种新的3D一致性评估方法,通过2D关键点匹配、三角测量和重投影误差来量化3D一致性。

应用的技术

  • Diffusion Transformer(DiT):用于生成高质量的多视角图像。
  • 自注意力机制:用于条件多视角生成,增强模型的条件生成能力。
  • 轻量级空间控制:如空间锚点(Spatial Anchor)和Plücker坐标,用于编码目标相机姿态。
  • 注意力偏置技术:用于控制多视角生成时的熵增长,提升生成质量。
  • 2D关键点匹配与三角测量:用于评估3D一致性,通过重投影误差量化生成结果的几何正确性。

达到的效果

  • 高质量多视角生成:Pippo能够从单张图像生成1K分辨率的多视角一致图像,且无需额外的参数化模型或输入图像的相机参数。
  • 3D一致性提升:通过多阶段训练和空间锚点信号,显著提升了生成图像的3D一致性。
  • 推理时生成更多视角:通过注意力偏置技术,Pippo能够在推理时生成比训练时多5倍的视角,且保持高质量。
  • 评估指标改进:提出的3D一致性评估指标能够更准确地量化生成结果的几何正确性,Pippo在该指标上优于现有方法。

方法

本文采用三阶段策略训练模型:

  • 仅图像预训练(P1):在以人为中心的大规模数据集上进行预训练,使用图像条件。
  • 多视角中期训练(M2):在128×128的低分辨率下训练模型,对48个目标视角进行去噪,并使用粗略的相机控制(无像素对齐的空间控制)。
  • 多视角后期训练(P3):在1024×1024的高分辨率下训练模型,对1-3个目标视角进行去噪,并通过ControlMLP层注入空间控制。


将任何给定模型的训练阶段和分辨率表示为​​{stage}@{resolution}​​​。例如,​​M2@128​​表示在128分辨率下进行中期训练的模型。


###基础模型架构:本文采用类似DiT的架构(见下图3),受Stable Diffusion 3 和Flux启发,使用尺度、偏移和门调制进行时间步条件控制。通过并行使用MLP和注意力机制简化了架构,并移除了注意力层后的第二个LayerNorm。我们使用VAE在潜在空间中进行训练,空间压缩率为8倍,并通过线性层和2的patch大小对潜在图像进行分块。在训练期间使用固定的正弦位置编码。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

仅图像预训练:在预训练期间,模型学习去噪图像,条件是其对应的DINOv2图像嵌入,这与DALL-E 2的图像解码器原理相似。使用线性层将嵌入投影到模型维度,以创建联合条件。重要的是,预训练设置不需要任何注释或图像描述,并且与我们的下游目标(即给定单张参考图像生成一致的多视角图像)高度一致。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

多视角模型

本文的目标是给定单张输入图像,生成人体的多个高分辨率和未见过的全新视角(类似于工作室捕捉)。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

中期训练:在中期训练阶段,希望训练一个强大的多视角模型,能够同时对多张图像进行去噪,并在较低分辨率下快速吸收数据集。在此阶段,不使用任何像素对齐的空间控制(如Plücker或空间锚点)。使用一个MLP将展平的16维目标相机内参和外参编码为单个token。将此相机token融合到每个噪声潜在token(对应视图)中作为位置编码,这使得我们的多视角模型能够感知目标视角的3D信息。在128×128分辨率下进行中期训练,联合去噪24个视角。


后期训练:在后期训练阶段,目标是创建一个高分辨率且3D一致的模型,从低分辨率和3D感知(但不一致)的模型开始。为此,我们设计了一个轻量级的ControlNet启发模块,该模块以像素对齐的Plücker和空间锚点控制以及去噪时间步为输入,为多视角模型生成单独的调制信号。我们将此模块命名为ControlMLP,因为它使用单个MLP为每个多视角DiT块生成尺度和偏移调制控制,如图3所示。ControlMLP的每一层在开始时都进行零初始化。我们发现后期训练阶段对于减少生成中的闪烁和3D不一致性至关重要。我们在512×512和1024×1024分辨率下进行后期训练,分别联合去噪10个和2个视角。进一步增加视角数量会导致GPU内存不足问题。


Plücker和空间锚点编码:Plücker坐标中相邻像素之间的相对差异非常小。为了更好地放大这些差异,使用SIREN层首先将6D网格处理为32D特征网格。然后,将其下采样8倍以匹配潜在token的大小,并将其作为ControlMLP的输入。此外,使用空间锚点来固定主体头部在3D空间中的位置和方向。仅将空间锚点用于生成,而不用于输入参考视图。通过VAE将空间锚点图像编码到模型的潜在空间中,并将其与Plücker输入连接,通过MLP生成每一层的调制信号。

理解与改进空间控制

本节介绍了在后期训练阶段注入像素对齐空间控制的设计选择,并探讨了替代方法。通过一个聚焦的过拟合实验和表格1中的定量评估,展示了空间控制的有效性。


场景过拟合任务:使用给定主体和时间戳的固定3D场景中的160帧,将其分为100个训练视图和60个验证视图。我们在测试各种空间控制方法时,将中期训练的模型过拟合到训练视图上,仅训练控制模块,同时冻结其他权重。在过拟合10K次迭代后,我们在验证视图上评估模型以进行新视角合成。对验证视图的强泛化能力表明有效的空间控制和适当的相机视角敏感性。通过此任务,在下表1中评估了不同的空间控制注入方法,从简单到高级的调制设计逐步展开。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

  • 无过拟合(第1行):未进行场景特定过拟合的中期训练模型在训练视图和验证视图上分别达到了19.2和19.7的PSNR。我们将此设置作为改进的基线。
  • 使用MLP编码相机(第2行):使用与先前工作[47, 73]和中期训练阶段类似的MLP编码相机。过拟合后,模型在训练视图上的PSNR略有提升,但验证PSNR下降了1.28点至17.95。这表明MLP无法为相机控制提供足够的调制。
  • 将Plücker作为位置编码(第3行):在此设置中,使用通过MLP处理的下采样和分块化的Plücker坐标创建位置编码,并将其添加到噪声潜在token中。此设置受到先前工作[4, 8, 27, 37, 75]的启发,与MLP相比,验证PSNR进一步提高至18.89,但仍落后于未过拟合的基线。
  • 使用ControlMLP和SIREN处理Plücker(第4、5行):在此设置中,我们使用ControlMLP模块在每个多视角DiT块输出处注入空间控制。此外,使用SIREN编码Plücker坐标放大了相邻像素之间的相对差异。此设置达到了20.13的PSNR,比基线提高了0.9。
  • 添加空间锚点(第6行):最终,使用空间锚点使验证PSNR达到22.6(比基线提高了3.3点),并实现了强大的空间控制。因此,我们在后期训练阶段采用了此配置。

处理推理时视角数量的变化

在训练期间,联合去噪固定数量的视角。在128×128分辨率下进行中期训练时去噪24个视角,在512×512和1024×1024分辨率下进行后期训练时分别去噪2个或12个视角。这一选择主要是为了避免训练期间的GPU内存不足错误。在推理时,希望进一步扩展视角数量以生成平滑的旋转视频。这是可行的,因为我们可以在半精度(使用bfloat16)下运行推理,并且不需要存储反向传播计算图。


在推理时简单地将视角(或token)数量扩展到训练时视角数量的2倍以上会导致生成结果模糊和退化。这些退化在输入中未指定的区域(例如后脑勺或耳朵,如下图5所示)最为显著。接下来我们研究此问题,并引入注意力偏置来解决它。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

在前面图5中,展示了应用建议的注意力偏置前后的生成视觉效果。更多关于增长因子变化的视觉效果请参见附录图9。类似的技术在大型语言模型(LLM)中也有所探索,用于处理和生成更长上下文的文本,其中上述缩放因子入类似于温度缩放的倒数。


在生成过程中使用凸起函数(bump function)代替恒定的无分类器引导(Classifier-free Guidance)可以减少伪影。关于这一技巧的详细讨论见附录B。

增强的 3D 一致性度量

传统上,多视图生成模型的 3D 一致性通常通过 2D 图像指标(如 PSNR、LPIPS 和 SSIM)来评估,并与一组固定的真实图像进行比较。然而,这种方法对那些生成合理但与固定真实图像不同的 3D 一致性新内容的模型存在不公平的惩罚。一些研究尝试通过测量 SfM 或极线误差(epipolar error)来解决这一问题,但这些方法要么依赖于相机位姿求解,要么由于测量整个极线而不够鲁棒。


为了解决这些局限性,本文使用已知的真实(GT)相机位姿作为输入,并基于已知的相机位姿和预测的对应关系计算重投影误差(Reprojection Error, RE)。

RE 计算涉及以下步骤:


  1. 关键点检测与匹配:使用 SuperPoint检测生成图像中的关键点,并使用 SuperGlue在图像间建立关键点的成对对应关系。
  2. 三角测量:基于对应关系和相机参数,使用直接线性变换(DLT)进行三角测量,以获取每个关键点对应的 3D 点。
  3. 重投影与误差计算:将这些 3D 点重投影到每张图像上,并计算 RE,即原始关键点与重投影 3D 点之间的 L2 距离,归一化为图像分辨率,并计算所有图像的平均误差。


该方法通过评估多视图生成模型生成 3D 一致性结果的能力,而非仅仅与固定的真实图像进行比对,从而提供更公平的评估标准。重投影误差(RE)为不同方法之间的比较提供了有价值的依据。此外,通过在一组独立于生成图像的真实世界图像上计算 RE,我们可以建立基线,以量化由于 SuperGlue 和 SuperPoint 预测中的噪声而产生的误差,而非生成图像本身的质量。命名约定(RE@SG)请注意,SuperPoint和 SuperGlue 仅是我们度量方法的一种具体实现,未来可以用更强的替代方法,如 MAST3R或特定领域的关键点检测器(如 Sapiens)。因此,采用 RE@SG 作为命名约定,表示在 SuperGlue(SG)估计下计算的重投影误差(RE)。未来,这一命名可以根据不同的估计器进行调整。

实验

本文提供所有训练和验证阶段所使用数据集的详细信息,并讨论评估指标,重点介绍 3D 一致性度量方法,最后总结核心实验结果和消融研究。

数据

Humans-3B 数据集使用一个大型的专有数据集进行预训练,该数据集包含约 30 亿张以人为中心的自然场景图像。


头部与全身工作室数据集我们依赖高质量的专有工作室数据作为学习 3D 一致性的主要数据来源。本文的模型有两个变体:仅头部(head-only)和全身(full-body),分别在相应的数据集上进行中期训练(Mid-training)和后期训练(Post-training)。

  • 全身模型:包含 861 名受试者(811 训练集,50 测试集),每位受试者约 1000 帧。
  • 头部模型:包含 1450 名受试者(1400 训练集,50 测试集),每位受试者约 40000 帧。

本文的工作室配置与 [49] 类似,使用两个拍摄穹顶分别捕捉全身和头部的高分辨率 4K 图像,全身穹顶配备 230 台摄像机,头部穹顶配备 160 台摄像机。


iPhone 数据集为了评估模型在真实场景中的表现,使用 iPhone 13 Pro 在室内办公环境中拍摄 50 名测试受试者的随意图像。使用 Sapiens-2B进行背景分割后再输入模型推理。该数据集仅用于评估模型在自然场景输入上的表现。

评估设置与指标

3D 一致性与以往研究类似,本文报告标准图像质量指标,包括 PSNR、SSIM(×100)和 LPIPS(×100)。然而,这些指标会不公平地惩罚在不完整输入下生成的合理新视角。因此,引入了 重投影误差(Reprojection Error, RE) 作为 3D 一致性的度量方法,该指标无需直接依赖真实数据即可进行验证。我们的评估在测试集划分中随机选取 4 个视角进行计算。


身份保持使用两种指标来衡量生成视图之间的身份一致性:

  • 面部相似度:计算通过 FaceNet 提取的特征之间的余弦距离。
  • 全身相似度:使用 CLIP视觉编码器计算特征的余弦距离。

预训练模型评估通过 FID 衡量预训练策略的有效性。具体实验配置如下:

  • 选取 Humans-3B 数据集的 3000 万张标注子集训练图像 & 文本条件 P1@128 模型
  • 选取未经过滤的 3000 万张子集训练无过滤 P1@128 模型
  • 选取iPhone 数据集的 1000 张测试样本进行评估。

结果

预训练与数据过滤下表 2 展示了我们的预训练模型结果(第 1 行),以及在人像数据过滤和图像条件预训练上的消融实验(第 2-5 行)。实验表明,人像过滤和基于图像的条件训练对高质量生成至关重要

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率多视角生成在下表 3中,评估了工作室数据集上未见受试者的 3D 重建 和 身份保持 能力。实验表明,提高生成分辨率不会降低 3D 一致性或身份相似性。相关可视化结果见下图 7,第 2、3 行。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

随意拍摄的 iPhone 照片生成

在上面表 3(第 3、6 行)中,报告了 iPhone 数据集(1K 分辨率模型)上随意拍摄图像的 重投影误差 和 相似性评分。由于缺少真实数据,这种情况下无法评估标准的重建误差指标。实验发现,iPhone 拍摄的重投影误差与工作室数据集相当,证明了 3D 一致性。这表明 Pippo 具备较强的泛化能力,能够超越多视角训练数据域,而大规模自然人像数据预训练 在此过程中至关重要。相关可视化结果见上面图 7,第 1 行。


与外部基准方法的比较在下图 6中,将Pippo与当前最先进的全身生成头部生成方法进行比较:

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

  • SiTH:使用ControlNet结合SDF 表示来重建纹理化人类网格。相比之下,Pippo 能够生成更高分辨率的多视角结果,并提供更准确的 3D 视角合成
  • DiffPortrait3D:基于 3D-GAN 逆向推理生成 3D 头像。相比之下,Pippo 支持更大的视角变化范围,并且能够更严格地保持输入图像的细节

定量比较与基准测试现有的最先进人像生成方法依赖 显式 SMPL 先验,因此无法直接进行数值比较。从 定性分析(图 6)来看,这些方法在 新视角生成 或 细节保持 方面存在明显不足,因此我们未进行直接的数值对比。


Pippo中,专注于构建强大的多视角人像生成模型,并在 iPhone 全身数据集 上评测了四种最先进的 多视角扩散模型(下表 4)。结果表明:

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

  • Pippo 在身份保持(面部与身体相似性)3D 一致性(RE)方面均优于基准方法。
  • Pippo 能够在更高分辨率下运行,同时保持更好的生成质量

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

消融实验

在 128×128 分辨率的 Head-only 数据集 上分析各训练阶段的设计选择,并在 表 6 中展示消融实验结果。


预训练和中期训练的重要性在 Humans-3B 数据集 上进行 预训练 可显著增强模型对 新身份的泛化能力(下表 6,第 8 行)。缺少预训练 会导致模型泛化能力下降,生成的人脸模糊不清。此外,跳过低分辨率的中期训练 会破坏多视角一致性(表 6,第 2 行)。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

正面输入参考的重要性表 6(第 10 行)表明,随机选取输入参考图像的视角 会导致模型过度拟合训练身份。特别是 背面视角 含有极少的身份信息,迫使模型学习到不稳定的相关性,最终影响泛化能力。


自注意力的重要性将 自注意力(self-attention) 替换为 交叉注意力(cross-attention) 进行参考图像编码会 降低生成质量(表 6,第 9 行)。实验表明,此设置会导致模型 忽略输入图像的约束,生成的结果仅 模糊地 近似训练数据。


Humans-3B 大规模预训练数据集的作用使用 预训练阶段(P1) 的中间检查点进行实验,分别训练了:

  • 仅使用30%的数据
  • 仅使用70%的数据
  • 仅使用1% 高质量子集

然后,基于这些模型在 全身数据集(Full-body) 上进行 两天的 128×128 分辨率多视角去噪训练,并在下表 7中报告实验结果。

高分辨率3D人生成超简单!Pippo:Meta最新工作首次完成1K分辨率一致多视角人物图像生成-AI.x社区

结果表明,大规模数据对于泛化至新身份至关重要,特别是在 面部相似性(face similarity)指标 上表现出显著提升。

结论

本文提出了一种扩散 Transformer 模型 Pippo,能够从单张图像生成高分辨率、多视角一致的人物图像集。实验结果表明,多阶段训练策略(结合大规模野生数据与高质量多视角影棚数据)可以实现可泛化的高分辨率多视角合成


扩散 Transformer 架构的分析揭示了以下关键因素对 高保真多视角人物生成 至关重要:

  • 自注意力(Self-attention)参考输入图像
  • Plücker 坐标结合SIREN
  • 空间锚点(Spatial Anchor)


Pippo首次1K 分辨率下实现了一致性多视角人物图像生成。此外,提出的3D一致性度量 可以在无配对真实数据的情况下评估3D 一致性


然而,本文的方法仍然存在可同时生成视角数量有限的限制,主要由于 上下文长度大、内存需求高。这一问题可以通过并行化技术自回归生成(autoregressive generation)进行优化。未来,将致力于扩展该方法至多视角一致性视频生成


本文转自AI生成未来 ,作者:AI生成未来


原文链接:​​https://mp.weixin.qq.com/s/r4QNFo9uGaUlGnKGnTJ5lQ​

收藏
回复
举报
回复
相关推荐