2024年5月27日 星期一

高科大還書 1 本 : AI 繪圖夢工廠

今天下班順路去母校圖書館還下面這本書 (有人預約) : 



Source : 天瓏


此書主要介紹 Stable Diffusion, Leonardo.ai 與 Midjourney 這三款 AI 生圖工具, Midjourney 以前有免費方案時我曾玩過, 須透過 Discord 進去, 坦白說我對 Discord 令人眼花撩亂的介面不太喜歡, 取消免費方案後我更不會去用 Midjourney 了. 反觀 Leonardo.ai 就很佛心, 至今仍提供免費生圖方案, 免費用戶每天會獲得 150 個免費 token, 生一張圖依尺寸大小不同會用掉 1~4 個 token, 亦即至少每天可讓免費用戶產生近 40 張大尺寸圖, 不夠再付費購買 token, 這實在很棒. 至於開放原始碼的 Stable Diffusion 本身就是免費的 AI 生圖模型, 只要有符合條件的硬體 (獨立顯卡 + 足夠 DRAM) 就可以在本機自行生圖, 或者購買 Colab 運算單元在雲端跑 WebUI 生圖. 

以下是我看完第三章 Stable Diffusion 的筆記 :


1. Stable Difussion 最主要的兩個功能 :
  • text2img : 文生圖
    在 Prompt 區輸入區輸入圖片的正向與負向提示詞按 "Generate" 鈕即可.
  • img2text : 圖生圖
    拖曳或上傳圖片後按 按 "Generate" 鈕即可, 也可以佐以正負向提示詞. 
2. 文生圖 (text2img) : 

負向提示詞用來排除不要的畫風, 物件或結構, 不論正向或負向, 排在越前面的提示詞影響力越大. 提示詞之間要用半形逗號隔開, 也可以用 + 號連接短提示詞, 或用 | 串接提示詞來表示循環繪製效果. 空格與換行在提示詞中無作用, 不會影響提示詞權重. 例如 :

8k portrait, beautiful cyborg, brown hair, intricate, elegant

若將 brown hair 改成 brown hair | yellow hair 會有棕黃相間的效果 : 

8k portrait, beautiful cyborg, brown hair | yellow hair, intricate, elegant

如果想要改變提示詞權重可以這麼做 : 
  • 在提示詞後面串接 ":數值" 來改變其權重. 
  • 將提示詞用小括號 () 括起來, 這會提升其權重為 1.1 倍.
  • 將提示詞用中括號 [] 括起來, 這會降低其權重為 0.9 倍
若將 beautiful cyborg 與 elegant 用雙重小括號括起來會強化美麗機器人與優雅這兩個特徵 : 

8k portrait, ((beautiful cyborg)), brown hair | yellow hair, intricate, ((elegant))

若加上國家或區域名稱則會生成具有地區特色的圖像, 例如 : 

8k portrait, ((beautiful cyborg)), brown hair | yellow hair, intricate, ((elegant)), Taiwan

另外為了避免生出例如六個手指的人類, 通常會給予 ((disfigured)) 的負向提示詞. 

注意, 提示詞不論文生圖或圖生圖都可以用. 

文生圖功能區選項欄位 :
  • Sampling method (取樣方法) :
    此選項影響圖像風格, 可用選項例如 Euler a, LMS, DPM2 a, DPM fast, DPM++2S a Karras, DPM++2M Karras 等.
  • Sampling steps (取樣步數) :
    步數越大圖像品質越精緻, 但生圖時間會拉長, 一般設在 20~30 即可. 
  • Restore face (臉部修正) :
    雖然會增加算圖時間, 但此項最好要勾選, 避免生成的人臉有扭曲歪斜情況. 
  • Hires, fix (高品質圖像) :
    勾選後會生成較細緻的圖片 (但也增加生圖時間). 如果生出一張滿意的圖片, 可以設定 Seed 欄的隨機種子固定風格後勾選此項重新生成更精細的圖像. 
  • Width, Height (圖像尺寸) :
    預設生成圖片尺寸為 512*512 px, 可以視需要自行調整.
  • Tilting (拼接) :
    勾選此項可以生成像磁磚那樣重複拼接的圖像. 
  • Batch size (輸出張數), Batch count (輸出批次) :
    Batch size 是設定每次生成幾張圖 (建議設 2 或 4), 而 Batch count 則是設定算幾次 (建議設為 1).
  • CFG (縮放因子) : 
    用來設定提示詞對生成之圖的影響力, 值越大生成之圖片越符合提示詞之描述, 值越小則模型加入的隨機性越大. 
  • Seed (隨機種子) :
    預設 -1 表示不固定隨機種子, 則每次生圖的方式會因為隨機性而差異很大, 可設為任意正整數, 例如經典的 42, 這樣相同的提示詞每次生圖方式就會固定. 欄位右邊的骰子按鈕可以讓隨機種子回復預設的 -1 (完全隨機), 按最右邊的循環按鈕則會將隨機種子固定為目前的設定值. 

3. 圖生圖 (img2img) : 

圖生圖是以上傳的圖片為基礎擴增原圖風格來產生新圖像. 

圖生圖功能區選項設定 : 
  • Width (寬度), Height (高度) :
    可設定圖片縮放的尺寸. 
  • Resize mode (縮放模式) :
    Just resize (直接縮放) : 依寬高設定縮放, 景物基本不變
    Crop and resize (剪裁縮放) : 剪裁後等比例依寬高設定縮放, 景物可能被刪減
    Resize and fill (填充) : 將原尺寸與寬高設定不足之處填充, 景物會增加
    Just resize-latent upscale (調整大小) : 與 Just resize 類似, 但隨機性較高
  • Denoising strength (重繪幅度) : 
    用來設定模型圖生圖依樣畫葫蘆程度, 值越低越像上傳之圖片, 值越高則模型加入隻創意越多. 
        
4. Stable Diffusion 模型風格 : 

因 Stable Diffusion 為開源模型, 許多人會將不同風格之微調後模型上傳到 Civitai 網站 :


比較常用的 Stable Diffusion 風格模型 : 
  • Realistic Vision (擅長擬真的虛擬人物)
  • ChilloutMix (擅長亞洲臉孔女性)
  • Deliberate (擅長虛實混和的多樣化藝術風格)
  • DreamShaper (擅長美版藝術圖像)
  • Rev Animated (擅長美版藝術圖像, 但添加更多光影與層次細節)
  • MeinaMix (擅長日版動漫風格)
  • OrangeMix (擅長光感柔和之日版風格)

5. PNG Info :

 可以將 Stable Diffusion 生成的圖像上傳到 PNG Info 頁籤反查所使用之提示詞與參數. 

書中範例可在登入旗標網站後下載 :


沒有留言 :