Language:
Page Info
Engine Version:

Mixed Reality Capture Calibration Tool の使用方法

キャリブレーションのゴールは、バーチャル ワールドにおいてバーチャル カメラと物理カメラを連動させることです。 

AdjustingAlignmentStep.png
ランタイム時には、ゲームは以下のいくつかの事項を把握する必要があります。 

  • 使用しているカメラとレンズの種類

  • バーチャル シーンに対するカメラの位置

シーンをコンポジットするには、ゲームは以下の事項を把握する必要があります。

  • クロマ バックドロップの色 (通常は緑)。

  • クロマ カラーをどれだけ積極的にカットするのか。

  • カメラ フレームから完全にカットする領域。

バーチャル カメラが物理カメラをエミュレートできるように、ゲームではこれらの事項を把握する必要があります。ここでキャリブレーション ツールが関わってきます。キャリブレーション ツールではこれらの設定のすべてを同時に調整でき、これらの情報を含むキャリブレーション設定ファイルを生成できます。作成した設定ファイルは、別のゲームで再利用できます。

キャリブレーション前のセットアップ

Mixed Reality キャプチャを開始する前に、適切な装置が必要です。必要な装置の概要と、設定方法のヒントをここに簡単に示します。これにはグリーン スクリーンおよびキャプチャ プロセス用カメラの基本的なセットアップ、さらにキャリブレーションに必要な装置とソフトウェアも含まれます。

グリーン スクリーンとカメラ

MR_GreenScreenSetup.png

  1. ビデオ カメラ UE4 がサポートするのは、特定のビデオ キャプチャ デバイスのみです。現在サポートされているデバイスのリストについては、「サポートされているビデオ デバイス」NEW! を参照してください。リストにあるデバイスを使用して、ストリーミング用の PC に接続します。

  2. クロマ バックドロップ クロマ キーイングでは、一般にグリーン スクリーンを使用します。グリーン スクリーンをセットアップするときは、ピンと張った状態にして、特に対象者の背後ではしわを最小限に抑える必要があります。ライティングを設定する場合は、対象者の背後に直接影がかからないようにする必要があります。色に濃淡がないようにすることも必要です。バックドロップ全体に緑のグラデーションが強く現れると、クロマキーが難しくなります。対象者がバックドロップからできるだけ離れるとうまくいきます。対象者の足を撮影する予定の場合は、床にもグリーン スクリーンを敷く必要があります。

  3. カメラ マウント 初期設定 (キャリブレーション) では、カメラを固定する必要があります。ウェブカメラを使用している場合は、簡単に机やモニタに取り付けられます。カメラを三脚に取り付ける方法もあります。

  4. マルチマウント + トラッカー (オプション) 撮影中にカメラを移動する計画がある場合、HTC Vive Tracker などのトラッキング デバイスをカメラに取り付ける必要があります。さらに、カメラとトラッカーをマルチマウント でつなげます。これにより 2 つのデバイスが一体化されます。

キャリブレーション専用装置

キャリブレーション プロセス専用 (キャプチャ プロセス以外) の追加アイテムがいくつかあります。

MR_RequiredSetupItems.jpg

  • HTC Vive または Oculus Rift キャリブレーション ツールではこれらの 2 つの VR システムの一方が動作することが必要です。ツールはコントローラーのトラッキングを使用して、カメラの位置を評価します。HTC Vive または Oculus システムをセットアップするのが初めてである場合、キャリブレーションが正しく機能するようにこのセットアップ プロセスを最初に完了する必要があります。

  • 印刷されたチェッカーボード パターン チェッカーボード パターンを印刷して、段ボール紙など表面が平らでしっかりしたものに貼り付けます。キャリブレーション ツールのダウンロードにはチェッカーボード パターンのサンプルが含まれています。

    印刷したチェッカーボードをテープで貼る際は、テープがチェッカーボード パターンにかからないように注意してください (透明なテープでも、鏡面反射が発生してカメラの読み取りが困難になることがあります)。

ステップ

装置のセットアップが完了したら、キャリブレーション ツールをここ からダウンロードします。ファイルをダウンロードしたら解凍して、「MRCalibration.exe」を起動します。

