コンテンツにスキップ

キャリブレーションエラー

カメラやプロジェクターをキャリブレーションするプロセスには、一連の入力データと、ジオメトリと物理を表現するモデルが必要です。このモデルは、未知のパラメーターによって決定される既知の方程式の集合です。プロジェクターやカメラの場合、モデルには通常、3D の位置と向き、および 焦点距離lens shift歪み係数 などのレンズパラメーターが含まれます。

キャリブレーションプロセス中に、入力データのオブザベーションに基づいて、適切なモデルパラメーターが推定されます。

Calibration error は、推定されたモデルパラメーターが入力データにどれだけ適合しているかの尺度です。

Disguise でのキャリブレーションには通常、複数の 2D と 3D のポイントのペアが関与します。これらのポイントペアのソースは、例えば以下のようなものです。

  • 手動入力(QuickCal の 2D lineup 位置)
  • 自動検出(OmniCal または xR の 2D blob 位置)
  • 既存のファイルデータ(QuickCal で使用される 3D メッシュの頂点)
  • 再構成された 3D ポイント(OmniCal または xR で自動検出された 2D blob に基づく)

誤差の測定は、多くの場合 Reprojection Error(再投影誤差)として計算されます。入力された 3D ポイントが、キャリブレーションされたモデルの方程式とパラメーターを使用して、プロジェクター(またはカメラ)の画像に投影し戻されます。

結果として得られた 2D ポイントが、元の入力 2D ポイントと比較されます。両者の差(通常は絶対的な 2D 距離)が誤差計算に使用されます。総誤差は、すべてのポイントペアにわたってさまざまな方法で集計されます(以下を参照)。

Reprojection 3D point

これらの再投影誤差の単位は通常ピクセルです。

誤差値は低いほど良いです。

通常、1 ピクセル未満の再投影誤差が望ましいですが、状況によってはより高い値が許容される場合もあります。これは、サーフェスの形状、使用するコンテンツ、またはコンテンツがプロジェクションサーフェス上で見える実効解像度に依存する判断です。観客が遠くにいる場合や、解像度が非常に高い場合は、より高い誤差が気づかれないこともあります。

QuickCal では、ユーザーが 2D カーソルを完全なピクセル境界でしか合わせられないため、真のサブピクセル精度を達成するのはより困難です。これにより、どちらの方向にも最大半ピクセルの系統的誤差が生じます。

OmniCalxR では、カメラ画像内での blob の相対的なサイズにより、2D blob はサブピクセル精度で検出されます。

上記のポイント差から誤差を計算する方法はいくつかあります。

平均(または mean)誤差は、単に絶対誤差の合計を誤差の数で割ったものです。絶対値を使用するため、負になることはありません。値 0 が完璧な結果です。個々の差は、総平均誤差に比例した影響を与えます。これにより理解しやすく、成功を測る良い尺度になります。

RMSE は、個々の誤差を 2 乗した値の平均の平方根です。これも負になることはなく、値 0 が完璧な結果です。個々の差が 2 乗されるため、大きな誤差は総 RMSE に不釣り合いに大きな影響を与えます。その結果、RMSE は外れ値に敏感です。

これが、OmniCal がキャリブレーションステップの前および間に、データセットから外れ値を除去する理由です。RMS 誤差は、プロセスを最良の「方向」へより速く進めるために、キャリブレーション中によく使用されます。しかし、キャリブレーションの最後に成功の尺度としても使用されます。

QuickCal では、RMS 再投影誤差はキャリブレーション完了後に常に再計算されます。一部のアルゴリズムでは、QuickCal はアルゴリズム自体からの内部 RMS 誤差も報告します。UI では、これは「rest」として表示されます。

  • 2 つの異なるキャリブレーション入力データセットが、同じ平均誤差を持ちながら、異なる RMS 誤差を持つことが可能です。
  • calibration error は、視覚的に説得力のある成功したキャリブレーションを必ずしも保証するものではありません。入力ポイントペアが少数しかない場合、誤差値が低いにもかかわらず、冗長な情報や誤りが非現実的なモデルパラメーターにつながる可能性があります。

Designer では、キャリブレーション誤差が何を意味するかをオペレーターがより明確に理解できるように、異なる色が使用されます。

以下は、QuickCal と OmniCal で使用される色と、それらが表す意味の一覧です。意味は、誤差値が RMSE のような総誤差なのか、それとも入力データセットからの単一の 2D/3D ポイントペアのみに対するものなのかによって異なります。誤差値は常にこれらの色のいずれかの間のグラデーションで表されるため、緑がかった黄色は純粋な黄色より良く、純粋な黄色はオレンジより良いです。

誤差
RMSE での意味
個々の
ポイントペアでの意味
Green Green低い誤差
(良好な品質)
キャリブレーションは成功しました。キャリブレーションへの良好な寄与。
Yellow Yellow中〜高い誤差キャリブレーション品質はぎりぎり許容範囲です。十分に良く見えるかどうかを視覚的に判断する必要があります。キャリブレーションへの潜在的に問題のある寄与。
このようなポイントペアが多すぎると、全体のキャリブレーションが十分に良くない可能性があります。
Red Red高い誤差許容できない品質キャリブレーションへの悪い寄与(単一の悪いポイントペアがキャリブレーションを失敗させることがあります)。QuickCal: オペレーターは再整列するか削除すべきです。
OmniCal: オペレーターは outlier handling を使用してそれを除外することを目指すべきです。
Magenta Magenta未キャリブレーションキャリブレーションが失敗しました。選択したアルゴリズムに対して 2D/3D 入力ポイントペアが十分にありませんでした。入力データが不良/不整合でした。キャリブレーションへの寄与なし。
OmniCal: outlier handling により拒否されました。