Stable Diffusion|LoRA模型训练|素材准备

本教程为大家带来关于LoRA训练的前期准备工作教程,包括图片素材的角度选择、质量挑选、自动化抠像、批量裁切、标签自动生成、标签自动翻译插件及打标软件BooruDatasetTagManager教程。

LoRA模型训练教程图像素材准备与打标

之前本站也想写一下关于LoRA训练的教程,但是站长太懒了,而且最近私事和其它工作比较多,所以一直耽搁着。

本次站长也是零开始学习,一边学,一边教给大家,这样的好处是其中遇到的任何问题都有详细记录,你可能遇到的问题在我这里都有所解答。

本期教程以准备素材为主,因为素材的质量与模型的好坏是直接挂钩的,所以希望大家在训练时尽量遵守以下各类规则。

素材示例

本站提供40张网高清网图做为训练所用的数据,此素材的人物为国外模特申才恩,希望不要起诉我(狗头)。

zenny_申才恩_原图

提取密码 文件说明 文件大小 224.14MB 文件格式 RAR 资源价格 免费 下载次数 4

清晰度

下面是宽、高、分辨率、模式等完全一致的图片,但是左图非常清晰,右图却非常模糊。

显然,左图才是高质量的图像,虽然我们目前看来可能没有什么区别,但如果我们放大一些再来看一下。

左图发丝清晰可见,右图面部全部都模糊在一起,这会导致光影、颜色、结构等较多细节缺失。

我们可以把左图理解为你使用手机直接拍摄的照片,右图是通过微信等软件发送后,自动压缩的图片。微信或其它软件为了节省带宽和手机存储空间等原因,将会自动压缩图片,所以训练时一定一定要尽量选择高质量的清晰图片。

高清放大

有些人比较聪明,可能会想到另一种曲线救国的办法。既然图片模糊会影响效果,那我直接通过Stable Diffusion的插件进行修复呢?

我们可以看到,效果虽然会好上那么一些,但还是会丢失很多细节。因为放大修复的作用并不是还原图像,而是通过AI算法去弥补,它只是去猜测各个模糊的像素点位置应该填充什么色块,但绝对不会像原图一样清晰真实。

素材角度

在选择素材时,尽量选择各个角度的图像,不要全部或大量素材都是正面,这样AI才能够更加全面的学习,而不局限于单个视图的绘画能力,以下是一些角度的示例。

素材抠像

理论上来讲,素材的背景越干净简洁,其绘画效果和学习速度提升越大。而且抠像之后我们在打标签的时候,也不会添加一些奇奇怪怪的内容到标签内,非常有利于学习,也有利于打标签更加轻松。

什么是抠像?抠像后的效果是怎么样的?

可以看到,左侧原图中除了人物的其它场景,都已经消失了,这就是抠像,让AI学习的时候可以过滤很多干扰。

以下是站长理解的AI训练学习方法示意图,AI是通过区块进行学习的,如果你将不需要的部分剔除掉,那么在学习过程中就会对为空的部分不学习,也避免AI会将枕头等内容作为角色的一部分而被学习,从来达到加快学习速度和效果的目的。

目前有以下几种方法进行抠像,可以按照自身条件进行选择。

  • cv_unet_image-matting
  • PBRemTools
    • 中文名”精确背景去除工具”,支持通过语言关键字抠像指定物体,比如”人”,”剑”,”枪”等。
    • 经本站测试效果一般,但也还算能用。该工具的优点就是可以通过SD内置的拓展安装,直接在拓展内搜索PBRemTools即可。
    • GitHub:mattyamonaca/PBRemTools: Precise background remover (github.com)
    • 本站其实已经编辑好了该工具的教程,但是这个工具比较简单,所以没有单独发出来,如果后续大家有需要的话,可以在评论区要求我发。
  • Photoshop
    • 有点麻烦,需要一张一张手动抠图,不太建议使用。
    • 更新:在站长写下一篇训练部分的教程时,试用了最新的Photoshop Beta版本,拥有了一键移除背景的功能,效果非常棒,推荐搭配自动化脚本使用。

其实无论哪一种工具都是可以的,只要能处理干净就好。退一万步而言,哪怕不进行抠图,也是可以进行训练的,如果你觉得这个步骤比较麻烦,直接跳过即可。

以下是各工具的抠像效果对比,大家可以自行选择。

可以看到cv_unet_image-matting的效果还是不错的;而PBRemTools的边缘抠像效果并不好;Photoshop效果的非常不错,但仅针对特定主体,如果主体不明确则效果极差。

示例下载

以下是本站已经使用cv_unet_image-matting方法自动抠像处理后的素材,共计40张。如有需要,可以自行下载。

zenny_申才恩_抠像

提取密码 文件说明 文件大小 607.49MB 文件格式 RAR 资源价格 免费 下载次数 2

抠像备注

下面是一些抠像之后的图像示例,可以看到部分是没有抠干净的,或者因为存在其它物体遮挡而导致肢体不全的。

但是这些并不重要,因为模型训练主要还是看脸,所以只要面部是完整的,效果就不会太差。

