技巧十:控制变量法渐进优化

很多人把 AI 生成图片比喻为炼丹,我觉得非常贴切,很多时候,也不知道为啥,在 prompt 里加一点神秘配方,图片就会很不一样。

不过我觉得虽然过程很像炼丹,但并不代表我们需要像古人那样,用撞大运的方式炼制丹药。我认为目前使用 Midjourney 最好的方法是:控制变量渐进优化法。

拿上面那个装备集的图片为例,我希望它生成的是装备,并且是一件件地排布,而且光剑的效果也很奇怪,首先我们来逐条排查 prompt:

Prompt 检查
类型是什么? blender 3d, game sheet 这个好像有点问题,我希望的炉石传说的风格,好像不是这种精致的 3D 效果,生成的风格更像是星际争霸的,而炉石传说是那种黏土风格(clay render)。
主体是什么? lightsabers, paladin armor, 这里可能也有问题,会不会是没有写 different types of lightsabers 导致只生成一种光剑。
背景是什么? null 这个应该没啥问题
构图是怎样的? null 这个应该没啥问题
用什么镜头? null 这个应该没啥问题
是什么风格? style of Hearthstone 感觉生成的图没有那种中世纪盔甲的油腻感,但如果前面改了黏土风格,会不会好一些?这里可能也需要优化下。
参数 null 这个应该没啥问题

从这个表里可以看到,我们发现了三个问题,其中第一个黏土风格问题,跟最后一个问题有关,此时我的建议是:

  1. 每次仅修改一个,其余变量不变。
  2. 修改完一条,效果符合预期后,再修改下一个。
  3. 我的经验优先修改主体内容,因为主体有的时候会影响其余的变量。
  4. 如果想确定这个修改是否具有一致性,或者说是否符合要求,而不是恰巧符合,可以用相同的 prompt 再生成一次。不过因为没生成一次都要花钱,所以这个是可选项。

OK,按照以上原则,我们修改一下我们的 prompt,看看生成了什么,的确加了 different types of 后,光剑就多了,问题解决了:

MJ051.png

然后我们修改下 blender 3d,将其改为 clay render (黏土渲染),我改完之后发现生成的结果(左边四张),好像质感还是差了一点,于是我又试了下保留 3d blender 加 oily 的效果(中间四张),以及 clay render 加 oily 两个一起用(右边四张)。

MJ052.png

我个人觉得好像两个都改了效果是最好的(右边四张)。

对比一下最开始的 prompt 生成的图片,是不是最终的图片效果更好?所以这个技巧主要想告诉大家,写 prompt 没有必要照抄答案,你也有能力自己写好 prompt。