catch-img

【Stable Diffusion Web UI】ControlNetの使い方 OpenPose

この記事では、ControlNetのOpenPoseについて解説しています。

OpenPoseを使用することによって、元画像や棒人間と同じポーズの画像を生成できるようになります。

目次[非表示]

  1. 1.Stable Diffusionとは
  2. 2.Stable Diffusion Web UIとは
  3. 3.ControlNet OpenPoseとは
    1. 3.1.元画像からポーズを抽出して、同じポーズで画像を生成
    2. 3.2.棒人間を作成して同じポーズの画像を生成
  4. 4.ControlNet OpenPoseのインストール
  5. 5.元画像からポーズを抽出して、同じポーズの画像を生成する方法
  6. 6.棒人間を作成して同じポーズで画像を生成
  7. 7.元画像からポーズを抽出して棒人間を編集
  8. 8.プリプロセッサの種類
  9. 9.もっと自由な画像生成を
  10. 10.まとめ

Stable Diffusionとは

Stable Diffusionは、無料で使える画像生成AIです。テキストを打ち込むと、それに応じた画像が生成されるしくみです。人物や動物、風景など、さまざまな画像を生成できます。

例えば、「サングラスをかけた猫」と入力するとそのような画像が生成されます。生成する画像のスタイルも多様でイラストや写真、水彩画やアニメ調など、自分の好きなテーマでAIに生成してもらうことができます。

openpose

インストール不要でブラウザから簡単にStable Diffusionを使える「PICSOROBAN」

PCスペックを気にせず、簡単操作でStable Diffusionを利用できます。

ピクソロ

今なら2,000ポイント分のPICSOROBANの画像生成をお試しいただけます。

Stable Diffusion Web UIとは

Stable Diffusion Web UIは、ブラウザを通じて手軽に画像生成を行える無料のWEBアプリケーションで、Google Chromeなどの主要なブラウザで利用できます。


プログラミングを一切必要とせず、WEB UIによる簡単なグラフィカルな操作が可能です。Stable Diffusion Web UIをローカルPCにインストールして使用する、もしくはクラウドサーバーにインストールして使用します。

openpose

Stable Diffusion Web UIに関する全般的な使い方については、以下の記事でまとめていますので、あわせてご覧ください。

ControlNet OpenPoseとは

ControlNetはStable Diffusionの拡張機能の一つであり、その機能はContorlNetのモデルによって異なります。

ControlNet OpenPosedでは、元画像や棒人間からポーズを抽出して、同じポーズの画像を生成することができます。

元画像からポーズを抽出して、同じポーズで画像を生成

openpose

棒人間を作成して同じポーズの画像を生成

openpose

この記事ではOpenPoseを解説していきます。

OpenPose以外のモデルをお探しの方は、以下のContorlNetのまとめ記事をご覧ください。

ControlNet OpenPoseのインストール

ContorlNet OpenPoseは、Stable Diffusion Web UIの拡張機能のContorlNetの1つのモデルです。

拡張機能のContorlNetをインストールして、OpenPoseのモデルを設定することで利用できるようになります。

ContorlNetのインストールおよびモデルの設定方法は以下の記事をご覧ください。

上記記事にOpenPoseモデルのダウンロード手順が含まれます。

[control_v11p_sd15_openpose_fp16.safetensors]がOpenPoseのモデル名になります。

元画像からポーズを抽出して、同じポーズの画像を生成する方法

元画像をセットしてポーズを抽出し、同じポーズの画像を生成する手順は以下のとおりです。

Stable Diffusion WebUIの[txt2img]のタブを開きます。

  1.  [ControlNet v****]の[◀]ボタンを押して、メニューを開きます。
     ※Forge版の場合は、[ControlNet Integrated ◀]ボタンを押して、メニューを開きます。
  2.  [Single Image]の[ここに画像をドロップ -または-クリックしてアップロード]に元画像をアップロードします。
  3.  [Enable]にチェックを入れます。
  4.  [Control Type]で[OpenPose]を選択します。
  5.  [Preprocessor]のプルダウンメニューから[openpose_full]を選択します。
  6.  [Model]の[更新]アイコンをクリックします。
  7.  [Model]のプルダウンメニューから[control_v11p_sd15_openpose_fp16.safetensors]を選択します。
  8.  特徴抽出をする[💥]のアイコンをクリックします。
  9.  [Preprocessor Preview]に棒人間が出力されます。

openpose

任意の [プロンプト]、[生成パラメータ]を入力して画像を生成します。

openpose

プロンプト、モデル、生成パラメータ情報は以下のとおりです。

(プロンプト)
masterpiece, best quality, movie still, 1girl, floating in the sky, cloud girl, cloud, (close-up:1.1), bright, smug, smirk, happy, fun, soft lighting, volumetric lighting, Bauhaus, shapes, lines, abstract, blue hair

