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

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

ZED TOP のステレオ深度・点群取得機能を示すサムネイル

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

概要 📖 – ZED で深度と点群を取得

ZED TOPは、Stereolabs ZED ステレオカメラから深度・点群・カラー画像を取り込み、SVO 再生・ネットワーク受信にも対応する TOPです。Input Source で USB 直結・SVO 録画再生・ネットワークストリームの 3 経路を切り替え、Image パラメータで取得モード (カラー映像・深度・コンフィデンス・点群・法線等) を選ぶことで、用途に応じた画像を 1 つの TOP から取り出せます。

主な用途 🎯

  • Stereolabs ZED ステレオカメラから深度マップを取得し、距離情報を後段の合成・マスクに利用
  • 左右どちらかの RGB カメラ映像を取り込み、AR・モーションキャプチャの背景映像として利用
  • 3D 点群 (Point Cloud) を 32-bit float テクスチャとして取得し、GPU 上で空間表現に活用
  • SVO 録画ファイルを再生して、現場収録した深度シーケンスをオフラインで再現
  • ネットワーク経由で配信されたリモート ZED の映像を受信し、分散システムで深度を共有

データフロー 🔄

入力: ZED ステレオカメラ (USB) / SVO 録画ファイル / ネットワークストリーム

Input Source で経路を選択

Image で出力モード (Color / Depth / Confidence / Disparity / Normals / Point Cloud / Spatial Texture / Mask) を選択

Sensing Mode・Depth Quality・カメラ姿勢でステレオ計算を調整

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

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

ZED Page 📋

Active .active

ZED カメラからのキャプチャ オン/オフ:

  • Active: Active (有効) をオンにすると ZED カメラからの画像ストリームのキャプチャを開始します。オフにすると取り込みを停止し、USB / GPU 帯域を節約できます

Input Source .inputsource 🔌

入力経路の選択 (USB / SVO 録画 / ネットワーク配信)

項目 内部名 説明
USB .usb USB で直結された ZED カメラからリアルタイムに取得
SVO File .svofile 事前に収録した SVO / SVO2 録画ファイルを再生
Network Streaming .stream 別マシンで動く ZED の映像をネットワーク経由で受信

Camera .camera 🎚️

USB モード時の ZED センサー選択:

  • Camera: Camera (カメラ選択) — USB モードで複数台の ZED を接続している場合に、どのカメラを使うかを指定します。Input Source = USB の時のみ有効

SVO File .file 🎞️

SVO / SVO2 録画ファイルのパス:

  • File: File (ファイル) — 再生する SVO / SVO2 録画ファイルのパスを指定します。Input Source = SVO File の時のみ有効

Network Stream .stream 🌐

ネットワーク配信の受信先 (IP / ポート):

  • Stream IP: Stream IP (配信元 IP アドレス) — ネットワークストリーミング元の ZED が動くマシンの IP アドレス。Input Source = Network Streaming の時のみ有効
  • Stream Port: Stream Port (配信元ポート) — ストリーミング元のポート番号。Input Source = Network Streaming の時のみ有効

SVO Playback .svoplayback ▶️

SVO 再生の頭出し・再生コントロール

Initialize .initialize 🔄
Initialize (初期化) — パルス。SVO 再生位置をゼロに戻します
Input Source = SVO File の時のみ有効

Start .start 🟢
Start (開始) — パルス。SVO 再生を開始します

Play .play ⏯️
Play (再生) — 1 で再生、0 で停止

Cue .cue 🎯
Cue (キュージャンプ) — 1 にすると Cue Point で指定した位置にジャンプします

Cue Point .cuepoint 📍
Cue Point (キュー位置) — ジャンプ先となる SVO 再生位置を指定します

Cue Unit .cueunit 📐

Cue Point の単位選択

項目 内部名 説明
Index .index SVO サンプルインデックスで指定
Frames .frames フレーム数で指定
Seconds .seconds 秒数で指定

Perspective .perspective 👁️

左右どちらのカメラ画像を出力するか

項目 内部名 説明
Left .left 左カメラ (デフォルト視点)
Right .right 右カメラ

Image .image 🖼️

ZED から取り出す画像モードの選択

項目 内部名 説明
Color .color RGB カメラの生のカラー映像
Depth .depth 深度マップ (各ピクセルがカメラからの距離 [m])
Confidence .confidence 深度推定の信頼度マップ (値が低いほど確からしい)
Disparity .disparity 左右画像のずれ量 (視差マップ)
Normals .normals 推定された表面法線マップ (XYZ ベクトル)
Point Cloud .pointcloud 32-bit float テクスチャで各ピクセルが XYZ 座標 (単位 m) を保持する点群
Spatial Texture .spatialtexture Spatial Mapping で生成した空間テクスチャ
Mask .mask Region of Interest 等で生成されたマスクテクスチャ

