このブログ記事では、コンピュータビジョンにおけるエピポーラ幾何について紹介します。

前回の記事では、単視点計測について取り上げ、物体の向きを推定する際の有効性と、スケールや位置を推定する際の限界について明らかにしました。 前回の記事で、それらの限界は人間にも当てはまると簡単に述べましたが、これは部分的にのみ正しいものです。これらの限界は、 カメラによって既に撮影された画像を見る場合には当てはまりますが、両眼を使ってより多くの情報を取得し、3D世界を解釈する場合には当てはまりません。 本記事では、2つの眼またはカメラを持つことが3D世界をより深く理解するのにどのように役立つかを数学的に分析します。
エピポーラ幾何
エピポーラ幾何は、2台のカメラ(ステレオビジョン)、3Dにおける点、およびそれらの点の画像平面への投影の間の関係を記述します。 これにより、追加の視点がなぜ追加の情報を明らかにするのかを理解することができます。 下図は、同じ3D点を観測する2台のカメラを含むエピポーラ幾何の一般的な設定を示しており、点はそれぞれとに投影されています。

とはカメラ中心の位置であり、それらの間の線は距離のベースラインです。2つのカメラ中心とを含む平面をエピポーラ平面と呼びます。 エピポーラ平面と2つの画像平面の交線をエピポーラ線と呼びます。定義により、エピポーラ線はの投影とエピポールおよびを含みます。 エピポールは、ベースラインと画像平面の交点です。この設定において、私たちは主に対応する投影との間の関係を利用することで、 位置を推定し、カメラパラメータを求める(深度推定と3D再構成のため)ことに関心があります。
基本行列と基礎行列
この設定において、とに対応するカメラ投影行列とをさらに定義することができます。 これらは、世界座標系を最初のカメラに設定し、2番目のカメラが回転と並進によってオフセットされていると仮定すると、 ととして表現できます。対応する投影間の関係を明らかにするために、 である正準カメラを仮定することで設定を一時的に簡略化できます。ここで、を第1カメラ系でとして表現でき、 との両方がエピポーラ平面に存在するため、外積を取ることで、 エピポーラ平面に垂直なベクトルが得られます。
もまたエピポーラ平面に存在するため、エピポーラ制約を得ることができます。 線形代数から、行列乗算を使用した外積の上記の代替表現を使用して、に到達できます。 ここで、は5自由度(回転と並進)とランク2(3D平面を2D線に写像する特異行列)を持つ基本行列であり、エピポーラ線の計算に有用です。 例えば、を使用してのエピポーラ線を取得し、を使用してのエピポーラ線を取得できます。 また、エピポールはでエピポーラ点またはゼロベクトルに写像されます。
次に、とを定義することでカメラ行列を戻すことができ、となります。 ここから、とを代入し直してに到達し、 基礎行列を得ることができます。これは7自由度(カメラ行列に対して2)とランク2(3D平面を2D線に写像する特異行列)を持つ基本行列の一般版です。 基本行列と同様に、基礎行列もとを使用してとのエピポーラ線を取得するために使用でき、 を知ることなく制約のみによって異なる視点からの投影を推定するのに有用です(ビューモーフィングと3D再構成)。
8点アルゴリズム
はある程度有用ですが、単純にそれを得ることができると仮定することはできません。 しかし、8点アルゴリズムを使用して、同じシーンの2つの画像からを推定することが可能です。 対応する点のペアとを8組特定し、特異値分解(SVD)を使用してを推定する連立方程式を定式化できます。 これは満ランクを持つ可能性があります。特異でランク2を持つを得るために、制約(特異行列の行列式は0)の下で、 同じくSVDを使用してのランク2近似を実行できます。
8点アルゴリズムは理論的にはうまく機能するように見えますが、実際には大きな誤差を生じる傾向があります。 特に、大きなピクセル範囲を持つ現代のカメラを使用する場合や、選択された点が比較的近接している場合に、値が大きく類似したとが生じます。 この問題に対処するために、正規化8点アルゴリズムをよく使用します。ここで点とは行列と(平行移動とスケーリング)によって正規化され、 (は正規化されたを表す)を推定するために使用されます。これを非正規化することでの質の良い推定値を得ることができます()。
平行画像
一般的なケースの基本行列と基礎行列は既に有用ですが、2つの画像平面が平行である場合、行列から回転を除去し、 制約をに簡約化できるためより単純で有用になります。(ここで、です。) 平行画像によってもたらされる単純さは、エピポーラ幾何学の様々な問題に有用であるため、事前に平行画像を取得するか、 平行化と呼ばれるプロセスを通じて画像を平行になるように補正することを好みます。
平行化は、画像平面を平行にレンダリングできる対応する射影変換を見つける問題です。これらの変換を適用して平行画像を得ることができ、 これは様々な問題に有用です。残念ながら、平行化の詳細はこの記事の範囲外ですが、対応する点とのサンプルを含む最適化問題として定式化し、 任意の適切な方法を使用して解くことができます。
三角測量
対応点間の関係に加えて、この設定は単眼視覚だけでは不可能だった点の位置や深度を推定することを可能にします。 具体的には、をとの延長線の交点として定式化し、カメラパラメータが既知の場合にとの間の距離、 およびとの間の距離の合計を最小化するを見つけることでの位置を推定できます。 対応するとからの位置を推定するこの過程を三角測量と呼びます。

