Stable Diffusion(ステーブルディフュージョン)では、呪文(プロンプト)でポーズを指定することはできますがなかなか上手くいかないことの方が多いですよね。何回も何回も生成を繰り返すと上手くいくこともありますが、非常に効率が悪いやり方です。
そんな時に、簡単にイメージに合ったポーズ・構図を指定できる拡張機能がControlNetの『OpenPose』です。
今回は、Stable Diffusionでポーズや構図を指定できるツール『OpenPose』の使い方や商用利用・ライセンスなどについて詳しく解説していきます!
【初心者でもわかる!】OpenPoseとは?
『OpenPose』は、Stable Diffusionの拡張機能ControlNetで使える代表的なモデルです。
※「ControlNet」については、以下の記事を参考にしてください。
『OpenPose』を使うと、
このような棒人間を生成し、その棒人間を元にしてAI画像に好きなポーズ・構図を反映させることができます。
実際に『OpenPose』で、上記の棒人間を使って生成した画像がこちらになります。
ポーズ・構図を忠実に再現できていますね!このポーズ・構図を呪文(プロンプト)で再現するのはほぼ不可能です。
このように、『OpenPose』は自分のイメージに合ったAI画像を生成するためには、必要不可欠な拡張機能です。
これから『OpenPose』のインストール方法や使い方について説明していくので、是非参考にしてください!
OpenPoseのインストール・導入方法
『OpenPose』のインストール方法は、
①ControlNet本体のインストール
②OpenPoseのインストール
こちらの手順で行います。
OpenPoseの導入方法①:ControlNetのインストール
①Stable Diffusionで『Extentions』→『Install from URL』を開いて、以下のリンクをコピペし、『Install』をクリックしてください。
https://github.com/Mikubill/sd-webui-controlnet
②インストールが完了したら、『Install』タブ→『Apply and restart UI』をクリックしてStable Diffusionを再起動する。
③再起動後に、Stable Diffusion操作画面の下部に『ControlNet』が追加されていれば、ControlNetの導入は完了です!
OpenPoseの導入方法②:『OpenPose』のインストール・モデルのダウンロード
続いては、ポーズ・構図を指定するのに必要な棒人間の元となる『OpenPose』のモデルをダウンロードしていきましょう!
①こちらのページにアクセスし、“control_openpose-fp16.safetensors”をダウンロードしてください。
②ダウンロードできたら、ご自身のGoogleドライブに“control_openpose-fp16.safetensors”のファイルをアップロードしてください。
③アップロードが完了したら、こちらを参考にしながらStable Diffusionを立ち上げていきます。
ControlNetの場所では、以下の画像通り『OpenPose』を設定してください。
④Stable Diffusion操作画面のControlNet内のモデル選択画面で、更新アイコンを押すと追加した『OpenPose』が反映されているか確認してください。
確認ができれば、『OpenPose』のモデルのダウンロードは完了です!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
【画像生成例付き】OpenPoseの使い方
続いて、『OpenPose』の使い方を実際に画像を生成しながら説明していきます。
OpenPoseの使い方①:ポーズ・構図の元となる画像がある場合
初めに、「ポーズ・構図の元となる画像がある」場合の『OpenPose』の使い方を説明します。
①「ポーズ・構図の元となる画像」を用意してください。
今回はこちらの画像をポーズ・構図の元となる画像として使います。
②次に、ControlNetの設定を以下の手順で変更します。
- 元画像をドラッグ&ドロップ
- 『Enable』にチェック
- Preprocessor→『openpose』
- Model→『control_v11p_sd15_openpose_fp16』
③『Generate』ボタンを押して画像を生成すると、以下のように棒人間の画像でポーズ・構図が抽出されます。
さらに、一緒にそのポーズ・構図をとったAI画像も生成してくれます!
以上が、「ポーズ・構図の元となる画像がある」場合の『OpenPose』の使い方になります!
OpenPoseの使い方②:ポーズ・構図の元となる画像がない場合
次は、「ポーズ・構図の元となる画像がない」場合の『OpenPose』の使い方を説明します。
その場合は、『OpenPose Editor』という拡張機能ツールを使います。
※『OpenPose Editor』のインストール方法や使い方はこちらの記事に詳しく記載していますので、是非参考にしてください!
OpenPoseの設定:”Preprocessor(プリプロセッサ)”
『OpenPose』の設定にある”Preprocessor(プリプロセッサ)”についてご説明します。
基本的にPreprocessor(プリプロセッサ)は『openpose』、Modelは『control_v11p_sd15_openpose_fp16』を使用してください。
他のPreprocessor(プリプロセッサ)は以下の5種類になります。ご自身の用途に合わせて使い分けてください!
Preprocessorの種類 | Preprocessorの出力 |
---|---|
openpose | 棒人間のみ |
openpose_face | 表情と棒人間 |
openpose_faceonly | 表情のみ |
openpose_full | 表情と手のついた棒人間 |
openpose_hand | 手のついた棒人間 |
OpenPoseのパラメータ設定について
『OpenPose』のパラメータ設定についてご説明します。
- Enable:チェックを入れないと、ControlNetが起動しません。
- Low VRAM:メモリ不足(少ない)方はチェックを入れてください。ただし、生成速度は落ちます。
- Pixel Perfect:自動で解像度を合わせてくれます。
- Allow preview:オンにすると、プリプロセッサのPreviewの表示枠が出てくる。
- Control Weight:ControlNetの効果の強さの設定です。
- Control Mode:呪文(プロンプト)の重みを表します。基本“Balanced”でOKです。
- Resize Mode:拡大縮小の種類を表します。
OpenPoseを使う際のコツ!
ControlNetの『OpenPose』を使って、さらにクオリティの高い画像生成を行うためのコツをご紹介します!
コツ①:『OpenPose_face』『OpenPose_hand』を使うと、顔や手などを細かく指定できる
コツ②:呪文(プロンプト)も上手く組み合わせる
コツ③:棒人間の画像から生成する際にPreprocessorは不要
以上に3つのコツについて、詳しく解説していきます。
コツ①:『OpenPose_face』『OpenPose_hand』を使うと、顔や手などを細かく指定できる
先程ご紹介したように『OpenPose』のPreprocessor(プリプロセッサ)の中には、
- 『openpose_face』→顔の向きや表情の指定
- 『openpose_hand』→両手の形を指定
などといった、さらに顔や手・指のポーズを細かく指定できるものがあります。
顔・手・指などをもっと細かく指定して画像を生成したいときには、『OpenPose』のPreprocessorを活用してみてください。
さらに、顔・手・指が崩れないようにするために以下の記事も参考にしてみてください!
コツ②:呪文(プロンプト)も上手く組み合わせる
『OpenPose』と呪文(プロンプト)を上手に組み合わせることができると、より自分のイメージに合ったAI画像を生成することができます。
『OpenPose』は、あくまで人物やキャラクターのポーズ・構図を指定するだけで、ほかの部分には呪文(プロンプト)の指定の方が効きます。
先程生成した画像に、以下の呪文(プロンプト)を追加して生成してみましょう。
white hair
同じポーズ・構図でホワイトヘアーを指定した画像が生成されました!
このように服装や背景、表情などの部分は呪文(プロンプト)を指定して、生成画像を操りましょう。
※以下の記事なども呪文(プロンプト)の参考になりますので、ぜひ読んでみてください!
コツ③:棒人間の画像から生成する際にPreprocessorは不要
棒人間の画像からAI画像を生成する場合は、棒人間の画像をControlNetにドラッグ&ドロップし、Preprocessorは『None』に変更してください。その他の設定はいつもの設定で大丈夫です。
“Preprocessor(プリプロセッサ)”は、元画像から棒人間の画像を抽出する工程ですので、棒人間の画像から生成し始める場合は「なし」で大丈夫ということです。
棒人間の画像を自動保存にする設定
Stable Diffusionのデフォルトの設定では、『OpenPose』で抽出した棒人間の画像は保存されません。
ですので、後から「保存しておけばよかった…」とならないように、保存しておきましょう。
棒人間の画像を『名前を付けて保存』で保存しても大丈夫なのですが、自動保存してくれる機能があるので、その方法を説明していきます!以下の手順で進めてください。
①Stable Diffusionの『Setting』タブ→『ControlNet』→『Allow detectmap auto saving』にチェックを付ける
②設定完了後は、画面左上の『Apply setting』をクリック→『Reload UI』をクリックでStable Diffusionを再起動してください。
これで棒人間の画像の自動保存の設定ができました!いつでも棒人間の画像でポーズを再利用できるので便利ですね。
OpenPoseのライセンス(ライセンス料)や商用利用について
CMU社が公開している『OpenPose』は非商用のライセンスになり、商用利用する場合は年間約250万円のライセンス料がかかります。
CMU社が公開している『OpenPose』のサイトには、ライセンス・商用利用について以下のように記しています。(日本語訳)
OpenPose は非営利目的で無料で利用でき、これらの条件の下で再配布できます。詳細については、ライセンスを参照してください。商用ライセンスに興味がありますか? このFlintBox リンクを確認してください。商用クエリの場合は、FlintBox リンク
CMU-Perceptual-Computing-Lab/openposeContact
のセクションを使用し、そのメッセージのコピーをYaser Sheikhに送信してください。
しかし以下のように、ControlNet内の『OpenPose』機能については、商用利用が可能です。
ただし、画像にもあるように「商標の利用」や「保証」などのライセンスは禁止されており、商用利用する場合には、「ライセンスと著作権を表示する」ことが条件となっているので注意しましょう。
ポーズ・構図を指定する際に参考になるサイト
最後に、ポーズ・構図を指定する際に参考になるサイトをいくつかご紹介していきます!ポーズ・構図に迷った場合は、是非参考にしてください。
①Civitaiで「ポーズ」検索をする
Civitaiを開き、右側にあるソートマークの中から『Pose』にチェックを入れましょう。
そうすると、ポーズ一覧が表示されますのでいろいろ見てみてください!
※「Civitai」の詳しい使い方については、以下の記事を参考にしてください。
②Posemaniacs
筋肉がすごいキャラクターを用いて、いろいろなポーズが紹介されています。
③Setpose
オンライン環境で、簡単にポーズの指定ができるサイトです。
④DESSIN POSE
ポーズの参考になるように、非常に多くのポーズ例がまとめられています。
⑤POSE SEARCH
さまざまなポーズ例を参照できるサイトです。
⑥DESIGN DOLL
Windows専用のポージングアプリです。アプリなのでインストールが必要ですが、指のポーズ指定も可能です!
まとめ
いかがでしたでしょうか?
Stable Diffusionでポーズや構図を指定できるツール『OpenPose』の使い方や商用利用・ライセンスなどについて詳しく解説してきました!
今回のポイントをまとめると、以下のようになります。
- 『OpenPose』は、Stable Diffusionの拡張機能ControlNetで使える代表的なモデル
- OpenPoseの使い方
- 基本的にPreprocessorは『openpose』、Modelは『control_v11p_sd15_openpose_fp16』を使用
- OpenPoseを使う際のコツ!
- コツ①:『OpenPose_face』『OpenPose_hand』を使うと、顔や手などを細かく指定できる
- コツ②:呪文(プロンプト)も上手く組み合わせる
- コツ③:棒人間の画像から生成する際にPreprocessorは不要
- 棒人間の画像は自動保存できる
- 『OpenPose』のライセンスや商用利用
- CMU社が公開している『OpenPose』は非商用のライセンスになり、商用利用する場合は年間約250万円のライセンス料がかかる
- ControlNet内の『OpenPose』機能については、商用利用が可能
今回の記事を参考にして、人物のポーズを自由自在に操ってみてください!
※ポーズ・構図だけ変えたい場合は、以下の記事を参考にしてください!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい