
概要 📖 – Intel RealSense スケルトン追跡データ取得
RealSense CHOPは、Intel RealSense カメラのスケルトン追跡データをチャンネル化し、各ランドマークの座標と信頼度を取得する CHOPです。上流の RealSense TOP からスケルトン情報を引き出し、ピクセル位置・正規化座標・信頼度を per-landmark のチャンネルとして下流に供給します。
主な用途 🎯
- Intel RealSense カメラからのスケルトン(人体ランドマーク)追跡データ取得
- 複数プレイヤーの同時追跡(Max Players による上限制御)
- 各ランドマークのピクセル座標・正規化座標のチャンネル化
- ランドマークごとの追跡信頼度(Confidence)の取得とフィルタリング判定
- インタラクティブインスタレーションやモーションキャプチャの入力源
データフロー 🔄
入力: RealSense TOP(カメラ映像 + スケルトン推定)
↓
各プレイヤー・各ランドマークの位置 / 正規化座標 / 信頼度を CHOP チャンネル化
↓
出力: 下流のロジック・可視化・制御 CHOP
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Setup Page 📋
Active .active ⚡
RealSense TOP からのスケルトン取得を有効化するトグル:
- Active トグル: オン: 上流の RealSense TOP からスケルトン追跡データを能動的にフェッチする。オフ: 取得を停止しチャンネル出力が止まる
RealSense TOP .top 📷
スケルトン推定の元となる RealSense TOP のパス参照:
- RealSense TOP パス: スケルトンデータの取得元となる
RealSense TOPオペレータのパス
Skeletons .skeletons 🦴
スケルトンチャンネルを表示するトグル:
- Skeletons トグル: オン: スケルトンチャンネル(各ランドマークの座標・信頼度)を表示する
Max Players .maxplayers 👥
同時追跡するプレイヤー数の上限:
- Max Players 値: 追跡対象とするプレイヤーの最大人数。出力チャンネル数は
maxplayers × ランドマーク数 × チャンネル種でスケールする
Image Position Pixels .pos 🖼️
ランドマーク位置をピクセル座標 (x / y) で出力:
- Image Position Pixels トグル: オン: 各ランドマークの位置を画像のピクセル座標(x / y)として出力する
Image Positions Normalized .norm 📐
ランドマーク位置を正規化座標 (u / v) で出力:
- Image Positions Normalized トグル: オン: 各ランドマークの位置を正規化座標(u / v、0〜1 範囲)として出力する
Confidence .confidence ✅
各ランドマークの追跡信頼度を出力:
- Confidence トグル: オン: 各ランドマークの信頼度チャンネルを出力する。値が
0のときそのランドマークは未追跡(untracked)状態を表す
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: プレイヤーの手の位置でビジュアルを動かす 🤚
RealSense TOP → RealSense CHOP (Image Positions Normalized) → Select CHOP → Geometry COMP (translate)
- RealSense TOP でカメラ映像 + スケルトン推定を取得
- RealSense CHOP の
topパラメータで RealSense TOP を参照し、Image Positions Normalized をオン - Select CHOP で手のランドマークの u / v チャンネルだけ抽出
- Geometry COMP の translate に Export して、画面内での手の位置に合わせてビジュアルを動かす
Example 2: 信頼度しきい値でノイズランドマークを除外 🎯
RealSense CHOP (Confidence on) → Logic CHOP (>= 0.5) → Math CHOP (gate) → Output
- RealSense CHOP の Confidence をオンにして各ランドマークの信頼度チャンネルを取得
- Logic CHOP で信頼度が一定値以上のときのみ 1 になるゲート信号を生成
- Math CHOP でゲート信号を位置チャンネルに乗算し、未追跡時の値を 0 にクランプ
- 下流の表現が未追跡時の暴れに振り回されないように整流する
Example 3: ピクセル座標でカメラ画像に重畳マーカーを描画 🖼️
RealSense CHOP (Image Position Pixels) → CHOP to DAT → Render TOP (overlay)
- RealSense CHOP の Image Position Pixels をオンにして各ランドマークのピクセル x / y を取得
- CHOP to DAT でランドマーク座標をテーブル化
- Render TOP / Composite TOP でカメラ映像にマーカーを重畳描画
- デバッグ・ステージモニタリング用の可視化レイヤとして活用
関連オペレータ 🔗
類似機能OP 🔍
- Kinect CHOP — Microsoft Kinect 系センサーからスケルトンデータを取得(RealSense の代替系統)
- OpenVR CHOP — VR ヘッドセット・コントローラの位置姿勢データを取得(人体追跡ではなくデバイス追跡)
組み合わせ推奨OP 🔄
- Select CHOP — 特定プレイヤー・特定ランドマークのチャンネルを抽出
- Filter CHOP — ランドマーク位置のジッターをスムージング
- Logic CHOP — Confidence チャンネルでしきい値判定し追跡有効性を制御
- Math CHOP — 正規化座標を任意のレンジに変換しジオメトリ制御に流用
- Trigger CHOP — ランドマーク位置やジェスチャをトリガーに変換
前処理・後処理CHOP 🎯
- 前処理: Constant CHOP、Audio Device In CHOP、OSC In CHOP
- 後処理: Filter CHOP、Math CHOP、Logic CHOP、Select CHOP、Trigger CHOP
Info CHOP情報 📊
RealSense CHOPは Info CHOP による詳細情報取得に対応しています。
CHOP固有情報 🎚️
start: CHOPインターバルの開始(サンプル単位)length: CHOPのサンプル数sample_rate: フレーム毎秒のサンプルレートnum_channels: CHOPのチャンネル数time_slice: タイムスライス有効時は1、無効時は0export_sernum: Export接続の更新回数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間(ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: チャンネルが何も出力されない
✅ Solution:
- Active トグルがオンになっているか確認
topパラメータに有効な RealSense TOP のパスが入っているか確認- 上流の RealSense TOP がカメラを正しく開けているか、TOP 側の情報表示で動作状況を確認
❌ Problem: ランドマークの位置が大きく暴れる・ジッターが酷い
✅ Solution:
- 後段に Filter CHOP を入れて位置チャンネルをスムージング
- Confidence チャンネルでしきい値を設け、信頼度の低いランドマークの位置を捨てる
- プレイヤーが画角の端にいないか・照明が十分かを物理的にチェック
❌ Problem: 出力チャンネル数が多すぎてネットワーク表示が重い
✅ Solution:
- Max Players を実際に使う人数まで下げて出力規模を縮小
- Image Position Pixels と Image Positions Normalized のうち使わない方をオフ
- 後段に Select CHOP を置き、本当に必要なランドマークだけ下流に流す
❌ Problem: Confidence が常に 0 でランドマークが untracked 扱いになる
✅ Solution:
- RealSense TOP 側でスケルトン推定モードが有効か確認
- カメラの距離・角度がスケルトン推定の推奨レンジ内か確認
- RealSense SDK / ファームウェアのバージョンが TouchDesigner 対応版か確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

