画像間ホモグラフィによる平面画像の補正

同一平面を撮影した画像が2枚以上得られた場合に画像間ホモグラフィから補正画像を作成する方法を考える. ただし, カメラの内部行列は既知とする.
参照カメラ(フレーム1とする)の姿勢ホモグラフィを求め, その逆行列を用いることで補正画像を得ることができる. ここでは, その姿勢ホモグラフィを非線形最適化により求める手法を示す.

簡単化のため平面はz=0と仮定すると, 平面上の点\left(x, y, 0\right)は正規化カメラ座標系での点\left(u, v\right) に以下のように射影される.
\displaystyle{  \left(    \begin{array}{c}      u \\      v \\      1    \end{array}  \right)    \sim    \left(R | {\bold t} \right)   \left(    \begin{array}{c}      x \\      y \\      0 \\      1    \end{array}  \right)    =    \left({\bold r}_1 | {\bold r}_2 | {\bold t} \right)   \left(    \begin{array}{c}      x \\      y \\      1    \end{array}  \right)  }

ここで, {\bold r}_1, {\bold r}_2はそれぞれ, 外部行列の1, 2列ベクトルである.
C=\left({\bold r}_1 | {\bold r}_2 | {\bold t} \right)とおくと, 回転行列は直交行列なので,

\displaystyle{  C^T C =   \left(    \begin{array}{ccc}      1 & 0 & \cdot \\      0 & 1 & \cdot \\      \cdot & \cdot & \cdot    \end{array}  \right)  }

となり, 任意の姿勢ホモグラフィCで成り立つ.
また, C_1を参照カメラの姿勢ホモグラフィ, H_{i, 1}をカメラ1-カメラi間のホモグラフィとすると

\displaystyle{  C_i = H_{i, 1} C_1  }

より,

\displaystyle{  C_i^T C_i = \left(C_1 H_{i,1}\right)^T H_{i, 1} C_1 =   \left(    \begin{array}{ccc}      1 & 0 & \cdot \\      0 & 1 & \cdot \\      \cdot & \cdot & \cdot    \end{array}  \right)  }

を満たさなければならない. そこで, この関係を用いて1つのホモグラフィに関するコスト関数をe_i(C_1) = \left(a_{1, 2} / a_{1, 1}\right)^2  +  \left(a_{2, 2} / a_{1,1} - 1 \right)^2と定義する. 画像間ホモグラフィが複数得られたとすると, 最小化すべきコスト関数は

\displaystyle{  e(C_1) = \sum_i e_i(C_1)  }

となる. カメラ1の座標(平面の法線ベクトルをz軸とする世界座標系表現)を\left(0, 0, -1 \right)に固定すると, C_1はx, z軸回転の2つの自由度を持つことから
このコスト関数のパラメタはそれぞれの回転角度\alpha, \betaとなる. ただし, 平面がカメラの背面に存在する解を防ぐため, \alpha \in \left(-\pi/2, \pi/2 \right),  \beta \in \left[-\pi/2, \pi/2 \right)の制約を設ける. ただし, 平面の法線ベクトルに沿った並進または, 回転によって得られた画像間ホモグラフィはどのようなパラメタに関してもコスト関数の値が0となるため, それらの画像間ホモグラフィのみでは正しい解が得られないことに注意.

以下の画像は2枚の画像で姿勢ホモグラフィを計算する実験.

カメラ1, の画像から特徴点(AKAZE)を抽出
frame1

frame2

マッチング, 画像間ホモグラフィの推定
matches

補正画像
rectified_image

Practical Planar Metric Rectification

カテゴリー: Computer Vision パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中