type
status
date
slug
summary
tags
category
icon
password
我有一个疑问,我不太确定是不是存在这种情况,同样的提示词,不同照片也会有不同的效果,那么我在测试的时候该如何确定使用哪组提示词呢?毕竟对于这张图片效果好的提示词,其他图片又不一定好。
以下是我提出的一种目前的可能性,我认为这个问题的根本解决方案还是要通过半监督学习不断用badcase去优化模型本身的能力。
如果只说方案有些概念还是过于模糊,所以以下都以发型生成的模型测试为例来说明。

一、测试集

1. 基础:基础测试集(结合经验随机挑图)

通过基础测试集,大概掌握该模型的出图特征、风格、效果盲区(如某些模型在绘制手部、配饰等等效果不佳),帮助下一步进行精细化+结构化的划分和筛选专业的测试集。
选取一组 多样化的头像图(比如 10 张),这些图尽量覆盖常见情况:
  • 头发长/短
  • 深发/浅发
  • 直发/卷发
  • 正脸/侧脸
  • 发量多/发量少
这样能观察出 prompt 在各种原始条件下的表现。

2. 进阶:从“变量分布”出发设计测试集(而不是随机挑图)

结合前期的基础测试的经验,把可能影响效果的因素列出来,然后确保每种类型都被覆盖到。换句话说,不是“随便挑10张图”,而是把可能影响效果的因素列出来,然后确保每种类型都被覆盖到
可量化的变量维度:
维度
分类
性别
男 / 女
发量
浓密 / 普通 / 稀疏
发型
长发 / 短发 / 中长 / 卷发 / 贴头 / 离头
发际线
低/标准/偏高/高
颅顶高度
低/标准/高
头型
圆头 / 尖头 / 瓜子脸 / 扁头 / 后脑勺饱满
角度
正脸 / 微侧脸 / 侧脸
肤色光线
明亮肤色 / 偏暗肤色 / 暗光 / 高光环境
照片质量
高清 / 模糊 / 有背景干扰
👉 每个维度挑1~2种代表图像,构成一个高覆盖率的小型测试集(比如控制在20张以内,便于高效迭代)。

3. 对每组 prompt 建立「Prompt → 图像标签 → 效果评分」的映射表

Prompt Name
图像编号
发型贴合度
发型美观度
头型协调性
总体评分
备注问题
buzzcut-v1
#001
3
4
4
3.7
太厚重
buzzcut-v1
#002
2
5
2
3.0
保留原发根
buzzcut-v2
#002
4
4
4
4.0
整体偏黄
“基础测试集”虽然是一个起点,但它不能完全覆盖所有变量和情况,特别是要做的是换发型这种“强依赖底图”的任务。

二、对失败情况再细调Prompt

用相同的 prompt 在这组图上做测试
比如测试 "bleached buzzcut" 这个 prompt,就拿这 10 张图全都跑一遍,观察:
  • 哪些图生成得好(说明 prompt 对这类图有效)
  • 哪些图失败了(可能需要单独调试)
比如发现:
  • 对黑长直发的人,bleached buzzcut 很难覆盖 → 可能需要加强描述,例如加 very short hair, shaved look
  • 对头发很蓬的人,剪不干净 → 可加入 tight to the scalp, smooth outline
最终就能得到:
  • 一个对多数情况都「够用」的主 prompt
  • 若干个针对特殊情况的小优化 prompt(根据特征微调)

三、上线版本设置「提示词适配策略」

不同图匹配不同 prompt 模板(可手动,也可半自动)
比如:
  • 图像分析后判断是长发女 → 用 buzzcut prompt A
  • 发型贴头短发男 → 用 buzzcut prompt B
这样在工程上就能提升整体稳定性。
经济的解决方案就是加再多的判断条件,但是根本的解决方案还是要提高基础模型的生图实力和逻辑,通过半监督学习的机制用badcase来不断优化模型,使其适配性和泛化能力更强。

四、收集用户上传图像的真实分布,按实际使用高频去优化

测试集只是模拟,最终还是要根据真实用户上传的图片类型做反向建模,例如:
  • 大部分是正脸自拍
  • 女性偏多
  • 发量中等
先用 log 或人工标注统计一下用户上传图的分布类型,再反向优化 prompt 的适配范围和主力方向。
 
SD Prompt基础知识思考|“信息感知工具”的演进方向
Loading...
Jinxia Wang
Jinxia Wang
最近更新
天津——世界文化大交融
2025-9-14
济州岛——从樱花到海浪
2025-9-5
雄安新区——探访“千年大计”
2025-8-31
苏州——荣升为我访问最多次的城市
2025-8-29
思考|“信息感知工具”的演进方向
2025-8-15
方法论|Prompt测试方法框架
2025-8-14