【Stable Diffusion】OpenPoseの使い方:画像と同じポーズを再現する!基本情報や導入方法も解説
Stable Diffusionでプロンプト(呪文)を使ってポーズを指定し、画像を生成するのが一般的ですが、「画像にうまく反映されない」「理想的なポーズを表現するのが難しい」といったケースも多いです。
そんな時にOpenPose(オープンポーズ)という機能が役立ちます。OpenPoseを使うと、特定のポーズや姿勢を持つ人物画像を生成することができます。
この記事では、Stable DiffusionのOpenPoseの基本情報や導入方法、そして具体的な使い方について詳しく紹介します。理想的なポーズを生成したい人や、OpenPoseに興味がある人であれば、ぜひ最後まで読んでください。
- AI画像をより美しくなるために、「Aiarty Image Enhancer」がオススメ!
- Aiarty Image Enhancerの特徴:
- 🟠 ワンクリックで画像のぼかし、ノイズ除去、色補正、細部生成など処理を簡単に行う
- 🟠 ディテールを失うことなく、画像サイズを4K、8K、32Kまで拡大できる
- 🟠 イラスト、AI生成画像、低品質の写真、圧縮されたJPEGなど、様々な画像の改善に対応
- 🟠 バッチ処理可能で、最大1000枚の画像を同時に強化できる
OpenPoseとは?
OpenPoseは、Stable Diffusionの拡張機能であるControlNetにおいて、人物の姿勢推定に特化したモデルです。
OpenPoseを利用することで、画像内の人物の姿勢やポーズを検出し、シンプルな線でつないだ棒人間として視覚化し、それと同じポーズで新たな画像を生成することが可能です。特に、服装や髪型、背景など他のディテールを保持せずに人間のポーズをコピーしたり、プロンプトのみで表現するのが難しい動作を再現する時に効果を発揮します。
さらに、OpenPose Editorという機能を使えば、棒人間の編集が可能となり、ポーズを自在に操ることができ、より理想的なイラストを生成可能です。
- Stable Diffusion OpenPoseの特徴
- 人物のポーズを自在に指定して画像を生成
- 複数の人物のポーズを同時に制御可能
- 顔の表情や指先の動きなどもリアルタイムで検出
- 自然な姿勢や動きを持つキャラクターの作成に適している
- 無料で利用可能で、追加費用などの設定もない
Stable DiffusionでOpenPoseを使う準備
Stable DiffusionでOpenPoseを利用するには、以下のような条件が必要です。
-
- 1Stable Diffusionのローカル環境を構築
- *Stable Diffusion Web UI (「Automatic1111版」か「Forge版」)をPCにダウンロード
- 2ControlNetをインストールする(Automatic1111版の場合)
- *Forge版は、拡張機能ControlNetをプリインストールしている
- 3OpenPoseモデルをダウンロードする
ここからはStable Diffusion Web UI Automatic1111版での操作方法を解説します。
@ Stable Diffusionのローカル環境を構築
まずは、Stable Diffusion WebUIをローカルPCにダウンロード・インストールしましょう。(すでにインストール済みの方は読み飛ばしてください。)
詳しく手順は下記の記事ご参照ください。
AIで画像が作成できるStable Diffusionをしっかり使いたくて、自分のパソコンにダウンロードします。この記事でStable Diffusionをローカルに導入する方法をご紹介します。Stable Diffusionのインストールも、ローカル環境の構築も、面々にご説明します。
A ControlNetをインストールする
次に、OpenPoseを使用するための拡張機能ControlNetをインストールします。
-
STEP.1
Stable Diffusion Web UI「Automatic1111」を起動します。メニューから「Extensions」タブをクリックして、「Install from URL」を選択します。
-
STEP.2
続いて、URL入力欄に「https://github.com/Mikubill/sd-webui-controlnet.git」を入力して、「Install」をクリックします。
-
STEP.3
インストールが完了したら、「Extensions」 >「Installed」の「Apply and restart UI」をクリックして、「sd-webui-controlnet」の項目がチェックされていることを確認してください。
-
STEP.4
Stable Diffusionを再起動したら、「txt2img」の中にControlNetという項目が表示されていればOKです。
B OpenPoseモデルをダウンロードする
ControlNetをインストールできたら、OpenPoseを利用するために必要なOpenPose モデルをダウンロードしていきましょう!
-
STEP.1
まず、こちらのサイトにアクセスして、「openpose.pth」というファイルをダウンロードしてください。
-
STEP.2
ダウンロードしたファイルを「stable-diffusion-webui」 > 「extensions」 > 「sd-webui-controlnet」 > 「models」に配置します。
これですべての準備が整いました!
Stable DiffusionでOpenPoseの使い方
Stable Diffusion OpenPoseを使って特定のポーズを持つイラストを生成するには、主に2つ方法があります。
-
- 1ポーズを抽出して画像生成:参考画像のポーズを再現できる
- 2ポーズを編集して画像生成:棒人間を1から作成してポーズを編集できる
では、それぞれの使い方を詳しく紹介していきましょう。
方法1:OpenPoseでポーズを抽出して画像生成する
Step1.Stable Diffusion WebUIの「txt2img」のタブを開きます。
Step2.ControlNetの「🞀」アイコンをクリックし、メニューを開きます。元となるポーズの画像をアップロードします。
Step3.すると、以下の設定を行ってください。
- 「Enable」にチェックを入れます。
- 「Control Type」で「OpenPose」を選択します。
- 「Preprocessor」で「openpose_full」か「dw_openpose_full」を選択します。
- 「Model」を「control_v11p_sd15_openpose」に指定します。
*「Preprocessor」には以下の6種類があります。
モデルによって抽出できる範囲が異なります。基本は「openpose_full」で良いですが、商用利用を考えている方は最新バージョンの「dw_openpose_full」を使用するようにしましょう。
Step4.プロンプトを入力して、「Generate」をクリックすると画像生成をします。
生成結果に棒人間のポーズ画像も一緒に出力されるので、気に入ったポーズの場合、このポーズ画像も保存しておきましょう。
方法2:OpenPose Editorでポーズを編集して画像生成する
「ポーズを編集したい」と考える方がいますね。棒人間を新たに作成したり、自由に動かして好みのポーズを設定するためには、「Openpose Editor」という拡張機能が必要です。
まずは「Openpose Editor」をインストールしましょう。
Stable Diffusion WebUIで、「Extensions」→「Install from URL」と進み、「https://github.com/huchenlei/sd-webui-openpose-editor.git」を入力して「Install」をクリックします。
さて、Openpose Editorを使う方法を紹介していきます。
Openpose Editorで元画像からポーズを抽出して棒人間を編集する
Step1.インストール完了したら、Stable Diffusion WebUIを再起動します。すると、「txt2img」を選択し、下部の「ControlNet」タブを開きます。
Step2.参考となる画像をアップロードして、先ほどと同様に以下の設定を行いましょう。
「Enable」と「Allow Preview」にチェックを入れて、「Preprocessor」に「openpose_full」を選択して、「Model」に「control_v11p_sd15_openpose」を選択します。
Step3.続いて、「Preprocessor」と「Model」の間に【💥】ボダンを押すと、オリジナルと同じポーズの棒人間が生成されます。
Step4.棒人間の右側にある「Edit」ボタンをクリックします。
Step5.すると、以下のようなポーズの編集画面が表示されます。右側で棒人間の関節部分をドラッグすればポーズを変更できます。変更したら画面左上の「Send pose to ControlNet」をクリックします。
Step6.後は普通にプロンプトを入力して画像を生成すればいいです。
Openpose Editorで棒人間を新規作成してポーズを編集する
Step1.「OpenPose Editor」タブを開き、「Add」をクリックします。マウスで棒人間の大きさを調節し、決まったら関節の位置などを動かします。
好みのポーズに編集したら、「Send to txt2img」をクリックします。
*棒人間データを保存したいときは、「Save JSON」をクリックします。
Step2.「ControlNet」タブで先ほどと同じような設定を行います。しかし、一つだけ注意するのは、「Preprocessor」で「none」を選択することです。
Step3.設定完了後、プロンプト等を入力して画像を生成ししましょう。
*txt2imgの「width」と「height」は、「OpenPose Editor」にある「width」と「height」をどちらも同じ数値で合わせるようにしてください。
まとめ
今回はStable DiffusionでOpenPoseの使い方について解説しました。
OpenPoseは、元の画像のポーズを簡単かつ正確に再現できるだけでなく、ポーズを自由に編集したり指定したりすることもできるため、非常に便利な拡張機能です。
プロンプトだけで思い通りのポーズをとれない場合、ぜひこの機能を活用ください。
なお、Stable Diffusionによって生成されたAI画像の品質があまり良くない可能性があります。Aiarty Image Enhancerという画像高画質化ソフトと併用することをおすすめします。
-
Aiarty Image Enhancer - AIで生成した画像を最大8倍まで拡大できる
解像度の低い画像をAIの力でキレイに8倍に拡大できるソフト。簡単な操作で、解像度が不足してディテールを失った写真を美しく大きくしたり、ぼやけた写真をシャープにすることもできます。
この記事を書いた人:ひまり
画像処理などの記事作成を担当。現在はAI(人工知能)の分野を中心に、読者の方に向けて丁寧でわかりやすい内容を意識して執筆に努めます。