Bucketing downscaler (Downscales and sorts images to expected bucket sizes)
详情
下载文件
关于此版本
模型描述
这只是一个简单的脚本,用于计算桶尺寸并将图像下采样到最接近的较大桶尺寸。仅用于数据集测试目的,我不建议将其用于训练……除非你试图绕过上传大小限制!
此外,由于我通常不写 PowerShell,这个脚本可能存在一些 bug。
我已经将其更新至 V2 版本,现在除了生成预览图外,还会将原始图像按桶分类。V3 增加了裁剪功能,V4 则增加了裁剪时的对齐选项。
V4
新增了裁剪和填充时的上下居中、左右居中对齐选项。只需输入 U、D 或 C 表示上、下或居中;输入 L、R 或 C 表示左、右或居中。
行为说明:左对齐会将图像左边缘与桶左边界对齐,裁剪右侧部分,或用白色填充右侧。
V3
修复了一些 bug,并增加了居中裁剪选项,该选项会裁剪生成测试图像的最大边,使其完美适配其最大的兼容桶,同时尽量少裁剪图像内容。
理论上,你可以使用这些下采样图像进行训练,但我仍建议在使用前对它们进行检查、锐化或过滤。
请务必保留你原始的完整尺寸数据集!
V2:
有人问是否可以让脚本将原始图像分类到对应的桶中,于是我添加了一个输出文件夹,其中会创建三种子文件夹:下采样(或上采样质量较差)到对应桶尺寸的图像、按桶分类的原始图像、以及需要上采样才能完全填充桶尺寸的原始图像。请记住:下采样图仅用于预览,不要用于训练。
效果应如下所示:

如果你的图像不是 PNG 格式,脚本会忽略它们,并创建一个 PNG 副本用于处理;如果原始图像已是 PNG,则会直接移动。
V1:
此脚本的目的是验证数据集中的图像,检查在下采样过程中是否丢失过多细节。最好保留高分辨率图像,以便未来复用,无需使用下采样后的图像。这样做对训练没有任何好处。
脚本会要求你输入桶参数。在 LORA Easy 训练脚本中(我不确定 Kohya-SS 是否相同),默认参数如下:
对于 SD1.5:
- 训练分辨率:512
- 最小分辨率:256
- 最大分辨率:1024
- 步长:64
对于 SDXL(可能有所不同):
- 训练分辨率:1024
- 最小分辨率:512
- 最大分辨率:2048
- 步长:128
脚本是递归的,会处理所有子文件夹中的图像。我还忘了移除转换部分,因此它能处理大多数图像格式并输出 PNG。
脚本的工作原理是:根据图像的宽高比计算最大的可用桶尺寸,然后下采样并居中图像,若有剩余空间则用白色填充。
使用步骤:
将脚本放入一个文件夹中。
将图像文件夹放入该文件夹内。
右键点击 PowerShell 脚本,选择“执行”。

依次输入每个所需参数,每输入一个按一次回车。

按回车,所有子文件夹中的图像都将生成新的调整尺寸副本。
检查图像质量。若任何图像看起来质量差或丢失过多细节,请回到原始图像,进行裁剪或从数据集中删除。请记住:每一块空白、无关元素、白色背景都是浪费的像素,这些像素本可用于角色面部等关键细节。特别注意全身图像,它们在下采样时最容易丢失细节。
处理完成后,直接删除下采样图像——如果你原本就有高质量的高分辨率图像,就不要用它们来训练。
注意:我希望不需要额外权限,但我的环境经过较多自定义,可能仍会提示。

