生成AIストリーム

画像生成AIを使い倒す!「Stability Matrix」で使えるWebUIを紹介

「Fooocus」や「ComfyUI」の使用方法

「Fooocus」から「ComfyUI」まで! 「Stability Matrix」で使えるWebUIを紹介

 前回は、生成AIを始める方にも、いままで触ってきた方にも最高におすすめしたいツール「Stabillity Matrix」のインストール方法を解説しました。画像生成の各種ツール(WebUI)を環境構築なしで使える上、巨大なAIモデルファイルを各WebUI間で共通管理できる優れものです。

 今回の「生成AIストリーム」は、そんな「Stabillity Matrix」で導入・利用できる各WebUIを解説していきたいと思います。

WebUIパッケージのインストール方法

 その前に、WebUIのインストール方法をおさらいしておきましょう。

 まずは、左サイドバーにある[Packages]ボタン(箱のアイコン)を選択して画面下側にある[パッケージの追加]を押します。するとWebUIパッケージの選択画面が現れるので、右側にある一覧リストから使いたいパッケージを選択し、[インストール]ボタンを押せばインストールが開始されます。

インストールはこの4箇所を順にクリックするだけ

 歯車型アイコンからはインストールオプションが選択できます。WebUIが上手く動作しない場合はオプションを変更してインストールしなおしてみると動作するかもしれません。

 インストールが完了するとパッケージの一覧画面に該当のパッケージが表示されるので、[Launch]ボタンを押しましょう。ロードが完了すれば[WebUIを開く]ボタンを押してWebブラウザーでWebUIを開き、操作を開始できます。

「MidJourney」感覚の生成を独占できる「Fooocus」を体験!

 「Fooocus」は、生成画像のスタイルなどを制御できる「Stable Diffusion」のアドオン「ControlNet」を作ったスタンフォード大学のLvminさん(Lvmin Zhang)が作っているWebUIで、「Stable Diffusion」の最新版「SDXL」専用になります。GitHubで24kもスターが付いています。

「Fooocus」のGitHub

 「Fooocus」をインストールするときは、「Stabillity Matrix」のWebUI選択画面でWebUIの一覧リストから[Fooocus By lllyasviel]を選んでください。他にもいくつかの「Fooocus」追加版が存在するので、試してみてもいいでしょう。

 使い勝手は、まさに「Midjourney」、「にじジャーニー」をWebUIで「1人で使う」という感じの環境を構築できます。非常に少ないプロンプトで「SDXL」らしい空間の広がりやライティング品質の高い画像を作ってくれます。

「Fooocus」での生成。プロンプトは「bike and girl」だけ

 「SDXL」らしい立体感が素晴らしいですね。

 「Fooocus」は、初回起動時のモデルのロードに時間がかかりますが、その後は非常に高速かつ高品質な画像を生成できます。短いプロンプトで生成できる点と、「Midjourney」や「にじジャーニー」をよく研究しており、(ブラックボックスではなく)オープンソースとして、元祖「Midjourney」に良い刺激を与える可能性があります。

 セットアップ後の細かい設定については筆者のブログをご参照ください。

美しいUIと速度・カスタマイズ性が魅力の「VoltaML」

 日本ではほぼ使っている人が観測されない「VoltaML」ですが、他のWebUIが「Gradio」で作られている一方で、Typescript、Vue.js、NaiveUI、Ioniconsという全く異なるUI技術で作られています。

 また使ってみると意外と面白いプロジェクトです。

「VoltaML」のリポジトリ

 テキストからの画像生成、画像からの画像生成、画像からのタグ化、ControlNetなど「Automatic1111」とほぼ同等の機能がありますが、まず最初にモデルのロードするところから選択していくことでメモリの消費や仕上がりなどを調整していけるのは「ちょっと玄人向き」かもしれません。

「1girl」のみ、モデル「blue_pencil-v10」を使って生成。左右に別れたUIでAutomatic1111のようなスクロールが不要なのが好印象
「Controlnet」の「Canny」を実行して絵を錬成していく
生成画像の詳細を確認。「Controlnet」のパラメータや「prompt to prompt」の設定なども読み取ることができます
Img2img機能の利用。左側で塗りつぶした部分が再生成されます

 1枚の画像を20秒程度で生成する速度の魅力に加えて、UIの美しさ。カスタマイズ性も高く、かなり細かいところまで設定できます。しかし、それだけではないようです。「Docker」向けに設計されていることもあり、大きなVRAMを搭載したGPUがなくても動くように設計されています。起動時オプション([Launch]ボタンの右のギアアイコン)で「PyTorch」のオプションで、CUDAのようなGPU演算環境CPUやIntel、DirectMLといった非GPU搭載環境向けのオプションを入れたり、Config内のパラメータを自分好みに設定していくことで動きます。「HiRes.Fix」のような2段階の高画質化やimage2imageを意識した生成が一連のUIに統合されているので、そのような画像生成で「勝ち筋」が決まっている使い手にとっては快適性が増しそうです。

「PyTorch」のオプション。非GPU搭載環境向けの設定がある。
VoltaMLによるタグ1girl, black_bow, cup, plant, bow, food, plate, solo, sitting, cafe, brown_hair, saucer, black_bowtie, ponytail, shirt, teacup, smile, bowtie, table, hair_bow, eating, indoors, chair

 モデルのブラウザーもあり、「HuggingFace」や「CivitAI」からのブラウジングから直接インストールもできます。また「Accelerate」という機能があり、Metaが開発する「AITemplate」や「ONNX」(Open Neural Network Exchange)といったフレームワークを使った高速化が試せるようです(筆者の環境では実行ができなかった)。いずれにしても機械学習が大好きな方々向けのWebUIという印象です。