Camera Resolution .cameraresolution 📐

ZED カメラのキャプチャ解像度:

  • Camera Resolution: Camera Resolution (カメラ解像度) — ZED のセンサー側キャプチャ解像度を選択します。モデルによって対応解像度が異なり、高解像度ほど USB 帯域と GPU コストが上がります

Camera FPS .camerafps 🎬

ZED カメラのキャプチャフレームレート:

  • Camera FPS: Camera FPS (フレームレート) — ZED カメラのキャプチャレート。解像度との組み合わせ可能値はモデル仕様に依存します

Sensing Mode .sensingmode 🧠

深度計算の精度モード

項目 内部名 説明
Standard .standard 標準モード。未確定領域はそのまま不確定値として出力される
Fill .fill 未確定領域を周辺ピクセルから補間して埋める。視覚的な穴は減るが信頼度は下がる

Depth Quality .depthquality 🎯

深度計算の品質モード:

  • Depth Quality: Depth Quality (深度品質) — カメラの深度計算モードを選択します。高品質ほど精度は上がりますが GPU コストも増えます。プレビュー目的では低品質、解析・記録目的では高品質を選びます

Depth Range .depthrange 📏

深度計算の最小・最大距離 (メートル)

Minimum Depth .mindepth 📏
Minimum Depth (最小深度) — 計算される最小距離をメートル単位で指定します
– 小さくしすぎると近接ノイズが増え、GPU 負荷も上がります

Maximum Depth .maxdepth 📐
Maximum Depth (最大深度) — 計算される最大距離をメートル単位で指定します
– ZED モデル仕様により実用範囲が決まります

Out-of-Range Values .outofrangevalues 🚫

範囲外・未確定ピクセルへの代替値

Too Close Value .toocloseval 🚫
Too Close Value (近接限界値) — カメラに近すぎて深度を測定できなかったピクセルに出力する値

Too Far Value .toofarval 🚷
Too Far Value (遠方限界値) — カメラから遠すぎて測定できなかったピクセルに出力する値

Unknown Value .unknownval
Unknown Value (未確定値) — 反射・遮蔽等で深度が決定できなかったピクセルに出力する値

Depth Stabilization .depthstabilization 🛡️

深度マップのフレーム間安定化:

  • Depth Stabilization: Depth Stabilization (深度安定化) — オンにすると、フレーム間で深度マップを安定化させます。静止物の深度ちらつきが減り、合成・マスク用途で扱いやすくなります

Rerange .rerange 📊

ピクセル値を 0-1 範囲に再マップ:

  • Rerange: Rerange (再マップ) — オンにすると、出力テクスチャのピクセル値を 0〜1 の範囲にリマップします。深度値をそのまま色として可視化したい時に有効

Reference Frame .referenceframe 🧭

Point Cloud の座標基準系

項目 内部名 説明
World .world ワールド座標系基準 (カメラ姿勢を反映)
Camera .camera カメラ座標系基準 (常にカメラ原点)

Camera Transform Reset .resetcameratransform 🔄

カメラの基準姿勢を再リセット:

  • Camera Transform: Camera Transform (姿勢リセット) — 上記 Reference Frame で使うカメラ位置・姿勢をパルスでリセットします。Reference Frame = World 時にワールド原点に対するカメラ位置を再設定したい時に使います

Mirror Image .mirrorimage 🪞

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

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

Self Calibration .disableselfcalib ⚙️

起動時のセルフキャリブレーションを無効化:

  • Disable Self-Calibration: Disable Self-Calibration (セルフキャリブレーション無効) — オンにすると、カメラ起動時のセルフキャリブレーション処理をスキップします。事前に外部でキャリブレーション済みの場合や、起動時間を短縮したい場合に使用

Region of Interest .roi 🗺️

検出範囲マスクを別 TOP で指定

Region of Interest Mask .roimask 🗺️
Region of Interest Mask (関心領域マスク) — 関心領域マスクのテクスチャを保持する TOP のパスを指定
– オブジェクトのバウンディングボックスの過半が領域外なら、その検出は破棄されます

Region of Interest Channel .roimchannel 🎨
Region of Interest Channel (マスクチャンネル) — マスクテクスチャのどのチャンネルを最終マスクとして使うかを選択 (R / G / B / A など)


