エピポーラ幾何

エピポーラ幾何とは、2つのカメラで3次元空間を撮影する、ステレオビジョンに関する幾何のこと。

2つの異なる位置から見た画像から、3次元の奥行き情報を復元したり、画像間の対応を求めたりするのに役立つ幾何。

英語版Wikipediaにある、下の図を用いて説明する。

・3次元空間上に存在する点Xが2つのカメラの投影面(Left view, Right view)に、投影(透視投影)されているとする。
・OLとORは、2つのカメラの投影中心。
・点xLとxRは、各投影面上における点Xの投影。


■ エピポール

・2つのカメラは異なる位置にあるので、一方のカメラから他方のカメラを見ることができる。それぞれ、eLとeRに投影される。これをエピポール(epipole)またはエピポーラ点(epipolar point)と呼ぶ。
・eL、eRおよびOL、ORは3次元空間上の同一直線の上に乗る。


■ エピポーラ線

・直線 OL-Xは、左のカメラでは1つの点に投影される。
・右のカメラの直線 eR - xRはエピポーラ線(epipolar line)と呼ばれる。
・エピポーラ線は点Xの3次元空間位置によって一意に定まるが、すべてのエピポーラ線はエピポーラ点(図ではeL、eR)を通る。
・また逆に、エピポーラ点を通る直線は、すべてエピポーラ線であると言える。


■ エピポーラ面
・点X、OL、ORの3点を通る平面はエピポーラ面と呼ばれる。
・エピポーラ面と、投影面の交線はエピポーラ線と一致する。(エピポーラ線上にはエピポーラ点がある。)


■ エピポーラ制約
2つのカメラの互いの位置関係が既知であれば、次のことがいえる。
・点Xの左カメラでの投影xLが与えられると、右カメラのエピポーラ線 eR - xRが定義される。そして、点Xの右カメラでの投影xRは、このエピポーラ線上のどこかにある。これをエピポーラ制約(epipolar constraint)と呼ぶ。
・つまり、2つのカメラで同じ点を捕捉しているとした場合、必ずそれは互いのエピポーラ線上に乗る。もしエピポーラ線に乗っていないのであれば、それは同じ点を見ていない(対応付けが正しくない)ということになる。
・また、一方のカメラで見ている点が、他方のカメラのどこに映っているだろうか、という問題に対しては、エピポーラ線上を調べれば十分であることがわかる。
・もし、対応付けが正しくて、xLとxRの位置がわかっているのであれば、点Xの3次元空間での位置を決定することができる(三角法による位置の決定)。

コンピュータビジョン―視覚の幾何学

コンピュータビジョン―視覚の幾何学

詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識

詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識