カメラ レンズのキャリブレーションのクイック スタート ガイド

レンズの歪みやカメラとレンズの節点オフセットをチェッカーボードで較正します。

このクイック スタート ガイドでは、Camera Calibration プラグインを使用して、レンズの歪みおよび節点オフセットを較正する手順について説明します。

このガイドでは、サンプルとして、ソース ビデオ入力にプロダクション カメラ、オプティカル カメラのトラッキング システム、AJA Kona 5 を使用します。

前提条件

以下のセクションを完了するには、プロジェクト内で次のものを設定する必要があります。

  • 有効な Camera Calibration プラグイン。

  • Live Link を通じた、フォーカス、アイリス、ズーム (FIZ) データ ストリーミングとカメラ トラッキング。特に、プロジェクトに必要なのは、CineCamera アクタと Live Link Component Controller で、これには Live Link Virtual SubjectCamera Role を設定します。

  • ソース ビデオ入力、たとえば、AJABlackmagic

  • プロジェクトに追加され、メディア ソースが設定された メディア プロファイル

  • (同期ジェネレータを使用している場合のオプション) メディア プロファイルのタイムコードとゲンロック設定。設定方法は「メディア プロファイル」を参照してください。

  • (オプション) 同期とタイムコードを評価する 時間指定データ モニター

ステップ 1 - レンズ ファイル アセットを作成する

レンズ ファイルを使用すると、レンズとカメラの組み合わせごとに固有の、歪みと節点オフセットを計算して、格納できます。レンズ、トラッキング オブジェクトの位置、カメラ ボディに変更があった場合は、新しいレンズ ファイルを作成することをお勧めします。レンズとカメラ ボディの組み合わせごとに、新しいレンズ ファイルを作成する必要があります。

次の手順に従って、プロジェクトにレンズ ファイル アセットを作成します。

  1. コンテンツ ブラウザ で右クリックしてコンテキスト メニューを開き、[Miscellaneous (その他)] > [Lens File (レンズ ファイル)] を選択して、新しいレンズ ファイル アセットを作成します。

  2. このレンズ ファイル アセットをダブルクリックして、レンズ ファイル アセット エディタ を開きます。

  3. [Viewport Settings (ビューポート設定)] で次のとおり実行します。

    1. [Camera (カメラ)] を接続されたカメラに設定します。

    2. [Media Source (メディアソース)] を使用するメディア プロファイルに設定します。

    Set Media Source and Camera

  4. [Lens Information (レンズ情報)] セクションで、次のとおり実行します。

    1. [Lens Model Name (レンズモデル名)] を追加します。推奨される命名規則は、カメラ ボディ名と焦点距離を組み合わせたものです。

    2. [Lens Serial Number (レンズのシリアル番号)] (ある場合) を追加します。

    3. [Lens Model (レンズモデル)] を追加します。現時点でサポートされているのは、[SpjerocalLensModel (球面レンズモデル)] だけです。

    4. 使用するカメラに一致する [Sensor Dimensions (センサーのディメンション)] を入力します。

    Lens information set

  5. [Outliner (アウトライナ)]CineCamera アクタを選択し、[Details (詳細)] パネルを開きます。

    1. [Details (詳細)] パネルで、Live Link Controller Component を選択し、詳細情報を表示します。

    2. [Role Controllers (ロールコントローラー)] > [CAMERA ROLE (カメラ ロール)] > [Camera Calibration (カメラ キャリブレーション)] > [Lens File Picker (レンズ ファイル ピッカー)] で、[Lens File (レンズ ファイル)] を前のセクションで作成したレンズ ファイル アセットに設定します。

レンズ ファイル アセット エディタの下部には、レンズ ファイルに適用されている現在のプロパティの概要があります。この段階では、ほとんどのプロパティが空白または N/A と表示されています。これらのプロパティは、キャリブレーション プロセスの進行に伴って更新されます。

Lens file summary

ステップ 2 - チェッカーボードでレンズの歪みを計算する

このステップでは、チェッカーボードを使用した、一般的な方式でレンズの歪みを計算する方法で示します。板に印刷されたチェッカーボードを使用して、プロダクション カメラで視野に捉えます。タブレットに表示されたチェッカーボードの画像を使用することもできます。実物のチェッカーボードのプロパティに一致する CG チェッカーボードを UE 内に作成します。

