いまからでも遅くない!ツールとして使うAI画像生成

第4回

連休こそはじめたい好み丸出しAI画像生成の保存版手順書

はじめに

 画像生成分野。本連載では「しらいはかせ」こと、書籍『AIとコラボして神絵師になる 論文から読み解くStable Diffusion』の著者・白井暁彦氏が今後身近になっていくであろう「テキストによる画像生成AI」の世界を読者のみなさんに わかりやすく、ゆるめに伝える連載 です。誰にでも使える、楽しめるツールとしてのAI画像生成についてお届けしています。

生成AI時代のカンブリア爆発

 昨年末から毎日のように、ものすごいスピードで進化を遂げている生成AI分野。
まるでカンブリア爆発です。AIの多様性が一気に広がっています。

 「いまからでも遅くないAI画像生成入門」というタイトルで連載を続けてきましたが、
進化の速度が速すぎて「だいぶ置いていかれてしまった……」という気持ちになる方も多くいらっしゃるかもしれません。しかしそれは当たり前のことです! 本連載のタイトルにもあるように「今からでも遅くない」という気持ちを持ちつつ、いまからでも楽しいことを見つけてはじめていくことが大事です。

 この連載の最後を締めくくるべく「いつでも自分で探求できる」そういう状態を作ってみます。この連休に一歩踏み出して、やりたいことをいつでもやれるようになってみましょう!

 そう連載の最後として、より本格的かつ沼オブ沼の深淵……の入口をご案内したいと思います……(笑)。

自分のGPUでモリモリ画像を生成するには「AUTOMATIC1111/stable-diffusion-webui」

 まずはこの連載で紹介してきたツール類や「MidJourney」、「DreamStudio」、「MemePlex」などのサービスは、継続的に使うのであれば課金し続ければ良いと思います。でも自分の方向性や探求を極めてみたい、そして自慢のGPU搭載PCで気軽にハイクオリティな画像生成を気軽に楽しみたい!

 そんなあなたに絶対おすすめなのは「Automatic1111」(オートマチック・イレブン・イレブン)というツールです。

 これは「Stable Diffusion」(以下、「SD」)を使いやすくしたPython環境で、さらにこのツールをWebブラウザー上のユーザーインターフェイス(WebUI)を通して機能を使う手法が「AUTOMATIC1111/stable-diffusion-webui」(以下、「SD WebUI」)です。

 最近の「SD」をハードに使う方々は、この生成環境を自宅のGPU搭載PCにインストールしたり、「Google Colab」やリモート環境にインストールしたりしています。標準搭載されている「Gradio」という簡易クラウド化サービスを使えば、さらに利用サイトを自分専用のクラウド化することができるので、例えば移動中のスマホでも利用できます。

便利なインストーラー「A1111-Web-UI-Installer」

 普段からPythonプログラミングを業務にしている方は『PythonとGitのインストール、そしてGitHubのリポジトリからのクローン、インストールスクリプトの実行……』という手順で実行していただければ良いのですが、『そんなのわからん!』という方におすすめなのが簡易インストーラー「A1111-Web-UI-Installer V1.7.0」です。NVIDIAのGPU搭載のWindows 10/11であれば、インストールは全自動で終わります、そして使わないときのアンインストールもシンプルで簡単です。

「A1111-Web-UI-Installer」v1.7.0のダウンロードページ

原稿執筆時点で最新の「A1111.Webui.Launcher.V1.7.0.exe」をダウンロード

 ダウンロードしたEXEファイルをダブルクリックすると「Microsoft Defender」が起動し、警告を表示ますので[詳細情報]→[実行]で実行します。

デフォルトのインストール先はドキュメントの「A1111 Web UI Autoinstaller」フォルダーになります

 「A1111 WebUI (Pin to Taskbar)」というショートカットファイルをダブルクリックすると、PCへの管理者権限確認があり、「Windows PowerShell」が起動して必要なソフトウェアのダウンロードとセットアップが始まります。もしこの段階でうまくいかないときは、過去のPythonインストールが残っている可能性があります。アンインストールして、環境変数にPython関係の記述が残っていないか確認しましょう。

