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