做设计的朋友让我看一张图:画面里一只玻璃杯,杯壁高光的位置偏了一点。她在提示词里补了一句“把高光往左挪一点”,回车之后得到的是另一只杯子、另一种光,连桌面的木纹都换了。她要的是修改,模型给的是重来。
这个错位几乎每个用过图像生成的人都碰到过。文字擅长说“大概要什么”,却不太擅长说“在已经有的东西上动一小块”。而真实的设计工作,绝大部分时间恰恰花在后者。
一次生成,其实是一次整体重画
扩散模型的思路是从一团噪声出发,一步步去噪,直到画面成形。关键在于,这个过程是整张图同时收敛的,没有图层,没有选区,也没有“这根线属于杯子、那块颜色属于背景”的显式账本。提示词影响的是整幅画面的收敛方向,而不是某几个像素。
所以当你说“高光左移”,模型接收到的其实是“一张高光偏左的玻璃杯照片”这个整体描述,它完全可以忠实地照做——顺便把所有它认为该重来的部分也重来一遍。它没有违背指令,只是我们对“改”的理解和它的生成方式不在同一个层面上。
局部重绘解决了什么,又留下什么
遮罩重绘是目前比较实用的一条路:框出一块区域,只让模型在那里重新生成,其余部分锁住。它把“改一点”变得可行,但并不是终点。接缝处的光照方向、颗粒质感、景深过渡,常常还需要人来收尾;如果改动区域跨过物体边缘,边缘的连续性也容易露出破绽。
更微妙的是上下文。模型看到的往往只是被裁出来的那一块加上有限的条件信息,它不知道画面左侧有一扇窗,也就不容易把新加的高光和环境光对上。人眼对这种不一致极其敏感,即使说不出哪里不对。
真正难的是“可预期”
比起像素质量,我更在意另一件事:同一个提示词,今天和下周给出的结果可能相距很远;换个随机种子,构图就换了一套。对玩图的人是乐趣,对要把图交付出去的人是成本。工作流需要的是可复现——能回到昨天那一版,能在它基础上只动一处。
这也解释了为什么不少团队最后把图像生成放在流程的前段:用来快速看几种构图和气氛,定下方向后再由人接手细化。它不是不能改,而是每次“改”都带有重新协商的意味,沟通成本高过手工描一笔的时候,人自然会选择后者。
我隐约觉得,接下来一段时间里,图像生成的进步未必体现在单张图多惊艳,而更多体现在“指哪改哪”的精度上:选区能不能更贴合语义,编辑能不能保持角色与场景的连续性,版本能不能被稳定召回。这些都不算新鲜概念,却决定了它能不能从灵感工具变成日常工序里可信的一环。
回到那只玻璃杯。她最后没有继续跟提示词较劲,而是在导出后手动挪了高光。这不算失败,只是当下人机分工的一种诚实写法:让模型负责从无到有,让人负责那一点点偏移。