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

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

Kinect TOP の深度・カラー画像取得機能を示すサムネイル

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

概要 📖 – 深度と色映像を取り込む

Kinect TOPは、Kinect センサー (v1 / v2) から深度・カラー・赤外線・プレイヤーインデックス・点群を画像として取り込む TOPです。Hardware Version でセンサー世代を切り替え、Image パラメータで取得モードを選択することで、用途に応じた画像 (カラー映像・深度マップ・赤外線・人物領域・3D 点群) を 1 つの TOP から取り出せます。

主な用途 🎯

  • Kinect センサーから深度マップ (Depth) を画像として取り込み、距離情報を後段処理に流用
  • Kinect RGB カメラのカラー映像を取り込み、合成・モーションキャプチャの参照映像に利用
  • 赤外線 (Infrared) 画像を取得し、暗所トラッキング・マーカーレス検出に活用
  • プレイヤーインデックス画像を取得して、人物ごとの領域マスクを生成
  • Kinect v2 の Color Point Cloud (32-bit float XYZ テクスチャ) を取得し、点群を GPU 上で処理

データフロー 🔄

入力: Kinect センサー (v1 / v2、USB 接続)

Hardware Version でセンサー世代を選択

Image でモード (Color / Depth / Infrared / Player Index / Color Point Cloud) を選択

カメラ解像度・ミラー・リマップ等の整形

出力: TOP テクスチャ (モードに応じたチャンネル数・ビット深度)

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Kinect Page 📋

Active .active

Kinect センサーからのデータ取り込みオン/オフ:

  • Active: Active (有効) をオンにすると Kinect センサーからのデータキャプチャを開始します。オフにすると取り込みを停止し、GPU / USB 帯域を節約できます

Hardware Version .hwversion 🔌

使用する Kinect センサーの世代

項目 内部名 説明
Version 1 .version1 Kinect v1 (Xbox 360 / Kinect for Windows v1) を使用
Version 2 .version2 Kinect v2 (Xbox One / Kinect for Windows v2) を使用

Sensor .sensor 🎚️

Kinect v1 専用、複数センサー接続時の選択:

  • Sensor: Sensor (センサー選択) — Kinect v1 を複数台接続している場合に、どのセンサーを使うかを指定します。Hardware Version = Version 1 の時のみ有効

Image .image 🖼️

Kinect から取得する画像モードの選択

項目 内部名 説明
Color .color RGB カメラの生のカラー映像を取得します
Depth .depth 深度テクスチャを取得します。値の範囲は 0〜1 で、ピクセル値 1 はカメラから 8.191m 離れた点を意味します
Raw Depth .rawdepth 生の深度値を加工せずそのまま取得 (整数 mm 単位等、SDK ネイティブ形式)
Infrared .infrared 赤外線カメラの生の画像を取得します。暗所トラッキング・マーカーレス検出に有用
Player Index .playerindex 人物ごとのインデックスを 0.1 刻みのピクセル値で出力します (player 1≈0.1 / player 2≈0.2…)。8-bit 量子化のため 0.1 × 255 = 25.5 が 25 or 26 に丸まる点に注意
Color Point Cloud .colorpointcloud Kinect v2 専用。32-bit float テクスチャで RGB ピクセル値が XYZ 座標 (カラーカメラ基準、単位 m) になる点群テクスチャ

Camera Resolution .camerares 📐

Kinect v1 専用 — カラーカメラのキャプチャ解像度

項目 内部名 説明
80 x 60 .80x60 最低解像度 (帯域節約・テスト用途)
320 x 240 .320x240 中解像度
640 x 480 .640x480 Kinect v1 の最高解像度 (デフォルト)

Skeleton .skeleton 🦴

Kinect v1 専用 — 全身 / 座位スケルトンの切替

項目 内部名 説明
Full .full 全身 (立ち姿勢) のスケルトンを追跡
Seated .seated 上半身のみ (座位) のスケルトンを追跡

Near Depth Mode .neardepthmode 🔍

Kinect v1 専用、ニアモードで 40cm 以上を検出可能に:

  • Near Depth Mode: Near Depth Mode (ニアモード) — Kinect v1 でオンにすると、深度カメラの最小検出距離が通常 80cm から 40cm に拡張されます。手元のオブジェクト検出やテーブルトップ用途で有効。Hardware Version = Version 1 の時のみ有効

Mirror Image .mirrorimage 🔄

