1. エピポーラ幾何 (Epipolar Geometry)とは [概要]
エピポーラ幾何 (Epipolar Geometry)とは,ステレオビジョンにおける2カメラ間での幾何のことである.同一物体・シーンを,異なる2箇所・(2方向) から同一シーンを撮影した際に,カメラ中心2つとシーン中の1点の間で必ず発生する「幾何的拘束( =エピポーラ拘束)」 が存在する.この拘束をうまく利用すると,ステレオ3次元復元のための幾何が便利に操作できるエピポーラ幾何が活用できる.
エピポーラ幾何を活用すると,2カメラ画像を処理するための拘束条件(=エピポーラ拘束)として,「シーン上の同一点 $\bm{P}$ を指し示す両カメラ画像上の点のペア$(\bm{p}, \bm{p^{\prime}})$ は,同一平面(co-planer)上に存在する」という拘束を利用できる.このエピポーラ拘束を用いると,点$\bm{P}$ を指している左カメラ画像上の点$\bm{p}$に対応する「右(反対側)カメラ画像上における対応点$\bm{p^{\prime}}$の座標」は,その同一平面が,「反対側カメラの画像平面上を横切る線(エピポーラ線)の上にしか存在しない」という拘束を用いて処理することができる.つまりは,反対側カメラ画像上での探索すべき範囲が狭く済むようになる.
まとめると,反対側のカメラ画像上で対応点$\bm{p^{\prime}}$ を探索する際には,「エピポーラ線上の点のみで,対応する点を探せば済む」ことがエピポーラ幾何の嬉しいが点である.
また,マッチングの結果推定された「両カメラ画像間の対応点ペア$(\bm{p}, \bm{p^{\prime}})」をもとに,エピポーラ幾何に特有の行列である「基礎行列 or 基本行列」を推定すると,それらの行列を用いた公式により,三角測量を用いて対応点ペアの3次元座標 $\bm{P}$ の値を算出できるようになる.特に,(ステレオキャリブレーション済みの)平行ステレオの場合は,対応点ペアの視差から,すぐにデプスの値が手に入るので,平行ステレオ設定にしておくと,ステレオマッチングにより,低計算コストでデプス画像が推定しやすくなるメリットが出る.
以上,ステレオビジョンにおいて,「画像間の点ペア対応づけ」と「3次元復元」の双方に活用されるのがエピポーラ幾何である.従って,Structure from Motion や Multiview Stereo などの,「多視点から同一シーンを撮影して,それらの画像群から三次元座標を推定したい問題」においては,エピポーラ幾何が必須の道具となる.
1.1 この記事の構成
2節以降は,以下の構成でエピポーラ幾何について説明する.
- 2節:導入.カメラ間の各三次元点で生じる幾何拘束(エピポーラ拘束)について.
- 3節:エピポーラ拘束を用いる際に,あらかじめ準備が必要となるパラメータの紹介( 基礎行列・基本行列).
- 4節:まとめ.
2. エピポーラ幾何の詳細
エピポーラ幾何は,ステレオ2カメラ視点(画像)の間に成り立つ,2画像上の点間での3次元幾何(位置関係の拘束)である.
2.1 ステレオカメラの問題設定
最初に,ステレオの問題設定の定義から始める.シーン中の注目点 $\bm{P}$ が,2つの視点の画像上において,座標 $\bm{p}$ および $\bm{p}^{\prime}$ へと,それぞれ投影されているとする.
※ 以降,3次元幾何の都合上,式中においては,同次座標の3次元ベクトルを $\bm{p} = (x,t,1)^T$ および $\bm{p}^{\prime} = (x^{\prime}, y^{\prime}, 1)^T$ として扱う
エピポーラ幾何では,それら3点とカメラ中心の座標の間に成立する幾何的拘束から必ず成立する位置関係をモデル化しておく.すると,画像2枚のみ与えらた際の,3次元復元の道具としてこれらの位置関係を活用することができる.
以下の図1のように,左カメラ画像上の点 $\bm{p}$に対応する点を,右画像中から探索する状況を考える
ここで,エピポーラ幾何を知っておくと「右カメラ画像上ではエピポーラ線 (epipolar line)上にしか対応点$\bm{p^{\prime}}$が存在しない」というエピポーラ拘束 (epipolar constraint) が成立しており,これを,反対側画像での対応点位置の探索に利用できる.この場合,右側画像では,エピポーラ拘束が成立するゆえ,右側像上のエポピポーラ線上の点のみを探索候補として,対応点 $\bm{p}^{\prime}$ の探索を行えば済みようになる.すなわち,エポピポーラ線上以外の点は全て候補から除外できる利点がでてくる.
このエポピポーラ線上で,ブロックマッチングや,局所特徴マッチングなどを用いて,最も対応する(局所類似度の最も高い)点を探索することになる.
2.2 エピポーラ幾何を構成する要素
3節に進む前に,ここで図2を元に,エピポーラ幾何における各構成要素を整理しておきたい:
- 基線(baseline) : 2台のカメラ中心を結んだ,線分 $\bm{C}, \bm{C}^{\prime}$ (図2 青色線) .
- エピポール (epipole): 基線が,画像平面を通る点を エピポール(epipole) と呼ぶ.$\bm{e}$が左画像のエピポールで$\bm{e}^{\prime}$が右画像のエピポール.
- エピポーラ平面 (epipolar plane):シーン中の注目点 $\bm{P}$ と,2台のカメラ中心$\bm{C}$および$\bm{C}^{\prime}$が形成する平面.
- エピポーラ線 (epipolar line): エピポーラ平面が画像平面と交差する断面が,画像上に作る線 (図2中の,左右各画像上のエピポーラ平面上に描いた赤線).
$\bm{P}$ は,画像上に投影される限り空間上の任意の点を取りうるが,3点 $\bm{P},\bm{C},\bm{C}^{\prime}$ は常に同一平面上に存在し,エピポーラ平面を形成する.
既に2節冒頭でも述べたように,画像中のエピポーラ線上のどこかに必ず $\bm{P}$ の投影点 $\bm{p}$ が存在する.よって,左画像上の対応点を右画像上で探索する場合は,右画像上のエピポーラ線上のみ探索すれば良いことになる.3節では,この拘束を具体的に定式化し,画像上の点から三次元点に変換できるようにする.
ちなみに,平行ステレオ設定でのステレオマッチングでは,エピポーラ線は画像のx軸と平行となり,なおかつ左右の画像で同じ高さに配置される.
3. エピポーラ拘束と三角測量
3.1 基本行列
2カメラ間がステレオキャリブレーション済みのエピポーラ幾何を考える.この時,エピポーラ拘束を表現するのが,式(1)で表わされる 基本行列(Essential Matrix) の$\bm{E}$である.
図3は,左カメラのカメラ座標系を基準とした2カメラのカメラ座標系間の変換関係を,回転行列$\bm{R}$ と並進ベクトル $\bm{t}$ により示している.ここで,基本行列$ \bm{E}$ は,対応点ペアpとp‘の 幾何関係を表す行列である.
基本行列は以下のように与えられる2つの座標系の対応点の変換を,回転行列$\bm{R}$ と,$\bm{t}$ を歪対称行列 (skew symmetry matrix) 表現に変換した $\left[ \bm{t} \right]_{x}$ の積で計算される:
\[
\bm{E} = \bm{R} \left[ \bm{t} \right]_{x}
\]
ここで,エピポーラ拘束により,$\bm{C}\bm{p}$,$\bm{C^{\prime}} \bm{p^{\prime}}$,$\bm{t}$ の3つのベクトルが同一平面上に存在するので,基礎行列 $\bm{E}$ を用いて 2画像間のエピポーラ拘束を表現できる:
\[
\bm{p’}^{T} \bm{E} \bm{p} = 0 \tag{1}
\]
ここで,2カメラ間の外部パラメータ(相対的な回転と並進)がキャリブレーション済みであれば,基本行列$\bm{E}$が求まる.キャリブレーションボードを用いて2カメラ間を先にキャリブレーションしておけば,基本行列が手に入り,この拘束式が画像間での対応点探索や三角測量に使用できる.
3.2 基礎行列
今度は,使用する2カメラの内部パラメータがキャリブレーションされていない場合を考える.複数の点対応を集めてそれらを拘束条件化し,最小自乗法や,Sample Consensus (RANSACなど)を用いて,対応点間の幾何関係を,基礎行列(Fundamental Matrix) の$\bm{F}$として推定し,その関係をエピポーラ幾何で行列計算を通じて活用できる.
基本行列では,2個のカメラともキャリブレーション済みで,内部(カメラ)パラメータ $\bm{K}$ および $\bm{K}^{\prime}$ が既知である場合を想定していた (3.1節).3.1節では3次元点$\bm{P}$ が画像平面に投影された点$\bm{p}$ と $\bm{p}^{\prime}$ は,内部パラメータから求められていた.それを,元画像上の座標$\bm{m}$ と$\bm{m}^{\prime}$ を用いた「エピポーラ拘束による表現」に変えて,定式化したい.
ここで,$\bm{m}_c = \bm{K} \bm{p}$であり,$\bm{m}^{\prime}_c = \bm{K}^{\prime} \bm{p}^{\prime}$である.従って,内部パラメータがキャリブレーションされていない場合は,式(1)の基本行列版のエピポーラ拘束の式を以下のように書き換えることができる:
\[
\bm{m}^{\prime T} \bm{K}^{\prime -T} \bm{E} \bm{m}^{\prime T} \bm{K}^{-1} \bm{m} = 0
\]
\[
\bm{m} ^{\prime T} \bm{F} \bm{m}= 0
\]
よって,基礎行列 $\bm{F}$の計算式は,最終的に以下の式(2)のようになる:
\[
\bm{F} = \bm{K}^{\prime -T} \bm{E} K^{-1} = \bm{K}^{\prime -T} \left[ \bm{t} \right]_{x} \bm{R} K^{-1} \tag{2}
\]
基礎行列は,画像間の対応ペアN個を拘束としたモデル当てはめにより求める.古典的な方法として,8点の対応ペアを元にSVDで基礎行列を推定する,8点アルゴリズム(eight point algorithm)が挙げられる.その後,必要な点の数Nは減っていき,5点アルゴリズムなども登場して,よく使われるようになる.
ただし,特徴検出器と特徴マッチング(SIFTやSURF,近年だとORBなど)を用いた対応付けで行うと,実シーン画像では,誤対応や特徴点誤差も出てきてしまう.そこで,Sample Consensusアルゴリズム(RANSACなど)や,ロバスト推定手法を用いることで,より多くの画像間特徴点ペア(例えば50~100ペアほど)の大量の対応点ペア候補から対応を用いるようにする.
※ 8点アルゴリズムにおいても,古典的な最小自乗解法ではなく,RANSAC などにより基礎行列を求めても良い.
実シーンの画像において
とはいえ,上記の各努力を行っても,2画像間の特徴点対応づけで基礎行列を求めようとすると,ほとんどのシーン画像では,基礎行列の推定値はそれほど安定しない.なぜなら,実シーンの画像では,理想的に正しい対応点ペアを正確かつ大量に取得できるケースは多くなく,安定した解を得づらいからである.
従って,確実に2カメラ間の相対姿勢を求めたいのであれば,手間は出るものの,きちんとステレオカメラキャリブレーションを行ったりする.また,同一シーンを撮影する大量の画像群間をもとに,大量の対応点からカメラ位置推定・3次元復元をおこなうことができる,SfM (Structure-from-Motion) や MVS(Multi-view Stereo) などを用いることで「大量のカメラ位置画像からのグローバル最適化」を行った方が,推定するカメラ間幾何および復元した3D座標が安定する.これらSfMやMVSの問題設定の方が,入力の対応ペアが多い分,(ロバストな推定手法を用いることで)誤対応の悪影響も避けやすくなる意味でも好ましい.
また,特徴マッチングという観点から考えると「精度よく幾何情報を推定できる対象物体」をシーン上に配置し,なるべく誤差なく取得した対応点ペアを用いた方が,それらがない自然なシーンから得た特徴点対応を用いるよりも.精度よく基礎行列を求めやすい.しかし,実験室環境であればさておき,現実のシーンにおいては,キャリブレーション物体を配置しながらの撮影は,常に都合よく行えるわけではない.従って,実環境の画像では,その自然なシーンから検出できる(時には非常に少ない数の)特徴点群だけから,エピポーラ幾何の対応推定を行わざるを得ない.よって,基礎行列の推定誤差を小さくできようがなく苦労するシーンも多くなる.
4. まとめ
この記事では,2カメラ間の幾何拘束である「エピポーラ幾何」の基礎を紹介した.
対応点探索はエピポーラ線上のみで行えばよく,基本行列や基礎行列が求まれば,2画像間の拘束として成立し,反対側のカメラでの対応点がそれらの行列からすぐに求めることができる.また,三角測量により,画像上に投影された点を3次元点にも投影できる.
一方で,対応点は実シーンでは安定する場合としない場合があり,2カメラ間だけでは安定したカメラ間キャリブレーションはいつも成立するわけではない.そこで,SfMやVisual SLAM, MVSなどで,計算に用いる画像(視点)数を大量に増やすと,対応点ペアも大量に得られ,3次元幾何を復元しやすくなる.
参考書籍
- ディジタル画像処理 [改訂第二版], ディジタル画像処理編集委員会, 2020
- Concise Computer Vision: An Introduction into Theory and Algorithms (Undergraduate Topics in Computer Science) , Reinhard Klette, 2014.
References
- N. Pears, L. Yonghuai, and B. Peter, 3D Imaging, Analysis and Applications (Chapter 2, Passive 3D Imaging), Springer, 2012
- S. Ling, et al., Computer vision and machine learning with RGB-D sensors. Vol. 20. Heidelberg: Springer, 2014.
- R. Kletter. Concise Computer Vision: An Introduction into Theory and Algorithms. 1st edition, Springer, 2014.
- デジタル画像処理[改訂新版], 画像情報教育振興協会, 2015.