這篇要講的圖像提示詞概念是在AI繪圖的過程中輸入圖片,讓AI去理解圖像內容,或是直接參考圖像的構圖或色彩,再產生新的圖片。
雖然我最常用的是文字提示詞的方式生圖,但是圖像提示詞的應用比文字提示詞更廣也更加複雜,尤其在生成影片的範疇。
即使OpenAI在近日發表了強大的文生影片的Sora模型,但畢竟沒有開源,很多玩家也受限於預算跟硬體,在短期內應該還不會影響到其他介面的使用者。
以下介紹幾個使用圖像提示詞的工作流。
ComfyUI官方提供的圖生圖工作流就是將KSampler>latent_image輸入來源改成VAE Encode。
VAE Encode需要輸入image跟vae,然後轉換成latent image給其他節點使用。
在我之前的文章中,我直接串接VAE Encode跟VAE Decode加上VAE後,不用經過重新採樣(KSampler)就可以套用VAE讓圖像的品質改變。
ComfyUI 研究 - VAE Encode/ Decode
而官方的圖生圖工作流則是加入模型跟文字提示詞後,以來源影像轉換的latent image為其礎進行重新採樣重繪,會受到選用的模型跟文字提示詞影響出圖結果。
這個工作流的關鍵點還有denoise的數值設定,數值愈接近1,畫出來的圖會愈不像原圖,數值太低則是重繪程度太低,感受不到重繪的效果。
這個工作流的缺點在於文字提示詞在denoise>0.5時重要性會大幅提升,如果文字提示詞太少的話,會畫不出想要的畫面。
下面的工作流是使用WD14 Tagger這個節點讓AI幫來源圖片打標籤,再輸出字串到文字提示詞節點使用,因為沒有將來源圖片作為基底,生出來的圖基本上就是文生圖的結果,跟原圖的差異很大,但原圖被辨識出來的元素有出現在生成的圖像裡。
下面的工作流結合了WD14 Tagger圖生文跟官方圖生圖工作流程,生成的圖像在denoise = 0.7 時也可以生成接近原圖的圖片。
這個工作流適合拿來做風格轉換。
下面的工作流中,WD14 Tagger的來源圖片跟VAE Encode的來源圖片不同,生成的影像具備A影像的標籤元素與B影像的內容資訊。
這個工作流適合拿來結合不同圖片元素。
下面這個工作流不同於WD14 Tagger的自動打標籤,而是去讀取圖片內含的提示詞等資訊,輸出給其他節點使用。
如果原本是WebUI的使用者,在轉換到ComfyUI時一定會發現很難生成一樣的圖。
除了像之前這篇文章:ComfyUI 研究 - 預設工作流修改成A1111算法,把工作流改成WebUI的算法外,還要找到原本的提示詞、seed等資訊一一輸入。
雖然可以打開WebUI把圖片丟進去看這些資訊,但是使用SD Prompt Reader這個節點就可以省去這個步驟,直接把讀取到的資訊手動或自動輸入到其他節點使用。
唯一的缺點是輸入的圖片讀不到相關資訊時會報錯。
其他諸如IPAdapter、Controlnet、InstantID、FaceSwap等節點,只要是需要輸入圖片作為參考的節點,廣泛來講都可以算是圖像提示詞的應用。
如果可以在使用時免去文字提示詞的部分,直接生成想要的人物、構圖、風格...,其實可以省去使用者更多測試跟思考的時間。
畢竟AI繪圖模型在訓練時,都是先有來源圖像,再讓AI自動打標,然後經過大量圖片跟長時間的訓練後才完成的。
自動化跟無腦使用,相信是AI繪圖要普及的兩個要素。