ChArUco カメラキャリブレーション
なぜこれが重要なのか?
完全にキャリブレーションされたカメラは、より正確な2Dおよび3D測定を提供します。これは「サーボイング」に基づかないタスクに役立ちます。
とはいえ、可能な限り「サーボイング」方式を使用することをお勧めします。これは高速で正確であり、物体の取得、照準、ターゲットへの位置合わせなどのタスクに適しています。より高い精度が必要だと判断しない限り、キャリブレーションについて心配する必要はありません。すべてのLLユニットには、ほとんどのユースケースで十分に良い結果を提供するデフォルトのキャリブレーションが付属しています
「サーボイング」とは、ターゲットが設定可能な「十字線」と完全に一致するまでロボットを回転させるプロセスです。これはロボット工学におけるビジョン問題に取り組む最も簡単で、多くの場合、最も信頼性の高い方 法です。
カメラキャリブレーションとは?
内部パラメータのキャリブレーションは、以下の2つのコンポーネントを決定するプロセスです:
1. カメラ行列
カメラ行列(Kと表記されることが多い)は、レンズとセンサーが3D世界を2D画像に変換する方法を記述する3x3行列です。
[fx 0 cx]
[0 fy cy]
[0 0 1]
cxとcyは主点/主要ピクセルの座標です。主点/主要ピクセルは、光軸/レンズの中心と直接一致するピクセルです。製造過程では、カメラレンズはほとんど常に画像センサーの中心と完全に一致することはありません。どのピクセルが真の「中心」ピクセルであるかを理解することが重要です
fxとfyはピクセル単位で計算された焦点距離です。fxとfyはカメラの視野角/ズームレベルを理解するのに役立ちます。
2. 歪み係数
5つの歪み係数を計算します:
[k1, k2, p1, p2, k3]
k1、k2、k3は放射状歪み係数で、直線が曲線に見える原因となります。
p1、p2は接線方向歪み係数で、レンズが画像平面と平行でないことによって発生します。
ChArUcoキャリブレーションの実行
LimelightでのChArUcoキャリブレーションは、できるだけシームレスで確実に行えるように設計されています。以下の手順を読み、その後のビデオを見て、精度を向上させるためにカメラをキャリブレーションする方法を学びましょう。
キャリブレーションは1つの解像度でのみ行う必要があります(LL3では1280x960、LL3Gでは1280x800をお勧めします)。内部パラメータはパイプラインの選択した解像度に合わせて自動的にスケーリングされ、歪み係数はアスペクト比とFOVが固定されている場合、解像度に依存しません。ハードウェアズームパイプラインと5メガピクセルパイプラインは、カスタムキャリブレーションを使用しない唯一のパイプラインです。