[Stable Diffusion] 驚異のAI画像生成!Stable Diffusion 拡張機能の威力を体験してみる

皆さんこんにちは!キカガクで機械学習講師をしている倉田です!

本日は、前回の続編として、Stable Diffusion Web UI の超便利な拡張機能の導入方法について紹介します!

この記事でわかること
  • Stable Diffusion Web UI で拡張機能を導入する方法
  • 必須で導入するべきおすすめの拡張機能 4選

そもそも Stable Diffusion WebUI って?


Stable Diffusion Web UI は、画像生成を手軽に実施できる ブラウザアプリケーションです。

Stable Diffusion と呼ばれる画像生成 AI を使って、誰でも簡単に画像を生成することができます!(しかも無料!)

※ 2023/6 からSD Web UI 実施には有料プランの Colab pro が必須となってしまいましたのでご注意ください。

【前回記事の復習】画像生成を実施してみる

では実際に画像を生成してみましょう!詳しいやり方は前回の記事を参考にしてください!

[Stable Diffusion] たった 1 分!AI 絵師でサイバーパンクな侍を描いてみた!

拡張機能を利用するメリット

前回記事では、 Stable Diffusion Web UI を使うと、非常に簡単に画像を生成できることが伝わったかと思います。ただし、ここで生成された画像はあまり綺麗とは言えないですね。

また、希望の画像が出てくるまで何度も画像生成を試すのですが、適切なプロンプトを探索するのも非常に手がかかりそうです。

実は、Stable Diffusion を使って画像生成を実施する場合、以下のような課題があります。

  • 適切なプロンプトを探索、決定するのが難しい。
  • 高画質な画像を生成するのが難しい。
  • 任意のポーズや構図をプロンプトで指定するのが難しい。

ここで、拡張機能を上手に使うことを皆さんにおすすめしたいと思います。拡張機能を使うことで以下のようなメリットを実感できます。

  • プロンプトの入力や探索が楽になる。→ SD WebUI Tag Autocomplete
  • 画像の精度(解像度、鮮明度など)が向上する。→ Multi Diffusion, Adetailer
  • 任意の構図の画像を生成しやすくなる。→ ControlNet

拡張機能の導入方法


【結論】拡張機能の導入方法

画像生成をする上で拡張機能の導入は必須と言えます。一見小難しそうですが、拡張機能の導入方法は非常にシンプルです。

具体的には以下のようなコードを、モデルのダウンロード後に挿入するだけで、簡単に導入することができます。

拡張機能の導入方法
#拡張機能をインストール
%cd /content/stable-diffusion-webui/extensions/

!git clone (拡張機能の GitHub のリンク)

%cd /content/stable-diffusion-webui

【例】実際に拡張機能を導入してみましょう!

例えば、SD WebUI Tag Autocomplete という拡張機能を導入してみましょう。この SD WebUI Tag Autocomplete は、プロンプトの候補を提案してくれる拡張機能です。

1. 拡張機能の GitHub にアクセスする


はじめに、導入したい拡張機能の GitHub にアクセスしましょう。どの拡張機能でも手順は同じですので、ご自身が使いたい拡張機能に合わせて実施してみてください。

今回は、SD WebUI Tag Autocomplete の GitHub を見ていきましょう。GitHub のページに飛ぶと、下図のようなページがでてくると思います。

2. GitHub ページから拡張機能のリンクを取得する


ここから、図中の ①, ② を実行して、GitHub のリンクを取得しましょう。

3. 拡張機能のリンクをコードに反映する


ここで取得したリンクを、!git clone (拡張機能の GitHub のリンク) の部分にコピペしましょう。

すると、以下のようになりますね!

(例) 拡張機能 SD WebUI Tag Autocomplete の導入
#拡張機能をインストール
%cd /content/stable-diffusion-webui/extensions/

!git clone https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git

%cd /content/stable-diffusion-webui

これでコードの準備は完了です。あとはこのコードをモデルロード後に差し込みましょう!

4. コードを実行する


それでは、google colab を実行し、リンクから Stable Diffusion Web UI にアクセスしましょう!すると、拡張機能が反映されているはずです!

例えば下の画像であれば、“wink” というプロンプトに対して、”one_eye_closed” のほうがいいよという提案や、関連するワードを提示してくれています。

