
概要 📖 – 深度と色映像を取り込む
RealSense TOPは、Intel RealSense センサーから深度・カラー・赤外線・点群を画像として取り込む TOPです。Model パラメータでカメラ機種を切り替え、Image パラメータで取得モードを選択することで、用途に応じた画像 (カラー映像・深度マップ・赤外線・3D 点群) を 1 つの TOP から取り出せます。
主な用途 🎯
- Intel RealSense センサーから深度マップ (Depth) を画像として取り込み、距離情報を後段処理に流用
- RealSense のカラー映像を取り込み、合成・トラッキングの参照映像として利用
- 赤外線 (Infrared) 画像を取得し、暗所トラッキング・マーカーレス検出に活用
- 点群 (Point Cloud) の 32-bit float テクスチャを取得し、3D 空間データを GPU 上で処理
- 深度とカラーを画素単位で位置合わせ (Depth Aligned to Color 等) して、距離付きカラー映像を生成
データフロー 🔄
入力: Intel RealSense センサー (USB 接続)
↓
Model でカメラ機種を選択
↓
Image で取得モード (Color / Depth / Infrared / Point Cloud 等) を選択
↓
解像度・最大深度・ミラー等の整形
↓
出力: TOP テクスチャ (モードに応じたチャンネル数・ビット深度)
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Setup Page 📋
Active .active ✅
RealSense からの映像取り込みオン/オフ:
- Active:
Active(有効) を 1 にすると、TOP がカメラからの映像ストリームのキャプチャを開始します。オフにすると取り込みを停止し、GPU / USB 帯域を節約できます
Model .model 📷
使用する RealSense デバイスの機種
| 項目 | 内部名 | 説明 |
|---|---|---|
| F200 | .f200 |
F200 (初期世代の近距離用カメラ) |
| R200 | .r200 |
R200 (初期世代の長距離用カメラ) |
| ZR300 | .zr300 |
ZR300 (開発者向けカメラ) |
| SR300 | .sr300 |
SR300 (近距離用カメラ) |
| SR305 | .sr305 |
SR305 (近距離用カメラ) |
| D415 | .d415 |
D415 (ステレオ深度カメラ、狭視野) |
| D435 | .d435 |
D435 (ステレオ深度カメラ、広視野) |
| D435i | .d435i |
D435i (IMU 内蔵のステレオ深度カメラ) |
| D455 | .d435i |
D455 (長距離向けステレオ深度カメラ) |
| T265 | .t265 |
T265 (トラッキングカメラ) |
| L515 | .l515 |
L515 (LiDAR 方式の深度カメラ) |
Sensor .sensor 🎚️
複数台接続時に使うデバイスの選択:
- Sensor:
Sensor(センサー選択) — RealSense を複数台接続している場合に、どのデバイスを使うかを指定します
Image .image 🖼️
RealSense から取得する画像モードの選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| Color | .color |
カラーセンサーの映像を取得します |
| Depth | .depth |
各ピクセルの計算済み深度値を取得します。値は 0 から Max Depth (メートル指定) の範囲に再マッピングされ、ピクセル値 0 はカメラから 0m、値 1 は Max Depth 以上を意味します |
| Raw Depth | .rawdepth |
SDK から得られる生の深度値を取得します。値は 0 から Max Depth (メートル指定) の範囲に再マッピングされます |
| Depth Aligned to Color | .depthalignedtocolor |
カラー画像の UV に合わせて調整した深度画像を出力します (RealSense Cross Platform API でのみ利用可) |
| Color Aligned to Depth | .coloralignedtodepth |
深度画像の UV に合わせて調整したカラー画像を出力します (RealSense Cross Platform API でのみ利用可) |
| Infrared | .infrared |
赤外線センサーの生の映像を取得します |
| Point Cloud | .pointcloud |
RealSense カメラのスキャナが生成した 3D 空間の点群 (X, Y, Z 座標) を取得します |
| Point Cloud Color UVs | .pointcloudcoloruv |
各点の色をカラー画像ストリームから取得するために使う UV 値を出力します |
| Visualized Depth | .visualizeddepth |
RGBA 画像として SDK が出力する深度の可視化です。深度の見える化には有用ですが、ピクセル値が SDK によって動的に再レンジされるため、実際の距離の判定には使えません (RealSense SDK for Windows でのみ利用可) |
| Depth To Color UV Map | .depthtocoloruv |
深度画像をカラー画像に合わせて再マッピングするための UV 値を持つ RG 32-bit float テクスチャです。Remap TOP でこれと深度画像を使うと、カラー画像と位置合わせした出力が得られます (RealSense SDK for Windows でのみ利用可) |
| Color To Depth UV Map | .colortodepthuv |
カラー画像を深度画像に合わせて再マッピングするための UV 値を持つ RG 32-bit float テクスチャです。Remap TOP でこれとカラー画像を使うと、深度画像と位置合わせした出力が得られます (RealSense SDK for Windows でのみ利用可) |
| Segmented Color (with Alpha) | .segmentedcolor |
カメラ前の検出された人物のマスク付きカラー画像を出力します (RealSense SDK for Windows でのみ利用可) |
| Fisheye | .fisheye |
魚眼レンズの映像を取得します (RealSense SDK for Windows でのみ利用可) |
Color Camera Resolution .colorres 📐
カラー映像のキャプチャ解像度:
- Color Camera Resolution:
Color Camera Resolution(カラー解像度) — 映像の解像度を選択します。現状はカラー画像でのみ有効です
Max Depth .maxdepth 📏
深度値 1 に割り当てる最大距離 (メートル):
- Max Depth:
Max Depth(最大深度) — ピクセル値 1 に対応する深度をメートルで指定します。これより遠いピクセルは、固定小数点テクスチャ出力では 1 にクランプされ、浮動小数点出力では 1 を超えます
Mirror Image .mirrorimage 🔄
画像を左右 (水平) に反転:
- Mirror Image:
Mirror Image(ミラー反転) — 画像を水平方向に反転します。鏡像表示インスタレーションで「自分が画面の同じ側に映る」体験を作るのに便利です
Use Default Tradeoff .defaulttradeoff ⚖️
デバイス既定の動き/距離トレードオフを使用:
- Use Default Tradeoff:
Use Default Tradeoff(既定トレードオフを使用) — デバイスが指定する既定の動き/距離トレードオフ (Motion Range Tradeoff) を使用します
Motion Range Tradeoff .tradeoff 🎯
動きと距離のトレードオフ値:
- Motion Range Tradeoff:
Motion Range Tradeoff(動き/距離トレードオフ) — 動きと距離のトレードオフを指定します。値は 0 (短い露光・短距離・動きに強い) から 100 (長い露光・長距離) までです
Options CHOP .optionschop 🎛️
CHOP のチャンネルでカメラ詳細オプションを設定:
- Options CHOP:
Options CHOP(オプション CHOP) — ここで指定した CHOP のチャンネルにより、RealSense カメラがサポートする全オプションを設定できます。チャンネル名は C の列挙名からRS2_OPTION_接頭辞を除き、すべて小文字にした名前にします。例えばRS2_OPTION_ENABLE_AUTO_EXPOSUREはenable_auto_exposureという名前のチャンネルで設定します
Skeleton Tracking .skeltracking 🦴
Cubemos によるスケルトン追跡:
- Skeleton Tracking:
Skeleton Tracking(スケルトン追跡) — 有効にすると Cubemos Skeleton Tracking API でスケルトン追跡を行います。結果は RealSense CHOP から取得できます。利用には Cubemos のライセンスが必要です (試用版あり)
Use Default Paths .usedefaultpaths 📂
ライセンス/モデルファイルを既定の場所から検索:
- Use Default Paths:
Use Default Paths(既定パスを使用) — 有効にすると、ライセンスとモデルファイルを既定の場所 (LOCALAPPDATA) から検索します。これらのファイルを配置するには Cubemos SDK のインストールが必要です。特定のライセンスディレクトリやモデルファイルを使いたい場合はこれをオフにします
License Directory .licensedir 🔑
スケルトン追跡用ライセンスの保存場所:
- License Directory:
License Directory(ライセンスディレクトリ) — ライセンスファイル (activation_key.json と cubemos_license.json) があるディレクトリを指定します
Skeleton Tracking Model File .modelfile 🧩
スケルトン追跡用のモデルファイル:
- Skeleton Tracking Model File:
Skeleton Tracking Model File(モデルファイル) — スケルトン追跡用のモデルファイル (.cubemos) を指定します
Common Page 🔧
| 項目 | 内部名 | 説明 |
|---|
実践アイデア 💡
Example 1: 深度マスクで人物切り抜き合成 🎭
RealSense TOP (Depth) → Threshold TOP → Composite TOP (背景映像と Over 合成)
RealSense TOP を Depth モードで動かし、近距離の人物だけが残るように Threshold TOP で 2 値マスクを作成、別の背景映像と Composite TOP の Over 合成で重ねると、グリーンバック無しのリアルタイム人物切り抜き合成が実現できます。
- RealSense TOP を配置し、
Modelを接続しているカメラ機種に、ImageをDepthに設定 Max Depthを被写体が立つ距離に合わせて設定し、Mirror Imageをオンにして鏡像表示にする- Threshold TOP を接続し、人物が立つ距離でしきい値を切ってマスクを作成
- 背景映像 (Movie File In TOP 等) と Composite TOP の Over モードでマスクを使って合成
Example 2: 3D点群をリアルタイム可視化 🌌
RealSense TOP (Point Cloud) → TOP to CHOP (XYZ 取り出し) → Geometry COMP (Instancing で点描画)
RealSense の Point Cloud モードを使うと、各ピクセルが XYZ 座標を持つ 32-bit float テクスチャが得られます。これを TOP to CHOP で取り出して Geometry COMP の Instance Translate に渡せば、RealSense が見ている空間を 3D 点群としてリアルタイム可視化できます。
- RealSense TOP を配置し、
ImageをPoint Cloudに設定 Max Depthを可視化したい奥行きに合わせて調整する- TOP to CHOP で点群テクスチャを XYZ チャンネルとして取り出す
- Geometry COMP の Instancing で取り出した XYZ を Instance Translate に接続して点描画する
Example 3: 距離付きカラー映像を作る 🎨
RealSense TOP (Depth Aligned to Color) + RealSense TOP (Color) → Math TOP (深度の正規化)
RealSense TOP の Depth Aligned to Color モードは、深度画像をカラー画像の UV に合わせて出力します。同じカメラの Color 出力と画素単位で重ねれば、各ピクセルに距離情報を持つカラー映像が作れ、後段の Math TOP で深度レンジを整えれば距離に応じたエフェクトに使えます。
- RealSense TOP を 2 つ配置し、片方の
ImageをColor、もう片方をDepth Aligned to Colorに設定 - Math TOP で深度画像のレンジを用途に合わせて正規化する
- カラー画像と位置合わせ済み深度を画素単位で組み合わせ、距離に応じたエフェクトをかける
関連オペレータ 🔗
類似機能OP 🔍
- Kinect TOP — Microsoft Kinect 用の深度・カラー取得 TOP。類似の深度センサー用途
- Kinect Azure TOP — Azure Kinect 用の深度・カラー取得 TOP。類似の深度センサー用途
- Video Device In TOP — 一般 USB カメラ・キャプチャデバイスからの映像取得用。RealSense の RGB だけが欲しい時の代替
- RealSense CHOP — RealSense TOP は画像取得、RealSense CHOP は同センサーのスケルトン関節座標取得を担当
組み合わせ推奨OP 🔄
- Threshold TOP — 深度画像をしきい値でマスク化、距離フィルタとして利用
- Composite TOP — RealSense 映像と背景映像のレイヤ合成
- Math TOP — 深度値のレンジ変換・正規化、赤外線画像の露出調整
- Remap TOP — Depth To Color UV Map 等の UV テクスチャを使って深度とカラーを位置合わせ
- Crop TOP — RealSense 視野の特定領域だけを切り出して後段処理コストを下げる
- Cache TOP — RealSense 入力を一定フレーム蓄積してフレーム間差分・残像演出
前処理・後処理TOP 🎯
Info CHOP情報 📊
RealSense TOPは Info CHOP による詳細情報取得に対応しています。
TOP固有情報 🖼️
resx: TOP の出力解像度 X (ピクセル単位)resy: TOP の出力解像度 Y (ピクセル単位)aspectx: アスペクト比 Xaspecty: アスペクト比 Ydepth: 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 メモリ使用量 (バイト)、Point Cloud 等の重いモードでの負荷確認に有用
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: RealSense から何も取り込めない / テクスチャが真っ黒
✅ Solution:
Activeが 1 (オン) になっているか確認Modelが接続しているカメラ機種と一致しているか確認- RealSense SDK と該当ドライバが OS にインストール済みか、USB 3.0 必須のセンサーが USB 2.0 ポートに挿さっていないか確認
❌ Problem: 深度画像とカラー画像が画素ずれする
✅ Solution:
ImageをDepth Aligned to ColorまたはColor Aligned to Depthに切り替えて位置合わせ済みの画像を取得Depth To Color UV Map/Color To Depth UV Mapを取得し、後段の Remap TOP で位置合わせ (RealSense SDK for Windows 利用時)- 位置合わせ後は視野外の領域が黒で埋まるため、後段のマスク処理でその領域を無視する
❌ Problem: 一部の Image モードが機能しない
✅ Solution:
Visualized Depth/Depth To Color UV Map/Segmented Color/Fisheyeは RealSense SDK for Windows 専用のため、利用中の SDK 種別を確認Depth Aligned to Color/Color Aligned to Depthは RealSense Cross Platform API 専用のため、SDK 種別を確認- 深度値を距離として使う場合は
Visualized DepthではなくDepth/Raw Depthを使う (Visualized Depth は SDK が動的に再レンジするため距離判定に使えない)
❌ Problem: 深度が遠くまで取れない / クランプされる
✅ Solution:
Max Depthをより大きい値 (メートル) に設定して取得レンジを広げる- 固定小数点フォーマットでは
Max Depthを超える深度は 1 にクランプされるため、レンジを超える距離を扱うときは浮動小数点フォーマットを使う Use Default TradeoffをオフにしてMotion Range Tradeoffを長距離寄り (値を大きく) に調整
参考資料 📚
その他 🔗
- TouchDesigner Wiki — Category:TOPs
- TouchDesigner Wiki — Pixel Formats 解説
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

