CrossAttentionControl

用提示词精准控制扩散模型编辑图像,无需重训练

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 图像生成 🍴 复刻 83 🐛 待处理 21 👀 关注 20
GitHub ↗
GitHub 星标 ★ 1337
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

CrossAttentionControl 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类图像生成
开发团队bloc97
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Jupyter Notebook
技术栈/模型cross-attention,deep-learning,diffusion-models,stable-diffusion
GitHub 星标★ 1337
上线时间2022-09-09 00:00:00
代码更新2022-10-18
仓库体积63.8 MB
本站数据更新2026-11-08
维护状态低维护
收录时间2026-08-09
浏览次数6

项目介绍

CrossAttentionControl 是论文《Prompt-to-Prompt Image Editing with Cross Attention Control》的非官方实现,基于 Stable Diffusion 构建。它解决文本到图像生成中难以精确编辑生成图像内容的问题,例如替换物体、改变属性或保持构图不变。核心能力是通过操纵扩散模型中的交叉注意力图,实现提示词引导的图像编辑,支持局部替换、全局风格迁移和结构保持。项目提供 Jupyter Notebook 示例,展示如何利用交叉注意力控制生成过程,使用户无需重新训练模型即可精准编辑图像。其技术栈涵盖深度学习、扩散模型和交叉注意力机制,适合研究图像编辑和生成控制的开发者。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1337

使用教程

难度:进阶 约 15 分钟 部署方式:本地安装 5 步

环境要求

  • Python 环境(建议 3.8+,并已安装 pip)
  • 可运行 Jupyter Notebook 的环境(本地 Jupyter 或 Google Colab)
  • 依赖库:torch、transformers、diffusers==0.4.1、numpy、PIL、tqdm、difflib
  • 建议具备 NVIDIA GPU(Stable Diffusion 推理对显存要求较高)

安装与启动步骤

  1. 1获取项目代码

    从 GitHub 克隆仓库到本地,进入项目目录。README 提供了仓库地址,可用 git clone 拉取。

    git clone https://github.com/bloc97/CrossAttentionControl.git
    cd CrossAttentionControl
  2. 2安装 Python 依赖

    README 说明用 pip 安装所需库,并强调 diffusers 必须锁定 0.4.1 版本,否则会因代码注入模型而报错。

    pip install "diffusers==0.4.1" transformers torch numpy Pillow tqdm
  3. 3启动 Jupyter

    README 说明直接用 pip 装好依赖后运行 Jupyter Notebook,仓库内已提供示例 notebook。

    jupyter notebook
  4. 4打开并运行 notebook

    在浏览器打开的 Jupyter 页面中选择项目内的 notebook,逐个单元格运行,即可看到 Cross Attention Control 的示例编辑效果。

  5. 5备选:Colab 在线运行

    README 推荐了 Lewington-pitsos 整理的 Colab 演示,没有本地 GPU 或不想配置环境时可直接在浏览器运行。

关键配置

配置项必填说明示例
prompt是初始生成图像的文本提示词a cat riding a bicycle
prompt_edit否第二个提示词,通过交叉注意力对第一段提示进行编辑;设为 None 关闭a dog riding a bicycle
prompt_edit_token_weights否以 (token id, strength) 元组列表调整词权重,可用 prompt_token() 查 token 索引[(2, 2.5), (6, -5.0)]
guidance_scale否Stable Diffusion 标准的无分类器引导强度7.5
steps否扩散步数,越高通常画质更好但更慢50
seed否随机种子整数,设为 None 则每次随机126794873

如何确认成功

notebook 单元格正常执行完毕,无版本报错,并在输出中显示出生成的图像,即表示环境配置成功。

常见问题

Q:为什么必须使用 diffusers==0.4.1?

A:notebook 会向模型注入代码,README 明确指出这是最后一个可正常工作的版本,其他版本 diffusers 的代码变动很可能导致兼容性错误。

