参考 VNCCS 人偶姿势实现「姿势迁移 + 人物一致性」原理解析 – victor.x.qu

参考 VNCCS 人偶姿势实现「姿势迁移 + 人物一致性」原理解析 – victor.x.qu


このプロジェクトは、VNCCS の「3D パペットのポーズ→キャラクターの移行」機能を Qwen-Image-2.1 パイプラインに移植します。
以下で明確にしましょう基礎となる原則(どのように行うのですか?)そしてワークフローとエフェクトが示されます。

一文原則

VNCCS PoseStudio の 3D パペット エディタを使用してターゲット ポーズを設定し、それを「ポーズ条件マップ」にレンダリングします。
アイデンティティの源として、キャラクターの別の参考画像を提供します。両方とも Qwen-Image-2.1 + 専用 PoseStudio V1 LoRA を一緒に供給し、
絵を描くとき顔・髪型・服装はそのままでポーズのみ変更可能。複数のアクションは同じランダム シードを共有して、一貫した役割を保証します。

基礎となる原理: それがどのように機能するか

1. ControlNetではなく「参照画像+コマンド」による画像編集です

Qwen-Image-2.1 自体はマルチモーダル画像生成・編集モデル画像とテキストのコマンドを同時に受信できます。
VNCCS が行うことは、ControlNet ブランチをハングすることではなく、2 つの画像を一緒にモデルに送信することです。

  • 画像1 = パペットのポーズ写真(ターゲットポーズのレンダリング)
  • image2 = キャラクター参考画像(顔・髪型・服装を保ったもの)
  • 修正された指示:Draw character from image2、
    または Replace the pose of image2 with the pose of image1. Keep the character of image2.

これをもとにモデルは画像1から「姿勢」を、画像2から「アイデンティティと服装」を読み取り、新たな画像を合成します。
ポーズ条件は「モデルが理解できる絵」であり、追加のネットワーク分岐ではありません。
(パペット グラフ自体は、クリーンな「ControlNet スタイル」条件付きグラフの形式で他のパイプラインに供給することもできますが、VNCCS に付属する姿勢制御は、上記の LoRA + デュアル グラフ命令のパスに従います。)

2. ポーズに 2D スケルトンではなく 3D パペットを使用する理由 (OpenPose)

2D スケルトンには平面座標のみがあり、深みがない。コミュニティ ドキュメント (VNCCS 人形 + LoRA の同じセットに基づくフィッシャー ポーズ) には、次のように明確に記載されています。
2D ボーンには深さがなく、深さは各ボーンの「視覚的な短縮の程度」からのみ推定できます。計算を間違えると、体幹や手足が前後に反転してしまいます。。

代わりに VNCCS を使用してください MakeHuman 3D ドール(これは、VNCCS PoseStudio QI2.1 LoRA のトレーニングに使用されたボディと同じです) レンダリング:

  • 体の体積、左右の咬み合わせの関係、手の姿勢、体のプロポーションはすべて直接絵に描かれます。
  • カメラ位置でベイク処理された向き (正面/横/背面)プロンプトに書く必要はありません front/side/back——
    それは代わりにアクションをスタンディングに戻すことになります。
  • モデルはこの画像を読み取ることで 3D 姿勢を復元することができ、2D スケルトンよりもはるかに安定しています。

3. 専用 LoRA は何をしているのですか?

LoRA (低ランク微調整) の本質は次のとおりです。基本モデルに「この人形の描画形式→対応する体のレイアウト」というマッピングを教えます。
基本モデルはもともと「絵を見る + 絵を作る」機能を持っていますが、LoRA はこの特定のパペット絵を変換できるようにするだけです
「姿勢制御信号」として認識——姿勢が正しく、手足の位置が正しく、向きも正しいということですね。
LoRA ウェイトが小さいほど柔軟性が高く (通常は数十 MB から数百 MB)、重畳して強度を調整できます。

4. 文字の一貫性を確保する方法

