簡単にSDXLベースの画像が生成できるFooocusの紹介(Colab利用者向け)
今回は、簡単にSDXLベースの画像生成を行うことができるFooocusを紹介します。
Foocusは、ControlNetを開発したlllyasviel氏が発表した画像生成AIのWebユーザーインターフェイスで、プロンプトを入力して1クリックするだけで簡単にSDXLベースの高精細な画像を生成することができます。
※2024.6.18追記 Animagine XL 3.1を追加しました。
※2024.6.29追記 Emi 2.5を追加しました。
Fooocusについては、元々、以下の記事の中で紹介していたのですが、分量が増えてきたため、今回、記事を独立させました。
1.Colabでの導入方法と簡単な使い方
GithubのFooocusのページに公式のColabノートのリンクが掲載されています。以下のバナーをクリックすると、ノートが開きます。
または、以下のコードをColabノートの新しいセルにコピーして使用してください。
!pip install pygit2==1.12.2
%cd /content
!git clone https://github.com/lllyasviel/Fooocus.git
%cd /content/Fooocus
!python entry_with_update.py --share --always-high-vram
「ランタイムのタイプを変更」画面でGPUを設定して、セルを実行してください。しばらくすると、最後にhttps://xxxxxxxx.gradio.liveのようなGradioのリンクが現れますので、これをクリックすると、Fooocusの操作画面が開きます。
ここで入力欄にプロンプトを入力し、Generateボタンをクリックするだけで2枚の画像が生成されます。画像生成に必要な操作はこれだけです。
なお、画像をダウンロードするには、画像表示の右上のダウンロードボタンをクリックしてください。
2.画像から画像の生成、拡大、修正など
(1) 画像から画像を生成(img2img)
また、左下のImput Imageにチェックすると、以下の操作画面が現れます。
ここで、左下の空欄に画像をドラッグ又はアップロードし、入力欄にプロンプトを入力してGenerateボタンをクリックすると、画像と入力プロンプトを基にして新しい画像を生成(img2img)することができます。
例えば、上の図の左側の画像をアップロードして、入力欄に「1 boy」と入力して、Generateボタンをクリックすると、右側のような画像を生成することができます。
(2) バリエーションとアップスケール
① バリエーション
img2imgの操作画面の右側のVary(Subtle)又はVary(Strong)にチェックしてGenerateボタンをクリックし、最初の画像を少し変化させたバリエーションを生成することもできます。(Subtle)より(Strong)の方が大きく変化します。
全く別人の顔になりましたが、構図や姿勢は同じです。
② アップスケール
また、Upscale(1.5x)、Upscale(2x)、Upscale(Fast 2x)をチェックして、画像を1.5倍又は2倍に拡大することもできます。
(3) インペイントとアウトペイント
Inpaint or Outpaint (beta)のタブを選択すると、以下の操作画面が現れます。この画面で、画像の一部を修正するインペイントや画面を上下左右に拡張するアウトペイントなどの機能を使用することができます。
① インペイント
右上の消しゴムボタンをクリックして、消しゴムで画面の一部を消し、その部分を描き直すことができます。
② アウトペイント
左下のLeft、Right、Top、Bottomをチェックして画像生成を行うと、指定した方向に画像が拡張されます。
(4) イメージプロンプト
ControlNetのように入力した画像の構図や姿勢を維持して新しい画像を生成したり、複数の画像をミックスして新しい画像を生成したりすることができます。
イメージプロンプトは、とても高機能で、Advancedの2種類の構造制御機能(PyraCannyとCPDS)も非常に優秀です。
【参考】Fooocus 2.1.0 Image Prompts
3.Advancedモード
次に、左下のAdvancedにチェックすると、以下のAdvancedモードの操作画面に移ります。
Advancedモードには、Setting、Style、Model、Advancedの4つのタブがあります。
(1) Settingタブ
ステップ数30のSpeedとステップ数60のQualityとステップ数8のExtreme Speedの3種類の生成方法を選択できるほか、サイズ、枚数、シード値、ネガティブプロンプト、シード値を固定するかどうかを設定できます。
なお、Extreme Speedモードは、従来より少ないステップ数で高速に画像生成できるLatent Consistency Models(LCM)という手法を採用しています。
(2) Styleタブ
多くの画像スタイルの中から使用したいスタイルを選択することができます。複数選択することもできます。(次の第3章で説明します。)
(3) Modelタブ
ベースモデルとRefinerモデルのそれぞれについて、追加でダウンロードしたSDXL以外のモデルに切り替えたり、LoRA(既存モデルを少数の画像で追加学習することによりファインチューニングできる仕組み)を設定したりすることができます。
(4) Advancedタブ
サンプリング・シャープネス(数値が小さいと滑らか、大きいとざらつきのある画像になる。デフォルトは2)やガイダンス・スケール(数値が大きいほどプロンプトに忠実。デフォルトは4)の数値を変更することができます。
4.スタイルごとの画像生成例
(1) 全ての画像スタイル
以下は、同じプロンプトから、それぞれの画像スタイルで生成した画像の一覧(全184種類)です。
(2) 実際の画像生成例
同じプロンプト、同じシード値でスタイル設定を変えて画像を生成してみました。
① スタイル設定なし
スタイル設定なしで「1 girl」のプロンプトで画像生成した場合は、幼い少女が描かれることが多いです。
② Fooocus V2+Fooocus Enhance+Fooocus Sharp(デフォルト設定)
デフォルトで、この3つのスタイルが自動的に選択されます。
スタイル設定でFooocus V2をチェックした場合、入力したプロンプトに合わせて、以下のように自動的にプロンプトが追加されます。
1枚目:extremely beautiful portrait, vray, depth of field, octane render, symmetrical and detailed hermit crab space background with people in the background, trending on deviantArt, character design, high resolution, elegant, intricate detailed, 8 k, hyperrealistic, photorealistic fantasy character, masterpiece. n 9. 0 ” - n 9
2枚目:intricate, by stanley kubrick, stanley lau, greg rutkowski, thomas kindkade, alphonse mucha, loish, norman rockwell, fantasy lut, asymmetric, long hair centred, detailed background, sharp focus, claymation, 3 d render, macro photograph, iso
Fooocus Enhanceは、主にJuggernautXLで人気のあるデフォルトのネガティブプロンプト及びいくつかの強化ワードを使用します。
Fooocus Sharpは、多くのCivitAIプロンプトを組み合わせたスタイルで、SDXLのボケを抑え、比較的自然な形でシャープネスを向上させます。
この3つのスタイルはデフォルトで自動的にチェックが選択されます。これらは画質をかなり向上させるので、他のスタイルと組み合わせて使用することが推奨されています。
③ Fooocus V2+SAI Fantasy Art
④ SAI Anime
SAI Animeをチェックすると、アニメ調のイラストになります。
⑤ Fooocus V2+SAI Anime
SAI Animeを他のスタイルと組み合わせると、アジア系っぽい画像になります。
5.アニメモードとリアリスティックモード
最近、Fooocusにアニメモードと実写風画像生成用のリアリスティックモードが誕生しました。
(1) アニメモード
アニメイラストに特化したアニメモードのコードは以下の通りです。
一番下の行に「--preset anime」が追加されています。
一般モードと同様に、Colabノートのセルにコピーして使用してください。
!pip install pygit2==1.12.2
%cd /content
!git clone https://github.com/lllyasviel/Fooocus
%cd /content/Fooocus
!python entry_with_update.py --share --always-high-vram --preset anime
アニメモードは本来、blue pencil-XL-v0.5.0をベースモデル、SD1.5系のDreamShaper 8をRefinerモデルとして画像生成することになっていますが、無料Colabの場合は、すぐにメモリ不足でエラーになってしまうので、Refinerモデルは外してNoneに設定してください。
画像スタイルは、デフォルトでFooocus V2、Fooocus Masterpiece、SAI Anime、SAI Digital Art、SAI Enhance、SAI Fantasy Artに設定されています。
以下はアニメモードの画像生成例です。
(2) リアリスティックモード
実写風画像に特化したリアリスティックモードのコードは以下の通りです。
一番下の行に「--preset realistic」が追加されています。
一般モードと同様に、Colabノートのセルにコピーして使用してください。
!pip install pygit2==1.12.2
%cd /content
!git clone https://github.com/lllyasviel/Fooocus
%cd /content/Fooocus
!python entry_with_update.py --share --always-high-vram --preset realistic
リアリステックモードは、Realistic Stock Photo v1.0をベースモデルとし、SDXL Film Photography Style beta v0.4をLoRAとして使用しています。
また、画像スタイルは、デフォルトでFooocus V2、Fooocus Photograph、Fooocus Negativeにチェックされ、ガイダンススケールは3に設定されています。
以下はリアリスティックモードの画像生成例です。
6.デフォルトモデル以外の使用
Fooocusの現在のデフォルトモデルは、Juggernaut XL v6+RunDiffusionになっています。
以下のコードを書き換えて、デフォルトモデル以外のモデルを使用することができます。
!pip install pygit2==1.12.2
%cd /content
!git clone https://github.com/lllyasviel/Fooocus.git
!apt -y install -qq aria2
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/173768 -d /content/Fooocus/models/checkpoints -o CherryPickerXL-v2.7.safetensors
%cd /content/Fooocus
!python entry_with_update.py --share --always-high-vram
他のモデルを使用するには、5行目の!aria2cで始まるコードを、それぞれのモデルに対応したコードに書き換えてセルを実行してください。複数のモデルを同時にインストールすることも可能です。
(1) 実写風画像
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/173768 -d /content/Fooocus/models/checkpoints -o CherryPickerXL-v2.7.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/Lykon/dreamshaper-xl-turbo/resolve/main/DreamShaperXL_Turbo_dpmppSdeKarras_half_pruned_6.safetensors -d /content/Fooocus/models/checkpoints -o DreamShaperXL_Turbo_dpmppSdeKarras_half_pruned_6.safetensors
③ fuduki mix、nagatsuki mix
日本人女性に特化した実写風画像です。
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/Kotajiro/fuduki_mix/resolve/main/fuduki_mix_v20.safetensors -d /content/Fooocus/models/checkpoints -o fuduki_mix_v20.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/238354 -d /content/Fooocus/models/checkpoints -o nagatsuki_mix_v20c.fp16.safetensors
④ 実写風画像のおすすめノート
Cherry Picker XL v2.7、DreamShaper XL Turbo、fuduki mix v2.0
!pip install pygit2==1.12.2
%cd /content
!git clone https://github.com/lllyasviel/Fooocus.git
!apt -y install -qq aria2
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/173768 -d /content/Fooocus/models/checkpoints -o CherryPickerXL-v2.7.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/Lykon/dreamshaper-xl-turbo/resolve/main/DreamShaperXL_Turbo_dpmppSdeKarras_half_pruned_6.safetensors -d /content/Fooocus/models/checkpoints -o DreamShaperXL_Turbo_dpmppSdeKarras_half_pruned_6.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/Kotajiro/fuduki_mix/resolve/main/fuduki_mix_v20.safetensors -d /content/Fooocus/models/checkpoints -o fuduki_mix_v20.safetensors
!python entry_with_update.py --share --always-high-vram
(2) アニメイラスト
① Animagine XL
公式ブログ:Announcing Animagine XL 3.1 - CagliostroLab
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/cagliostrolab/animagine-xl-3.0/resolve/main/animagine-xl-3.0.safetensors -d /content/Fooocus/models/checkpoints -o animagine-xl-3.0.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/cagliostrolab/animagine-xl-3.1/resolve/main/animagine-xl-3.1.safetensors -d /content/Fooocus/models/checkpoints -o animagine-xl-3.1.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/gsdf/CounterfeitXL-V2.0/resolve/main/CounterfeitXL-V2.5.safetensors -d /content/Fooocus/models/checkpoints -o CounterfeitXL-V2.5.safetensors
③ blue pencil-XL
blue pencil-XL-v0.5.0は、アニメモードのデフォルトモデルです。
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/bluepen5805/blue_pencil-XL/resolve/main/blue_pencil-XL-v0.5.0.safetensors -d /content/Fooocus/models/checkpoints -o blue_pencil-XL-v0.5.0.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/bluepen5805/blue_pencil-XL/resolve/main/blue_pencil-XL-v3.1.0.safetensors -d /content/Fooocus/models/checkpoints -o blue_pencil-XL-v3.1.0.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/229987?type=Model&format=SafeTensor&size=pruned&fp=fp16 -d /content/Fooocus/models/checkpoints -o BreakDomainXL-v06d.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/aipicasso/emi-2/resolve/main/emi-2.safetensors -d /content/Fooocus/models/checkpoints -o emi-2.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/aipicasso/emi-2-5/resolve/main/emi-2-5.safetensors -d /content/Fooocus/models/checkpoints -o emi-2-5.safetensors
⑥ アニメイラストのおすすめノート
Animagine XL 3.0、blue pencil-XL-v3.1.0、BreakDomainXL-v06d
!pip install pygit2==1.12.2
%cd /content
!git clone https://github.com/lllyasviel/Fooocus.git
!apt -y install -qq aria2
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/cagliostrolab/animagine-xl-3.0/resolve/main/animagine-xl-3.0.safetensors -d /content/Fooocus/models/checkpoints -o animagine-xl-3.0.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/bluepen5805/blue_pencil-XL/resolve/main/blue_pencil-XL-v3.1.0.safetensors -d /content/Fooocus/models/checkpoints -o blue_pencil-XL-v3.1.0.safetensors
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/229987 -d /content/Fooocus/models/checkpoints -o BreakDomainXL-v06d.safetensors
%cd /content/Fooocus
!python entry_with_update.py --share --always-high-vram
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?