このように、以下の雛形さえ押さえておけばどんな拡張機能も簡単に実装できます。

また、複数の拡張機能を扱いたい場合には、そのまま 、!git clone (拡張機能の GitHub のリンク) を複数書くことで導入できます。

拡張機能の導入方法 ( 複数 ver. )
#拡張機能をインストール
%cd /content/stable-diffusion-webui/extensions/

!git clone (拡張機能 1 の GitHub のリンク)
!git clone (拡張機能 2 の GitHub のリンク)
!git clone (拡張機能 3 の GitHub のリンク)

%cd /content/stable-diffusion-webui

絶対必須!おすすめの拡張機能 4 選


拡張機能を利用すれば、簡単に画像生成の効率を上げることが出来ますね!上ではプロンプトサポートの拡張機能を紹介しましたがそれ以外にも多様な機能の拡張機能が用意されています!

ここでは、私がいつも必須で使っている拡張機能をご紹介します。これ以外にも有用な拡張機能がたくさんありますが、まずはこれから紹介する拡張機能をぜひ使ってみてください!

拡張機能 実装済みの Colab ノートブックはこちら

プロンプト入力支援 : SD WebUI Tag Autocomplete

SD WebUI Tag Autocomplete はプロンプトの入力支援の拡張機能になります。

有効なプロンプトや言い換えを即時に提示してくれるので、開発効率を高めることができます!

SD WebUI Tag Autocimplete の導入
!git clone https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git  # SD WebUI Tag Autocomplete の導入

画像の高精度化 : Multi Diffusion

Multi Diffusion は少ない計算量(メモリ量)で画像を高精度化することができます。

下の画像は、拡張機能の適用前後を比較したものです。拡張機能を適用したあとの方が、全体的に細かく鮮明に描写されていることがわかると思います。

Multi Diffusion の導入
!git clone https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111.git  # multi diffusion の導入

イラストの顔や手を自動認識して補正する : Adetailer

画像生成 AI は基本的に顔や手といった構造を描画するのが苦手です。実際、上の画像では、顔や手といった部位が崩れてしまっていますね。

Adetailer は、イラスト中の手や顔を検知し、自動で補正を実施してくれる拡張機能です。

Adetailer の導入
!git clone https://github.com/Bing-su/adetailer.git  # adetailer の導入

他の画像の構図を模倣する : ControlNet

画像を生成していく上で、大きな課題となるのが、人のポーズや構図をプロンプトで指定するのが難しいことです。

ControlNet を使うと、元画像の姿勢を元に画像を生成してくれます。導入が少し難しいですが、非常に便利なので紹介します!左は弊社運動会でコケる倉田ですが、これを元に同じプロンプトで画像を生成してみます。

ControlNet と 使用モデル の導入
# ControlNet の導入
!git clone https://github.com/Mikubill/sd-webui-controlnet /content/stable-diffusion-webui/extensions/sd-webui-controlnet

#ControlNetで使用するモデルのダウンロード
%cd /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/
!wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth
!wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth.pth
!wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.pth

すると姿勢や構図を似せた画像が生成されますね!

まとめ


さて、今回のブログでは、拡張機能を使って、画像生成を効率化、高精度化する方法についてお話してきました。

拡張機能を制するものが、画像生成を制すると言っても過言ではありません!

これ以外にも様々な拡張機能がありますが、導入方法は基本的に変わりません!

皆さんも是非拡張機能を導入して、画像生成を楽しんでください!

こちらの記事もオススメ

まずは無料で学びたい方・最速で学びたい方へ

まずは無料で学びたい方: Python&機械学習入門コースがおすすめ

Python&機械学習入門コース

AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!

無料で学ぶ

最速で学びたい方:キカガクの長期コースがおすすめ

一生学び放題

続々と転職・キャリアアップに成功中!受講生ファーストのサポートが人気のポイントです!

AI・機械学習・データサイエンスといえばキカガク!
非常に需要が高まっている最先端スキルを「今のうちに」習得しませんか?

無料説明会を週 2 開催しています。毎月受講生の定員がございますので確認はお早めに!

説明会ではこんなことをお話します!
  • 国も企業も育成に力を入れている先端 IT 人材とは
  • キカガクの研修実績
  • 長期コースでの学び方、できるようになること
  • 料金・給付金について
  • 質疑応答