审查 AI 图像变换结果:再次迭代之前的一份清单

一套实用的 AI 图像变换审查流程:先写下通过条件,分别判断保留与改动,为缺陷命名,并在第一个通过的结果处停下。

审查 AI 图像变换结果:再次迭代之前的一份清单

大多数糟糕的图像变换过程并不是提示词的问题,而是审查的问题。有人生成一个结果,感觉它不对却说不出哪里不对,于是重写整个提示词再生成一次,这一次把原本已经正确的三样东西弄丢了。十分钟后,手上有五张各自错在不同地方的图,也说不清是哪一次改动造成了哪一个结果。

缺的那一步,是一种看待结果的方式,它以三种决定之一收尾:接受它、修改措辞,或者调整强度。这套例行做法嵌在两次生成之间,而不是生成过程之中。它还假定你已经知道自己想从照片里得到什么,而这与判断自己是否得到它,是两项不同的能力。

在生成之前写下通过条件

审查需要标准,而标准必须在图像出现之前就存在。先写一句话:这张图要成立,必须满足什么。同一个瓶子、同一块石面、同样的投影方向,但背景换成暖沙色而不是灰色。这句话有两半,两半都算数:你想要的改动,以及必须在改动中留存下来的东西。

这句话也能筛掉糟糕的请求。如果你的通过条件需要三个分句,分别讲氛围、光线和一种新材料,那这件事就是三次编辑假装成一次,没有任何单次审查能告诉你哪一部分失败了。把它拆开,保留源图,按顺序逐项执行。Adobe Firefly 的文本提示编辑器正是这样用的:它自己的演示就是把一条指令叠加在上一次的结果之上,先给一个花瓶改色,再加壁纸,然后给第四个花瓶加上花。每一步都有自己的通过条件和自己的审查。

如果你写不出这句话,你就还没准备好判断任何东西。到那一步,生成感觉像是在猜,因为它确实就是猜。

对每个结果依次问两个问题

看着输出,分别回答这两个问题。

第一,我要求改的东西真的改了吗?第二,我没有提到的所有东西,是否都留在原处?

它们是两个独立的问题,因为它们的失败也是独立的,而这两种失败的原因正好相反。改动缺失而保留完好,意味着指令太软或变换太怯:模型把你的照片当成答案,把提示词当成建议。改动到位而保留被破坏,则意味着相反的情况,模型有了自由度并且把它花掉了,重新设计了表面、光线和几何,因为没有任何东西把它们固定住。

基于扩散的 image to image 流水线让这件事变得机械。Hugging Face 的文档描述的是:初始图像被编码、加噪,然后朝着提示词的方向去噪,而强度设置决定原图有多少能在这场旅程中留存下来。引导系数随后决定结果多严格地遵循文本,数值越高,与提示词的对齐越紧,偏离的余地越小。审查时,你就是在从画面里读出这两股力量。改动太少是推力太弱。附带损伤太多,是推力很强却没有东西锚住它。

扁平示意图:两条交叉的细线把画面分成四个象限,每个象限里有一个扁平的小瓶子,分别保持原样、加上沙色背景、被倾斜、旁边多出一个琥珀色方块

一次只动一个旋钮,而那个旋钮通常是强度

结果不理想之后的第一反应是重写提示词。这往往是错误的第一步,因为它一次改变了好几样东西,却不告诉你哪一样起了作用。

如果提示词准确,只是改动没有落地,就提高变换强度。如果提示词准确,而构图漂得太远,就降低它。同一份文档讲清了那个数字的含义:强度越高,模型越有余地去产出与起始图像不同的东西;强度为 1.0 意味着初始图像或多或少被忽略,而较低的数值让输出更贴近你带来的那张照片。

这个旋钮并不只是算术,但算术值得了解。强度按比例决定施加多少去噪步,所以在五十步的基础上,0.8 的强度等于加上又去掉四十步的噪声。在区间顶端附近的移动会带来很大变化;同样幅度的移动放在底端,变化则很小。

KOOX 的 image to image 工具直接把这个控制暴露出来,描述方式也一样,强度更高带来更戏剧化的改动,强度更低则更贴近原图。当你的审查结论是“方向对,力度不够”时,它是第一个该动的东西。不该做的是在同一次尝试里既改强度又重写那句话。如果结果变好了,你不会知道是哪一处改动起的作用,下一张图就只能从猜测开始。

在重写那句话之前,先给缺陷命名

模糊的不满带来模糊的重试。给缺陷一个名字,而每个名字都有对应的具体修法。

