(57)【要約】  画像処理装置（１００）が、第１の画像（１０１ａ）中のエッジを基に、マスク画像（１１０ａＩ）を生成するマスク生成部（１１０ｘ）と、抽出された特徴点に、生成されたマスク画像（１１０ａＩ）によるマスクをかける特徴点マスク部（１１１ｘ）と、マスクがされることにより、２以上の特徴点のうちから特定された特徴点を用いて、第１、第２の画像（１０１ａ、１０１ｂ）間での、位置の変化を算出する回転行列算出部（１１２）と、算出された変化を用いる画像補正部（１１３）とを備える。
2011152053.tif 000002
【特許請求の範囲】
【請求項１】
第２の画像が撮影されるよりも先に撮影された第１の画像と、前記第２の画像とのそれぞれを取得する画像取得部と、
取得された第１、第２の前記画像のうちのそれぞれの画像から、その画像中の特徴点を抽出する特徴点抽出部と、
第１の前記画像中のエッジを基に、マスク画像を生成するマスク画像生成部と、
前記特徴点抽出部によって抽出された、第１の前記画像の前記特徴点に、前記マスク画像生成部によって生成された前記マスク画像によるマスクをかける特徴点マスク部と、
前記特徴点マスク部によってマスクされることにより、２以上の前記特徴点のうちから特定された前記特徴点と、抽出された、第２の前記画像の前記特徴点とを用いて、第１、第２の画像間の位置関係を算出する算出部と、
前記算出部によって算出された前記位置関係を用いて、第１、第２の前記画像のうちの一方の画像を補正する画像補正部とを備える画像処理装置。
【請求項２】
生成される前記マスク画像は、第１の前記画像中に存在する被写体のうちの、構造物である被写体が写っている領域をマスクするマスク画像である請求項１記載の画像処理装置。
【請求項３】
前記マスク画像生成部は、第１の前記画像中のエッジを基に算出した角度情報を基に、前記マスク画像を生成する請求項１記載の画像処理装置。
【請求項４】
前記マスク画像生成部は、第１の前記画像中のエッジを基に算出した角度情報を基に作成した角度ヒストグラム上の、ピークの角度を持つそれぞれの画素が含まれてなる領域をマスクする前記マスク画像を生成する請求項１記載の画像処理装置。
【請求項５】
前記マスク画像生成部は、
第１の前記画像中のエッジを基に算出した角度情報から作成した角度ヒストグラム上の、ピークの角度が複数ある場合には、
複数の前記ピークの角度のうちのそれぞれの前記角度について、その角度を有するエッジがあるそれぞれの画素が含まれてなる領域をマスクする前記マスク画像を生成する請求項１記載の画像処理装置。
【請求項６】
前記マスク画像生成部は、
第１の前記画像上で、当該画像の角度ヒストグラム上の、ピークの角度を持つ画素と共に、その画素の、一定範囲の、それぞれの隣接画素が含まれた領域をマスクする前記マスク画像を生成し、マスクがされる領域を拡大する請求項１記載の画像処理装置。
【請求項７】
前記マスク画像生成部は、第１の前記画像上における、第１の前記画像の角度ヒストグラム上の、ピークの角度と、一定の誤差内にある角度を持つ画素を、マスクがされる領域の画素として、マスクがされる領域を拡大する請求項１記載の画像処理装置。
【請求項８】
前記特徴点抽出部は、複数の基準を用いて、特徴点の選択を行う請求項１記載の画像処理装置。
【請求項９】
第１の前記画像は、第１の特徴点がある画像であり、
第２の前記画像は、第１の前記特徴点へと撮影された箇所と同じ箇所が撮影された第２の特徴点がある画像であり、
前記算出部は、第１の前記特徴点と、第２の前記特徴点との間の前記位置関係を算出し、
前記画像補正部は、前記一方の画像から、前記一方の画像における、算出された前記位置関係だけの、位置のズレが補正された、補正後の画像を生成し、
前記特徴点マスク部は、第１の前記画像における第１の前記特徴点が、予め定められた特徴点か否かを判定し、
前記予め定められた特徴点は、当該特徴点において、エッジがあり、かつ、第１の前記画像における、そのエッジの角度と同じ角度のエッジがある位置の個数が、ピークの個数である特徴点であって、第１の前記画像における、建物が映された領域にある特徴点であり、
前記算出部は、前記特徴点が、前記予め定められた特徴点と判定された場合にのみ、その特徴点を、第１の前記特徴点とした、前記位置関係の算出を行い、前記予め定められた特徴点でないと判定される場合には、その特徴点からの前記算出をしない請求項１記載の画像処理装置。
【請求項１０】
第２の画像が撮影されるよりも先に撮影された第１の画像と、前記第２の画像とのそれぞれを取得する画像取得部と、
取得された第１、第２の前記画像のうちのそれぞれの画像から、その画像中の特徴点を抽出する特徴点抽出部と、
第１の前記画像中のエッジを基に、マスク画像を生成するマスク画像生成部と、
前記特徴点抽出部によって抽出された、第１の前記画像の前記特徴点に、前記マスク画像生成部によって生成された前記マスク画像によるマスクをかける特徴点マスク部と、
前記特徴点マスク部によってマスクされることにより、２以上の前記特徴点のうちから特定された前記特徴点と、抽出された、第２の前記画像の前記特徴点とを用いて、第１、第２の画像間の位置関係を算出する算出部と、
前記算出部によって算出された前記位置関係を用いて、第１、第２の前記画像のうちの一方の画像を補正する画像補正部とを備える集積回路。
【請求項１１】
第２の画像が撮影されるよりも先に撮影された第１の画像と、前記第２の画像とのそれぞれを取得する画像取得ステップと、
取得された第１、第２の前記画像のうちのそれぞれの画像から、その画像中の特徴点を抽出する特徴点抽出ステップと、
第１の前記画像中のエッジを基に、マスク画像を生成するマスク画像生成ステップと、
前記特徴点抽出ステップで抽出された、第１の前記画像の前記特徴点に、前記マスク画像生成ステップで生成された前記マスク画像によるマスクをかける特徴点マスクステップと、
前記特徴点マスクステップでマスクされることにより、２以上の前記特徴点のうちから特定された前記特徴点と、抽出された、第２の前記画像の前記特徴点とを用いて、第１、第２の画像間の位置関係を算出する算出ステップと、
前記算出ステップで算出された前記位置関係を用いて、第１、第２の前記画像のうちの一方の画像を補正する画像補正ステップとを含む画像処理方法。
【請求項１２】
第２の画像が撮影されるよりも先に撮影された第１の画像と、前記第２の画像とのそれぞれを取得する画像取得ステップと、
取得された第１、第２の前記画像のうちのそれぞれの画像から、その画像中の特徴点を抽出する特徴点抽出ステップと、
第１の前記画像中のエッジを基に、マスク画像を生成するマスク画像生成ステップと、
前記特徴点抽出ステップによって抽出された、第１の前記画像の前記特徴点に、前記マスク画像生成ステップで生成された前記マスク画像によるマスクをかける特徴点マスクステップと、
前記特徴点マスクステップでマスクされることにより、２以上の前記特徴点のうちから特定された前記特徴点と、抽出された、第２の前記画像の前記特徴点とを用いて、第１、第２の画像間の位置関係を算出する算出ステップと、
前記算出ステップで算出された前記位置関係を用いて、第１、第２の前記画像のうちの一方の画像を補正する画像補正ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルスチルカメラ、ビデオカメラ、ウェアラブルカメラなどで撮影した映像の補正技術に関するものである。
【背景技術】
【０００２】
従来の、カメラの揺れを補正する方法としては、２枚の画像を用いる、ＭＰＥＧ（Moving Picture Experts Group）技術などに代表される、動きベクトルを検出する技術を用いる事で、フレーム間のカメラの揺れ量を推定・補正する方法がある。【０００３】
これは、画像を複数の矩形領域に区切り、領域ごとに、フレーム間の移動量を求め、領域ごとの動きベクトルから、画像全体の移動量を推定し、最終的に、画像の補正を行う方法である。このような、動きベクトルを用いた方法では、アルゴリズムの性質上、精度・計算コスト面で、問題が存在する。このため、検出可能な、カメラの揺れの大きさは制限される。そして、検出可能な、カメラの揺れの大きさと、その計算コストとの間には、トレードオフの関係が存在する。そして、検出可能な、カメラの揺れの大きさを広げるほど、その計算コストも高くなる。このため、通常は、事前に、カメラの揺れの大きさを想定し、検出可能な、カメラの揺れの大きさを設定する。そのため、この手法で、大きな、カメラの揺れを検出する場合には、検出可能な範囲を大きく設定する必要がある。一方で、設定される、その範囲の大きさが、解空間の大きさと同一である。つまり、その大きさに応じて、局所解に陥る可能性も高くなる。この場合の検出精度は、十分な精度ではなく、歩行時に撮影された映像や、ファインダレスで撮影された映像に含まれる揺れの大きさには対応できなかった。【０００４】
他方、動きベクトルを用いた手法では扱えない大きさの揺れを補正する手法として、特徴点ベースのマッチング手法がある。この手法では、領域ごとの情報を扱う、動きベクトルの手法とは異なり、時間的に連続して撮影された２枚の画像の間で共通に存在する、被写体上のいくつかの点を用いる。これらの、共通する複数の点の中で、画像処理によって検出可能なものを、特徴点と呼ぶ。特徴点ベースのマッチング手法は、２枚の画像の間で生じた揺れを、フレーム間の特徴点の位置合わせを行うことによって推定する手法であり、この位置合わせを、マッチングと呼ぶ。このマッチングを行う事で、揺れ量を表す回転行列が推定可能となり、この回転行列を用いて補正を行う。【０００５】
ところで、通常、特徴点ベースのマッチング手法では、カメラの揺れ量は、未知であり、かつ、写っている被写体の情報も未知である。このため、どの特徴点を用いて、位置合わせをすると、正しい、カメラの揺れを推定可能となるかを、事前に知る事ができない。【０００６】
そのため、ＲＡＮＳＡＣ（RANdom SAmple Consensus）などの手法を使い、どの特徴点の組合せが良いかを、総当りで探索する。そして、事前に設定した評価関数で、最適な組合せと判定された特徴点のペア（ｉｎｌｉｅｒ）を用いて、揺れ量を推定するのが一般的である。【０００７】
このような、特徴点ベースのマッチング手法では、特徴点の、２つのフレームの間での類似性を用いてマッチングする。このため、解空間の大きさは、特徴点の数に依存する。このため、検出可能な範囲を、大きくとった場合でも、領域ごとの情報を用いた、先述された、動きベクトルを用いた手法と比較して、計算コストはそれほど高くならず、局所解へ陥る可能性も高くならない。【０００８】
このため、特徴点ベースのマッチング手法を用いると、歩行時に撮影された映像や、ファインダレスで撮影された映像に含まれる、大きな揺れであっても、カメラの揺れが推定可能となる。【０００９】
ただし、このような、特徴点ベースのマッチング手法で、最終的に、揺れ量の推定に使用される特徴点は、画像の遠景領域から取得された特徴点である事が必須となる。これは、カメラの揺れを、何を基準として補正するかという問題と等価である。【００１０】
つまり、カメラは、被写体に対して動いている訳ではなく、遠景（背景）に対して動いている。このため、カメラの揺れを補正する際には、遠景に対して補正する事が好ましい。使用される特徴点が、遠景領域の特徴点である事が好ましいのは、この理由による。【００１１】
要するに、近景に存在する、通行人のような被写体に対して、位置合わせをしても、その位置合わせに基づいた補正後の映像では、揺れが収まっているように見えず、遠景に対して位置合わせする事で、カメラの揺れが収まったように見える。【００１２】
なお、ここで用いている遠景領域は、画像内の領域を、近景領域と遠景領域とに分けた場合における、カメラからの距離が相対的に遠い領域を表す。例えば、人などの被写体と、ビルや自然が写っている絵においては、近景領域は、人が写っている領域であり、遠景領域は、ビルや自然（木など）が写っている領域を指す。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００９−１１０１３７号公報
【特許文献２】特開２００１−１４８０２３号公報
【特許文献３】特開２００２−２９８１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ところで、特徴点ベースのマッチング手法で、揺れ量の推定を成功させるためには、先に述べたように、遠景領域から取得した特徴点を用いる必要がある。【００１５】
しかしながら、特殊な測距装置や、複眼などを用いない限り、事前に、画像中のどの領域が近景領域であり、どの領域が遠景領域であるかは、未知である。【００１６】
また、画像処理によって、カメラからの距離を推定する場合、特許文献１のように、画像のエンコード前に、焦点距離を、複数の焦点距離のうちのそれぞれの焦点距離に変動させる事で、領域ごとの距離を求める手法や、特許文献２や特許文献３のように、画像のエンコード後に、画像領域を複数に分割し、輝度値の差分や、エッジ情報を求め、比較する事で、領域ごとに、カメラからの距離を求める手法が存在する。【００１７】
しかし、これらの手法のように、領域ごとに、カメラからの距離を求め、近景／遠景を分離した特徴点を用いて、マッチング処理を行った場合でも、画像処理の精度面での問題が存在する。このため、揺れの推定に失敗する可能性が残る。【００１８】
そもそも、上述のように、使用される特徴点として、遠景領域の特徴点が好ましい理由は、遠景領域を基準に補正を行うためであった。【００１９】
しかし、揺れ量を推定するためには、遠景領域である事に加え、フレーム間の動きが殆ど生じていない、もしくは、動きが生じていても、小さく、かつ、その動きの方向が一様であるという条件を満たす必要がある。【００２０】
この条件を満たさない場合としては、例えば、遠景領域に存在し、動きは小さいが、動きの方向が一様でないような、風に揺れる木の領域上で抽出された特徴点を用いて、揺れ量を推定した場合が考えられる。【００２１】
この場合には、カメラの動きとは関連のない動きの情報を用いる事になるため、正しい揺れ量が推定できない。【００２２】
この例のような、揺れ量推定の失敗は、自然物が、遠景領域において多い場面で、顕著となり、このような、遠景の自然物の有無に応じて生じる問題については、従来技術では解決できなかった。【００２３】
そこで、本発明が解決しようとする課題は、従来の、特徴点ベースのマッチング手法では、近景領域を多く含む映像や、遠景領域に自然物を多く含む映像において、正確な位置合わせが難しいとの課題である。つまり、本発明では、このような映像においても、正確な位置合わせを可能とする事ができる画像処理装置を提供する事を目的とする。
【課題を解決するための手段】
【００２４】
上記課題を解決するために、本発明の画像処理装置は、第２の画像が撮影されるよりも先に撮影された第１の画像と、前記第２の画像とのそれぞれを取得する画像取得部と、取得された第１、第２の前記画像のうちのそれぞれの画像から、その画像中の特徴点を抽出する特徴点抽出部と、第１の前記画像中のエッジを基に、マスク画像を生成するマスク画像生成部と、前記特徴点抽出部によって抽出された、第１の前記画像の前記特徴点に、前記マスク画像生成部によって生成された前記マスク画像によるマスクをかける特徴点マスク部と、前記特徴点マスク部によってマスクされることにより、２以上の前記特徴点（図１３の位置１０１ｓ、位置１０１ｎなどを参照）のうちから特定された前記特徴点（位置１０１ｓを参照）と、抽出された、第２の前記画像の前記特徴点とを用いて、第１、第２の画像間の位置関係を算出する算出部と、前記算出部によって算出された前記位置関係を用いて、第１、第２の前記画像のうちの一方の画像を補正する画像補正部とを備える画像処理装置である。
【発明の効果】
【００２５】
本発明の画像処理装置によると、揺れ量の推定に必要な条件を満たす領域の１つである構造物領域（図２の領域１０１Ｆなどを参照）を用いて、マッチング処理が可能となるため、近景を多く含む映像や遠景に自然物が多く存在する映像においても、正しく揺れ量を推定・補正する事が可能となる。【００２６】
特定される、撮像部の動き（図１３の動き１０１ｍを参照）の精度が高くできたり、動きの特定が、失敗し難いようにできる。【００２７】
ここで構造物とは、ビルや柱、窓などの、幾何学的な構造を持つオブジェクトを指し、構造物は、先に述べた、揺れ量を推定するために必要な条件、フレーム間の動きが、殆ど動きの生じていない、もしくは、動きが生じていても小さくかつその動きの方向が一様であるという条件を満たす。また、構造物は、その幾何学的な構造ゆえに画像上のエッジが特定の線分上に分布する傾向が高いという特徴がある。
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の実施の形態１における画像処理装置の全体構成図である。
【図２】図２は、画像の特徴点抽出の例を示す図である。
【図３Ａ】図３Ａは、Ｓｏｂｅｌフィルタを示す図である。
【図３Ｂ】図３Ｂは、Ｓｏｂｅｌフィルタを示す図である。
【図４】図４は、角度検出で検出している角度の例を示す図である。
【図５】図５は、エッジ検出を行った画像から角度ヒストグラムを作成する例を示す図である。
【図６】図６は、角度ヒストグラムのピーク角度を持つ画素から構造物領域マスクを作った例を示す図である。
【図７】図７は、図６の構造物領域マスクの構造物領域を拡大処理した例を示す図である。
【図８】図８は、構造物領域の拡大方法の例を示す図である。
【図９】図９は、構造物領域の補間方法の例を示す図である。
【図１０Ａ】図１０Ａは、構造物領域マスクの重みを２値より多くする場合の例を示す図である。
【図１０Ｂ】図１０Ｂは、構造物領域マスクの重みを２値より多くする場合の例を示す図である。
【図１１】図１１は、本発明の実施の形態１における画像処理装置の処理のフローチャートである。
【図１２】図１２は、本発明の実施の形態２における画像処理装置を示す図である。
【図１３】図１３は、画像処理装置などを示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３０】
実施形態の画像処理装置（画像処理装置１００、システム１００ｘ）は、第２の画像１０１ｂ（図１３）が撮影されるよりも先に撮影された第１の画像１０１ａと、第２の画像１０１ｂとのそれぞれを取得する画像入力部１０３（図１３、図１など）を備える。また、取得された第１、第２の画像１０１ａ、１０１ｂのうちのそれぞれの画像から、その画像中の特徴点（第１の画像１０１ａの位置１０１ｘ（図１３）の特徴点など）を抽出する特徴点抽出部１０４を備える。また、第１の画像１０１ａ中のエッジ（図２の直線１１０Ｌが作るエッジなどを参照）を基に、そのエッジを作る直線（直線１１０Ｌなど）上のそれぞれの点が含まれるマスク領域でのマスク画像（図７の画像（マスク画像）１１０ａＩ）を生成するマスク生成部１１０ｘを備える。また、特徴点抽出部１０４によって抽出された、第１の画像１０１ａの特徴点（位置１０１ｘ）に、マスク生成部１１０ｘによって生成されたマスク画像（画像１１０ａＩ）によるマスクをかけ、上述の直線（直線１１０Ｌ）上の特徴点（位置１０１ｓ（図１３）の特徴点）を特定する特徴点マスク部１１１ｘを備える。また、特徴点マスク部１１１ｘによってマスクされることにより、２以上の特徴点（２以上の位置１０１ｘ（図１３など））のうちから特定された、上述の特徴点（位置１０１ｓの特徴点、第１の位置１０１ｐ（図１３）の特徴点）と、抽出された、第２の画像１０１ｂの特徴点（第２の位置１０１ｑの特徴点）とを用いて、第１、第２の画像１０１ａ、１０１ｂの間の位置関係（位置の変化１０１ｒ）を示すデータ（後述の回転行列を参照）を算出する回転行列算出部１１２を備える。また、回転行列算出部１１２によって算出された位置関係（位置の変化１０１ｒ）を用いて、第１、第２の画像１０１ａ、１０１ｂのうちの一方の画像１１０Ｉ（例えば、第２の画像１０１ｂ）を、一方の画像１１０Ｉにおける、上述の変化１０１ｒでの、位置のズレを打ち消す補正がされた、それぞれの位置が、撮像部１０１の動き０１ｍにより生じたズレが補正された後の位置である、補正後の画像１１３ａへと補正する画像補正部１１３を備える。
【００３１】
つまり、この画像処理装置は、カメラの一部または全体などである。
【００３２】
そして、例えば、第１の画像１０１ａは、第１の特徴点（位置１０１ｐ）がある画像でもよい。
【００３３】
第２の画像１０１ｂは、第１の特徴点へと撮影された箇所と同じ箇所が撮影された第２の特徴点（位置１０１ｑ）がある画像でもよい。
【００３４】
回転行列算出部１１２は、第１の特徴点と、第２の特徴点との間の位置関係（位置の変化１０１ｒ）を算出してもよい。
【００３５】
なお、算出される位置関係は、その位置関係から、第１、第２の画像１０１ａ、１０１ｂが撮影される２つの時刻の間での、撮像部１０１の動き１０１ｍが特定される位置関係である。
【００３６】
画像補正部１１３は、上述された一方の画像１１０Ｉから、一方の画像１１０Ｉにおける、算出された位置関係だけの、位置のズレ（動き１０１ｍにより生じたズレ）が補正された、補正後の画像１１３ａを生成してもよい。
【００３７】
特徴点マスク部１１１ｘは、第１の画像１０１ａにおける第１の特徴点が、予め定められた特徴点（図１３、図２における、構造物（建物）が撮影された位置１０１ｓの特徴点）か否かを判定してもよい。つまり、位置１０１ｓの特徴点であるか、他の位置１０１ｎでの特徴点であるかが判定されてもよい。
【００３８】
予め定められた特徴点は、当該特徴点において、エッジ（直線１１０Ｌが作るエッジ）があり、かつ、第１の画像１０１ａにおける、そのエッジの角度（そのエッジの法線ベクトル（後述）の角度１１０ｂ１）と同じ角度（角度１１０ｂ１）のエッジがある位置（位置１１０Ｌｐを参照）の個数が、ピークの個数（図５に示される個数１１０ｂＮ）である特徴点（位置１０１ｓの特徴点）であって、第１の画像１０１ａにおける、構造物（建物）が写された領域１０１Ｆにある特徴点（位置１０１ｓの特徴点）でもよい。
【００３９】
回転行列算出部１１２は、特徴点（位置１０１ｘ）が、上述の予め定められた特徴点（位置１０１ｓの特徴点）と判定される場合にのみ、その特徴点（位置１０１ｘ）を、第１の特徴点（第１の位置１０１ｐ）とした、上述された、位置関係（位置の変化１０１ｒ）の算出の処理を行ってもよい。
【００４０】
つまり、予め定められた特徴点（位置１０１ｓの特徴点）でないと判定される場合には、その特徴点からの、上述の算出をしなくてもよい。
【００４１】
これにより、補正後の画像１１３ａへの補正が、構造物が撮影された位置１０１ｘ（位置１０１ｓ）の特徴点に基づいてのみされる。これにより、補正の精度が、より高い精度にできたり、補正の失敗が回避されて、確実に、補正に成功できる。
【００４２】
以下、詳しく説明される。
【００４３】
（実施の形態１）
図１は、本発明の実施の形態１における画像処理装置（画像処理装置１００）の全体構成を示す図である。
【００４４】
図１において、撮像部１０１は、デジタルスチルカメラやデジタルビデオカメラなどの、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサ等の撮像素子を備えたカメラなどであり、映像を撮影して、電気信号として出力する。
【００４５】
画像データ蓄積部１０２は、撮像部１０１で撮影された画像データ２（第２の画像データ、第２の画像１０２Ｉ）に対して、時系列上で、この画像データ２の直前に撮影された画像データ１（第１の画像データ、第１の画像１０１Ｉ）が蓄積されている。
【００４６】
画像入力部１０３は、撮像部１０１で撮影された画像データ２と、画像データ蓄積部１０２に蓄積された画像データ１との２枚の画像データの入力を行う。ここで、画像データ１の画像１（第１の画像１０１Ｉ）は、時系列上で、画像データ２の画像２（第２の画像１０２Ｉ）の直前に撮影された画像であり、画像２は、画像１が撮影された直後に撮影された画像を指す。
【００４７】
なお、これら２つの画像データのそれぞれは、例えば、一般的なＪＰＥＧ（Joint Photographic Experts Group）形式で圧縮符号化されたものでも良い。また、例えば、ＭＰＥＧ４等の動画形式で記録されたものでも良い。例えば、これら２つの画像データは、ＭＰＥＧ４等での動画における、２つの時刻の画像の画像データでもよい。本発明の一例である画像処理装置１００は、補正を行う画像が、いつ撮影されたものであるかは関知しない。
【００４８】
また、本実施形態では、本発明の一例である画像処理装置１００を、デジタルスチルカメラやデジタルビデオカメラに内蔵し、撮像画像を、その場で補正する構成をとっている。一方、パーソナルコンピュータ上でアプリケーションとして、画像処理装置１００の機能を実装するなどして、撮像装置とは別に、画像処理装置１００を用意してもよい。そして、カメラなどの記録デバイスと、直接、ケーブル等で、画像処理装置１００を接続して、撮像画像を入力するような構成にしてもよいし、ＳＤメモリカード等の記録媒体や、ネットワークを介して、画像データを読み込んでもよい。
【００４９】
特徴点抽出部１０４は、前記画像入力部１０３にて入力された、上述の画像１、２のうちのそれぞれの画像を受け取り、入力された画像１の特徴点の抽出を行い、抽出された、画像１の特徴点を特定する特徴点データ１を生成する。
【００５０】
ここで、特徴点とは、画像中の縦方向・横方向のエッジが共に強く出ている、エッジの交差した点や、ローカルの近傍に、２つの異なる方向を向いた強いエッジの存在する点などの事を表す。そして、特徴点としては、例えば、時系列上で連続した、画像１と画像２との２枚の画像間で、共通に写っている点から、安定的に検出できる種類のものが好ましい。そして、この際、画像１と画像２との間での、正確な位置関係は、未知である。このため、何らかの基準を用いて、共通に存在する特徴点を生成する必要がある。この特徴点の生成に、Ｈａｒｒｉｓを用いた場合、画像のエッジを基準として、縦・横のエッジが交差するようなコーナー点が検出される。
【００５１】
なお、特徴点抽出部１０４では、画素ごとに、エッジの交差度を表す特徴点スコアを算出するため、理論上は、画素ごとに、特徴点スコアが存在する。しかし、組込み系など、リソース制限のある環境で、実装を行う場合、マッチング処理に用いる特徴点の個数に上限がある場合があるため、算出された全ての特徴点を用いて、マッチング処理を行う事は、計算コストや演算精度の面から、好ましくない。この場合、特徴点スコアの高いものから順に、規定数に達するまでのそれぞれのもの（点）が、特徴点として採用される。
【００５２】
Ｈａｒｒｉｓで使用されるエッジは、画像のコントラスト（輝度値）変化を反映するため、照明条件が多少、変化する程度では、画像のコントラストは保存され、エッジは消失しない。この事から、遮蔽によって、障害物などに隠され、エッジ自体が消失する場合を除いては、エッジは、フレーム間で消失する可能性は低い。そのため、エッジ情報をベースとした特徴点スコアの高い点は、特徴点データ１と、特徴点データ２とで共通して存在する可能性が高くなる。この性質を利用し、特徴点スコアを、選択の基準として使用する場合には、ある特定の閾値よりもスコアの高い特徴点を選択する事となる。
【００５３】
なお、ここで、特徴点スコアを用いて、特徴点を選択する場合、前記特定の閾値は、画像内の平均スコアの値を用いてもよいし、複数の画像の、時系列上での、スコアの平均などを基に決めてもよい。更に、前記特定の閾値は、画像全体で、１つの閾値を用いる必要はなく、領域ごとに生成される閾値に基づいて、特徴点の選択を行ってもよいし、領域ごとに生成される閾値は、単一の画像を基に決めてもよいし、時系列上の複数の画像を利用して決めてもよい。また、何らかのオブジェクトの認識を行った場合の、オブジェクトのスコアを基に、スコアを決めてもよい。これは、例えば、最初、画像１に１０００点存在した特徴点を、１００点にまで絞る事を意味する。この場合、最終的には、回転行列算出部１１２で、画像１の１００点と、画像２の１００点との中から、揺れ量を推定するために必要な特徴点ペアを決定する事になる。
【００５４】
図２は、特徴点の例を示す図である。
【００５５】
この特徴点抽出部１０４を実現する代表的な方法としては、ＨａｒｒｉｓやＳＩＦＴなどの方法が存在する。
【００５６】
特徴点データ蓄積部１０５は、画像１（第１の画像１０１Ｉ）から生成された特徴点データ１（データ１０５ｄ：図１）を蓄積している。画像１は、前記特徴点抽出部１０４で特徴データ２が抽出された画像２（第２の画像１０２Ｉ）の、時系列上での直前に撮影された画像である。
【００５７】
角度算出部１０６では、特徴点抽出部１０４で算出された、縦・横のエッジ情報から、画素ごとの角度情報を生成する。
【００５８】
図３Ａ、図３Ｂは、それぞれ、Ｓｏｂｅｌフィルタを示す図である。
【００５９】
そして、エッジ情報の生成に、Ｓｏｂｅｌフィルタを用いた場合、ｘ成分には、図３Ａの行列を用い、ｙ成分には、図３Ｂの行列を用いて、エッジ情報を算出する。
【００６０】
なお、ここでは、係数行列は、３＊３行列としたが、５＊５行列、または、７＊７行列などのような、より大きな行列を用いてもよい。一般的な係数行列は、ｋを２以上の整数として、（２ｋ−１）＊（２ｋ−１）の正方行列となる。
【００６１】
図４は、角度検出で検出している角度の例を示す図である。
【００６２】
生成されたｘ成分、ｙ成分の値を、ｇｘ、ｇｙとすると、角度の算出式は、
θ=arctan( gy/gx )
となる。
【００６３】
この角度の算出の処理は、注目画素の輝度勾配の方向に対する法線ベクトルを算出している事に相当する。この角度算出処理を、全ての画素に対して行い、それぞれの画素について、法線ベクトルの算出をする。
【００６４】
図５は、エッジ検出を行った画像から、角度ヒストグラムを作成する例を示す図である。
【００６５】
角度ヒストグラム作成部１０７では、角度算出部１０６で算出された、各画素内の角度情報から、横軸を角度、縦軸を、それぞれの角度での度数とした角度ヒストグラムを作成する。
【００６６】
なお、ここで、角度ヒストグラム作成部１０７で生成するヒストグラムの、比較的好ましい分解能は、撮影されたカメラの特性によるが、角度ピーク判定部１０８で、ピークを検出可能とするには、例えば、概ね１度程度でよい。
【００６７】
ここで、画像上では、ノイズによる影響で、画素値が変動する影響を考慮してもよい。つまり、例えば、角度ヒストグラムの分解能を１度とした場合に、ある画素での角度が１０度である時に、角度ヒストグラムの、１０度の度数を１つ加算する代わりに、１０度の度数を２加算し、９度・１１度の度数をそれぞれ１加算のような、重み付けを行ってもよい。
【００６８】
なお、本実施例では、レンズの歪みのない、通常の画角のレンズで撮影された画像を想定している。一方、レンズ歪みの存在するレンズで撮影された画像を用いる場合には、エッジの角度情報も、レンズ歪みを伴った形で得られるため、正しい角度が得られない。この場合、正しい角度を得るために、エッジ情報を算出する前に、各レンズの歪みを除去する処理を行った後の画像を用いる必要がある。
【００６９】
角度ピーク判定部１０８では、角度ヒストグラム作成部１０７で作成された角度ヒストグラム上のピークを持つ角度（極大点の角度１１０ｂなどを参照）を求める。ここで、角度ヒストグラムから、ピーク角度を求める背景は、下記の通りである。
【００７０】
すなわち、画像中に、ビルや建物のような構造物が写っていた場合、その構造物上のエッジは、直線（図２の直線１１０Ｌを参照）の一部として、画像中に存在する。直線の一部として存在するエッジの表す角度は、ほぼ同一の角度となる（図２における、直線１１０Ｌ上のそれぞれの位置１１０Ｌｐでの、その直線１０１Ｌの法線の角度１１０ｂ１などを参照）。一方で、構造物以外の領域から算出されるエッジの形状は、一般的に、構造物のように、規則的ではないため、角度は、分散する傾向が強い。
【００７１】
このため、構造物上のエッジの表す角度は、角度ヒストグラム上では、ピークとして表れ易い。この性質を用いる事で、角度ヒストグラム上のピークから、画像中の構造物領域を推定可能となる。
【００７２】
なお、ここで、構造物のエッジの持つ角度としては、地面に対して水平の角度、垂直の角度など、複数の角度が存在する。このため、角度ピーク判定部１０８で探索される角度のピーク数は、１つではなく、２つ以上であってもよい。
【００７３】
また、角度ピーク判定部１０８で、ピークが存在しないと判定される場合には、構造物領域が存在しないと判定された事となる。このため、構造物領域マスクの生成は行わず、特徴点抽出部１０４で生成された特徴点を、そのまま使用する事になる。
【００７４】
構造物領域推定部１０９では、角度ピーク判定部１０８で、ピークとされた角度（図５の角度１１０ｂ１を参照）を持つエッジの、画像上の位置を、特定・補間する。このピーク角度を持つエッジの、画像上の位置を、遠景に存在する構造物の位置であるとして、構造物領域マスク生成部１１０で、マスク（構造物領域マスク、マスク画像）を生成する。つまり、生成されるマスクのマスク領域は、構造物が撮影された、それぞれの位置（図２の位置１０１ｓなどを参照）を含むと共に、他の位置（位置１０１ｎを参照）を含まない領域でもよい。そして、構造物領域マスク部１１１で、特徴点抽出部１０４で選択された特徴点をマスクする。つまり、構造物が撮影された位置（位置１０１ｓ）である特徴点は、回転行列算出部１１２で用いられる特徴点として選択される一方で、他の位置（位置１０１ｎ）である特徴点は、選択されなくてもよい。
【００７５】
図６は、角度ヒストグラムのピーク角度（図５の角度１１０ｂなどを参照）を持つ画素から、構造物領域マスクを作った例を示す図である。
【００７６】
構造物領域推定部１０９では、ピーク角度位置の特定に加え、補間も行う。このように補間も行うのは、角度ピーク判定部１０８で、ピーク角度と判定された角度を持つ画素の位置だけでは、特徴点をマスクするために必要な構造物領域を、十分に覆いきれない事があり、構造物領域を抜き出すマスクとしては、十分ではない事があるためである。
【００７７】
このように、十分に覆いきれない事がある主要な原因は２つある。
【００７８】
つまり、１つの原因は、特徴点抽出部１０４で生成される特徴点スコアに関する原因である。そして、もう１つの原因は、角度ヒストグラム作成部１０７で生成される角度ヒストグラムのビン幅、つまり、角度分解能に関する原因である。
【００７９】
つまり、特徴点スコアについては、画像の輝度値を基に算出している。このため、その画像の照明条件や、フレーム間で、カメラの位置が変わった事による、見え方の変化の影響が発生することがある。また、フレーム間で、特徴点の大まかな位置は合っているものの、ノイズにより、細かな位置が合わず、特徴点の位置に、誤差が発生する事がある。
【００８０】
他方、角度ヒストグラムの角度分解能については、その角度分解能を高くすればするほど、ピーク角度と判定される角度範囲が狭まる。このため、画像上の、構造物と判定される画素は少なくなり、構造物領域の覆う範囲が狭すぎるという問題が出てくる。
【００８１】
逆に、角度分解能を低くすればするほど、ピーク角度と判定される角度範囲は広がるため、画像上で、ピーク角度を持つ画素が増える。この事で、構造物と判定される画素は多くなる一方で、非構造物領域にあるにも関わらず、構造物領域にあると判定される画素も増えてしまう。
【００８２】
このように、トレードオフの関係がある。
【００８３】
上記２点の影響で、十分に覆いきれない事がある。そこで、これが生じるのを低減するため、構造物領域推定部１０９では、ピーク角度位置の特定に加え、構造物領域の補間も行う。
【００８４】
図８は、構造物領域の拡大方法の例を示す図である。
【００８５】
補間方法の例を示すため、図８を用いて説明する。
【００８６】
まずは、先に述べた、特徴点スコアによる、特徴点位置の誤差の影響を抑えるための補間処理が説明される。
【００８７】
構造物領域推定部１０９は、図８の（ａ）欄のような、画像の領域の処理がされる際に、ピーク角度を持つ画素に注目し（図８の（ｂ）欄の、点線の円で特定される画素８ｂ１を参照）、角度算出部１０６で算出された法線ベクトルの方向（方向８ｂ２）に、その画素８ｂ１の領域を拡大し（図８の（ｃ）欄）、その後、法線ベクトル方向に拡大した領域（領域８ｄ１）の周辺を更に拡大する（図８の（ｅ）欄における、周辺の領域８ｅ１を参照）。
【００８８】
そして、このような、構造物のエッジ上のピーク角度に注目した、領域の拡大処理を、全ての、ピーク角度を持つ画素の位置で行い（図８の（ｅ）欄）、構造物の領域を拡大する（図８の（ｆ）欄、拡大前の領域８ｆ１、拡大後の領域８ｆ２を参照）。
【００８９】
なお、この例では、法線ベクトル方向に、２ピクセル分だけ補間を行っているが、画像サイズや画角などに応じて、変更してよい。
【００９０】
図７は、図６の構造物領域マスクの構造物領域を拡大処理した例を示す図である。
【００９１】
このように、構造物の周辺領域を拡大する事で、特徴点位置の誤差の影響を抑える。
【００９２】
なお、ここで、特徴点抽出の特性に応じて、補間方式を拡張しても良い。例えば、特徴点抽出の方式として、Ｈａｒｒｉｓを用いた場合には、コーナー上に特徴点が存在し易いので、コーナー上では、補間するピクセル数を大きくするなどである。
【００９３】
図９は、構造物領域の補間方法の例を示す図である。
【００９４】
次に、角度ヒストグラムの分解能のトレードオフを解決するための補間処理を加える。上記の、特徴点位置の誤差の影響を抑えるための補間処理後（図９の（ｂ）欄）、次の通りである場合が考えられる。その場合とは、ピーク角度との角度差が一定以内で、かつ、法線ベクトルの方向（図８の方向８ｂ２を参照）に垂直な方向（図９の矢印線を参照）の延長上に、同じ法線ベクトルを持つ領域が存在する場合（図９の（ｂ）欄）である。この場合に限り、構造物上のエッジが、照明条件やノイズなどにより欠落したと考え、領域９ｃ１も構造物領域として、補間を行う（図９の（ｃ）欄）。
【００９５】
これは、画像中の構造物上のエッジであれば、同じピーク角度を持つエッジに挟まれた、ピーク角度と近い角度を持つ領域は、同一構造物上に存在するエッジである可能性が高い事を利用している（領域９ｃ１を参照）。
【００９６】
このようにして、構造物領域推定部１０９では、構造物上のエッジと、角度情報との特性を用いて、領域の補間を行い、最終的な、構造物領域のマスクを作成する（図９の（ｄ）欄）。
【００９７】
なお、このような、構造物領域マスク生成部１１０で生成されるマスクは、例えば、構造物領域であると判定された領域を１、構造物領域でないと判定された領域を０と表現する、２値のマスクを適用してもよい。
【００９８】
図１０Ａ、図１０Ｂの各々は、構造物領域マスクの重みを、２値より多くする場合の例を示す図である。
【００９９】
なお、図１０Ｂでは、図１０Ａが、より模式的にされた図が示される。適宜、図１０Ｂも参照されたい。
【０１００】
また、例えば、図１０Ａのように、同じ法線ベクトルａの延長上に、法線ベクトルａと直交する角度を持つ法線ベクトルｂが存在する場合が考えられる。この場合、その直交する領域の周辺は、縦・横エッジの交差するコーナーであるとして、直交する領域の周辺の領域の値を２、構造物領域であると判定された領域の値を１、構造物領域でないと判定された領域の値を０とするようなマスクを作成し、作成されたマスクを適用してもよい。なお、上述の説明では、多値の例として、値の種類が、０〜２の３種類である例が示された。同様に、値の種類が、４種類以上などでもよい。
【０１０１】
構造物領域マスク部１１１では、構造物領域マスク生成部１１０で生成されたマスクを、特徴点抽出部１０４で生成された特徴点にかける。これにより、特徴点抽出部１０４で生成された特徴点について、構造物領域から生成された特徴点と、近景や自然物などの非構造物領域から生成された特徴点との区別が可能になる。
【０１０２】
また、構造物領域マスク部１１１で生成されるマスクが、構造物・非構造物領域が区別されるだけではなく、コーナー領域などを含む複数の領域の区別が可能なマスクである場合には、マッチング処理部で、各特徴点の重みを変更する事で対応する。
【０１０３】
こうして、構造物領域マスク生成部１１０で生成されたマスクを適用する。この事で、画像中に構造物領域が存在する場合には、画像中の遠景領域である構造物領域上の特徴点で、マッチングが可能となる。これにより、マッチング精度の向上が見込める。このため、構造物領域から優先的に特徴点を採用する。
【０１０４】
なお、逆に、構造物領域が存在しない場合には、特徴点抽出部１０４で生成された特徴点を、そのまま使用する。また、構造物領域マスクをかける事で、特徴点の数が少なくなり過ぎる場合には、構造物領域から優先的に特徴点を選択し、不足している分を、特徴点選択基準の高いものから一定数までの、非構造物領域からの特徴点で補う。
【０１０５】
ここで、こうして、不足している特徴点を、非構造物領域から補う意図としては、次の理由による意図が説明される。つまり、計算資源が一定の環境下で、計算量が、特徴点の数に依存するマッチング処理の場合、計算資源を使い切らない程度の特徴点数であるとの条件を満たす限りにおいては、次の通りである。つまり、構造物領域上に存在する少数の特徴点のみを、マッチング処理に使用する必要がなくて、構造物領域以外にも、マッチングに使用可能な特徴点が存在して、多くを使用可能である可能性がある。このため、マッチング処理に成功する可能性が向上するという理由が挙げられる。
【０１０６】
回転行列算出部１１２は、構造物領域マスク部１１１で、最終的に選択された特徴点を用いて、画像１、画像２の間に生じた、カメラの動きを表す回転行列の算出を行う。回転行列の算出方法は、ＲＡＮＳＡＣ（RANdom SAmple Consensus）などの手法を用いて算出する方法でもよい。
【０１０７】
画像補正部１１３は、回転行列算出部１１２で算出された回転行列を用いて、画像１、画像２の間で生じた、カメラの動きを補正する。
【０１０８】
図１１は、実施の形態１における画像処理装置のフローチャートである。
【０１０９】
画像入力部１０３は、撮像部１０１で撮影された画像２と、画像データ蓄積部１０２に蓄積された画像１とを読み込み、特徴点抽出部１０４は、画像１の特徴点データ１を抽出する（ステップＳ５０１）。
【０１１０】
次に、角度算出部１０６は、画像１から、縦・横のエッジを算出し（ステップＳ５０２）、そのエッジを基に、角度情報を生成する（ステップＳ５０３）。
【０１１１】
角度ヒストグラム作成部１０７は、生成した角度情報から、角度ヒストグラムを作成（生成）し（ステップＳ５０４）、角度ピーク判定部１０８は、角度ヒストグラム上のピークを探索する（ステップＳ５０５）。
【０１１２】
そして、角度ピークが存在するかどうかの判定を行い（ステップＳ５０６）、存在する場合には、そのピークが、構造物を表す程に大きいかどうか判定を行う（ステップＳ５０７）。
【０１１３】
構造物が存在すると判定された場合（ステップＳ５０７：ｙｅｓ）、構造物領域推定部１０９は、構造物領域マスクを生成するため、構造物の領域拡大処理を行う（ステップＳ５０８）。
【０１１４】
構造物領域拡大後、構造物領域マスク生成部１１０は、構造物領域のマスクを生成し（ステップＳ５０７：ｙｅｓ）、生成されたマスクをかける（ステップＳ５１０）。構造物領域マスク後、構造物領域に存在する特徴点の数を調べ（ステップＳ５１１）、特徴点の数が、規定数に達していない場合には（ステップＳ５１１：ｎｏ）、特徴点を、非構造物領域から追加する（ステップＳ５１２）。
【０１１５】
次に、特徴点データ蓄積部１０５から、画像２の特徴点データ２を読み込む。
【０１１６】
その後、回転行列算出部１１２で、画像１、画像２間で生じた動きを表す回転行列を算出し（ステップＳ５１３）、画像補正部１１３は、算出された回転行列を用いて、画像の補正を行う（ステップＳ５１４）。
【０１１７】
かかる構成によれば、構造物領域マスク生成部１１０、および、構造物領域マスク部１１１において、構造物領域の特徴点が取得可能になることにより、近景領域を含む映像、または遠景領域に自然物などを多く含む映像でのマッチングが可能となり、正しい揺れ量を推定できる。
【０１１８】
こうして、要するに、正確な位置合わせが、より確実にできることが達成される。つまり、例えば、第１の画像と、第１の画像の直後の第２の画像とのそれぞれを取得する画像取得部と、特徴点を抽出する特徴点抽出部と、第１の画像を基にマスク画像を生成するマスク画像生成部と、第１の画像の特徴点に、マスクをかける特徴点マスク部と、マスクされた第１の画像の特徴点と、第２の画像の特徴点を用いて算出された回転行列を用いる画像補正部とを備える装置が構築される。
【０１１９】
（実施の形態２）
図１２は、本発明の実施の形態２の全体図である。
【０１２０】
図１２において、図１と同じ構成要素については適宜、同じ符号を用い、その説明を適宜、省略する。
【０１２１】
実施の形態１との構成要素の違いは、特徴点選択部１１４である。特徴点選択部１１４では、特徴点抽出部１０４で生成された特徴点データ１の１以上の特徴点の中から、特徴点スコア以外の基準を用いて、マッチング処理に用いる特徴点の選択を行う。
【０１２２】
ここで、特徴点抽出部１０４では、画素ごとに、エッジの交差度を表す特徴点スコアを算出する。このため、理論上は、画素ごとに、特徴点スコアが存在する。一方、算出された全ての特徴点を用いて、マッチング処理を行う事は、計算コストや、演算精度の面から好ましくない。このため、実施の形態１では、特徴点スコアの高い順に、規定数の特徴点を用いていた。しかしながら、特徴点スコアは、輝度値のみを基準としているスコアである。このため、テクスチャのような、コントラスト差が激しい物体が遠景に集中して存在する場合などでは、カメラの揺れ量の推定は失敗する事がある。これは、輝度値のみをベースとした特徴点スコアだけでは、画像全体の特徴を反映できないという理由による。そのため、特徴点スコア以外の基準が必要となる。
【０１２３】
その１つに、画像内の特徴点の位置関係がある。特徴点の位置関係を選択基準として用いるのは、次のような事を避けるためである。つまり、ある特定の領域に、特徴点スコアの高い１以上の特徴点が密集して、それらの１以上の特徴点が選択された場合には、画像の局所的な特徴点を多く用いる事になってしまい、マッチングが失敗してしまう場合がある。このような事が生じるのが避けられる。また、このような、複数の特徴点の間の距離を採用する場合、画像上での、一定間隔の距離は、例えば、撮像部１０１の焦点距離や画角などに応じて、動的に設定される。特徴点選択部１１４では、このように、特徴点スコア以外の基準を用い、マッチングに使用する特徴点の選択を行う。
【０１２４】
なお、ここで、特徴点スコア以外の特徴点選択基準として、特徴点の周囲の輝度勾配情報を用いてもよい。また、特徴点スコア以外の特徴点選択基準として、画像内の複数の特徴点の間の、相対的な距離の関係を用いてもよい。なお、特徴点選択部１１４では、どの特徴点が、画像内での遠景／近景領域のどちらの特徴点にあたるかは考慮されていない。このため、特徴点選択部１１４で生成される特徴点は、遠景／近景領域、両方の領域から生成された特徴点を含む。
【０１２５】
こうして、画像中の縦・横方向のエッジ情報を基にして生成される角度情報から得られる傾き角度ヒストグラムを利用してもよい。そして、この利用をする事で、画像中の遠景領域に存在する構造物領域を抽出し、拡大・補間処理を行う事で、画像中の遠景領域に存在する構造物領域が抽出可能となる。この構造物領域から得られる特徴点を優先的に用い、２つのフレーム間に生じた、カメラの揺れ量を推定する事で、近景領域が含まれている場合でも、遠景領域に対する、カメラの揺れ量が推定可能な画像処理装置を提供してもよい。
【０１２６】
このように、例えば、構造物とは、ビルや柱、窓などの、幾何学的な構造を持つオブジェクトを指す。すなわち、構造物では、揺れ量を推定するために必要な条件、つまり、フレーム間の動きが、殆ど動きの生じていない、もしくは、動きが生じていても小さくかつその動きの方向が一様であるという条件を満たされる。また、構造物は、その幾何学的な構造ゆえに、画像上のエッジが、特定の線分上に分布する傾向が高いという特徴を有する。
【０１２７】
そして、実施の形態によれば、構造物領域マスク生成部１１０、および、構造物領域マスク部１１１において、このような構造物の領域の特徴点が取得可能になる。このことにより、近景領域を含む映像、または、遠景領域に、自然物などを多く含む映像でのマッチングが可能となり、正しい揺れ量を推定できる。
【０１２８】
なお、こうして、例えば、複数の構成が組合わせられ、組合わせからの相乗効果が生じてもよい。これに対して、従来例では、これらの複数の構成のうちの全部または一部を欠き、相乗効果は生じない、この点で、本技術は、従来例とは相違する。
【０１２９】
なお、例えば、撮像部１０１と、画像処理装置１００とが含まれるシステム１００ｘ（図２）が構築されてもよい。
【０１３０】
なお、この画像処理装置１００において、例えば、次の動作がされてもよい。
【０１３１】
つまり、画像１は、近景領域と、遠景領域とを含んでもよい。
【０１３２】
ここで、先述の通り、近景領域は、例えば、比較的近い位置が撮影された領域であり、人（通行人など）等が写されてもよい。
【０１３３】
他方、遠景領域は、例えば、カメラから、比較的遠い位置が撮影された領域であり、自然物（風に揺れる木など）、および、柱、窓などの、幾何学的な構造を持つオブジェクト（構造物）等が写されてもよい。
【０１３４】
そして、先述の通り、近景領域は、通行人が写されるなどのために、揺れ量の推定に用いるのに比較的適切でない特徴点を含む一方で、遠景領域は、揺れ量の推定に用いられるのに比較的適切な特徴点を含んでもよい。
【０１３５】
しかしながら、単に位置が遠いというだけで、その位置の物の特徴点を用いて、揺れ量の推定がされると、構造物以外の、自然物（風に揺れる木など）における特徴点での推定までがされてしまう。
【０１３６】
そこで、遠景領域に写された構造物に表れる、線分上に分布したエッジが検出されてもよい（Ｓ５０２〜Ｓ５１０）。
【０１３７】
なお、検出されるエッジは、具体的には、例えば、先述のように、複数のエッジのうちの、角度ヒストグラムでのピークの角度のエッジなどである（Ｓ５０６：ｙｅｓ等を参照）。
【０１３８】
そして、エッジが検出された構造物における特徴点により、揺れ量の推定がされてもよい（ステップＳ５１３）。
【０１３９】
つまり、具体的には、例えば、先述のように、揺れ量を特定する回転行列が生成されてもよい（ステップＳ５１３）。
【０１４０】
なお、推定された揺れ量に対応する補正が、画像２にされてもよい（Ｓ５１４）。
【０１４１】
こうして、遠景領域に自然物を多く含む映像などにおいても、正確な位置合わせ（適切な推定）が可能で、確実に、適切な推定ができる。
【０１４２】
なお、構造物領域マスク生成部１１０を含んだマスク生成部１１０ｘがあると考えられてもよい。そして、より具体的には、例えば、角度算出部１０６〜構造物領域推定部１０９も、このマスク生成部１１０ｘに含まれてもよい。
【０１４３】
このように、例えば、次の動作がされてもよい。
【０１４４】
第１の画像１０１ａ（図１３）と、第２の画像１０１ｂとが撮影される間に、それぞれの画像を撮影する撮像部１０１が、動き１０１ｍをしてもよい。
【０１４５】
例えば、第１の画像１０１ａは、先述された、先に撮影された第１の画像１０１Ｉ（図１など）である一方で、第２の画像１０１ｂは、後に撮影された第２の画像１０２Ｉでもよい。
【０１４６】
第１の画像１０１ａには、第１の位置１０１ｐがあってもよい。
【０１４７】
第２の画像１０１ｂには、第１の位置１０１ｐへと撮影された箇所と同じ箇所が撮影された第２の位置１０１ｑがあってもよい。
【０１４８】
これら第１、第２の位置１０１ｐ、１０１ｑから、動き１０１ｍが特定されてもよい。
【０１４９】
なお、図１３では、図示の便宜上、第２の位置１０１ｑが図示された箇所は、模式的に、第１の位置１０１ｐが図示された箇所から、ある程度、大きく離れた箇所である。
【０１５０】
なお、具体的には、これら第１、第２の位置１０１ｐ、１０１ｑに加えて、さらに、他の情報も用いられることにより、上述の特定が行われてもよい。
【０１５１】
第１、第２の画像１０１ａ、１０１ｂのうちの一方の画像１０１Ｉが、補正後の画像１１３ａへと補正されてもよい（画像補正部１１３）。
【０１５２】
つまり、一方の画像１０１Ｉにおいては、例えば、先述された、第１の位置１０１ｐと、第２の位置１０１ｑとの間での、位置のズレなどの、撮像部１０１の動き１０１ｍにより生じた、位置のズレがある。
【０１５３】
そして、補正後の画像１１３ａは、一方の画像１０１Ｉが有する、このようなズレが補償された、上述のズレが打ち消された後の画像でもよい。
【０１５４】
なお、一方の画像１０１Ｉは、例えば、後で撮影された方の第２の画像１０１ｂである。
【０１５５】
しかしながら、撮像部１０１が、撮影をさせるユーザの身体へと装着されることが考えられる。
【０１５６】
例えば、子供の運動会などにおいて、その子供の父親の身体へと装着された撮影装置（例えば、デジタルカメラ、ビデオカメラなど）が備える撮像部１０１により撮影がされて、その撮影装置を、手で、父親が持つ必要が生じるのが回避されてもよい。
【０１５７】
また、警察の車両などの車両に取り付けられた撮像部１０１で、撮影が行われることなども考えられる。
【０１５８】
また、先述のように、歩行時に、歩行しながら、撮影がされたり、ファインダレスで、撮影されることなども考えられる。
【０１５９】
これらのケースなどでは、動き１０１ｍの大きさが、比較的大きいことが想定される。
【０１６０】
そこで、これらのケースなどにおいて、次の動作が行われてもよい。
【０１６１】
すなわち、第１の画像１０１ａのなかの位置１０１ｘとして、構造物が撮影された位置１０１ｓ（図１３）と、他の位置１０１ｎとがあってもよい（図２などを参照）。
【０１６２】
構造物は、例えば、建物などである。
【０１６３】
他の位置１０１ｎは、人物、森（林）が撮影された位置などである。
【０１６４】
構造物の位置１０１ｓは、その構造物が、人物などよりも、撮像部１０１から、より遠くにあって、第１の画像１０１ａにおける遠景領域に含まれることが想定される。
【０１６５】
また、構造物は、人物が動いたり、森の木の枝、葉などが、風の強さに合わせて動いたりするのとは違って、動かず、静止していると考えられる。
【０１６６】
逆に、他の位置１０１ｎは、近景領域に含まれ、また、その位置１０１ｎに映された人物などが、動くことが多いことが想定される。
【０１６７】
このため、構造物の位置１０１ｐを、上述の第１の位置１０１ｐとした、動き１０１ｍの特定の処理がされると、比較的適切な処理がされる。
【０１６８】
適切とは、例えば、特定される動き１０１ｍの精度が、比較的高い精度であったり、特定が、失敗し難かったりすることなどを意味する。
【０１６９】
逆に、他の位置１０１ｎを、第１の位置１０１ｐとした、特定の処理がされると、比較的不適切な処理がされる。
【０１７０】
不適切とは、例えば、特定される動き１０１ｍの精度が、比較的低い精度であったり、特定が、失敗し易かったりすることなどを意味する。
【０１７１】
そこで、位置１０１ｘ（図１３）が、構造物が撮影された位置１０１ｓであるか、他の位置１０１ｎであるかが判定されてもよい（特徴点マスク部１１１ｘ、Ｓ５０９などを参照）。
【０１７２】
つまり、第１の画像１０１ａでは、構造物の直線（図２の直線１１０Ｌを参照）が表れてもよい。
【０１７３】
なお、この直線は、例えば、その直線が表れた構造物である建物（領域１０１Ｆの被写体）の輪郭の直線、または、その建物の窓枠の直線などである（図２などを参照）。
【０１７４】
すなわち、位置１０１ｘが、その直線上の位置である場合には、構造物の位置１０１ｐであると判定され、その直線上の位置でない場合には、他の位置１０１ｎと判定されてもよい。
【０１７５】
なお、具体的には、直線（直線１１０Ｌ）が検出されることにより、位置１０１ｘが、検出された直線上の位置か否かが判定されて、上述の処理がされてもよい。
【０１７６】
また、次の第１、第２の条件が考えられる。
【０１７７】
すなわち、第１の条件は、位置１０１ｘに、直線が作るエッジがあるとの条件である。
【０１７８】
第２の条件は、位置１０１ｘ（例えば、図２の位置１０１ｓ）にある、そのエッジの角度（図２における、エッジの法線の角度１１０ｂ１を参照）に対応した角度に関する。なお、例えば、特徴点マスク部１１１ｘの一部は、構造物領域マスク部１１１である。
【０１７９】
つまり、対応した角度は、例えば、位置１０１ｘの角度（角度１１０ｂ１）と同じ角度（角度１１０ｂ１）でもよい。
【０１８０】
また、対応した角度は、例えば、位置１０１ｘの角度と同じ角度（角度１１０ｂ１）、または、その角度とは９０度異なる角度（角度１１０ｂ２）の何れかである角度などでもよい。
【０１８１】
すなわち例えば、対応した角度とは、その角度（例えば角度１１０ｂ１）のエッジがある位置（位置１１０Ｌｐを参照）の個数（図５の個数１１０ｂＮを参照）が、閾値以上である場合には、位置１０１ｘが、直線上の点である（と推定される）角度である。
【０１８２】
すなわち、第２の条件は、位置１０１ｘのエッジの角度に対応する角度（上述）のエッジがある位置（位置１１０Ｌｐなど）の個数（図５の個数１１０ｂＮを参照）が、閾値より多いとの条件である。
【０１８３】
そして、これら第１、第２の条件が何れも満たされる場合に、位置１０１ｘが、構造物が撮影された位置１０１ｓと判定され、何れかの条件が満たされない場合には、他の位置１０１ｎと判定されてもよい。
【０１８４】
これにより、構造物が撮影された位置１０１ｓ（図２）に基づいて、動き１０１ｍの特定がされ、他の位置１０１ｎに基づいた特定がされず、特定される動き１０１ｍの精度が、比較的高くできたり、特定の失敗が生じ難くできる。
【０１８５】
なお、ひいては、特定された動き１０１ｍに基づいた、一方の画像１０１Ｉの補正がされて、高い精度での補正ができたり、補正の失敗が、生じに難いようにできる。
【０１８６】
なお、さらに具体的には、先述の通り、マスク生成部１１０ｘにより、領域（マスク領域）を特定するデータ１１０ａ（図１３）が生成されてもよい。
【０１８７】
なお、生成されるデータ１１０ａは、例えば、先述されたマスク画像を特定するデータでもよい。
【０１８８】
特定される領域は、その領域に、位置１０１ｘが含まれる場合には、その位置１０１ｘが、構造物が撮影された位置１０１ｓである一方で、含まれない場合には、他の位置１０１ｎである領域でもよい。
【０１８９】
そして、特徴点抽出部１０４により、当該特徴点抽出部１０４により抽出された特徴点（先述）を、上述の位置１０１ｘとして特定するデータ１０４ａが生成されてもよい。
【０１９０】
そして、特定される位置１０１ｘが、生成されたデータ１１２ａにより特定される、上述の領域（マスク領域）に含まれる場合に、その位置１０１ｘが、構造物の位置１０１ｓと判定され、含まれない場合には、他の位置１０１ｎと判定されてもよい。
【０１９１】
そして、構造物の位置１０１ｓと判定された位置１０１ｘを特定し、他の位置１０１ｎと判定された位置１０１ｘを特定しないデータ１１２ａが生成されてもよい。
【０１９２】
そして、生成されたデータ１１２ａにより特定される位置１０１ｘに基づいて、その位置１０１ｘを、上述の第１の位置１０１ｐとした、動き１０１ｍの特定の処理がされて、特定された動き１０１ｍを示すデータ１１２ｄが生成されてもよい。
【０１９３】
なお、生成されるデータ１１２ｄは、例えば、先述された、特定された動き１０１ｍを特定する回転行列のデータなどである。
【０１９４】
そして、生成されたデータ１１２ｄに基づいて、先述された、一方の画像１１０Ｉから、補正後の画像１１３ａへの補正がされてもよい。
【０１９５】
なお、このような、特定された動き１０１ｍに基づいた補正の処理は、例えば、従来技術が流用された処理などでもよい。
【０１９６】
なお、先述のように、構造物が撮影されたと判定された位置１０１ｘとして、２以上の個数の位置１０１ｘのうちのそれぞれの位置１０１ｘが特定されてもよい。
【０１９７】
そして、それぞれの位置１０１ｘから特定される動きの平均の動きなどが、上述された、動き１０１ｍとして特定されてもよい。
【０１９８】
このように、動き１０１ｍの特定の処理において、構造物が撮影された位置１０１ｓと判定された位置１０１ｘが、第１の位置１０１ｐとして用いられる共に、他の位置１０１ｎと判定された位置１０１ｘが、第１の位置１０１ｐとして用いられなくてもよい。
【０１９９】
なお、第１の画像１０１ａのなかにある直線（図２の直線１１０Ｌ）が特定されてもよい。そして、特定された直線上に、位置１０１ｘがあるか否かが判定されることにより、先述された、位置１０１ｘが、構造物が撮影された位置１０１ｓであるか否かの判定がされてもよい。
【０２００】
なお、画像処理装置１００、および、撮像部１０１とを備えるカメラ（デジタルカメラなど）が構成されてもよい。
【０２０１】
また、撮像部１０１であるデジタルカメラ等と、撮像部１０１により撮影された第１、第２の画像１０１ａ、１０１ｂの画像処理をするコンピュータ（パーソナルコンピュータなど）である画像処理装置１００とを含んでなるシステム１００ｘなどが構成されてもよい。
【０２０２】
なお、撮像部１０１の動き１０１ｍは、例えば、撮像部１０１を持つ、ユーザの手の手首の関節などの、予め定められた中心の回りでの、回転の動きでもよい。このような、回転の動きを特定する回転行列であるデータ１１２ｄが生成されてもよい。
【０２０３】
なお、こうして、複数の基準を用いて、補正の処理に用いられる特徴点の選択が行われてもよい。つまり、例えば、第１の基準での条件が満たされ、かつ、第２の基準での条件も満たされる特徴点が特定（選択）され、特定された特徴点が用いられてもよい。第１の条件は、その特徴点が、先述のマスク領域に含まれるとの条件である一方で、第２の条件は、その他の適切な条件でもよい。
【０２０４】
なお、本発明について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。この実施の形態に対して、当業者が思いつく変形を施して得られる形態も本発明に含まれる。また、実施の形態における構成要素を任意に組合わせて実現される別の形態も本発明に含まれる。
【０２０５】
上述の実施の形態は、単なる一例であり、本発明が適用されている限り、如何なるケースの形態も、本発明の範囲に属する。
【０２０６】
例えば、異なる複数の実施形態などの、互いに離れた箇所で記載された複数の要素が、適宜組合わせられてもよい。そのような、組合わせの形態も開示される。
【０２０７】
また、本発明は、画像処理装置として実現できるだけでなく、画像処理装置を構成する処理手段をステップとする方法としても、実現できる。そして、本発明は、それらステップをコンピュータに実行させるプログラムとしても、実現できる。更に、本発明は、そのプログラムを記憶したコンピュータ読み取り可能なＣＤ−ＲＯＭ等の記憶媒体としても、実現できる。
【０２０８】
また、上述の技術での各機能を実装した集積回路が構築されてもよいし、各機能をコンピュータに実現するためのコンピュータプログラムが構築されてもよいし、これらの種類以外の他の種類のものが構築されてもよい。なお、上述の集積回路は、ＬＳＩ（Large Scale Integration）でもよいし、他の種類の集積回路でもよい。また、上述の工程が含まれる方法、上述の各種のものを製造する製造方法、上述のコンピュータプログラムを通信する方法、記憶する方法などの、各種の方法が構築されてもよいし、上述のコンピュータプログラムが含まれるデータが有するデータ構造などが構築されてもよい。
【産業上の利用可能性】
【０２０９】
本発明にかかる画像処理装置は、デジタルスチルカメラ、ビデオカメラ、ウェアラブルカメラや、パーソナルコンピュータのソフトウェア等の映像補正処理装置として有用である。【０２１０】
特定される、撮像部の動き（図１３の動き１０１ｍを参照）の精度が高くできたり、動きの特定が、失敗し難いようにできる。
【符号の説明】
【０２１１】
１００  画像処理装置
１０１  撮像部
１０１ａ  第１の画像
１０１ｂ  第２の画像
１０１Ｆ  領域
１０２  画像データ蓄積部
１０３  画像入力部
１０４  特徴点抽出部
１０５  特徴点データ蓄積部
１０６  角度算出部
１０７  角度ヒストグラム作成部
１０７ｄ  ヒストグラム
１０８  角度ピーク判定部
１０９  構造物領域推定部
１１０  構造物領域マスク生成部
１１０ａＩ  マスク画像
１１０ｘ  マスク生成部
１１１  構造物領域マスク部
１１１ｘ  特徴点マスク部
１１２  回転行列算出部
１１３  画像補正部
【図１】
2011152053.tif 000003
【図２】
2011152053.tif 000004
【図３Ａ】
2011152053.tif 000005
【図３Ｂ】
2011152053.tif 000006
【図４】
2011152053.tif 000007
【図５】
2011152053.tif 000008
【図６】
2011152053.tif 000009
【図７】
2011152053.tif 000010
【図８】
2011152053.tif 000011
【図９】
2011152053.tif 000012
【図１０Ａ】
2011152053.tif 000013
【図１０Ｂ】
2011152053.tif 000014
【図１１】
2011152053.tif 000015
【図１２】
2011152053.tif 000016
【図１３】
2011152053.tif 000017
【国際調査報告】
2011152053.tif 000018
2011152053.tif 000019
2011152053.tif 000020