三角測量は非平行なとに対してはある程度困難ですが、平行画像ではであることが分かっており、とを比較するだけで位置を決定できるため、 平行画像に対してははるかに容易です。具体的には、視差(との間の距離)がと相関することが分かります。 ここではベースライン、は焦点距離、は深度です。これは、物体が遠くにあるほど、またベースラインが長いほど、 観測される視差が小さくなることを意味します。これらの概念を用いると、私たち(そして多くの捕食動物)が前向きで比較的平行に配置された2つの目を持つのは、 これらはステレオ視覚を保証し、三角測量による相対的な深度推定を可能にし、視差を使って比較的容易にそれを行うことができるためであると説明できます。 (一方、被食動物の目は潜在的な危険を発見するためのパノラマ視野を優先します。)
対応問題
ここで注目すべきは、これまで議論してきたすべての処理、を推定する8点アルゴリズム、平行画像を作成する平行化、 深度推定のための三角測量、が対応する投影とを知ることに依存しているということです。しかし、 コンピュータにとって、時には私たちにとってさえも、これらの対応を決定することはそれほど自明ではありません。 例えば、近傍画素の集合を比較して対応点を見つけるアルゴリズムを考案できます。 しかし、それは必然的に均質な領域や反復パターンを含む画像、異なる明度や露出を示す画像で困難に直面してしまいます。 この問題に対処するため、高レベルで局所的と大域的比較の両方を実行するアルゴリズムを実装する必要があります。

このような困難に加えて、対応問題には上図で視覚化されているような短縮や遮蔽などの本質的な限界があります。 これらの限界は比が大きくなるときにより顕著になりまが、小さなは小さな測定誤差に対して深度推定における大きな誤差を意味し、 また平行カメラに対して極めて小さな視差を意味します。このに関するトレードオフはベースライントレードオフと呼ばれます。 これは、固定された比較的小さなベースライン長を持つ人間が、ステレオ視覚があっても特に遠方の物体の深度を推定するために物体サイズの知識を使用する必要があり、 時に馴染みのない形状やサイズの遠方物体の深度推定が困難である理由を説明しています。
結論
この記事では、第二の視点を導入することでエピポーラ幾何を扱い、変数間の多くの関係を定義し、 対応点からビュー・モーフィングや深度推定を実行して3D世界をよりよく理解することが可能になることを導きました。 しかし、これらすべてが対応点を最初に取得することによってのみ可能であり、それはある程度複雑で限定的である可能性があることも発見し、 これらの概念を私たちの視覚の働きと関連付けることができました。次の記事では、これらの困難と限界を克服しうる方法について議論します。
リソース
- Hata, K. & Savarese, S. 2025. CS231A Course Notes 3: Epipolar Geometry. Stanford.
- Savarese, S. & Bohg, J. 2025. Lecture 5 Epipolar Geometry. Stanford.
- Savarese, S. & Bohg, J. 2025. Lecture 6 Stereo Systems Multi-view Geometry. Stanford.