コンテンツにスキップ

OmniCal キャプチャ

Capture は、構造化光パターンを投影し、それらの画像を撮影し、画像内の blob を検出するプロセスです。

カメラとネットワークのセットアップ を完了すると、OmniCal は Plan ワークフローを使用してキャプチャする準備が整います。

  1. カメラとプロジェクターの位置とプロパティを構成します。
  2. Capture を セットアップ します。
    これには、露出、投影、アラートの設定の調整が必要になる場合があります。
  3. Capture を 実行 し、完了を待ちます。
    キャプチャの完了にはしばらく時間がかかることがあります。OmniCal は UI に進行状況を表示し、注意が必要な問題をユーザーに通知することがあります。

OmniCal Stage Plan

In the Stage editor, under Projectors, click OmniCal Calibration to open the Calibration editor. This widget controls the main OmniCal behaviour. Right-click on any Capture Plan to open its OmniCalStagePlan editor.

In the OmniCalStagePlan we recommend working through the sections from top to bottom: Capture, Calibration, Alignment, and Mesh Deform (if required).

OmniCal Stage Plan

このページでは、訓練を受けたユーザー向けの OmniCal Plan ワークフローについて詳しく説明します。既存の Plan の再キャリブレーションについては、RigCheck ワークフローを参照してください。

  1. stage editor から calibration エディターを左クリックして開きます。
  2. 新しい Capture Plan を作成するには、CapturePlan を左クリックします。
    これにより capture plan manager が開きます。
  3. New OmniCalStagePlan フィールドに名前を入力し、OK をクリックします。
  4. 新しく作成された capture plan を右クリックします。
  5. (物理カメラなしで)シミュレートされたキャプチャを使用するには、Use simulated cameras を有効にします。
  6. + アイコンをクリックして、plan に新しい plan カメラを追加します。
  7. 各 plan カメラを右クリックして camera plan エディターを開き、さらに変更を加えます。
    • 必要に応じて、offset、rotation、focal length などのカメラ設定を調整します。
      ポーズは可視化と、シミュレートされたキャプチャに使用されます。
    • 物理カメラが接続されている場合は、Physical OmniCal Camera をクリックし、検出されたカメラの一覧から適切なカメラを選択します。
    • 構成された focal length が物理レンズと一致することを確認します。
  8. + アイコンをクリックして、plan にプロジェクターを追加します。
    • プロジェクター出力が Feed View で正しく割り当てられていることを確認します。
    • プロジェクションサーフェスがプロジェクターに正しく割り当てられていることを確認します。

物理カメラを使用する場合(シミュレーションなし)、Capture Setup にはカメラネットワークが正しくセットアップされている必要があります(前の章 OmniCal Setup を参照)。

  1. Setup Capture を左クリックして、Capture Setup ウィンドウを開きます。 Click Setup Capture
  2. Black Level (all projectors) をクリックして、プロジェクターが黒を出力しているときの OmniCal カメラビューをキャプチャします。Black Level の画像はかなり暗いはずですが、重要なシーン要素は認識できる程度であるべきです。物理レンズの lens aperture (iris) と Designer の exposure time を使用して調整します。他の手段で望ましい見た目が得られない場合にのみ gain を使用します。 Select Black Level (all projectors)
  3. White Level をクリックし、White Level (Brightness) 値を調整して、カメラ画像が露出オーバーにならないようにします。任意のプロジェクターをクリックして、個別に表示・調整します。目標は、カメラ画像内のすべてのプロジェクターで同様の明るさを達成することです。 Select White Level
  4. Alignment UI (all projectors) をクリックし、Alignment (Brightness) 値を調整して、プロジェクションサーフェス上のグリッドがはっきり見えるようにします。目標は、実世界のプロジェクションサーフェスの部分を視覚的に識別できるアライメント画像を持つことで、後で(Capture と Calibration の後に)QuickAlign で一致させられるようにすることです。 Click Alignment UI (all projectors)
  5. Blob Grid をクリックして、いくつの blob が投影されるか、そしてそれらがキャリブレーション中のサーフェスをどれだけうまくカバーするかを確認します。
    次に、プロジェクターとカメラのセットアップに応じて、blob サイズと grid size(Number of Blobs)を調整します。 Click Blob Grid
  • blob size は、投影される blob のピクセル単位のサイズ(各プロジェクターの出力画像内)です。これはできるだけ小さく選ぶべきですが、すべてのカメラ画像で blob がはっきり見える程度にします。なお、同じ blob は、より遠いカメラや、より広角のレンズ(より小さい focal length)を使用するカメラでは、より小さく見えることがあります。
  • grid size は、水平方向に投影される blob の数です。なお、grid size の高い値とより大きな blob サイズは、blob が互いに接触する原因になることがあります。これは避けなければなりません。個々の blob の間に明確な隙間がないと、blob detection は失敗します。
  • blob は、認識しやすいように背景(つまり Black Level)に対して十分なコントラストで表示されるべきです。
  1. Run Blob Detection をクリックして、すべての OmniCal カメラで blob detection をテストします。 Click Run Blob Detection
  • テスト blob detection は、すべてのカメラがすべてのプロジェクターの画像を撮影するまで数秒かかります。結果は各カメラビューでハイライト表示されます。
  • 検出された blob は、それぞれのプロジェクターの色で表示されます。
  • この段階で、blob detection を改善し、すべてのカメラで一貫させるために、カメラの絞りや露出を調整する必要があるかもしれません。
    • 露出を調整するには、カメラ名をクリックし、Camera Plan Editor で露出時間を調整します。
    • カメラレンズの絞りの調整には、物理カメラレンズのフォーカスリングへの物理的なアクセスが必要です。