素材裁切

图像的尺寸我们可以选择512像素*512像素,因为多数的训练集都是基于512像素*512像素,与原训练集保持一致的比例,可以得到更好的效果。

而且,超出面部范围之外的大部分内容是没有什么用的,因为我们只是希望保留面部替换而已。

我们有很多种办法仅保留面部图像,但是效果各不相同,以下是三种主流的方式。

类型优点缺点方式
Birme支持批量|不限尺寸不支持单独放大在线网站
Stable Diffusion支持批量|不限尺寸不支持单独放大内置插件
Photoshop手动调整面部大小|不限尺寸不支持批量手动安装

以下是这三种方式的区别,Birme可以手动选择裁切的位置;Stable Diffusion是全自动聚焦面部的,无法手动选择;Photoshop麻烦一些,但是可以放大面部,本站比较推荐这种方式。其实一共也没有多少张图像,用来训练机的图像一般都是在几十张之内,手动裁切也就是十分钟左右的时间,可以获得更好的效果,总比一次次重新训练要好的多吧?一劳永逸哦。

下面是关于使用PS和使用其它两款软件进行裁切的区别:

左边是完整的图像,站长已经添加了裁切范围示意框。红色区域就是通过Birme或Stable Diffusion裁切后所得到的范围,裁切之后的效果如中间图像所示,这种方式会保留较大的身体部分,这部分内容其实对于LoRA训练并没有太多用处,还会导致聚焦于面部的信息过少。最右侧的图像是我们通过Photoshop手动聚焦面部之后所裁切的图像,这样可以仅针对于面部,对于AI机器学习来说,可以更加有针对性的学习,得到更好的效果。

示例下载

zenny_申才恩_裁切

提取密码 文件说明 文件大小 14.55MB 文件格式 RAR 资源价格 免费 下载次数 1

标签生成

此时我们需要做比较重要的一项工作了,那就是生成标签,也就是Tag。我们也可以手动填写每个标签,但这太累了,而且也不全面,所以建议大家先批量自动生成,然后再进行手动修改,这样的效果可以更好。

打标设置

我们将源目录设置为我们已经裁剪并抠像完成的文件夹,并且设置一下输出目录,用来保存自动打标后的图像和txt描述文件。

注意:经本站测试,如果不勾选Keep original size选项,在输出目录的新图像将会变的模糊。生成标签时尽量在BLIP和Deepbooru中选择一个,因为两个标签同时勾选,生成后的标签将会有部分重叠。

Stable Diffusion|LoRA模型训练|素材准备

效果展示

本站这里抽出一张做为示例,为大家看一下打标之后的效果。

Stable Diffusion|LoRA模型训练|素材准备

以下是根据该图像所自动生成的标签:

1girl, adidas, black_hair, black_nails, blue_nails, blue_shirt, clothes_writing, fingernails, japan, lips, long_hair, nail_polish, parted_lips, pink_nails, realistic, shirt, short_sleeves, simple_background, soccer, soccer_uniform, solo, sportswear, t-shirt, upper_body, white_background

翻译后的内容如下:

1个女孩,阿迪达斯,黑发,黑色指甲,蓝色指甲,蓝色衬衫,服装文字,指甲,日本,嘴唇,长发,指甲油,张开嘴唇,粉色指甲,逼真,衬衫,短袖,简单背景,足球,足球服,独奏,运动服,T恤衫,上半身,白色背景。

标签修改

关于标签的修改有两种方式,但是方便程度不同,效果一致,大家可以根据自身喜好选择。

打标说明

关于标签的修改,应该怎么改?这里提前交代一下,毕竟标签的好坏,直接会影响到后缀生成的效果。

一个相对完善的标签应该包含以下内容:

Tag类型Tag内容描述
主题1 boy1 girl自动设置的主触发Tag用于涵盖所有不需要调节的特征项
动作sittingstandinglooking at viewer坐着|站着|看着观众
特征blonde hairshort hairlipsmole金发|短发|嘴唇|痣
视角upper bodyfull body shotfrom side
lie downlying on stomach
上半身|全身照|侧面|躺着|趴着
光影absurdres:1.2nightKodak portra 400
film grain
荒谬:1.2|夜色|柯达portra 400|胶片颗粒
其它blurry backgroundtable in front of couchWhite backgroundsolid color background模糊背景|沙发前的桌子|白色背景|纯色背景

同样以下图为例,我们目前得到的自动标签内容如下:

1个女孩,阿迪达斯,黑发,黑色指甲,蓝色指甲,蓝色衬衫,服装文字,指甲,日本,嘴唇,长发,指甲油,张开嘴唇,粉色指甲,逼真,衬衫,短袖,简单背景,足球,足球服,独奏,运动服,T恤衫,上半身,白色背景。

如果你需要某一部分是可控的,那么就将这一部分放在标签内;如果某一部分是该LoRA的特征,那么最好不要去添加。

