技巧十:控制變量法漸進優化
很多人把 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 | 這個應該沒啥問題 |
從這個表里可以看到,我們發現了三個問題,其中第一個黏土風格問題,跟最后一個問題有關,此時我的建議是:
每次僅修改一個,其余變量不變。
修改完一條,效果符合預期后,再修改下一個。
我的經驗優先修改主體內容,因為主體有的時候會影響其余的變量。
如果想確定這個修改是否具有一致性,或者說是否符合要求,而不是恰巧符合,可以用相同的 prompt 再生成一次。不過因為沒生成一次都要花錢,所以這個是可選項。
OK,按照以上原則,我們修改一下我們的 prompt,看看生成了什么,的確加了 different types of 后,光劍就多了,問題解決了:
然后我們修改下 blender 3d,將其改為 clay render (黏土渲染),我改完之后發現生成的結果(左邊四張),好像質感還是差了一點,于是我又試了下保留 3d blender 加 oily 的效果(中間四張),以及 clay render 加 oily 兩個一起用(右邊四張)。
我個人覺得好像兩個都改了效果是最好的(右邊四張)。
對比一下最開始的 prompt 生成的圖片,是不是最終的圖片效果更好?所以這個技巧主要想告訴大家,寫 prompt 沒有必要照抄答案,你也有能力自己寫好 prompt。