アラート設定では、ぼやけたカメラ画像など、潜在的な問題に遭遇したときに OmniCal がどう動作するかをユーザーが調整できます。構成された閾値を超えると、OmniCal は通知を介してユーザーに警告します。

現時点では、アラート設定は、キャプチャの終わり頃に実行される OmniCal の post-capture プロセス にのみ影響します。一部の設定は Plan と RigCheck の両方のワークフローに適用され、一部は RigCheck のみに適用されます。

これらのアラート設定はユーザー構成可能で、特定のプロジェクトや環境の要求に合わせて調整できます。

OmniCal のアラート設定は通常、現在のキャプチャと比較される絶対または相対の閾値(パーセンテージ)で構成されます。

  • Absolute thresholds(絶対閾値)は、キャプチャ中に計算された実際の値と直接比較されます。プロセスに応じて、現在の値が閾値より大きいか小さい場合に通知がトリガーされます。
  • Relative thresholds(相対閾値)は、現在の(RigCheck)キャプチャの絶対値を、以前の Plan キャプチャの同等の値と比較するために使用されます。構成されたパーセンテージより大きい偏差が通知をトリガーします。

Camera focus detection は、各カメラの blur score を計算して、キャプチャした画像がピントが合っていない(つまりぼやけている)かどうかをチェックします。

blur score の絶対閾値。カメラレンズが潜在的にピントが合っていないかどうかを検出します。値が小さいほど「ピントが合っていない」、つまりよりぼやけていることを意味します。

  • 単位: 無次元
  • 範囲: 0 - 1000。デフォルト: 7
  • 閾値タイプ: 絶対
  • ワークフロー: Plan と RigCheck

RigCheck と元の Plan の間で blur score を比較するための相対閾値。初期設置以降、カメラレンズのフォーカスが劣化したかどうかを検出します。

  • 単位: パーセンテージ
  • 範囲: 0 - 1。デフォルト: 0.15
  • 閾値タイプ: 相対
  • ワークフロー: RigCheck

Camera Focus Detection

Blob movement detection は、元の Plan とその後の RigCheck の間で、キャプチャした blob 座標が移動したかどうかをチェックします。測定された移動が定義された制限を超えると、OmniCal は通知を生成します。

Blob movement detection は RigCheck ワークフローにのみ適用されます。

現在の RigCheck の blob 座標を元の Plan と比較する際の、平均 blob 移動の絶対閾値。計算された値がこの閾値を上回ると、OmniCal は通知を表示します。

  • 単位: ピクセル
  • 範囲: 0 - 200。デフォルト: 10
  • 閾値タイプ: 絶対

計算に使用する blob 重心距離のパーセンタイル(距離が正規分布であると仮定)。指定されたパーセンタイル外の値は、blob 移動の計算では無視されます。これを 100% 未満に設定すると、外れ値が平均距離の結果を歪める影響を防ぐのに役立ちます。

デフォルト: 0.95、つまり 95%。