キャリブレーション プロセスは、いくつかのステップに分割されます。個々のステップについては、以下で詳しく説明します。

  1. デバイス/カメラ/トラッカーの選択

  2. レンズのキャリブレーション

  3. アライメントのキャリブレーション

  4. アライメントの調整

  5. コンポジットのキャリブレーション

  6. ガーベジ マッティング

キャリブレーションの各ステップの終わりには進捗が保存されます。したがって、必要な場合はツールを終了しても後ほど再開することができます。キャリブレーション プロセスが完了すると、ツールは設定ファイルを生成します。これを使用して、別のプロジェクトで MRC セッションを開始できます。

キャリブレーションの進捗は設定ファイルに記録されます。キャリブレーション プロセスを初めからやり直す場合、設定ファイルを削除する必要があります。この設定ファイルは「MrcCalibration.sav」という名前で、ツールの「/Saved/SaveGames/」ディレクトリに保存されます。

共通のコントロール

各ステップに専用のコントロールがありますが、ツールを通じて使用される共通のコントロールがいくつかあります。

  • Enter :次へ移動/確認/承認/サブミット

  • End :スキップ (ステップの要件が満たされるときにのみ利用可能、一部のステップはスキップ不可)

  • P/サムスティック :プレビュー

  • M :ビデオ フィードのミラー

  • R :変更した設定のリセット

  • Esc: 終了

ツールはまだ粗削りで、ユーザビリティについては各所に改善の余地があります。ツールの機能には問題ありませんが、今後のリリースでユーザビリティを改善する計画です。ご意見やご要望をお寄せください。

キャリブレーション プロセス

1.デバイス/カメラ/トラッカーの選択

複数のビデオ キャプチャ デバイスが PC に接続されている場合、使用するデバイスの種類を指定する必要があります。Up/Down キーで対象を切り替えます。

MR_DeviceSelection.png

さらに、カメラで利用可能なフォーマットと解像度が複数存在することがあります。最適なフォーマットと解像度が自動選択されますが、Left/Right で選択対象を変更できます。

カメラ フィードの解像度は Mixed Reality キャプチャの出力解像度に影響しません。キャプチャの出力解像度は、キャプチャする元のゲーム プロジェクトにより制御されます。カメラ フィードの解像度は、シーンの中でフィードがどれだけクリアであるのかのみを制御します。

デバイス選択コントロール

  • Up/Down:ビデオ キャプチャ ソースの選択

  • Left/Right:ビデオ キャプチャ フォーマットの選択

  • Tab:カメラ トラッカーの選択

トラッカーの選択

撮影中にカメラを移動する予定である場合、トラッキング デバイスをカメラに取り付ける必要があります。

次のステップに進む前に、Tab キーで利用可能なトラッキング アタッチメントを切り替えることができます。HTC Vive では、1 番目のトラッカーはアタッチメント リストで「Special_1」という名前になります。

適切に選択した後は、Enter キーを押して次のステップに進みます。

2.レンズのキャリブレーション

カメラ レンズが異なると、画像の歪みや曲がりが異なります (魚眼レンズが良い例です)。キャプチャしたシーンに歪みが入らないようにするため、このレンズ キャリブレーション ステップでは、画像の歪みをなくす方法を確認してください。MR_LensCalibration.png

このステップを行う際は、チェッカーボード イメージを印刷したものが必要です。これはキャリブレーション ツールと共にダウンロードされます。このステップでは、キャリブレーション ツールはチェッカーボード パターンをベースラインとして使用して、連続的にスクリーンショットを取ります。

カメラの前で、場所を変えて印刷したチェッカーボードを持ちます。特にフレームのエッジ付近では角度と奥行きを変えます。これにより、キャリブレーション ツールに多種多様なサンプルを与えることができます。キャリブレーション ツールが十分なサンプルを収集すると、画面上部のテキストがそれを知らせるよう変わります。

カメラがオートフォーカスに設定されている場合、このステップではオートフォーカスを無効にします。

再投影エラー

キャリブレーション ツールが十分なサンプルを収集した後、ツールは歪みのないフィードのプレビューを表示します。フィードの見え方が許容できる場合は、Enter キーを押して続行します。必要に応じて、サンプルはさらに追加できます。または R キーを押してリセットし、やり直すこともできます。

