ACE++输入想法就能完成图像创作和编辑!

Written by 30115776@qq.com

今天跟大家分享一下 ACE++ 这个由阿里巴巴通义实验室推出的升级版图像生成与编辑工具。ACE++输入想法就能完成图像创作和编辑!

🚀 快速阅读

ACE++ 是阿里巴巴通义实验室推出的先进图像生成与编辑工具,通过指令化和上下文感知的内容填充技术,实现了高质量的图像创作和编辑功能。

  1. 核心功能:ACE++ 提供多种模型,分别针对不同任务,如生成一致的人物肖像、保持主题一致性、重新绘制图像的特定区域等。
  2. 技术原理:ACE++ 采用改进的长上下文条件单元(LCU++)和两阶段训练方案,提升了模型的适应性和生成质量。

ACE++ 是什么

ACE++ 是阿里巴巴通义实验室推出的一款先进的图像生成与编辑工具。它通过指令化和上下文感知的内容填充技术,能够实现高质量的图像创作和编辑。ACE++ 提供了多种模型,分别针对不同的任务需求:

  • ACE++ Portrait:用于生成一致的人物肖像,保持人物面部特征和风格的一致性。
  • ACE++ Subject:在不同场景中保持主题一致性,例如将某个标志或物体放置在不同的背景中。
  • ACE++ LocalEditing:对图像的特定区域进行重新绘制或修改,同时保留原有图像的结构和风格。
  • 即将推出的 ACE++ Fully:支持更多指令化编辑和参考生成任务,进一步提升模型的功能和灵活性。

ACE++ 的主要功能

  • 高质量人物肖像生成:通过 ACE++ Portrait 模型,可以根据用户输入的指令生成高质量的人物肖像,同时保持人物面部特征和风格的一致性。
  • 主题一致性保持:ACE++ Subject 模型可以在不同的场景中生成具有特定主题的图像,例如将某个标志或物体放置在不同的背景中。
  • 局部图像编辑:ACE++ LocalEditing 模型支持对图像的特定区域进行重新绘制或修改,同时保留原有图像的结构和风格。
  • 风格化编辑:用户可以通过指令对图像进行风格化处理,例如将普通照片转换为艺术风格或特定的视觉效果。
  • 上下文感知内容填充:根据图像的上下文信息,智能地填充缺失或需要修改的部分,确保生成的图像在视觉上自然且一致。
  • 指令驱动的交互:用户可以通过简单的自然语言指令来控制图像的生成和编辑过程,例如指定生成特定风格的人物肖像或要求在图像中添加、删除或修改某个元素。
  • 多任务支持:ACE++ 支持多种图像处理任务,包括虚拟试穿、标志粘贴、照片修复、电影海报编辑等。

ACE++ 的技术原理

  • 改进的长上下文条件单元(LCU++):ACE++ 提出了 LCU++ 输入范式,通过将输入图像、掩码和噪声在通道维度上进行拼接,形成条件单元(CU)特征图,而不是传统的序列拼接方式。这种改进减少了上下文感知框架的干扰,降低了模型适应成本。LCU++ 的输入格式可以扩展到无参考图像(0-ref)任务和多参考图像(N-ref)任务,增强了模型对不同任务的适应性。
  • 两阶段训练方案:ACE++ 采用两阶段训练方案。第一阶段,模型基于文本到图像模型进行预训练,专注于 0-ref 任务,基于基础模型的生成能力快速适应条件输入。第二阶段,模型在所有数据上进行微调,支持通用指令,同时优化模型对输入参考图像的重建能力和目标图像的生成能力。
  • 模型架构:ACE++ 的整体架构整合了 LCU++ 范式,通过 x-embed 层将 CU 特征图映射为序列化标记,作为 Transformer 层的输入。模型训练目标是最小化预测速度与真实速度之间的均方误差,赋予模型上下文感知的生成能力。
  • 任务支持与模型优化:ACE++ 提供了一套工具包,支持多种图像编辑和生成任务,包括肖像一致性、主题一致性、局部编辑等。针对常见应用场景,ACE++ 训练了轻量级的领域稳定微调模型,如 LoRA 策略,提高模型在特定任务中的性能。

如何运行 ACE++

1. 安装依赖

首先,下载代码并安装必要的依赖项:

git clone https://github.com/ali-vilab/ACE_plus.git
cd ACE_plus
pip install -r requirements.txt

ACE++ 依赖于 FLUX.1-Fill-dev 作为其基础模型,可以从 HuggingFace 下载:

export FLUX_FILL_PATH=\"hf://black-forest-labs/FLUX.1-Fill-dev\"

为了正常运行推理代码或 Gradio demo,这里定义了相关的环境变量来指定模型的位置:

export PORTRAIT_MODEL_PATH=\"ms://iic/ACE_Plus@portrait/comfyui_portrait_lora64.safetensors\"
export SUBJECT_MODEL_PATH=\"ms://iic/ACE_Plus@subject/comfyui_subject_lora16.safetensors\"
export LOCAL_MODEL_PATH=\"ms://iic/ACE_Plus@local_editing/comfyui_local_lora16.safetensors\"

2. 运行推理

在设置了环境变量后,用户可以通过执行 infer.py 来运行示例或测试自己的样本:

python infer.py

3. 训练模型

这里提供了训练代码,允许用户在自己的数据上进行训练。参考 data/train.csvdata/eval.csv 构建训练数据和测试数据,字段之间用 #;# 分隔。训练所需的参数存储在 train_config/ace_plus_lora.yaml 中,运行训练代码的命令如下:

python run_train.py --cfg train_config/ace_plus_lora.yaml

训练后的模型会保存在 ./examples/exp_example/xxxx/checkpoints/xxxx/0_SwiftLoRA/comfyui_model.safetensors

4. 运行 Demo

这里还提供了一个基于 Gradio 的 GUI demo,帮助用户更好地利用 ACE++ 模型。只需执行以下命令即可启动 demo:

python demo.py

资源

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

30115776@qq.com

Pretium lorem primis lectus donec tortor fusce morbi risus curae. Dignissim lacus massa mauris enim mattis magnis senectus montes mollis taciti accumsan semper nullam dapibus netus blandit nibh aliquam metus morbi cras magna vivamus per risus.

LLaVA-Med微软推出专为临床放射学优化和报告生成的多模态模型

MedRAX专注于胸部X光检查的AI医学推理智能体

发表评论