Y 軸 (左右) で画像を反転:

  • Mirror Image: Mirror Image (ミラー反転) — 出力画像を Y 軸 (左右) 方向に反転します。鏡像表示インスタレーションで「自分が画面の同じ側に映る」体験を作るのに便利

Camera Remap .remap 🗺️

Kinect v2 専用、深度系画像をカラーカメラ空間に再投影:

  • Camera Remap: Camera Remap (カメラリマップ) — Kinect v2 でオンにすると、深度カメラ起源の画像 (Depth / Infrared / Player Index) をカラーカメラの空間・解像度にリマップします。カラー画像と深度マスクを画素ごとに重ねたいときに有効。Hardware Version = Version 2 の時のみ有効

Too Close Value .tooclosevalue 🚫

Kinect v1 専用、近接限界での代替値:

  • Too Close Value: Too Close Value (近接限界値) — Kinect v1 で「カメラに近すぎて深度を測定できなかったピクセル」に出力する値を指定します。後段で「測定不能」を判別するセンチネル値として使えます。Hardware Version = Version 1 の時のみ有効

Too Far Value .toofarvalue 🚷

Kinect v1 専用、遠方限界での代替値:

  • Too Far Value: Too Far Value (遠方限界値) — Kinect v1 で「カメラから遠すぎて深度を測定できなかったピクセル」に出力する値を指定します。Hardware Version = Version 1 の時のみ有効

Unknown Value .unknownvalue

深度を測定できなかったピクセルへの代替値:

  • Unknown Value: Unknown Value (未確定値) — 深度値を決定できなかったピクセル (反射素材・センサー死角等) に出力する値を指定します。後段で「無効ピクセル」をマスクするのに使えます

Unknown Point Value .unknownpointvalue 🛰️

Color Point Cloud モードで位置を決定できないピクセルの値

項目 内部名 説明
(0.0, 0.0, 100.0) .onehundred Z=100m の遠方位置に張り付ける (シーン内に紛れず除外しやすい)
(-INF, -INF, -INF) .neginfinite 負の無限大に張り付ける (シェーダ側で isinf 判定して除外する用途)

Common Page 🔧

項目 内部名 説明

実践アイデア 💡

Example 1: 深度マスクで人物切り抜き合成 🎭

Kinect TOP (Depth) → Threshold TOP → Composite TOP (背景映像と Over 合成)

Kinect TOP を Depth モードで動かし、近距離の人物だけが残るように Threshold TOP で 2 値マスクを作成、別の背景映像と Composite TOP の Over 合成で重ねると、グリーンバック無しのリアルタイム人物切り抜き合成が実現できます。

  1. Kinect TOP を配置し、Hardware Version を使用するセンサー世代に、ImageDepth に設定
  2. Mirror Image をオンにして鏡像表示にする (体験者が画面の同じ側に映る)
  3. Threshold TOP を接続し、人物が立つ距離 (例: 1.0m 以下 ≒ 0.12 以下) でしきい値を切ってマスクを作成
  4. 背景映像 (Movie File In TOP 等) と Composite TOP の Over モードでマスクを使って合成

Example 2: 3D点群をリアルタイム可視化 🌌

Kinect TOP (Color Point Cloud, v2) → TOP to CHOP (XYZ 取り出し) → Geometry COMP (Instancing で点描画)

Kinect v2 の Color Point Cloud モードを使うと、各ピクセルが XYZ 座標を持つ 32-bit float テクスチャが得られます。これを TOP to CHOP で取り出して Geometry COMP の Instance Translate に渡せば、Kinect が見ている空間を 3D 点群としてリアルタイム可視化できます。

  1. Kinect TOP を配置し、Hardware VersionVersion 2ImageColor Point Cloud に設定
  2. Unknown Point Value(0.0, 0.0, 100.0) にして無効ピクセルを遠方に張り付け、シーン外に逃がす
  3. TOP to CHOP で点群テクスチャを XYZ チャンネルとして取り出す
  4. Geometry COMP の Instancing で取り出した XYZ を Instance Translate に接続して点描画する

Example 3: 赤外線画像で暗所トラッキング 🌙

Kinect TOP (Infrared) → Math TOP (露出調整) → Edge TOP → ブロブ検出

Kinect の Infrared モードは可視光に依存しないため、真っ暗な空間でもマーカーやリフレクター入り衣装の追跡に使えます。赤外線画像を取得し、Math TOP で露出補正をかけてから Edge TOP でエッジを抽出すれば、後段のブロブ検出への入力として整います。

  • Kinect TOP を配置し、ImageInfrared に設定
  • Math TOP の Range / Multiply で赤外線画像のコントラストを引き上げる
  • Edge TOP で輪郭を抽出し、後段のブロブ検出処理に渡す

