今天向大家介绍阿里刚开源的一个中文文生图模型–妙笔,与经典的stable-diffusion 1.5版本拥有一致的结构,兼容现有的lora,controlnet,T2I-Adapter等主流插件及其权重。
妙笔直接输入中文就可以完成文生图操作,使用起来非常便捷,生图的效果也十分逼真。
比如输入“枯藤老树昏鸦,小桥流水人家。水墨画。”来看秒笔生成结果。可以看出妙笔很好的表达出来诗句中的意思并生成了诗中的内容。
再比如输入“极具真实感的复杂农村的老人肖像,黑白。”
可以看出生成的人像具有很好的完整性和真实感,以往生图模型在生成人像方面的缺点在这也都完成的很好。
项目地址
https://github.com/ShineChen1024/MiaoBi
安装运行
1.克隆项目
git clone https://github.com/ShineChen1024/MiaoBi.git
2.创建虚拟环境并安装所需要的包
conda create -n MiaoBi-SD python==3.10
conda activate MiaoBi-SD
pip install torch==2.0.1 torchvision==0.15.2 numpy==1.25.1 diffusers==0.25.1 opencv
3.下载模型
从Huggingface下载权重,并把它放在检查点文件夹。
MiaoBi checkpoints下载链接
Diffuser使用
from diffusers import StableDiffusionPipeline
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(“checkpoints/miaobi_beta0.9/tokenizer”, trust_remote_code=True)
pipe = StableDiffusionPipeline.from_pretrained(“checkpoints/miaobi_beta0.9”)
pipe.to(“cuda”)
prompt = “一只穿着铠甲的猫”
image = pipe(prompt).images[0]
image.save(“铠甲猫.png”)
模型推理
python demo
python miaobi_generate.py
###controlnet demo
python miaobi_controlnet.py
中文生图示例
一只精致的陶瓷猫咪雕像,全身绘有精美的传统花纹,眼睛仿佛会发光。
动漫风格的风景画,有山脉、湖泊,也有繁华的小镇子,色彩鲜艳,光影效果明显。
车水马龙的上海街道,春节,舞龙舞狮。
局限性
妙笔的训练数据包含Laion-5B中的中文子集(经过清洗过滤),Midjourney相关的开源数据(将英文提示词翻译成中文),以及收集的一批数十万的caption数据。
由于整个数据集大量缺少成语与古诗词数据,所以对成语与古诗词的理解可能存在偏差,对中国的名胜地标建筑数据的缺少以及大量的英译中数据,可能会导致出现一些对象的混乱。
妙笔Beta0.9在8张4090显卡上完成训练,目前也在拓展机器资源来训练SDXL来获得更优的结果,期待后续的更新。