インストール時に「Stable Diffusion 1.5」のベースモデルをインストールするかどうかを訊かれますが、後でまとめてインストールできるので[いいえ]を選んで構いません
設定画面

 設定画面にある各チェックボックスの意味は以下の通りです。

  • Auto-Update WebUI:WebUIは頻繁にアップデートされるので追従したければONで
  • Auto-Update Extension:拡張機能(後記)の更新を起動時にチェックしてインストールします。こちらもONでいいと思います。
  • Clear All Generations:生成した画像を次回起動時にすべて削除します。人に見られたら困る画像を大量生成するのでなければOFFでいいと思います。
  • Low VRAM:8GBより小さなVRAM(たとえば1~4GB)を搭載したGPUの場合はチェックを入れてください。自分のPCがどんなGPUを搭載しているのかわからないときは一番下を見ると確認できます(この場合は「NVIDIA GeForce RTX 3070 Laptop GPU 8GB」です)。
  • Enable Xformers:速度が速くなります。ONにしておきましょう。

 その他の項目は、今はデフォルトのままで構いません。例えば私はクラウド経由で利用したいので[Additional Launch Options]欄に「--share」を記入して[SAVE]ボタンを押すことで起動時オプションを設定します(詳細はこちら)。まずは初回なのでここでは何も設定せずに[LAUNCH WEBUI]を押して起動しましょう。

 ネットワークの速度にもよりますが初回はダウンロードとセットアップがあるので20分ぐらいです。待ち時間にこちらの動画を視聴しておくことをお勧めします。

日本一わかりやすいStableDiffusion WebUI AUTOMATIC1111(ローカル版)のインストール方法と基本的な使い方(by テルルとロビン【てるろび】旧やすらぼ)

 子供でもわかりやすい30分ほどの楽しい感じの動画ですが、基本的なことを丁寧に解説しており絶対見る価値あります!

 動画の基本的な流れは以下の通りです。

  1. Python3.10.6のインストール
  2. Gitのインストール
  3. 「Automatic1111」をGitHubからクローン
  4. モデル(この動画ではAnything-v4.0-pruned.safetensors)の入手
  5. ダウンロードしたモデルを「stable-diffusion-webui¥models¥Stable-diffusion¥」に配置
  6. インストールスクリプト(webui-user.bat)の実行
    ※ここまでを簡易インストーラーがやってくれています
  7. その後「Running on local URL: http://127.0.0.1:7860 」が表示される
  8. 最初の生成テスト
  9. 「VAE」をインストールする(vae-ft-mse-840000-ema-pruned.safetensors)
  10. プロンプトの考え方①品質呪文
  11. プロンプトの考え方②作風・主体・環境
  12. 強調構文の書き方
  13. 他のモデル紹介

 今回紹介した簡易インストーラーを使う方法ではあっという間に自動でインストールが終わってしまいますが、簡易インストーラーを使わない方法、特に管理者権限がないPCでのインストールやGitHubやPythonプログラミングなども併せて学びたい人、そして「SD」によるプロンプトを極めてみたい人に向けた素晴らしい保存版の解説動画です。ここから先はこの動画の流れに沿って解説します。

 「Running on local URL: http://127.0.0.1:7861」と表示されればインストール終了です。[LAUNCH WEBUI]を押すと「SD WebUI」が起動します。ブラウザーで「http://127.0.0.1:7861」にアクセスしてみてください(自動で開いていると思います)。

「http://127.0.0.1:7860/」に「SD WebUI」が起動した

 プロンプトに適当なワード、例えば「flower」とか「初音ミク」と入れて[Generate]ボタンを押してみましょう。数秒で花や初音ミクの画像が生成されればテキストからの画像生成「text2img」の成功です!

「Automatic1111-Stabile Diffusion-WebUI」で学ぶプロンプトの極意