関連オペレータ 🔗

類似機能OP 🔍

  • Kinect Azure TOP — 後継センサー Azure Kinect 用の TOP。Kinect v2 後のラインアップ
  • RealSense TOP — Intel RealSense 深度センサー用の TOP。類似の深度・カラー取得用途
  • Video Device In TOP — 一般 USB カメラ・キャプチャデバイスからの映像取得用。Kinect の RGB だけが欲しい時の代替
  • OAK Select TOP — Luxonis OAK カメラの画像ストリーム選択用 TOP

組み合わせ推奨OP 🔄

  • Threshold TOP — 深度画像をしきい値でマスク化、距離フィルタとして利用
  • Composite TOP — Kinect 映像と背景映像のレイヤ合成
  • Math TOP — 深度値のレンジ変換・正規化、赤外線画像の露出調整
  • Crop TOP — Kinect 視野の特定領域だけを切り出して後段処理コストを下げる
  • Channel Mix TOP — プレイヤーインデックス画像から特定 player のチャンネルを抽出
  • Cache TOP — Kinect 入力を一定フレーム蓄積してフレーム間差分・残像演出
  • Kinect CHOP — Kinect TOP は画像取得、Kinect CHOP は同センサーのスケルトン関節座標取得を担当

前処理・後処理TOP 🎯


Info CHOP情報 📊

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

TOP固有情報 🖼️

  • resx: TOP の出力解像度 X (ピクセル単位)
  • resy: TOP の出力解像度 Y (ピクセル単位)
  • aspectx: アスペクト比 X
  • aspecty: アスペクト比 Y
  • depth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)
  • gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)

汎用オペレータ情報 🔄

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

代表的な取得チャンネル 📡

  • resolution_x / resolution_y: 出力テクスチャの幅・高さ (ピクセル)
  • aspectx / aspecty: 出力テクスチャのアスペクト比 (横 / 縦)
  • depth: ピクセルフォーマットのビット深度 (8 / 16 / 32)
  • num_components: 出力チャンネル数 (Color=4 / Depth=1 等、Image モードに依存)
  • gpu_mem_used: GPU メモリ使用量 (バイト)、Color Point Cloud 等の重いモードでの負荷確認に有用

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

よくある問題と解決策 🔧

❌ Problem: Kinect から何も取り込めない / テクスチャが真っ黒
✅ Solution:

  • Active がオンになっているか確認 (デフォルトはオフ環境もあるため要チェック)
  • Hardware Version が接続している Kinect 世代 (v1 / v2) と一致しているか確認
  • Kinect SDK (v1 用 / v2 用) と該当ドライバが OS にインストール済みか確認、USB 3.0 必須のセンサー (v2) が USB 2.0 ポートに挿さっていないか確認

❌ Problem: Kinect v1 用のパラメータがグレーアウトして触れない
✅ Solution:

  • Hardware VersionVersion 2 になっていないか確認 (v1 専用パラメータは v2 選択時に無効化される)
  • Sensor / Camera Resolution / Skeleton / Near Depth Mode / Too Close Value / Too Far Value は Kinect v1 専用 — v2 利用時はこれらは設定不可
  • v1 を使いたい場合は Hardware VersionVersion 1 に明示的に切替

❌ Problem: 深度画像とカラー画像が画素ずれする (Kinect v2)
✅ Solution:

  • Camera Remap をオンにして、深度系画像 (Depth / Infrared / Player Index) をカラーカメラの空間・解像度にリマップ
  • Camera Remap オン時は出力解像度がカラー側基準になる点に注意 (後段の Crop TOP で必要領域だけ切り出すと処理が軽くなる)
  • リマップによりカラーカメラ視野外の領域は黒で埋まる — 後段のマスク処理でその領域を無視する

❌ Problem: Color Point Cloud に「飛び」点が大量に出る
✅ Solution:

  • Unknown Point Value(0.0, 0.0, 100.0) に設定し、無効ピクセルを Z=100m 遠方に張り付けてシーンから視覚的に除外
  • あるいは (-INF, -INF, -INF) に設定して、シェーダ / 後段スクリプトで isinf 判定により明示的に除外
  • 後段の Math TOP や GLSL TOP で Z レンジによるクランプ / 除外処理を追加

参考資料 📚

その他 🔗

公式リソース 📖

この記事は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をコピーしました