歪みを取るプロセスが順調であるかを確認するには、フレーム内の要素の直線部分 (壁の隅、出入り口など) に注目するとよいでしょう。レンズの歪みは直線のエッジを (特にフレームのエッジ方向に) 歪めることが多いためです。

MR_ReprojectionError.png

レポートされた「再投影エラー」により、プロセスが見なしている正確さの度合いを把握できます。再投影エラーの値が小さいほど、良好な状態です。値が 1 未満の場合は、素晴らしい状態です。

画角

このステップの最も重要な点は、カメラの画角 (視野角、FOV) の概算値を出すことです。

FOV はカメラで見ることができるワールドの範囲を決定します。バーチャル カメラの FOV ができるだけこれに一致することが重要です。

カメラの FOV (度単位) がわかっている場合、 mrc.FovOverride コンソール変数で設定できます。

ほとんどの USB カメラ メーカーでは、自社デバイスに関する対角 FOV (DFOV) のリストを用意しています。ただし、ここで必要なのは水平 FOV (度単位) です。以下の式で対角 FOV から 水平 FOV を算出できます。前のステップで選択した解像度の高さ (h) と幅 (w) を使用します。

MR_FOVFormula.png

DSLR レンズでは別の方法で水平 FOV を計算できます。 

使用するカメラの FOV がすぐにわからない場合でも、このステップで概算値を出すことができます。

ズーム レンズの付いたカメラの場合、キャリブレーションを完了した後に、ズームを調整しないように注意する必要があります。ズームを調整すると、視野角 (FOV) は変わりますが、バーチャル カメラでは変わりません。バーチャル カメラはキャリブレーション中に使用した FOV を使用します。キャリブレーション後にカメラのズームを調整する場合、キャリブレーション プロセスをやり直す必要があります。

3. アライメントのキャリブレーション

AdjustingAlignment2.png

このステップでは、完了するまで位置決めと調整フェーズに戻って繰り返す必要があります。

  1. オンスクリーンのモデルでコントローラーの位置を合わせます。

  2. サンプルのアライメントを調整します。

  3. 上記の手順を繰り返します。

コントローラーから正確なトラッキング データを取得できるよう、ヘッドセットのセンサーがカバーされていることが重要です。

HTC Vive では、ツールを起動する前にコントローラーがオンであることを確認します。オンでない場合、キャリブレーション ツールで位置合わせを行うモデルが表示されないことがあります (ツールでは使用しているコントローラーの種類を認識することが必要です)。

フェーズ 1 - モデルによる位置合わせ

スクリーンに、コントローラーの位置合わせに使用する fuschia (ピンク) モデルが表示されます。スクリーンに対してコントローラーを持ち上げ、コントローラーとモデルの位置が揃ったときにトリガーを引きます。

トリガーを引いたとき、スクリーンでフレームがフリーズし、次のフェーズに切り替わります。

フェーズ 2 - サンプルの調整

最初にトリガーを引いたときは、手ぶれなどがあるので、完全に一致する必要はありません。このフェーズでは、最後のサンプルを調整して、フレームでさらに正確に位置が決まるようにします。

フェーズ 3 - 繰り返し

合計すると、位置合わせをする点が 11 個あります。これらの内のいくつかで位置合わせが満足できる結果になれば、それ以上実行する必要はありません。

image alt text

調整用のコントロール

  • Up/Down :モデルの垂直方向の移動

  • Left/Right :モデルの水平方向の移動

  • Num +/- :モデルのズームイン/アウト

  • Alt + Up/Down :モデルの垂直方向の回転 (ピッチ)

  • Alt + Left/Right :モデルの水平方向の回転 (ヨー)

  • Alt + Num +/- :モデルの左右への回転 (ロール)

  • H :モデルとその輪郭の非表示

  • Alt + H :モデルのみの非表示 (輪郭を残す)

  • P :アライメントのプレビュー

  • Enter :アライメントの承認

結果のプレビュー