txt2imgに描いてもらいたいプロンプトを入力→[Generate]

 まずは形容詞をどんどん足していくことで、段階を追って絵が良くなる工程を確認してみましょう。以下のサンプルプロンプトを1行ずつ試してみてください。

anime girl loved by all
anime girl loved by all by Mucha
beautiful anime girl loved by all by Mucha
silver hair beautiful anime girl loved by all by Mucha
beautiful anime girl loved by all by Mucha, sakura background
beautiful sitting anime girl loved by all by Mucha, Sakura background trending on pixiv super resolution
beautiful face sitting short hair anime girl loved by all by Mucha, Sakura background trending on pixiv super resolution
beautiful face sitting short hair anime girl loved by all by Mucha, Sakura background trending on pixiv super resolution Canon EOS-D 100mm

 同じプロンプトによるtext2imgでも試行によって画像は異なります。この辺りは乱数の種(Seed)を「-1」ではなく固定の値にすると安定します。

 生成された画像は「outputs」フォルダーに保存されます。簡易インストーラーを使った場合は「A1111 Web UI Autoinstaller¥stable-diffusion-webui¥outputs¥txt2img-images¥」の下の日付フォルダーに保存されます。画面中央下の「📁」をクリックすることでフォルダーを開くことも可能です。

 筆者の場合は「--share」オプションでクラウドから起動しているため、「http://127.0.0.1:7860/」ではなく「https://hogehoge***.gradio.live/」というURLで世界中からアクセスできる状態です。このURLを伝えれば、外部のPCやスマホからでも利用できます。その場合はその隣の[Save]ボタンで改めてダウンロードすることができます。

アニメ絵に強いモデルとVAEを利用する

 さてここまで動作テストした読者の皆さんは『なんだこんなもんか』という印象を持ったかもしれません。でもこれは、まだ沼にはたどり着いていない状態です。上記の「テルルとロビン」さんの動画には「SD WebUI」の基本操作と機能の前に、アニメ絵に強いモデルと「VAE」の入手を先に行って、その後にプロンプトの極意が解説されていますので本稿では要点をまとめて紹介していきます。

 まずは「SD」のモデルダウンロードに時間かかりますので先に実施しておきます。モデルとは、この場合Pythonの学習結果のデータと機能が詰め込まれた巨大なファイルのことで、「SD」に代表されるAI画像生成はこのモデル(獲得するのに普通に考えて数億円かかる)が「Hugging Face」といったAI研究開発向けの無償利用可能なオープンソースサイトで無料公開されています。

StabilityAI社による最新「Stable Diffusion 2.1」の入手

 ここでは「v2-1_768-ema-pruned.safetensors」をダウンロードしておきましょう。保存先は「A1111 Web UI Autoinstaller¥stable-diffusion-webui¥models¥Stable-diffusion」にします。

 次に、「Hugging Face」に行って、公開されているアニメ絵に強いモデル「AnythingV4」を入手します。

andite/anything-v4.0 at main

 ここでは「anything-v4.0-pruned.safetensors」をダウンロードします。保存先は先ほどと同じく「A1111 Web UI Autoinstaller¥stable-diffusion-webui¥models¥Stable-diffusion」に配置します。

 ダウンロードが終わったら「SD WebUI」を一度終了して再度起動しましょう。

 ダウンロードしたモデルは「SD WebUI」の画面左上のプルダウンリストで切り替えることができるようになります。

モデルは画面左上のプルダウンリストで切り替え可能

 例えば例に従いこんなプロンプトを設定してみます。同じプロンプトによるtext2imgでも試行によって画像は異なりますが、使用するモデルを変えると大きく結果が変わります。

woman, smile, office lady, tight skirt
モデルによって異なる結果。担当編集氏は「StableDiffusion v1-5」が好みとか

 「SD」のモデルは大量に存在しており、アニメ絵だけでなく実写、アジア風、日本人風など様々あります。Google検索で「Stable Diffusion モデル」で検索してみるといいと思います。流行り廃りも激しいです。いろいろなサイトで紹介されているのでビジュアルと共に研究されている方を参考にされるとよいと思います!

