皆さん、こんにちは!キンスコランドです!
Stable Diffusion の登場によって「AI でイラストを作成したい!」「自分好みのアニメキャラを生成したい!」そんな方も増えてきているのではないでしょうか。そこで本記事では Mac M1 で Stable Diffusion web UI をインストールし、AI 画像生成する方法をお伝えします!
ネットの記事では Windows のやり方がほとんどで Mac の方はかなり手こずります。実際に私がそうでした…(*_*) 環境が違うと中々上手くいかないことがあると思いますが、是非参考にして頂けると嬉しいです!
そもそも Stable Diffusion とは?
Stable Diffusion は、AI 画像生成に用いられる最新の技術です。従来の生成手法に比べより高品質で多様な画像を生成できることが特徴です。具体的には、ノイズを加えたり減らしたりすることで、徐々に元の画像に近づけるように生成を行います。この過程を繰り返すことで、最終的に高品質な画像が生成することができます。
Stable Diffusion Web UI とは、Stable Diffusion を利用した AI 画像生成技術を、Web のユーザーインターフェース(UI)で提供するアプリケーションのことを指します。これにより、皆さんは簡単に Stable Diffusion を使って画像を生成することができます。
・Python バージョンは 3.10.6 でも可
・ターミナルを使いこなそう!
・Mac と Windows では起動の仕方が違うので注意!
・まずは画像生成 (Generate) してみる!
・モデルの追加
・VAE の導入
・拡張機能の追加など
・プロンプトとネガティブプロンプトを使いこなそう!
PC | MacBook Pro M1 |
OS | Ventura 13.2.1 |
メモリ | 16 GB |
はじめに
Stable Diffusion web UI を動かすためには Mac に Python をインストールする必要があります。実は Mac にはデフォルトで Python がインストールされてますが、Stable Diffusion web UI を使用する上で推奨とされているバージョンと異なるため、そのまま進めても Stable Diffusion web UI を起動する際にエラーが起きてしまいます。そこで新たに推奨バージョン (Python 3.10.9) の Python をインストールする必要があります。
通常、Mac に Python をインストールする場合は Homebrew というパッケージマネージャーをターミナルを使ってインストールします。そこから Python のバージョン管理できる pyenv をインストールし、指定の Python バージョンをインストールします。ただ Apple M1 チップになってから色々とインストールに手こずるケースが多く、ネットの記事を見ても Intel 製のやり方と混同し中々上手くいかない場合があります。私もその中の一人です。
そこで今回は細かい部分は一切すっ飛ばして、最短で Stable Diffusion web UI を起動する方法をお伝えします。
Step.1:Python 3.10.9 をインストール
まずは【Python 公式サイト】にアクセスし下記の手順で Python をインストールしましょう!
Downloads タブの macOS をクリックします。
Python のバージョンがずらりと並びます。⌘ + F で「3.10.9」と検索すると早く見つけることができます。Python 3.10.9 を見つけたら下の Download macOS 64-bit universal2 installer
をクリックしてください。自動でインストーラーがダウンロードされます。
ダウンロードしたインストーラーを起動させると上記のような画面に進みます。アナウンスに沿って Python のインストールを行いましょう。
最後まで進み「インストールが完了しました。」と表示されたら無事 Python 3.10.9 がインストールされています。右下の閉じるボタンを押してインストーラー自体は削除してしまって問題ありません。Python のバージョンを確認したい場合はターミナルにて python3 --version
を入力して実行(Enter)、結果に Python 3.10.9
と表示されれば OK です!
Step.2:Stable Diffusion web UI をインストール
Python がインストールできたら次は Stable Diffusion web UI をインストールしていきましょう!ターミナルを起動し、git clone
コマンドを使って AUTOMATIC1111 さんの stable-diffusion-webui をダウンロードします。ターミナルの起動がわからない方は Mac の Finder からアプリケーション > ユーティリティ > ターミナル の順で探してみてください。
# ダウンロードしたいディレクトリで下記コマンドを実行
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
私の場合はターミナルを起動してからカレントディレクトリを Desktop に移動し、そこで Stable Diffusion web UI をダウンロードしています。ダウンロードが完了すると Desktop に stable-diffusion-webui というディレクトリが作成されています。これで無事 Stable Diffusion web UI のインストールは完了です。
エンジニアはフォルダのことをディレクトリと呼んだりします。意味はほぼ同じです。カレントディレクトリとは現在あなたがどのディレクトリにいるかという意味です。私の場合は最初にユーザー名のディレクトリにいたので cd コマンド(チェンジディレクトリコマンド)を使用して Desktop ディレクトリに移動しています。Linux のコマンドを勉強しておくとターミナル操作に不安がなくなると思いますのでおすすめです。
Step.3:Stable Diffusion web UI を起動
それでは早速 Stable Diffusion web UI を起動させて見ましょう!
まずはダウンロードした stable-diffusion-webui ディレクトリに移動します。中にはたくさんのファイルが格納されており、Mac で起動させるためには webui.sh というファイルを使用します。
# ~/Desktop/stable-deffusion-webui へ移動してから下記コマンドを実行
./webui.sh
Windows の起動のさせ方と違うので注意が必要です!ネットの記事は基本 Windows 版で書かれているので Mac の方は上記の方法で起動させてください。コマンドを実行するとしばらく実行ログが流れます。最初の起動には 10~20 分程度かかりますので気長に待ちましょう!PC のスペックによってはもう少し時間がかかる可能性があります。
無事ローディングが終わると、画面中央に URL が表示されます。こちらをブラウザに貼り付けると Stable Diffusion web UI にアクセスすることが可能です。今回私は Google Chrome を使用しますが、Safari 等でも問題ありません。
これで Stable Diffusion web UI が無事起動することができました!!細かな使い方を説明する前にまずは画像を生成してみましょう!
Step.4:プロンプト入れて画像を生成
画像生成はとっても簡単です。上記画像のようにプロンプトを入力し、右側オレンジの Generate
というボタンをクリックするだけで画像が生成されていきます。私の PC のスペックでは 1 枚の画像を作成するのに 1~2 分程度時間がかかります。画像生成には GPU のスペックに依存するので GPU を外付けできない Mac M1 はこの辺りのスピードが限界のようです。
ざっくり画面の基本的な使い方をまとめています。モデルによっておすすめの設定が記載されているのでそれらを参考にしていきましょう。よく使う機能もあればほぼ使わない機能もあるのでまずは基礎的なものから使っていきましょう。
項目 | 説明 |
---|---|
1. Sampling method | サンプリング方法(DPM++ SDE Karras がおすすめ) |
2. Sampling steps | ノイズからイラストに変えていくための回数( 20 前後がおすすめ) |
3. Restore faces | 顔を綺麗にできる(ほぼ使わない) |
4. Tiling | タイル状に並べる(ほぼ使わない) |
5. Hires. fix | 高解像度設定(生成に時間がかかる) |
6. Width, Height | 画像の横幅、高さ(縦長イラストの場合は 512 × 768 が定番) |
7. Batch count | 画像の枚数(生成枚数を変更するならスピードを重視し Batch size で) |
8. Batch size | 画像の枚数( 1 回で何枚の画像を出力するか) |
9. CFG Scale | どれだけプロンプトに近いイラストを生成するか(基本初期値 7 で OK) |
10. Seed | ノイズの初期値。-1 にすると毎回ランダムになる |
Step.5:モデルの追加と VAE の導入
Stable Diffusion web UI をインストールし画像生成できたは良いものの、可愛い女の子の絵を生成したいんじゃっ!という方も多いのではないでしょうか。Stable Diffusion には画風や絵柄などそれぞれに特化したモデルが用意されており、自分の好みに合ったモデルを見つけ出す必要があります。今回はアニメ風イラストを生成するモデルを実装する方法についてご紹介していきます。
また追加で VAE というものも導入します。 VAE とは生成する画像の質を高めてくれるツール(ファイル)です。これを導入すると色鮮やかで質の高いイラストを生成することができます。逆に使用しないと色あせたもっさりとした雰囲気の画像しか生成することができません。
まずはアニメ風イラストのモデルをダウンロードし、追加していきましょう!
まずは Hugging Face の WarriorMama777 さんの OrangeMixs にアクセスしましょう!中央タブの Files and versions
からモデルを選定していきます。
Models
フォルダをクリックします。
いくつかモデルフォルダがあるのですが、今回は最新の AbyssOrangeMix3
というフォルダをクリックします。
AbyssOrangeMix3
の中でもいくつかモデルのバージョンに分かれています。今回は商用利用もできる AOM3A1B_orangemixs.safetensors
をダウンロードします。因みに最初にアクセスしたページ (Model Card) にモデルの仕様や利用方法が記載されていますので、より詳細に知りたい方はそちらをご覧ください。
download
をクリックすると自動でダウンロードが始まります。
ダウンロードが完了したら Step.2 で作成された stable-dffusion-webui
フォルダの models
> Stable-diffusion
へモデルファイルをドラック & ドロップで移動させます。これで新たなモデルの追加ができました。Stable Diffusion web UI を新たに起動させます。現在 Stable Diffusion web UI が起動中の方はターミナルで Contorl + C
で Stable Diffusion web UI を停止させてから再度 ./webui.sh
で起動させましょう!
Stable Diffusion web UI が起動できたら左上のモデルが追加されているか確認し、プロンプトに 1 girl
と入力して Generate
してみましょう!しかし、、、!上図のように女の子の画像は生成されるもののどこかぼやけている & 色あせており上手くいきません。これは前段で軽く触れた VAE の導入で解決することができます。
まずはモデルをダウンロードした Hugging Face の WarriorMama777 さんの OrangeMixs のページにアクセスし、今度は FIles and versions
> VAE
フォルダを選択します。
フォルダ中に orangemix.vae.pt
という今回使用しているモデル専用の VAE が格納されておりますのでこちらをクリックしダウンロードします。
ダウンロードできたらモデルを移動させたように、stable-dffusion-webui
フォルダの models
> VAE
フォルダへドラック & ドロップします。これで再度 Stable Diffusion web UI を起動させます。
しかしモデルのときと違い自動では反映されません。そこで中央タブの Settings
> Stable Diffusion
> SD VAE
で先程ダウンロードした VAE を選択し、オレンジ色の Apply settings
をクリックして適用させます。これで準備 OK です!早速プロンプトに 1 girl
と入れて Generate
してみましょう!
あれ!!??ほとんど変わっていない!!??よく見ると若干くっきりした輪郭の絵に変わってはいるものの、まだまだクオリティが高いとは言えません。一番気になるのは配色でかなり色あせた絵になってしまっています。さて、これはどう改善したら良いのでしょうか。ここで出てくるのがプロンプトエンジニアリングです。
Step.6:プロンプトエンジニアリング
- 英語で書く
- 単語ベースで書く(文章でも可)
- 「, 」カンマと半角スペースで区切って連結する(例:1 girl, blue eye, in classroom)
- 最初に書くワードほど優先的に扱われやすい。
- 強調構文:単語に「単語:1.2」のように重みを付けることが可能。まとめて重み付けする場合は(単語a, 単語b:1.2)のように記載する。
まずはネガティブプロンプトを入れてみましょう! Hugging Face の WarriorMama777 さんの OrangeMixs の Model Card を読むとモデルの設定や使い方が記載してあります。そこには下記のように記してあります。
- ネガティブプロンプトはできるだけシンプルなものが良い
例)(worst quality, low quality:1.4)
そこで今回は仕様書に習って、(worst quality, low quality:1.4) をネガティブプロンプトへ記載して画像を生成してみます。
おぉ!!急にえちえちな画像が出てきましたが、かなりクオリティは上がったのではないでしょうか!ネガティブプロンプトは固定で問題ありません。あとは自分で生成したい画像のプロンプトを上手く組み合わせて Generate
していくだけです!プロンプトについてや Stable Diffusion web UI の便利な拡張機能については別の記事で紹介していきます。
まとめ
いかがでしたでしょうか。全くゼロの状態から何とかアニメ風の可愛い女の子の生成まで行うことができました!初めての方は中々大変だったと思いますがここまでできればもう安心です。共に AI 生成ライフを楽しんでいきましょう!
また Stable Diffusion web UI に関する有益な情報を発信していきますので、私が運営する同人サークル「キンスコランド」、Twitter のフォローもよろしくお願いします!