当前位置:首页|资讯|Stable Diffusion|人工智能|深度学习

stable diffusion 真人照片训练PT实操

作者:朝朝暮暮1895发布时间:2023-03-14

以下文章用于介绍如何使用stable diffusion, 基于真人照片的pt文件制作

照片随机抓取至网络。原始照片举例:

原始照片-1
原始照片-2

经过训练后,由stabel diffusion 生成的照片举例

stable diffusion生成照片示意-1
stable diffusion生成照片示例-2

以下基于深度学习的一般流程,介绍一下基于真人照片的pt批处理文件流程

深度学习建模的一般流程

1- 数据处理

首先是原始数据的获得,一般通过网络公开渠道都可以获得原始的训练数据。

1.1 数据清洗

但是我们从网络上获得的大部分数据都需要做一个初步的处理,比如对于过于花哨的背景,需要进行抠像处理;过于模糊的照片或者本身已经失真的照片需要剔除;部分照片如脸上有特效,头发遮住一部分脸庞,身上衣服有大范围的数字和字母、文字,纹身等等,最好予以剔除。

最后得到的初始照片大致如下:

使用ios相册的抠像功能可以自动抠像

1.2 数据预处理

首先在启动stabel diffusion 之前,进入VAE文件夹,将model.vae.pt文件改为1model.vae.pt,这一步很重要,VAE若自动加载,则训练必失败。

VAE 文件夹位置

随后启动stabel diffusion对于上述图像进行预处理。

VAE 设置为无(后续画图的时候再换回来)

设置反推提示词如下

反推提示词 deepbooru

记得“保存设置”,切记!!!

不保存设置,是无法进行训练的。

1.3 随后进入训练页签,对于图像进行预处理

输入embedding的名字,这个也决定了这个pt的后续名字,方便记忆即可。

初始化文字越简单越好,如果是人像输入1girl即可;如果是画风训练则输入画师的名字即可,方便区分和记忆即可。

每个token的向量数是很重要的,一般与你的初始图片数量有关,如果是人像训练,一般设置数字为6-12, 如果是画风训练则一般10以上。

举例我如果是20张照片,我设置为6;如果40张照片,我一般设置为8或者9;如果有100张照片,我一般设置为16.

生成初始的embedding文件

点击生成embedding文件,显示成功生成pt文件

成功生成pt文件

1.4 对于原始图像进行预处理

在stable diffusion程序文件夹内,创建一个train文件夹,在train文件夹下,输入你这个人像训练或画风训练的embedding文件夹,在这个文件夹下,再创建一个old文件夹。

创建三个嵌套的文件夹

将你前期经过抠像的图片存储入上述创建的old文件夹

这里就是初始数据了

1.5 由SD进行图像的预处理

源目录为上述创建的old目录绝对路径。

目标目录和上述目录路径相同,将最后的old改为new

如果是独立显存8G,则宽度高度保持默认的512*512即可;如果是独立显存6G,则宽度高度改为384*384,不然容易爆显存。

另外,即使你的初始照片为1024*768或其他比例,这里也建议保留原始的宽度高度512*512不要修改,不然生成的照片比例会很奇怪。

最下面的选项如图片选择即可。

点击预处理生成new文件夹,且sd会自动对于你的照片进行文字反推

后台显示对于初始文件进行预处理

显示批处理初始照片进度

SD会自动创建new文件夹,并对于初始照片进行处理

生成的照片会自动去除原有水印
SD会根据上述照片反推出来prompt关键词

2 训练配置

进入文生图页面,prompt输入简单内容即可,一般将embedding名字放在最后,不要加太多的prompt,如1girl, realistic即可。

prompt要尽量简单


回到训练页面

embedding选择自己刚才创建的embedding名字

学习率保持默认即可

数据集目录,设置为之前的new文件夹,用预处理过的图像作为数据集目录

日志目录为textual_inversion,如果是画风训练,则下方应选择为style_filewords,如果是人像训练,则下方应选择为subject_fileword

宽度高度保持不变,依旧512*512

最大迭代步数由100000改为10000或20000

下面步数默认500或者250都可以。

训练参数设置如上

点击“训练embedding”,开始训练模型

3 SD后台开始训练embedding文件

最下面会显示embedding训练进度,如这里训练20000张图片,需要2.5小时。

4 查看训练结果

在textual_inversion文件夹下,会自动创建一个当天日期的文件夹

在当天日期文件夹下,会自动创建一个embedding名字的子文件夹


在images下面,会看到每隔500个结果,保存的照片

一般这时候照片会比较难看,但是如果只要还看的出来是原来的画风和人像,就可以不要打断SD,让他继续训练下去,直至完成。

每隔500,会自动保存一个样例,有些像,有些很不像。耐心等SD训练完。

5 校验,调整

20000个图像训练完成

训练完成后,我们就可以直接使用刚才的embedding作为prompt生成照片了

进入文生图页面

输入embedding名字,生成照片
这是删去定制embedding名字后,同样prompt生成的图片,差异明显。

6 图像模型优化

如果训练完的照片还是不像怎么办?

进入之前提到的\textual_inversion\2023-03-14\yuejiang2\image_embeddings 目录

在image_embedding目录之下,逐个查看,记住比较像的或者符合你审美的过程照片

比如,记住这个9000的照片
再选一个13000的照片


进入上述文件夹同级的embedding文件,找到和之前所挑选数字对应的两个pt文件

选择和刚才两个数字相同的pt文件

进入SD安装目录下的 embedding文件夹,将上述两个pt文件复制粘贴进来

将上述两个pt文件存入SD安装目录下的embedding文件夹下

在文生图页面下,记得输入刚才粘贴的pt文件名字

好看的照片变多了,比单纯输入没有数字的embedding文件名好看多了
将9000改为13000,同样生成好看照片的概率增加了。

7 锁定seed,进一步优化

在上述生成照片的十几张照片中,找到一张最顺眼的照片,

点击随机种子选项中的“Reuse seed……”按钮,锁定seed

找一张最顺眼的照片,锁定seed

再次基于锁定seed,重新文生图

锁定seed,用同一张脸再次文生图

8最终效果举例

(masterpiece), (best quality), realistic, 1girl, yuejiang2-13000
(masterpiece), (best quality), realistic, 1girl, yuejiang2-13000, full body
(masterpiece), (best quality), realistic, 1girl, yuejiang2-13000, short hair
(masterpiece), (best quality), realistic, 1girl, yuejiang2-13000, diamond necklace, in beach



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1