在上周 ControlNet 的作者 lllyasviel(Lvmin Zhang) 發布了一個新專案 —— Fooocus。這是一個 Stable Diffusion XL 模型的 UI 介面,並且在操作上跟 Midjourney 類似,只需輸入 prompt 便可以生成效果不錯的圖片。

除了像使用 Midjourney 一樣的輸入 prompt,Foocus 也可以快速的選擇圖片風格,讓我們無須手動下風格的 prompt。

接下來就讓我們來看看,如何使用 Fooocus 這個專案。
Fooocus GitHub 頁面:
https://github.com/lllyasviel/Fooocus
Fooocus 安裝
Fooocus 的安裝使用算是相當簡單,但是在開始安裝前,還是要跟大家簡單講一下它的基本硬體需求:
- 需要 NVIDIA 顯卡 4GB 以上的 VRAM
- 8GB 系統記憶體(建議 32GB 的 RAM)
如果沒有到 32GB RAM 的話,也是能跑的,就是使用的時候會需要用到虛擬記憶體,會讓你用得有點痛苦。

如果電腦硬體規格不符合的人,或是電腦效能不夠好,目前可以使用作者提供的 Colab 記事本來使用 Fooocus,雖然不是在自己的電腦上跑,但 Fooocus 如同 Midjourney 一般的方便性,也是其一大特點(只是不確定 Google 什麼時候會封掉)。由於本人的筆電性能不佳,所以接下來的圖片可能會參雜著一些使用 Colab 來跑的畫面。

講完了基本硬體需求,我們就可以來安裝這個專案:
- 到 Fooocus 的 Github 頁面,找到下載連結並下載

- 將檔案解壓縮後直接執行 run.bat 檔

- 第一次執行時會需要下載模型,如果已經有模型就可以直接將模型檔案放到 Fooocus/models/checkpoints 資料夾

- 等下載完會直接開啟 Fooocus 的 Web UI,如果沒開啟可以到瀏覽器輸入 127.0.0.1:7860 開啟

Fooocus 使用
進到 Fooocus 的介面後,我們就可以開始使用了。
首先我們需要輸入一個 prompt,以下是我本次使用的 prompt:
|
|
將它貼到輸入框後直接按下 Generate,稍等億下後,就能看到生成的結果

如果覺得生成圖片的畫質太低,可以將圖片存下來後利用放大圖片的 AI 再處理一下。

Fooocus 設定
除了直接生成圖片外,Fooocus 也提供了一些進階選項。將「Advanced」勾選框勾選起來,右側就會出現可以設定的欄位。

Setting - 生成設定
在「Setting」標籤頁,我們可以設定生成速度與品質、圖片大小、張數等。

Performance
「Performance」中 Speed 會跑 30 個 Step,Quality 會跑 60 個 Step,讓圖片變得有更多細節。

Aspect Ratios(width × height)
「Aspect Ratios」中,我們可以設定生成圖片的大小。

Image Number
「Image Number」可以設定生成圖片的數量,看是要一次生成一張、兩張、多張,當然一次生越多張生成需要的時間就越久。

Negative Prompt
「Negative Prompt」可以設定不要生成的東西的關鍵詞,基本上運作方式與一般 Stable Diffusion 相同。
Seed
「Seed」欄位只有在生成完圖片後,或是將【Random】取消勾選時才會出現。
作用是給予模型 noise,讓相同 prompt 時,如果 seed 不同,能得到不同的圖片,若輸入相同的 seed 與 prompt,理論上可獲得相同的圖片,運作方式與一般 Stable Diffusion 相同。

Style - 風格設定
「Style」標籤頁內建了許多風格,讓我們可以較輕鬆地生成不同風格的圖片。
從電影風格到遊戲風格等都有


這些風格使用的 prompt 可以在 Foocus/modules/sdxl_styles.py 裡面看到。

如果內建的風個都不滿意,也可以選擇【None】,自行輸入想要的風格 prompt。

至於各個圖片風格的長相,大家可以參考 Semonxue 這位網友縮整理表格,裡面有各種使用相同 prompt 切換不同 style 所生成的圖片。
Google 試算表連結:
https://docs.google.com/spreadsheets/d/1AF5bd-fALxlu0lguZQiQVn1yZwxUiBJGyh2eyJJWl74/edit#gid=0

Advanced - 進階設定
「Advanced」標籤可以設定其他 SDXL 模型與 LoRA 參數,一般使用建議不要調整。
我生成的圖片
以下給大家簡單看看我生的一些圖片,prompt 統一為
a girl in jacket



