AI2惊艳发布OneDiffusion:突破性大规模扩散模型,支持多任务生成与理解,重塑视觉AI应用 精华
文章链接:https://arxiv.org/pdf/2411.16318
项目链接:https://github.com/lehduong/OneDiffusion
亮点直击
- 统一的多任务能力:OneDiffusion 提出了一个统一的扩散模型,能够无缝支持图像合成和理解的双向任务。它通过简单灵活的框架,实现了多种任务(如文本到图像生成、深度估计、多视角生成等)的处理,而无需依赖外部模块或额外损失函数。
- 创新的训练方法:OneDiffusion 采用了基于序列数据的训练方法,将所有任务视为不同噪声级别的帧序列进行训练,使得模型能够在推理时使用任意帧作为条件输入。这种方法增强了模型的通用性和可扩展性。
- 高效的数据集与训练:为了支持多任务的联合训练,OneDiffusion 使用了 One-Gen 数据集,集成了来自多个来源的高质量数据,包括文本到图像生成、深度估计、分割等任务的数据。该数据集为模型提供了多样化的条件设置,提高了模型的泛化能力。
- 强大的性能与通用性:OneDiffusion 在多项生成和预测任务上展示了优异的性能。在文本到图像生成、多视角生成、深度估计等任务中,OneDiffusion 的表现与专门设计的最新方法相媲美,且模型能够处理不同分辨率的任务,具备强大的零-shot生成能力。
总结速览
解决的问题
OneDiffusion 解决了跨任务的双向图像合成与理解问题,能够处理多种图像生成与理解任务,如文本到图像生成、图像去模糊、图像超分辨率、深度估计、语义分割等。此外,它还支持多视角生成、相机姿势估计和通过连续图像输入进行即时个性化。
提出的方案
OneDiffusion 采用了一种统一的训练框架,将所有任务视为具有不同噪声尺度的帧序列,这使得每个帧都可以在推理时作为条件图像。通过这种方式,该模型可以无缝支持多任务训练并适应不同的分辨率,而无需专门的架构。
应用的技术
- 多任务训练框架:将任务视为帧序列处理,支持不同的任务条件,如文本、深度、姿态、布局和语义图等。
- 图像生成与理解:通过图像去模糊、超分辨率、深度估计等技术实现图像生成与理解。
- 多视角生成与相机姿势估计:支持基于多个视角生成图像,进行相机姿势估计,并允许即时个性化。
达到的效果
实验结果表明,OneDiffusion 在生成和预测任务中具有竞争力的表现,尤其在文本到图像生成、多视角生成、ID 保持、深度估计和相机姿势估计等任务中,尽管训练数据集相对较小,仍能展现出良好的泛化能力和可扩展性。
方法论
生成建模中的流匹配
该目标等同于原始的流匹配目标,只需要目标分布的样本和适当的条件概率路径。
提出的方案
训练
实现细节
模型架构
按照 [72],还使用了 3D RoPE 进行位置编码,从而实现对不同分辨率和长宽比的泛化。
文生图(单视图)
在只有一个“视图”的情况下,训练和推理过程与标准的文本到图像扩散模型相同。我们在标题前添加任务标签 [[text2image]]
来指定任务。
图生图(双视图)
将第一个视图设置为目标图像,第二个视图作为条件输入。在推理过程中,可以使用一个或两个视图进行生成,模型被训练以生成目标图像。对于生成边界框或语义图等任务,在提示中添加十六进制颜色代码和类别标签。例如,要分割一只带有黄色遮罩的鼠标,提示为:
[[semantic2image]] <#FFFF00 yellow mask: mouse> photo of a ...
进一步的细节见附录。
身份定制(2-4 视图)
从同一人的多个视图中采样图像,将每张输入图像的标题拼接在一起,并用标记 [[imgX]]
表示每张图像。还在标题前添加任务标签 [[faceid]]
。在推理时,可以基于任意数量的图像进行条件生成,从而生成多个输出,提升一致性。
多视图生成(4-12 视图)
训练细节
训练期间的策略
One-Gen 数据集
文生图
- 公共数据集:PixelProse、Unsplash、Coyo 和 JourneyDB。
- 内部数据集:包含 1000 万张图片,使用 LLaVA-NeXT 和 Molmo 对图像重新生成的描述。每张图像的文本描述长度为 100-150 个单词。如果存在原始提示词,我们会同时使用生成的描述和原始描述。
图生图
- 简单任务:如去模糊、修复、基于 Canny 边缘生成图像或超分辨率,使用 100 万条合成数据子集,并为每张图像应用相关预处理器生成输入条件。
- 复杂任务:根据以下流程使用 Midjourney、Stable Diffusion 和 Flux-dev 生成的输出创建合成数据集:
- 收集包含 5 万张主要以人体为主的图片子集,用于姿态条件生成。
- 使用 YOLOv5 检测感兴趣区域的边界框,并使用 ViTPose 进行姿态估计。
- 使用 DepthAnything-v2 对来自多个数据集(包括真实和合成图像)的 50 万张图片生成深度图。
- 此外,我们对来自 Hypersim 数据集 的 4 万张图片进行标注,使用 LLaVA-NeXT 生成描述,将其整合到训练集中。
- 对每张图像,使用 LLaVA-NeXT识别实体或主体(如人、衬衫、狗、建筑物),每张图像最多识别 10 个实体。
- 基于 LLaVA-Next 提供的主体名称,使用 SAM 进行语义分割并提取边界框。
- 每个类别从预定义列表中随机分配一种颜色。
- 数据集包含 35 万组三元组(语义地图、边界框和原始图像)。
- 语义图和检测:
- 深度图(Depth Map):
- 人体姿态 (Human Poses):
身份定制 (ID Customization)
收集了来自游戏、电影和公共可用图像的名人和角色数据集。
- 数据过滤:确保每个主体至少有 4 张图像,并去除 NSFW 内容。
- 数据规模:包含大约 6 万名主体和 130 万张图像。
- 标注:通过 LLaVA-NeXT 生成图像的描述。
多视图生成 (Multiview Generation)
- 数据集:DL3DV-10K、Objaverse 和 CO3D。
- Objaverse 数据集:使用 LGM 提供的过滤后 8 万样本分割及 Cap3D 提供的描述。
- DL3DV 数据集:从每个场景中随机采样一张图像,并使用 LLaVA-Next 生成描述。
- CO3D 数据集:排除描述,仅在文本输入中包含任务标签。
实验
本节评估 OneDiffusion 模型在广泛的图像生成和理解任务上的性能。所有结果均未进行任务特定的微调。
文本到图像 (Text-to-Image)
下图 3 展示了 OneDiffusion 在文本到图像任务中的定性结果。得益于 One-Gen 数据集的多样性,模型能够处理各种艺术风格,包括艺术化设计和逼真的视觉效果。
遵循前期研究的方法,在 GenEval 基准测试上评估模型的文本到图像能力。
- 对于每个提示词,使用Euler 求解器生成 4 张图像,采样步数为 100,指导因子为 5。
- 结果:OneDiffusion 的性能与基线模型对比见下表 1。
- 分析:尽管训练数据量相对较小,模型表现出较强的性能,尤其在多任务能力上表现优异。这主要归功于数据集的多样性以及为每个样本提供的全面描述。
可控图像生成 (Controllable Image Generation)
使用多个源域(如 HED 边缘图、深度图、人类姿态、语义地图、边界框)进行图像到图像转换实验。
- 定性结果见下图 4 和下图 19。
- 结果:OneDiffusion 在生成过程中能够有效对齐输入条件图像,适应各种输入条件。这得益于模型的纯注意力机制以及描述信息的辅助作用。
多视图生成 (Multiview Generation)
使用 Google Scanned Object 数据集 评估多视图生成能力。
- 下表 2 展示了 OneDiffusion 与当前最先进方法(包括 Zero123 、Zero123-XL 和 EscherNet)的对比结果。
- 对比特点:
- 这些基线模型专为多视图生成任务设计并经过专门训练。
- OneDiffusion 的优势:支持可变数量的条件输入,并且其灵活的去噪框架能够在相机位姿未知的情况下,整合额外的条件视图。
多视图生成 (Multiview Generation)
如上面表 2 所示,OneDiffusion 在单视图条件下(1-view)性能显著优于 Zero123 和 Zero123-XL。此外,即使在相机位姿未知的情况下,OneDiffusion 依然表现出较强的生成能力。例如:
- 在2-view条件下:
- 未知相机位姿时,PSNR 为 19.83。
- 已知相机位姿时,PSNR 为 20.22,仅略有下降。
- 在3-view条件下:
- 未知相机位姿时,PSNR 为 20.64。
- 已知相机位姿时,PSNR 为 21.79。
总结:这些结果表明,OneDiffusion 对多种输入条件具有高度适应性和生成效果的稳定性,突显了其在多视图生成中的实际应用潜力。
下图 5 提供了从单个前视图图像生成多视图的两个定性示例,显示模型能够在不同方位角和仰角之间生成一致的视图。更多可视化结果见下图 10 和图 11。
- 灵活性优势:通过对所有图像进行“mask”并仅输入相机位姿,我们还可以直接执行文本到多视图生成(见下图 12)。
身份定制 (ID Customization)
进一步评估了 OneDiffusion 在身份定制任务中的表现,该任务使用一个或多个身份图像作为输入进行个性化生成。
- 对比方法:InstantID、PuLID 和 PhotoMaker。
- 评估维度:包括定性和定量分析,测试范围超越标准基准(unsplash-50),涵盖了表情变化、视角变化甚至非人类图像的生成能力。
下图 6 展示了以下示例:
- 表情和视线方向变化(第一行)。
- 视角变化(第二行)。
- 非人类身份定制(第三行)。
结果:
- 优势:OneDiffusion 成功完成这些任务,而其他方法均未能达到类似效果。
- 创新点:
- 与基于面部嵌入的传统方法相比(这些方法主要“复制”原始面部),OneDiffusion 通过图像与文本条件之间的注意力机制实现了灵活的端到端训练。
- 生成的输出更具表现力,适用于更广泛的应用场景。
此外,确保一致多视图生成的机制在身份定制中也能有效调整相机角度,这进一步展示了模型在相关应用中的适应性。更多可视化结果见下图 13 和图 14。
定量结果:在 Unsplash-50 基准上呈现了定量结果(见下表 3)。
- 对比分析:
- PuLID 通过从 ID 编码器网络(训练于人脸辨识任务)中提取嵌入,有效保留了输入图像的身份特征。
- 然而,该方法在处理复杂的面部操控任务时面临显著局限性。
- OneDiffusion 优势:在保留身份特征的同时,支持更复杂的生成任务,表现出更强的灵活性和生成能力。
深度估计 (Depth Estimation)
在图像理解任务中评估了 OneDiffusion 模型在单目深度估计上的表现,使用了标准基准:NYUv2和 DIODE。定量结果见下表 4。
- 定量结果:本文的模型与基于预训练文本到图像扩散模型(如 Marigold)的基线相比,展现了具有竞争力的性能。
- 模型优势:如下图 7 所示,OneDiffusion 在处理基于扩散的深度估计模型(例如 Marigold)时表现得更为稳健。特别地,OneDiffusion 在处理开放世界图像时表现优异,包括绘画作品、雾霾天气和非常规纹理。
- 更多比较:有关进一步的定性比较,请见下图 15 和图 16。
相机位姿估计 (Camera Pose Estimation)
使用 Google Scanned Object 数据集 对模型进行了相机位姿估计任务评估。
- 任务描述:对于此任务,我们使用每个合成物体的六张渲染图像,并通过去噪相应的光线嵌入来估计相机位姿。
- 优化方法:采用 RayDiffusion 中的最小二乘优化方法来估计相机中心和旋转。
- 准确度评估:以 0.3 的阈值衡量相机中心的准确度,定量结果见表 5。
结果对比:
- 下图 8 提供了本文模型与 RayDiffusion 的定性比较。
- RayDiffusion 局限性:RayDiffusion 始终预测上半球的相机位姿,这是由于其训练数据(如 CO3D)偏向上半球视角。
- OneDiffusion 优势:得益于大规模多样化的训练数据集,OneDiffusion 在避免这一偏差的同时,取得了更高的准确度。
其他任务 (Other Tasks)
由于直接从原始输出图像中提取mask、边界框和关键点并不直接,提供了在 COCO 数据集上进行人体姿态估计和语义分割的定性结果。
- 任务说明:我们在附录中展示了这些定性结果,分别见下图 17 和图 18。
- 模型特点:由于本文的模型在训练时不区分条件和图像任务,它在理解任务中的表现也为模型的额外评估提供了有价值的信息。
- 未来方向:计划在未来的工作中进一步探索这一方面的研究。
结论
OneDiffusion 在多个任务中取得了令人印象深刻的结果,包括条件化文本到图像生成(T2I)、深度估计、开放词汇语义分割、姿态估计、多视图生成、身份定制和相机位姿估计。
- 贡献与影响:这项工作推进了扩散模型的能力,提供了一种多功能且可扩展的解决方案,与大语言模型所提供的灵活性相媲美。
- 展望:这标志着向开发通用视觉模型迈出了重要一步,这种模型能够作为多种应用的基础设施。
本文转自AI生成未来 ,作者:AI生成未来