AITemplateやONNXといったフレームワークを使った高速化が試せる

プロ向け画像錬成「InvokeAI」

「InvokeAI」のUIも左右に分かれていてスクロール不要

 続いて「InvokeAI」です。残念ながら筆者の環境では「Stable Matrix」そのままでは動かなかったのですが[Launch]ボタン右の歯車型ボタンで表示できる[Launch Options]から、updateを実施し、右上のキーボード型ボタンで直接入力し、最新版に更新することで利用できました。

右上のキーボード型ボタンで直接入力して最新版へ更新

 起動できない時は[Launch Options]画面で[--precision float16]オプションを有効化して起動してみてください。

[Launch Options]画面で[--precision float16]オプションを有効化すると起動する場合がある

 「InvokeAI」は左側にメニューアイコン、処理は左から右といったUIです。体感として他のWebUIと大きく異なる点は、[Invoke](呼び出し)ボタンで、これを押すとキューに処理が溜まっていきます。非常に快適にどんどん処理を実施できる点が『忙しいのにカッコいい画像をどんどん作らなければならない広告業界向きだな……』と思いました(偏見かもしれませんがスミマセン)。ちなみに[Invoke]ボタンは押せる条件が揃うまではボタンが押せません。例えば「ControlNet」の設定ミスなどにも気づくので便利です。

キューに処理を貯められる[Invoke]ボタン
bad boys with sunglassesというプロンプトで別のモデルを使いimage2imageで目的の絵のレイアウトを作り……
Canvasモードでマスク領域を作り錬成…
いい感じのイメージイラストが出来上がりました

ノードベースのWebUI「ComfyUI」は一見の価値あり

 次にいま最も注目が集まっている「ComfyUI」を紹介します。GitHubではスター14Kの人気度です。

「ComfyUI」のGitHub

 快適(Comfy)なUIを目指して命名されていると想像します。ノードベースと呼ばれるGUIで、「Stable Diffusion」の各処理の過程について、箱と箱を矢印で接続していくことでネットワークを構成します。内部でどんな処理が行われているのか?といった調整や可視化、そして今後期待される動画生成や高速化に大変便利なツールです。

 こちらもGPUなし環境をサポートしているので、(1画像生成するのに3分ぐらいかかりますが)試してみたい時は[Launch Options]画面で以下の設定で起動してみてください。

[Use CPU only]にチェックを入れ(①)、保存(②)。これでCPUのみを使う設定ができた。

 起動したら以下のようにノードとリンクがつながったWebUIが表示されます。画像が表示されていない場合は[Load Default]ボタンを押したあと、[Queue Prompt]ボタンを押してください。

これが「ComfyUI」による「Stable Diffusion」の設計図

 実はこの設計図のようなものが、「Stable Diffusion」によるテキスト画像生成になります。一番左が上流で、右に向かって画像を生成していきます。画面中央、オレンジ色のリンクが出ている[CLIP Text Encode (Prompt)]ノードにプロンプトを入れてみましょう。もう1つある白いリンクが出た[CLIP Text Encode (Prompt)]ノードがネガティブプロンプトです。

【一番左の部品で別のモデルに差し替えてテキスト画像生成した様子】
「ComfyUI」の作者さんのリポジトリでサンプルが多数配布されています。例えばImage2Imageや「LoRA」などを使ったサンプルがあるので使ってみましょう。

https://github.com/comfyanonymous/ComfyUI_examples

実際に「LoRA」を適用した例はこのようになります。ダブルクリックして[CLIP Text Encode (Prompt)]ノードの前段階に[LoRA Loader]ノードを配置し、好きな「LoRA」を選んで、もともと[CLIP Text Encode (Prompt)]ノードに繋がっていたリンクを繋ぎ直しただけです!

仲の良いイラストレーターさんと作った自作のLoRAを使って独自の画風を探求していく

自作のLoRAについての解説はこちら

筆者による技術同人誌「自分のLoRAを愛でる本」

 「ComfyUI」の興味深い先進性はノードだけではありません。この設計図(Script)はJSON形式で保存、ロードすることもできます。さらに、生成された画像にもこの設計図が埋め込まれています。

「Stability Matrix」は生成AIオープンソースコミュニティの「Linux」

 おそらく今回したこのパッケージインストーラーの流れは30年前の「Linux」に似ています。「RedHat Linux」「CentOS」「Ubuntu」のような「ディストリビューションパッケージ」のような『もっと多くの人々に便利に使ってもらおう!』という気持ちで作られた生成AIオープンソースコミュニティの次世代ムーブメントであることを感じます。

 多くの人々が使っている「Automatic1111」のような元祖ツールが、非常に洗練された良質のプロジェクトを生み出し、このような便利なパッケージを通してより多くの人々に流通し、磨き上げられていく。そんな熱い現場を感じていただけたら幸いです。「Stability Matrix」プロジェクトのリリース予告版はクリエイター支援サービス「Pateron」での支援者には公開されているようです。

「Patreon」のStability Matrix Team支援ページ

 筆者のAICU社でも多様なユーザや業種に向けた詳細なワークショップ開催や解説記事などで掘り下げています。無料で使うだけでなく、開発者さんや社内のエバンジェリストを応援していければと思います!