Diffusers ControlNet 条件图配对与验收清单
ControlNet 训练效果不稳定时,先检查的通常不是训练参数,而是每一张控制图是否真的对应目标图。下面用可复制的文件规则、字段模板和固定测试表,建立可复查的数据准备流程。
先确定一种控制条件
一个训练集应先只服务一种主要控制信号,例如边缘、姿态或深度。不同条件的灰度含义、细节密度和容错范围不同,混在同一批样本里会让训练目标变得模糊。
- 写下控制类型与预期作用:锁定轮廓、人体骨架,或场景前后关系。
- 确定目标图的主题范围,例如人物半身像、产品静物或室内空间。
- 准备可追溯的原始图目录,保留筛选前文件,避免覆盖。
- 决定统一的输出尺寸、色彩模式和裁切规则,并全程执行同一规则。
资料包中的 Hugging Face Blog 索引收录了 ControlNet 与 Diffusers 相关主题;具体训练脚本、参数和兼容范围应以实际使用版本的官方说明为准。
建立一对一的图像配对规则
Diffusers ControlNet 条件图的核心是同一画面中的结构关系。条件图应从对应目标图生成或逐项核对,不能用“看起来类似”的另一张图替代。
- 为目标图分配稳定样本编号,如 sample_0001。
- 从该目标图生成或导出对应控制图,沿用相同编号。
- 检查两张图的宽高、方向、裁切区域和主体位置是否一致。
- 并排查看:目标图中的主要人物、物体或空间边界,应能在条件图中找到对应结构。
- 将无法确认对应关系的样本移入待复核目录,不要直接进入训练集。
边缘图配对尤其要注意裁切后主体边缘是否被截断;姿态控制图则要核对关键肢体是否缺失、重叠或落在错误位置。
使用统一字段记录样本
文件名解决定位问题,字段表解决复查问题。可用 CSV、JSONL 或数据库保存以下最小记录。
| 字段 | 示例 | 用途 |
|---|---|---|
| sample_id | sample_0001 | 关联同一对文件 |
| target_path | targets/sample_0001.png | 目标图位置 |
| condition_path | conditions/sample_0001.png | 条件图位置 |
| condition_type | edge | 控制信号类别 |
| caption | 室内桌边的陶瓷杯 | 目标图文字描述 |
| width_height | 1024x1024 | 尺寸复核 |
| split | train | 训练或测试划分 |
| review_status | passed | 人工检查状态 |
描述文字应描述目标图可见内容,不要把条件图提取方式、文件路径或未确认属性写进文本。若图中存在不确定物体,宁可写得保守。
用小样本演练完整流程
例如制作“桌面产品边缘控制”数据:选择一张杯子位于桌面左侧的目标图,生成对应轮廓图;两张图都裁成同一画幅,杯口、杯身和桌沿的位置应对齐。表格中填写相同 sample_id,并将文字描述写为“木桌上的浅色陶瓷杯,侧面光线”。
固定测试集不要从训练样本中临时抽取。可先保留少量从未参与训练的样本,覆盖以下变化:
- 主体居中与偏侧构图;
- 简单背景与复杂背景;
- 近景与较远视角;
- 条件线条清晰与细节较多的画面。
若还在整理通用图文训练素材,可参考Diffusers LoRA 微调的素材与验收思路,但条件配对仍需单独检查。
训练后按故障定位数据问题
常见故障:生成图不跟随轮廓或姿态。原因可能是条件图与目标图错配、裁切位置不同,或混入多种控制类型。修正动作是抽查失败样本的原图、条件图和字段记录,移除错配项,再只保留一种条件类型复测。
常见故障:主体位置正确但细节明显变形。原因可能是目标图本身存在模糊、遮挡或不合理结构,条件图也保留了噪声。修正动作是标记低质量对,替换为主体边界清楚、构图可读的样本,并重新生成控制图。
常见故障:训练结果只会复现少数构图。原因可能是数据集中主体位置、视角或背景过于集中。修正动作是统计字段中的构图类别,补充不同位置与尺度的配对样本,同时保持控制类型不变。
发布前验收清单
- 每个训练记录都有且只有一个目标图和一个条件图路径。
- 抽样打开文件后,编号、尺寸、方向和裁切区域一致。
- 条件类型字段统一,没有把边缘、姿态和深度样本混为同一标签。
- 文本描述只对应目标图可见内容,未加入无法核对的信息。
- 固定测试样本与训练集隔离,且已记录提示词、随机种子和生成设置。
- 对比结果时同时检查控制遵循度、主体完整性、构图稳定性和明显伪影。
- 失败样本、移除原因和数据版本已归档,可回溯到原始文件。
下一步
把这篇的方法练一遍
提示词和步骤可以带到创作里直接试做一版。