WrnchAI CHOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

WrnchAI CHOP による姿勢推定の概念図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – wrnchAI による全身・顔・手のリアルタイム姿勢推定

WrnchAI CHOPは、TOP に入力されたカメラ映像から全身・顔・手の姿勢推定を行い、関節点座標をチャンネルで出力する CHOPです。wrnchAI エンジン (要別ライセンス) を TouchDesigner Pro 内で駆動し、2D / 3D / IK 形式の関節点を最大複数人ぶん同時に取得します。

主な用途 🎯

  • カメラ映像からの全身姿勢推定(関節点を 2D / 3D で取得)
  • 逆運動学 (IK) チャンネル出力による 3D キャラクタリギング・モーションキャプチャ
  • 顔の位置・バウンディングボックス取得(顔向き検出・ARフィルタ)
  • 手のランドマーク追跡によるジェスチャー UI・ハンドインタラクション
  • 複数人マルチプレイヤー追跡(p1, p2, p3… のチャンネルプレフィックスで分離)

データフロー 🔄

入力: TOP(カメラ映像 / 動画)

wrnchAI エンジン(GPU 推論)

関節点 / 顔 / 手のチャンネル生成

p1, p2... プレフィックス付与

出力: tx, ty, tz / u, v / rx, ry, rz チャンネル群

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Setup Page ⚙️

ライセンス・モデル設定 🔑

wrnchAI License .license 🔑
– wrnchAI アカウントから取得した Edge License Key を入力
– wrnchAI 本家からの別ライセンス契約が前提(TouchDesigner ライセンスには含まれない)

Model Folder .modelfolder 📁
– 学習済みモデル一式が入ったフォルダのパス
– wrnchAI 公式 Quickstart Guide に従って配置したモデルフォルダを指す

GPU Device .gpu 🖥️

wrnchAI の推論を実行する GPU の選択

項目 内部名 説明
Default .default TouchDesigner が現在使用している GPU と同じ GPU で推論を実行

入力 TOP 📺

TOP .top 📺
– 姿勢推定の対象となる映像ソース TOP を指定
Video Device In TOP(Web カメラ)や Movie File In TOP(動画ファイル)など任意の映像 TOP が利用可能

Body 3D .body3d 🧍

3D 関節点チャンネルの有効化:

  • Body 3D: オンで tx, ty, tz の 3D 関節点チャンネルが追加される(深度推定込み)

Body 2D .body2d 🚶

2D 関節点チャンネルの有効化:

  • Body 2D: オンで u, v の 2D 画面座標チャンネルが追加される(軽量・高速)

Body 3D IK .body3dik 🦴

IK チャンネルの有効化:

  • Body 3D IK: オンで tx, ty, tz, rx, ry, rz および roll チャンネルが追加され、3D キャラクタリギングに直接利用可能

Face Bounds .facebounds 🔲

顔バウンディングボックスの有効化:

  • Face Bounds: オンで顔の中心位置 u, v と幅・高さ width, height チャンネルが追加される

Face .face 😀

顔ランドマークの有効化:

  • Face: オンで顔の各特徴点(目・鼻・口など)の u, v チャンネルが追加される

Hands Bounds .handsbounds

手バウンディングボックスの有効化:

  • Hands Bounds: オンで手の中心位置 u, v と幅・高さ width, height チャンネルが追加される

Hands .hands 🖐️

手ランドマークの有効化:

  • Hands: オンで手の各関節点(指先・指の関節)の u, v チャンネルが追加される

Max Players .maxplayers 👥

同時追跡可能な人数の上限設定

Max Players .maxplayers 👥
– 同時追跡する最大人数を指定。各人に p1, p2, p3… のチャンネルプレフィックスが付与される
– パラメータスライダは 10 までだが、数値を直接入力すれば 10 人以上も追跡可能

Aspect Correct UVs .aspectcorrectuv 📐

アスペクト比補正の有効化:

  • Aspect Correct UVs: オンで u, v 値が入力 TOP のアスペクト比を考慮して調整される。非正方形の入力(16:9 など)で位置が映像と揃わない場合に有効化

Common Page 🔧

Time Slice .timeslice ⏱️

Time Slice モードの強制設定:

  • オン: チャンネルを「タイムスライス」モードに強制
  • タイムスライス: 前回のクックフレームから現在のクックフレームまでの時間

Scope .scope 🎯

影響を受けるチャンネルの絞り込み:

  • Scope 文字列: 影響を受けるチャンネルを指定する文字列
  • パターンマッチング: *[1-10] 等のパターンが使用可能

Sample Rate Match .srselect

複数の入力 CHOP のサンプルレートが異なる場合の処理方法

項目 内部名 説明
Resample At First Input’s Rate .first 最初の入力のレートで他をリサンプル
Resample At Maximum Rate .max 最高サンプルレートでリサンプル
Resample At Minimum Rate .min 最低サンプルレートでリサンプル
Error If Rates Differ .err レート不一致でエラー

Export Method .exportmethod 📤

CHOP チャンネルをパラメータに接続する方法

