license: other
license_name: faipl-1.0-sd
license_link: https://freedevproject.org/faipl-1.0-sd/
language:
- en
tags:
- 文生图
- 稳定扩散
- 安全张量
- 稳定扩散XL
base_model: Linaqruf/animagine-xl-2.0
widget:
- text: 1girl, 绿发, 毛衣, 看向观众, 上半身, 无檐帽, 户外, 夜晚, 高领, 杰作, 最佳质量
parameter:
negative_prompt: 成人内容, 低分辨率, 解剖结构错误, 手部畸形, 文字, 错误, 缺指, 多指, 少指, 裁剪, 最差质量, 低质量, 普通质量, JPEG伪影, 签名, 水印, 用户名, 模糊, 作者名
example_title: 1girl
- text: 1boy, 男性焦点, 绿发, 毛衣, 看向观众, 上半身, 无檐帽, 户外, 夜晚, 高领, 杰作, 最佳质量
parameter:
negative_prompt: 成人内容, 低分辨率, 解剖结构错误, 手部畸形, 文字, 错误, 缺指, 多指, 少指, 裁剪, 最差质量, 低质量, 普通质量, JPEG伪影, 签名, 水印, 用户名, 模糊, 作者名
example_title: 1boy
Animagine XL 3.0
Animagine XL 3.0 是先进开源动漫文生图模型的最新版本,基于前代Animagine XL 2.0的能力构建。该模型以Stable Diffusion XL为基础开发,在图像生成质量上有显著提升,包括改进的手部解剖结构、更高效的标签排序以及对动漫概念的深入理解。与前代不同,我们着重让模型学习概念而非单纯美学。
模型详情
Gradio与Colab集成
Animagine XL 3.0可通过用户友好平台访问:
🧨 Diffusers安装
使用Animagine XL 3.0需安装以下库:
pip install diffusers --upgrade
pip install transformers accelerate safetensors
生成图像的示例脚本:
import torch
from diffusers import (
StableDiffusionXLPipeline,
EulerAncestralDiscreteScheduler,
AutoencoderKL
)
vae = AutoencoderKL.from_pretrained(
"madebyollin/sdxl-vae-fp16-fix",
torch_dtype=torch.float16
)
pipe = StableDiffusionXLPipeline.from_pretrained(
"Linaqruf/animagine-xl-3.0",
vae=vae,
torch_dtype=torch.float16,
use_safetensors=True,
)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to('cuda')
prompt = "1girl, 有马佳奈, 我推的孩子, 单人, 上半身, 胜利手势, 微笑, 看向观众, 户外, 夜晚"
negative_prompt = "成人内容, 低分辨率, 解剖结构错误, 手部畸形, 文字, 错误, 缺指, 多指, 少指, 裁剪, 最差质量, 低质量, 普通质量, JPEG伪影, 签名, 水印, 用户名, 模糊, 作者名"
image = pipe(
prompt,
negative_prompt=negative_prompt,
width=832,
height=1216,
guidance_scale=7,
num_inference_steps=28
).images[0]
使用指南
标签排序
本代模型的提示词结构有所不同,为获得最佳效果,建议遵循以下结构化模板:
1girl/1boy, 角色名, 出自作品, 其他内容任意顺序
特殊标签
与前代类似,本模型训练时使用了特殊标签来控制生成质量、评级和发布时间。即使不使用这些标签,模型仍能工作,但建议使用以便更好地控制输出。
质量修饰符
质量修饰符 |
分数标准 |
杰作 |
>150 |
最佳质量 |
100-150 |
高质量 |
75-100 |
中等质量 |
25-75 |
普通质量 |
0-25 |
低质量 |
-5-0 |
最差质量 |
<-5 |
评级修饰符
评级修饰符 |
评级标准 |
评级: 普通 |
全年龄 |
评级: 敏感 |
敏感内容 |
评级: 争议 , 成人内容 |
争议内容 |
评级: 露骨 , 成人内容 |
露骨内容 |
年代修饰符
这些标签可引导生成现代或复古动漫风格,范围从最新
到最旧
。
年代标签 |
年代范围 |
最新 |
2022至2023 |
近期 |
2019至2021 |
中期 |
2015至2018 |
早期 |
2011至2014 |
最旧 |
2005至2010 |
推荐设置
引导模型生成高美学图像时,建议使用以下负面提示词:
成人内容, 低分辨率, 解剖结构错误, 手部畸形, 文字, 错误, 缺指, 多指, 少指, 裁剪, 最差质量, 低质量, 普通质量, JPEG伪影, 签名, 水印, 用户名, 模糊, 作者名
为获得更高质量输出,可在正面提示词前添加:
杰作, 最佳质量
但需谨慎使用杰作
、最佳质量
,因为许多高分数据集包含成人内容。建议在负面提示词中添加成人内容
、评级: 敏感
,在正面提示词中添加评级: 普通
。推荐使用较低的分类器自由引导(CFG Scale)约5-7,采样步数低于30,并选用Euler Ancestral(Euler a)作为采样器。
多比例分辨率
本模型支持生成以下尺寸的图像:
尺寸 |
宽高比 |
1024 x 1024 |
1:1 正方形 |
1152 x 896 |
9:7 |
896 x 1152 |
7:9 |
1216 x 832 |
19:13 |
832 x 1216 |
13:19 |
1344 x 768 |
7:4 横向 |
768 x 1344 |
4:7 纵向 |
1536 x 640 |
12:5 横向 |
640 x 1536 |
5:12 纵向 |
训练与超参数
- Animagine XL 3.0 在2块80GB显存的A100 GPU上训练了21天(超过500 GPU小时)。训练过程包含三个阶段:
- 基础阶段:
- 特征对齐阶段:使用120万张图像让模型学习基础动漫概念。
- UNet精炼阶段:使用2500张精选数据集仅微调UNet。
- 精选阶段:
- 美学调优阶段:使用3500张高质量精选数据集优化模型艺术风格。
超参数
阶段 |
训练轮数 |
UNet学习率 |
训练文本编码器 |
文本编码器学习率 |
批大小 |
混合精度 |
噪声偏移 |
特征对齐阶段 |
10 |
7.5e-6 |
是 |
3.75e-6 |
48 x 2 |
fp16 |
无 |
UNet精炼阶段 |
10 |
2e-6 |
否 |
无 |
48 |
fp16 |
0.0357 |
美学调优阶段 |
10 |
1e-6 |
否 |
无 |
48 |
fp16 |
0.0357 |
模型对比
训练配置
配置项 |
Animagine XL 2.0 |
Animagine 3.0 |
GPU |
A100 80G |
2 x A100 80G |
数据集 |
170k + 83k图像 |
1271990 + 3500图像 |
打乱分隔符 |
无 |
启用 |
全局训练轮数 |
20 |
20 |
学习率 |
1e-6 |
7.5e-6 |
批大小 |
32 |
48 x 2 |
训练文本编码器 |
是 |
是 |
训练特殊标签 |
是 |
是 |
图像分辨率 |
1024 |
1024 |
分桶分辨率 |
2048 x 512 |
2048 x 512 |
源代码和训练配置详见:https://github.com/cagliostrolab/sd-scripts/tree/main/notebook
局限性
尽管Animagine XL 3.0在动漫文生图领域取得了重大进展,但了解其局限性对于明确最佳使用场景和未来改进方向至关重要。
- 概念优先于艺术风格:模型优先学习概念而非特定艺术风格,可能导致美学表现与前代有所不同。
- 非写实设计:该模型专攻动漫风格,不适用于生成写实或照片级图像。
- 解剖学挑战:虽然有所改进,模型在处理复杂动态姿势时仍可能出现解剖结构错误。
- 数据集限制:120万张训练图像可能未涵盖所有动漫角色或新番,限制了对冷门角色的生成能力。
- 自然语言处理:模型未针对自然语言理解优化,需要更结构化的提示词才能获得最佳效果。
- 成人内容风险:使用"杰作"等高质量标签可能意外生成成人内容,因高分训练集中此类内容占比较高。
这些局限性指明了未来迭代的改进方向,也强调了精心设计提示词的重要性。理解这些约束条件有助于用户更好地驾驭模型能力,合理调整预期。
致谢
我们向所有为Animagine XL 3.0开发做出贡献的团队成员和社区致以诚挚谢意,包括提供关键资源和见解的合作伙伴。