举例:如果我们需要后续可以修改头发的颜色,那就在标签内填写现在有头发特征,如黑发长发,这样后续才方便我们使用SD生成时进行修改。如果关于该图的所有Tag内都没有关于头发的描述,那么AI将会理解关于头发的部分,是这个LoRA的一部分,是内置在LoRA模型内无法进行单独修改的。

所以我们应该设置此图的Tag如下:

1个女孩,黑发,蓝色指甲,蓝色衬衫,指甲,长发,指甲油,张开嘴唇,粉色指甲,逼真,衬衫,短袖,简单背景,足球服,独展,运动服,T恤衫,上半身,白色背景。

此时还需要关于角度的描述,我们手动添加:

1个女孩,黑发,蓝色指甲,蓝色衬衫,指甲,长发,指甲油,张开嘴唇,粉色指甲,逼真,衬衫,短袖,简单背景,足球服,独展,运动服,T恤衫,上半身,白色背景,躺着,

注意:Tag的顺序对于权重的大小是有所影响的,Tag越靠前,权重影响越大。

Stable Diffusion|LoRA模型训练|素材准备

手动改标

手动改标最好是安装VS Code工作,支持双窗口显示,任意修改即可。

Stable Diffusion|LoRA模型训练|素材准备

BooruDatasetTagManager

一个可以支持自动翻译的打标开源软件,个人感觉还是挺好用的(新版),对于英文不好的人来说,非常友好。

GitHub:https://github.com/starik222/BooruDatasetTagManager

URL备注
官方下载点击前往需要魔法
网盘下载点击前往国内网盘

下载之后解压该文件,然后找到目录中名为BooruDatasetTagManager.exe的程序,启动即可看到如下画面。

我们设置一下自动翻译的语言,FileSettings…Translations,将第一项修改为Chinese(Simplified)。然后点击Save按钮,重启软件即可生效。

重新打开软件之后,我们点击FileLoad folder,然后选择我们已经生成Tag之后的文件夹。

Stable Diffusion|LoRA模型训练|素材准备

我们载入Tag文件夹之后,将会看到所有英文标签都已经载入完成。此时我们点击ViewTranslations tags,将会自动翻译所有标签。

Stable Diffusion|LoRA模型训练|素材准备

我们可以看到,这真的已经非常方便了,此时我们根据自己的需求去修改即可。

比如删除一些多余的标签,然后添加了lie down(躺着)。

Stable Diffusion|LoRA模型训练|素材准备

示例下载

手动修改标签之后的最终LoRA训练素材下载:

zenny_申才恩_Tag

提取密码 文件说明 文件大小 77.40MB 文件格式 RAR 资源价格 免费 下载次数 3

总结

好啦,至此我们已经完成了所有准备工作。不过呢,这些都是理论上的,因为站长也还没有开始训练,这是第一次做LoRA模型训练。

下一期,将会为大家带来模型训练的参数介绍、训练插件安装、调试之类的内容。

此文章由OpenAI开源维基百科原创发布,如若转载请注明出处:https://openai.wiki/sd-lora-prepare.html

(0)
上一篇 2023-05-26 16:59
下一篇 2023-05-31 02:28

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(11条)

  • open
    open 2023-05-30 17:35

    站长能不能开发一个stable-diffusion-webui的免费云部署的教程吧。谢谢!!

  • hp_zerolan
    hp_zerolan 2023-05-31 09:46

    卧槽。这两天没看你就悄咪咪的出了

  • ocean
    ocean 2023-06-02 20:36

    站长啊,有没有练物品的啊,感觉都是练人的,

  • hello
    hello 2023-06-03 22:41

    站长你好,我看到你裁剪的图片大小不一样的,不是说图片尺寸大小要统一的吗,比如说512*512,768*768这种的,网上说图片太长,训练配置需要很高的。还有就是如果素材没有全身照,训练出来如果生成全身照,会不会全身照的效果很差,谢谢。

    • PhiltreX
      PhiltreX 2023-06-05 13:10

      @hello我给出的素材好像忘记了给裁切大小之后的,不过我这里测试了一下两种大小,都能够正常出图的。
      全身照没有问题会使用基础模型进行填充,LoRA的原理就是在大模型的基础上修改了一小部分为自己所用,所以如果LoRA的训练素材不满足时,会自动调用基础模型的,这并不冲突。

  • Daniel
    Daniel 2023-06-11 16:32

    站长,想问一下,对于物品的训练,也是建议使用白底的图片吗?之前使用白底的图片训练embedding模型,实际txt2img 输入prompt后都得到了一个变异化的新产物。有什么方法能保留这个物体的细节吗?

    • PhiltreX
      PhiltreX 2023-06-12 19:50

      @Daniel抱歉,关于物品的训练这一块我还没有尝试过,晚一点有时间我这里会考虑出教程哈。
      不过,理论上训练物品时只保留本物品效果会更好一些,其次是不要打太多标签,不然物体可能会被AI拆分理解。
      比如一个魔方,如果你为魔方的每一块标记了颜色信息,那么模型就会理解为一堆有颜色的方块了。

  • 阿松大
    阿松大 2023-09-15 22:37

    禽兽

微信