次の手順に従ってレンズの歪みを算出します。

  1. ツールバー で、[Add Content (コンテンツの追加)] を選択し、[Virtual Production (バーチャルプロダクション)] > [Checkerboard (チェッカーボード)] から、CameraCalibrationCheckerboard アクタをレベルに追加します。

    Create Checkerboard Actor

  2. [Outliner (アウトライナ)] で CameraCalibrationCheckerboard アクタを選択し、[Details] パネルを開きます。[Details] パネルの [Calibration (キャリブレーション)] セクションで次のとおり実行します。

    1. [Number of Corner Rows (行のコーナー数)] にチェッカーボードの列の一つにあるコーナー数を設定します。この例では、行のコーナー数は 7 です。

    2. [Number of Corner Columns (列のコーナー数)] にチェッカーボードの行の一つにあるコーナー数を設定します。この例では、列のコーナー数は 11 です。

    3. [Square Side Length (正方形の辺の長さ)] にチェッカーボードにある正方形の一辺の長さ (cm 単位) を設定します。この例では、正方形の辺の長さは 4.5cm です。

    4. 最初、チェッカーボードにはマテリアルが割り当てられていません。[Odd Cube Material (奇数キューブのマテリアル)] に、正方形の左上の色であるマテリアルを設定し、[Even Cube Material (偶数キューブのマテリアル)] にその隣の色を設定します。この例では、最初の正方形の色は黒で、次の正方形は白です。

    Checkerboard numbered example

  3. レンズ ファイル アセット エディタ で、[Lens Distortion (レンズの歪み)] タブに切り替えます。

    1. [Lens Distortion Algo (レンズの歪みアルゴリズム)] で、[Lens Distortion Checkerboard (レンズの歪みチェッカーボード)] を選択します。

    2. [Checkerboard (チェッカーボード)] に作成した CameraCalibrationCheckerboard アクタを設定します。

    3. [Show Detection (検出を表示)] チェックボックスをオンにします。これで、レンズの歪みの計算に使用する画像が作成されるたびに、プレビュー画像が作成されます。

  4. 次のように、カメラの前にチェッカーボードを配置します。

    Checkerboard in front of the camera

  5. ビューポートをクリックして、キャリブレーション プロセスを開始して、使用する最初の画像を作成します。

    Create first image for calibration

  6. チェッカーボードをカメラの視野内で移動させて、引き続き画像をクリックしてキャリブレーション画像を撮影します。チェッカーボードの位置は、異なる配置で、異なる奥行きで、重なり合う画像で視野をカバーできるほど十分な回数を移動させて、キャリブレーションの精度を高めます。

Collecting checkerboard images

  1. 少なくとも視野角を完全にカバーするのに十分なオーバーラップ画像を収集した後、[Add To Lens Distortion Calibration (レンズ歪みキャリブレーションに追加)] をクリックします。

  2. ウィンドウの下部の歪みパラメータが更新されます。

    Distortion values updated

ほとんどのレンズで、焦点距離が異なると歪み値も異なります。レンズ歪みに対して最も正確なレンズ ファイルを作成するためには、このプロセスを異なる焦点距離で繰り返す必要があります。

Step 3 - レンズの歪みを確認する

レンズの歪みを確認するには、[Nodal Offset (節点オフセット)] タブを使用します。この場合、シーンでトラッキングされていない CG チェッカーボードがビデオ フィードに重ねられます。つまり実際のチェッカーボードと CG チェッカーボードが揃っているかどうかをビジュアルで確認できます。

次の手順に従ってレンズの歪みを確認します。

  1. カメラの視野に実物のチェッカーボードを配置します。

  2. レンズ ファイル アセット エディタ で、[Nodal Offset (節点オフセット)] タブに切り替えます。

    1. [Nodal Offset Algo (節点オフセットアルゴリズム)] ドロップダウンをクリックして、[Nodal Offset Checkerboard] を選択します。

    2. [Checkerboard] に使用する Checkerboard アクタ を設定します。

    Nodal offset set to checkerboard algorithm

  3. 画像をクリックして、キャリブレーションのすべてのコーナー データを入力します。

  4. [Apply to Calibrator (キャリブレーターに適用)] をクリックします。画像をクリックして、キャリブレーションのすべてのコーナー データを入力します。

    Apply to calibrator

  5. [Viewport Settings (ビューポート設定)] セクションに移動して、[Transparency (透過性)] の値を「1」に変更し、Checkerboard アクタがカメラのビューポートにある実物のチェッカーボードと一致することを確認します。

    Lens distortion demo

Step 4 - ステップ 4 - 節点オフセット キャリブレーション用のトラッキングされるオブジェクトを作成する

節点オフセットは、トラッキングされたカメラの軸と、キャリブレーションされるレンズ/カメラの組み合わせにおいて、実際の節点の軸との差を計算します。レンズを変更したり、カメラのトラッキング デバイスを移動させたりする場合は、新しい節点オフセットを計算する必要があります。

Cine Camera アクタに適用する節点オフセットを計算するためには、物理的にトラッキングされたオブジェクトと、トラッキング オブジェクトに一致する CG モデルを作成する必要があります。

この例では、前に使用した実際のチェッカーボードにトラッキング マーカーを追加しています。トラッキングされたチェッカーボードに一致するように CG モデルを作成して、オプティカル トラッキングを設定しました。この CG チェッカーボードを UE にインポートして、次のステップで使用します。

チェッカーボードを使用するのが一般的ですが、必要に応じて任意のトラッキングされたオブジェクトと CG モデルを作成することができます。このプロセスでは、CG モデルにキャリブレーション ポイントを追加する必要があります。トラッキングされたオブジェクトと CG モデルは、相互に一致するする必要があります。

