Files

6.5 KiB

ComfyUI-ProportionChanger

日本語 | English README

注意: このREADMEはClaude Code AI支援開発ツールを使用して自動生成されました。

このカスタムノードは、kijai氏のComfyUI-WanVideoWrapperのWanVideo UniAnimate pose detectorノードを分解してポーティングしたものです。違いは、画像で入力していたところをKeyPointで入力できるようになったことで、これによりpose detectorでKeyPointが推定できないような体型でも操作ができるようになっています。

さらに、toyxyz/ComfyUI-ultimate-openpose-editorのOpenpose Editorノードも同様に分解してポーティングしています。これにより、各パーツ微調整が可能になっています。

機能

ノード紹介

  • ProportionChanger Pose Detector: 画像からKeyPointを検出する
  • ProportionChanger Reference: 参照用ポーズにプロポーションを変換する
  • ProportionChanger Pose Render: KeyPointを画像に変換する
  • ProportionChanger Params: KeyPointの各パーツのパラメータを調整する(上腕・下腕・太腿・下腿・足先の個別スケールを含む)
  • ProportionChanger Interpolator: KeyPoint動画を中割りして補間する
  • PoseData to pose_keypoint: WanAnimateのPOSEDATAをPOSE_KEYPOINTに変換する
  • pose_keypoint resize: POSE_KEYPOINTを指定サイズにリサイズ(アスペクト比が違う場合はパディング→スケールで歪みを防ぐ)
  • pose_keypoint input: JSONテキストからKeyPointに変換する
  • pose_keypoint preview: KeyPointからJSONに変換する
  • (Down)Load Mascot Pose Model: HuggingFaceからマスコット用pose ONNXモデルをダウンロードして読み込む
  • (Down)Load Mascot BBox Model: HuggingFaceからマスコット用bbox ONNXモデルをダウンロードして読み込む
  • Mascot Pose Detector: マスコットの姿勢をPOSE_KEYPOINTとして検出する
  • Mascot BBox Detector: マスコットのパーツbboxをBOUNDING_BOXとして検出する
  • pose_keypoint to SCAIL-Pose: 25点POSE_KEYPOINTをSCAIL-Pose用データに変換する

インストール

ComfyUI Managerでインストール

  1. ComfyUI MangerのCustom Nodes Mangagerから「ComfyUI-ProportionChanger」を検索してインストール

  2. ComfyUIを再起動

手動インストール

  1. custom_nodesフォルダにこのリポジトリをクローン:
cd ComfyUI/custom_nodes
git clone https://github.com/grmchn/ComfyUI-ProportionChanger.git
  1. 依存関係をインストール:
cd ComfyUI-ProportionChanger
pip install -r requirements.txt
  1. ComfyUIを再起動

使用方法

基本ワークフロー

example_workflowsを参照してください。

proportion_changer_basic2

WanAnimate POSEDATAの変換

  • WanAnimatePreprocessの「Pose and Face Detection」でPOSEDATAを取得
  • PoseData to pose_keypointノードにPOSEDATAとキャンバスのwidth/heightを入力
  • 出力されたpose_keypointをProportionChanger Reference / Renderノードに接続
  • サンプルワークフロー: example_workflows/proportion_changer_pose_data_to_pose_keypoint.json

SCAIL-Poseへの変換

  • 変更後のPOSE_KEYPOINTを pose_keypoint to SCAIL-Pose に接続
  • 出力されたDWPOSESをSCAIL-Pose系ワークフローで使用
  • サンプルワークフロー: example_workflows/proportion_changer_SCAIL_pose.json

トラブルシューティング

よくある問題

  1. モデル読み込みエラー: HuggingFaceから自動ダウンロードされるはずです。poseモデルが正しいディレクトリにあることを確認してください。
  2. リファレンス画像ありでプロポーション変換した後の体型がおかしい: pose_keypointとreference_pose_keypointの縦横比(canvas幅/高さ)が一致していない可能性があります。ProportionChanger Referenceのauto_resize_reference(デフォルトON)でリファレンス側を自動で揃えます。必要に応じてpose_keypoint resizeノードで明示的にwidth/heightを揃えてください。体の各パーツの微調整は「ProportionChanger Params」ノードで行ってください。
  3. リファレンス画像ありでプロポーション変換した後に何も表示されない:リファレンス画像の姿勢推定が失敗しています。OpenposeEditorなどを利用してパラメータの数値を入力してください。

Mascot Poseモデル

Mascot Poseノードは、HuggingFaceのgrmchn/mascot-pose-detectからComfyUI/models/mascot_body_detectへモデルをダウンロードします。公式モデルパッケージはApache 2.0で、デフォルトではkeypoint/dinov2_vitpose_l_v2 variantを使用します。以前のkeypoint/dinov2_vitpose_l variantも同じモデルリポジトリ内に残しています。ノードコードはこのリポジトリの一部であり、ダウンロードされたモデルの利用はモデル側のライセンスに従います。

帰属とクレジット

Special Thanks

ライセンス

このプロジェクトは、異なるライセンスのソース素材を組み合わせているため、GPL 3.0でライセンスされています:

Apache 2.0とGPL 3.0ライセンスのプロジェクトからコードを組み合わせる場合、ライセンス互換性ルールに従って結果の派生作品はGPL 3.0で配布する必要があります。

著作権表示

  • オリジナルWanVideo UniAnimate pose detector: Copyright by kijai
  • ProportionChanger Params機能: Copyright by toyxyz
  • 修正・統合: このプロジェクトの貢献者

完全なGPL 3.0ライセンス条項についてはLICENSEファイルを参照してください。