ハンドアイキャリブレーション残差

ハンドアイキャリブレーションの性能を評価するために、残差をチェックする方法を用いるのが一般的です。ここでは、ハンドアイキャリブレーションにおける残差が何を表しているのかを説明し、その計算方法の例を示します。

データセット内の各 キャリブレーションオブジェクト 点群から、一定数の特徴点が抽出されます。この特徴点の集合を特徴点セットと呼びます。

../../../../_images/hand-eye-calibration-board-to-feature-points.png

ハンドアイキャリブレーションの結果を使用して、座標変換を計算することができます。この座標変換により、特徴点セットをカメラ座標フレームからロボットベースフレームに変換できます。ロボットシステムの各要素、すなわちカメラ、ロボット、ハンドアイキャリブレーションアルゴリズムが完璧であったと仮定します。その場合、ある変換されたセットの特徴点は、データセット内の他のセットの対応するものと同じ座標を持つことになります。視覚的には、これは 3D 空間内のすべての特徴点セットが重なることを意味します。これは現実には決して当てはまらず、常に何らかの残差が存在します。視覚的には、これは異なるセットの同じ特徴点が完全には重なり合わないことを意味します。これは、社内のハンドアイキャリブレーション実験の一つを可視化した以下の画像からわかります。

../../../../_images/hand-eye-calibration-residuals-visualized.png

ここでは、 Zivid キャリブレーションボードを使用する際に、 Zivid ソフトウェアがどのように残差を計算するのかを説明します。

データセットからのすべての特徴点セットを使用して、他のすべての特徴点セットの算術平均を表す参照特徴点セットが求められます。これは、参照セットの各特徴点の座標が、他のセットの対応する特徴点からのユークリッド距離の合計が最小になるように設定されていることを意味します。これは、拡大表示で黒く拡大された球体で表されます。次に、 Zivid ソフトウェアは参照セットを含む各特徴点セットの姿勢を推定します。最後に、参照特徴点セットと他のすべての特徴点セット間の相対的な位置と向きとして、並進残差と回転残差が計算されます。並進残差は、2 つの特徴点セットを表す参照フレーム間のユークリッド距離として与えられます。回転残差は、2 つの参照フレーム間の 角度軸表現 の角度として与えられます。

以上でハンドアイキャリブレーション理論に関する記事は終了です。 Zivid ソフトウェアを使用したハンドアイキャリブレーションの実践的なチュートリアルについては、 Zivid キャリブレーションオブジェクトの選択方法 を参照してください。