4.1 文本到图像生成


4.1 文本到图像生成

文本到图像把用户的一句话变成一幅图:文本编码器把提示词转成语义向量,经条件注入进入扩散去噪,在潜空间逐步擦出与语义对齐的画面。本节给出一条可运行的文生图链路,并围绕提示词写法与 CFG 手感到位。

"给我画一只戴小帽的橘猫。"——这句话现在能换来一张几乎以假乱真的图。但有意思的是,很多人第一次用文生图时,感觉像请一位听不懂人话、又极度较真的画师:你给了很具体的要求,它却给你一只有三只眼睛的猫。究其原因,在于"自然语言→视觉细节"这条翻译线既要模型懂词,又要它懂画,而这两者之间的缝隙,正是 2.5 条件生成、3.1 LDM 这两座地基要填的。这一节把它们组装成你能实际跑起来的功能。

从一行文字到一张图:整条流水线

文生图的骨架可以写成五步。第一,提示词进入文本编码器(如 CLIP 的文本塔),变成一组语义向量;第二,这组向量作为条件注入扩散去噪网络(UNet 的注意力层,潜空间战场);第三,从一个随机噪声潜变量起步,模型在文本条件下逐个去噪刚刚得到的半成品;第四,把去噪完成的潜变量交给解码器,解回像素;第五,得到成图。消融下去看,真正在听"你的句话"的是第一、二步,真正决定"画得好不好"的是第三、四步。

把这几步用段落连线的形式看清楚:

提示词:跟一位较真画师说话

跟这位"画师"沟通有它自己的语法。经验法则:越具体、越分主次,成片越贴你的意图。比如"一只猫"远不如"一只胖橘猫蹲在窗边,午后阳光,浅景深,写实摄影风格"来得可预测。常见有效结构是"主体 + 姿态/动作 + 环境光线 + 镜头与画风 + 关键词排前"。反过来,堆砌一堆互相矛盾或含义模糊的词,会让画师无所适从,输出偏到另一头。

引导强度 CFG 也是同一课堂里的重点旋钮。低 CFG(约 4 到 5)让模型更遵从自己的先验,风格更自由、但也更可能跑题;高 CFG(约 7 到 9)死死压着你的词,忠实但容易僵化、过度饱和。你要做的是在"忠实 vs 自然"之间走钢丝,这就是文生图最基本的"手感"。

一段能让它跑起来的最小流程(示意,参数为真区间):

def text_to_image(pipeline, prompt, seed=1, cfg=7.5, steps=30): # 文本 → 向量 tokens = pipeline.tokenize(prompt) cond_emb = pipeline.text_encoder(tokens) # 空提示作为无条件分支,配合 CFG uncond_emb = pipeline.text_encoder(pipeline.tokenize("")) # 从噪声潜变量起步,按步数去噪 latents = pipeline.randn_like_noise(seed) latents = pipeline.denoise(latents, cond_emb, uncond_emb, cfg, steps) return pipeline.decoder(latents)

通病与停留在哪一步

新人最容易在这种地方踩坑:一是种子忘设或设了又乱换,导致同一句话每次出不同的图却误以为随机"玄学"——其实都是某个潜在种子的确定性结果;二是把提示词的锅甩给模型"智商不够",其实是你给的词本身就含混;三是 cfg 一上来就拉满,成片全部烧焦发糊。要训练自己的调参直觉,最好的办法是固定一行词,只动一个参数(步数、cfg、种子各控一项),逐个观察变化,这才是可控微调的正确姿势,而不是三个按钮一起乱拧。

⚠️ 常见坑:大跳步数或 cfg 飙高,成片不是糊就是硬;先建基线,再单变量微调,才是稳定可复制的做法。
💡 关键直觉:文本到图像的本质是"让模型在你给的语义范围内,沿着它训练时看到的风景去想象"——越具体越贴近你想让它停下的位置。

扩充一步:批量与负面词

实战里还有两个顺手小技巧。批量生图:一次跑多张再筛,能显著提高"命中你要"的概率,因为模型的多样性有上限。负面提示:告诉模型"不要什么"能砍掉大量常见伪影,例如在负面区写"模糊、变形、多余手指",常能去掉一根多余手指或一团糊底。这两个技巧不改变链路,但能把你的"命中率"显著拉高,是低门槛高回报的显学。

分辨率与细节的权衡

模型默认输出的分辨率通常不是任意调的,它和训练时的尺寸绑在一起。硬把出图拉到一个没见过的尺寸,往往得到构图失衡或重复图案。稳妥的做法是先在模型擅长的原生分辨率训练与出图,需要大尺寸时再用超分或外补(第五章)在后续阶段放大。另一个细节是"主体越简单,小尺寸越稳;画面越满、物件越多,越需要更大分辨率才有地方放细节"。写词时心里要有数:你想要的复杂度,模型要在多大画布上才铺得开。别小看这条,新手一半的"为什么它画错结构"其实都源于在过小的尺寸上硬塞过密的要求。

控制变量的排查顺序

当生成结果不对劲时,别慌也别乱试,按因果顺序排查:先看提示词是否自相矛盾或含混,再看 cfg 是否拉得过猛,再看采样步数是否压得过低,最后再看是不是种子与随机性造成的偶发翻车。把这条顺序背下来,你会比大多数"乱按一阵碰运气"的使用者更快定位问题,也更快形成稳定的出图手感。

一段关于"手感"的话

文生图玩久了你会发现,技巧再多,最后拼的还是"手感"——一种对"这台模型要怎么被讲话"的直觉。它不是天生的,而是靠一遍遍固定变量、观察变化的实验喂出来的。每次只动一个旋钮、把结果记下来,几轮之后你就摸清了这台模型的脾气:它吃什么词、怕什么词、cfg 多少开始发糊、步数多少开始浪费。别急着追求"一次到位",把每个改动当作在给这台画师存档,你才能真正驾驭它而不是被它的随机性耍得团团转。

本节要点回顾

  • 五步链路:文本编码 → 条件注入 → 噪声采样循环 → 解码 → 成图。
  • 提示词语法:主体+姿态+光线+画风+前排关键词,具体才可预测。
  • CFG 手感:低→自由、高→忠实,7 到 9 常见,但别上瘾拉满。
  • 调试纪律:固定一行词、单变量微调,种子与步数各自可控。
  • 实用技巧:批量出图配负面提示,能显著提命中率又省时间。

文生图是无中生有的起点,接着看"图像到图像"——怎么把一张已经存在的草稿或照片,好的坏的都把它领到下一站。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U