サンプルを収集すると、スクリーンに各色のアイコンのセット (クロスとターゲット型) が表示されます。各ペアがどれほど近いのかにより、アライメントがどれほど近づいたのかを把握できます。すべてのペアができるだけ近づくことが必要です。ただし 1 つが離れていても気にする必要はありません (不正確なサンプルである可能性もあります)。

P キー (またはサムスティック) を押して、アライメントがどこまで一致するのかプレビューできます。結果に満足で、残りのアライメント ポイントをスキップする場合は、End キーを押します。

MR_PreviewResults.png

ビデオ ラグ: ビデオ フィードとコントローラー トラッキングの間にいくらかの遅延が発生する可能性があります。遅延があると、この 2 つが正しく位置合わせされているかどうかの判定が困難になります。これに対応するには、コンソール変数 mrc.TrackingLatencyOverride を使用して、同期を高めるように遅延を導入することができます。

4. アライメントの調整

この時点まで、同時にアライメントを調整したのは 1 つのサンプルに対してのみでした。この 1 つのサンプルにより、キャリブレーション ツールはカメラ位置の良い概算値を得ることができます。ただしこのキャリブレーションでは、フレームの一部の隅だけ他の部分よりアライメントがよくなることがあります。 

クリックしてアニメーションを再生

このステップでは、スクリーンに 5 つの白枠があります。コントローラーの 1 つをそれぞれの枠に移動し、それぞれでトリガーを引きます。

撮影を計画している同じ奥行き (カメラからの距離) でこのプロセスを実行する必要があります。

それぞれの枠は、その領域からサンプルが取得されたときに表示されなくなります。手動でトラッキングするモデルは、サンプルを取得するために、完全に枠内に入る必要があります。

調整の実行

すべての 5 つの枠で実行したら、スクリーンはビューのように分割画面に変わります。

MR_MakingAdjustments.png

前のアライメント プロセスと同様に、イメージに一致するようにモデルを移動、回転、スケーリングします。

