To be completed!

推薦的 prompt 想法 (midjourney)

AI 與食物

  1. Contemporary Realism (當代寫實主義)
  2. Cartoon Style
  3. Watercolor Painting

AI 與動物

  1. Art Brut (原始藝術風格)
  2. Impressionism (印象主義)
  3. Time Travel (同個東西不同年代的變化)
  4. 不同的視角,如:
    • Front view, Back view
    • Side view (側視)
    • Eye level view
    • Microscope view (微觀視角), Wide angle view (廣角)
    • Bird's eye view, Fish eye view (魚眼)
    • Long shot view (遠景)

AI 與肖像畫
Cyberpunk Style

AI 與時尚設計
Sketch (素描風格)

AI 與空間設計

  1. De Stijl Style (荷蘭風格)
  2. Interior Design (室內設計),如:
    • LOFT style
    • Minimalism style
    • Modern style
    • Bohemian style
    • Bauhaus style
    • Rococo style
    • Scandinavian style
    • Industrial style

AI 與交通工具
Mechanical Style (機械風格)

AI 與街景
Hyper Realistic Environments (超現實環境風格)

AI 藝術

  1. iPhone UI/UX
  2. Stained Glass Style (彩繪玻璃風格)
  3. Sticker Design (貼紙設計)
  4. Cute Tiny Isometric Architecture (微型等角建築風格)
  5. Dreamy Watercolor Scenes (夢幻水彩場景)
  6. Character Concept Sheet (角色設計表)
  7. Net Art (網路藝術,有賽博龐克的影子)
  8. 二次元影像,例如:
    • 原始風格
    • Scenic (場景風格)
    • Cute style
  9. Expressive Comic Panels

# 文生圖常用引數

# 取樣 / 採樣 (sampling)

Stable Diffusion (SD) 會生成一張隨機的噪聲圖,經多次去噪 (處理雜訊) 後生成圖片。
此多次去噪的過程稱為 取樣(sampling) ,過程中使用的方法則為 取樣方法(sampler) ,不同方法會影響圖像風格。

常見的取樣法有以下 7 大類

  1. 老式求解器
    屬於比較簡單的常微分方程求解器

舉例: Euler (最簡單的), Henu (更準確但更慢), LMS (Linear multi-step method) 等。

  1. 祖先取樣法 (ancestral sampler)
  • 名字中帶有單字母 a
  • 會在每個取樣步驟中新增隨機噪聲,增加隨機性。
  • 缺點是影像不會收斂,會隨疊代步數增加不斷變化,甚至更嘈雜且不真實。

舉例: Euler a , DPM2 a , DPM++ 2S a , DPM++ 2S a Karras

  1. Karras 版本
  • 名字中帶有 Karras
  • 採用 Karras 論文中的噪聲規則
  • 初始噪聲較多,後期噪聲較少,可提高影像品質。

舉例: LMS Karras , DPM++ 2S a Karras 等。

  1. DDIM 和 PLMS
    早期的取樣方法,現已過時。

  2. DPM 系列

  • 全名: Diffusion probabilistic model solver (擴散機率模型求解器)
  • DPM2 : 類似 DPM,因為是 2 階的,所以更準確也更慢
  • DPM++ : DPM 的改進 (加速取樣),比 Euler、LMS、PLMS 和 DDIM 等更快,能用更少的步驟實現相同的效果。

舉例:

  • DPM++ 2S a : 2S 表示「Second-order Single-step」(2 階單步)
  • DPM++ 2M : 2M 表示「Second-order Multi-step」(2 階多步),和 Euler 類似,但在速度和品質間取得了很好的平衡,取樣時會參考更多步。
  • DPM fast : 收斂更快,但犧牲了一些品質。
  • DPM adaptive : 根據輸入影像自適應去噪,很慢。
  • DPM++ SDE : 使用隨機微分方程 (SDE) 求解器,和祖先一樣不收斂。
  1. UniPC
    全名: Unified Predictor-Corrector,為目前最快最新的取樣方法 (5 到 10 步內)。

  2. k-diffusion

  • k-diffusion github 庫,同樣出自 Karras 等人的論文
  • 基本上,除了 DDIM、PLMS 和 UniPC 外的所有取樣方法都源於此。

總結:各有優缺點,但通常 **DPM++** 系列是大多數情況下較好的選擇。

建議:

考慮因子取樣方法
時間有限Euler , DPM++ 2M
生成速度快且品質不錯DPM++ 2M Karras , UniPC
高品質且不關心收斂DPM++ SDE Karras

# 疊代步數 (steps)

是指在生成圖片時進行多少次擴散計算 (即去噪),一般會設定 20~30 次。
步數越高,會增加採樣的影響程度,通常會越細緻,但也會算更久。


# 高解析度修復 (hires)

SD 預設是 512 或 768pixels,若直接生成更大尺寸的圖片,可能會影響構圖而生成錯誤的內容,故可以先生成正常尺寸的圖片再放大。
推薦作法:抽到不錯的圖像時,將隨機種子固定後,再開啟 hires 功能。

因為 Hires.fix 會大幅增加算圖時間,故也可使用 SD 的 Extras 功能來提升圖像解析度,方法大致相同。

常見的放大演算法有

  1. 傳統的 Lanczos , Nearest ,效果一般。
  2. LDSR (Latent Diffusion Super Resolution): 品質好但速度非常慢,不推薦。
  3. ESRGAN 4x : 保留精細的細節並產生清晰銳利的影像。
  4. R-ESRGAN 4x+ : 增強版,對於逼真的照片類 表現最好。
  5. R-ESRGAN 4x+ Anime6B : 承上,但對於二次元影像 表現最好。
  6. Latent : 預設的演算法,多數情況下已經夠好了。

