扩散模型 image to image

模型与算力

给图像生成入门者讲清扩散模型图生图的原理与用法:从加噪去噪到重绘强度、掩码与参考图,给出可直接照做的参数起点。

你手里有一张图,想改风格、换背景、修细节,可一上手就发现:改少了没变化,改多了原图结构全崩;参考图和重绘强度到底谁说了算也不清楚。这篇不铺原理教科书,先把图生图这条链路讲通,再给你一套调参顺序和降级方案,让你第三次出图就能对上预期。

你手里有张图,想改风格、换背景、修个小瑕疵,结果一上手就发现:改少了跟没动一样,改多了原图结构全崩;参考图到底起了多大作用、重绘强度该给多少,心里完全没底。这篇不讲扩散模型的数学推导,先把图生图这条链路说通,再给你一套能照着执行的调参顺序和翻车后的降级方案,目标是第三次出图就能大致对上预期。

先建立一个心理预期:图生图不是「一键变好看」,它更像一个可调的滤镜加半个重画工具。你给的每一张参考图、每一句提示词、每一个强度档位,都是在往不同方向拉结果。搞清楚谁在拉什么,比记住某个「最佳参数」有用得多,因为最佳参数永远跟你的原图和任务绑在一起。

图生图到底在做什么:和文生图的区别在哪

一句话链路:把参考图按某个程度加上噪声,再让模型从这团噪声往回一步步去噪,最后得到的图就带着原图的骨架,同时掺进提示词带来的新内容。所以「保留多少原图」这个问题,本质上是「往回退多少步、加多少噪声」,不是靠某个开关决定的。

重绘强度
决定从带噪图往回走的起点,档位越高越接近重画,原图细节保留越少
提示词
决定去噪往哪个方向拐,参考图给结构,提示词给内容和风格倾向
掩码
圈出允许改动的区域,圈外原样保留,是做局部修改最稳的手段
随机种子
固定它才能让同一组参数可复现,调参时不固定种子等于白调

注意这三个旋钮是乘法关系,不是各管一段。强度给低了,提示词写得再好也几乎看不出变化;强度给高了,掩码圈得再准也挡不住原图结构被推倒重来。所以调参永远是固定两个、只动一个,别同时改。

重绘强度怎么给:一套从保守到放开的调参顺序

最实用的做法是固定提示词、固定种子,只动强度,从低档往高档一档一档加。每出一次图,回看两个问题:原图结构还在不在,想要的改动到没到位。两个答案凑在一起,就能判断下一档该往上还是往回退。

强度档位典型效果适合的任务常见翻车
低档原图结构基本不动,偏调色和质感统一色调、轻微风格化、提升画质看起来「没反应」,误以为模型坏了
中档保留构图,材质光影画风明显变换光影、换材质、换画风主体边缘开始变形
高档原图只当构图参考,接近重画换背景、换主体呈现方式原图特征丢失,接缝处容易穿帮

判断标准不是「像不像原图」,而是你的任务目标:目标是改风格,就看风格到位没;目标是改某个物体,就看物体边界对不对。两者冲突时优先保任务目标,别为了像原图而放弃改动。

  • 参考图本身构图就乱、主体被遮挡严重时,高档只会放大原图的缺陷,不如先修图再进流程
  • 批量出图时别用单张的判断反复横跳,看整体倾向是否稳定
  • 同一档位在不同参考图上表现可能差很多,换图要重新试档,不要沿用上一张的结论
  • 强度调不动时先怀疑提示词太含糊,而不是一味往上加档

掩码、参考图与控制手段:让模型只改该改的地方

局部重绘时用掩码圈出范围,比全局硬调强度更稳,也更容易复现。关键是掩码边界留一点过渡区,硬边会留下明显接缝;圈得太紧,改动空间不够,模型会往边缘外溢,同样会花。

参考图和提示词的分工要清楚:参考图给结构和风格,提示词给内容和朝向。提示词太含糊时,低强度会显得毫无反应,其实不是强度问题,是模型没接到方向。这种情况下先补提示词,再考虑动强度。

  1. 定结构约束先用参考图或结构类控制手段锁住构图,确认主体位置和比例稳定后再往下走
  2. 定区域约束用掩码圈出允许改的范围,边缘留过渡,出图检查接缝是否干净
  3. 再调提示词在前面两步固定的前提下微调提示词,观察改动是否落在预期区域内
  4. 最后看强度前三步都稳定了还差味道,才回头微调强度档位,一次只动一档

不适用场景也说清楚:当任务本身是「照着原图重排布局」时,掩码加结构约束反而互相打架,这时该拆成两步——先重排结构,再回到局部修改流程。

一次可复现的出图流程与验收清单

起手四步:定任务(改风格还是改内容)、固定随机种子、选一档强度、只改一个变量再出图。这四步的价值在于,出问题时你能知道是哪一步变了,而不是面对一堆变量猜。

  1. 记下参数组合把参考图、掩码范围、强度档位、提示词版本一起存下来,同类任务下次直接从记录里的档位起步
  2. 验收三问主体边界是否干净、该保留的特征还在不在、批量出图是否有稳定倾向而不是靠单张碰运气
  3. 不行就降级结构保不住就把强度往低退一档,或拆成局部修改;改动到不了位就先补提示词再提强度

成本口径别靠猜。出图耗时、按次还是按量计费,各平台口径不同,具体数字到站内的比价页面核对当时的数字,别拿记忆里的旧印象做预算。同类工具的响应和稳定性差异也可以先跑一遍横向测试再决定用哪个。

翻车现象优先调整项次选方案
几乎没变化补提示词具体描述强度往上加一档
结构全丢强度往低退一档改用掩码限定范围
接缝明显扩大掩码过渡区拆成两步分别处理
同一参数结果飘忽固定随机种子换参考图重试
下一步把手上那张图按上面的顺序重新跑一遍,同时到站内工具目录挑两三个出图服务做同参数对比,谁稳谁省一眼就看得出来。

常见问题

图生图改完还是像原图,是不是模型不行?

先别怪模型。多数情况是重绘强度给低了,或者提示词没指向你想改的东西。按『固定提示词、只加一档强度』的办法逐次往上试,两三轮就能看出分界;如果高强度下结构也崩,那才是参考图或掩码的问题,不是模型能力问题。

为什么同样的参数,第二次出图就不一样了?

扩散过程自带随机性。想复现就必须固定随机种子,同时把参考图、掩码、强度档位和提示词版本一起记下来。换过其中任何一项,结果都会漂。做事要交稿的场景,建议从记录里的档位起步再微调。

图生图和局部重绘该用哪个?

看改动范围。整张图的风格、光影、材质要动,用图生图配强度;只改一小块内容(换招牌、换衣服颜色)用局部重绘加掩码更省事、更可控。两者也能叠加,但一次只加一个变量,否则出问题很难定位是哪一项造成的。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。