【Stable Diffusion】イラスト生成AIのモデル一覧。どれがお好み?

 なお、もしまだ触ったことがないモデルの場合はライセンスを確認しつつ、「fp16」(半精度)、「fp32」(単精度)、「safetensors」(安全版)、「pruned」(軽量)、「無印」がありますが、ウィルスなどの混入対策が施された「safetensors」か「pruned」版から始めるのが良いと思います。

「VAE」の追加と適用

 次に「VAE」をインストールしましょう。「VAE」は「Variational Autoencoder」(変分オートエンコーダー)の略です。ディープラーニングによる生成モデルの1つで、訓練データを元にその特徴を捉えて訓練データセットに似たデータを生成することができます。

 「SD」の場合は画質改善、特にコントラストや彩度に効果を発揮します。特定のモデル専用の「VAE」も存在しますが、ここでは「Hugging Face」のリポジトリにある「sd-vae-ft-mse-original」からStabilityAI社提供の定番汎用「VAE」である「vae-ft-mse-840000-ema-pruned」をダウンロードします。

ダウンロードページ

詳細を確認したい方はこちら

 配置フォルダーは「A1111 Web UI Autoinstaller¥stable-diffusion-webui¥models¥VAE」になります。一度「SD WebUI」を終了してブラウザーを閉じ、再度「SD WebUI」を起動します。

 [Settings]タブ(①)→[Stable Diffusion](②)→[SD VAE]プルダウンリストを[Automatic]から先ほどダウンロードした[vae-ft-mse-840000-ema-pruned]に切り替え(③)→[Apply Settings]ボタンを押します(④)。

[Settings]タブ(①)→[Stable Diffusion](②)→[SD VAE]プルダウンリストを[vae-ft-mse-840000-ema-pruned]に(③)→[Apply Settings]ボタンをクリック

 適用したら、再度同じプロンプトで生成してみます。先に結果はこちら。

 「VAE」によって彩度とコントラストが上がり印象が良くなったと思います。しかし、このように完全に同じテキストやシード値で再現するには運やメモが必要です。「SD WebUI」にはこういう時に便利なツールがたくさんあります。この場合まず、ひとつ前の工程で生成されたPNGファイルを[PNG Info]というタブにドロップすることで抽出してみましょう。

[txt2img]ではなく[PNG Info]タブに切り替えてPNGファイルをドロップした状態

 [parameters]エリアが表示されたら[Send to txt2img]ボタンを押すことでtxt2imgに値を張り付けることができます。この機能を使うと「SD」(正確には「SD WebUI」)で生成した画像に埋め込まれたプロンプトやモデル、シード情報を読むことができるため勉強になります。

プロンプトの魔術師になるための基本構文

 最新のSD WebUIのテクニックにはモデルや「VAE」以外にも追加学習「LoRA」や姿勢制御が可能になる「ControlNet」などもあります。しかしまずは画像生成のプロンプトそのもののテクニックでもかなりの「深い沼」があるので味わっていきたいと思います。

前出のテルルとロビンさんの動画にはいくつかの「裏技」が紹介されています。理論的には解説が難しいのですが、「前に書いたものほど影響を受ける」とか「品質>作風>環境>主体」のルールなどがあり、実際に効果があるので紹介させていただきます。

 「品質」には、とりあえず「masterpiece」を入れましょう。「masterpiece」とは「名作・傑作・名画」という意味です。他にも「ultra」「super」+「quality」「resolution」「detailed」といった形で強めの形容詞+クオリティを指定する対象を指定することで明らかに画質が良くなります。これを一番最初につけましょう。

プロンプト「masterpiece, ultra photorealistic, woman, smile, office lady, tight skirt」で生成

 さらにプロンプトの下にネガティブプロンプト(=出してほしくないプロンプト)として「worst quality, low quality」を指定することで、さらにクオリティが上がります。

