❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能:支持从文本生成包含多个指定概念的高保真度图像。
- 技术:基于多模态图像编码器和区域定制化模块,实现高效多概念生成。
- 应用:广泛应用于娱乐、广告、教育、电子商务和科研等领域。
正文(附运行示例)
MultiBooth 是什么
MultiBooth 是由清华大学深圳国际研究生院、Meta、香港科技大学等机构联合推出的多概念图像生成方法。它能够根据用户提供的文本提示,生成包含多个指定概念的图像。MultiBooth 的生成过程分为两个阶段:单概念学习和多概念整合。
在单概念学习阶段,MultiBooth 使用多模态图像编码器和自适应概念归一化技术,为每个概念学习一个简洁且具有区分性的嵌入表示。通过 LoRA 技术,MultiBooth 提高了概念保真度。在多概念整合阶段,MultiBooth 使用区域定制化模块(RCM),根据边界框和区域提示在指定区域内生成各个概念,确保不同概念之间的准确交互。
MultiBooth 的主要功能
- 多概念图像生成:根据用户提供的文本提示,生成包含多个指定概念的图像。
- 高保真度和文本对齐:生成的图像具有高保真度,清晰地展示出各个概念的细节特征,且与文本提示高度对齐。
- 高效推理:推理成本较低,不会随着概念数量的增加而显著增加推理时间。
- 插件式生成:支持用插件式的方式组合不同的单概念模块,进行多概念图像生成,无需针对每个概念组合重新训练模型。
MultiBooth 的技术原理
- 多模态图像编码器:使用 QFormer 编码器,输入图像和概念名称,生成与文本对齐的定制化嵌入表示。
- 自适应概念归一化(ACN):调整定制化嵌入的 L2 范数,解决嵌入空间中的域间差异问题。
- 高效概念编码技术:使用 LoRA 技术对 U-Net 中的注意力层进行低秩分解,提高单概念学习的概念保真度。
- 区域定制化模块(RCM):根据边界框和区域提示,将图像特征划分为不同区域,每个区域由相应的单概念模块和提示引导生成概念。
如何运行 MultiBooth
1. 安装依赖
首先,确保你已经安装了 Python 3.8 或更高版本。然后,克隆 MultiBooth 的 GitHub 仓库并安装依赖:
git clone https://github.com/chenyangzhu1/MultiBooth.git
cd MultiBooth
pip install -r requirements.txt
2. 下载预训练模型
MultiBooth 基于 Stable Diffusion v1.5 模型,你需要下载预训练模型:
wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt
3. 运行示例代码
以下是一个简单的示例代码,展示如何使用 MultiBooth 生成多概念图像:
from multibooth import MultiBooth
# 初始化 MultiBooth
multibooth = MultiBooth(model_path="v1-5-pruned-emaonly.ckpt")
# 定义文本提示和概念
text_prompt = "A young woman wearing a floral dress and a straw hat, standing in a sunny field."
concepts = ["floral dress", "straw hat"]
# 生成图像
image = multibooth.generate(text_prompt, concepts)
image.save("output.png")
资源
- 项目官网:https://multibooth.github.io/
- GitHub 仓库:https://github.com/chenyangzhu1/MultiBooth
- arXiv 技术论文:https://arxiv.org/pdf/2404.14239
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