最近ComfyUIを触り始めたのですがその複雑さ故にたまにはシンプルなUIも触りたいと、話題のFooocusに手を出してみました。結論として、ただ画像を生成するだけならシンプルなためにとても扱いやすく、またベッドに横になりながらスマホで画像生成するには最適でした。
この記事では、Fooocusの概要を軽く説明した後に、導入方法と使い方、スマホ生成環境の整備という流れで解説していきます。
Fooocusとは
Fooocusとは、Automatic1111やComfyUIと同じくStable Diffusionを利用するためのUIです。ControlNetの開発者Lvmin Zhang氏が作っていることから登場後すぐに注目が集まりました。コミュニティの要望に対する対応も早いことから、今後さらに人気が高まることが予想されます。
Fooocusの特徴は以下です。
- オフラインでの利用が可能、オープンソース、無料。
- MidjourneyのようなシンプルなUI。
- 最小要件が4GB Nvidia GPU メモリ (4GB VRAM)と8GB システム メモリ (8GB RAM)ととても軽量。
- ユーザーは技術的な話を忘れて画像を生成することだけに集中できる。
- シンプル故に拡張性は乏しい。
どんな方におすすめかというと、SDXLを利用してみたいもののPCのスペック不足で出来ないという方、ベッドに横になりながらStable Diffusionで画像生成したいという方には特におすすめです。
導入方法
Fooocusは導入方法もシンプルです。
まだPython 3.10.6を導入していない場合
Pythonの公式サイトよりPython 3.10.6のインストーラーをダウンロードします。ダウンロードが完了したらインストーラーを実行して、最初の画面にて「Add Python to PATH」にチェックを入れ、その後は画面の案内に沿ってインストールを行ってください。
GitHubのDownloadにある「Click here to download」をクリックして.7z
ファイルをダウンロードします。
ダウンロードしたファイルは7-Zipなどを利用して解凍します。中身はFooocus
、python_embeded
、run.bat
です。
この中のrun.bat
を実行すると必要な環境を自動で整備しつつFooocusが起動します。この際にsd_xl_base_1.0_0.9vae.safetensors
とsd_xl_refiner_1.0_0.9vae.safetensors
が自動でダウンロードされ導入されます。既にこれらを持っている場合には\Fooocus\models\checkpoints\
に置いておけば初回起動の時間短縮になります。
Fooocusの使い方
使い方は極めてシンプルです。プロンプトを入力して「Generate」をクリックするだけです。ネガティブプロンプトはプリセットとしてFooocusにセットされているため、基本的には入力が必要なプロンプトはポジティブのみです。(ネガティブの入力方法は後述)
生成された画像は\Fooocus\outputs
に保存されます。
左下の「Advanced」にチェックを入れると「Setting」タブ、「Style」タブ、「Advanced」タブが表示されます。
「Setting」タブでは以下の設定が行えます。
- Performance:画像生成を速度優先にするか品質優先にするか。
- Aspect Ratios:画像サイズの変更。
- Image Number:一度に生成する画像の枚数。デフォルトは何故か2。
- Ramdom Seed:Seed値の指定。
- Nagative Prompt:ここでは品質系ネガティブプロンプトは指定しなくていいかも。
「Style」タブでは画像に適用するプリセットを設定することができます。執筆時点で105種類のプリセットがあります。使用例はSemon氏を初めとした方々がFooocus_Style_ReferenceとしてGoogle スプレッドシートにまとめてくれています。
「Advanced」タブでは以下の設定が行えます。
- checkpointの変更。
- LoRAの適用とWeightの変更。
- ファイルの更新。
- Sampling Sharpness:シャープネスの変更。
スマホ環境の整備
run.batの変更
起動オプションを使用することでスマホから操作することも可能となります。\Fooocus\run.bat
に以下の変更を加えます。
.\python_embeded\python.exe -s Fooocus\entry_with_update.py --listen --port 7850
pause
--listen
でLAN上の他の端末からアクセスが可能になります。--port
をデフォルトの7860
から7850
にすることでAutomatic1111などとの競合を防ぎます。
出先から繋ぎたい場合には--share
を使用します。これによりGradioのグローバルurlで外部からもアクセス可能になります。なおセキュリティ上の問題もあるため、不要であれば使わないようにしてください。また使用する場合には--share
を追記したうえで個別の追加設定が必要になります。
変更を加えrun.bat
を実行するとファイヤーウォールの警告が出る場合があります。この際は「アクセスを許可する」をクリックしてください。
ポートの解放
スマホからアクセスができるようにポートの解放を行います。
Windowsの「設定」→「プライバシーとセキュリティ」→「Windowsセキュリティ」→「ファイヤーウォールとネットワークの保護」→「詳細設定」の順にクリックしてください。
「受信の規則」→「新しい規則」とクリックしてください。
「ポート」を選択して次へ。
「TCP」→「特定のローカルポート」と選択して7850
と入力して次へ。
「接続を許可する」を選択して次へ。
「ドメイン」と「パブリック」のチェックを外して「プライベート」のみを選択して次へ。
「名前」に任意の名前を入力して完了を押します。
IPアドレスの確認
続いてFooocusが動作するPCのIPアドレスを調べます。
コマンドプロンプトにてipconfig
と入力して実行してください。IPv4のアドレスが表示されているはずです。そのIPアドレスに:7850
を付け加えた以下が接続時のURLとなります。Xの部分は人によって異なります。
http://XXX.XXX.XXX.XXX:7850
スマホで接続
run.bat
を実行した状態でスマホのブラウザからhttp://XXX.XXX.XXX.XXX:7850
にアクセスするとFooocusのUIが表示されるはずです。
端末の画面サイズによっては「Generate」が見切れるなどはありますが(私のiPhone 13 miniでは見切れる)、押せないことはないと思います。
元のUIがシンプルであるためスマホで操作しやすいと思います。
さいごに
Automatic1111などはスマホ操作するには複雑ですが、FooocusはMidjournyやnijiのようにスマホでの生成も用意な点が気に入りました。アップデートによりcheckpointやLoRAの変更も可能になったため、今後は簡単な画像生成ならベッドに居てもできます。
コンセプトがMidjournyのようなシンプルなUIということなのでControlNetなどは使えるようにならないと思いますが、今後どのように発展していくのかとても楽しみです。
コメント
コメント一覧 (2件)
記事いつも参考にさせていただいています
すごくわかりやすい記事でした
質問ですが、FooocusでStable Zero123を使うことは出来ないでしょうか??
2Dから3Dデータ化してアバターを作りたいのですが…
暫くの間サイトを放置していたため、返信が遅れ申し訳ございません。
現在多忙なため画像生成界隈から離れており、
FooocusでStable Zero123を使用できるか、
という問いに対しての回答を持ち合わせていません。
申し訳ございません。
p.s.
Fooocusの開発コンセプトを考えると、
単一画像から3Dオブジェクトを生成するというような高度な機能は持たせない気がします。