「高分疊代步數」(Hires steps): 如果步數過多,可能會生成一些奇怪的效果。
「去噪強度」(Denoising strength): 即重繪幅度,對 Latent 系列的放大器來說,0.5~0.8 效果較好,太小會模糊,太大細節會發生很大的變化。

SD 最初是使用 256x256 的數據集訓練,後來的潛在擴散模型 (Laten diffusion model) 是 512x512,2.0 後則是 768x768,因此將寬或高至少一項設為 768 效果更好。


# 精修模型 (refiner)

設定在算圖完成多少 % 時,用 refiner 的模型進行二次補強。
可融合兩種模型的風格,或是進行人臉修復。


# 批次 (batch)

  • batch count (輸出批次): 共算幾次。次數越高,會產生更高的隨機性,因為每次算圖都會加入隨機噪聲。建議設定 2 或 4。
  • batch size (輸出張數): 一次算幾張。建議設 1。

# CFG Scale

  • 全名: Classifier Free Guidance scale,指定提示詞的影響程度,預設為 7。
  • CFG 值越低,AI 會越自由發揮;越高,會越嚴格按照提示詞創作。通常建議設定 7~10 較合適。
  • 當設定較高時,可能會變模糊以致丟失細節,可透過增加取樣疊代步數來修復。

# 隨機種子 (seed)

  • 輸入相同 prompt,生成的圖片還是會有所差異。
  • 固定 seed,可讓生成方式穩定下來,使圖像相同。(但除非訓練專屬的 LoRA 模型,否則也不可能每次生成的人物都一模一樣。)
  • 適用於抽到還不錯的圖像,想進行微調時 (如:構圖、焦距、角度或加入物件時)

# 圖生圖才有的引數

# 圖像縮放

  • Just resize (拉伸): 直接將圖片拉伸至指定尺寸並重新算圖,景物大致不變。
  • Crop and resize : 會先剪裁原圖,然後等比例放大並算圖,景物會有所刪減。
  • Resize and fill : 會對原尺寸不足的地方重新繪製,景物有所增加。
  • Just resize-latent upscale (調整大小): 和拉伸差不多,但會加入模型的創意 (增加隨機性)。

# 重繪幅度 (Denoising strength)

值越大,模型會加入一些自己的創意:值越小則反之。


# 模型

# Base model

.ckpt.safetensors 檔案,後者較新也較安全。包含生成影像的一切數據,通常有幾 GB。

# Checkpoint 模型

更改整個神經網路參數的完整模型,風格變化大,約 2~10GB。

# LoRA 模型

簡化訓練過程的小模型,全名: Low-Rank Adaptation,能保留特定人物或風格。
可以視為大模型的補丁,用於修改或優化影像的樣式。例如新增細節或套上不同的風格。

通常幾十到幾百 MB,不能單獨使用,要搭配 base 或 checkpoint model 使用。

# VAE 模型

全名: Variational Autoencoder, .pt 檔案。類似影像濾鏡,調整畫面風格,對圖像細節進行微調、補強。
也需搭配 base 或 checkpoint model 使用。

# Embedding 模型

定義關鍵詞,通常幾十到幾百 KB。

例如:訓練特定角色的 embedding 模型後,在提示詞中加入此模型的檔名來引入這個角色。


# 提示詞

# 組成

描述舉例
主題 (必須)圖片的內容
型別圖片的形式photo, oil painting, watercolor (水彩)
風格hyperrealistic (超現實)
藝術家Picasso (畢卡索)
網站依該風格繪製pixiv, pixabay
解析度影響渲染的細節unreal engine, 8k
額外細節dramatic (戲劇性), low angle shot
顏色額外的配色gold, vintage (復古效果)

一些例子:
"taiwanese face"

# 權重

越往前的關鍵詞權重越高,有以下三種改變權重的方法

  1. 改變權重: 關鍵詞:<數值>
  2. 增加權重: (關鍵詞) ,預設變成 1.1,每加一層多乘以 1.1。可直接指定: (關鍵詞:1.5)
  3. 減少權重: [關鍵詞] ,預設變成 0.9,每加一層多乘以 0.9。可直接指定: [關鍵詞:0.5]

# 漸變

語法為: [關鍵詞1:關鍵詞2:因子] ,因子介於 0~1,越小越偏向前者;越大越偏向後者。

可用來生成同時具有兩人外貌特徵的面孔,例如: [老人:愛因斯坦:0.5]

也可使用連接的符號「|」,語法為: 關鍵詞1 | 關鍵詞2

# 反向提示詞

常用範例

通用的: "lowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality,
jpeg artifacts, signature, watermark, username, blurry, b&w",lowres: 低解析度;extra digit: 多餘數字;artifacts: 偽影;b&w: 黑白;

人物相關: "disfigured, ugly, bad hand, extra fingers",disfigured: 毀容的;


# 提示詞生成

  • 使用網路上的工具。
  • 反推喜歡的圖片。
  • 使用訓練後的 ChatGPT 幫助生成。

# 進階

# ControlNet

用於控制圖像的構圖 (如:生成想要的人物姿勢)。為 .pth 檔案,檔案稍大,常用的有 OpenPoseCanny 等。


# 參考資料

  • 《商用級 AIGC 繪畫創作與技巧》
  • 《未來藝世界:AI 繪圖新旅程》
  • 《AI 繪圖夢工廠》