Stable Diffusion Web UI のインストール(とDepth Mapsのインストール)
「背景を3D化してAEで動かしてみた」時に色々試したときに Stable Diffusion Web UIのインストールとDepth Maps(3D化してくれるプラグイン)を入れてみた時の備忘録。
Stable Diffusion Web UI
ローカル環境で構築できる「Stable Diffusion Web UI」を使用してみたいと思います。今のところ王道のローカル環境(2024/1/2)
ただweb uiは手動でインストールする際にちょっと面倒でgitを使用したりする必要がある。
もしうまくいかないインストールできない人で、ローカル環境でとりあえず触ってみたいって方は「NMKD Stable Diffusion GUI」を利用すると単純のソフトインストールするだけでとりあえずstable diffusionが使えるようになります。
※ネット上で仮想の実行環境(Google Colabなど)を構築する方法もありますが、今回は完全ローカルの方法で。GPUがあまり強くない場合はこちらの方法がおすすめ。
全自動インストール
webuiを作った人が用意してくれている全自動インストーラーがあります。
使用できる条件
ただし想定されている環境が「Windows 10/11」で「NVIDIAのGPU」搭載しているPC用です。
NVIDIAとかよく分からないって人でWindowsの人はとりあえず試してみて無理そうなら手動でインストールがよいかと思います。
手動と自動の違いとどっちがいいのか?
感じている違いはwebuiを起動する時の.batファイルの名前が違うくらいです。動作に違いは感じません。
また、かなり初期のころの作った物らしくアップデートとか色々考えると手動でインストールした方がいいらしいとの話もあるようです。
ですが、やってみた感じ手順の中に最新版にアップデートする項目も組み込まれていて、とりあえず最新バージョンで使えたのでこちらでも問題なのかなと思います。
インストール
インストールの手順自体は公式に英語で記載されています。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs
下記サイトにアクセスして「sd.webui-zip」をダウンロード
https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre
手動インストール
Stable Diffusion 自体はオープンソース化しているプログラムで、あくまで核になっている機能です。その核になっているプログラムを使用して様々なサービスやツールが作られているので色んな種類が存在しています。
その一つがStable Diffusion Web UI(以後Web UI)です。
インストールが面倒
このWeb UIをインストールするのが少し面倒です。普通のソフトはインストーラーをクリックすると全自動で使えるようにしてくれます。
しかしこのWeb UIのインストールはPython、Gitを使用して自分のPCに合わせて正しい選択を行う必要があったりと少し難しい。
パソコンに少しでも詳しい人なら問題ないと思いますが、32bitとか64bitとかなんだ? みたいな感じだと難しいと感じるかもしれません。
3つのツール
3つのツールをインストールします。
Python(プログラム言語)
Git(プログラムをダウンロードするのに使用し、アカウントが必要)
Stable Diffusion Web UI
「Python」
まずは実行環境であるPythonをインストールします。(とりあえず必要な物って認識でいいと思います)
1 - 下記のサイトから「3.10.6」のインストーラーをダウンロード
最新版ではなく”3.10.6”をインストールしてください。
最新版では動作しませんでした。(2024/1/2)
スクロールして下の方へ行って「windwos installer (64-bit)」をダウンロード
Chromeを使用している場合は右上のダウンロードのアイコンから選択できると思います。
2 - インストール
インストールを起動したら「Add python.ext to PATH」のチェックをONにしてください。
そしたら「Install Now」でインストールを開始。
↓
ポップアップが出るかもしれませんが「はい」で進んでください。
インストールが開始されます。
「Close」が出たら完了です。
「Git」
続いてGitをインストールします。
Gitはプログラムなどのバージョン管理のシステムの名前です。
基本的にネット上にプログラムコードを保存しておけるGitHubと連携して使用されています。今回GitHubからプログラムをダウンロードするのに必要になります。(GitHubのアカウントが必要)
バージョン管理は初めく人はイメージし難いかもですが、複数人で長期的に作業をする場合に広く使われているやり方です。プログラムを取り扱う人はほぼGitHubを使用していて大抵のプログラムがGitHubに置いてあります。
1 - 公式ページよりインストーラーをダウンロード。
https://gitforwindows.org/ (Windwos)
https://git-scm.com/download/mac (Mac)
※Windows版のインストーラー(解説)
Windwos版のGitのインストーラーは複数個所からダウンロードできるのですが基本的に同じものです。git-scm(source control systems)からダウンロードしても同じものでした。
git-scmはGit自体の公式サイトなのですが、Windows版のインストーラーは別プロジェクトとして「git for windws」が立ち上がってそちらでそちらで管理されているだけのようです。
事情を知らない人からするとややこしいですが基本的にどこからダウンロードしても同じ物なようです。
2 - インストール
インストールを開始します。
開始するとポップアップがいっぱい出ますが全て「Next」
すべて終わると「install」が出てきてインストールが終了すると「finish」が出てきて完了です。
「StableDiffusion Web UI」
1- インストールフォルダを作る(決める)
まずインストール先を自分で指定する必要があります。
今回は例としてCドライブの直下にStableDiffusionというフォルダを作ってそこにインストールします。
※WebUI自体が”stable-diffusion-webui”とフォルダを作ってその中にインストールされるのでCドライブを直接指定でも問題ないと思います。
2 - 「Shift + 右クリック」から「Open Git Bash here」
黒い画面が立ち上がります(Git Bash)
3 - 下記をコピー(stable diffusion webui のデータのURL)
WebUIがアップロードされているURLです。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
4 - ペースト(入力)
Git Bashの注意なのですが、ホイールクリックでペーストできます。
Ctrl + Vだとペーストできません。
「Shift + Ins」でもペーストできるらしいのですが、私の環境だとできませんでした。どうしてもペーストできない方は頑張って直接入力。
ちなみにGit Bashではテキストを選択するだけで自動コピーされます。よく分からないテキストがペーストされた場合は疑ってみてください。
5 - Enter(インストール開始)
入力して「Enter」を押したらインストールがスタートします。
※GitHubアカウント
おそらくインストールする時にGitHubにログインを求められると思います。ない場合はアカウントを作ってログインして再度トライしてみてください。
私の場合はウェブでログインしてあった為か出ないでそのままインストールすることが出来ました。何もなくインストールできたのならそれは問題ないです。
6 - 完了
完了すると指定したフォルダ内に「stable-diffusion-webui」というフォルダが作成されています。
その中の「webui-user.bat」というファイルを起動します。
以降このwebui-user.batでstable diffusionを起動することになります。
7 - セットアップ
初回起動時には色々とダウンロードするものがあるので少し時間かかります。
↓
※うまく進んでくれないとき(トラブルシューティング)
もしこのときに「続行するには何かキーを~」と表示されてバーみたいなのが表示されない場合は何かしら失敗しています。
私の場合はPythonを最新バージョンの方が良いだろうと思って、最新版をインストールしたらエラーで起動できませんでした。
Pythonのバージョン違いの場合は一旦WindowsからPythonをアンインストールして「3.10.6」を入れなおしてください。
この時にStableDiffusionWebUIもアンインストール(フォルダ毎削除)してもう一度Git Bashからインストールしてください。
どうやらwebuiインストール時にその時にPCに入っていたpythonバージョンをフォルダ内にコピーするらしくそのまま”webui-user.bat”で起動させたら過去バージョンPythonを起動しようとして止まりました。
ちなみに英語がなんて書いてあるのか翻訳用にCtrl + Cでコピーしようとすると終了コマンドらしく何か出ます。「n」を押しても進まない場合はwebuiを起動し直してください。
↓
順調にセットアップが進むと途中止まったように感じる時もありますがそのまま待ちます。
数分から数十分単位で時間がかかるときがあります。
8 - 起動
セットアップが全て終わると自動でブラウザが立ち上がりStable Diffusion Web UIが表示されます。
http://127.0.0.1:7860/
にアクセスしている状態で、これは自分のPCにアクセスしています。
ちなみにインストールが終わったからといって文字がいっぱい並んでいる黒いやつ(ターミナル)をバッテンで閉じたらダメです。
閉じるとWebUIも終わってしまいます。
実際に処理しているのは黒い方で本体みたいなものです。ブラウザの方は操作画面という感じです。
落ちてしまった再度”webui-user.bat”で起動させる。
これでStableDiffusionは使用できるようになりました。現状で画像の生成は可能です。
しかしそのままだと3D化はできないので続いてプラグイン(エクステンション)を追加します。
ちなみに「Generate」を押して右下にエラーメッセージのようなものが表示されている場合はGPUのメモリ不足で生成できない状態だと思います。
Macの場合のインストール
apple系のチップ搭載しているPCの場合は下記のサイトにインストール方法があるようです。
Installation on Apple Silicon
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon
Depth Mpas(3D化プラグイン)
Stable Diffusion自体はテキストから2D画像を生成するプログラムなので立体化する機能はありません。そこにプラグインを追加して立体化する機能を付け足します。
WebUIではExtension(エクステンション)と言います。拡張機能でプラグイン、アドオンとかそういう感じのやつです。
インストール
Extensions > Available > 「Load from:」 を押してエクステンションの一覧を表示させる。
ブラウザの検索機能(Ctrl + F)で「Depth Maps」と入力して出てきたエクステンションを「Install」
インストールしたらWebUIを再起動してください。再起動する時はコマンドプロンプト(黒いやつ)を一旦閉じて、もう一度起動してください。
Depthタブ
起動し直すと「Depth」タブが増えています。
画像をドラッグ&ドロップでアップロードして「Generate」
3D化する場合は右の方を3Dmeshタブに切り替えるのですが、テストもかねて一旦そのまま生成してみます。
初回は色々ダウンロードするので時間がかかります。
進んでいるのか分からないときはターミナル(黒いやつ)を確認してみましょう。何かしら動ていると思います。
成功すると深度画像ができます。
Blenderなど3Dソフトが使用できる場合はこの深度マップをディスプレイスメントマップなどに張ると立体化することが可能です。
3Dmeshタブではこの作業をWebUI側で行ってくれます。
ちなみに生成された画像はフォルダアイコンをクリックすると保存されている場所が開きます。
エラー
ちなみにGPUがメモリ不足だとエラーがでますが、その場合は「CPU」に切り替えて処理することも可能です。GPUが強くない場合はこちらを選択。
3D Mesh
下の方へスクロールして「Generate siple 3D mesh」のチェックボックスをONにします。
しかしそのままだと一部の飛んでいる部分が気になります。
Remove occluded edges(隠れたエッジを削除する) のチェックを外して生成。
無理やり見えてなかった部分繋げたのですごく伸びていますがないよりはましでしょう。
生成された3Dデータは先ほどの深度情報を出力していたextras-imagesフォルダに出力されています。
OBJ形式で出力されています。OBJは形状データだけなのでテクスチャなどはついていません。
関連記事
作られたobjデータをアフターエフェクトに読み込んでみた時の記事はこちらです。よろしければどうぞ。
BG画像を3D化した時に色々試した時の感想などは別記事にまとめてあります。よろしければどうぞ。
この記事が気に入ったらサポートをしてみませんか?