Lab @10 : nude pantyhose, natural pantyhose, with cotton or shiny controlling

详情

下载文件

模型描述

引言

这是继之前的 Lab 1 => 2 => 3 => 4 之后的另一个 LoRA 实验室(在那些实验中,我试图解决“可能变成黑色的连裤袜”问题)。

然而,我这一系列实验的核心问题是:我该如何持续提升特定 LoRA 的质量与效果?

通过从我之前的 LoRA 中提炼经验,目前 lab_10_4 已经勉强可用了(但仍未经全面测试。我会继续测试,但如果你喜欢,也请随意使用并享受)。

使用哪个基础模型?

更新

  • 总体

    • LoRA 文档(先中文 => 后英文,按需阅读)

    • LoRA documentation(中文优先 => 英文次之,按需阅读)

  • 250425

    • 上传更新:OK 10_11,BAD 10_10,已修复数据集与正则集

    • Upload update: OK 10_11, BAD 10_10, fixed dataset & regset

    • 提供训练思路

    • Provide training ideas

如何使用

简而言之:

  • 使用米色连裤袜

    • 如果感觉缺乏“肤色感”,可尝试添加较弱的 [[黄色连裤袜]](权重可自行调整)

    • use beige pantyhose and maybe somehow add [[yellow pantyhose]] can make it "a bit naturally nude" ( weight should you try around )

  • LoRA 权重,感觉 0.5~0.6 差不多就够了

  • for lora weight, maybe 0.5 ~ 0.6 ( the dataset is to be fixed on next round to make the color more natural )

  • 使用透明金色连裤袜,而非单独使用“金色连裤袜”(金色连裤袜的训练图片质量不佳,颜色过于发黄且不自然,从基准测试中也可以看出

  • sheer golden pantyhose 可能适用,但切勿单独使用 golden pantyhose!(效果太强,我发现数据集不够好……从基准测试或上传的数据集也能看出)

优化与发现

首先,展示一下 04 => 10 => 11 的基准测试对比之一。

首先,看看从 04 到 10 再到 11 的改进。

  • 04:随着权重提升,图像结构发生显著变化,许多缺陷变得明显

  • 10:基本结构尚可……但糟糕的正则集仍破坏了图像

  • 11:如图所示,尽管颜色变得奇怪(因数据集颜色问题),但图像保持稳定,极少出现无意义的错误

下面列出本次 LoRA 训练的改进方法,供有志于训练 LoRA 的人参考。

1) (非常重要)图像质量问题可能隐藏在细节中

以下是两个对比示例:

  • 示例 1:仔细观察整体及左侧(有问题)衣物像素的抖动

  • 示例 2:放大连裤袜区域后,左侧(有问题)的颜色梯度变化

可以看出,整体画面似乎无大问题,但因为我为了提升图像质量(见下文 2)),此前的做法是:

  • 先生成原始图像

  • 再使用 img2img 和 adetailer 放大 1.5 倍

  • 再用程序缩小回训练尺寸 <=== 这一步出了问题

在检查图像质量时,我没有放大到像素级别,否则我会看到大量噪点和颜色抖动。

人类无法察觉,但 SD 模型能充分感知这些细节。

我还将三次的对比实验结果列示如下:

  • 10_11:修复了数据集与正则集

  • 10_10:仅修复了数据集,正则集错误

  • 10_04:数据集与正则集均错误

你可以看到,10_04 在权重提升时,图像构图发生剧烈变化,而这种变化毫无意义……

如果你恰好也使用程序(基于 nodejs sharp 依赖)处理 PNG,可参考以下代码:

const sharpInstance = sharp(inputPath)
    .resize(
        width,
        height,
        {kernel: sharp.kernel.lanczos3}
    )
    .png({
        quality: 100,
        // 0~9 均为无损压缩,9 更好
        compressionLevel: 9,
        // @note. ****** 非常非常重要 ******
        palette: false
    });

2) 图像质量的一个技巧处理

虽然 2) 是导致 1) 问题的原因,但我仍推荐这种方法:

最初我获取用于正则集的图像时,直接使用训练尺寸生成一批图像,然后从中挑选。

但后来发现,先进行 highres fix,或使用 img2img 放大,能显著提升图像的宏观质量,尤其是在人物较小的情况下,如下图所示(左侧为未经放大再缩小的):

因此,此处理流程为:

  • 首先根据提示词生成大量图像,再挑选出合理且符合预期的图像

  • 使用 img2img 和 adetailer 放大

  • 再缩小至训练尺寸

3) 正则集的管理

正则集的收集和数据集一样耗时,且单次训练中,其数量需求更大,可能花费更多时间。

但好消息是:大多数高质量的正则集可在不同训练中重复使用 🤩;可惜坏消息是,为了实现这种复用,管理它们也相当繁琐 😂。

经验证发现:

(至少在 macOS 和 Linux 环境下)使用软链接方式,图片等资源仍能被训练脚本正常作为资源文件使用。

因此推荐以下方法:

  • 准备一个文件夹(结构大致如下):

    • my_reg_set/

      • all_images/

        • 1girl/ ...(可能几百张图片,png + captions,甚至有 npz 文件,似乎是 latent cache??)...

        • 1boy/ ...

      • train_plans/

        • reg-my-tran-1/

          • 1_1girl/ ...

          • 1_1boy/ ...

  • 让 AI 编写一个脚本,接受类似参数:“train:new-test, reg:1girl=200,1boy=100,...”

    • 此脚本可自动创建 reg-new-test,并从指定分类中挑选指定数量的图片,创建软链接至该 reg-new-test 文件夹

    • 还可追加处理逻辑:当所需正则图片多于某个分类当前库存时,自动处理成如下效果:

      • 例如,1girl=100,但当前库存仅为 24,最终将得到:

      • 4_1girl_full/ ...

      • 1_1girl_rest/ ...(最后 4 张额外图片)

上述流程会让你感觉更舒适。

==== 之前文档 ====

如何使用

触发词是什么?(为更好理解)

  • 在我的数据集(也将公开)中,我使用了以下触发词:

    • // 用于控制颜色

    • golden pantyhose // 更偏黄调

      • 请注意,golden pantyhose 风格上**“太强烈”**
    • beige pantyhose

    • // 用于控制光泽度

    • cotton pantyhose

    • shiny pantyhose

实际效果如何?(我将在测试 LoRA 时持续更新)

  • 注意:数据集主要描绘“紧身裤袜”,且偏向 NSFW

    • 因此,如果你发现“破损”或“透视”效果不合适,可明确在负向提示词(或正向提示词,如果你想要)中指定
  • 注意:我发现权重 0.6 ~ 0.8 更好,权重过高时,LoRA 会从数据集中引入更多无关细节(有时毫无意义)

v3

  • 最接近我预期的“裸色连裤袜”效果(可能?)
pos : sheer pantyhose,[yellow pantyhose], beige pantyhose,shiny pantyhose,

neg : torn,[golden pantyhose],

v2

pos: beige pantyhose, cotton pantyhose,

v1

pos: golden pantyhose, shiny pantyhose, sheer pantyhose,

neg: (oily pantyhose),

你可以在正向/负向提示词中尝试哪些标签?

beige pantyhose,
cotton pantyhose,
shiny pantyhose,
oily pantyhose, // 主要放负向,否则过于油亮
golden pantyhose, // 有时你也可以考虑放入负向

< 待续 >

此模型生成的图像

未找到图像。