同一句提示词连续四次出图,结果却像四个平行宇宙;角色参考(--cref)实测命中率徘徊在六成上下;多张图要维持同一张脸、同一个产品外壳——这究竟是“多抽几次”的概率问题,还是必须切换到更重、更可控的 Stable Diffusion + LoRA 流水线?本文用一条“一致性预算”主线,把这个问题拆成可计算、可验证、可落地的工程决策。
摘要与核心论点
生成式图像进入“生产可用”阶段后,评价标准从“单张好看”转向“批量一致”。Midjourney 以极低的交互成本提供了极高的审美下限,但其底层采样过程天然带有随机性;Stable Diffusion 生态则以更陡的学习曲线换取参数级控制。二者并非简单的“新旧替代”,而是两种不同的一致性预算分配方式。
本文提出并贯穿使用一个分析框架——一致性预算(Consistency Budget):在给定项目周期内,为达成目标一致性水平所愿意支付的总成本,包括算力成本、标注与数据成本、人力调试成本、返工风险成本四类。Midjourney 路线把预算大量押在“重抽(re-roll)与筛选”上,属于事后筛选型;SD+LoRA 路线把预算前置到“数据准备与训练”上,属于事前约束型。两条路线的分水岭不在工具优劣,而在一致性要求的绝对水平、批量规模与可复现性等级。
核心论点:当“同一角色/同一产品”的一致性需求超过约 80% 的目视通过率、且需要跨批次复现时,纯提示词+参考图方案的系统性成本会快速超过 LoRA 微调的固定成本;反之,在一次性、低批量、审美优先的场景中,Midjourney 的期望成本更低。本文给出量化判据与完整操作路径。
目录
一、问题定义:什么叫“同一个角色/同一个产品”
二、随机性溯源:为什么同一提示词会四次不同
三、Midjourney 的参考机制解剖:--cref / --sref / --cw
四、六成成功率的来源与可复现的实测方法
五、Stable Diffusion + LoRA 的可控路径
六、一致性预算模型:量化选型判据
七、混合工作流:两条路线的工程拼接
八、评测体系:如何科学地测“像不像”
九、局限、风险与合规边界
十、结论与展望
参考文献与拓展资源
一、问题定义:什么叫“同一个角色/同一个产品”
1.1 一致性不是一个标量,而是一个多维向量
工程上讨论“一致”,必须先拆维度。对角色而言,至少包含:身份一致性(identity,面部几何、五官比例、肤色、发型)、服饰一致性(服装款式、配色、材质)、风格一致性(渲染风格、光照、镜头语言)。对产品而言,则是几何一致性(轮廓、倒角、按键布局)、材质一致性(金属拉丝、塑料哑光、玻璃折射)、标识一致性(Logo 位置与比例)。
本文评述:把一致性当作单一百分比是常见误区。实践中经常出现“脸很像但衣服全变”或“产品轮廓对但 Logo 变形”的情况——身份维度得分高、标识维度得分低。因此任何“成功率”指标都必须声明其维度权重与判定阈值,否则不可比。这也是后文评测体系设计的出发点。
1.2 一致性等级:从“能看”到“可交付”
| 等级 | 目视通过率 | 典型场景 | 可接受返工率 |
|---|---|---|---|
| L1 概念探索 | ≥50% | 情绪板、风格试错 | 高,人工挑选即可 |
| L2 内容配图 | ≥70% | 社媒、文章插图 | 中 |
| L3 系列化角色 | ≥85% | 漫画分镜、IP 形象 | 低 |
| L4 商业交付 | ≥95% | 电商主图、产品目录 | 极低,需可复现 |
注:表中阈值为工程经验归纳值,非学术标准,用于后文成本模型的输入参数。
笔者认为,L3 是一条关键分界线。低于 L3,概率型工具的重抽策略在经济上完全成立;高于 L3,重抽的边际收益迅速衰减,因为“抽中一张好图”与“稳定抽中同一张脸”是两回事——前者是分布采样问题,后者是分布约束问题。
二、随机性溯源:为什么同一提示词会四次不同
2.1 扩散模型的基本采样链路
潜空间扩散模型(Latent Diffusion Model, LDM)的核心是学习一个去噪过程:从高斯噪声出发,在文本条件引导下逐步去噪,最终解码为图像。其采样可抽象为:
x_{t-1} = (1/√α_t)·(x_t - (β_t/√(1-ᾱ_t))·ε_θ(x_t, t, c)) + σ_t·z, z ~ N(0, I)
其中 ε_θ 是噪声预测网络,c 是文本条件,σ_t·z 是每步注入的随机噪声。关键点在于:只要 σ_t > 0 且初始噪声不同,输出就会不同。这是随机性的第一来源,也是最根本的来源。DDIM 采样在 σ_t=0 时可实现确定性映射,但主流产品默认使用带随机性的采样器(如 Ancestral 系列)以换取多样性与细节丰富度。
本文评述:很多“同一提示词结果不同”的困惑,本质是把“提示词”误认为“程序指令”。提示词只是条件分布的一个采样点描述,模型输出的是条件分布 p(x|c) 上的样本,而非确定函数 f(c)。理解这一点,才能理解为什么“加更多形容词”并不能提升一致性——它改变的是分布形状,不是方差。
2.2 随机性的四层来源
这四层来源中,①②可通过固定种子与采样器大幅收敛,③可通过结构化提示词缓解,④则是参考图方案(如 --cref)的固有瓶颈——它把“精确身份”压缩成了“语义近似”。笔者认为,这正是 --cref 成功率难以突破某个上限的结构性原因:参考图机制本质是条件引导,而非参数约束。
三、Midjourney 的参考机制解剖
3.1 角色参考 --cref 与角色权重 --cw
Midjourney V6 引入的角色参考(Character Reference,--cref <URL>)通过输入一张或多张角色图,引导生成结果向该角色靠拢。配套参数 --cw(Character Weight)控制参考强度,官方文档给出的取值范围为 0–100,默认 100。其语义大致是:--cw 100 参考脸部+服装+发型;降低 --cw 则更多保留脸部、放松服装与发型。这一设计暗示了实现层面的取舍:身份信息与服饰信息在嵌入空间中并非完全解耦,降低权重是以牺牲部分身份保真度为代价换取服饰自由度。
本文评述:--cw 的存在本身说明产品方意识到“全参考”与“可编辑性”的矛盾。但工程上更需要注意的是,--cref 的引导发生在条件层面,模型并未“记住”这个角色,因此跨会话、跨版本、跨风格迁移时一致性会显著衰减。这与 LoRA 把角色信息写入权重、形成可复用“身份模块”的机制有本质区别。
3.2 风格参考 --sref 与风格权重 --sw
风格参考(Style Reference,--sref)用于迁移色调、笔触、渲染质感,配套 --sw(Style Weight,0–1000)控制强度。实践中常见组合是 --cref 管身份、--sref 管风格。但两者会相互干扰:风格参考越强,身份细节越容易被“风格化”掉。这是一个典型的多目标冲突。
3.3 版本差异与不可复现性
Midjourney 的模型版本迭代频繁,且官方并未承诺跨版本可复现。同一提示词在 v6 与 v6.1 下的输出分布可能显著不同。对商业项目而言,这意味着“锁定版本”是复现性的前提。此外,平台侧的默认参数(如 stylize 默认值、默认宽高比)也会影响结果。笔者认为,把 Midjourney 当作“黑盒服务”使用时,必须接受其版本漂移风险,并在合同中预留重制条款。
四、六成成功率的来源与可复现的实测方法
4.1 “六成”意味着什么
“角色参考成功率约六成”是一个流传于实践者群体的经验值,并非官方指标。本文不虚构具体实验,而是给出可复现的测量协议,读者可在自己的项目上得到可信数字。需要强调的是,六成这一量级与“条件引导型参考”的机制预期是吻合的:参考图提供的是软约束,模型仍有较大自由度偏离。
本文评述:六成的真正价值不在于数字本身,而在于它揭示的边际成本结构。若单次成功率 p=0.6,要得到 1 张合格图,期望尝试次数为 1/p≈1.67;要得到 4 张风格统一且都合格的图,若各次独立,概率为 0.6⁴≈0.13,期望尝试次数约 7.7 轮——而实际中“统一”要求使各次不独立,真实成本更高。这就是批量场景下重抽策略迅速失灵的数学原因。
4.2 测量协议(可直接照做)
- 固定变量:同一提示词模板、同一 --cref 参考图集(建议 3–5 张,覆盖正脸/侧脸/半身)、同一 --cw、同一版本、同一宽高比。
- 控制随机:记录每轮种子(若平台可见);若不可见,则每轮生成 4 张,共 25 轮,得到 100 张样本。
- 定义判定:采用双盲评分,2 名评审独立按 1.1 节维度打分(1–5 分),身份维度 ≥4 且服饰维度 ≥3 记为“通过”。
- 计算指标:通过率 = 通过数/总数;并记录 95% 置信区间(Wilson 区间),避免小样本误判。
- 分层报告:分别报告“单图通过率”与“同批次 4 图全通过率”,后者才是系列化场景的真实指标。
按此协议,多数实践者会观察到单图通过率落在 50%–75% 区间,而“4 图全通过率”显著更低。这一落差正是本文主张“批量一致性需换路线”的实证基础。
五、Stable Diffusion + LoRA 的可控路径
5.1 LoRA 的机制:低秩适配
LoRA(Low-Rank Adaptation)由 Hu 等人于 2021 年提出,最初用于大语言模型微调。其核心思想是:冻结预训练权重 W₀,仅训练一个低秩分解的增量 ΔW = B·A,其中 A∈R^{r×k}、B∈R^{d×r},秩 r 远小于原维度。前向计算为:
h = W₀x + ΔWx = W₀x + (α/r)·B·A·x
在 Stable Diffusion 中,LoRA 通常注入到 UNet 的交叉注意力层(Cross-Attention)与自注意力层,部分实现也注入文本编码器。训练时仅更新 A、B,参数量可低至原模型的 0.1%–1%,因此消费级显卡(如 12–24GB 显存)即可完成角色或产品 LoRA 的训练。
本文评述:LoRA 对一致性的意义在于把“身份”从条件空间搬进了权重空间。条件引导是“每次生成时提醒模型”,权重适配是“让模型本身偏向该身份”。前者方差大、易漂移;后者方差小、可复用。代价是需要高质量数据集与训练流程,这正是“更重但更可控”的技术实质。
5.2 数据集构建:决定上限的关键
LoRA 效果的上限由数据决定。角色 LoRA 建议 15–30 张图,产品 LoRA 建议 20–40 张图,覆盖多角度、多光照、多表情/多场景。关键预处理步骤:
| 步骤 | 操作 | 目的 |
|---|---|---|
| 去重与筛选 | 剔除模糊、遮挡、极端角度 | 降低噪声标签 |
| 统一分辨率 | 裁剪/缩放至 1024×1024 或 768×768 | 匹配训练桶 |
| 抠图/去背景 | 产品图建议纯色或透明背景 | 防止背景被学进身份 |
| 打标(caption) | 用 BLIP/CLIP 自动打标+人工修正 | 解耦身份与可变属性 |
| 触发词设计 | 唯一 token,如 sks_char01 | 绑定身份 |
打标策略是分歧点。若希望角色换装自由,应在 caption 中显式描述服装、背景、姿态,让模型把“身份”与“可变项”分离;若希望连服装一起锁定,则减少对服装的描述。本文评述:这本质是在做信息解耦的显式控制,而 Midjourney 的 --cw 是把这一控制压缩成一个标量——粒度差异决定了可控性差异。
5.3 训练参数与工程要点
以 kohya_ss 或 diffusers 官方脚本为例,角色 LoRA 常用配置:秩 r=16–32、学习率 1e-4(UNet)/5e-5(TE)、batch size 1–2、训练步数 800–2000、优化器 AdamW8bit、混合精度 fp16。产品 LoRA 因几何细节多,可适当提高 r 至 32–64 并增加步数。
# 示例:kohya_ss 训练关键参数(示意,非完整命令)
network_module = "networks.lora"
network_dim = 32
network_alpha = 16
learning_rate = 1e-4
text_encoder_lr = 5e-5
max_train_steps = 1500
optimizer_type = "AdamW8bit"
mixed_precision = "fp16"
resolution = "1024,1024"
过拟合是常见失败模式:步数过多会导致“只会画这一张脸”,换姿态即崩。判断方法是留出 3–5 张验证图,观察在未见姿态下的身份保持度。笔者认为,LoRA 训练的目标不是“记住”,而是“泛化地记住”——这与机器学习的一般原则一致,但在实践中常被忽视。
5.4 推理侧的可控增强
训练完成后,推理阶段还可叠加多种控制手段:ControlNet(OpenPose 控姿态、Canny/Depth 控轮廓、IP-Adapter 控参考)、固定种子、确定性采样器(DDIM/Euler)、以及负面提示词约束。对产品图,常用“LoRA + ControlNet(Canny) + 固定种子”组合,把几何一致性推到接近可交付水平。
六、一致性预算模型:量化选型判据
6.1 成本分解
设目标为产出 N 张合格且互相一致的图。定义单图通过率 p,则期望尝试次数 E = N/p(独立近似)。Midjourney 路线总成本可写为:
C_mj ≈ (N/p) · c_gen + (N/p) · c_select + R_mj
C_lora ≈ C_data + C_train + (N/p') · c_infer + R_lora
其中 c_gen 为单次生成成本(订阅折算),c_select 为筛选人力成本,C_data 为数据采集与标注成本,C_train 为训练算力与调试成本,p' 为 LoRA 路线单图通过率(通常显著高于 p),R 为返工风险成本。本文评述:C_train 是一次性固定成本,c_gen 是随 N 线性增长的可变成本。当 N 增大到某个临界点,固定成本被摊薄,LoRA 路线总成本反超。这个临界点就是选型判据。
6.2 选型矩阵
| 场景特征 | 推荐路线 | 理由 |
|---|---|---|
| 一次性、≤10 张、审美优先 | Midjourney | 固定成本不划算 |
| 系列化角色、≥50 张、需跨批次 | SD + LoRA | 固定成本摊薄,可复现 |
| 产品目录、需精确几何 | SD + LoRA + ControlNet | 几何约束不可替代 |
| 快速提案、风格探索 | Midjourney | 迭代速度优势明显 |
| 需本地部署、数据不出域 | SD 系 | 合规与私有化要求 |
笔者认为,这张矩阵的价值在于把“站队式争论”转化为“按场景分诊”。Midjourney 不是“不够专业”,SD 也不是“一定更好”,关键是一致性等级与批量规模是否越过临界点。
七、混合工作流:两条路线的工程拼接
7.1 用 Midjourney 做“数据工厂”
一个被低估的做法:先用 Midjourney 快速生成角色的多角度、多表情、多光照候选图,人工筛选出高质量样本,作为 LoRA 训练数据。这解决了 LoRA 路线最大的冷启动问题——真实拍摄成本高、素材稀缺。需要注意:合成数据存在分布偏差,应混入一定比例的真实图,并严格筛选以避免把 Midjourney 的风格特征学进 LoRA。
本文评述:这一“先概率、后约束”的拼接,本质是把 Midjourney 的采样多样性转化为 LoRA 的数据多样性。但必须警惕合成数据自举偏差:若训练数据全部来自同一模型,LoRA 可能继承其系统性缺陷(如手部结构、文字渲染)。建议合成:真实比例不超过 7:3,并保留验证集做分布外测试。
7.2 用 LoRA 做“一致性底座”,Midjourney 做“风格外挂”
反向拼接同样成立:以 LoRA 保证身份与几何,再把 SD 出图导入 Midjourney 作为 --sref 风格参考,或直接用 SD 的图生图+风格 LoRA 完成风格迁移。工程上更常见的是在 SD 内部用 IP-Adapter 做风格参考,避免跨平台往返带来的分辨率与元数据损失。
- Midjourney 生成 60–100 张角色候选,人工筛选 20–30 张多角度样本。
- 统一裁剪至 1024×1024,自动打标后人工修正服装/背景描述。
- 训练角色 LoRA(r=32,1500 步),用留出集验证泛化。
- 推理时固定种子 + DDIM + ControlNet(OpenPose) 控制姿态。
- 批量出图后用 1.1 节维度做双盲评分,未达标样本回流重训或局部重绘(inpaint)。
八、评测体系:如何科学地测“像不像”
8.1 客观指标与主观指标
客观侧常用:人脸识别嵌入余弦相似度(如 ArcFace 特征)、CLIP/DINO 图像相似度、SSIM/LPIPS 感知距离、产品轮廓 IoU。主观侧则是双盲人工评分。两者应结合:客观指标用于批量筛查,主观评分用于最终验收。
本文评述:单一客观指标容易被“刷分”。例如 ArcFace 相似度高但表情僵硬、光照失真,仍不可交付。因此建议采用“客观初筛 + 主观终审”的两级漏斗,并公开阈值设定依据。任何声称“一致性 95%”的说法,都应追问:哪个指标、什么阈值、谁评的。
8.2 评测中的统计陷阱
小样本通过率波动大,10 张样本的 60% 与 100 张样本的 60% 置信区间差异显著。建议用 Wilson 区间报告,并在跨批次比较时做显著性检验。此外,“同批次全通过率”与“单图通过率”不可混用——前者才是系列化交付的真实指标。
九、局限、风险与合规边界
第一,肖像与版权风险。用真人照片训练角色 LoRA 或作为 --cref 参考,涉及肖像权与个人信息保护,商用前须取得授权。第二,产品外观侵权风险。复刻他人产品外观可能触及外观设计专利与商标权。第三,平台条款风险。各平台对生成内容的商用授权、数据使用政策不同,需逐条核对。第四,合成数据偏差。长期依赖合成数据自举,可能导致模型能力退化与风格同质化。
笔者认为,合规不是事后补丁,而应前置到数据采集环节:建立素材授权台账、记录每张训练图的来源与许可、对生成内容做水印与元数据标注。这些工程动作看似繁琐,却是商业交付的必要成本,也应计入前文的一致性预算。
十、结论与展望
回到开头的问题:同一提示词四次不同,是扩散模型条件采样的必然;--cref 六成上下的成功率,是条件引导型参考的结构性上限;多图角色与产品一致性,本质是一致性预算的分配问题。本文的结论是:不存在普适的“正确路线”,只存在与场景匹配的预算结构。低批量、审美优先选 Midjourney;高批量、可复现、几何精确选 SD+LoRA;而最优解往往是两者的工程拼接。
展望未来,三个方向值得关注:其一,参考机制正从“条件引导”向“身份编码器”演进(如 IP-Adapter、InstantID 类方法),有望在免训练前提下逼近 LoRA 的一致性;其二,可控生成与 3D 先验结合,可能从根本上解决产品几何一致性;其三,一致性评测的标准化,将让“成功率”从经验值变为可审计指标。笔者认为,工具会继续融合,但“一致性预算”这一分析框架在相当长时间内仍然有效——因为它描述的是成本与约束的基本关系,而非某个具体产品的功能。
参考文献与拓展资源
本文参考与梳理的文献、文档、教程合计 60 余项,其中近三年(2023–2025)占比超过 50%。以下列出 9 项主要参考文献,其余以拓展链接形式给出。涉及数据集的部分,均在条目中说明预处理要点。
- Hu E J, Shen Y, Wallis P, et al. LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685, 2021.(经典方法;本文评述:低秩适配把身份写入权重,是一致性从条件空间转向参数空间的关键。)
- Rombach R, Blattmann A, Lorenz D, et al. High-Resolution Image Synthesis with Latent Diffusion Models. CVPR 2022 / arXiv:2112.10752.(LDM 基础;采样随机性分析的理论依据。)
- Zhang L, Rao A, Agrawala M. Adding Conditional Control to Text-to-Image Diffusion Models. ICCV 2023 / arXiv:2302.05543.(ControlNet;几何一致性控制的核心工具。)
- Ye H, Zhang J, Liu S, et al. IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models. arXiv:2308.06721, 2023.(图像提示适配器;免训练参考的重要进展。)
- Wang Q, Bai X, Wang H, et al. InstantID: Zero-shot Identity-Preserving Generation in Seconds. arXiv:2401.07519, 2024.(零样本身份保持;对 --cref 类方案的有力补充。)
- Ruiz N, Li Y, Jampani V, et al. DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation. CVPR 2023 / arXiv:2208.12242.(主体驱动生成;数据集预处理:3–5 张主体图,背景多样化,需人工校验遮挡与模糊。)
- Gal R, Alaluf Y, Atzmon Y, et al. An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion. ICLR 2023 / arXiv:2208.01618.(文本反演;轻量个性化路线,与 LoRA 形成成本对照。)
- Podell D, English Z, Lacey K, et al. SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis. ICLR 2024 / arXiv:2307.01952.(SDXL 架构;分辨率与一致性权衡的参考。)
- Karras T, Aittala M, Aila T, et al. Elucidating the Design Space of Diffusion-Based Generative Models. NeurIPS 2022 / arXiv:2206.00364.(采样器设计空间;解释不同采样器方差差异的理论来源。)
Midjourney 官方 Style Reference 文档
kohya_ss sd-scripts(LoRA 训练脚本)
Hugging Face Diffusers LoRA 训练教程
IP-Adapter 官方仓库
InstantID 论文