Settings Page 🎛️

Brightness .brightness 🔆

カメラ映像の明るさ調整

Brightness .bright
Brightness (明るさ有効) — オンにすると以下の明るさ値を適用、オフならデフォルト値を使用

Brightness Value .brightval 🔆
Brightness (明るさ値) — カメラ映像の明るさを指定

Contrast .contrast 🌗

カメラ映像のコントラスト調整

Contrast .cont
Contrast (コントラスト有効) — オンにすると以下のコントラスト値を適用、オフならデフォルト値を使用

Contrast Value .contval 🌗
Contrast (コントラスト値) — カメラ映像のコントラストを指定

Hue .hue 🎨

カメラ映像の色相調整

Hue .hue
Hue (色相有効) — オンにすると以下の色相値を適用、オフならデフォルト値を使用

Hue Value .hueval 🎨
Hue (色相値) — カメラ映像の色相を指定

Saturation .saturation 🌈

カメラ映像の彩度調整

Saturation .sat
Saturation (彩度有効) — オンにすると以下の彩度値を適用、オフならデフォルト値を使用

Saturation Value .satval 🌈
Saturation (彩度値) — カメラ映像の彩度を指定

Sharpness .sharpness 🔪

カメラ映像のシャープネス調整

Sharpness .sharp
Sharpness (シャープネス有効) — オンにすると以下のシャープネス値を適用、オフならデフォルト値を使用

Sharpness Value .sharpval 🔪
Sharpness (シャープネス値) — カメラ映像のシャープネスを指定

Gamma .gamma 📈

カメラ映像のガンマ調整

Gamma .gamma
Gamma (ガンマ有効) — オンにすると以下のガンマ値を適用、オフならデフォルト値を使用

Gamma Value .gammaval 📈
Gamma (ガンマ値) — カメラ映像のガンマを指定

Auto Gain-Exposure .autogainexp 🤖

ゲイン・露光の自動調整:

  • Auto Gain-Exposure: Auto Gain-Exposure (自動ゲイン・露光) — オンにすると、カメラがゲインと露光を自動で調整します。オフ時は下記 Gain / Exposure の手動値が適用される

Gain .gain 📡

カメラのゲイン (信号増幅率)

Gain .gain
Gain (ゲイン有効) — オンにすると以下のゲイン値を適用、オフならデフォルト値を使用

Gain Value .gainval 📡
Gain (ゲイン値) — カメラのゲインを指定

Exposure .exposure 📷

カメラの露光時間

Exposure .exp
Exposure (露光有効) — オンにすると以下の露光値を適用、オフならデフォルト値を使用

Exposure Value .expval 📷
Exposure (露光値) — カメラの露光時間を指定

Auto ROI .roi 🎯

自動ゲイン・露光の対象領域

Region of Interest .roi 🎯
Region of Interest (関心領域有効) — オンにすると、自動ゲイン・露光の計算対象を画面全体ではなく、下記の矩形領域に限定します

ROI Coordinate .coord 📍
ROI Coordinate (左上座標) — 関心領域矩形の左上コーナーをカメラ解像度基準で指定

ROI Dimension .dim 📏
ROI Dimension (サイズ) — 関心領域矩形の幅と高さをカメラ解像度基準で指定

White Balance .whitebalance 🌡️

ホワイトバランス調整

Auto White Balance .autowhitebal 🤖
Auto White Balance (自動ホワイトバランス) — オンで自動調整、オフで下記の手動値を適用

White Balance .whitebal
White Balance (ホワイトバランス有効) — オンにすると以下の手動値を適用

White Balance Value .whitebalval 🌡️
White Balance (ホワイトバランス値) — カメラのホワイトバランスを指定。内部で 100 倍されて [2800, 6500] ケルビン範囲にマップされます

LED Status .ledstat 💡

本体前面 LED のオン/オフ:

  • LED Status: LED Status (LED 表示) — オンで ZED 本体の前面 LED を点灯、オフで消灯します。撮影現場で LED を消したい時に有効

Common Page 🔧

項目 内部名 説明

実践アイデア 💡

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

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

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

  1. ZED TOP を配置し、Input SourceUSBImageDepth に設定
  2. Minimum DepthMaximum Depth を被写体が立つ距離レンジに合わせる
  3. Threshold TOP を接続し、人物が立つ距離 (例: 1.5m 以下) でしきい値を切ってマスクを作成
  4. 背景映像 (Movie File In TOP 等) と Composite TOP の Over モードでマスクを使って合成