ネガティブプロンプトの定番「worst quality, low quality」

 「作風」には以下のような、生成する画像の作画方法や画家の作風などを指定します。

  • 「illustration」(イラストレーション)
  • 「anime」(アニメ)
  • 「manga」(マンガ)
  • 「realistic」(写実)
  • 「sketch」(スケッチ)
  • 「pencil」(鉛筆画)
  • 「watercolor」(水彩画)
  • 「oil painting」(油絵)
  • 「Claude Monet」(モネ風)
  • 「Pablo Picaso」(ピカソ風)
  • 「Alfons Mucha」(ミュシャ風)

 「環境」には以下のように、俯瞰などの構図情報のほか時間帯や季節、天候、地域を指定します。

  • 「full body」(全身)
  • 「portrait」(ポートレート)
  • 「close up face」(顔アップ)
  • 「cowboy shot」(カウボーイショット)
  • 「wide shot」(ワイドショット)
  • 「from below」(下から)
  • 「viewfinder」(ファインダー)
  • 「summer」(夏)
  • 「winter」(冬)
  • 「snowfall」(雪)
  • 「landscape of Japan」(日本の風景)
  • 「medieval europe」(中世ヨーロッパ)
  • 「middle ages」(中世)

 「主体」は以下のような、目的物の属性、性別、髪型、表情、ポージングを指定します。

  • 1 little girl
  • black short hair
  • cat ear
  • red eyes
  • embarrassed eyebrows
  • skin fang
  • flat chest
  • frilled dress
  • white gloves on both hands
  • lying on bed

 初心者はつい「主体」から指定してしまいがちですが、「品質!作風!環境!主体!」という順番で覚えましょう。そして上手にモデルとプロンプトを選ぶと……美少女萌え絵だけでなく美男子も大量生産できるのです。これはお好きな人もいらっしゃるのではないでしょうか(ぼくもすきです)。

総合演習:担当編集者長谷川のオーダーにこたえてみよう

 さて、ここまで執筆して担当編集者の長谷川氏に原稿を納品してみたところ、美男子は好みではなかったらしく

代表画像は好みの画像を改めて生成していただくことは可能でしょうか。あくまでも参考までに、私の好みをお伝えしておきます。
貧乳 高身長 痩せ気味 黒髪 東南アジアファッション 輪郭は卵型 眉は濃いめ ファンキーなポーズ アクセサリマシマシ メガネ着用

という注文が入りました。

 これは総合演習にはちょうどよい課題ですね!みなさんも「特に描きたいモチーフ(motif:美術などで、創作の動機となる主要な思想や題材)がないなあ……」という方におすすめです。早速以下のようなプロンプトで取り組んでみました。

  • 【品質】masterpiece, best quality, ultra detailed,
  • 【作風】illustration,
  • 【環境】outdoor, asian beach,
  • 【主体】full body, portrait, Tall, thin, dark hair, Southeast Asian fashion, oval shape, dark eyebrows, funky pose, accessories, and glasses.
だんだん長谷川氏の性癖で埋め尽くされていく弊PCのハードディスク。

 元となる絵を生成するネガティブプロンプトも含めたプロンプトは以下の通りです。

[prompt] masterpiece, super quality, 8K, ultra detailed,
illustration, alfons mucha, figma, Sarong Kebaya, in south asian street, full body, portrait, slender and tall, flat_chest , 1girl, bare_shoulders, black_hair, earrings, hair_bun, jewelry, looking_at_viewer, eyewear

[Negative prompt] big_breasts, bad anatomy, bad hands, missing arms, text error, missing fingers, jpeg artifacts, long neck, signature, watermark, blurry, fisheye lens, animal, deformed mutated disfigured, mutated hands, missing hands, extra hands, liquid hands, poorly drawn hands, mutated fingers, bad fingers, extra fingers, liquid fingers, poorly drawn fingers, bad legs, missing legs, extra legs, bad arms, extra arms, long torso, thick thighs, partial head, bad face, partial face, bad eyebrows
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3590895121, Size: 512x512, Model hash: c4ff51422a, Model: anything-v4.0-pruned

 これをさらにimg2imgで錬成していくことで、最終結果に近づけていきます。

  • 【品質】masterpiece, super quality, 8K, ultra detailed face,
  • 【作風】illustration, alfons mucha,
  • 【環境】Sarong Kebaya,
  • 【主体】face, darkskin, slender and tall, flat_chest , 1girl, bare_shoulders, black_hair, earrings, jewelry, looking_at_viewer, round frame glasses

 「東南アジア」と一言で言っても「南方系モンゴロイド」は「卵型の顔」ではないのでどう解釈するか、肌の色はどうだろう、マレー人にするかどうか……でも私は褐色のほうがいい感じと思う……。
