之前試玩 Bing Image Creator 和 Stable Diffusion Online 時,都只使用很簡單的 prompt 作為例子,但是實際上,在 prompt 中提供越詳細的資訊,越能幫助圖像生成模型產生高品質的影像,我們對影像畫面的掌握度也會越高。
而如何利用 prompt 讓 AI 模型生成如我們期待的影像,逐漸發展成 prompt engineering 這門技術。由於發展出來的 prompt 越來越複雜,像是在詠唱咒語一樣,常常也被稱為詠唱
我是因為要寫這系列文章才開始比較常使用 AI 影像生成工具,充其量是個詠唱初心者~今天的文章就是以初心者的角度出發,從網路上的資訊整理出我覺得在打 prompt 時值得思考的面向吧!
我認為在使用 AI 生成服務時,無論是像現在討論的圖像生成服務,或是像 ChatGPT 這類聊天機器人的服務,都有一件值得注意的事:
AI 模型雖然強大,但缺乏人的想法的引導是產生不出東西的
以 ChatGPT 為例,如果我們想從文字聊天中得到有用的資訊,我們必須問出明確精準的問題。而對於影像生成服務,我們能提供越詳盡的資訊,產生的影像才會越接近我們需要的。這也代表好的想法與表達是使用 AI 工具的關鍵
一張影像大家最先看到的當然是它的主體了,主體可以是人物、物品、風景等等,以之前使用的 prompt "A chubby cat lying on the grass" 為例,主體就是 "A chubby cat"。
然而主體可以不只是個名詞而已,在這個 prompt 之中我其實只提到牠是一隻圓胖的貓,而關於牠的毛色、長/短毛、耳朵形狀、表情其實是毫無資訊的,就只能依靠圖像生成模型的想像。
現在我嘗試加上了一些關於貓的細節:"A chubby white cat with green eyes, long fur, lying on the grass",使用 Bing Image Creator 得到如下的結果~
而使用 Stable Diffusion Online 得到的結果如下~
白貓和綠眼的主體細節都有表現出來了,不過 Stable Diffusion Online 感覺忽略了長毛的元素XD
影像風格也是影響觀者感受的一個很重要的關鍵,在使用 Stable Diffusion Online 時,我們有選單可以直接選擇影像的風格,但是如 Bing Image Creator 只有一個輸入 prompt 的欄位,就必須連影像風格一起考慮進去~
這部分其實也很考驗使用者對於各種藝術風格瞭解的廣泛程度,不過我們也可以從一些公開的 prompt 中擷取靈感!
這裡我嘗試在剛剛的 prompt 後面加上不同的風格詞彙~
"A chubby white cat with green eyes, long fur, lying on the grass, photography" 呈現的是逼真照片感:
"A chubby white cat with green eyes, long fur, lying on the grass, pop art style" 呈現的則是類似普普藝術的大眾通俗感:
除此之外也可以選擇用特定畫家的風格,例如 "A chubby white cat with green eyes, long fur, lying on the grass, in the style of Claude Monet",不過硬要說這有莫內印象派的光影感不知是否有點牽強
在生成類似照片的影像時,思考要用特寫的角度呈現影像主體,還是以廣角的方式呈現風景,也是值得考慮的地方!
這裡一樣呈現相同 prompt 加上不同視角的例子~
"A chubby white cat with green eyes, long fur, lying on the grass, photography, closeup view":可能剛剛的影像就已經夠特寫了,所以看不出明顯的差別
"A chubby white cat with green eyes, long fur, lying on the grass, photography, wide-angle view":廣角鏡頭讓影像中多了一些環境背景的細節
"A chubby white cat with green eyes, long fur, lying on the grass, photography, a bird's-eye view":鳥瞰視角的效果蠻明顯的,貓都變成仰頭看人了~
光線這個元素是我在蒐集網路資訊前完全沒想過的部分,但注意到的話,能更容易營造畫面的氛圍,影像也會越細膩。
由於 prompt 描述的是一隻在戶外的貓的影像,接下來呈現的是自然光下和光線昏暗下得到的影像~
"A chubby white cat with green eyes, long fur, lying on the grass, photography, in natural light"
"A chubby white cat with green eyes, long fur, lying on the grass, photography, in dim lighting"
兩種光線下的影像氛圍就有很明顯的差別了!
除了以上講到的一些畫面細節資訊以外,我在使用 ChatGPT 幫我翻譯 prompt 時,我發現它將我原本用逗號分開的幾個關鍵字串連成句子,而輸入一組關鍵字和一個句子給 Bing Image Creator 效果竟完全不同!
這裡是我在試圖產生不同風格影像時得到的例子,我原本是直接在原本的 prompt 後面加上 "in the style of Hayao Miyazaki",引導模型產生類似宮崎駿風格的影像,而結果如下:
"A chubby white cat with green eyes, long fur, lying on the grass, in the style of Hayao Miyazaki"
除了左上角那張可能比較接近我想生成的影像,其他影像都還是像照片一樣,感覺不太精準。
而以下是 ChatGPT 幫我改的 prompt,以及產生的影像:
"In the style of Hayao Miyazaki, there's a chubby white cat with green eyes and long fur, peacefully reclining on the grassy meadow."
影像就真的類似宮崎駿風格了~
關於這個現象,在有些網路文章中也有提到,可能的解釋是用逗號串起來的關鍵字可能會讓模型無法瞭解它們之間的關聯性,因此在產生影像時可能就會漏掉其中幾個元素,而使用一個完整流暢的描述句,則更可能組織好影像的畫面喔!