調整用のコントロール

  • Up/Down :モデルの垂直方向の移動

  • Left/Right :モデルの水平方向の移動

  • Num +/- :モデルのズームイン/アウト

  • Alt + Up/Down :モデルの垂直方向の回転 (ピッチ)

  • Alt + Left/Right :モデルの水平方向の回転 (ヨー)

  • Alt + Num +/- :モデルの左右への回転 (ロール)

  • </>` :FOV の上下の (微) 調整

  • R:調整のリセット

  • P:アライメントのプレビュー

  • Enter:調整されたアライメントの承認

1 つのサンプルの調整/最適化によって他のサンプルがどれほどずれてしまうのかを確認できます。

このステップの回転は、ややこしいと感じてしまうかもしれません。すべてのモデルは同時に連動するからです。共通の中心で回転する単一モデルとしてまとめて考えましょう。真ん中のサンプルが画面の中央に留まるように、最初に位置を決め、アンカー ポイントとして使用します。

5. コンポジットのキャリブレーション

このステップでは、特定のコンポジット設定を微調整します。Mixed Reality キャプチャで、これはコンポジット シーンを確認できる最初のステップです。ここで終了しても、すべてが正しく機能します。

MR_CompositingCalibratrion.png

矢印キーで特定の値を選択して設定します。

クロマキー設定

このプロセスの多くの設定は、クロマキー プロセスに関係するもので、その詳細はこの UE ブログ ポスト で説明されています。

設定

説明

ChromaColor

クロマ バックドロップの色 (通常は緑) です。

Luminance Power

影によりバックドロップに薄い色が現れる可能性があり、その色とバックドロップ カラーを分離するために使用します。

Chroma Clip Threshold

この値による許容レベルまで、クロマ カラーに一致する色を完全にカットします。値が大きいほど、カットが多くなります。値がゼロの場合は、完全に透明であるピクセルとクロマカラーが正確に一致するということです。

Chroma Opacity Strength

残りのピクセルのオパシティをスケーリングします。数値が大きいほど、半透明度が小さくなります。色が ChromaColor に近づくほど、透明になるのを回避するために、この値を大きくする必要があります。

Despill Strength

スピル除去の強度をスケーリングします。値ゼロは、スピル除去による修正が実行されないということです。

Despill Cutoff Cap

色がクロマカラーとこの許容レベルを超えて異なる場合、スピル除去による修正がありません。値が大きいほど、色の修正範囲が広くなります。

Despill Sharpness

スピル除去グラデーションをなめらかにするために使用します。スピル除去フォールオフ曲線を定義します。スピル除去の強度を指数関数でスケーリングします。値が小さいほど、繊細でスムースになります。

Faux Bounce Intensity

スピル除去プロセスの一部で削除される色を置換するために使用する色の強度をスケーリングするために使用されます。値ゼロは、faux bounce カラーが適用されないということです。

Faux Bounce Color

スピル除去プロセスの中で削除される、クロマカラーのにじみを置き換える色です。

他のコンポジット設定

設定

説明

Tracking Latency

ビデオ キャプチャ デバイスにより、ビデオ フィードはコントローラーに対して遅延することがあります。この設定では、双方がさらによく同期するように、コントローラーに遅延を導入できます。

Depth Offset

デフォルトでは、ビデオはヘッドセットの位置の奥行きに従って位置合わせされます。対象者の前にレンダリングするのか、後ろにするのかを決定するために使用されます。これはシーンの前面または背面に対するオフセットを指定します。

Enter キーを押して、一方の設定から他方に切り替えます。設定に満足したら、End キーを押して保存します。いつでもツールを起動して、これらの値を微調整することができます。

6. ガーベジ マッティング

ガーベジ マッティングはビデオ フィードで常に取り除く必要がある領域を遮断するプロセスです。

グリーン スクリーンがフレーム全体をカバーしない場合、キャプチャから余分な領域をカットする追加プロセスを完了する必要があります。

これがキャリブレーション プロセスの最終ステップです。この問題がない、あるいは必要がない場合、このステップを省略して終了できます。

MR_GarbageMatting.png

これはツールで、VR で作業する必要がある唯一のステップです。ヘッドセットを装着します。コントロールが目の前に表示されます。

ガーベジ マッティング コントロール

  • End/Esc :保存して、ツールを終了

左コントローラー

右コントローラー

  • グリップ :Alt (押したままにしてコントロールを変更)

  • トリガー (押さえたままドラッグ) :ギズモの移動

  • サムスティック :元に戻す

左グリップを握ったまま

  • トリガー :ギズモの位置のリセット

  • サムスティック :やり直す

  • グリップ :マット モデルの作成

  • トリガー :マット モデルの選択/選択解除

  • サムスティック :次のギズモ モード (回転、平行移動、スケーリングなど)

左グリップを握ったまま

  • トリガー :すべて選択解除

  • サムスティック :前のギズモ モード

クリックしてアニメーションを再生

VR world editor の場合と同様に、3D 平面を配置して位置を決めます。キャプチャから切り出すリアルワールド セクションに平面を合わせます。

VR のプレビュー ウィンドウがあるので、そこでマットを変更したときの結果を確認できます。別のアングルからどのように見えるのかを確認するため、場合によってはこの時点でカメラ (トラッカー付き) を移動します。

完全にマットの位置を合わせることは大変なプロセスです。問題がある場合は、マットが必要な場所に自らが立ち、自分のところにマットを近づけます。ピクチャーインピクチャー機能を使用して、進捗を確認できます。

必要な場所でマットの切り出しが完了すると、アプリケーションを終了できます (End または Esc キー) - 設定はすべて保存されます。必要な場合、ツールをもう一度起動して、設定を微調整できます。

最終結果

キャリブレーション プロセスが完了したら、ツールを終了できます。ツールの 「Saved/SaveGames/」 ディレクトリに 「MrcCalibration.sav」ファイルがあります。

クリックしてアニメーションを再生

まず 「MrcCalibration.sav」ファイルを生成したら、ゲームの 「/Saved/SaveGames/」 フォルダにコピーします。ゲームに「SaveGames」ディレクトリがまだない場合は、手動で作成する必要があります。

このプロセスを一通り実行した場合、セットアップが変更されない限り、再実行する必要ありません。同じキャリブレーション設定ファイルを異なる UE タイトル全体 (MRC フレームワーク プラグインを有効にしたタイトル) で再利用できます。