Example 2: 3D 点群リアル可視化 🌌

ZED TOP (Point Cloud) → GLSL TOP / Geometry COMP (Instancing で点描画)

ZED の Point Cloud モードを使うと、各ピクセルが XYZ 座標を持つ 32-bit float テクスチャが得られます。これを GLSL TOP や Geometry COMP の Instancing 機能と組み合わせることで、ZED が見ている空間を 3D 点群としてリアルタイム可視化できます。

  1. ZED TOP を配置し、ImagePoint CloudReference FrameCamera または World に設定
  2. Unknown Value を遠方値に設定して未確定ピクセルをシーン外に逃がす
  3. Geometry COMP の Instancing で点群テクスチャの XYZ チャンネルを Instance Translate に接続
  4. GLSL マテリアルで Z レンジによる色グラデーションをかけて深度を視覚化

Example 3: SVO 録画再生 🎞️

ZED TOP (SVO File) → Threshold TOP → 合成パイプライン

現場収録した .svo / .svo2 ファイルを ZED TOP で再生することで、ライブカメラなしで深度シーケンスをオフラインで再現できます。本番前のリハーサルや、再現性のあるアルゴリズム検証で重宝します。

  1. ZED TOP を配置し、Input SourceSVO File に設定、File に SVO ファイルパスを指定
  2. Initialize をパルスで再生位置をゼロに戻し、Play を 1 にして再生開始
  3. 頭出ししたい場合は Cue Point + Cue Unit で位置を指定し、Cue を 1 にしてジャンプ

関連オペレータ 🔗

類似機能OP 🔍

  • Kinect TOP — Microsoft Kinect (v1 / v2) で深度・カラー・赤外線を取得
  • Kinect Azure TOP — Azure Kinect 用の深度・カラー取得 TOP
  • RealSense TOP — Intel RealSense 深度センサー用の TOP
  • OAK Select TOP — Luxonis OAK カメラの画像ストリーム選択用 TOP
  • Video Device In TOP — 一般 USB カメラ・キャプチャデバイスからの映像取得

組み合わせ推奨OP 🔄

  • Threshold TOP — 深度画像をしきい値でマスク化、距離フィルタとして利用
  • Composite TOP — ZED 映像と背景映像のレイヤ合成
  • Math TOP — 深度値のレンジ変換・正規化、コンフィデンス値のスケーリング
  • Crop TOP — ZED 視野の特定領域だけを切り出して後段処理コストを下げる
  • Channel Mix TOP — Point Cloud テクスチャから XYZ いずれかのチャンネルを抽出
  • Cache TOP — ZED 入力を一定フレーム蓄積してフレーム間差分・残像演出
  • Edge TOP — 深度マップから輪郭を抽出して人物シルエットを得る

前処理・後処理TOP 🎯


Info CHOP情報 📊

ZED 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 / Point Cloud=4 等、Image モードに依存)
  • gpu_mem_used: GPU メモリ使用量 (バイト)、Point Cloud 等の重いモードでの負荷確認に有用

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

よくある問題と解決策 🔧

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

  • Active がオンになっているか確認
  • Input Source が現在の使用形態 (USB / SVO File / Network Streaming) と一致しているか確認
  • ZED SDK が OS にインストール済みか、USB 3.0 ポートに ZED が直接接続されているか確認 (USB 2.0 では帯域不足)

❌ Problem: 深度マップに穴やノイズが多い
✅ Solution:

  • Sensing ModeFill にして未確定領域を補間 (信頼度は下がる)
  • Depth Quality を高品質側に切り替えてステレオ計算精度を上げる
  • Depth Stabilization をオンにしてフレーム間のちらつきを抑える
  • 後段で Math TOP や GLSL TOP で範囲外ピクセルをマスク処理

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

  • Unknown Value を Z=遠方値に設定して、無効ピクセルをシーン外に張り付け
  • Minimum DepthMaximum Depth を被写体距離に絞り込んで範囲外を除外
  • Reference Frame = Camera に固定し、カメラ移動による点群ドリフトを切り分ける

❌ Problem: SVO 録画ファイルが再生されない
✅ Solution:

  • Input SourceSVO File になっているか確認
  • File パスが SVO / SVO2 形式のファイルを指しているか確認 (拡張子・パス区切り)
  • Initialize をパルスで再生位置をゼロにリセットした後、Play を 1 にする

参考資料 📚

その他 🔗

公式リソース 📖

ハードウェア情報 🔧

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