「顔を変えずに姿勢を変える」を実現するには、次の3つを重ねます。

  • ID ソースは image2 です(写真を参照して顔/髪型/服装を決めてください);
  • ディレクティブでは、image2 の役割を保持する必要があります。;
  • バッチ全体が同じランダム シードを共有しますそれぞれのポーズが異なって見えるのを防ぐために、絵のスタイルと衣服の詳細を固定します。

同じ人の姿勢を変えた場合、その変化が明確に分かるため、どの部分が変化したかを比較しやすくなります。

5. 姿勢をすぐに言葉で書くのではなく、「絵で示す」必要があるのはなぜですか?

Qwen の命令型編集はほとんどの変更でうまく機能しますが、まさに「姿勢」が一番苦手です:
テキストでは特定の体の角度を要求するか、カメラを左に 40 度回転するように要求しますが、多くの場合、元の姿勢または厳密な近似のみが取得されます。
姿勢を整えて絵を描くそれをモデルに引き渡すことによってのみ、正確で制御可能になります。

ワークフローはこんな感じです

![ComfyUI 工作流](
参考 VNCCS 人偶姿势实现「姿势迁移 + 人物一致性」原理解析 – victor.x.qu

図: ComfyUI ワークフロー – リファレンス キャラクター (画像 2) + PoseStudio ポーズ (画像 1) → Qwen + PoseStudio V1 LoRA → パブリッシュ。

ポーズは、PoseStudio のスケルトン編集ノードで作成されます (手書きのワイヤーフレームではありません)。

![PoseStudio 骨架编辑](
vnccs_posestudio_editor

図: ComfyUI の「ポートレート編集/スケルトン編集」ノード – 中央はドラッグ可能なスケルトンの姿勢 (座位、足を開いた状態)、
オレンジ色の調整フレームとハンドルが付いています。下部に「水平/0°正面/垂​​直角度/ポートレートのエクスポート」などのボタンがあり、エクスポートはimage1です。

使い方(公式に準拠)

  • 参考役割(画像2): すっきりとした正面図で、保持する衣類がはっきりと表示されます。ドリフトを減らすために、複数のアクションに同じ参照を使用します。
  • PoseStudioポーズ(画像1): スイング ジョイント、カメラ/視野、条件信号として VNCCS ツール ブリッジ経由で ComfyUI に送信されます。
  • シーンのヒントとスタイル: 簡潔なシーン プロンプト (場所/照明/カメラのセンス)、アイデンティティ プロンプトを保持します (「赤いドレスの詳細を保持する」など)。
  • サンプリングの改良: 最初に 1 つのフレームを取り出して、ポーズと類似性を確認します。シードを変更せずに、ポーズと文言をすばやく繰り返します。
  • エクスポートアップグレード: ロックしてからエクスポートすると、アップグレーダーを使用して高解像度で出力できます。

エフェクト例

![红裙 REPOSED](
vnccs_example_red_dress

左 REFERENCE、右 REPOSED:同じキャラクター、同じ衣装、同じシーンで、姿勢を変える(両腕を上げる)だけです。

![拳击 REPOSED](
vnccs_example_boxer

男性アスリート: スタンディング → ボクシングの防御姿勢。ジムのシーンと一致します。

主要なモデルとリソース (オープンソース、このプロジェクトの移植ソース)

このプロジェクトの取り組み方(簡単な説明)

  • 公式 PoseStudio (iframe) がフロントエンドに埋め込まれており、白背景の灰色のパペット画像をエクスポートし、それを「Character Migration」ノードに接続します。動作参考(画像1);
    キャラ絵リンクアイデンティティソース(画像2)。
  • 後部 qwen_pose_image():パペット画像前処理(白背景/等比率で中央配置/パペットの比率に合わせて拡散)+二重画像+固定命令+本LoRA——
    上記の原則に対応します。
  • 詳細なソースコードの配置:docs/角色中心-剩余工作与做法.md、docs/VNCCS-REAL.md。



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *