To be completed!
推薦的 prompt 想法 (midjourney)
AI 與食物
- Contemporary Realism (當代寫實主義)
- Cartoon Style
- Watercolor Painting
AI 與動物
- Art Brut (原始藝術風格)
- Impressionism (印象主義)
- Time Travel (同個東西不同年代的變化)
- 不同的視角,如:
- 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 與空間設計
- De Stijl Style (荷蘭風格)
- 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 藝術
- iPhone UI/UX
- Stained Glass Style (彩繪玻璃風格)
- Sticker Design (貼紙設計)
- Cute Tiny Isometric Architecture (微型等角建築風格)
- Dreamy Watercolor Scenes (夢幻水彩場景)
- Character Concept Sheet (角色設計表)
- Net Art (網路藝術,有賽博龐克的影子)
- 二次元影像,例如:
- 原始風格
- Scenic (場景風格)
- Cute style
- Expressive Comic Panels
# 文生圖常用引數
# 取樣 / 採樣 (sampling)
Stable Diffusion (SD) 會生成一張隨機的噪聲圖,經多次去噪 (處理雜訊) 後生成圖片。
此多次去噪的過程稱為 取樣(sampling)
,過程中使用的方法則為 取樣方法(sampler)
,不同方法會影響圖像風格。
常見的取樣法有以下 7 大類
- 老式求解器
屬於比較簡單的常微分方程求解器
舉例: Euler
(最簡單的), Henu
(更準確但更慢), LMS
(Linear multi-step method) 等。
- 祖先取樣法 (ancestral sampler)
- 名字中帶有單字母
a
者 - 會在每個取樣步驟中新增隨機噪聲,增加隨機性。
- 缺點是影像不會收斂,會隨疊代步數增加不斷變化,甚至更嘈雜且不真實。
舉例: Euler a
, DPM2 a
, DPM++ 2S a
, DPM++ 2S a Karras
。
- Karras 版本
- 名字中帶有
Karras
者 - 採用 Karras 論文中的噪聲規則
- 初始噪聲較多,後期噪聲較少,可提高影像品質。
舉例: LMS Karras
, DPM++ 2S a Karras
等。
DDIM 和 PLMS
早期的取樣方法,現已過時。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) 求解器,和祖先一樣不收斂。
UniPC
全名: Unified Predictor-Corrector,為目前最快最新的取樣方法 (5 到 10 步內)。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
功能來提升圖像解析度,方法大致相同。
常見的放大演算法有
- 傳統的
Lanczos
,Nearest
,效果一般。 LDSR
(Latent Diffusion Super Resolution): 品質好但速度非常慢,不推薦。ESRGAN 4x
: 保留精細的細節並產生清晰銳利的影像。R-ESRGAN 4x+
: 增強版,對於逼真的照片類 表現最好。R-ESRGAN 4x+ Anime6B
: 承上,但對於二次元影像 表現最好。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.1,每加一層多乘以 1.1。可直接指定:(關鍵詞:1.5)
。 - 減少權重:
[關鍵詞]
,預設變成 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
檔案,檔案稍大,常用的有 OpenPose
和 Canny
等。
# 參考資料
- 《商用級 AIGC 繪畫創作與技巧》
- 《未來藝世界:AI 繪圖新旅程》
- 《AI 繪圖夢工廠》