項目 内部名 説明
DAT Table by Index .datindex DAT テーブルのインデックスでチャンネルとパラメータを対応付け
DAT Table by Name .datname DAT テーブルの行名でチャンネルとパラメータを対応付け
Channel Name is Path:Parameter .autoname チャンネル名を `path:parameter` 形式で記述し直接対応付け

Export Root .autoexportroot 🌳

Channel Name is Path:Parameter モード時のパス基点:

  • Export Root パス: autoname モードでチャンネル名のパス部分を相対化する基点 OP のパス

Export Table .exporttable 📋

DAT Table エクスポート方式での参照 DAT:

  • Export Table DAT: datindex / datname モード時に参照する DAT のパス

Rename from .commonrenamefrom 🔤

リネーム対象チャンネルのパターン:

  • Rename from パターン: リネーム対象とするチャンネル名のパターンマッチング文字列

Rename to .commonrenameto 🔁

リネーム後の置換パターン:

  • Rename to パターン: Rename from にマッチしたチャンネルの新しい名前パターン (デフォルトはリネームなし)

実践アイデア 💡

Example 1: Web カメラからの全身モーションキャプチャ 🎥

Video Device In TOP → WrnchAI CHOP (Body 3D IK) → Geometry COMP のリグ
  1. Video Device In TOP で Web カメラ映像を取得
  2. WrnchAI CHOP の TOP パラメータに上記 TOP を指定
  3. Body 3D IK をオンにして tx, ty, tz, rx, ry, rz チャンネルを生成
  4. Geometry COMP のキャラクタリグに各関節チャンネルをエクスポートして全身モーションキャプチャを実現

Example 2: ジェスチャー UI(手位置で UI 要素を操作) 🖐️

Video Device In TOP → WrnchAI CHOP (Hands) → Math CHOP → UI position
  1. Hands をオンにして手のランドマーク(u, v)を取得
  2. Math CHOP で画面解像度にマッピング(From [0, 1] To [0, width])
  3. 前段に Filter CHOP を入れて手ぶれをスムージング
  4. UI 要素の position パラメータにエクスポートしてジェスチャー操作を実現

Example 3: 複数人ダンス映像での同時追跡 👥

Movie File In TOP → WrnchAI CHOP (Max Players=4) → Select CHOP per player → Visualization
  1. Movie File In TOP でダンス映像を読み込む
  2. Max Players を 4 に設定して 4 人分の関節を同時追跡
  3. Select CHOPp1*, p2*… を抽出し人物ごとに分離
  4. 各人物のチャンネルを独立にビジュアライズして同時追跡を実現

関連オペレータ 🔗

類似機能OP 🔍

  • Kinect CHOP — Kinect センサーの骨格データを取得(深度センサー前提、wrnchAI は RGB カメラのみで動作)

組み合わせ推奨OP 🔄

  • Filter CHOP — 関節座標のジッターを時間方向に平滑化
  • Math CHOPu, v を画面解像度にスケーリング
  • Select CHOPp1*, p2* 等のパターンで特定プレイヤーのチャンネルを抽出
  • CHOP to SOP — 関節点をジオメトリ頂点として可視化
  • Geometry COMP — IK チャンネルをキャラクタリグにエクスポート

前処理・後処理CHOP 🎯


Info CHOP情報 📊

WrnchAI CHOPは Info CHOP による詳細情報取得に対応しています。

CHOP固有情報 🎚️

  • start: CHOPインターバルの開始(サンプル単位)
  • length: CHOPのサンプル数
  • sample_rate: フレーム毎秒のサンプルレート
  • num_channels: CHOPのチャンネル数
  • time_slice: タイムスライス有効時は1、無効時は0
  • export_sernum: Export接続の更新回数

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間(ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: チャンネルが何も出力されない / エラーになる
✅ Solution:

  • wrnchAI License Key が wrnchAI アカウントの Edge License Key と一致しているか確認
  • Model Folder が wrnchAI Quickstart Guide に従ったフォルダ構成になっているか確認
  • GPU Device がアクティブな GPU を指しているか、TouchDesigner が CUDA / GPU 対応版で起動しているか確認

❌ Problem: 関節点の位置が映像と揃わない(横長映像で u, v がずれる)
✅ Solution:

  • Aspect Correct UVs をオンにして入力 TOP のアスペクト比を反映
  • 後段で Math CHOP を使って u, v を画面解像度に明示的にスケーリング
  • 入力 TOP のクロップ・リサイズ前後で座標基準がズレていないか確認

❌ Problem: 関節点がフレーム毎に細かくジッター(震え)する
✅ Solution:

  • 後段に Filter CHOP を入れて時間方向のスムージングを適用
  • Lag CHOP で遅延付きの慣性的なフォローを追加
  • 入力映像の照明・コントラスト・解像度を改善して推定精度を上げる

❌ Problem: Max Players を増やすと FPS が大きく下がる
✅ Solution:

  • GPU の推論負荷は人数に比例して増えるため、Max Players は実際に必要な最少人数に設定
  • Body 3D IK / Face / Hands など使わないトラッキング項目はオフにして GPU 負荷を削減
  • 入力 TOP の解像度を下げる(例: 1080p → 720p)ことで推論時間を短縮

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました