(57)【要約】【課題】対応点の誤対応と動的被写体に対しても、対応点分布の平面性に由来する誤差に対してもロバストである基礎行列を算出する画像処理装置を提供する。【解決手段】画像取得部１２は、被写体についての複数の画像を取得する。対応点取得部１１０は、複数の画像において互いに対応する複数の第１の対応点を取得する。基礎行列推定部１２０は、第１の対応点に基づいて第１の基礎行列を算出することを複数回繰り返し、複数の第１の基礎行列を算出する。エピポール座標導出部１３０は、第１の基礎行列の各々に対応する第１のエピポール座標を算出する。エピポール座標決定部１４０は、第１のエピポール座標のうちから最も確からしいものを選択し、それを第２のエピポール座標として決定する。基礎行列決定部１５０は、第２のエピポール座標に対応する第１の基礎行列を最終的な基礎行列として決定する。【選択図】図１
2014010495.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像を取得する画像取得部と、
複数の前記画像間で互いに対応する複数の第１の対応点を取得する対応点取得部と、
複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出する第１の基礎行列推定部と、
少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出するエピポール座標導出部と、
前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定するエピポール座標決定部と、
前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定する基礎行列決定部と、
を具備することを特徴とする画像処理装置。
【請求項２】
前記エピポール座標決定部は、
複数の前記第１のエピポール座標の中央値を算出する中央値算出部と、
前記第１のエピポール座標の各々と前記中央値との距離を算出する距離算出部と、
複数の前記第１のエピポール座標のうち、前記距離が最小である前記第１のエピポール座標を前記第２のエピポール座標に決定するエピポール選択部と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記エピポール座標決定部は、
複数の前記第１のエピポール座標の頻度をカウントするヒストグラム生成部と、
前記頻度が高い領域の重心位置を決定する重心位置算出部と、
前記第１のエピポール座標の各々と前記重心位置との距離を算出する距離算出部と、
複数の前記第１のエピポール座標のうち、前記距離が最小である前記第１のエピポール座標を前記第２のエピポール座標に決定するエピポール選択部と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
複数の前記画像を撮像したカメラの位置及び姿勢の差異を推定する動き推定部と、
前記位置及び姿勢の前記差異に基づいて、前記画像に含まれる被写体の３次元座標を推定する３次元座標推定部と、
をさらに具備することを特徴とする請求項１乃至３のうち何れか１項に記載の画像処理装置。
【請求項５】
前記第１の基礎行列の個数は、撮像装置情報と、シーン判別情報と、動きベクトル情報と、エピポール座標分布情報と、のうち少なくとも１つに基づいて決定される
ことを特徴とする請求項１乃至４のうち何れか１項に記載の画像処理装置。
【請求項６】
画像を撮像する撮像部と、
異なる時間に撮像された複数の前記画像を取得する画像取得部と、
複数の前記画像において互いに対応する複数の第１の対応点を取得する対応点取得部と、
複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出する第１の基礎行列推定部と、
少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出するエピポール座標導出部と、
前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定するエピポール座標決定部と、
前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定する基礎行列決定部と、
前記第２の基礎行列に基づいて、前記複数の画像の間に存在するブレを補正する補正部と、
を具備することを特徴とする撮像装置。
【請求項７】
複数の画像を取得することと、
複数の前記画像間で互いに対応する複数の第１の対応点を取得することと、
複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出することと、
少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出することと、
前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定することと、
前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定することと、
を具備することを特徴とする画像処理方法。
【請求項８】
複数の画像を取得することと、
複数の前記画像間で互いに対応する複数の第１の対応点を取得することと、
複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出することと、
少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出することと、
前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定することと、
前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定することと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びそれを備えた撮像装置、画像処理方法、並びに画像処理プログラムに関する。
【背景技術】
【０００２】
一般に、２枚の画像に基づいて、これら画像を撮影したカメラの位置及び姿勢の変化を推定する次のような技術が知られている。すなわち、この技術では、２枚の画像中で共通に表示されていると判断される点を複数抽出し、それら点の対応関係を取得して対応点として特定する。この対応点に基づいて基礎行列を算出し、その基礎行列に基づいてカメラの位置及び姿勢変化を推定する。このような基礎行列の算出において、ＲＡＮＳＡＣ（ＲＡＮｄａｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）等のロバスト推定手法が用いられることが、例えば特許文献１に開示されている。ＲＡＮＳＡＣでは、多数の対応点の中から８点がランダムに抽出され、仮の基礎行列が計算される。例えば、エピポーラ線との距離を指標として、各仮の基礎行列を評価することで、対応点の特定の誤りや画像に含まれる動的被写体の影響が排除される。また、特許文献１には、基礎行列の算出からカメラの位置及び姿勢変化の推定までが繰り返し行われることで、最も確からしい位置及び姿勢変化が決定されることに係る技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２５６０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような技術において、対応点の分布が平面に近い場合、基礎行列計算が縮退し、基礎行列の誤差が大きくなることが知られている。例えばＲＡＮＳＡＣが用いられると、対応点の誤対応や動的被写体に対するロバスト性の向上は見込まれる。しかしながら、例えばＲＡＮＳＡＣが用いられても、対応点分布が平面に近いことに由来する誤差に対するロバスト性の改善は見込まれない。
【０００５】
そこで本発明は、対応点の誤対応と動的被写体に対してロバストであり、かつ、対応点の分布が平面に近いことに由来する誤差に対してもロバストである基礎行列を決定する画像処理装置及びそれを備えた撮像装置、画像処理方法、並びに画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を果たすため、本発明の一態様によれば、画像処理装置は、複数の画像を取得する画像取得部と、複数の前記画像間で互いに対応する複数の第１の対応点を取得する対応点取得部と、複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出する第１の基礎行列推定部と、少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出するエピポール座標導出部と、前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定するエピポール座標決定部と、前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定する基礎行列決定部と、を具備することを特徴とする。
【０００７】
前記目的を果たすため、本発明の一態様によれば、撮像装置は、画像を撮像する撮像部と、異なる時間に撮像された複数の前記画像を取得する画像取得部と、複数の前記画像において互いに対応する複数の第１の対応点を取得する対応点取得部と、複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出する第１の基礎行列推定部と、少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出するエピポール座標導出部と、前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定するエピポール座標決定部と、前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定する基礎行列決定部と、前記第２の基礎行列に基づいて、前記複数の画像の間に存在するブレを補正する補正部と、を具備することを特徴とする。
【０００８】
前記目的を果たすため、本発明の一態様によれば、画像処理方法は、複数の画像を取得することと、複数の前記画像間で互いに対応する複数の第１の対応点を取得することと、複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出することと、少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出することと、前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定することと、前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定することと、を具備することを特徴とする。
【０００９】
前記目的を果たすため、本発明の一態様によれば、画像処理プログラムは、複数の画像を取得することと、複数の前記画像間で互いに対応する複数の第１の対応点を取得することと、複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出することと、少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出することと、前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定することと、前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定することと、をコンピュータに実行させる。
【発明の効果】
【００１０】
本発明によれば、エピポール座標を用いて適切な第２の基礎行列を決定するので、対応点の誤対応と動的被写体に対してロバストであり、かつ、対応点の分布が平面に近いことに由来する誤差に対してもロバストである基礎行列を決定する画像処理装置及びそれを備えた撮像装置、画像処理方法、並びに画像処理プログラムを提供できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係る画像処理装置の構成例を示すブロック図。
【図２】第１の実施形態に係る画像処理装置による処理の一例を示すフローチャート。
【図３】第１の実施形態に係る基礎行列決定処理の一例を示すフローチャート。
【図４】エピポーラ幾何について説明するための図。
【図５】第１の実施形態に係る基礎行列推定処理の一例を示すフローチャート。
【図６】第１の実施形態に係るインライア個数算出処理の一例を示すフローチャート。
【図７】第１の実施形態に係るエピポール座標決定部の構成例を示すブロック図。
【図８】第１の実施形態に係る最適エピポール選択処理の一例を示すフローチャート。
【図９】第２の実施形態に係るエピポール座標決定部の構成例を示すブロック図。
【図１０】第２の実施形態に係る最適エピポール選択処理の一例を示すフローチャート。
【図１１】第２の実施形態に係るヒストグラムの一例を示す図。
【図１２】第３の実施形態に係る画像処理装置の構成例を示すブロック図。
【図１３】第３の実施形態に係る画像処理装置による処理の一例を示すフローチャート。
【図１４】第４の実施形態に係るデジタルカメラの構成例を示すブロック図。
【発明を実施するための形態】
【００１２】
［第１の実施形態］
本発明の第１の実施形態について図面を参照して説明する。本実施形態に係る画像処理装置１０の構成例を図１に示す。この図に示されるように、画像処理装置１０は、画像処理部１００と、画像取得部１２と、記憶部１４と、制御部１６とを備える。この画像処理装置１０は、入力された複数の画像に対して画像間の関係を表す基礎行列を算出し出力する。
【００１３】
画像処理部１００は、画像処理装置１０の中心的役割を担い、後述の通り入力された複数の画像に係る基礎行列の算出を行う。画像取得部１２は、画像処理装置１０の外部や記憶部１４から処理対象とする画像のデータを取得し、画像処理部１００に入力する。記憶部１４は、処理対象とする画像データや、各種演算に係るプログラムや、演算結果等を記憶する。制御部１６は、画像処理装置１０の動作を制御する。
【００１４】
画像処理部１００は、対応点取得部１１０と、基礎行列推定部１２０と、エピポール座標導出部１３０と、エピポール座標決定部１４０と、基礎行列決定部１５０とを有する。対応点取得部１１０は、画像取得部１２から入力された複数の画像に対して、当該画像中に含まれている共通の点を複数抽出し、それら複数の点について、画像間での対応関係を取得する。この対応関係が得られた点を対応点として出力する。基礎行列推定部１２０は、対応点取得部１１０が取得した対応点に基づいて、例えばＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）等のロバスト手法を用いて画像間の関係を表す基礎行列である第１の基礎行列を複数を算出する。
【００１５】
エピポール座標導出部１３０は、基礎行列推定部１２０が算出した各第１の基礎行列に基づいて、その基礎行列に対応する画像間のエピポールの座標を算出する。エピポール座標決定部１４０は、エピポール座標導出部１３０が算出した複数のエピポールの座標のうちから、最も確からしいエピポールを選択する。基礎行列決定部１５０は、エピポール座標決定部１４０が選択したエピポールに対応する第１の基礎行列を最適な基礎行列として第２の基礎行列を決定する。
【００１６】
本実施形態に係る画像処理装置１０の動作を図２に示すフローチャートを参照して説明する。ステップＳ１０１において、画像取得部１２は、この画像処理装置１０による画像処理の対象となる例えば２つの画像を取得する。画像取得部１２は、画像処理装置１０の外部から画像を取得してもよいし、記憶部１４に記憶されている画像を取得してもよい。取得された画像は、画像処理部１００に入力される。
【００１７】
ステップＳ１０２において、画像処理部１００内の対応点取得部１１０は、画像間の対応点取得処理を行う。すなわち、対応点取得部１１０は、画像取得部１２から入力された２つの画像の互いに対応する点の位置関係を取得する。この対応点取得処理は、特徴点追跡等の特徴ベースマッチングでも、ブロックマッチング等の領域ベースマッチングでもよい。ここで、対応点取得部１１０によって対応関係が得られた点を、対応点と称することにする。なお、対応点取得処理によって、通常は数千点の対応点が得られる。
【００１８】
ステップＳ１０３において、画像処理部１００は、対応点取得部１１０によって取得された対応点に基づいて、基礎行列決定処理を行う。基礎行列決定処理について、図３に示されるフローチャートを参照して説明する。ステップＳ２０１乃至ステップＳ２０４において画像処理部１００は、エピポーラ幾何に基づいて後述の基礎行列とエピポール座標とを所定の回数であるＮ回繰り返し算出する。すなわち、Ｎ個の基礎行列とエピポール座標との組み合わせを算出する。
【００１９】
ここで、エピポーラ幾何について図４を参照して簡単に説明する。以下では、カメラはピンホールカメラであると仮定したピンホールカメラモデルで説明する。第１のレンズ主点Ｏ１を有する第１のカメラと、第２のレンズ主点Ｏ２を有する第２のカメラとによって空間上の静止している点Ｐを撮影する場合を考える。第１のカメラで得られる第１の画像平面Ｉ１上と、第２のカメラで得られる第２の画像平面Ｉ２上との座標を考える。第１の画像平面Ｉ１上において点Ｐが撮像された点の座標を座標ｐ１とする。座標ｐ１のｘ座標及びｙ座標は画像座標（ｕ１，ｖ１）であるとする。第２の画像平面Ｉ２上において点Ｐが撮像された点の座標を座標ｐ２とする。座標ｐ２のｘ座標及びｙ座標は画像座標（ｕ２，ｖ２）であるとする。
【００２０】
また、第１のレンズ主点Ｏ１と第２のレンズ主点Ｏ２とを結んだ直線と、第１の画像平面Ｉ１との交点を第１のエピポールｅ１と称し、第２の画像平面Ｉ２との交点を第２のエピポールｅ２と称する。また、点Ｐと第１のレンズ主点Ｏ１と第２のレンズ主点Ｏ２とを含む平面と、第１の画像平面Ｉ１との交線を第１のエピポーラ線Ｌ１と称し、第２の画像平面Ｉ２との交線を第２のエピポーラ線Ｌ２と称する。
【００２１】
エピポーラ方程式は、エピポーラ幾何における基本方程式である。座標ｐ１及び座標ｐ２を同次座標表示したベクトルをｍ１及びｍ２とすると、ｍ１及びｍ２は下記式（１）のように表される。
【数１】
2014010495.tif 000003
このとき、Ｏ１、Ｏ２、ｐ１とｐ２が空間座標系で同一平面上にあることから、３×３の行列Ｆにおいて、下記式（２）の関係が成り立つ。
【数２】
2014010495.tif 000004
【００２２】
上記式（２）の方程式はエピポーラ方程式と呼ばれ、行列Ｆは基礎行列と呼ばれる。基礎行列Ｆは９成分あるが、スケール不定性と基礎行列Ｆが正則行列であることの２点のため、自由度は７である。基礎行列は、例えば公知の８点アルゴリズムでは、８点以上の対応点を元に（２）の方程式を解くことで決定される。基礎行列Ｆに基づくと基本行列が求まり、この基本行列から第１のカメラと第２のカメラとの姿勢及び位置の差を表す回転行列Ｒと並進ベクトルｔとが求まる。
【００２３】
図３に戻って説明を続ける。ステップＳ２０１において、画像処理部１００の基礎行列推定部１２０は、基礎行列推定処理を行う。この処理は、例えばＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）を用いた方法で行われる。ＲＡＮＳＡＣを用いた基礎行列推定処理を図５に示すフローチャートを参照して説明する。ステップＳ３０１において、基礎行列推定部１２０は、対応点取得部１１０による対応点取得処理で取得された対応点のうち、複数点の対応点をランダムに抽出する。例えば本実施形態では８点の対応点が抽出される。ステップＳ３０２において、基礎行列推定部１２０は、抽出した８点の対応点に基づいて、例えば公知の８点アルゴリズムを用いて上述の基礎行列Ｆを算出する。ここで算出された基礎行列を仮基礎行列と称することにする。
【００２４】
ステップＳ３０３において、基礎行列推定部１２０は、インライア個数算出処理を行う。インライア個数算出処理では、２枚の画像に係るエピポーラ幾何を考える。ステップＳ１０２において取得された各対応点について、ステップＳ３０２で算出された仮基礎行列から求まるエピポーラ線と当該対応点との距離が所定の閾値より小さいとき、その対応点をインライア（評価が高い）とする。インライア個数算出処理では、複数の対応点のうちインライアである対応点の個数が求められる。
【００２５】
インライア個数算出処理を図６に示すフローチャートを参照して説明する。ステップＳ４０１において、基礎行列推定部１２０は、インライアの個数を表す変数Ｉを８に設定する。これは、本実施形態では仮基礎行列の算出に用いた８点の対応点をインライアとしてカウントするためである。
【００２６】
続いて全ての対応点について以下の処理を行う。ステップＳ４０２において、基礎行列推定部１２０は、仮基礎行列から求まるエピポーラ線と対象とする対応点との距離を算出する。ステップＳ４０３において、基礎行列推定部１２０は、ステップＳ４０２で算出されたエピポーラ線との距離が所定の閾値未満（以下でもよい）であるか否かを判定する。距離が閾値未満であると判定されたとき、ステップＳ４０４において、基礎行列推定部１２０は、インライアの個数を表す変数Ｉを１増加させる。対応点のうちエピポーラ線との距離が所定の閾値未満である対応点をインライア対応点と称することにする。その後処理はステップＳ４０５に進む。ステップＳ４０３の判定で距離が所定の閾値以上であると判定されたとき処理はステップＳ４０５に進む。
【００２７】
ステップＳ４０５において、基礎行列推定部１２０は、全ての対応点についてステップＳ４０２乃至ステップＳ４０４の処理がなされたか否かを判定する。処理がなされていないと判定されたとき、処理はステップＳ４０２に戻り、次の対応点について同様の処理を行う。ステップＳ４０５の判定において、処理がなされたと判定されたとき、変数Ｉを戻り値として、処理は基礎行列推定処理に戻る。
【００２８】
このようにして、全ての対応点のうち仮基礎行列に対してインライアである対応点の個数Ｉが算出される。ここで、インライア対応点の個数が多い仮基礎行列ほど、２枚の画像との関係を適切に表す基礎行列であるといえる。
【００２９】
図５に戻って説明を続ける。ステップＳ３０４において、基礎行列推定部１２０は、ステップＳ３０１乃至ステップＳ３０３の処理が、所定回数行われたか否かを判定する。所定の回数行われていないとき、処理はステップＳ３０１に戻る。ステップＳ３０４において所定の回数処理が行われたと判定されたとき、処理はステップＳ３０５に進む。ステップＳ３０５において、基礎行列推定部１２０は、インライア対応点の個数Ｉが最も大きい仮基礎行列を第１の基礎行列として決定する。
【００３０】
ここでは、ステップＳ３０４の判断によるインライア対応点の個数を算出する仮基礎行列の数を所定数としている。しかしながらこれに限らず、所定の終了条件が満たされるまで、仮基礎行列についてインライア対応点の個数を算出するようにしてもよい。ステップＳ３０５の後、処理は第１の基礎行列を戻り値として基礎行列決定処理に戻る。
【００３１】
図３に戻って説明を続ける。ステップＳ２０２において、基礎行列推定部１２０は、基礎行列推定処理で得られた第１の基礎行列を記憶部１４に記憶させる。ステップＳ２０３において、エピポール座標導出部１３０は、エピポール座標の算出を行う。エピポール座標の算出は以下の手順で行われる。
【００３２】
基礎行列推定部１２０が算出した基礎行列Ｆの転置行列をＦＴ、同次系で表した第１の画像のエピポール座標をｅ１＝（ｅ１ｘ，ｅ１ｙ，１）Ｔ、同次系で表した第２の画像のエピポール座標をｅ２＝（ｅ２ｘ，ｅ２ｙ，１）Ｔとする。このとき、下記式（３）が成り立つ。
【数３】
2014010495.tif 000005
このため、ｅ１及びｅ２は上記式（３）の連立方程式を解くことで求められる。例えば、下記式（４）のように行列を特異値分解する。
【数４】
2014010495.tif 000006
ここで、Ｕ１及びＵ２は左直交行列と、Ｖ１及びＶ２は右直交行列と、Ｗ１及びＷ２は特異値行列又は対角行列と呼ばれる。この右直交行列の最終列ベクトル成分に基づいて、ｅ１及びｅ２は下記式（５）で求まる。
【数５】
2014010495.tif 000007
このようにして、ステップＳ２０３においてエピポールの座標が算出される。ステップＳ２０４において、エピポール座標導出部１３０は、算出されたエピポールの座標を用いた基礎行列と関連付けて記憶部１４に記憶させる。
【００３３】
以上のような、基礎行列推定部１２０による例えばＲＡＮＳＡＣを用いた第１の基礎行列の算出と、その第１の基礎行列に基づくエピポール座標導出部１３０によるエピポール座標の導出とが、Ｎ回繰り返される。その後、処理はステップＳ２０５に進む。ステップＳ２０５において、エピポール座標決定部１４０は、最適エピポール選択処理を行う。すなわち、エピポール座標決定部１４０は、エピポール座標導出部１３０によって算出されたＮ個又は２Ｎ個のエピポール座標から、統計的な手法を用いて、画像ごとに１つの最適なエピポールを決定する。ここで、Ｎ個のエピポール座標とは、２つの画像のうち一方の画像における各第１の基礎行列に対応するエピポールの座標のことをいい、２Ｎ個のエピポール座標とは、２つの画像の両方の画像における各第１の基礎行列に対応するエピポールの座標のことをいう。例えば本実施形態では、中央値を用いて最適なエピポールを決定する。このため、エピポール座標決定部１４０は、図７に示されるように、中央値算出部１４２と、距離算出部１４６と、エピポール選択部１４８とを有する。
【００３４】
最適エピポール選択処理について、図８に示されるフローチャートを参照して説明する。ステップＳ５０１において、エピポール座標決定部１４０内の中央値算出部１４２は、ステップＳ２０１からステップＳ２０４の処理を繰り返し行ったことで記憶部１４に格納されている各エピポールの座標を読出し、それらエピポールの座標の中央値を決定する。
【００３５】
ステップＳ５０２において、エピポール座標決定部１４０の距離算出部１４６は、ステップＳ５０１で、中央値算出部１４２によって算出された中央値と、Ｎ個又は２Ｎ個の各エピポールの座標と、の距離ｄＥｐｉ１を計算する。ここで、２Ｎ個のエピポール座標を用いる場合、距離ｄＥｐｉ１は例えば以下のように算出される。第１の画像平面Ｉ１のエピポール座標の中央値を（Ｅｐｉ１＿Ｘ＿Ｍｉｄ，Ｅｐｉ１＿Ｙ＿Ｍｉｄ）とし、第２の画像平面Ｉ２のエピポール座標の中央値を（Ｅｐｉ２＿Ｘ＿Ｍｉｄ，Ｅｐｉ２＿Ｙ＿Ｍｉｄ）とする。第１の基礎行列に応じて決定されたｉ番目の第１のエピポールｅ１の座標を（Ｅｐｉ１＿Ｘ（ｉ），Ｅｐｉ１＿Ｙ（ｉ））とし、第２のエピポールｅ２の座標を（Ｅｐｉ２＿Ｘ（ｉ），Ｅｐｉ２＿Ｙ（ｉ））とする。このとき、距離ｄＥｐｉ１は例えば下記式（６）で得られる。
【数６】
2014010495.tif 000008
【００３６】
ステップＳ５０３において、エピポール座標決定部１４０内のエピポール選択部１４８は、距離算出部１４６によって算出された距離ｄＥｐｉ１が最も小さいエピポール座標を最適なエピポール座標として選択する。選択された最適エピポール座標を戻り値として、処理は基礎行列決定処理に戻る。
【００３７】
なお、本実施形態では、エピポール座標の中央値を基準として最適なエピポールの選択が行われているが、中央値に限らず平均値等の種々の統計値が用いられてもよい。ただし、外れ値等の影響を抑えるため、中央値が用いられることが好ましい。
【００３８】
図３に戻って説明を続ける。ステップＳ２０６において、基礎行列決定部１５０は、エピポール座標決定部１４０による最適エピポール選択処理で選択された最適エピポールに対応する第１の基礎行列を記憶部１４から読出し、この第１の基礎行列を最適基礎行列として決定する。この最適基礎行列を第２の基礎行列と称することにする。その後、処理は第２の基礎行列を戻り値として図２を参照して説明している処理に戻る。画像処理部１００は、決定された第２の基礎行列を入力された画像に対する最適な基礎行列として出力する。この基礎行列は記憶部１４に記憶されてもよい。
【００３９】
このように、例えば画像取得部１２は、複数の画像を取得する画像取得部として機能する。例えば対応点取得部１１０は、複数の前記画像間の互いに対応する複数の第１の対応点を取得する対応点取得部として機能する。例えば基礎行列推定部１２０は、複数の前記第１の対応点に基づいて複数の前記第１の基礎行列を算出する第１の基礎行列推定部として機能する。例えばエピポール座標導出部１３０は、少なくとも１つの画像について、前記複数の第１の基礎行列の各々に対応する複数の第１のエピポール座標を算出するエピポール座標導出部として機能する。例えばエピポール座標決定部１４０は、前記複数の第１のエピポール座標のうち、所定の統計的手法を用いて、１つのエピポール座標を第２のエピポール座標として決定するエピポール座標決定部として機能する。ここで、例えば最適エピポールの座標は、第２のエピポール座標に相当する。例えば基礎行列決定部１５０は、前記第２のエピポール座標に対応する前記第１の基礎行列を第２の基礎行列として決定する基礎行列決定部として機能する。
【００４０】
本実施形態によれば、エピポールの座標を利用して、第１の基礎行列のうちから精度の高い基礎行列を選択するので、入力画像に対して高精度な基礎行列を出力することができる。より詳しくは以下のとおりである。第１の基礎行列の算出において例えばＲＡＮＳＡＣといったロバスト手法が用いられることによって、ステップＳ１０２の対応点取得処理で算出された対応関係の誤りや、移動している被写体に由来する誤りが排除されロバスト性が向上することが期待される。しかしながら、被写体が平面に近いとき、すなわち、被写体の奥行差が小さいときに、基礎行列の算出において縮退に近い状態が生じることで起こる誤りを排除する効果は、ＲＡＮＳＡＣ等では期待できない。これに対して本実施形態によれば、画像を取得したカメラの姿勢を表す指標となるエピポールの座標を利用して繰り返し演算による基礎行列の最適値の選択を行うことで、平面被写体に対するロバスト性の向上が得られる。
【００４１】
本実施形態では、ＲＡＮＳＡＣ等の手法により対応点の誤対応と動的被写体とに対するロバスト性を向上させ、エピポールを用いた演算により被写体の平面性に対するロバスト性を向上させるので、全体として信頼性が非常に高い基礎行列の算出が行われる。
【００４２】
なお、上記説明では第１の基礎行列の算出にＲＡＮＳＡＣを用いる例を示した。しかしながらＲＡＮＳＡＣに限らず種々のロバスト推定手法が用いられ得る。例えば、Ｍ推定や、最小メジアン法（Ｌｅａｓｔ  Ｍｅｄｉａｎ  ｏｆ  Ｓｑｕａｒｅ；ＬＭｅｄＳ）や、ＰＲＯＳＡＣ等のＲＡＮＳＡＣから派生した手法が用いられ得る。本実施形態は、種々の手法によって算出された基礎行列に対して適応されて効果を発揮する。
【００４３】
なお、上記説明では、基礎行列決定処理におけるステップＳ２０１乃至ステップＳ２０４は、所定のＮ回繰り返される例を示した。しかしながら、第１の基礎行列の誤差が大きくなりやすい場合には、ロバスト性向上のため、演算の繰り返し回数を増やすようにしてもよい。この演算の繰り返し回数は、例えば撮像装置情報、シーン判別情報、動きベクトル情報、エピポール座標分布情報の少なくとも何れか１つに基づいて決定されてもよい。これら情報に基づいて繰り返し回数が変更されることで、演算結果の精度の向上が期待できる。
【００４４】
ここで、撮像装置情報とは、例えば画像の撮像に用いられた撮像光学系の情報であり、例えば焦点距離情報が用いられ得る。すなわち、焦点距離が長い望遠光学系が用いられた場合、被写体までの距離に対して被写体に含まれる奥行きが小さくなる傾向がある。このため、望遠光学系が用いられた場合、被写体が平面に近い状態となり、算出される基礎行列の誤差が大きくなりやすい。そこで、撮像光学系の焦点距離が長い場合は繰り返し演算回数を比較的多くし、焦点距離が短い場合は繰り返し演算回数を比較的少なくすることが考えられる。
【００４５】
また、シーン判別情報とは、例えば「風景」「人物」などの自動シーン判別情報である。例えばシーンが「風景」と判別された場合は、被写体までの距離に対して奥行きが小さくなる傾向があるため、被写体が平面に近くなり誤差が大きくなりやすい。そこで、シーンが「風景」である場合等に繰り返し演算回数を比較的多くすることが考えられる。
【００４６】
また、動きベクトル情報とは、例えば対応点の分布や面積、計算された３次元座標の分布であり得る。対応点の分布が狭い場合、すなわち面積が小さい場合、又は３次元座標の分布が平面に近い場合は誤差が大きくなりやすい。そこで、このような場合に繰り返し演算回数を比較的多くすることが考えられる。
【００４７】
また、エピポール座標分布情報は、例えば算出されたエピポールの分布情報であり得る。エピポールの分布が広い場合、基礎行列の誤差が大きいと判断される。そこで、このような場合に繰り返し演算回数を比較的多くすることが考えられる。
【００４８】
［第２の実施形態］
本発明の第２の実施形態について説明する。ここでは、第１の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。第１の実施形態では、最適エピポール選択処理において、複数の第１の基礎行列に応じて算出された複数のエピポールの中央値を用いて、最適エピポールが選択されている。これに対して、本実施形態では、エピポールの座標について２次元ヒストグラムを作成し、この２次元ヒストグラムに基づいて最適エピポールを選択する。
【００４９】
このため本実施形態に係るエピポール座標決定部１４０は、図９に示すように、ヒストグラム生成部１４４と、重心位置算出部１４５と、距離算出部１４６と、エピポール選択部１４８とを有する。本実施形態に係る最適エピポール選択処理を図１０に示されたフローチャートを参照して説明する。
【００５０】
ステップＳ６０１において、エピポール座標決定部１４０のヒストグラム生成部１４４は、エピポール座標導出部１３０の処理により、各第１の基礎行列に対して得られたエピポール座標について２次元ヒストグラムを生成する。ステップＳ６０１において、例えば図１１に示されるようなヒストグラムが生成される。このヒストグラムの生成は、例えば以下の手順で行われる。初めに、Ｘ方向及びＹ方向について、Ｎ個のエピポール座標に対する重心位置と標準偏差が算出される。次に、Ｘ方向及びＹ方向について、重心位置と標準偏差に基づいてヒストグラムの中心及びビン幅が決定される。次に、Ｎ個のエピポール座標について投票が実施され、２次元ヒストグラムが作成される。
【００５１】
ステップＳ６０２において、エピポール座標決定部１４０の重心位置算出部１４５は、ステップＳ６０１でヒストグラム生成部１４４が生成したヒストグラムに基づいて、最頻値を示した領域内のエピポール座標の重心位置を算出する。重心の決定は例えば以下の手順で行われる。初めに、２次元ヒストグラムの最頻値を示す領域が決定される。次に、最頻値を示す領域内のエピポール座標の重心位置が決定される。なお、重心位置の算出には、最頻値を示す領域だけでなく、その周辺領域が含まれてもよい。
【００５２】
ステップＳ６０３において、エピポール座標決定部１４０の距離算出部１４６は、ステップＳ６０２で重心位置算出部１４５が算出した重心位置と、Ｎ個又は２Ｎ個の各エピポールの座標と、の距離ｄＥｐｉ２を計算する。距離ｄＥｐｉ２は例えば以下のように算出される。第１の画像のエピポール座標重心を（Ｅｐｉ１＿Ｘ＿Ａｖｅ，Ｅｐｉ１＿Ｙ＿Ａｖｅ）とし、第２の画像のエピポール座標重心を（Ｅｐｉ２＿Ｘ＿Ａｖｅ，Ｅｐｉ２＿Ｙ＿Ａｖｅ）とする。第１の基礎行列に応じて決定されたｉ番目の第１のエピポールの座標を（Ｅｐｉ１＿Ｘ（ｉ），Ｅｐｉ１＿Ｙ（ｉ））とし、第２のエピポールの座標を（Ｅｐｉ２＿Ｘ（ｉ），Ｅｐｉ２＿Ｙ（ｉ））とする。このとき、距離ｄＥｐｉ２は下記式（７）で得られる。
【数７】
2014010495.tif 000009
【００５３】
ステップＳ６０４において、エピポール座標決定部１４０のエピポール選択部１４８は、ステップＳ６０３で距離算出部１４６が算出した距離ｄＥｐｉ２が最も小さいエピポール座標を最適なエピポール座標として選択する。選択された最適エピポールを戻り値として、処理は基礎行列決定処理に戻る。
【００５４】
基礎行列決定処理のステップＳ２０６において基礎行列決定部１５０は、最適エピポールに対応する第１の基礎行列を記憶部１４から読出し、この第１の基礎行列を最適な基礎行列である第２の基礎行列として決定する。その後、処理は図２を参照して説明している処理に戻る。画像処理部１００は、決定された第２の基礎行列を入力された画像に対する基礎行列として出力する。
【００５５】
本実施形態によっても、エピポール座標を用いられることで、第１の実施形態と同様の効果が得られる。
【００５６】
［第３の実施形態］
本発明の第３の実施形態について説明する。ここでは、第１の実施形態及び第２の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。第１の実施形態及び第２の実施形態に係る画像処理装置１０は、複数の画像が入力されたときに基礎行列を出力する装置である。これに対して本実施形態に係る画像処理装置１０は、複数の画像が入力されたときに基礎行列を算出し、その基礎行列に基づいて得られる入力画像に対応する３次元座標を出力する装置である。
【００５７】
本実施形態に係る画像処理装置１０の構成例の概略を図１２に示す。この図に示すように、画像処理装置１０の画像処理部１００は、第１の実施形態と比較してさらに基礎行列決定部１５０の後段に、動き推定部１６０と、３次元座標推定部１７０とを備える。動き推定部１６０は、入力された各画像を撮影したカメラの位置及び姿勢の差異、すなわちカメラの動きを算出する。３次元座標推定部１７０は、動き推定部１６０で算出されたカメラの動きに基づいて、入力された画像の対応点の３次元座標を算出する。
【００５８】
本実施形態に係る画像処理を図１３に示されるフローチャートを参照して説明する。ステップＳ７０１において、画像取得部１２は、例えば２枚の画像を取得する。ステップＳ７０２において、対応点取得部１１０は、第１の実施形態のステップＳ１０２と同様に、入力された２枚の画像について対応点を取得する。ステップＳ７０３において、基礎行列推定部１２０、エピポール座標導出部１３０、エピポール座標決定部１４０及び基礎行列決定部１５０は、第１の実施形態のステップＳ１０３と同様に、基礎行列決定処理を行い、基礎行列を決定する。
【００５９】
ステップＳ７０４において、動き推定部１６０は、基礎行列決定処理によって算出された基礎行列に基づいて、２枚の入力画像を撮影したカメラの位置及び姿勢の差を算出する。例えば動き推定部１６０は、基礎行列に基づいて基本行列を算出し、この基本行列に基づいて回転行列及び並進ベクトルを算出する。これら回転行列及び並進ベクトルが２つのカメラ位置間の回転及び並進、すなわち動きを表す。本実施形態では、この回転及び並進を画像処理装置１０の出力としてもよいし、記憶部１４に記憶させてもよい。
【００６０】
ステップＳ７０５において、３次元座標推定部１７０は、算出された２つのカメラの位置関係に基づいて、入力された２枚の画像の対応点について公知の方法で３次元座標の推定を行う。推定された３次元座標情報を画像処理装置１０の出力とする。また、この３次元情報が記憶部１４に記憶されてもよい。
【００６１】
本実施形態によれば、精度が高い基礎行列が算出され、それが用いられて３次元推定がなされることで、精度の高い３次元推定がなされ得る。
【００６２】
なお、本実施形態でも第２の実施形態のようにヒストグラムを用いる手法が用いられてもよく、この場合も同様に機能し、同様の効果が得られる。
【００６３】
［第４の実施形態］
第４の実施形態について説明する。ここでは、第１の実施形態及び第２の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。本実施形態は、第１の実施形態又は第２の実施形態の画像処理装置１０を備えるデジタルカメラ１に係る。本実施形態に係るデジタルカメラ１の構成例を図１４に示す。デジタルカメラ１は、画像処理装置１０と、ブレ補正部１８とを備える。また、デジタルカメラ１は、ＣＰＵ２０と、撮像光学系２２と、撮像素子２４と、ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）２６と、信号画像処理部２８と、圧縮伸長部３０と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３４と、操作部３６と、記録部３８と、表示処理部４０と、表示部４２とを備える。
【００６４】
ＣＰＵ２０は、制御部として機能し、デジタルカメラ１の各部を制御する。撮像光学系２２は、レンズや絞り等を含み、被写体像を撮像素子２４に導く。撮像素子２４は、撮像光学系２２を介して導かれた被写体像を電気信号に変換する。ＡＦＥ２６は、相関二重サンプリング、アナログゲインコントロール、Ａ／Ｄ変換等のアナログ信号処理を行う。信号画像処理部２８は、ＡＦＥ２６から出力されたデジタル画像信号に対して、色分解、ホワイトバランス、ガンマ変換等の画像処理を行う。圧縮伸長部３０は、画像の圧縮や伸長等を行う。ＲＡＭ３２は、各種処理及び演算に必要な一時記憶を行う。ＲＯＭ３４は、デジタルカメラ１の制御や演算に必要な各種プログラム等を記憶する。操作部３６は、ユーザからのデジタルカメラ１の操作に係る指示の入力を受け付ける。記録部３８は、例えばデジタルカメラ１に取り外し可能に接続されており、デジタルカメラ１で取得した画像を記録する。表示処理部４０は、表示部４２に表示させるための画像処理を行う。表示部４２は、例えば液晶ディスプレイ等を含み、表示処理部４０で処理された画像を表示する。
【００６５】
撮像光学系２２を介して撮像素子２４に入射して電気信号に変換された被写体の画像信号は、ＡＦＥ２６及び信号画像処理部２８で画像処理される。これらの画像処理された信号は、画像処理装置１０に動画像として順次入力される。画像処理装置１０は、入力された動画像のあるフレームの画像と次フレームの画像との間で、順次第１の実施形態で説明した基礎行列を算出する処理を行う。
【００６６】
ブレ補正部１８は、画像処理装置１０が出力する基礎行列を取得し、この基礎行列に基づいて入力された動画像のフレーム間のブレを除去する処理を行う。すなわち、ブレ補正部１８は、基礎行列に基づいて、基本行列を算出する。基礎行列から基本行列を算出するには、一般に知られている手法が用いられる。ブレ補正部１８は、算出された基本行列に基づいて回転行列及び並進ベクトルを算出する。ここで、この回転行列及び並進ベクトルは、あるフレームの画像を取得したカメラの位置及び姿勢と次のフレームの画像を取得したカメラの位置及び姿勢との差を表す。すなわち、この回転行列及び並進ベクトルは、両フレーム間でのそれら画像を取得したカメラのブレ量を表す。
【００６７】
ブレ補正部１８は、算出された回転行列及び並進ベクトルに基づいてブレの補正量を算出する。すなわち、ブレ補正部１８は、回転行列及び並進ベクトルとして求まったフレーム間に生じたカメラのブレを相殺するために適切な画像の補正量を算出する。この際、例えばローパスフィルタ等を用いて、急激な補正が行われずに滑らかな補正となるように補正量は決定される。ブレ補正部１８は、算出した補正量に基づいて画像変換を行い、画像のブレを除去する。このようにして、ブレ補正部１８によって、フレーム間で生じたブレが除去された画像が作成される。このブレが除去された画像の信号は、表示処理部４０を介して表示部４２に表示される。また、ブレが除去された画像信号は、記録部３８に記録される。
【００６８】
本実施形態によれば、画像処理装置１０及びブレ補正部１８によってブレの除去が行われる。したがって、デジタルカメラ１を操作するユーザの手振れ等による画像のブレが除去され、記録部３８に記録される画像や、表示部４２に表示される画像は、画像処理装置１０を備えないカメラで取得された画像よりも品質が高くなる。
【００６９】
なお、本実施形態においても、画像処理装置１０において第２の実施形態のようにヒストグラムを用いた処理が行われてもよい。この場合も同様に機能し同様の効果が得られる。また、画像処理装置１０が第３の実施形態のように３次元座標を算出し、デジタルカメラ１は撮影した被写体の３次元再構成画像を出力するように構成されてもよい。
【００７０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば処理の順序は適宜変更され得る。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても、発明が解決しようとする課題の欄で述べられた課題が解決でき、かつ、発明の効果が得られる場合には、この構成要素が削除された構成も発明として抽出され得る。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７１】
１…デジタルカメラ、１０…画像処理装置、１２…画像取得部、１４…記憶部、１６…制御部、１８…ブレ補正部、２０…ＣＰＵ、２２…撮像光学系、２４…撮像素子、２６…ＡＦＥ、２８…信号画像処理部、３０…圧縮伸長部、３２…ＲＡＭ、３４…ＲＯＭ、３６…操作部、３８…記録部、４０…表示処理部、４２…表示部、１００…画像処理部、１１０…対応点取得部、１２０…基礎行列推定部、１３０…エピポール座標導出部、１４０…エピポール座標決定部、１４２…中央値算出部、１４４…ヒストグラム生成部、１４５…重心位置算出部、１４６…距離算出部、１４８…エピポール選択部、１５０…基礎行列決定部、１６０…動き推定部、１７０…３次元座標推定部。
【図１】
2014010495.tif 000010
【図２】
2014010495.tif 000011
【図３】
2014010495.tif 000012
【図４】
2014010495.tif 000013
【図５】
2014010495.tif 000014
【図６】
2014010495.tif 000015
【図７】
2014010495.tif 000016
【図８】
2014010495.tif 000017
【図９】
2014010495.tif 000018
【図１０】
2014010495.tif 000019
【図１１】
2014010495.tif 000020
【図１２】
2014010495.tif 000021
【図１３】
2014010495.tif 000022
【図１４】
2014010495.tif 000023