などなど探求しながら「dark skin」が入りました。

 これで担当編集長谷川氏も歓喜してくれるはず……!

インドまでに到達しましたね。(でも服は違うんすよ、タイ人の腰布とか、アオザイとか、バティック的なものとか……。AIは割と短絡的なので、しょうがないんでしょうか)

[結論]性癖は自分のPCで極めよう!!

 『え……何なの……俺こんなに頑張ったのに……!』
 『これが生成AI時代の作家の難しいところだな!』などと気を取り直しながら、さらに最近話題になっているモデル「BRA(Beautiful Realistic Asians) V4」も使って、「長谷川氏の納得する東南アジア女性像とは何か」を一晩勉強しなおしました。

 SD WebUI の「Batch count」に100といった大きな数字を入れて自動生成することができます。

担当編集長谷川氏に送りつけられた140枚のタイ画像詰め合わせ.zip より

BRA(Beautiful Realistic Asians) V4 ダウンロードページ

 このモデルをベースにさらに自分の好みの萌え絵を生成するマージモデルを作るもよし、実際にタイに旅行して、好みの写真を追加学習(LoRA)のための教師画像にするもよし、『ファンキーなポーズ』を探してきてControlNetに入れてポージングの指定にするもよし、これが画像生成AIの「沼オブ沼の入口」ですが、

 いずれにせよ『性癖は自分の生成AIで極めよう』……!ということで、今回の記事をまとめます。

いまからでも遅くないAI画像生成の明日!

 さて4回にわたって連載してきた生成AIの最新情報ですが、いかがでしたでしょうか。プロンプトなし、スマホだけで扱えるツールから、Webツール、そして自慢のGPU搭載PCでの本格的なツール、モデル、「VAE」、「LoRA」や「ControlNet」のような新しい機能もここから始まります。

 著者自身はメタバースの研究開発者として、生成AIを新たなクリエイティブや個人の表現に活用し始めています。例えば、先日フランスの国際VR展「Laval Virtual」で展示してきた「Metaverse Mode Maker」は、「SD」を使ってアバターのオリジナルのファッションを生成するVR体験です。

Metaverse Mode Maker in Laval Virtual (Ready to exhibition), 2024 April 12 from Laval, France

https://vr.gree.net/lab/uxdev/mmm/

 内部では今回紹介した「SD」を使用しています。

 さらにこのようなメタバース分野での人々の表現や可能性を挑戦する方々向けに「140秒でわかるメタバース開発TIPS」という動画シリーズやオンラインハッカソン「VTechChallenge2023 - MAKE IT YOURSELF」を開催しています。無料で、自分で学ぶ個人が、世界の最先端を走り出す時代が始まっています。

Unityで使うGitHub #140秒でわかるメタバース開発TIPS

VTech Challenge 2023 | GREE VR Studio Laboratory

 今回でこの連載「いまからでも遅くない!ツールとして使うAI画像生成」は終了となりますが、きっと現在の興味や探求を自分自身で極めたみなさんが、近い未来、画廊や市民講座で新たな画風や表現手法を極めた先生として、人々にAI画像生成の楽しみや「深い沼」を伝える日が来ることを確信しています(そのためには法律やモラル、正しい知識や理解、挑戦も必要です!)。

 また新しい時代でお会いしましょう!合言葉は「マスターピース!」

 ※次回から連載「しらいはかせのクリエイティブAIストリーム!」(仮)が予定されています。お楽しみに!