Q:如何知道某个词对应的 token 索引?

A:项目提供了 prompt_token(...) 函数,用它查看提示词中每个词对应的 token 索引,再把索引填进 prompt_edit_token_weights。

Q:prompt_edit 和普通改提示词有什么区别?

A:它不需要用户输入 mask,通过修改扩散模型内部的注意力图,在保持构图的前提下做更精细的编辑,且无需额外训练或微调。

Q:prompt_edit_tokens_start 和 end 该如何设置?

A:两者控制对初始提示的严格程度,start 必须小于 end。增大 start 让细节纹理更自由,减小 end 让整体构图更自由。

Q:本地没有 GPU 怎么办?

A:可以直接使用 README 中推荐的 Colab 演示链接在浏览器里运行,避免本地装环境与显存不足的问题。

注意事项

  • README 未给出完整安装命令行,此处 pip 命令依据其列出的库名整理;difflib 属 Python 标准库,无需 pip 安装。
  • diffusers 版本是最大坑点,务必固定 0.4.1,升级几乎必然导致 notebook 报错。
  • 本项目为论文的非官方实现,并为适配 Stable Diffusion 对论文方法做了修改;官方实现见 google/prompt-to-prompt。
  • 推理需下载 Stable Diffusion 权重,注意磁盘与显存占用,首次运行耗时较长。

核心亮点

  • 直接实现论文核心算法,交叉注意力控制编辑效果精准
  • 基于 Stable Diffusion,无需额外训练即可应用
  • 提供交互式 Notebook,上手门槛低,便于实验

不足之处

  • 非官方实现,代码维护和文档支持有限
  • 依赖特定模型版本,兼容性需自行调整

适用场景

  • 研究扩散模型的可解释性和编辑机制
  • 快速原型验证提示词编辑效果
  • 教学演示交叉注意力在生成模型中的作用

替代项目

Prompt-to-Prompt、DiffEdit、InstructPix2Pix

上一篇:sd-webui-depth-lib

下一篇:Stable-Diffusion-KMP

同类项目推荐

RCDMs 开源

让AI画故事连环画,上下文连贯不跳戏

[AAAI 2025] RCDMs: Boosting Consistency in Story Visualization with Rich-Contextual ···

★ 62 2026-08-09
HunyuanImage-2.1 开源

一键生成2K高清图像,文本描述秒变大片

HunyuanImage-2.1: An Efficient Diffusion Model for High-Resolution (2K) Text-to-Imag···

★ 676 2026-08-09
Handwriting-simulator 开源

输入文字,一键生成以假乱真的手写图片

把普通文本变成以假乱真的手写体图片:手写字体 + 信纸背景 + 字距/行距/笔画随机扰动。GU···

★ 209 2026-08-19
com.doji.diffusers 开源

在Unity里直接跑Stable Diffusion,无需后端

A Unity package to run pretrained diffusion models with Unity Sentis

★ 66 2026-08-09
ComfyUI-Easy-Use 开源

少连线少配参,ComfyUI 新手也能快速出图

In order to make it easier to use the ComfyUI, I have made some optimizations and in···

★ 2813 2026-10-16
DemoFusion 开源

用低显存生成高分辨率图像,细节更丰富

Let us democratise high-resolution generation! (CVPR 2024)

★ 2034 2026-08-09
diffusion-client 开源

在手机上轻松调用 Stable Diffusion 生成图像

a powerful stable-diffusion-webui client for android

★ 256 2026-08-09
gespensterfelder 开源

用代码生成幽灵般的动态视觉场域

A small generative system in clojurescript and Three.js.

★ 54 2026-08-09
character_select_stand_alone_app 开源

桌面角色选择器,一键调用 ComfyUI/WebUI 生成 AI 图像

Character Select Stand Alone App with AI prompt and ComfyUI/WebUI API support for wa···

★ 651 2026-08-09