综合介绍
ACE++ 是由阿里巴巴通义实验室(Tongyi Lab)的 ali-vilab 团队开发的一个开源项目。它基于 FLUX.1-Fill-dev 模型,旨在通过简单的文字指令实现图像生成和编辑。项目将参考图像生成、局部编辑和可控生成统一在一个框架内,提供三种 LoRA 模型(肖像、物体、局部编辑)和一个更通用的 FFT 模型。用户可以免费从 GitHub 下载代码和模型,最近更新时间为 2025 年 3 月 11 日。ACE++ 适合开发者、设计师和普通用户,既支持命令行操作,也能在 ComfyUI 中使用。
ACE++ 在换脸、换装中对比专用工具没有明显短板,由于最近推出的 Gemini 2.0 Flash 十分亮眼,也是主打文本指令控制图像局部编辑,他们二者效果可以自行对比。
功能列表
- 指令生成图像:输入文字描述生成新图像,例如“一个穿警服的女孩”。
- 局部图像编辑:修改图片指定区域,比如替换背景或调整服装。
- 参考图像生成:基于一张参考图生成相似风格的新图。
- 多模型选择:提供肖像、物体、局部编辑三种 LoRA 模型和一个 FFT 模型。
- ComfyUI 支持:通过图形界面操作,简化工作流程。
- 自定义训练:用户可以用自己的数据训练模型,适配特定任务。
- 高级功能:支持超分辨率、换脸、物体替换等扩展应用。
使用帮助
安装流程
ACE++ 需要配置环境才能运行。以下是详细步骤:
- 准备环境
- 确保电脑安装 Python 3.8 或以上版本,可用
python --version
检查。 - 安装 Git,Windows 用户从官网下载,Mac 用户运行
brew install git
。 - 推荐使用 NVIDIA GPU,至少 12GB 显存,CPU 也能运行但速度慢。
- 确保电脑安装 Python 3.8 或以上版本,可用
- 下载代码
- 打开终端,运行:
git clone https://github.com/ali-vilab/ACE_plus.git cd ACE_plus
- 这会下载项目到本地。
- 打开终端,运行:
- 安装依赖
- 输入命令安装所需库:
pip install -r repo_requirements.txt
- 如遇权限问题,加
--user
参数。
- 输入命令安装所需库:
- 下载模型
- ACE++ 依赖 FLUX.1-Fill-dev 模型,设置环境变量:
export FLUX_FILL_PATH="hf://black-forest-labs/FLUX.1-Fill-dev"
- 下载 LoRA 模型(可选):
export PORTRAIT_MODEL_PATH="hf://ali-vilab/ACE_Plus@portrait/comfyui_portrait_lora64.safetensors" export SUBJECT_MODEL_PATH="hf://ali-vilab/ACE_Plus@subject/comfyui_subject_lora16.safetensors" export LOCAL_MODEL_PATH="hf://ali-vilab/ACE_Plus@local_editing/comfyui_local_lora16.safetensors"
- FFT 模型(可选):
export ACE_PLUS_FFT_MODEL="ms://iic/ACE_Plus@ace_plus_fft.safetensors"
- 可从 Hugging Face 或 ModelScope 手动下载,放入项目目录。
- ACE++ 依赖 FLUX.1-Fill-dev 模型,设置环境变量:
- 测试运行
- 运行以下命令检查环境:
python infer_lora.py
- 若输出正常,说明安装成功。
- 运行以下命令检查环境:
如何使用主要功能
指令生成图像
- 操作步骤:
- 输入文字描述,如“一只白色的老猫头鹰”。
- 运行:
python infer_lora.py --prompt "1 white old owl"
- 结果保存在
output
文件夹。
- 提示:描述越详细,效果越好。FFT 模型适合复杂任务。
局部图像编辑
- 操作步骤:
- 准备图片(如
example.jpg
)和掩码(如mask.png
),掩码白色区域为编辑部分。 - 运行:
python infer_lora.py --image example.jpg --mask mask.png --prompt "add a red hat"
- 编辑后的图片自动保存。
- 准备图片(如
- 技巧:掩码可用画图工具制作,确保区域清晰。
参考图像生成
- 操作步骤:
- 准备参考图片(如
ref.jpg
)。 - 输入描述,如“草原上的男孩,保持相同风格”。
- 运行:
python infer_lora.py --ref ref.jpg --prompt "a boy on the grassland in the same style"
- 结果保留参考图风格。
- 准备参考图片(如
- 建议:参考图风格明显时效果最佳。
使用 ComfyUI
- 安装 ComfyUI:
- 下载 ComfyUI:
git clone https://github.com/comfyanonymous/ComfyUI.git
- 将 ACE++ 模型放入
ComfyUI/models
文件夹。 - 启动:
cd ComfyUI python main.py
- 下载 ComfyUI:
- 操作:
- 打开浏览器,访问
http://localhost:8188
。 - 导入 ACE++ 工作流(位于
workflow/ComfyUI-ACE_Plus
)。 - 上传图片或输入文字,按界面提示调整参数,点击运行。
- 打开浏览器,访问
- 优点:图形界面适合新手,操作更直观。
自定义训练
- 准备数据:
- 参考
data/train.csv
,准备训练数据,格式为:edit_image,edit_mask,ref_image,target_image,prompt,data_type
- 字段说明:编辑任务填
edit_image
和mask
,参考生成填ref_image
。
- 参考
- 运行训练:
- 配置
train_config/ace_plus_lora.yaml
,调整参数。 - 运行:
python run_train.py --cfg train_config/ace_plus_lora.yaml
- 训练模型保存在
examples/exp_example
。
- 配置
特色功能操作
LoRA 模型切换
- 方法:
- 设置环境变量,如用肖像模型:
export MODEL_PATH="hf://ali-vilab/ACE_Plus@portrait/comfyui_portrait_lora64.safetensors"
- 运行
infer_lora.py
,效果偏向肖像优化。
- 设置环境变量,如用肖像模型:
- 用途:肖像模型适合人脸,物体模型适合物品,局部编辑模型适合区域调整。
FFT 模型使用
- 方法:
- 设置:
export ACE_PLUS_FFT_MODEL="ms://iic/ACE_Plus@ace_plus_fft.safetensors"
- 运行:
python infer_fft.py
- 设置:
- 特点:支持更多任务,但性能可能不如 LoRA 稳定,适合学术研究。
高级应用
- 换脸:
- 准备参考人脸和目标图片。
- 用 ComfyUI 工作流
ACE_Plus_FFT_workflow_referenceediting_generation.json
,输入指令如“男人面向镜头”。
- 超分辨率:
- 用
ACE_Plus_FFT_workflow_no_preprocess.json
,输入低分辨率图和描述。 - 输出高清图像。
- 用
应用场景
- 个性化头像设计
用户输入描述或上传照片,生成卡通头像,如“戴眼镜的笑脸女孩”。 - 电商商品优化
商家编辑商品图,比如将衣服改成蓝色,添加背景,提升购买率。 - 电影海报制作
用换脸功能替换演员面孔,或调整海报元素,快速生成创意设计。
QA
- ACE++ 免费吗?
是的,ACE++ 是开源项目,代码和模型免费提供,可从 GitHub 下载。 - 运行出错怎么办?
检查 Python 版本、依赖安装和模型路径。若无法解决,在 GitHub Issues 提交问题。 - FFT 模型和 LoRA 模型哪个更好?
LoRA 模型在特定任务上更稳定,FFT 模型更通用但性能可能下降,推荐根据需求选择。