節点オフセット キャリブレーション用のトラッキングされるオブジェクトを作成するために次のステップに従います。

  1. コンテンツブラウザ で、右クリックしてコンテキストメニューを開きます。

    1. [Create Basic Asset (基本アセットを作成)][Blueprint Class (ブループリント クラス)] を選択します。

    2. [Pick Parent Class (親クラスを選択)] パネルで、[Actor] を選択します。

  2. コンテンツブラウザで新しいブループリント クラスをダブルクリックして、ブループリント エディタで開きます。

  3. [Components (コンポーネント)] パネルで、[+Add Component (コンポーネントを追加)] を選択し、[Static Mesh] を選択します。

  4. [Details (詳細)] パネルの [Static Mesh (スタティックメッシュ)] で、[Static Mesh] にトラッキングされるオブジェクトの CG モデルを設定します。この例では、CG モデルでは「Checkerboard_mesh」です。

  5. [Components (コンポーネント)] パネルで、[Add Component (コンポーネントを追加)] をクリックし、[Calibration Point] を選択します。この例では、コンポーネントは「Top_Left」という名前です。

  6. 次に示すように、ビューポート で、Top_Left コンポーネントをチェッカーボードの左上のポイントに配置します。

    Top left component set in checkerboard for nodal offset

  7. Top_Left コンポーネントを 4 回複製して、複製したそれぞれのコンポーネントに「Bottom_Left」、「Bottom_Right」、「Top_Right」、「Center」という名前を付けます。

  8. これらのコンポーネントをチェッカーボード メッシュ上の対応する位置に配置します。ブループリントを コンパイル して 保存 します。

    All components set up on checkerboard mesh

  9. ブループリントを コンパイル して、保存 します。

  10. ブループリント クラスをレベルにドラッグします。

  11. Live Link で、チェッカーボードのトラッカー ソースを追加します。この例では、Optitrack が使用され、サブジェクトは Checkerboard という名前です。トラッカー ソースの追加方法に関する手順については、「Live Link」を参照してください。

  12. [Outliner (アウトライナ)] で、ブループリント クラス アクタを選択し、[Details (詳細)] パネルを開きます。詳細パネルで以下を行います。

    1. [+Add Component (コンポーネントを追加)] をクリックして、LiveLinkController を選択します。

    2. LiveLinkController コンポーネントを選択して、詳細情報を表示します。

    3. [Live Link][Subject Representation (サブジェクト表現)] パラメータを、チェッカーボード トラッカーの Live Link サブジェクトに設定します。この例では、Live Link サブジェクトは Checkerboard です。

    Live Link Subject Representation for Checkerboard

ステップ 5- 節点オフセットを計算する

節点オフセットは、物理カメラで使用されているレンズの実際の節点を考慮して、CineCamera アクタにオフセットを適用します。

Camera Calibration プラグインでは、物理プロダクション カメラの前の異なる位置にトラッキング対象のオブジェクトを移動させることで、節点オフセットを計算します。この例では、Checkerboard アクタには複数のキャリブレーション ポイントが含まれています。これらのキャリブレーション ポイントを収集して節点オフセットの計算に使用します。

次の手順に従って節点オフセットを計算します。

  1. レンズ ファイル アセット エディタで、[Nodal Offset (節点オフセット)] タブに切り替えます。[Nodal Offset] で次のとおり実行します。

    1. [Nodal Offset Algo (節点オフセットアルゴリズム)][Nodal Offset Points Method (節点オフセットポイントメソッド)] に設定します。

    2. [Calibrator (キャリブレーター)] を前のセクションで作成したブループリント クラス アクタに設定します。

    Nodal offset points algorithm

  2. 各キャリブレーション ポイントの位置に合わせて、ビューポートのチェッカーボード画像をクリックします。たとえば、Bottom_Right Calibration Point に合わせてチェッカーボードの右下隅をクリックします。この画像をクリックすると、キャリブレーション ポイントが自動的に更新されます。

    Select calibration points on checekrboard

  3. トラッキング対象のチェッカーボードをカメラの前で 5 ~ 8 か所に移動させて、それぞれの位置でキャリブレーション ポイントを取得します。

  4. 完了したら、[Add To Nodal Offset Calibration (節点オフセットキャリブレーションへ追加)] をクリックします。

    Collecting points

  5. エディタの下部にある節点オフセットのプロパティを確認して、節点オフセットが正しく適用されたことを確認します。

    Nodal point offset properties updated

  6. [Transparency (透過性)] を「0」から「0.5」に変更します。トラッキングされたチェッカーボードの CG 要素が、ライブ ビデオのチェッカーボードと重なっている必要があります。

    Checkerboard overlay physical checkerboard

  7. トラッキングされているカメラのパンを実行して、トラッキングされているチェッカーボードを動かします。CG バージョンがライブ ビデオ フィードの実際のチェッカーボードと正しく重なった状態で維持されます。

タイムコードとゲンロックを設定しないで、時間指定データモニターを使用して同期を調整すると、移動に伴って CG 要素に遅延が生じる場合があります。カメラの移動を停止すると、再び CG 要素が整列します。。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル