(57)【特許請求の範囲】
【請求項１】
画像のペアを立体補正する方法であって、
前記画像のペアにおける各画像について、前記画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することと、
前記画像のペアにおける各画像について、前記カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、
前記位置決めの後、前記画像のペアのエピポールと交差する立体ベースラインの周囲に回転させることによって、前記画像のペアを互いに揃えることと、
画像面の立体補正されたペアを取得できるように、前記立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、前記仮想画像面を回転することと、を備える方法。
【請求項２】
前記画像のペアは、異なるカメラによってキャプチャされる、請求項１に記載の方法。
【請求項３】
前記画像のペアは、移動しているカメラによってキャプチャされる、請求項１に記載の方法。
【請求項４】
前記仮想画像面の中心におけるエピポールを位置決めした後、前記画像のペアの仮想画像面は互いに実質的に平行である、請求項１に記載の方法。
【請求項５】
前記揃えることは、
それぞれの仮想画像面における両画像に共通している基準画像フィーチャを選択することと、
前記画像のペアのうちの１つの画像の仮想面における基準画像フィーチャの位置が、前記画像のペアのうちの他方の画像の仮想面における基準画像フィーチャの位置と一致するように、前記立体ベースラインの周囲の各仮想画像面を位置決めすることとを備える、請求項１に記載の方法。
【請求項６】
前記基準画像フィーチャは、実際の水平に最も近い、前記画像内の物体である、請求項５に記載の方法。
【請求項７】
各画像について、
先ず、前記エピポールを位置決めするために、カメラ中心を中心とする座標系の第１の軸に沿って、前記画像面を回転させ、
次に、前記エピポールを位置決めするために、前記座標系の第２の軸に沿って、前記画像面を回転させ、前記仮想画像面の中心におけるエピポールの位置決めを行うことによって、前記仮想画像面が取得される、請求項１に記載の方法。
【請求項８】
前記立体ベースラインに実質的に平行な仮想画像面を位置決めするために、前記仮想画像面を回転させた後、前記仮想画像面のおのおのが、第３のカメラ方位に関連付けられる、請求項１に記載の方法。
【請求項９】
前記エピポールの位置を決定することは、
各画像の推定されたエピポール位置を用いて、４次元空間における面を形成する関数を決定することと、ここで、前記４次元空間は、各画像のエピポール位置の誤差によってパラメータ化される、
前記関数の最小値を決定することとを備える、請求項１に記載の方法。
【請求項１０】
前記関数の最小値を決定することは、前記関数の４次元勾配下降を実行することを備える、請求項９に記載の方法。
【請求項１１】
前記４次元空間のパラメータは、各画像のエピポール位置のｘ誤差およびｙ誤差である、請求項９に記載の方法。
【請求項１２】
画像のペアを立体補正するための方法を実行するためのマシン実行可能な命令群を記憶する物理的な非一時的なコンピュータ読取可能な媒体を備える製造物品であって、前記方法は、
前記画像のペアにおける各画像について、前記画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することと、
前記画像のペアにおける各画像について、前記カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、
前記位置決めの後、前記画像のペアのエピポールと交差する立体ベースラインの周囲に回転させることによって、前記画像のペアを互いに揃えることと、
画像面の立体補正されたペアを取得できるように、前記立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、前記仮想画像面を回転することとを備える、製造物品。
【請求項１３】
前記画像のペアは、異なるカメラによってキャプチャされる、請求項１２に記載の製造物品。
【請求項１４】
前記画像のペアは、移動しているカメラによってキャプチャされる、請求項１２に記載の製造物品。
【請求項１５】
前記仮想画像面の中心におけるエピポールが位置決めされた後、前記画像のペアの仮想画像面は、実質的に互いに平行である、請求項１２に記載の製造物品。
【請求項１６】
前記揃えることは、
それぞれの仮想画像面における両画像に共通している基準画像フィーチャを選択することと、
前記画像のペアのうちの１つの画像の仮想面における基準画像フィーチャの位置が、前記画像のペアのうちの他方の画像の仮想面における基準画像フィーチャの位置と一致するように、前記立体ベースラインの周囲の各仮想画像面を位置決めすることとを備える、請求項１２に記載の製造物品。
【請求項１７】
前記基準画像フィーチャは、実際の水平に最も近い、前記画像内の物体である、請求項１６に記載の製造物品。
【請求項１８】
各画像について、
先ず、前記エピポールを位置決めするために、カメラ中心を中心とする座標系の第１の軸に沿って、前記画像面を回転させ、
次に、前記エピポールを位置決めするために、前記座標系の第２の軸に沿って、前記画像面を回転させ、前記仮想画像面の中心におけるエピポールの位置決めを行うことによって、前記仮想画像面が取得される、請求項１２に記載の製造物品。
【請求項１９】
前記立体ベースラインに実質的に平行な仮想画像面を位置決めするために、前記仮想画像面を回転させた後、前記仮想画像面のおのおのが、第３のカメラ方位に関連付けられる、請求項１２に記載の製造物品。
【請求項２０】
前記エピポールの位置を決定することは、
各画像の推定されたエピポール位置を用いて、４次元空間における面を形成する関数を決定することと、ここで、前記４次元空間は、各画像のエピポール位置の誤差によってパラメータ化される、
前記関数の最小値を決定することとを備える、請求項１２に記載の製造物品。
【請求項２１】
前記関数の最小値を決定することは、前記関数の４次元勾配下降を実行することを備える、請求項２０に記載の製造物品。
【請求項２２】
前記４次元空間のパラメータは、各画像のエピポール位置のｘ誤差およびｙ誤差である、請求項２０に記載の製造物品。
【請求項２３】
画像のペアを処理する方法であって、
前記画像のペアにおける各画像について、前記画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することによって、前記画像のペアを立体補正することと、
前記画像のペアにおける各画像について、前記カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、
前記位置決めの後、前記画像のペアのエピポールと交差する立体ベースラインの周囲に回転させることによって、前記画像のペアを互いに揃えることと、
画像面の立体補正されたペアを取得できるように、前記立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、前記仮想画像面を回転することと、
前記画像のペアの各画像について、画像全体を立体補正された画像面にマップするために、前記画像において１または複数のホモグラフィックな変換を実行することと、を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理システムおよび方法に関する。
【背景技術】
【０００２】
立体映像では、シーンの３次元モデルが、実質的に同一の直線的な（すなわち、歪みのない）カメラによってある距離離されて撮影された２つの画像から再構築される。分離距離および方向は、立体ベースラインとして知られている。最も一般的なケースでは、立体ベースラインによって分離された１つの場所から別の場所へと単一のカメラを移動させることによって、異なる画像が生成される。
【０００３】
カメラが、露光中に移動するので、シーン内の物体は、互いに対して相対的な動きを示すだろう。この外見上の視差画像動きは、とりわけ、立体ベースラインからの物体の距離の関数である。視差に関し、実際の視差動きは、より遠く離れた物体がより小さくなることであろう。複数の物体に対するこれら実際の視差動きを測定することによって、自然なシーン内での３次元関係の再構築が可能である。
【０００４】
カメラが、その方向を変えることなく、第１の場所から第２の場所へ移動されると、外見上の視差動きは、良好に振る舞い続け、３次元シーン再構築は比較的容易である。しかしながら、カメラが、２つの位置の間で移動している場合に回転すると、視差動きは、図１に図示されるように、渦状のパターンによじれるようになりうる。第１の画像から第２の画像への特徴の外見上の動きは、図１における「流線」として図示される。３次元再構築は、この状況では非常に困難になりえる。
【０００５】
実際、カメラ・パン、チルト、および回転角度は、像への、結合されたインパクトを有する。例えば、カメラ・パンおよびチルトは、回転をエミュレートする画像回転をもたらすだろう。これらの結合は、一般に、解決することが困難である。図１は、これら回転結合効果のみならず、通常の３次元空間におけるカメラの移動の効果をも図示する。
【０００６】
すべて合わせると、２つのカメラ位置体系について、９つの自由度、すなわち、各カメラ位置のパン、チルト、および回転と、ｘ、ｙ、ｚ相対カメラ移動がある。多くのケースでは、カメラが移動した距離は知られていない。さらに、水平方向に関してのカメラの結合されたチルトも知られていないかもしれない。したがって、立体画像形成の間に発見されうる６乃至９の自由度が存在しうる。
【０００７】
シーンの画像の任意のペアから３次元情報を抽出するための既存の方法は、初期カメラ・ポーズ（パン、チルト、回転、およびｘ、ｙ、ｚ位置）は知られていないが、画像化から抽出されうると仮定する。これら既存の方法は、一般に、Ｅｓｓｅｎｔｉａｌ  Ｍａｔｒｉｘの構築および改善に基づく。これは、立体ベースラインの方向と、立体ベースラインに対するカメラの相対方位とを決定するために使用されうる。相対的なカメラ方位は、カメラ姿勢として定義される。Ｅｓｓｅｎｔｉａｌ  Ｍａｔｒｉｘは、画像のペアから立体モデルを生成するための最も有用な数学的ツールのうちの１つである。
【０００８】
しかしながら、これら既存の方法は、一般に、大規模な非リアルタイムの計算を要し、しばしば不満足な結果を生む。さらに、これらの方法は、ビデオ画像ストリームから、高精度かつ十分に自動化されたリアルタイムの３次元モデルを生成するためには十分ではない。
【発明の概要】
【０００９】
１つの実施形態では、画像のペアを立体補正するための方法が提供される。この方法は、画像のペアにおける各画像について、画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することと、画像のペアにおける各画像について、カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、この位置決めの後、画像のペアのエピポールと交差する立体ベースラインの周囲に、画像のペアを互いに揃え、画像面の立体補正されたペアを取得できるように、立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、仮想画像面を回転することと、を備える。
【００１０】
別の実施形態では、画像のペアを立体補正するための方法を実行するためのマシン実行可能な命令群を用いてエンコードされた物理的な非一時的なコンピュータ読取可能な媒体を備える製造物品が提供される。この方法は、画像のペアにおける各画像について、画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することと、画像のペアにおける各画像について、カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、この位置決めの後、画像のペアのエピポールと交差する立体ベースラインの周囲に、画像のペアを互いに揃え、画像面の立体補正されたペアを取得できるように、立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、仮想画像面を回転することと、を備える。
【００１１】
さらに別の実施形態では、画像のペアにおける各画像について、画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することによって、画像のペアを立体補正することと、画像のペアにおける各画像について、カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、この位置決めの後、画像のペアのエピポールと交差する立体ベースラインの周囲に、画像のペアを互いに揃え、画像面の立体補正されたペアを取得できるように、立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、仮想画像面を回転し、画像のペアの各画像について、画像全体を、立体補正された画像面へマップするために、この画像に対して、１または複数のホモグラフィック変換を実行することと、を備える画像のペアを処理するための方法が提供される。
【００１２】
本開示のこれらおよびその他の実施形態、機能、および特徴のみならず、構成の関連要素および部品の組み合わせの機能および動作の方法は、以下の説明および特許請求の範囲が、これらすべてが本明細書の一部を形成する添付図面を参照して考慮されると、より明白になるだろう。添付図面では、同一の参照番号が、さまざまな図面における対応する部分を指定する。これら図面は、例示および説明のみの目的のために提供されており、本開示の限定ではないことが明確に理解されるべきである。さらに、本明細書の何れか１つの実施形態に記載または図示された構成的な機能が、その他の実施形態においても同様に使用されうることが認識されるべきである。しかしながら、これら図面は、例示および説明のみの目的のためであり、本開示の限定の定義として意図されていないことが明確に理解されるべきである。明細書および特許請求の範囲で使用されているように、単数形は、コンテキストが明確に述べていないのであれば、複数要素を含む。
【図面の簡単な説明】
【００１３】
【図１】図１は、シーンの第１の画像から第２の画像への流線または特徴の外見上の動きを示す。
【図２】図２は、２つの異なる位置における移動中のカメラ、または、２つの任意に向けられたカメラの幾何学的な関係を示す。
【図３】図３は、２つの異なる位置における移動中のカメラ、または、２つの任意に向けられたカメラの幾何学的な関係を示す。
【図４】図４は、実施形態にしたがって、画像のペアを立体補正するための方法を示す。
【図５ａ】図５ａは、図４にしたがって実行されるさまざまな変換を示す。
【図５ｂ】図５ｂは、図４にしたがって実行されるさまざまな変換を示す。
【図５ｃ】図５ｃは、図４にしたがって実行されるさまざまな変換を示す。
【図５ｄ】図５ｄは、図４にしたがって実行されるさまざまな変換を示す。
【図６ａ】図６ａは、図４にしたがって実行される画像回転を示す。
【図６ｂ】図６ｂは、図４にしたがって実行される画像回転を示す。
【図７ａ】図７ａは、図４にしたがって実行される画像回転を示す。
【図７ｂ】図７ｂは、図４にしたがって実行される画像回転を示す。
【図８】図８は、実施形態にしたがってエピポールを発見するために使用されるべきメリット関数を決定するための方法を示す。
【図９ａ】図９ａは、図８にしたがって実行されるさまざまな変換を示す。
【図９ｂ】図９ｂは、図８にしたがって実行されるさまざまな変換を示す。
【図９ｃ】図９ｃは、図８にしたがって実行されるさまざまな変換を示す。
【図９ｄ】図９ｄは、図８にしたがって実行されるさまざまな変換を示す。
【図１０】図１０は、１つの実施形態にしたがって勾配降下を実行するための方法を示す。
【図１１】図１１は、実施形態にしたがう図１０の勾配降下を例示する。
【図１２ａ】図１２ａは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｂ】図１２ｂは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｃ】図１２ｃは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｄ】図１２ｄは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｅ】図１２ｅは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｆ】図１２ｆは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｇ】図１２ｇは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｈ】図１２ｈは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１２ｉ】図１２ｉは、図１０の方法を適用することによって、優れた立体補正への迅速な収束が、２０のフィーチャの集合によってどのようにして得られうるのかを例示する実験結果を示す。
【図１３】図１３は、１つの実施形態にしたがって画像を処理するためのシステムを図示する。
【発明を実施するための形態】
【００１４】
１または複数の実施形態にしたがって、画像のペアを立体補正するための方法が提供される。この方法は、画像のペアにおける各画像について、画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することと、画像のペアにおける各画像について、カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、この位置決めの後、画像のペアのエピポールと交差する立体ベースラインの周囲に、画像のペアを互いに揃え、画像面の立体補正されたペアを取得できるように、立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、仮想画像面を回転することと、を備える。
【００１５】
図２は、カメラが、２つの異なる位置において、シーン内の１つの物体をどのようにして見ているかを示している。カメラは、左の位置から、右の位置へ（あるいはその逆に）に移動される。カメラは、これら２つの位置において、外部にあるポイントＷを観察している。これは、カメラから外側へ向かうある遠方にある。本議論はまた、単一の移動中のカメラの代わりに、物体Ｗを見る２またはそれ以上の別のカメラにも適用可能であることが認識されるだろう。
【００１６】
カメラは、カメラ中心および画像面によって定義される。図２は、右カメラ中心ＲＣＣ、左カメラ中心ＬＣＣ、右画像面ＲＩＰ、および左画像面ＬＩＰを示す。本物のカメラでは、実際のカメラ中心は、レンズの節点であり、焦点面（または実際の画像面）の正面にある。この結果、倒立像が焦点面に投影される。便宜上、カメラ中心（つまり、レンズ節点）は、任意に定義された画像面の後ろのポイントであると定義される。この結果、直立した画像となる。
【００１７】
カメラは、カメラ中心に中心付けられた（カメラに結び付けられた）ローカルｘ，ｙ，ｚ座標系を有する。このローカル座標系では、ベクトルｚがある。これは、カメラ中心から画像面の中心への主ベクトルである。このｚベクトルは、画像面に対して垂直であり、画像中心点ｃにおいて、画像面に接する。カメラ中心から画像面への距離ｆは、カメラの焦点距離である。このローカル座標系では、ｘ軸およびｙ軸は、画像面に平行である。慣例的に、ｙ軸は、垂直方向にある。
【００１８】
図２はさらに、立体ベースラインを示す。これは、２つのカメラ中心を連結する線である。１つの実施形態において、２つのカメラ位置から３次元シーンを再構築することを可能にするのはこの軸である。この軸はさらに、距離測定のための測定ベースラインでもある。立体ベースラインが、右画像面および左画像面を貫通するポイントは、右エピポールおよび左エピポール（ｅＬおよびｅＲ）と呼ばれる。
【００１９】
２つのカメラは、共通のワールド・ポイントＷを観察している。このポイントは、２つのカメラ中心とともに、共通面ＣＰと称される面を規定する。ベースラインは２つのカメラ中心にも連結しているので、立体ベースラインＳＢは、この面ＣＰ内にある。この共通面には、無限数のポイントが存在することが認識されるだろう。これらのポイントのうちの任意の２つが、画像面における線の終端を形成するだろう。
【００２０】
図２に見られうるように、カメラ中心から共通ポイントＷまでの線は、ポイントｐにおいて画像面を通過する。左画像のポイントｐＬと、右画像のポイントｐＲとがあるだろう。
【００２１】
何れかに一方にあるカメラによって見られる、ポイントＷにおけるシーン物体は、カメラ中心に対するベクトル座標ＸＷＬ，ＹＷＬ，ＺＷＬまたはＸＷＲ，ＹＷＲ，ＺＷＲを有する。単一のカメラ位置から、物体Ｗがカメラ中心からどれだけ遠く離れているのかを決定することは可能ではない。この方向は知られているかもれないが、距離は知られていない。カメラの方位に関する方向は、画像面におけるＷの画像の位置から知られる。カメラ中心とＷとの間の線は、ベクトル位置ｘｐ，ｙｐ，ｆにおいて画像面と交差する。したがって、この物体の画像位置は、ベクトルｐ＝［ｘｖ，ｙｐ，ｆ］によって定義されうる。カメラの焦点距離は、ユニティ：ｆ＝１に調節されうる。再スケーリングは、すべてのベクトル成分がｆで除されてなる結果である。多くの場合、焦点距離は知られていないが、さまざまな物体位置に対する角度は測定されうるので、これはリーズナブルな再スケーリングである。したがって、Ｗの抽象的な画像は、［ｘｐ，ｙｐ，ｆ］によって定義される。ここで、焦点距離は、画像ベクトルの一部として保持される。
【００２２】
一般に、観察された遠方場には、多くのワールド・ポイントＷａ，Ｗｂ，Ｗｃが存在するだろう。これらのポイントの各々は、共通面を有し、これら共通面のおのおのは、立体ベースラインと交差するだろう。その結果、これらの面は、立体ベースラインから外に放射している。図３は、一般的な構成を例示する。放射面の集合は、面のペンシルと称され、これら面の各々は、ペンシル面と称される。図３に見られるように、カメラ中心から共通ポイントＷａ，Ｗｂ，Ｗｃへの線は、右カメラおよび左カメラについて、ｐａ，ｐｂ，ｐｃにおいて画像面を通過する。
【００２３】
遠方場における物体またはフィーチャＷａ，Ｗｂ，Ｗｃは、光線によってカメラ中心に接続される。これらフィーチャの画像は、これら光線がポイントｐａ，ｐｂ，ｐｃにおいて画像面を通過するところで発生する。各遠方フィーチャは、三角形の１つの角であり、その他の角は、カメラ中心である。そのような三角形は、立体ベースラインＳＢを通過する拡張面の一部である。このフィーチャ面が画像面を通過するところでは、この交差は、エピポールＥＬとして定義される。各面およびフィーチャは、エピポールから放射する対応するエピポール線ＥＬを有する。特に、図３に示されるように、エピポール線ＥＬは、エピポールｅＲ，ｅＬから放射する。ここでは、立体ベースラインＳＢが、画像面ＲＩＰ，ＬＩＰを貫通する。これら放射しているエピポール線は、一種の線の「スター」または扇形を構成する。エピポール・スターは、ペンシル面の画像面との交差に対応する。複数のカメラが互いに向かい合っている場合、画像面が平行になるように、右カメラおよび左カメラにおけるエピポール・スターは、互いのミラー画像であることが認識されるだろう。
【００２４】
図２および図３の相対的なカメラ配置は、大まかに互いに向けられたカメラを有する。この相対方位は、エピポールが、画像内に適切に位置されるであろうことを保証する。しかしながら、その他の状況では、これらカメラが広がり、互いに幾分離れて向くことが認識されるだろう。このケースでは、立体ベースラインＳＢは、画像面と交差する前に、カメラ中心を通過する。したがって、エピポールは、画像の反対側に移動する。
【００２５】
別のケースでは、これらカメラは両方とも、立体ベースラインＳＢに対して垂直を向きうる。このケースでは、エピポールは、無限にあり、もはや有限のエピポールを定義することは不可能である。これらカメラが平行している限り、すなわち、立体補正されたとして定義された条件である限り、種々のオブジェクトに対する相対距離が、相対的な視差動きによって決定されうる。しかしながら、これらカメラが相対的なチルトを有している（これらカメラが、立体ベースラインの周囲を異なる角度で回転し、もはや互いに平行ではない）のであれば、画像モニタは混乱する。立体補正されたカメラ位置に対する補正がないと、距離測定は困難になる。
【００２６】
立体補正は、これらカメラを、立体ベースラインＳＢに対して垂直に、かつ、互いに平行になるように揃えることを含む。これがなされた場合、左カメラにおけるすべてのフィーチャが、平行で水平な線に沿って移動し、右カメラにおける位置に達する。エピポールｅＲ，ｅＬは、両カメラ内に無限にあるだろう。実際、これらカメラ（または、移動中の単一のカメラ）は一般に、画像が形成された場合、立体補正された位置にはないだろう。したがって、立体補正された画像の所望のペアを生成するために、オリジナル画像の仮想的、またはホモグラフィックなマッピングが実行されねばならない。
【００２７】
図４に示すように、この図は、画像のペアを立体補正するための方法４００を図示する。
【００２８】
動作４１０に示すように、（２つの異なるカメラ位置または２つの異なるカメラによって撮影された）画像のペアの各画像について、カメラの画像面におけるエピポールの位置または場所が決定される。
【００２９】
カメラの第１またはオリジナルの方位／姿勢のためのエピポールの位置が決定される。画像面におけるエピポールの位置は、立体ベースラインが、カメラ中心から外れると、立体ベースラインの方向を与える。エピポールの場所を決定する複数の方法がある。１つの実施形態では、エピポール位置を決定するために、Ｅｓｓｅｎｔｉａｌ  ＭａｔｒｉｘのさらなるＳｉｎｇｕｌａｒ  Ｖａｌｕｅ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ（単一値分解）が使用されうる。別の実施形態では、カメラが１つの場所から別の場所へ移動した場合におけるカメラ姿勢における変化を測定するための現実的なエンジニアリング代替は、慣性計測装置（ＩＭＵ：Inertial Measurement Unit）を用いることである。
【００３０】
左画像および右画像におけるエピポール位置が決定されると、カメラ中心から立体ベースラインに下るベクトル方向が決定される。（画像面における）このベクトルは、幾何学的な基準として使用され、この立体ベースライン・ベクトルに関してさらなる動作が実行される。両画像についてすべての動作が繰り返される。
【００３１】
動作４２０では、エピポールが、各画像の仮想面の中心にある。これは、カメラの実際の姿勢または方位（第１の方位）から、立体ベースラインに沿った仮想的な姿勢（または、第２の方位）への仮想的なカメラ回転のシーケンスを実行することによってなされうる。
【００３２】
１つの実施形態では、図５ａ−ｂにそれぞれ示されるように、ホモグラフィック画像回転が、右画像および左画像において実行される。これら回転は、ｙ軸にエピポールを配置させるための、ｙ軸の周りの角度ガンマ（γＬおよびγＲ）までの各カメラの仮想的な回転に等価である。
【００３３】
左画像については、図５ａに定義されるように、時計回りに角度γＬ回転される。この回転は、ローカル座標系を含んでいる。これは、遠近変換（または、ホモグラフィ）である。１つの実施形態では、回転される成分が、スケール・ファクタを用いて規格化される。一般的な式は、
【数１】
0005917767.tif 000002
【００３４】
である。ここで、（ｘｏ，ｙｏ，ｆ）は、画像ポイントのオリジナルの座標であり、（ｘｌ，ｙｌ，ｆ）は、回転後の画像ポイントの座標であり、γＬは、回転角度を表わす。
【００３５】
これは、以下のスケール・ファクタを用いて達成されうる。  
【数２】
0005917767.tif 000003
【００３６】
ここで、（ｘ１，ｙ１，ｆ）は、画像ポイントの座標であり、（ｘ２，ｙ２，ｆ）は、回転後の画像ポイントの座標であり、γＬは、回転角度を表わす。
【００３７】
右画像の状況は図５ｂに例示されている。
【００３８】
（ローカル座標系を含む）画像回転は、新たなｙ軸上にエピポールを生成するために、反時計回りである。右画像の各ピクセル要素の規格化された回転行列は、
【数３】
0005917767.tif 000004
【００３９】
である。ここで、（ｘｌ，ｙｌ，ｆ）は、画像ポイントの座標であり、（ｘ２，ｙ２，ｆ）は、回転後の画像ポイントの座標であり、γＲは、回転角度を表わす。
【００４０】
これらの回転の、上面図が図５ｃに例示されている。
【００４１】
図５ａ−ｃに図示される回転を実行した後、各カメラは、そのエピポールをカメラ中心に置くために、ローカルｘ軸に関して回転される。これは図５ｄに図示される。したがって、次の回転後、画像面は、立体ベースラインに対して垂直になるであろう。
【００４２】
左画像について、（規格化後の）画像ポイントの座標は、
【数４】
0005917767.tif 000005
【００４３】
である。ここで、（ｘ１，ｙ１，ｆ）は、画像ポイントの座標であり、（ｘ２，ｙ２，ｆ）は、回転後の画像ポイントの座標であり、πＬは、回転角度を表わす。
【００４４】
右画像について、画像ポイントの座標は、
【数５】
0005917767.tif 000006
【００４５】
である。ここで、（ｘ１，ｙ１，ｆ）は、画像ポイントの座標であり、（ｘ２，ｙ２，ｆ）は、回転後の画像ポイントの座標であり、πＬは、回転角度を表わす。
【００４６】
この動作は、カメラまたは画像面の両方が、互いに関して制御された方位を有することを保証する。その後の動作では、カメラは、互いに面するのではなく、互いに平行になるように方位付けられるだろう。
【００４７】
これらの回転の効果は、２つの画像面の中心にエピポールを移動させることであろう。
【００４８】
先行するシーケンスは、先ず、ｙ軸に沿って回転させ、次に、ｘ軸に沿って回転させ、エピポールを、カメラの画像中心に置くことである。別の実施形態では、先ず、画像面をｘ軸に沿って回転させ、次に、ｙ軸に沿って回転させることが考えられる。たとえこれらの回転行列が置換可能ではなくても、最終結果は同じである。その理由は、エピポールがニュートラル位置、すなわち、カメラ画像中心に置かれるからである。
【００４９】
図４に戻って示すように、この方法は、画像のペアが、立体ベースラインの周囲に互いに揃えられる動作４３０に進む。
【００５０】
ここまでは、仮想的なカメラ回転が、相対的なカメラ回転およびパン角度を部分的に緩和した。これら補正は両方とも、画像面ＲＩＰ，ＬＩＰにおけるエピポール位置によって表されるように、立体ベースラインＳＢに関してなされている。しかしながら、１つのカップリング・ファクタがまだ残る。このポイントにおいて仮想カメラが対面するが、仮想カメラは、１つのカメラのｘ軸およびｙ軸が、相手カメラのｘ軸およびｙ軸に一致するような方向に向けられていない。これは、１つのカメラの、他のカメラに対する相対的な回転角度となる。この相対的な回転を補正するために、１つの実施形態では、外部エージェントが使用される。そのような外部エージェントは、観察空間外の任意の実際の物体でありうる。
【００５１】
具体的には、この残りの相対的な回転を補正するために、左および右の両方における仮想画像において共通の基準物体が選択され、物体の画像が両仮想カメラのｘ軸に位置するまで、仮想カメラが立体ベースラインの周りを回転される。前の動作にしたがって仮想カメラを回転させるプロセスでは、カメラ・チルトが、立体ベースラインＳＢの周囲のカメラ回転に自動的に変換される。立体ベースラインＳＢは、方位付けられた各仮想カメラのローカルｘ軸に沿って位置する。したがって、各カメラのｘ軸に同じ物体を置くことによって、これらカメラは、ｘ軸立体ベースラインの周りの回転に揃えられるだろう。
【００５２】
１つの実施形態では、選択された物体は、最も遠いものである。遠近法的な配置の性質によって、この物体はまた、実際の水平に最も近いものになる可能性が高い。この物体がｘ軸に位置するように仮想カメラ（または仮想画像）を回転させることによって、このカメラは、少なくともほぼ実際の水平を指すだろう。
【００５３】
１つの実施形態では、左カメラのエピポール・スターが、右カメラのエピポール・スターに一致する（ミラー画像になる）ように向けられる。左カメラのための開始状況が、図６ａによって例示される。物体Ａが、基準物体として任意に選択される。
【００５４】
この画像は、半径ＲＡＬにおける物体が、ｘ軸に位置するように回転される。この回転後、左画像は図６ｂのようになるだろう。
【００５５】
ＲＡＬのｘ成分は、この左画像ではネガティブであることが認識されるだろう。ＲＡＬのｙ軸成分はゼロである。
【００５６】
ローカルｚ軸の周りに回転が実行されたので、回転行列を再スケールする必要はない。したがって、この回転は、以下の形態をとる。
【数６】
0005917767.tif 000007
【００５７】
ここで、（ｘ３，ｙ３，ｆ）は、画像ポイントの座標であり、（ｘ４、ｙ４、ｆ）は、回転後の画像ポイントの座標である。φＬは、回転角度を表わす。
【００５８】
右カメラのためにも、同じ手続に従う。右カメラ画像は、図７ａのように始まる。我々は、我々の方位基準として、同じ遠方の物体を採用し、次に、この物体がｘ軸に位置するまでスター画像を回転させる。図７ｂは、回転後の右画像を表わす。
【００５９】
図７ａおよび７ｂと、図６ａおよび６ｂとの比較は、対応するポイントのパターンが同一ではないことを示す。なぜなら、シーン内のさまざまな物体は、実際に、左および右のローカル座標系において異なるｘ，ｙ，ｚ座標を有するからである。したがって、これらは、左および右の仮想カメラの画像面に異なって映る。しかしながら、さまざまなポイントへの線の間の角度は、左カメラと右カメラについて同じであろう。これは、カメラが立体ベースラインに沿って向いていることを保証する際に非常に役に立つ。さらに、これは、エピポールの位置の推定において、残りの誤差を補正するために使用されうる。
【００６０】
右手の仮想カメラの回転の回転行列は、
【数７】
0005917767.tif 000008
【００６１】
である。ここで、（ｘ３，ｙ３，ｆ）は、画像ポイントの座標であり、（ｘ４，ｙ４，ｆ）は、回転後の画像ポイントの座標である。φＲは、回転角度を表わす。
【００６２】
図４に戻って示すように、この方法は、動作４４０に進む。ここでは、各画像の立体補正された画像面を得るために、仮想画像面を立体ベースラインに実質的に平行な仮想画像面に位置させ、さらに、これらの法線ベクトルを互いに実質的に平行に位置させるように、仮想画像面が回転される。
【００６３】
特に、仮想カメラを揃えた後、これら仮想カメラは、カメラを立体補正するために、ローカルｙ軸の回りを９０°回転されうる。これを行う行列は以下の通りである。
【００６４】
左カメラについては、仮想回転は次の通りである。
【数８】
0005917767.tif 000009
【００６５】
ここで、（ｘ５，ｙ５，ｆ）は、画像ポイントの座標であり、（ｘ４，ｙ４，ｆ）は、回転後の画像ポイントの座標である。
【００６６】
右カメラについては、仮想回転は次の通りである。  
【数９】
0005917767.tif 000010
【００６７】
ここで、（ｘ５，ｙ５，ｆ）は、画像ポイントの座標であり、（ｘ４，ｙ４，ｆ）は、回転後の画像ポイントの座標である。
【００６８】
動作４１０−４４０の実行後、カメラ姿勢は、立体補正されるだろう。方法４００に図示される画像再マッピングおよび回転のシーケンスは、パン、チルト、回転角度効果間の結合を自動的に解放する。
【００６９】
図４の変換は、画像全体においてではなく、フィーチャ・ポイントにおいて行われることが認識されるだろう。すべての中間的な変換が完全に定義された後にのみ、画像自体に適用された合成変換が得られる。このアプローチによって、計算量が大きく省かれる。
【００７０】
具体的には、１つの実施形態では、オリジナルの画像全体を、立体補正された画像面へマップするためのホモグラフィックな行列変換は、以下のように導出されうる。左および右の仮想カメラについて、適切な行列が、先のシーケンスに乗じられうる。式（１０）は、右カメラのこれら行列乗算を示す。この結果、ホモグラフィ行列［ＡＲ］が得られる。同様の行列カスケードが、左カメラについて構築されうる。結果として得られる［Ａ］行列は、通常、例えば、ｏｐｅｎＣＶおよびＭａｔｌａｂのような標準的なソフトウェア・ルーチンを用いてＨｏｍｏｍｏｒｐｈｉｃ変形のために規定される。  
【数１０】
0005917767.tif 000011
【００７１】
あるいは、カスタム・ソフトウェア・ルーチンが構築されるべきであれば、各画像ポイントのために［Ａ］行列を規格化するためのスケール・ファクタが必要とされる。規格化された行列は、式（１１）において［Ｂ］として示される。規格化は、さまざまな規格化係数を乗じることによって計算されうる。あるいは、規格化は、最後に行われ、カメラ焦点距離が、各ピクセルについてｚ軸によって分割される。これら行列乗算の結果、１つは左画像のためのものであり、別の１つは右画像のためのものである２つの包括的な規格化されたホモグラフィ行列を生成することになるだろう。これらホモグラフィ行列は、所望の立体補正画像を生成するために、標準的なルーチンを用いて適用される。  
【数１１】
0005917767.tif 000012
【００７２】
規格化スケール・ファクタは、オリジナル画像における各ｘ０，ｙ０位置で変動することが認識されるだろう。したがって、第１の画像面を第２の画像面にマップする際に、非線形マッピング変換が実行される。
【００７３】
前述された実施形態は、オリジナルのカメラ姿勢または方位が知られており、画像面におけるエピポールの位置も知られていると仮定している。しかしながら、姿勢およびエピポール位置は知れられていないことがありうることが認識されるだろう。
【００７４】
実施形態によれば、エピポール、したがって、カメラ姿勢を決定するための方法が提供される。この方法は、特定のメリット関数の急勾配降下軌道を計算することを含む。メリット関数が、現実的な最小値に達した場合、エピポールの位置が知られ、画像ノイズおよびその他の摂動の存在下で決定されうる。この方法を用いて、所望の立体補正行列の生成が、自動的になされる。さらに、この方法は、計算が著しく速い。
【００７５】
１つの実施形態では、メリット関数は、２つの成分を有する。これらは、ともに加えられる。第１は、左カメラおよび右カメラのための角度ベクトルの比較である。第２は、機能フロー・ベクトルの傾きを計算することによって、立体補正を達成する際における成功の尺度である。
【００７６】
メリット関数は、仮想カメラが実際のエピポールと揃えられた場合にゼロになるであろう。
【００７７】
前述したように、エピポール線は、エピポールから発する線のスターまたは扇形を形成しうる。エピポールが各画像の中心になるように左カメラおよび右カメラが互いに面する場合、エピポール・スターは、互いのミラー画像となるだろう。これは、１つのそのようなスターが、相手スターに関して幾らか回転していても事実である。前述したように、特定の共通のフィーチャを取り、そのフィーチャをｘ軸に配置することによって、共通の回転位置にスターを逆回転することが可能である。
【００７８】
１つの実施形態では、エピポールの位置が正確に知られていない場合であっても、同じプロセスの角度調整が用いられる。推定されたエピポールにカメラを向けることを試みる際に、ポインティング誤差があるだろう。この状況では、左のエピポール・スターは、右のエピポール・スターのミラー画像にはならないだろう。
【００７９】
しかしながら、これらのエピポール・スターは、メリット関数の２つの成分のうちの１つを生成するために使用されうる。これは、図８に示される方法にしたがう１つの実施形態でなされる。
【００８０】
図８の方法に示されるシーケンスでは、画像は実際に、左カメラから右カメラへと関連付けられた物体フィーチャの位置のパターンである。これらカメラによって生成された実際の画像は、図８のシーケンスによって変換されないことが認識されるだろう。
【００８１】
図８の動作８１０では、エピポールの推定位置が、画像中心（ｘ＝０，ｙ＝０）へと移動される。これは図９ａによって例示される。
【００８２】
図８の動作８１５では、共通の物体フィーチャが基準フィーチャとして選択される。さらに、このフィーチャがｚ軸上にあるように、これら画像が回転される。図９ｂは、この回転後の構成を示す。
【００８３】
図８の動作８２０では、角度ベクトルが左エピポール・スターについて生成され、同様の角度ベクトルが、右エピポール・スターについて生成される。１つの実施形態では、これらベクトルを生成する方法は以下の通りである。先ず、選択されたフィーチャがｘ軸に移動されるように、エピポール・スターが回転され、エピポール線とｘ軸との間のすべての角度が測定される。このベクトルは、ベクトルの成分が以下の角度になるように生成される。Ａｒｉｇｈｔ＝｛θＲ１，θＲ２，θＲ３，θＲ４，θＲ５．．．｝。この状況は、図９ｃによって例示される。フィーチャおよびそれらの角度の順序は、右エピポール・スターと左エピポール・スターとで同じであることを考慮すると、この順序は任意であることが認識されるだろう。Ａｌｅｆｔ＝｛θＬ１，θＬ２，θＬ３，θＬ４，θＬ５．．．｝。この順序は、適切に相関付けられるべき結果として得られたベクトルについて同じでなければならない。
【００８４】
実験は、完全に順序付けられた角度でなされた。これら実験は、これらフィーチャおよび対応する角度の任意の順序と比較された場合、パフォーマンス向上を示さない。第３のフィーチャはｘ軸に移動されているので、この例のフィーチャの角度は、θＲ３＝０およびθＬ３＝０になることが認識されるだろう。
【００８５】
動作８２５では、これらの２つの角度ベクトル間の角度が決定される。これは、以下のように、右角度ベクトルを左角度ベクトルと相関させることによってなされうる。
【数１２】
0005917767.tif 000013
【００８６】
式（１２）において、ｃｃは、右角度ベクトルと左角度ベクトルとの間の相関角度のコサインを表わす。
【００８７】
その後、動作８３０では、
【数１３】
0005917767.tif 000014
【００８８】
にしたがってアーク・コサインを取ることによって、これらベクトル間の相関角度が得られる。
【００８９】
動作８３５では、この式における相関角度が、メリット関数の第１の部分として提供される。
【００９０】
メリット関数の第２の部分は、さまざまなフィーチャ流れベクトルが水平にどれくらい近いかを示す尺度である。これらが完全に水平である場合、完全な立体補正が達成されるだろう。
【００９１】
動作８４０では、フィーチャの画像を、立体補正された仮想カメラ位置の近傍へ回転させるために式（８）および（９）が用いられる。
【００９２】
動作８４５では、フィーチャ流れベクトルのおのおのの傾きが計算される。
【００９３】
動作８５０では、これら傾きの平方２乗和（ＲＳＳ）が計算される。
【００９４】
動作８５５では、式の角度ベクトル間の角度にＲＳＳが加えられる。  
【数１４】
0005917767.tif 000015
【００９５】
式（１４）は、エピポールの実際の場所の反復的な決定と、フル画像の立体補正のために必要なホモグラフィ行列のその後の進展とのために所望されるメリット関数を与える。
【００９６】
１つの実施形態では、立体補正を達成するために、エピポール位置のシステムの推定値が、正しいエピポール位置に向かって漸進的に移動される。図９ｄは、システムが、現在推定された正しくないエピポール位置から、実際のエピポールを持つ所望の適切なアライメントへ移動した場合における、エピポール・スターにおける変化を示す。
【００９７】
見られるように、実際のエピポールと揃えられた後、エピポール・スターのエピポール線は、ミラー・イメージの同一となる。しかしながら、このフィーチャの位置は、右画像および左画像において、エピポール線に沿って異なる径方向距離にあるであろう。
【００９８】
式（１４）のメリット関数は、４次元空間における表面を形成する。この４次元空間のパラメータは、左カメラおよび右カメラのエピポール位置のｘ誤差およびｙ誤差である。仮想カメラが、それぞれのエピポールに完全に揃っている場合、メリット関数は、ゼロの値を有するだろう。したがって、立体アライメント・タスクは、このメリット関数の最小値を見つけることである。
【００９９】
メリット関数の最小値は、社会によく知られているさまざまな方法（例えば、ニュートン方法）において決定されうる。１つの実施形態では、これは、４空間メリット関数面の４次元勾配下降を実行することによってなされる。収束させるために、勾配下降技法について、４つすべてのｘパラメータおよびｙパラメータが、同時に調節されねばならない
ことが認識されるだろう。
【０１００】
１つの実施形態では、メリット関数は、４つのベクトルとして定義される。  
【数１５】
0005917767.tif 000016
【０１０１】
次に、勾配Ｍが、以下のように計算される。
【数１６】
0005917767.tif 000017
【０１０２】
定義（１５）によれば、Ｍは、デカルト空間にある。したがって、ｘｌｅｆｔ，ｙｌｅｆｔ，ｘｒｉｇｈｔ、およびｙｒｉｇｈｔにおいて分離可能である。したがって、勾配は、容易に計算されうる。図１０に図示される以下のフローチャートは、１つの実施形態にしたがう勾配下降方法を示す。
【０１０３】
図１０のフロー図における動作の後、この方法は、初期化１００１で始まる。動作１００１では、勾配下降測定のためのパラメータが確立される。ΔｘおよびΔｙは、エピポール位置の現在の推定値からの小さなオフセットである。これらは、式（１６）にしたがってメリット関数の勾配を決定するために用いられる。Δｓは、メリット関数の勾配のステップ・ダウンである。それは、エピポール位置の推定値を、実際のエピポール位置のより近くに移動させる。エピポールの新たな推定値は、以下の（１７）の通りである。
【数１７】
0005917767.tif 000018
【０１０４】
この方法は、動作１００２に進む。ここでは、エピポールの初期推定位置（左および右）の基準メリット関数Ｍ０が計算される。前述したように、この計算は、以下のシーケンスを含んでいる。（ｉ）推定されたエピポール位置を、画像面の中心へもたらすフィーチャ画像の仮想回転、（ｉｉ）選択された共通のフィーチャを相互に揃えるための、中心の周りの回転、（ｉｉｉ）成分がエピポール線の角度であるベクトル間の角度の計算、（ｉｖ）立体補正された仮想カメラ位置の現在の最良の推定値をもたらすための仮想フィーチャ画像の９０°回転、（ｖ）フィーチャ動き流線の傾きの平方２乗和（ＲＳＳ）の取得、（ｖｉ）開始メリット関数の計算。
【０１０５】
動作１００３，１００４，１００５では、メリット関数の勾配が計算される。この手順は、左および右の仮想カメラを、シーケンスで、現在のエピポール位置から小さな距離離れたΔｘおよびΔｙ移動させるためになされる。このような小さな変位を用いて、メリット関数が再度測定される。このシーケンシャルな測定プロセスは、メリット関数の４次元勾配の４つの異なる成分を与えるだろう。
【０１０６】
動作１００６は、４次元メリット関数面に沿ってどのように移動するのかを示している。
【０１０７】
ボックス内の式は、前述した式（１７）と同じである。たとえδｓが一定であっても、表面に沿って移動する距離は、メリット関数の勾配が変化すると変わる。この表面は、放物面に似ていると仮定される。これはリーズナブルである。なぜなら、仮想カメラが実際のエピポール・アライメントに近くなると、メリット関数がゼロにスムーズに変化することが期待されるからである。その後、メリット関数の表面の最後に近づくと、勾配は、小さくなり、各反復で移動する距離が、比例的に小さくなる。最後には、表面は、ほとんど平坦になり、勾配は、ほとんどゼロになると予想される。その後、ステップは、極端に小さくなり、さらなる進展は、漸進的に、より多くの反復を採用する。
【０１０８】
動作１００７では、反復するプロセスの次のフェーズが開始される。システムは、実際のエピポールに向かって短い距離移動する。新たな基準メリット関数が計算される。これは、前の基準メリット関数と比較される。
【０１０９】
動作１００８は、この比較を行い、動作の２つのコースのうちのどちらかを決定する。新たなメリット関数が古いメリット関数よりも大きいのであれば、システムは、動作１０１０に進む。この関数が前よりも小さいのであれば、システムは動作１００９に進む。
【０１１０】
動作１００９は、２つのテストを並列的に行なう。第１のテストは、メリット関数が、ある指定された最小値より低くなったかを確認するためのチェックを行う。低くなっているのであれば、システムは、実際のエピポールに許容可能に収束したと言われる。その後、システムは、動作１０１２に進み、エピポールを求める反復的な探索から出る。あるいは、計算が終了を強制されうるように、最大数の反復を設定することも適切である。この最大数が超過されても、システムは、反復ループから出る。これによって、エピポール位置の現在推定値を、リーズナブルな計算時間で達成されうる最良のものとして受け取る。
【０１１１】
これら終了条件の何れも満たされないのであれば、システムは、動作１０１１のように、次の反復に進む。これを行う際に、最も直近に計算された（動作７において計算された）メリット関数が、新たな基準メリット関数となる。
【０１１２】
動作１００８におけるテストが、メリット関数が値を増加させるために開始したこと示す場合に、動作１０１０に進む。これは、システムが、いくつかの理由によって、実際のエピポールの位置を通り越したことを意味する。図１１は、これがどのようにして起きるのかを示す。１つの方法は、勾配下降軌道が単にエピポール位置を見失い、メリット関数表面を後ろに登り始めることである。このケースでは、システムは、自動的に補正するだろう。しかし、この軌道は、落ち着く前に、実際のエピポール位置の周囲を回る傾向にあるだろう。軌道の周囲を回ることは、実質的に、反復数を増加させうる。別の可能性は、軌道が実際のエピポール位置に近づくと、勾配ステップがあまりにも大きく残るという可能性である。このケースでは、不連続な軌道が、実際のエピポール位置の上を飛び越し、表面を後ろに登り始める。最終的には、システムは、実際のエピポールに再び落ち着くが、計算負荷が実質的に増える。
【０１１３】
この問題に対する解決策は、いつ軌道が表面を登り始め、探索ステップのサイズを低減するのかを検出することである。一般に、Δｘ，Δｙおよびδｓは、動作１０１０の半分においてカットされるが、その他のスケール調整値は、許容可能なパフォーマンスを与えうる。
【０１１４】
これらの調節がなされると、システムは、（動作１０１１を経由して）次の反復へと進む。
【０１１５】
これらの反復は、（動作１００９において）終了基準が満足され、システムが動作１０１２へ出るまで継続する
図１０の方法は、それがオーダ（ｎ）からなる特性を有する。ここで、ｎは、観察されたフィーチャの数である。これは、シーンから抽出されトラックされたフィーチャの数に対して計算負荷が線形比例的に増加することを意味する。したがって、フィーチャの数を１０から１００に増加させることは、単に処理負荷を１０倍増加させる。
【０１１６】
一方、既存の方法またはアルゴリズムは、オーダ（ｎ３）またはそれ以上からなる。これらのアルゴリズムを用いると、トラックされたフィーチャが１０から１００へ増加すると、処理負荷は、１０００倍またはそれ以上に増加する。したがって、図１０の方法は、既存の計算方法またはアルゴリズムよりも著しく速いことが認識されるだろう。
【０１１７】
計算負荷に影響を与える第２のファクタは、エピポールの位置を推定する際における初期誤差の大きさである。実験は、計算負荷が、エピポール推定時の角度誤差よりも速く増加することを示している。したがって、１つの実施形態では、この最初の推定誤差を最小化することが望ましい。
【０１１８】
図１２ａ−ｉに示すように、これら図面は、図１０の方法を適用することによって、良好な立体補正への収束が、どの程度迅速に２０のフィーチャの集合で取得されうるのかを示している。図１２ａ−ｅに示される実験は、エピポールの実際の場所が、ほんの概算的にしか知られていないと仮定する。仮定されている誤差は極めて大きく、各エピポールについて２０°のオーダである。この実験は、比較的少ない反復での、良好な立体補正への迅速な収束を示す。
【０１１９】
図１２ａは、左カメラと右カメラとの間のフィーチャ流れベクトルの初期設定を示す。
【０１２０】
この集合は、２０のフィーチャから成る。
【０１２１】
図１２ｂは、仮想カメラの回転後の、エピポールのオープン・ループ推定位置への流れベクトルを示す。これらオープン・ループ推定位置における誤差は、約２０°である。流れベクトルの解は、明らかに存在する。特に、流れベクトルは、方向を逆にしており、現在、凡そ正確に流れている。
【０１２２】
図１２ｃは、メリット関数面を下る単一反復後の結果を示す。いくつかの改良があるが、この改良は、概観的にははっきり分からない。
【０１２３】
図１２ｄは、１０回の反復後の結果を示す。この改良は、極めて顕著である。しかしながら、未だに実質的な傾き誤差がある。これは、システムが、実際のエピポールにまったく収束していないことを示す。このステージでは、顕著な距離誤差が存在する。
【０１２４】
図１２ｅは、１００回の反復後、実際のエピポールへの収束がほとんど完全であることを示す。
【０１２５】
第２の実験は、エピポール位置の初期推定が改善すると、アルゴリズムは、より迅速になり、エピポールの実際の位置に正確に収束するであろうことを示している。
【０１２６】
図１２ｆにおいて、我々は、エピポールの位置の初期推定において３°の誤差がある場合に試みられた立体補正を見ている。これは、メリット関数面の勾配下降前であるので、補正は達成されていないが、フロー傾き誤差が比較的小さいことが明らかである。
【０１２７】
図１２ｇは、１回だけの反復後の改善を示す。
【０１２８】
図１２ｈは、１０回の反復後の結果を示す。補正は完全ではないが、十分良好であって、有用である。シーンの３Ｄモデリングのためにこの補正を用いることで、僅かな歪みおよび距離誤差しか生じない。
【０１２９】
１００回の反復後の結果が、図１２ｉに図示される。図１２ｈと図１２ｉとの類似性は、完全ではないものの、１０回の反復のみで、実際のエピポールへの収束が有益に達成されることを示す。したがって、エピ位置の比較的正確な推定値を用いて開始することに顕著な利益があることが認識されるだろう。
【０１３０】
図１３に示すように、この図は、１つの実施形態にしたがって画像を処理するシステム１３００を示す。
【０１３１】
システム１３００は、画像を立体補正するように構成された立体補正モジュール１３１０と、画像処理モジュール１３２０とを含む。モジュール１３１０は、（例えば、リアルタイムでキャプチャされた）画像１３０１のストリームを受け取るように構成される。モジュール１３１０は、画像のペアにおける各画像について、画像をキャプチャするカメラの第１のカメラ方位に関連付けられた画像内のエピポールの位置を決定するように構成されたエピポール決定モジュール１３１１を含む。モジュール１３１０はまた、画像のペアにおける各画像について、カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めするように構成されたエピポール位置決めモジュール１３１２を含む。モジュール１３１０はさらに画像のペアのエピポールを交差する立体ベースラインの周囲において、画像のペアを、互いに揃えるように構成されたアライメント・モジュール１３１３を含む。さらに、モジュール１３１０は、画像面の立体補正ペアを取得できるように、立体ベースラインに実質的に平行な仮想画像面を位置決めするために、各仮想画像面を回転するように構成された画像回転モジュールを含む。
【０１３２】
画像処理モジュール１３２０は、オリジナル画像の全体を、立体補正された画像面にマップするために、１または複数の変換（例えば、ホモグラフィック行列変換）を実行するように構成される。
【０１３３】
図１３の異なるモジュールは、１または複数のプロセッサ、メモリ、および／または、要求された動作を実行するための専用回路を含みうる。前述された方法は、例えば、軍事および民間への応用を含む多くの応用において画像を立体補正するために使用されうる。軍事応用は、改善された状況認識、持続的な監視、訓練、交戦リハーサル、目標認識および照準、ＧＰＳを使用しない高精度ナビゲーション、センサ融合、ミッション・システム・インテグレーション、および軍事ロボットを含みうる。民間および産業的な応用は、地理学および地図製作、映画やテレビへの応用、建築および建物の立案、広告、産業および一般的なロボット、警察および防火および学校教育を含みうる。しかしながら、これは限定されない。別の応用では、前述された方法およびシステムを用いることが予想される。
【０１３４】
さらに、前述した実施形態にしたがって記載された画像の処理は、リアルタイムで実行されうる。
【０１３５】
画像を処理する際に含まれる別の動作が、ハードウェア、ソフトウェア、または、ハードウェアとソフトウェアとの組み合わせで実行されうることが認識されるだろう。ソフトウェアは、マシン実行可能命令群またはコードを含みうる。これらマシン実行可能な命令群は、プロセッサ・モジュールのデータ記憶媒体に組み込まれうる。例えば、マシン実行可能な命令群は、図１３のシステムのモジュール１３１０，１３１１，１３１２，１３１３，１３１４および１３２０のデータ記憶媒体に組み込まれうる。
【０１３６】
ソフトウェア・コードは、汎用コンピュータによって実行可能でありうる。動作において、コードと、恐らくは、関連付けられたデータ・レコードが、汎用コンピュータ・プラットフォーム内に格納されうる。しかしながら、その他の時には、ソフトウェアは、他の場所に格納されうるか、および／または、適切な汎用コンピュータ・システムにロードするために移動されうる。したがって、前述した実施形態は、少なくとも１つの物理的な、非一時的な、マシン読取可能な媒体によって実行される１または複数のコードのモジュールの形態で、１または複数のソフトウェアまたはコンピュータ製品を含む。コンピュータ・システムのプロセッサによるこのようなコードの実行によって、プラットフォームが、本明細書で説明され例示された実施形態において実行される方式で実質的にこれら機能を実施することを可能とする。
【０１３７】
本明細書で使用されるように、例えばコンピュータまたはマシン「読取可能な媒体」のような用語は、実行のための命令群をプロセッサへ提供することに参加する任意の媒体を称する。このような媒体は、非一時的で、不揮発性の媒体および揮発性の媒体を含む多くの形態を取り得る。不揮発性の媒体は、例えば、前述したように動作する任意のコンピュータ（単数または複数）における記憶媒体のうちの何れかのような、光ディスクまたは磁気ディスクを含みうる。揮発性媒体は、例えば、コンピュータ・システムのメイン・メモリのような動的メモリを含む。したがって、コンピュータ読取可能な媒体の共通形式は、例えば、フロッピー（登録商標）ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、その他任意の磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ、その他任意の光媒体や、例えば、パンチカード、紙テープ、穴のパターンを備えたその他任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、その他任意のメモリ・チップ、またはカートリッジのようなあまり一般に使用されていない媒体を含む。これら形式のコンピュータ読取可能な媒体の多くは、実行のためにプロセッサへ１または複数の命令群の１または複数のシーケンスを伝送する際に含まれうる。
【０１３８】
本開示は、現在最も現実的で好適な実施形態であると考えられるものに基づいて、例示目的のために、詳細に記載されているが、そのような詳細は、単に、その目的のためであって、本開示は、開示された実施形態に限定されず、その逆に、添付された特許請求の範囲の精神およびスコープ内である修正および等化な構成をカバーすることが意図されていることが理解されるべきである。例えば、さらに、本開示は、可能な限り、任意の実施形態のうちの１または複数の特徴が、その他任意の実施形態のうちの１または複数の機能と結合されうると考慮していることが理解されるべきである。
以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
［１］
画像のペアを立体補正する方法であって、
前記画像のペアにおける各画像について、前記画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することと、
前記画像のペアにおける各画像について、前記カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、
前記位置決めの後、前記画像のペアのエピポールと交差する立体ベースラインの周囲に回転させることによって、前記画像のペアを互いに揃えることと、
画像面の立体補正されたペアを取得できるように、前記立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、前記仮想画像面を回転することと、を備える方法。
［２］
前記画像のペアは、異なるカメラによってキャプチャされる、［１］に記載の方法。
［３］
前記画像のペアは、移動しているカメラによってキャプチャされる、［１］に記載の方法。
［４］
前記仮想画像面の中心におけるエピポールを位置決めした後、前記画像のペアの仮想画像面は互いに実質的に平行である、［１］に記載の方法。
［５］
前記揃えることは、
それぞれの仮想画像面における両画像に共通している基準画像フィーチャを選択することと、
前記画像のペアのうちの１つの画像の仮想面における基準画像フィーチャの位置が、前記画像のペアのうちの他方の画像の仮想面における基準画像フィーチャの位置と一致するように、前記立体ベースラインの周囲の各仮想画像面を位置決めすることとを備える、［１］に記載の方法。
［６］
前記基準画像フィーチャは、実際の水平に最も近い、前記画像内の物体である、［５］に記載の方法。
［７］
各画像について、
先ず、前記エピポールを位置決めするために、カメラ中心を中心とする座標系の第１の軸に沿って、前記画像面を回転させ、
次に、前記エピポールを位置決めするために、前記座標系の第２の軸に沿って、前記画像面を回転させ、前記仮想面の中心におけるエピポールの位置決めを行うことによって、前記仮想画像面が取得される、［１］に記載の方法。
［８］
前記立体ベースラインに実質的に平行な仮想画像面を位置決めするために、前記仮想画像面を回転させた後、前記仮想画像面のおのおのが、第３のカメラ方位に関連付けられる、［１］に記載の方法。
［９］
前記エピポールの位置を決定することは、
各画像の推定されたエピポール位置を用いて、４次元空間における面を形成する関数を決定することと、ここで、前記４次元空間は、各画像のエピポール位置の誤差によってパラメータ化される、
前記関数の最小値を決定することとを備える、［１］に記載の方法。
［１０］
前記関数の最小値を決定することは、前記関数の４次元勾配下降を実行することを備える、［７］に記載の方法。
［１１］
前記４次元空間のパラメータは、各画像のエピポール位置のｘ誤差およびｙ誤差である、［２］に記載の方法。
［１２］
画像のペアを立体補正するための方法を実行するためのマシン実行可能な命令群を用いてエンコードされた物理的な非一時的なコンピュータ読取可能な媒体を備える製造物品であって、前記方法は、
前記画像のペアにおける各画像について、前記画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することと、
前記画像のペアにおける各画像について、前記カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、
前記位置決めの後、前記画像のペアのエピポールと交差する立体ベースラインの周囲に回転させることによって、前記画像のペアを互いに揃えることと、
画像面の立体補正されたペアを取得できるように、前記立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、前記仮想画像面を回転することとを備える、製造物品。
［１３］
前記画像のペアは、異なるカメラによってキャプチャされる、［１２］に記載の製造物品。
［１４］
前記画像のペアは、移動しているカメラによってキャプチャされる、［１２］に記載の製造物品。
［１５］
前記仮想画像面の中心におけるエピポールが位置決めされた後、前記画像のペアの仮想画像面は、実質的に互いに平行である、［１２］に記載の製造物品。
［１６］
前記揃えることは、
それぞれの仮想画像面における両画像に共通している基準画像フィーチャを選択することと、
前記画像のペアのうちの１つの画像の仮想面における基準画像フィーチャの位置が、前記画像のペアのうちの他方の画像の仮想面における基準画像フィーチャの位置と一致するように、前記立体ベースラインの周囲の各仮想画像面を位置決めすることとを備える、［１２］に記載の製造物品。
［１７］
前記基準画像フィーチャは、実際の水平に最も近い、前記画像内の物体である、［１６］に記載の製造物品。
［１８］
各画像について、
先ず、前記エピポールを位置決めするために、カメラ中心を中心とする座標系の第１の軸に沿って、前記画像面を回転させ、
次に、前記エピポールを位置決めするために、前記座標系の第２の軸に沿って、前記画像面を回転させ、前記仮想面の中心におけるエピポールの位置決めを行うことによって、前記仮想画像面が取得される、［１２］に記載の製造物品。
［１９］
前記立体ベースラインに実質的に平行な仮想画像面を位置決めするために、前記仮想画像面を回転させた後、前記仮想画像面のおのおのが、第３のカメラ方位に関連付けられる、［１２］に記載の製造物品。
［２０］
前記エピポールの位置を決定することは、
各画像の推定されたエピポール位置を用いて、４次元空間における面を形成する関数を決定することと、ここで、前記４次元空間は、各画像のエピポール位置の誤差によってパラメータ化される、
前記関数の最小値を決定することとを備える、［１２］に記載の製造物品。
［２１］
前記関数の最小値を決定することは、前記関数の４次元勾配下降を実行することを備える、［１９］に記載の製造物品。
［２２］
前記４次元空間のパラメータは、各画像のエピポール位置のｘ誤差およびｙ誤差である、［１９］に記載の製造物品。
［２３］
画像のペアを処理する方法であって、
前記画像のペアにおける各画像について、前記画像をキャプチャするカメラの、第１のカメラ方位に関連付けられた画像面におけるエピポールの位置を決定することによって、前記画像のペアを立体補正することと、
前記画像のペアにおける各画像について、前記カメラの第２のカメラ方位に関連付けられた仮想画像面の中心におけるエピポールを位置決めすることと、
前記位置決めの後、前記画像のペアのエピポールと交差する立体ベースラインの周囲に回転させることによって、前記画像のペアを互いに揃えることと、
画像面の立体補正されたペアを取得できるように、前記立体ベースラインに実質的に平行な仮想画像面と、互いに実質的に平行な法線ベクトルとを位置決めするために、前記仮想画像面を回転することと
によって前記画像のペアを立体補正することと、
前記画像のペアの各画像について、画像全体を立体補正された画像面にマップするために、前記画像において１または複数のホモグラフィックな変換を実行することと、を備える方法。
【図２】
0005917767.tif 000019
【図３】
0005917767.tif 000020
【図４】
0005917767.tif 000021
【図５ａ】
0005917767.tif 000022
【図５ｂ】
0005917767.tif 000023
【図５ｃ】
0005917767.tif 000024
【図５ｄ】
0005917767.tif 000025
【図６ａ】
0005917767.tif 000026
【図６ｂ】
0005917767.tif 000027
【図７ａ】
0005917767.tif 000028
【図７ｂ】
0005917767.tif 000029
【図８】
0005917767.tif 000030
【図９ａ】
0005917767.tif 000031
【図９ｂ】
0005917767.tif 000032
【図９ｃ】
0005917767.tif 000033
【図９ｄ】
0005917767.tif 000034
【図１０】
0005917767.tif 000035
【図１１】
0005917767.tif 000036
【図１２ａ】
0005917767.tif 000037
【図１２ｂ】
0005917767.tif 000038
【図１２ｃ】
0005917767.tif 000039
【図１２ｄ】
0005917767.tif 000040
【図１２ｅ】
0005917767.tif 000041
【図１２ｆ】
0005917767.tif 000042
【図１２ｇ】
0005917767.tif 000043
【図１２ｈ】
0005917767.tif 000044
【図１２ｉ】
0005917767.tif 000045
【図１３】
0005917767.tif 000046
【図１】
0005917767.tif 000047