(ネガティブプロンプト)
Negative prompt: NSFW, (worst quality, low quality:1.3)

(生成パラメータ)
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 292926721, Size: 512x768, Model hash: 835487e6da, Model: etherBluMix_etherBlueMix6, VAE hash: 63aeecb90f, VAE: klF8Anime2VAE_klF8Anime2VAE.safetensors, ControlNet 0: "Module: openpose_full, Model: control_v11p_sd15_openpose_fp16 [73c2b67d], Weight: 1, Resize Mode: Crop and Resize, Low Vram: False, Processor Res: 512, Guidance Start: 0, Guidance End: 1, Pixel Perfect: False, Control Mode: Balanced, Hr Option: Both, Save Detected Map: True", Version: v1.7.0

左が[元画像]、真ん中が[元画像から抽出した棒人間]、右が[生成画像]になります。

openpose

棒人間を作成して同じポーズで画像を生成

ControlNet OpenPose Editerという拡張機能を使用して、棒人間を作成して同じポーズの画像を生成する方法を解説します。

手順は以下のとおりです。

[Extensions]タブの[URL for extension's git repository]に“https://github.com/fkunn1326/OpenPose-editor.git”を入力し、[Install]ボタンを押します。

openpose

[Installed]タブで[Apply and restart UI]ボタンを押して、変更を反映させます。

openpose

  1. [OpenPoseEditor]タブを開きます。
  2. [width]と[height]を生成する画像サイズに合わせます。
  3. 棒人間をマウスで編集します。
  4. [Send to txt2img]ボタンを押すと、txt2imgの画面に遷移します。

openpose

  1. txt2imgの画面に遷移したら、[Enable]にチェックを入れます。
  2. [Control Type]で[OpenPose]を選択します。
  3. [Preprocessor]で[none]を選択します。
  4. [Model]の[更新]アイコンをクリックします。
  5. [Model]のプルダウンメニューから[control_v11p_sd15_openpose_fp16.safetensors]を選択します。

openpose

プロンプト等を入力して画像を生成します。

左が[作成した棒人形]で、右が[生成した画像]になります。

openpose

元画像からポーズを抽出して棒人間を編集

ControlNet OpenPose Editerを使用して、画像からポーズを抽出して棒人間を編集する手順は以下のとおりです。

  1. [OpenPoseEditor]タブを開きます。
  2. [width]と[height]を生成する画像サイズに合わせます。
  3. [Detect from Image]ボタンを押し、ローカルPCから元画像をアップロードします。
  4. しばらくすると棒人間が表示されます。棒人間をマウスで編集します。
  5. [Send to txt2img]ボタンを押すと、txt2imgの画面に遷移します。

openpose

  1. txt2imgの画面に遷移したら、[Enable]にチェックを入れます。
  2. [Control Type]で[OpenPose]を選択します。
  3. [Preprocessor]で[none]を選択します。
  4. [Model]の[更新]アイコンをクリックします。
  5. [Model]のプルダウンメニューから[control_v11p_sd15_openpose_fp16.safetensors]を選択します。

openpose

プロンプト等を入力して画像を生成します。

openpose

左が[元画像]、真ん中が[元画像から抽出した棒人間]、右が[生成画像]になります。

openpose

プリプロセッサの種類

[Preprocessor]で選べるモデルは以下のとおりです。
モデルによって抽出できる範囲が異なります。

openpose

OpenPose:全身の検出モデル
dw_OpenPose_full:顔+手+全身の検出モデル(OpenPose_fullの新しいバージョン)
OpenPose_full:顔+手+全身の検出モデル
OpenPose_face:顔+全身の検出モデル
OpenPose_faceonly:顔の検出モデル
OpenPose_hand:手+全身の検出モデル

もっと自由な画像生成を

Stable Diffusionを実行する環境で、次のような悩みをお持ちではないでしょうか?

  • 画像生成が遅い
  • 使いたいGPUが使えない
  • GPUメモリ(VRAM)が足りない
  • ランタイムがリセットされる度にデータが消えるため、設定のやり直しが大変
  • 画像データのバックアップが面倒
  • Web UIの起動に時間がかかる
  • コンピューティングユニットの制限がストレス
  • 動作が不安定

制限を気にせず、高速かつ格安に画像生成がしたいなら、GPUクラウドサービス「GPUSOROBAN」がおすすめです。

まとめ

この記事では、Stable Diffusion Web UIでContorlNet OpenPoseを使用する方法を紹介しました。

OpenPoseを使うことで、元画像や棒人間と同じポーズの画像を生成できるようになります。

Stable DiffusionやControlNetに関する記事を以下のページでまとめていますので、あわせてご覧ください。

MORE INFORMATION

GPUでお困りの方はGPUSOROBANで解決!
お気軽にご相談ください

今すぐ使う
詳しい資料はこちら
質問・相談はこちら