計算に使用する blob の中心座標を決定します: ContourEllipseBoundingBox、または BrightestPoint。これは通常調整する必要のない高度な設定です。

各 blob について、OmniCal は 4 つの異なる中心座標を保存します。これらの中心値は、(カメラに表示される)blob の形状によって異なることがあります。例えば、投影された円がカメラで部分的にしか見えない場合、検出された輪郭の中心と、その周りにモデル化された楕円の中心との間に偏差が生じることがあります。

デフォルト: Contour

Blob Movement Detection

干渉を避けるためのキャプチャ準備

Section titled “干渉を避けるためのキャプチャ準備”

進行中のキャプチャ中は、以下をお勧めします。

  • ステージは、プロジェクションサーフェスを遮る可能性のある干渉物(はしごやその他の建設機材など)がないクリアな状態であるべきです。
  • 光レベルの変化がないこと。
  • 投影経路に反射面がないこと。
  • 移動するプロジェクションサーフェスがないこと。
  • 投影やカメラビューを横切って歩く人がいないこと。

そのような干渉は、悪いキャリブレーション結果を引き起こす不正確なキャプチャデータにつながることがあります。 そのような干渉やその他のキャプチャの問題に気づいた場合は、現在のキャプチャをキャンセルし、問題の原因を取り除いて、新しい Capture を開始します。

  1. plan エディターから Capture をクリックします。
  2. システムがキャプチャを実行します。
    • 所要時間は、プロジェクターとカメラの数、プロジェクターが収束しているかどうか、プロジェクター間の重なりに依存します。例えば、4 台のカメラと 4 台の非収束プロジェクターでは、おおよそ 1 分かかります。 Capture Progress
    • OmniCal は、キャプチャの終わり頃にいくつかの post-capture プロセス を実行します。これらのプロセスは画像を 構成可能な閾値 と比較し、いずれかの閾値がトリガーされた場合に通知を生成することがあります。 Capture Success
  3. View Capture をクリックして、キャプチャの結果を確認します。
  4. Blob Detection Results をクリックして、カメラでどの blob が検出されたかを確認します。
  5. blob detection の結果が期待どおりであることを確認します。これらの結果は、capture setup で以前に見たものと一致しているはずです。
  6. Blob 統計は、いくつのカメラがプロジェクターの blob を観測/検出するかを示します。50% 以上の observer ratio が理想的です。 Blob Detection Table

OmniCal のキャプチャ中、特定の post-capture プロセスが、キャプチャした画像の一部に対して自動的に実行されます。これらのプロセスの目的は、Designer の外部の条件がキャプチャの品質と妥当性に影響する可能性があるかどうかを検出することです。

画像は 構成可能な閾値 と比較され、いずれかの閾値がトリガーされた場合、OmniCal は関連情報と次のステップの提案とともにオペレーターに通知します。

カメラフォーカス検出は、すべての OmniCal カメラレンズのピントが合っていることを確認するのに役立ちます。カメラが潜在的にピントが合っていないと判明した場合、通知が発行されます。その後、オペレーターは物理カメラのレンズフォーカスを手動で調整する必要があるかもしれません。

カメラフォーカス検出は、フーリエ変換アルゴリズムを使用して各カメラの blur score を計算します。このスコアは閾値と比較され、画像がぼやけている可能性があるかどうかを検出します。

ユーザーは threshold settings を使用してこのプロセスの動作を構成できます。閾値は、シーンの性質に基づいて OmniCal によって自動的に調整されることもあります(下記参照)。カメラの blur score が調整された閾値を下回る場合、そのカメラのレンズはおそらくピントが合っていません。

blur score は、カメラレンズが相対的にどれだけピントが合っているか、または合っていないかを判断する無次元の尺度です。blur score が高いほどピントが合っており、スコアが低いほどぼやけた画像を表します。

なお、blur score は画像の内容にも依存し、レンズのフォーカスが変更されていなくても、特定のカメラで変動することがあります。これは、blur score の計算が、以下を含むシーンの構成や環境の影響に敏感であるためです。

  • シーン内の光の分布
    • 非常に暗い(露出不足)または非常に明るい(露出過多)領域は低周波数に相当するため、より悪い blur score につながります。
  • シーンの自然な構造
    • 均一な色 / 構造の領域は低周波数に相当するため、より悪い blur score につながります。

