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