📝 チャットまとめ
- DWPose と Union の違い
Union は複数のポーズ検出アルゴリズムを統合して安定性を高めたもの
DWPose は「人の骨格(キーポイント)」を抽出する姿勢推定モデル
Union のほうが汎用性高いが、DWPose はシンプルで広く使われている
- DWPoseでのポーズ抽出の限界
人が前進しながら動いている動画でもポーズは取れる(位置情報も正規化される)
ただしフレームアウト(例:頭が画面外に出る)は欠損する
真上からの俯瞰映像でも骨格は推定できるが、誤差が大きくなりやすい
- ComfyUIのカスタムノード
ノードのコード(nodes.py)は書き換えられるが、直接編集するより「新しいカスタムノードを作成」するのが推奨
クラスを継承する必要はないが、ComfyUIは「クラス定義されたノード」を自動で読み込む仕組みになっている
カスタムノードをインストールしたら再起動が必要(起動時にノードをロードするため)
GitHubからダウンロードする場合は、基本的に「緑の Code ボタン → ZIP」か git clone
- DWPoseで複数人いる場合
1フレーム内に複数人いるとそれぞれの骨格が検出される
「IDトラッキング」があれば、同じ人物にIDが割り当てられ、動画全体で追跡できる
DWPose単体ではIDトラッキングは弱い。DeepSORTなどの別のアルゴリズムを併用する必要がある
- スケーリングと正規化
DWPoseの出力は「画像サイズに正規化された座標」
→ 画面比率が同じならキャラにそのまま転写可能
キャラが近づくと体が大きくなるのも座標に反映されるが、比率は維持される
必要に応じてスケーリング処理で拡大縮小して適用
- Noteの記事のワークフロー
参照画像:Midjourneyで作成したキャラ
モデル:Wan2.2
LoRA:wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors など
ポーズ:DWPose
- LoRAとリファレンス画像の役割
LoRA
Lightning系(high_noise / low_noise)はキャラを覚えているわけではない
役割は「少ないステップで参照条件を効かせやすくする」
high_noise → 初期のノイズ段階から効かせるので、大枠から参照画像に寄せられる
リファレンス画像
キャラの見た目(髪色・服装など)の特徴をベクトル化して条件として与える
モデルは「一般的な人物の構造」を学んでいるため、初見のキャラでも再現可能
- 矛盾の整理
モデルは「ノイズパターン」を学習しているのではなく、「ノイズから画像を復元する規則」を学習している
LoRAは規則を部分的に補正し、参照条件を早い段階で適用する補助
参照画像そのものがキャラ外見のソース
矛盾ではなく「学習済み知識」と「その場の参照条件」の組み合わせ
✅ 最終結論
拡散モデルは 学習データに基づく分布 から生成している
参照画像は 初見でも特徴を抽出して潜在空間に条件付けできる
Lightning LoRA (high_noise) は、その特徴を 初期段階から潜在空間に落とし込む ことでキャラの外見を安定させている
👉 要するに:
「キャラはLoRAで学習されているわけではなく、参照画像がソース。LoRAは参照条件を効かせやすくして安定させる補助ツール」というのが今回のワークフローの正体です。