找回密码
 立即注册
查看: 1296|回复: 0

[教程] 如何提高Lora模型质量-从图片预处理入手

[复制链接]

7

主题

2

回帖

29

积分

新手上路

积分
29
发表于 2023-4-8 12:06:08 | 显示全部楼层 |阅读模式
我发现Lora训练教程中对于图像的预处理工作都忽略了,但是经过我的试验,发现图像的选择以及字幕文件的处理,对于一个Lora模型的效果是影响很大的,在一周的测试后,谈一下我对图像预处理的心得



1.图像的选择
图像的选择我也仍在探索中,简单讲下我现在选择图像的一些标准吧
什么是好的训练图像?
  • 高分辨率 - 高分辨率的图像意味着更清晰的脸部细节,他决定了你的模型“像不像”,而裁剪尺寸,我推荐512*640,这是大部分人能够训练的尺寸中效果比较好的。
  • 训练对象的视野一览无余,一个完整的人像(半身,或者全身)能够有效提高出图的质量
  • 简单的构图,避免复杂的其他因素干扰
  • 多样性 - 如果您正在训练一个人,背景/灯光/服装/面部表情/姿势变化越多越好,这意味着你生成的图像更像真实的
是什么造就了糟糕的训练图像?
  • 低分辨率 - 请勿放大训练图像或使用具有可见压缩的图像。这直接导致人物面部的崩坏,有全身照但是生成的全身图片中人脸依然崩坏原因可能是训练图像的人脸分辨率过低导致的
  • 裁剪不良 - 如果您的输入是特写镜头,则模型输出将是特写镜头,如果只有脸图,那么你只能得到脸图,或者扭曲的半身照
  • 多个人,尽量让你的人物单独出镜,裁剪或者抹掉其他人
  • 重复或高度相似,这会造成过拟合
  • 主题不是主要焦点的图像,模糊的人物会降低lora质量

2.字幕文件的生成

在许多的教程中,都使用了dreambooth风格作为字幕文件,这不是惟一的选择,事实上,BLIP和dreambooth是要按情况使用的
  • dreambooth:他包含了更多的动漫词汇,使用tag进行标记,更适合二次元lora模型的处理,当然,对真人也有效果,需要注意进行特征tag的删减
  • BLIP:这是一种自然语言字幕,sd是基于gpt2的,你可以相信它的语言处理能力,同时BLIP更适合处理真人模型,需要注意添加真人特征的tag

论坛内训练真人模型的比较多,我先展开讲下BLIP字幕文件的处理方法,稍后会补上dreambooth的处理方式

2.1 BLIP字幕文件的预处理工作
如下图,我们在生成字幕文件时,不再选择dreambooth,而是BLIP,其他参数不变

图片生成后,我推荐使用BooruDatasetTagManager 进行字幕文件的处理,软件图如下:

点击Load folder,载入图像预处理文件夹,我们就可以看到下面的界面:

这里的最左侧,是我们的预处理图像,中间是所选择的图像的字幕,右侧是文件夹中所有的字幕
我们可以看到,BLIP的字幕是描述性的,比如第一张的字幕大意为“一位身穿白色衬衫、戴着红色珠子项链的女士坐在椅子上
这个描述是对的,但是他没有提及我们的人物特征,这就导致训练出的模型并不会很像。所以我们要加上想要突出的人物特征
在这里我提供一个常用的特征tag:
face,nose,lips,hairstyle,eyes,ears,forehead,breast
点击软件最右上角的 号,就可以把它添加到全部图像的字幕文件中,Adding Position选择TOP

添加完成之后,我还想保留她的马尾辫,长发等发型,这个时候我们要按住Ctrl或者Shift选择多个相同发型的图片,点击中间的 号,进行批量添加tag:

最后,我们要给所有图片加上这个人物的专属tag,比如guanxiaotong,用来更好的触发人物特征。注意!这个tag要和你的预处理文件夹tag保持一致!
最后的图片tag就是这样的:

完成后,我们点击save all change 保存更改


这样,BLIP字幕文件就处理完了,接下来照常训练即可
2.2 dreambooth字幕文件的预处理工作
受许多教程影响,很多人使用的是tag的字幕文件,这个就是使用dreambooth生成的字幕文件,这个字幕文件初衷是为了弥补BLIP对于动漫特征描述的不足,慢慢的也有人使用它对真人图像进行处理。
2.2.1dreambooth字幕文件的生成

如图,选择Use deepbooru for caption,即是生成tag式的字幕文件
2.2.2 dreambooth字幕文件的处理
我们依然使用BooruDatasetTagManager 进行字幕文件的处理,但是处理方式稍有不同,这次我们将想让AI学习的tag删除

比如在这幅图像中,我们想要保留她的基本特征,应当删除 black_hair,lips,nose,black_hair,asian等基本特征,如果你想要保留她的发型,耳环等,你还需要删除long_hair和earrings(如果你的素材中发型非常多,我建议删除发型,这样“更像”本人,在处理二次元人物时,发型常常是需要删除的,真人的发型也能带来一定的辨识度)
注意:你不应该删除【1girl】,除非你想让她永远单独出镜,【1girl】是一个描述场景的词,而非描述人物
然后,我们为她加上专属的tag,在最前面

批处理操作和BLIP方法相同,这里不再赘述。
最后,放几张生成图(基于Chilloutmix0.3 realistic0.7混合模型训练,Chilloutmix生成):

(注:如果图像产生侵权,请告知我,我将于24小时内删除)
训练方法并不唯一,只要达到效果即可,条条大路通罗马
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|金房子

GMT+8, 2024-10-30 12:20 , Processed in 0.043019 second(s), 21 queries .

© 2023 金房子|AI发烧友社区

快速回复 返回顶部 返回列表