市松模様を使用した カメラキャリブレーション Camera Calibration Using Checkered Pattern X 黒田 Dycoon Kuroda Dycoon X
背景 カメラキャリブレーションが必要 3次元形状計測手法が 必要 CGなどで使用する 形状のモデリング 手作業で おこなうのは困難 ・頂点を一つずつ指定していき 辺を結んでいく手法 ・単純な形状を組み合わせる手法など 複雑な形状になると労力が大きい 手作業で おこなうのは困難 3次元形状計測手法が 必要 正確な計測 カメラキャリブレーションが必要
ステレオ法 左画像 エピポーラ線 左カメラの焦点 右画像 基線 右カメラの焦点
計測とカメラキャリブレーション① カメラの位置,姿勢,画角などのパラメータが必要 ものさしなどによる計測 不正確,効率も悪い
計測とカメラキャリブレーション② カメラパラメータを修正 (キャリブレーション) 3次元形状が既知の基準となる物体 3次元座標が既知の点(基準点)を抽出 基準点の3次元座標と 画像上に投影された点の座標との関係 カメラパラメータを修正 (キャリブレーション)
カメラパラメータ の行列をカメラパラメーターと呼ぶ カメラの位置,姿勢,画角などの情報を含む :3次元空間中の点 の座標 :3次元空間中の点 の座標 :点 を画像平面上に透視投影変換した点 の座標 の行列をカメラパラメーターと呼ぶ カメラの位置,姿勢,画角などの情報を含む
同一平面上にない6個の基準点からCが求まる 空間上の座標と画像上の座標の関係 と の組み合わせ一つから2つの方程式が作られる パラメータの数が12個あるため 同一平面上にない6個の基準点からCが求まる
最小二乗法によるキャリブレーション 6個以上の基準点を使用する 最小二乗法より
基準立方体 一辺が10cmの立方体,市松模様の桝目は一辺が2cmの正方形 濃淡画像
基準点検出 基準点は局所的に見て点対称の図形である 透視投影変換に強い検出
点対称図形検出 中心点 までの濃淡値 から 相関係数が閾値以上で極大値 までの濃淡値 から
点対称図形検出結果 点対称図形の中心点を基準点の候補とする
エッジでつながれる基準点の接続グラフ 基準点と市松模様のエッジの関係 候補の点を絞り込むために作る 途切れにくいエッジ検出が必要
途切れにくいエッジ検出用の フィルタの組み合わせ 平均値フィルタ Sobelフィルタ 絶対値の最大値 二値化 メディアンフィルタ
エッジ検出結果
エッジを通路とした 基準点の接続グラフの作成 エッジと基準点の関係を求める ただし,近すぎる複数の点は1点として扱う
接続グラフの作成結果 どのグラフが基準点を含むグラフかが不明
格子状グラフの判定 2次元格子状のグラフなのでインデックスの 矛盾を調べることで判定できる.
検出された格子状グラフ 3組の格子状グラフで立方体が一つ構成される. 頂点に対して3次元座標を割り当てることができる.
基準点と3次元座標の対応づけ
3つより多くの格子状グラフが 検出された場合 実際にキャリブレーションをおこない カメラパラメータを求める. 求めたカメラパラメータで基準点の 3次元座標を画像に投影する. 検出された基準点の座標と カメラパラメータから求めた基準点の座標との 誤差が最小となるカメラパラメータを選ぶ.
基準点検出実験 実際の画像を使用して次の条件で検出実験を おこなう. 基準立方体の模様と似た模様のない物体を周りに配置する 基準立方体の模様と同じ模様の物体を周りに配置する 基準立方体を撮影する角度や距離を変えて撮影する
検出成功例
3つより多くの格子状グラフが 検出された場合
検出失敗例
失敗の原因
結論 基準立方体に似た模様などに関しては その3次元形状が十分に違えば判別が可能である. 模様に対する画像解像度が小さいと 基準点の検出に失敗する. 市松模様と立方体のエッジがくっついてしまう場合 市松模様のエッジと立方体のエッジの距離が 十分離れるようにする.