キャプチャした画像が上記の影響のいずれかを持つと判明した場合、誤検知の警告を防ぐために、構成された閾値 がそれに応じて自動的に調整されます。

Blob 移動検出は、RigCheck ワークフロー中に、シーンとリグのセットアップ、カメラの整列、全体的な配置が一貫して維持されていることを確認するのに役立ちます。

このプロセスは、元の Plan とその後の RigCheck の間で、投影された blob のいずれかがカメラ画像内でシフトまたは移動したかどうかをチェックします。両方のデータセットで blob の中心を識別し、一致する中心間の距離を測定し、全体の平均移動をピクセル単位で計算します。

Blob 移動検出は、カメラが特定のプロジェクターからの blob を「見る」ことができなくなったかどうかも検出します。これは、プロジェクターがオフになっているか、そのフットプリントが大幅に変わったことを示している可能性があります。

ユーザーは threshold settings を使用してこのプロセスの動作を構成できます。測定された移動が定義された制限のいずれかを超えると、OmniCal は通知を生成します。

blob 移動検出が通知をトリガーした場合、これは以下の 1 つ(または複数)を意味することがあります。

  • 1 台以上のカメラが動いた。
    • RigCheck では、影響を受ける各カメラの整列調整が必要になります。
  • 1 つ以上のプロジェクションサーフェスが動いた。
    • RigCheck では、影響を受ける各サーフェスの整列調整が必要になります。
  • 1 台以上のプロジェクターが動いた。
    • OmniCal はすべてのプロジェクターのキャリブレーションを自動的に更新します。
    • プロジェクションサーフェスが依然として十分にカバーされている限り、それ以上のアクションは必要ありません。
    • 2D ワープや手動のブレンドマスクが使用されている場合、これらはおそらく調整が必要になります。

OmniCal は現在、これらの状況のどれが発生したかを判断できません。オペレーターは、シーンに整列の問題がないか視覚的に確認し、必要に応じて Result Aligner を使用して調整することをお勧めします。

OmniCal データのディスク上での管理

Section titled “OmniCal データのディスク上での管理”

OmniCal の Plan ワークフローは、.d3 プロジェクト自体ではなく、ハードディスク上にさまざまなデータを保存します。

これには以下が含まれます。

  • OmniCal 設定
  • キャプチャされた画像
  • 計算された blob detection の結果
  • キャリブレーション結果
  • 整列データ
  • レポートデータ

このデータは、Designer プロジェクトの internal/opticalstageplan/ フォルダーのサブフォルダーに保存されます。 各 Plan は独自のデータセットを持ち、そのサブフォルダーは Designer 内の関連する Plan オブジェクトと同じ名前を持ちます。

internal サブフォルダー内のデータは、Designer 内の対応する Plan オブジェクトと一緒に管理されます。 Plan オブジェクトが削除され、Designer のゴミ箱が空にされると、関連するフォルダー(画像、config、result ファイルを含む)もハードディスクから削除されます。

プロジェクトフォルダーに多くの Plan を保存すると、時間の経過とともにハードディスクがいっぱいになることがあります。使用されなくなった Plan を削除するのは通常良い考えです。これはディスク容量を解放するだけでなく、似た名前の異なる Plan が多数ある場合の混乱も減らします。

OmniCal RigCheck データのディスク上での保存

Section titled “OmniCal RigCheck データのディスク上での保存”

RigCheck の result データは Plan データと同じように扱われますが、Designer プロジェクトのサブフォルダー internal/opticalresult/ に保存される点が異なります。 RigCheck の開始時に、すべての設定(整列データを含む)が Plan から新しい RigCheck result にコピーされます。 RigCheck データのディスク上での管理 も参照してください。

多くの場合、異なる Plan のセットアップや設定(カメラの数やその配置、レンズオプションなど)の影響を比較する必要があります。キャリブレーション設定の影響だけを比較する必要があることもあります。

これは、関連する Plan をコピーして、コピーを編集することで最もよく達成されます。

  • Plan のタイトルバーを右クリックし、新しい名前を選んで Duplicate をクリックします。
  • コピーした Plan の設定に必要な変更を加えます。
  • 新しい Plan の新しい Capture および/または Calibration を開始します。

そうすれば、以前の設定や結果を失うことなく 2 つの plan を切り替えられます。これはより柔軟で、Plan のセットアップやその設定への変更の影響の理解を深めます。