【ControlNet-openpose】M1/M2 MacのAutomatic1111で構図指定する方法
はじめに
M1/M2 Macのローカル環境でControlNet(openpose)を用いてAIアートを出力する方法を解説します。
ControlNetの導入にはAutomatic1111の拡張機能を使用しますので、環境が無い方は事前に以下の記事を参考にAutomatic1111をインストールしておいてください。
導入方法
起動オプションの変更
Automatic1111の初期設定ではMac上で正しく拡張機能が動作しません。
web-uiのインストールディレクトリ内の、webui-user.sh
ファイルを改変し、起動オプションを変更する必要があります。
以下の手順に従って、起動オプションを設定してください。
起動オプションの設定ファイルを開く
以下のファイルをエディタで開きます。
VSCodeやXCodeを使うと見やすいですが、エディタを入れていない場合はテキストエディットでも構いません。
stable-diffusion-webui > webui-user.sh
起動オプション指定箇所のコメントアウトを外す
13行目あたりの、#export COMMANDLINE_ARGS=""
の前についている#を削除する。
オプション値を設定する
コメントアウトを外した部分を以下の通りに書き換えてください。
Mac環境ではhalfモデルに非対応のため、このコマンドで利用を抑止する設定を行います。
export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half"
拡張機能のインストール
Webuiを起動し、Extensionsタブのinstall from URLを選択します。
参考画像のマークした所に後述する2つの拡張機能のURLをそれぞれ入力し、installをクリックしてください。
※インストールは数分かかります。
拡張機能のURL
controlnet
Automatic1111でcontrolnetを使用するための拡張プラグイン
https://github.com/Mikubill/sd-webui-controlnet.git
openpose-editor
controlnetで使用する棒人間を書くためのエディタプラグイン
https://github.com/fkunn1326/openpose-editor.git
インストール状況の確認方法
installedタブの中にマークした以下の2つのプラグインが入っていればインストールは正常に完了しています。
インストールの確認が終わったら一度Webuiを終了させてください。
モデルファイルの設置
拡張機能で使うモデルを設定します。
openpose用モデルの入手
huggingFaceのURLからcontrol_openpose-fp16.safetensors
をダウンロードしてください。
モデルファイルの設置
ダウンロードしたファイルを以下の場所に設置してください。
stable-diffusion-webui > extensions > sd-webui-controlnet > models
これで初期設定は完了です。
描画方法
ポーズの指定
新たに作られたopenpose-editorタブの棒人間を操作し、描画したいポーズを取らせます。
ポーズが確定したら右下のsend to controlnetを押してください。
Controlnetの設定
txt2imgタブの中にあるControlNetを開きます。
先程描いた棒人間が表示されている事を確認し、Enableにチェックをいれ、モデルをopenposeに指定します。
描画
あとは通常の動作と同じようにpromptを入れて描画すればOKです。
下の図は私が作ったサンプルですが、Man Sitting On Chair
のようなシンプルなプロンプトでも指定通り描画されます。
注意事項
openposeで利用できるモデルは現時点でstablediffusion1.5の派生モデルのみです。
他のモデルを使用するとエラーになり、強制終了するため適切なモデル選定を行ってください。
まとめ
いかがだったでしょうか。
今回はMac(M1/M2)のローカル環境でcontrolNet(openpose)を利用する方法を解説しました。
以前はMac環境のStableaDiffusionでは使えない機能も多くありましたが、今では数日でMac対応もされるようになったのでMacユーザとしては嬉しい限りですね。
この記事の内容に限らず、MacのStableadiffusion環境での記事化のご要望がありましたら是非是非ご連絡ください。
AIアートに関する用語をまとめた記事も作成していますので、AIアートの入門資料としてよろしければご活用ください。
Discussion