NSFWポーズ制御のためのOpenPose ControlNet
ComfyUIでOpenPose ControlNetを使い、NSFW生成のボディポーズを固定します。セットアップ、depthとの組み合わせ、手のポーズの工夫、よくある失敗パターンを解説します。
テキストプロンプトでは、同じ結果を二度得られるほどの精度でボディポーズを記述することができません。「ベッドの端に座り、前かがみになり、頭を横に向けて肩越しに見ている」という表現は、人間の読み手には具体的に聞こえますが、AIモデルにとっては極めて曖昧です。あなたのNSFW生成が、だいたい合っているけれど少しずれたポーズばかりになるのは、ポーズの空間が広すぎてテキストでは航行できないからです。OpenPose ControlNetは、すべての関節がどこにあるべきかを正確に示した文字どおりの骨格図をモデルに与えることで、これを解決します。これは、チェスの局面を言葉で説明するのと、盤面そのものを見せるのとの違いです。ここでは、2026年に実際に機能する完全なセットアップを紹介します。
手早い答え: DWPoseプリプロセッサ(元のOpenPoseより優秀です)のためにComfyUI ControlNet Auxをインストールします。SDXL互換のOpenPose ControlNetモデルをダウンロードします(thibaud版が標準です)。ワークフローのチェーンは、参照画像をDWPoseプリプロセッサに通し、重み0.8のApply ControlNetへ、そしてKSamplerへと流れます。難しいポーズには重み0.5のdepth ControlNetを組み合わせます。最良のNSFWポーズ追従性を得るにはPonyまたはRealVisXLのベースを使います。
- OpenPose ControlNetはモデルを骨格図で条件付けし、テキストプロンプトでは解消できないポーズの曖昧さを取り除きます。
- DWPoseプリプロセッサは元のOpenPoseプリプロセッサより正確で、2026年のデフォルトとすべきです。
- thibaud版のSDXL OpenPose ControlNetモデルが実運用の標準です。PonyもRealVisXLも、どちらもこれらで動作します。
- OpenPose(ポーズ)とDepth ControlNet(空間配置)をバランスの取れた重みで組み合わせると、複雑な構図で最も信頼できる結果が得られます。
- 手のポーズはOpenPose単体では信頼できません。手に特化したバリアントを使うか、手は別途インペイントが必要だと割り切ってください。
- 複数人のポーズは機能しますが、骨格の重なりを避けるために慎重なプリプロセスが必要です。
NSFWでポーズのテキストプロンプトが失敗する理由
私が腹落ちするのに恥ずかしいほど時間がかかったことがあります。プロンプトに「片脚を上げて仰向けに横たわっている」と書くと、モデルにはその記述に合致する解釈が何千通りもあります。ポーズは高次元です。テキストは低帯域です。モデルはシードに基づいてそれらの解釈のひとつをおおむねランダムに選ぶので、同一のプロンプトであっても複数の生成で同じポーズを再現できないのです。
この問題はNSFWでは一般的なAIアートよりも深刻です。理由は次のとおりです。
- NSFWの構図はテキストの語彙ではうまく扱えない非標準のボディポジションを取ることが多い
- 露骨なコンテンツの学習データはbooru風のタグを使い、ポーズ情報を短いラベルに圧縮している
- ボディ中心のフレームは、モデルがポーズを曖昧さなく特定するために使う「文脈の手がかり」を減らしてしまう
- 複数被写体のNSFWシーンは、フレーム内の人数の分だけ曖昧さを倍増させる
OpenPose ControlNetは、サンプリング中にモデルへ明示的な骨格図を与えることで、この曖昧さを崩します。すべての関節が既知の座標にあります。すべての手足が既知の方向にあります。モデルはボディの形、衣服、ライティング、シーンなど他のすべてについては自由を保ちますが、ポーズそのものは固定されます。これが根本的な突破口です。
NSFW作業における実際の効果です。私はかつて、ほしい特定のポーズをひとつ当てるのに10から20回の生成を費やし、出力のほとんどが近いけれど間違っているのを受け入れていました。OpenPoseで固定すると、ほしいポーズが最初の生成で得られ、他のパラメータのバリエーションを求めるときだけ再生成すればよくなります。ポーズが重要な作業では、スループットの差はおよそ5から10倍です。
OpenPose ControlNetの仕組み
OpenPose ControlNetは、人間のポーズを2Dの骨格表現で表したものを使って拡散モデルを条件付けします。骨格には主要な関節(頭、肩、肘、手首、腰、膝、足首)のノードがあり、それらが線で結ばれています。モデルは学習中に、特定の骨格構成をピクセル空間における対応するボディポジションと結びつけることを覚えました。推論時には、テキストプロンプトとともに骨格図を与えると、モデルはその骨格に一致するボディの画像を生成します。
元のOpenPoseモデル(OpenPose研究プロジェクト由来)は18個のボディキーポイントを検出し、それに加えて手(片手あたり21点)と顔(70点)用の拡張版があります。実用上、最も重要なのはボディのキーポイントです。顔のキーポイントは顔の向きに役立ちますが、たいていは不要です。手のキーポイントは便利そうに聞こえますが、ソース画像での手の検出が難しいため、実際には信頼できません。
DWPoseは元のOpenPoseプリプロセッサの2026年版の置き換えです。より新しい検出モデルを使い、特に難しいポーズ、部分的なオクルージョン、珍しいボディアングルに対して、より正確な骨格推定を生成します。ポーズが立ちか座りのベースラインから外れることの多いNSFW作業では、DWPoseの精度上の優位は本物です。
機能するControlNetパイプラインにおける完全な情報の流れは次のとおりです。
- 参照画像(または棒人間の絵)がポーズプリプロセッサに入る
- プリプロセッサが色分けされた線と点で骨格図を出力する
- 骨格図がテキストプロンプトとともにControlNetモデルに入る
- ControlNetの条件付けが拡散モデルの中間層に注入される
- 主たる拡散サンプラーがその条件付けの影響を受けて動く
- 出力はポーズが骨格に一致した生成画像になる
「重み」パラメータは、ControlNetが出力にどれだけ強く影響するかを制御します。重み1.0はモデルが骨格に厳密に一致させようとすることを意味します。重み0.0は骨格が無視されることを意味します。重み0.8(NSFW作業での私のデフォルト)は、自然なバリエーションのためにモデルにいくらかの柔軟性を残しつつ、ポーズを固定するのに十分です。
ControlNet Auxノードのインストール
ComfyUIでのセットアップは簡単です。標準のプリプロセッサパックはFannovel16のcomfyui_controlnet_aux(および公式フォークのcomfyorg/comfyui-controlnet-aux)です。ComfyUI Managerから「ControlNet Aux Preprocessors」を検索してインストールをクリックすることで導入します。インストール後はComfyUIを再起動し、ブラウザを更新してください。新しいプリプロセッサノード(DWPose Estimatorを含む)が利用可能になります。
ComfyUI Managerを使えない場合、手動インストールは次のとおりです。
- リポジトリを
ComfyUI/custom_nodes/にクローンする - ディレクトリ内でinstall.bat(Windows)またはinstall.sh(Linux/Mac)を実行する
- ディレクトリに書き込み権限が設定されていることを確認する
インストールスクリプトは必要な依存関係をダウンロードし、プリプロセッサのモデル重みをセットアップします。インストール後の初回実行は、一部のプリプロセッサモデルが初回使用時に遅延読み込みされるため、より遅くなります。
ControlNetモデル本体(プリプロセッサとは別)については、SDXL互換のOpenPoseモデルをダウンロードします。標準的な選択肢はHuggingFace上のthibaud版controlnet-openpose-sdxl-1.0です。ComfyUI/models/controlnet/に配置します。
まだ古いモデルを使っているSD 1.5の場合は、元のlllyasviel版ControlNet OpenPoseモデルが動作します。Fluxについては、ControlNetのサポートはより新しく成熟していません。Flux用のControlNet OpenPoseモデルは存在しますが品質はばらつきます。今のところ、ポーズ制御したNSFW作業にはSDXLのほうが信頼できる選択です。
DWPose特有のパフォーマンス最適化です。プリプロセッサは、その背後にある検出モデルにTorchScriptチェックポイント(.torchscript.pt)かONNXRuntime(.onnx)のどちらかを使えます。ONNXRuntimeは高速ですが追加のライブラリインストールが必要です。TorchScriptはわずかに遅いものの、そのまま動きます。いずれにせよ、CPUのみの推論よりはるかに高速です。8 GBのカードではどちらの選択肢も動きますが、インストールできるならONNXが正解です。
参照からポーズを取り込む
完全なワークフローは、ほしいポーズを示した参照画像から始まります。これは次のいずれでも構いません。
- 写真(NSFWと無関係でも構いません。骨格は単なる幾何学です)
- ポーズが気に入った過去のAI生成
- 自分で手描きした棒人間の絵
- Daz Studioや類似のポーズツールからの3Dポーズ
- 動画から抽出したフレーム
NSFW作業では、私のやり方は時間をかけて集めたポーズ参照のフォルダを保持しておくことです。特定のポーズがほしいときは、参照(多くはそのボディポジションの誰かを写したNSFWでない写真)を見つけ、DWPoseに通します。骨格の抽出はコンテンツに依存しません。関心があるのは関節の位置であり、その人が何を着ているか何をしているかではありません。
ComfyUIのノードチェーンは次のようになります。
- Load Image(参照)
- DWPose Estimator(プリプロセッサ)
- Preview Image(骨格が正しく見えるか確認できるように)
- Apply ControlNet(モデルと組み合わせる)
- KSampler(通常のポジティブ/ネガティブプロンプトで)
- VAE Decode
- Save Image
プリプロセッサとApply ControlNetの間のPreviewノードは、すべてのポーズワークフローに残しておく価値があります。完全な生成にコミットする前に、骨格が正しく抽出されたか確認できます。プリプロセッサが関節を取りこぼしたり角度を間違えたりしても、ほしいものと一致しない生成に計算リソースを浪費する前に気づけます。
参照画像が見つからないポーズについては、代わりに骨格を手描きします。2Dキャンバス上に関節を配置できるポーズエディタツールがあります。ComfyUIに限れば、PoseSkeleton-XLカスタムノードやさまざまなポーズエディタ拡張で、UI内でこれが行えます。描いた骨格は、プリプロセスした画像と同じようにApply ControlNetへ入ります。
OpenPoseとDepthの組み合わせ
単一のControlNetだけでは不十分なことが多い理由を率直に話します。OpenPoseは骨格レベルでポーズを固定しますが、ボディの体積、奥行き、被写体と環境の空間関係はエンコードしません。複雑な構図(ベッドに横たわる被写体、椅子に座る被写体、家具の後ろにいる被写体)では、ボディがシーンとどう交わるかについてモデルにまだ自由があり、ポーズは正しいのに空間配置が間違っている奇妙な結果になることがあります。
無料のComfyUIワークフロー
この記事のテクニックに関する無料のオープンソースComfyUIワークフローを見つけてください。 オープンソースは強力です。
その対処法は、OpenPoseをDepth ControlNetと組み合わせることです。Depthは空間配置(何が何の前にあるか、カメラからどれだけ離れているか)を、OpenPoseはポーズを提供します。両者を合わせると、どちらか一方だけよりもはるかに信頼できる形で構図を固定できます。
私のテストから推奨される重みの組み合わせは次のとおりです。
- OpenPose ControlNet: 重み0.8(主たる信号)
- Depth ControlNet: 重み0.5から0.6(補助的な空間ガイダンス)
depthの重みを0.7より上げると、ポーズを上書きし始めます。0.4より下げると、depthが弱すぎて意味をなさなくなります。スイートスポットは0.5から0.6あたりで、ポーズと競合せずに空間的な一貫性が得られます。
深いマルチControlNetワークフローでは、第3の選択肢として細かい空間ディテールのために低い重み(0.2から0.3)でCannyエッジ検出を加えることがあります。これはポーズ作業よりも、特定の環境構図に合わせるのに有用です。ほとんどのNSFWポーズワークフローはOpenPoseとDepthでうまくいき、第3のControlNetは不要です。
ComfyUI AuxでのDepthのプリプロセスです。Depth Anything V2プリプロセッサは2026年で最高品質のdepthマップを生成し、MiDaSのような古い選択肢に取って代わります。新しいワークフローではDepth Anything V2を使ってください。
ControlNetモデル本体については、OpenPose ControlNetとDepth ControlNetの両方が必要です。thibaudや他の人がHuggingFaceでSDXLバリアントをホストしています。両方をダウンロードし、別々のApply ControlNetノードとして直列に(並列ではなく連鎖して)読み込みます。
複数人ポーズの工夫
複数人のNSFWシーンは、ポーズ制御が本当に難しくなるところです。OpenPoseは単一の骨格図で複数人を検出して表現できますが、複数人を正しく異なるポーズでレンダリングするモデルの能力は、人が増えるごとに低下します。
二人のシーンで機能するパターンは次のとおりです。
二人を描いた単一の骨格図。 参照画像に二人が含まれていれば、DWPoseプリプロセッサがこれを自動で処理します。出力される骨格には二つの異なる骨格の人物像が含まれます。これを単一のOpenPose ControlNetに与えます。品質は二人のシーンでは問題ありませんが、三人以上では低下します。
別々に生成して合成する。 各人物を自分のポーズ固定ワークフローで個別に生成し、その出力を合成します。手間は増えますが、複雑な複数人構図ではよりきれいな結果が得られます。スループットより品質が重要なヒーローショットに有用です。
複雑さをスキップしたいですか? Lewdly は、技術的なセットアップなしでプロフェッショナルなAI結果を即座に提供します。
Latent CoupleやRegional Prompter拡張を使ったリージョナルControlNet。 これらのツールは、異なる画像領域に異なるControlNetと異なるプロンプトを適用できます。これは最も強力なアプローチですが、セットアップも最も複雑です。
NSFWの二人作業に限れば、私のパターンは次のとおりです。
- 両方のポーズを含む参照を見つけるか描く
- DWPoseを実行して骨格を抽出する
- プレビューで骨格が正しく見えるか確認する
- 重み0.85でApply ControlNetを行う(補正のため一人のときよりわずかに高く)
- 両方の被写体をその役割とともに呼び出すプロンプトを使う
- より高いバッチ数(5から10)で生成し、最良の結果を選ぶ
こうした工夫をしても、複数人のNSFWポーズ作業は一人より難しく、成功率は低めです。ある程度の反復を見込んでおいてください。
手のポーズの限界
ここはControlNetの最大の弱点について正直にならざるを得ないところです。OpenPoseによる手のポーズ制御は信頼できません。プリプロセッサは手のキーポイントを検出することもあれば、取りこぼすこともあります。正しく検出されても、ControlNetモデルの手と骨格のペアに対する学習はボディと骨格のペアより疎なので、生成された手は入力の手のポーズからしばしば外れます。
手のポーズで実際に機能するのは次のとおりです。
- プリプロセッサが協力してくれるときは、拡張された手バリアント(片手あたり21の手キーポイント)つきのOpenPoseを使う
- ボディポーズは正しくなるが、手は別途修正が必要だと受け入れる
- 後処理として手のインペイントやADetailer風の手の補正を実行する
- 手のポーズが本当に重要な場合はMesh Graphormer(手メッシュのプリプロセッサ)を使う
ほとんどのNSFW作業では手は構図の焦点ではないので、正しいアプローチはOpenPoseでボディポーズを固定し、手は修正が必要だと受け入れることです。私が解説したFace Detailerワークフローは、同じImpact Packで検出モデルにhand_yolov8s.ptを使うことで手のディテーリングに応用できます。限られたVRAMでこれを動かしているなら、8 GB VRAM NSFWセットアップガイドが、ControlNetを有効にした状態で何が収まるかをカバーしています。
手に関連する具体的な工夫で役立つものをいくつか挙げます。
- プロンプトで強調された領域から手を遠ざける(モデルはプロンプトが強調するものほど注意を向けます)
- ポジティブプロンプトに「detailed hands, fingers」を加えてそこへ注意を押し込む
- ネガティブプロンプトに「bad hands, missing fingers, extra fingers」を加える(ただしやりすぎないこと)
- より良い手の事前分布へモデルを偏らせるために、Civitaiの手特化LoRA(複数あります)を使う
これらのいずれも問題を完全には解決しません。手の補正は2026年において本質的に後処理のステップです。
再利用できる6つのポーズJSON
働くクリエイターにとって、ポーズ参照の個人ライブラリを持つことは膨大な時間を節約します。私が使うパターンは、よくある構図をカバーする骨格JSON(とソースの参照画像)のフォルダを維持することです。ComfyUIのPose KeypointフォーマットはJSONベースで、直接保存と読み込みができます。
コンテンツ制作で月$1,250以上稼ぐ
独占クリエイターアフィリエイトプログラムに参加。バイラル動画のパフォーマンスに応じて報酬。自分のスタイルで完全な創造的自由を持ってコンテンツを作成。
私のNSFW作業のおよそ80パーセントをカバーする6つのポーズは次のとおりです。
立ち姿のポートレート、四分の三アングル。 被写体がカメラから少し軸を外して向いている。キャラクター紹介ショットに最も柔軟なベースポーズです。
ベッドや椅子の端に座り、前かがみ。 古典的な親密なシーンの構図。一人のシーンにも二人のシーンにもよく機能します。
仰向けに横たわり、頭を枕に乗せている。 ベッドルームシーンのベース。脚の位置を変えて応用しやすいです。
横向きに寝そべる。 くつろぎのポーズ。リラックスしたボディランゲージに向いています。
ひざまずき、両手を太ももに置く。 構図の柔軟性が高く、カジュアルにも親密にも機能します。
動作の途中で壁に寄りかかる立ち姿。 ライフスタイルやファッション風のNSFWベース。被写体がダイナミックなボディポジションを取ります。
私はこれらをワークフローフォルダに骨格JSONとして保持し、本番ワークフローがそのひとつをポーズ入力として読み込みます。各骨格を生成した実際の参照画像はどこから来ても構いません(写真、絵、過去のAI生成)。骨格さえ手に入れば、出どころは関係ありません。
自分で作るのではなく既製のポーズライブラリがほしい人向けに、Civitaiの何人かのクリエイターがNSFW作業に特化したポーズコレクションを配布しています。Civitaiで「pose pack」または「openpose pack」を検索してください。ライブラリの品質はまちまちですが、良いものは実際に時間を節約してくれます。
よくある質問
OpenPose ControlNetはFluxモデルで動作しますか? FluxのControlNetサポートはSDXLのControlNetより新しく成熟していません。Flux向けOpenPose(コミュニティ製)は存在しますが品質はばらつきます。2026年半ば時点では、ポーズ制御したNSFW作業にはSDXLのほうが信頼できる選択です。Flux ControlNetは急速に改善しており、2026年後半には推奨の選択になっているかもしれません。
ポーズ生成が骨格を無視するのはなぜですか? 最もよくある原因は、重みが低すぎる(強いポーズ固定には0.7から0.9にすべきです)、誤ったControlNetモデルの選択(SDXLにSD 1.5モデル、またはその逆)、プリプロセッサが悪い骨格を生成している(プレビューを確認)、テキストプロンプトがポーズと争っている(ControlNetがポーズ作業をしているときは、詳細なポーズ記述よりも曖昧なプロンプトのほうがうまくいきます)などです。
OpenPoseとDWPoseの違いは何ですか? どちらも骨格図を出力するポーズプリプロセッサです。DWPoseはより新しい検出モデルを使い、特に難しいポーズでより正確です。DWPoseは2026年のデフォルトとすべきです。出力フォーマットはすべてのOpenPose ControlNetモデルと互換なので、同じ下流のControlNetでどちらのプリプロセッサも使えます。
OpenPose ControlNetを顔のポーズに特化して使えますか? 拡張版のOpenPoseモデルは顔のキーポイントを含みますが、ControlNetによる顔のポーズ制御はあまり良くありません。顔の向きにはIPAdapter FaceIDやPuLIDのほうがうまく機能します。顔の表情には、プロンプトトークンとface detailerのLoRAのほうがControlNetより信頼できます。
8 GBのVRAMで一度に何個のControlNetを重ねられますか? 1個なら確実に、2個なら注意して、です。各ControlNetはサンプリング中のVRAM使用量を約1から1.5 GB増やします。2個のControlNet(OpenPoseとDepth)が8 GBでの実用上の上限です。3個は12 GBでなんとか可能で、16 GB以上なら容易です。
OpenPoseは人間以外の被写体で動作しますか? 標準モデルは人間のポーズで学習されています。動物やファンタジー生物のポーズには別のControlNet(全体形状の制御にはScribbleやCannyが効きます)が必要です。人型のプロポーションを持つアニメキャラクターは、たいてい標準のOpenPoseで動作します。
OpenPoseにはどの重みを使うべきですか? 0.8がNSFW作業での私のデフォルトです。ポーズが無視される場合は1.0まで上げます。出力が硬すぎたり不自然に見えたりする場合は0.6から0.7まで下げます。適切な重みはベースモデルによって変わります。Pony RealismはRealVisXLよりわずかに低い重みでポーズに追従します。
プリプロセッサが抽出した後に骨格を編集できますか? できます。いくつかのComfyUIノードや外部ツールでOpenPose骨格を編集できます。PoseSkeleton-XL拡張はそのひとつの選択肢です。骨格を第三者のエディタにエクスポートし、修正し、再インポートすることもできます。
ポーズControlNetは生成速度に大きく影響しますか? はい、ほどほどに。ワークフローにControlNetを1個追加すると生成時間がおよそ30から40パーセント増えます。2個のControlNetを合わせると50から70パーセント増えます。この遅延は、ControlNetがサンプリング経路に追加するモデル層によるものです。
すべてのNSFW生成にポーズControlNetを使うべきですか? いいえ。ポーズControlNetはポーズが重要なときのためのものです。バリエーションがほしい生成や、ポーズが重要でない生成では飛ばしてください。固定されたポーズという制約は出力の多様性を減らし、それがときにあなたのほしいものの逆になります。意図して使ってください。
正直な見解
OpenPose ControlNetは、2026年のNSFWワークフローへの最も影響力の大きい追加のひとつです。特定のポーズを確実に再現できる能力は、プロの出力(構図を計画して当てられる)とアマチュアの出力(シードが与えるものを受け入れる)との違いです。使い方が身についてしまえば、問いは「良いポーズが取れたか?」から「どんなポーズがほしいか?」へと変わります。
ポーズ制御ワークフローを二年間運用して得た主な教訓です。参照ライブラリを作ってください。よく選ばれた6つのポーズJSONは、NSFW制作パイプラインの他のどの最適化よりも多くの時間を節約します。OpenPose ControlNetの技術的なセットアップは単純でよく文書化されています。再利用できるポーズのライブラリこそが、時間とともにあなたを実際に速くするものです。
ワークフローを自分で管理せずにポーズ制御がほしい人向けに、lewdly.aiはパイプラインの一部としてポーズ条件付けを扱います。参照画像かポーズの記述を提供すると、プラットフォームが適切なControlNetスタックを経由してルーティングします。これはカジュアルなユーザーにとって適切な抽象度です。完全に開示すると、私はその構築を手伝っています。
参考資料には、ComfyUI ControlNet Aux GitHubリポジトリ、Hugging Face上のthibaud版OpenPose ControlNet SDXL、そして追加の文脈としてOpenPose ControlNetに関するComfyUI Wikiチュートリアルがあります。
AIインフルエンサーを作成する準備はできましたか?
115人の学生とともに、51レッスンの完全なコースでComfyUIとAIインフルエンサーマーケティングをマスター。
関連記事
ComfyUIでAIガールフレンドキャラクターを作る: ビジュアル一貫性ワークフロー
IPAdapterとFaceIDを使って、ビジュアルに一貫性のあるAIガールフレンドキャラクターを作成するための完全なComfyUIワークフロー。最適な設定とノード構成を備えたステップバイステップの技術ガイドです。
NSFWの顔向けComfyUI Face Detailerワークフロー
AI生成画像の顔を修正します。Impact PackのFace Detailerノード設定、YOLOモデル、デノイズ設定、マルチパス復元について解説します。
NSFW生成のためのComfyUI LoRAスタッキングガイド
破綻させずに3つか4つのNSFW LoRAを重ねる方法。強度の範囲、競合パターン、LoRA Stackerノード、キャラクターとスタイルとアナトミーの組み合わせ。