替换的元素与周围交界处出现接缝或光晕:局部改动超出了模型能融合的范围,所以缩小区域或降低强度。纹理重复、图案呈瓷砖式平铺,或本该显得坚实的表面看起来像织物:描述材质及其表面处理,而不是描述图案,因为图案类的名词会被照搬而不是被理解。文字损坏、标签凭空出现、字形错乱:不要再让生成模型去复制它读不懂的字体,事后再把真正的文字合成上去。直线变弯、手指粘连、物体悬空:几何问题通常来自一句把词都花在风格而不是结构上的提示词,所以要说明什么在哪里、什么搭在什么上面。光线从两个方向来,或阴影指向错误的方向:用一句话讲清方向、柔硬和一天中的时段,让模型得到一种光,而不是一段关于光的描述。多出没人要求的物体:场景描述不足,于是被填补了,所以要有意识地交代空着的地方。

两分钟的命名通常能替掉三轮重新生成。它还把一次失败的尝试变成信息,而这正是重试唯一应该让你付出的代价。

按图像将被使用的尺寸来判断

任何图片缩成缩略图都显得可以接受。接缝消失了,编造的细节被读成纹理,指向错误的阴影根本看不见。所以要判断两次:一次在原始尺寸下检查边缘、人脸和文字,一次在实际呈现的尺寸下,一张店铺卡片、一个页头、一块手机屏幕。在原始尺寸下站得住的细节,可能在三百像素宽时消失;而在三百像素宽时看起来不算什么的细节,可能正是印刷被退回的原因。

平面示意图:同一张带框的照片,左侧以小尺寸呈现,右侧以大尺寸呈现,只有大尺寸那一版露出了一道细接缝

拿原图作比较,而不是拿上一次尝试作比较。记忆是不可靠的参照:每一次生成都会重置你对原图样子的感觉,四次尝试之后,你要保护的那个东西在你脑子里漂移的程度,和在文件里一样多。保留历史面板的编辑器解决了这个问题,它让你把任何早期版本打开在当前版本旁边,所以要有意识地把它当作比较工具,而不是一个用来滚动翻看的地方。

还有一个几乎不花成本的技巧:把图像镜像翻转,或者放五分钟再回来看。两者都能打断眼睛在盯了三十秒之后固定下来的模式匹配,也都能让那个你已经看不见的缺陷重新浮现。

在第一个通过的结果处停下

生成是抽样,不是修复。把同一个提示词再跑一次,是在一张新图上重新抛硬币,而不是一次增量修补;第十个样本并不比第四个更好,只是不同。

所以要定义停止。如果图像满足通过条件,而且你找出的缺陷在输出尺寸下不出现,它就完成了。用它,然后往下走。越过这个点继续迭代,是一次会话变成一个下午的方式,也是一个好结果被你说服自己接受的稍差结果替换掉的方式。

推论更重要。如果连续两次尝试都在同一个维度上失败,就停止生成,去修上游的东西。要么源照片支撑不了这个改动,因为分辨率不够、模糊,或物体的朝向不对;要么这个要求对一次处理来说太大,需要拆分。在未改变的设置上再做尝试,只会得到同样的失败和不同的噪声。

保留被接受的文件。被拒绝的尝试只有在教会了你什么时才值得保留;版本命名宁可写清改了什么,也不要用 final、final2 和 final-v3。

留一份五行的审查笔记

这些事一旦写下来都不费时,而这份笔记在你第二次编辑同类照片时就把成本赚回来了。

五行就够了:源文件、要求、所用强度、对那两个问题的判定,以及决定。影棚瓶子,强度中低,改动落地,标签偏移,社交媒体可用、印刷不可用。这是一句你能交给同事的话,也是一份下个月同一个客户送来同一款产品时你能读的笔记。

团队还能得到第二个好处。写下来的判定终结了那种循环:三个人对同一张图的描述各不相同,谁也说不出怎样才算可以接受。第一步写下的通过条件,成为审查所用的共同语言。

这套例行做法刻意无聊:之前一句话,期间两个问题,之后三选一的决定,最后一条笔记。无聊正是重点。如今变换已经足够快,瓶颈已经从生成转移到了判断,而判断正是可以系统化的那一部分。

从一张你本来就喜欢的照片开始,写下那句话,用审查认为合适的强度跑一次。如果你想在真实的东西上试试这套例行做法,打开 KOOX 的 image to image 工具;如果措辞仍然是悬而未决的问题,这五个提示词配方和这套四轮流程覆盖了那另一半工作。

文章信息

发布时间
审查 AI 图像变换结果:再次迭代之前的一份清单