RPG-DiffusionMaster
多模态大模型规划+扩散的区域组合生成,实现复杂场景的精准SOTA文生图
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
多模态大模型规划+扩散的区域组合生成,实现复杂场景的精准SOTA文生图
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你给AI下达这样一个指令:"画一幅画,左边是冬天的冰川和滑冰的人,右边是夏天的火山和乘凉的人,中间是一条河流。"
这是人类轻而易举能理解的组合式描述,但对大多数文生图模型来说,这是一个"地狱级"挑战——要么风格互相污染(冰川染上了火山的红调),要么区域边界模糊(不知道哪里是左、哪里是右),要么直接忽略部分描述(只画了冰川、火山被遗漏)。
这就是**组合生成(Compositional Generation)**难题:模型无法准确理解和分离复杂提示词中多个相互关联的语义区域。北京大学、Pika Labs、斯坦福大学的研究团队在ICML 2024上发表的论文Mastering Text-to-Image Diffusion: Recaptioning, Planning, and Generating with Multimodal LLMs提出了一种优雅的解决方案——RPG框架。

图1:北京大学杨凌博士 — RPG框架提出者
文生图模型(如Stable Diffusion、Midjourney)的核心机制是去噪扩散:模型从随机噪声开始,逐步去噪生成图像。这个过程是"端到端黑盒"的——用户给一个提示词,模型一次性输出结果,没有任何中间层面对提示词进行语义理解和规划。
RPG的核心创新是引入了"多模态大语言模型(MLLM)作为区域规划器:
这个框架的巧妙之处在于零训练(training-free):不需要对底层扩散模型做额外微调,只需调用GPT-4/Gemini-Pro等闭源API或miniGPT-4等开源本地模型,就能大幅提升复杂场景的生成质量。
可以把RPG理解成一个画室的工作流程:
RPG代码库通过 RegionalDiffusion_xl.py 和 RegionalDiffusion_base.py 两个核心模块,分别支持:
两种轨道可以通过简单的API切换:
# SDXL轨道
pipe = RegionalDiffusionXLPipeline.from_pretrained("comin/IterComp", torch_dtype=torch.float16)
# 或从单文件checkpoint加载
pipe = RegionalDiffusionXLPipeline.from_single_file("path/to/ckpt", ...)
mllm.py 提供了两种MLLM调用方式:
GPT-4 API(闭源):
para_dict = GPT4(prompt, key='YOUR_OPENAI_KEY')
split_ratio = para_dict['Final split ratio'] # 如 "0.4,0.6"
regional_prompt = para_dict['Regional Prompt'] # 区域化提示词
本地LLM(开源):支持加载Llama-2-13b-chat等本地模型,通过HuggingFace transformers加载,无需API费用。
这是整个框架的技术核心,约1.5万行代码实现了:
cross_attention.py 注入区域级控制信号到扩散UNet2025年2月的更新引入了推理能力更强的LLM:
同时集成了更强大的组合感知扩散backbone IterComp,进一步提升复杂提示词下的生成质量。
| 维度 | 评分 | 说明 |
|---|---|---|
| 学术研究者 | ⭐⭐⭐⭐⭐ | 极佳的代码可读性,Jupyter Notebook演示,模块化设计,零训练验证新想法 |
| AI爱好者 | ⭐⭐⭐ | 需要配置CUDA/GPU,理解"区域扩散"概念有一定门槛 |
| 企业用户 | ⭐⭐ | 无Web界面、无容器化部署,需要工程化改造 |
| 产品经理 | ⭐ | 仅代码库形式,不适合直接演示给客户 |
安装门槛:主要依赖为 torch, diffusers, transformers, einops,通过pip一键安装;但实际运行需要16GB+显存的NVIDIA GPU。
RPG在ICML 2024的发表标志着文生图领域的一个重要方向——用LLM的语义理解能力弥补扩散模型的组合推理缺陷。据论文报告,在复杂组合提示词测试集上,RPG相比DALLE-3、SDXL等SOTA方法,在区域语义准确性上提升约23%。
从技术趋势看,RPG代表的"LLM规划 + 扩散生成"范式正在成为主流:

图2:RPG论文在OpenReview上的公开评审页面 — ICML 2024正式接收