文生图/图生图
介绍
Midjourney = 美图秀秀
stable diffutiton = PS
SD安装
参考链接: https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon
准备工作
- 30g 硬盘空间
- 稳定的网路环境可以magic
GPU or CPU
当前,Web UI 中的大多数功能都可以在 macOS 上正常运行,最明显的例外是 CLIP 询问器和培训。尽管训练似乎确实有效,但它非常慢并且消耗过多的内存。可以使用 CLIP 询问器,但它不能与 macOS 使用的 GPU 加速一起正常工作,因此默认配置将完全通过 CPU 运行它(这很慢)。
众所周知,大多数采样器都可以工作,唯一的例外是使用稳定扩散 2.0 模型时的 PLMS 采样器。在 macOS 上使用 GPU 加速生成的图像通常应该匹配或几乎匹配在具有相同设置和种子的 CPU 上生成的图像。
安装步骤
- 如果未安装 Homebrew,请按照https://brew.sh上的说明进行安装。保持终端窗口打开并按照“后续步骤”下的说明将 Homebrew 添加到您的 PATH。
- 打开一个新的终端窗口并运行
brew install cmake protobuf rust python@3.10 git wget
- 通过运行克隆 Web UI 存储库
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
- 将要使用的稳定扩散模型/检查点放入
stable-diffusion-webui/models/Stable-diffusion
. 如果您没有,请参阅下面的下载稳定的扩散模型。 cd stable-diffusion-webui
然后./webui.sh
运行网络用户界面。将使用 venv 创建并激活 Python 虚拟环境,并且将自动下载并安装任何剩余的缺失依赖项。- 要稍后重新启动 Web UI 进程,请
./webui.sh
再次运行。请注意,它不会自动更新网络用户界面;要更新,git pull
先运行再运行./webui.sh
。
SD中文汉化
模型下载
https://huggingface.co/models?pipeline_tag=text-to-image&sort=downloads
SD基本使用
各选项卡的一句话介绍
- txt2img文生图:顾名思义就是用文字生成图片
- img2img图生图:顾名思义就是用图片生成图片
- Extras更多:这里其实是“无损”放大图片用的
- PNG info图片信息:从图片exif里获取图片的信息,如果是SD原始生成的png图片,图片的
exif信息里会写入图片生成参数的,所以你在网上看到大佬生成的美图,可以用这个功能帮你
查看 - Checkpoint Merger模型(ckpt) 合并:合并不同的模型,生成新的模型
- Train训练:自己炼embedding或者hypernetwork
7.Settings设置:顾名思义就是设置页面 - Extensions扩展:顾名思义这里是扩展的管理页面。
下边开始较为详细的介绍一下各个界面
提示词Prompt
用文字描述你想要生成的东西
支持的语言
支持的输入语言为英语(不用担心英语不好的问题,目前网上有很多tag生成器供你使用),SD支
持用自然语言描述,不过还是推荐使用用逗号分隔的一个个的关键词来写,当然表情符号,
emoji,甚至一-些日语都是可以用的。
tag语法
1.分隔:不同的关键词tag之间,需要使用英文逗号,分隔,逗号前后有空格或者换行是不碍事的
- ex: 1gir,oli,long hair,low twintails (1个女孩, loli, 长发,低双马尾)
3.混合: WebUi使用|分隔多个关键词,实现混合多个要素,注意混合是同等比例混合,同时
混。 - ex: 1girl,redlblue hair, long hair (1个女孩,红色与蓝色头发混合,长发)
5.增强/减弱:有两种写法
●第一种(提示词:权重数值):数值从0.1~100, 默认状态是1,低于1就是减弱,大于1就是加强
●ex: ,(loli:1.21),(one girl:1.21),(cat ears1.1),(flower hairpin:0.9)
●第二种((提示词)),每套一层()括号增强1.1倍,每套一层[]减弱1.1倍。也就是套两层是
1.1*1.1=1.21倍,套三层是1.331倍,套4层是1.4641倍。
ex: ((li)((one jir)),(cat ears),[flower hairpin]和第- -种写法等价
●所以还是建议使用第一种方式,因为清晰而准确
1.渐变:比较简单的理解时,先按某种关键词生成,然后再此基础上向某个方向变化。 - [关键词1:关键词2:数字],数字大于1理解为第X步前为关键词1,第X步后变成关键词2,数字小
于1理解为总步数的百分之X前为关键词1,之后变成关键词2
●ex: a girl with very long [white:yellow:16] hair等价为
开始a girl with very long white hair
16步之后a girl with very long yellow hair
●ex: a girl with very long [white:yellow:0.5] hair等价为
开始a girl with very long white hair
50%步之后a girl with very long yellow hair
1.交替:轮流使用关键词
ex: [cowhorse] in a fneld比如这就是个牛马的混合物,如果你写的更长比如[cowlhorselcatldog]
in a fteld就是先朝着像牛努力,再朝着像马努力,再向着猫努力,再向着狗努力,再向着马努力
tag书写示例
建议按类似这样的格式书写提示词
画质词>> 这个一般比较固定,无非是,杰作,最高画质,分辨率超级大之类的 风格词艺术风格词>> 比如是照片还是插画还是动画 图片的主题> > 比如这个画的主体是一个女孩, 还是一只猫, 是儿童还是萝莉还是少女,是猫娘还是犬娘还是 福瑞,是白领还是学生 他们的外表> > 注意整体和细节都是从上到下描述,比如 发型(呆毛,耳后有头发,盖住眼睛的刘海,低双马尾,大波浪卷发), 发色(顶发金色,末端挑染彩色), 衣服(长裙,蕾丝边,低胸,半透明,内穿蓝色胸罩,蓝色内裤,半长袖,过膝袜,室内 鞋), 头部(猫耳,红色眼睛) 颈部(项链), 手臂(露肩), 胸部(贫乳), 腹部(可看到肚脐), 屁股(骆驼耻), 腿部(长腿) 脚步(裸足) 他们的情绪> > 表述表情 他们的姿势>> 基础动作(站,坐,跑,走,蹲,趴,跪), 头动作(歪头,仰头,低头) , 手动作(手在拢头发,放在胸前,举手), 腰动作(弯腰,跨坐,鸭子坐,鞠躬) 腿动作(交叉站, 二郎腿,M形开腿,盘腿,跪坐) 复合动作(战斗姿态,JOJ0立,背对背站,脱衣服) 图片的背景> > > 室内,室外,树林,沙滩,星空下,太阳下,天气如何 杂项>> 比如NSFW,眼睛描绘详细
将不同的分类的词,通过换行区分开,方便自己随时调整
(masterpiece:1.331), best quality, illustration, (1girl), (deep pink hair:1.331), (wavy hair:1.21) , (disheveled hair:1.331) , messy hair, long bangs, hairs between eyes, (white hair:1.331) , multicolored hair, (white bloomers:1.46) , (open clothes) , beautiful detailed eyes,purplered eyes) , expressionless , sitting , dark background, moonlight, , flower_ petals, city , full_ moon,
tag书写要点
1.虽然大家都管这个叫释放魔法,但真不是越长的魔咒(提示词)生成的图片越厉害,请尽量将
关键词控制在75个(100个) 以内。
2.越关键的词,越往前放。
3.相似的同类,放在一-起。
4.只写必要的关键词。
反向提示词Negative prompt
用文字描述你不想在图像中出现的东西
Al大致做法就是
1.对图片进行去噪处理,使其看起来更像你的提示词。
2.对图片进行去噪处理,使其看起来更像你的反向提示词(无条件条件)。
3.观察这两者之间的差异,并利用它来产生-组对噪声图片的改变
4.尝试将最终结果移向前者而远离后者
5.一个相对比较通用的负面提示词设置
lowres , bad anatomy , bad hands , text , error ,missing fingers, extra digit, fewer digits, cropped, worst quality, low quality , normal quality, jpeg artifacts, signature , watermark, username,blurry,missing arms, long neck, Humpbacked ,missing 1 imb, too many fingers , mutated, poorly drawn,out of frame,bad hands 1 unclear eyes ,poorly drawn, cloned face,bad face
采样迭代步数Sampling Steps
Al绘画的原理用人话说就是,先随机出-个噪声图片
然后一步步的调整图片,向你的提示词Prompt靠拢
Sampling Steps就是告诉AI,这样的步骤应该进行多少次。
步骤越多,每-步移动也就越小越精确。同时也成比例增加生成图像所需要的时间。
大部分采样器超过50步后意义就不大了
下图是同- -个图从1step到20step,不同step时图像的变化。
采样方法Sampling method
使用哪种采样器,人话就是让AI用什么算法。
这里只介绍常用的,不太常用的就自己去琢磨吧
- Euler a :富有创造力,不同步数可以生产出不同的图片。超过30~40步基本就没什么 增益
- Euler:最最常见基础的算法,最简单的,也是最快的。
- DDIM:收敛快,- -般20步就差不多了。
- LMS: eular的延伸算法,相对更稳定一点,30步就比较稳定了
- PLMS:再改进一点LMS
- DPM2: DDIM的一种改进版,它的速度大约是DDIM的两倍
生成批次Batch count/n_ _iter
同样的配置,循环跑几次
每批数量Batch size
同时生成多少个图像。增加这个值可以并行运行,但你也需要更多的显卡显存,具体可以自己看着
任务管理器里的显存占用显示,自己调。
基本512X512的图,SD1.4模型, Euler a, 4G显存可以并行2张,8G显 存可以并行8张。
每点一次生成按钮,生成的图像总数=生成批次X每批数量
提示词相关性CFG Scale
图像与你的提示的匹配程度。
增加这个值将导致图像更接近你的提示,但过高会让图像色彩过于饱和(你可以自己试试看)
太高后在一定程度上降低了图像质量。可以适当增加采样步骤来抵消画质的劣化。
一般在5~15之间为好,7, 9, 12是3个常见的设置值。
AIGC项目介绍
提示词优化器
https://promptperfect.jina.ai/prompts
突破道德底线的GPT模型
https://chat.chatbot.sex/chat/
在线SD
抖音直播伴侣
https://github.com/wwengg/douyin
虚拟人说话头生成
https://github.com/waityousea/xuniren
声音垂类模型
https://github.com/AIGC-Audio/AudioGPT