(57)【要約】【課題】パノラマ画像の合成の際の処理負担を軽減させることのできる新たな手法を提供すること。【解決手段】画像処理装置１は、パノラマ撮像方向を一方向とするパノラマ画像生成処理において、隣接する撮像画像の位置合わせを行う位置合わせ部５５と、この位置合わせ結果に基づいて隣接する撮像画像を合成することでパノラマ画像のデータを生成するパノラマ画像生成部５６と、を備える。このとき、位置合わせ部５５は、隣接する撮像画像間における複数の特徴点のベクトルを算出する特徴点追跡部５５１と、算出した複数の特徴点のベクトルの分布状況を算出する分布算出部５５２と、この分布状況に応じて複数の特徴点のベクトルを重み付けした上で、隣接する撮像画像間で位置合わせをするための代表ベクトルを算出する移動量算出部５５３と、を備え、算出した撮像画像のベクトルに応じて隣接する撮像画像の位置合わせを行う。【選択図】図２
2013187726.tif 000002
【特許請求の範囲】
【請求項１】
略一方向への移動を伴い連続的に撮像された複数の画像を取得する取得手段と、
前記取得手段により取得された画像に含まれる複数の特徴点の夫々について、隣接する画像間における前記特徴点のベクトルを算出するベクトル算出手段と、
前記ベクトル算出手段により算出された複数の前記特徴点の前記ベクトルの分布状況を算出する分布算出手段と、
前記ベクトル算出手段により算出された複数の前記特徴点のベクトルを前記分布算出手段の算出結果で重み付けすることで、前記隣接する画像間で位置合わせをするための代表ベクトルを算出する代表ベクトル算出手段と、
を備えたことを特徴とする画像解析装置。
【請求項２】
前記分布算出手段は、複数の前記特徴点の夫々を前記特徴点のベクトルの大きさに基づいて複数の階級に分類し、複数の前記階級の夫々に属する特徴点の数を、前記分布状況として算出する、
ことを特徴とする請求項１に記載の画像解析装置。
【請求項３】
前記代表ベクトル算出手段は、同一階級内に属する前記特徴点の数を重みとして用いて複数の前記特徴点のベクトルの加重平均を算出することで、前記隣接する画像間での代表ベクトルを算出する、
ことを特徴とする請求項２に記載の画像解析装置。
【請求項４】
前記分布算出手段は、前記ベクトル算出手段により算出された複数の前記特徴点のベクトルの最小値及び最大値の乖離度に基づいて、複数の前記階級の夫々を決定する、
ことを特徴とする請求項２又は３に記載の画像解析装置。
【請求項５】
前記代表ベクトル算出手段は、複数の前記特徴点のベクトルのうち所定の閾値を満たさない特徴点のベクトルを除いて、前記代表ベクトルを算出する、
ことを特徴とする請求項１乃至４のうち何れか１項に記載の画像解析装置。
【請求項６】
請求項１乃至５のうち何れか１項に記載の画像解析装置を備え、
前記代表ベクトル算出手段が算出した代表ベクトルに基づいて、前記隣接する画像同士を位置合わせする位置合わせ手段と、
前記位置合わせ手段が位置合わせした画像同士を合成することで合成画像を生成する生成手段と、
を更に備えたことを特徴とする画像処理装置。
【請求項７】
画像処理装置が実行する画像処理方法であって、
略一方向への移動を伴い連続的に撮像された複数の画像を取得する取得ステップと、
前記取得ステップの処理により取得された画像に含まれる複数の特徴点の夫々について隣接する画像間でのベクトルを算出する特徴点追跡ステップと、
前記特徴点追跡ステップの処理により算出した複数の前記特徴点の前記ベクトルの分布状況を算出する分布算出ステップと、
前記特徴点追跡ステップの処理により算出した複数の前記特徴点のベクトルを前記分布算出ステップの処理の算出結果で重み付けすることで、前記隣接する画像間で位置合わせをするための代表ベクトルを算出する代表ベクトル算出ステップと、
を備えたことを特徴とする画像解析方法。
【請求項８】
コンピュータを、
略一方向への移動を伴い連続的に撮像された複数の画像を取得する取得手段、
前記取得手段により取得された画像に含まれる複数の特徴点の夫々について隣接する画像間でのベクトルを算出するベクトル算出手段、
前記ベクトル算出手段により算出された複数の前記特徴点の前記ベクトルの分布状況を算出する分布算出手段、
前記ベクトル算出手段が算出した複数の前記特徴点のベクトルを前記分布算出手段の算出結果で重み付けすることで、前記隣接する画像間で位置合わせをするための代表ベクトルを算出する代表ベクトル算出手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像解析装置、画像処理装置、画像解析方法及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラや、撮像機能を有する携帯電話等においては、撮像画角の限界はレンズの焦点距離、撮像素子のサイズ等、装置本体が備えるハードスペックに依存している。そこで、近年では、ハードスペックを超えるような広角画像、例えばいわゆるパノラマ画像を得るための技術が開発されており、例えばパノラマ撮像が知られている。
【０００３】
図６は、パノラマ撮像の結果得られるパノラマ画像を示す図である。図６を参照して、上述のパノラマ撮像を実現するためには、ユーザは、例えば、シャッタスイッチを押下操作した状態を維持しながら、自身の体を軸にして、デジタルカメラを垂直方向にほぼ固定したまま水平方向に回転させるように移動させる。すると、デジタルカメラは、その間に複数回の撮像処理を実行し、図６（Ａ）に示す連続的な複数の画像Ｆ１，Ｆ２，Ｆ３，Ｆ４を撮像する。パノラマ撮像では、このように撮像された複数の画像Ｆ１〜Ｆ４の各データをパノラマ撮像方向（水平方向）に合成することによって、図６（Ｂ）に示すパノラマ画像Ｐ１のデータを生成する。
【０００４】
ここで、パノラマ画像Ｐ１のデータの生成には、画像Ｆ１〜Ｆ４のうち隣接する画像（例えば画像Ｆ１，Ｆ２）を位置合わせした上で各データを合成する必要があり、従来では、ＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）法と呼ばれる画像解析技術（非特許文献１）を用いることで隣接する画像の位置合わせを行う技術が知られている。このＲＡＮＳＡＣ法について、例えば、特許文献１には、画像の合成の際に、合成対象となる画像同士で対応する特徴点の変換行列を算出することにより、合成対象となる画像同士の位置合わせを行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−６５３７１号公報
【非特許文献】
【０００６】
【非特許文献１】Ｍ．  Ａ．  Ｆｉｓｃｈｌｅｒ  ａｎｄ  Ｒ．  Ｃ．  Ｂｏｌｌｅｓ，  ‘‘Ｒａｎｄｏｍ  ｓａｍｐｌｅ  ｃｏｎｓｅｎｓｕｓ：  Ａ  ｐａｒａｄｉｇｍ  ｆｏｒ  ｍｏｄｅｌ  ｆｉｔｔｉｎｇ  ｗｉｔｈ  ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  ｉｍａｇｅ  ａｎａｌｙｓｉｓ  ａｎｄ  ａｕｔｏｍａｔｅｄ  ｃａｒｔｏｇｒａｐｈｙ，’’  Ｃｏｍｍｕｎ．  ＡＣＭ，  ｎｏ．２４，  ｖｏｌ．６，  ｐｐ．３８１｛３９５，  Ｊｕｎｅ  １９８１．｝
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、従来広く用いられているＲＡＮＳＡＣ法では、所定の演算を繰り返し行うことで両画像に共通する特徴点を算出しているため、位置合わせを行うための特徴点の変換行列を決定するまでに時間がかかる傾向にあった。そのため、例えば、撮像された複数の画像のデータを合成してパノラマ画像のデータを生成する場合にＲＡＮＳＡＣ法を用いて隣接する画像の位置合わせを行おうとすると、隣接する画像同士の変換行列を算出する処理が膨大になる虞があった。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、例えば、略一方向への移動を伴い連続的に撮像された隣接する画像間の位置合わせの処理負担を軽減させることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一態様の画像処理装置は、略一方向への移動を伴い連続的に撮像された複数の画像を取得する取得手段と、前記取得手段により取得された画像に含まれる複数の特徴点の夫々について、隣接する画像間における前記特徴点のベクトルを算出するベクトル算出手段と、前記ベクトル算出手段により算出された複数の前記特徴点の前記ベクトルの分布状況を算出する分布算出手段と、前記ベクトル算出手段により算出された複数の前記特徴点のベクトルを前記分布算出手段の算出結果で重み付けすることで、前記隣接する画像間で位置合わせをするための代表ベクトルを算出する代表ベクトル算出手段と、を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、例えば、略一方向への移動を伴い連続的に撮像された画像における隣接する画像間における位置合わせの処理負担を軽減させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る画像処理装置のハードウェアの構成を示すブロック図である。
【図２】図１の画像処理装置の機能的構成のうち、パノラマ画像生成処理を実行するための機能的構成を示す機能ブロック図である。
【図３】画像処理部の位置合わせ部の機能を説明するための図である。
【図４】画像処理部の位置合わせ部による隣接する撮像画像の位置合わせを示す図である。
【図５】図２の機能的構成を有する図１の画像処理装置が実行するパノラマ画像生成処理の流れを説明するフローチャートである。
【図６】パノラマ撮像の結果得られるパノラマ画像を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を用いて説明する。
【００１３】
図１は、本発明の一実施形態に係る画像処理装置１のハードウェアの構成を示すブロック図である。
画像処理装置１は、例えばデジタルカメラとして構成される。
【００１４】
画像処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、画像処理部１４と、バス１５と、入出力インターフェース１６と、撮像部１７と、入力部１８と、出力部１９と、記憶部２０と、通信部２１と、ドライブ２２と、を備えている。
【００１５】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、又は、記憶部２０からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１６】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１７】
画像処理部１４は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成されており、ＣＰＵ１１と協働して、画像のデータに対して各種画像処理を施す。
【００１８】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１５を介して相互に接続されている。このバス１５にはまた、入出力インターフェース１６も接続されている。入出力インターフェース１６には、撮像部１７、入力部１８、出力部１９、記憶部２０、通信部２１及びドライブ２２が接続されている。
【００１９】
撮像部１７は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【００２０】
光学レンズ部は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学レンズ部にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【００２１】
イメージセンサは、光電変換素子や、ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）等から構成される。光電変換素子は、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、被写体像を光電変換（撮像）して画像信号を一定時間蓄積し、蓄積した画像信号をアナログ信号としてＡＦＥに順次供給する。
ＡＦＥは、このアナログの画像信号に対して、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換処理等の各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、撮像部１７の出力信号として出力される。
このような撮像部１７の出力信号を、以下、「撮像画像のデータ」と呼ぶ。撮像画像のデータは、ＣＰＵ１１や画像処理部１４等に適宜供給される。
【００２２】
入力部１８は、シャッタスイッチ等の各種ボタンで構成され、ユーザの指示操作に応じて各種情報や命令を入力する。
出力部１９は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部２０は、ハードディスク或いはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。
通信部２１は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００２３】
ドライブ２２には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２２によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部２０にインストールされる。また、リムーバブルメディア３１は、記憶部２０に記憶されている画像のデータ等の各種データも、記憶部２０と同様に記憶することができる。
【００２４】
図２は、このような画像処理装置１の機能的構成のうち、パノラマ画像生成処理を実行するための機能的構成を示す機能ブロック図である。ここで、「パノラマ画像生成処理」とは、連続して取得した複数の撮像画像のデータを用いてパノラマ画像のデータを生成する処理をいう。なお、「パノラマ画像」とは、３５ミリ銀塩フィルムにより撮像された２：３の縦横比の画像や、デジタルカメラにより撮像された３：４の縦横比の画像と比較して、横長又は縦長の広角画像の一例である。
【００２５】
画像処理装置１がパノラマ画像生成処理を実行する場合には、ＣＰＵ１１は、撮像制御部５１及び記憶制御部５２として機能する。この場合、記憶部２０には、撮像画像のデータやパノラマ画像のデータ等の各種画像のデータを記憶する領域として画像記憶部５３が設けられる。
【００２６】
撮像制御部５１は、撮像部１７による各種撮像動作を制御する。
詳細には、ユーザが、デジタルカメラとしての画像処理装置１を保持したまま、入力部１８のシャッタスイッチを押下操作すると、画像処理装置１は、パノラマ画像生成処理を開始する。パノラマ画像生成処理が開始すると、撮像制御部５１は、撮像部１７の連続撮像の動作を開始させ、一定時間経過するたびに、又は画像処理装置１が所定量移動するたびに画像を撮像させる。
この間、ユーザがシャッタスイッチの押下操作の状態を維持したままの状態が所定時間経過した場合やデジタルカメラが所定量移動した場合等の所定条件が満たされると、撮像制御部５１は、撮像部１７における連続撮像の動作を終了させ、パノラマ画像生成処理を終了する。
【００２７】
記憶制御部５２は、パノラマ画像生成処理の結果生成されたパノラマ画像のデータ等の各種画像のデータを画像記憶部５３に記憶させる制御を実行する。
【００２８】
また、画像処理装置１がパノラマ画像生成処理を実行する場合には、画像処理部１４は、画像取得部５４、位置合わせ部５５及びパノラマ画像生成部５６として機能する。
【００２９】
画像取得部５４は、撮像部１７の連続撮像の動作により出力されてくる複数の撮像画像のデータ、即ち連続的に撮像された複数の画像のデータを逐次取得する。
【００３０】
位置合わせ部５５は、画像取得部５４により取得された複数の撮像画像のデータの夫々を処理対象として、当該複数の撮像画像のうち隣接する撮像画像同士の位置合わせを行う。なお、隣接する撮像画像とは、連続的に撮像された複数の撮像画像のうちのｎ枚目（ｎは１以上の整数値）の撮像画像とｎ＋１枚目の撮像画像とをいう。
ここで、本実施形態では、隣接する撮像画像同士の位置合わせを従来一般的に用いられているＲＡＮＳＡＣ法とは異なる方法により実現することとしている。そこで、本実施形態の位置合わせ部５５は、特徴点追跡部５５１と、分布算出部５５２と、移動量算出部５５３と、を含んで構成される。
【００３１】
特徴点追跡部５５１は、ベクトル算出手段として機能し、画像取得部５４により取得された複数の撮像画像のデータの夫々を処理対象として、撮像画像の中から複数の特徴点を検出し、複数の特徴点毎に、隣接する撮像画像において当該特徴点がどの様に移動したかを示すベクトル、いわゆる移動ベクトルを算出する。即ち、特徴点追跡部５５１は、画像取得部５４が撮像画像のデータを取得するたびに、隣接する撮像画像における複数の特徴点のベクトルを夫々算出する。より具体的には、特徴点追跡部５５１は、画像取得部５４がｎ枚目の撮像画像のデータを取得したタイミングでｎ枚目の撮像画像の中から複数の特徴点を検出し画像記憶部５３に一時的に記憶しておく。そして、特徴点追跡部５５１は、画像取得部５４がｎ＋１枚目の撮像画像のデータを取得したタイミングでｎ＋１枚目の撮像画像の中から複数の特徴点を検出し、ｎ＋１枚目の複数の特徴点の夫々について、一時的に記憶したｎ枚目の撮像画像の特徴点の中から対応点を特定し、対応点から当該特徴点までのベクトルを、当該特徴点のベクトルとして算出する。このとき、特徴点追跡部５５１は、ｎ＋１枚目の特徴点及び算出したベクトルを、ｎ＋１枚目の撮像画像のデータと対応付けて画像記憶部５３に記憶する。なお、本実施形態においてベクトルとは、特徴点の移動した方向及び移動の大きさ（距離）を示す。
ここで、撮像画像の中から特徴点を検出する方法は、これまで公知の方法を採用することができ、例えば、ＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）を用いることとしてもよく、また、ハリスのコーナー検出を用いることとしてもよく、また、その他の方法を用いることとしてもよい。
【００３２】
分布算出部５５２は、特徴点追跡部５５１が算出した隣接する撮像画像間における特徴点のベクトル、即ち、ｎ枚目の撮像画像に対するｎ＋１枚目の撮像画像の複数の特徴点のベクトルを処理対象として、当該ベクトルの分布状況を算出する。ここで、分布状況の算出は、複数の特徴点の夫々をベクトルの大きさに基づいて複数の階級に分類し、分類の結果当該複数の階級の夫々に属することとなった特徴点の数（当該階級に属する大きさのベクトルの数と等価）を抽出することで行う。一例として、本実施形態では、分布算出部５５２は、ヒストグラムを用いて分布状況を算出する。このとき、分布算出部５５２は、水平方向（以下、「Ｘ方向」と呼ぶ）及び垂直方向（以下、「Ｙ方向」と呼ぶ）の夫々についてのベクトルの分布状況を算出する。
ここで、特徴点を分類する複数の階級は、任意に設定することができる。例えば、分布算出部５５２は、ベクトルの大きさの最大値と最小値との差を所定数（例えば、６４分割）で乗算した値に基づいて複数の階級を設定することとしてもよい。このような設定によれば、ベクトルの最大値と最小値とが乖離していればいるほど階級の幅が広くなり大雑把な分類となる一方で、最大値と最小値とが近似していればいるほど階級の幅が狭くなり詳細な分類となる。もちろん、このような設定に限られず、分布算出部５５２は、ベクトルの最大値と最小値との乖離度に関わらず常に同じ幅の階級により特徴点を分類することとしてもよい。
【００３３】
移動量算出部５５３は、代表ベクトル算出手段として機能し、隣接する撮像画像間における特徴点のベクトルから隣接する撮像画像同士のズレ、即ち、ｎ枚目の撮像画像に対するｎ＋１枚目の撮像画像のベクトルを算出する。このとき、従来のＲＡＮＳＡＣ法に比べて演算処理を軽減するため、移動量算出部５５３は、複数の特徴点のベクトルの略平均を算出することで、ｎ＋１枚目の撮像画像のベクトルを算出する。より具体的には、移動量算出部５５３は、以下の式１，２に示すように、同一階級内に属する特徴点の数を重みとして用いた加重平均を算出することで、ｎ＋１枚目の撮像画像のベクトルを算出する。
【数１】
2013187726.tif 000003
【数２】
2013187726.tif 000004
ＸＧＭＶ：撮像画像のベクトルのＸ方向の大きさ
ＹＧＭＶ：撮像画像のベクトルのＸ方向の大きさ
Ｘｍ：ｍ番目の特徴点のベクトルのＸ方向の大きさ
Ｙｍ：ｍ番目の特徴点のベクトルのＹ方向の大きさ
Ｐｍ：Ｘ方向の分布においてｍ番目の特徴点が属する階級に含まれる特徴点の数
Ｑｍ：Ｙ方向の分布において、ｍ番目の特徴点が属する階級に含まれる特徴点の数
ｎ：特徴点の総数
【００３４】
このように分布状況を重み付けに用いるため、本実施形態では、撮像画像全体の動きからみて異質なベクトルの特徴点による影響を軽減した上で、当該撮像画像全体の動きを適切に示す撮像画像のベクトルを算出することができる。即ち、パノラマ画像生成処理では連続的に撮像した画像のデータを合成することで１つのパノラマ画像のデータを生成するところ、撮像範囲内に人物等の動体が含まれる場合には、当該動体の特徴点は、風景等の他の特徴点とは異なる移動を行うことがある。このような動体の特徴点の移動は、他の特徴点の移動（撮像画像全体の動きにほぼ沿った移動）とは異なる異質なベクトルを示すことになるため、類似するベクトルの数による重み付けを行った加重平均を算出することで、単に平均を算出した場合に比べて異質なベクトルの影響度を軽減することができる。
なお、移動量算出部５５３は、複数の特徴点のベクトルのうち、大きさが所定の閾値を満たさない特徴点のベクトルを除いた上で、上記式１，２に基づき撮像画像のベクトルを算出することとしてもよい。即ち、異質なベクトルの特徴点は、演算対象から除くこととしてもよい。このとき、所定の閾値を満たさない特徴点のベクトルとは、例えば、ベクトルの大きさが全体の平均値から著しく乖離しているものやベクトルの大きさが最も多くの特徴点が分類される階級に規定されたベクトルの大きさから著しく乖離しているもののように、ベクトルの大きさが所定の閾値を満たさないものであってもよく、また、同一階級内に属する特徴点の数が１つのみである特徴点のベクトルや同一階級内に属する特徴点の数が全体の所定割合未満である特徴点のベクトルのように、同一階級内に属する特徴点の数が所定の閾値を満たさないものであってもよい。
【００３５】
位置合わせ部５５は、このような移動量算出部５５３の上記式１，２に基づき算出した撮像画像のベクトルに基づいて隣接する撮像画像同士を位置合わせする。即ち、ｎ枚目の撮像画像に対してＸ方向に「ＸＧＭＶ」Ｙ方向に「ＹＧＭＶ」移動させた位置にｎ＋１枚目の撮像画像を配置する。
【００３６】
パノラマ画像生成部５６は、位置合わせ部５５が位置合わせした撮像画像同士の各データを合成し、パノラマ画像のデータを生成する。また、パノラマ画像生成部５６は、生成したパノラマ画像のデータを画像記憶部５３に記憶する。
【００３７】
このように本実施形態では、上記式１，２に基づく演算を一度行うだけで隣接する撮像画像の位置合わせを行うため、従来のＲＡＮＳＡＣ法のように所定の演算を繰り返す必要がない。ここで、パノラマ画像生成処理では複数の撮像画像の各データを合成するため、隣接する撮像画像同士の位置合わせを複数回行う必要がある。このような複数回の位置合わせの夫々を所定の演算を繰り返す必要のあるＲＡＮＳＡＣ法で行った場合には、画像処理装置の処理負担が膨大なものになってしまうのに対し、本願発明のように夫々の位置合わせを一度の演算で行う構成とすることで、画像処理装置１の処理負担を軽減することができる。
ところで、ＲＡＮＳＡＣ法では演算を繰り返し最も適した特徴点の変換行列を特定するため、隣接する撮像画像を精度良く位置合わせすることができる。この点、本実施形態の画像処理装置１のような位置合わせでは、所定の重み付けをしているとはいえ、ＲＡＮＳＡＣ法に比べて精度が劣化してしまう。そのため、本実施形態のような位置合わせは、デジタルカメラを一方向にのみ移動させるパノラマ撮像に用いることが好適である。即ち、本実施形態の画像処理装置１による位置合わせは、パノラマ撮像方向が水平方向、垂直方向又は斜め方向のような一方向である場合に採用することが好ましく、撮像方向がコの字状のように水平方向と垂直方向とを含む広角画像を撮像する場合には、精度の高いＲＡＮＳＡＣ法を採用することが好ましい。このように一方向の移動の際のパノラマ画像生成処理に対して本実施形態の画像処理装置１による位置合わせを採用することで、画像処理装置１の処理負担を軽減することができるとともに、精度を劣化させることなく位置合わせを行うことができる。
なお、上記式１，２では、撮像画像のＸ方向のベクトルとＹ方向のベクトルとの両方を算出することとしている。これは、一方向への移動であっても手振れ等によりパノラマ撮像方向と直交する方向への若干の移動が伴うためである。
【００３８】
続いて、パノラマ画像生成処理の実行機能について、図３及び図４を参照して具体的に説明する。
図３は、画像処理部１４の位置合わせ部５５の機能を説明するための図であり、図３（Ａ）は、位置合わせ部５５の特徴点追跡部５５１による特徴点のベクトルの算出を示す図であり、図３（Ｂ）は、分布算出部５５２による特徴点のベクトルの分布状況の算出を示す図である。また、図４は、位置合わせ部５５による隣接する撮像画像９０，９１の位置合わせを示す図である。
【００３９】
特徴点追跡部５５１は、画像取得部５４が撮像画像のデータを取得するたびに複数の特徴点を検出し、隣接する撮像画像における対応する特徴点を比較することで特徴点のベクトルを算出する。なお、図３（Ａ）（ａ）は、隣接する撮像画像間の複数の特徴点のベクトルを模式的に示す図であり、図３（Ａ）（ｂ）は、夫々の特徴点のベクトルの内容を概略的に示す図である。図３（Ａ）を参照すると、パノラマ撮像方向は、図中左から右方向であり、多くの特徴点はパノラマ撮像方向と略逆方向に移動している。これに対して、図中符号７０の特徴点は、パノラマ撮像方向とは関係ない方向に移動していることが分かる。
【００４０】
特徴点追跡部５５１が隣接する撮像画像間における特徴点のベクトルを算出すると、分布算出部５５２は、算出した特徴点のベクトルの分布状況を算出する。分布状況の算出は、例えば、図３（Ｂ）に示すようなヒストグラムを用いることで行うことができる。図３（Ｂ）では、ベクトルの大きさに基づいて複数の階級に分類しており、具体的には、「０．２」単位で複数の階級に分類している。なお、図３（Ｂ）では、特徴点のベクトルのうちＸ方向についてのみヒストグラムで分布状況を算出し、Ｙ方向については図示を省略している。また、図３（Ｂ）では、説明の便宜上、ベクトルの最大値と最小値との差を７分割することとしている。図３（Ｂ）に示すように、分布状況を算出すると、多くの特徴点がパノラマ撮像方向に応じたベクトルを有することになり、仮に異常なベクトルの特徴点があったとしてもその数は少ないことが分かる。
【００４１】
分布算出部５５２が隣接する撮像画像間における特徴点のベクトルの分布状況を算出すると、移動量算出部５５３は、上記式１，２に基づいて、隣接する撮像画像間における撮像画像のベクトルを算出する。このとき、上記式１，２では、分布状況に基づいて重み付けを行うため、異常なベクトルの影響度を軽減し、撮像画像全体の移動の傾向を捉えることができる。
【００４２】
このようにして隣接する撮像画像間における撮像画像の代表ベクトル（ＸＧＭＶ、ＹＧＭＶ）を算出し、位置合わせ部５５は、図４に示すように算出した撮像画像のベクトルに基づいて隣接する撮像画像９０，９１を位置合わせする。
その後、パノラマ画像生成部５６は、この位置合わせ結果に基づいて隣接する撮像画像同士を合成し、パノラマ画像のデータを生成する。
【００４３】
続いて、図５を参照してパノラマ画像生成処理について説明する。図５は、図２の機能的構成を有する画像処理装置１が実行するパノラマ画像生成処理の流れを示すフローチャートである。
なお、パノラマ画像生成処理は、ユーザの入力部１８へのパノラマ画像生成処理を開始する操作、即ち、シャッタボタンの押下操作を契機に開始される。
【００４４】
ステップＳ１において、撮像制御部５１は、撮像部１７が連続撮像をするように制御する。
【００４５】
ステップＳ２において、画像取得部５４は、撮像部１７が撮像するたびに撮像画像のデータを取得する。このとき、画像取得部５４は、取得した撮像画像のデータを画像記憶部５３に一時的に記憶する。
【００４６】
ステップＳ３において、特徴点追跡部５５１は、ステップＳ２の処理で取得された撮像画像のデータから複数の特徴点を検出し、画像記憶部５３に一時的に記憶する。
【００４７】
ステップＳ４において、特徴点追跡部５５１は、ステップＳ３の処理を行った撮像画像が２枚目以降のものであるか否かを判断する。２枚目以降の撮像画像である場合には、ステップＳ４においてＹＥＳと判断されて、処理はステップＳ５に進み、２枚目以降でない、即ち、１枚目の撮像画像である場合には、ステップＳ４においてＮＯと判断されて、処理はステップＳ１に戻る。
【００４８】
ステップＳ５において、特徴点追跡部５５１は、画像記憶部５３から隣接する撮像画像（前回に撮像された撮像画像）における特徴点を抽出した後、隣接する撮像画像間で対応する特徴点を比較することで、隣接する撮像画像間での複数の特徴点のベクトルを算出する。
【００４９】
ステップＳ６において、分布算出部５５２は、ステップＳ５の処理で算出した複数の特徴点のベクトルをベクトルの大きさに基づいて分類し、分布状況を算出する。この処理では、分布算出部５５２は、例えば、ベクトルの最大値と最小値との差を６４分割した階級に基づいて特徴点を分類し、分布状況を算出する。
【００５０】
ステップＳ７において、移動量算出部５５３は、ステップＳ６の処理で算出した分布状況を重み付けとして撮像画像のベクトルを算出する。具体的には、移動量算出部５５３は、上記式１，２に基づいて、撮像画像のベクトルを算出する。
【００５１】
ステップＳ８において、位置合わせ部５５は、ステップＳ７の処理で算出した撮像画像のベクトルに応じて隣接する撮像画像同士の位置合わせを行う。
【００５２】
ステップＳ９において、パノラマ画像生成部５６は、ステップＳ８の処理で位置合わせした撮像画像同士の各データを合成し、パノラマ画像のデータを生成する。
【００５３】
ステップＳ１０において、ＣＰＵ１１は、パノラマ画像生成処理を終了すべきか判断する。例えば、デジタルカメラが所定以上移動した場合や、ユーザによる所定の終了操作を受け付けた場合等に、ＣＰＵ１１は、パノラマ画像生成処理を終了すべきと判断する。ステップＳ１０においてＹＥＳと判断されると、記憶制御部５２は、これまで生成したパノラマ画像のデータを画像記憶部５３に記憶してパノラマ画像生成処理を終了する。また、ステップＳ１０においてＮＯと判断されると、処理はステップＳ１１に移る。
【００５４】
ステップＳ１１において、ＣＰＵ１１又は画像処理部１４は、エラーが発生したか否かを判断する。例えば、デジタルカメラがパノラマ撮像方向と直交する方向に所定以上移動した場合（即ち、手振れが大きい場合）や、撮像画像から十分な数の特徴点を検出できない場合や、隣接する撮像画像間における特徴点のベクトルの算出を十分な数の特徴点について行うことができない場合等に、ＣＰＵ１１又は画像処理部１４は、エラーが発生したと判断する。ステップＳ１１においてＹＥＳと判断されると、パノラマ画像生成処理は終了し、ステップＳ１１においてＮＯと判断されると、処理はステップＳ１に移る。
【００５５】
以上のように構成される画像処理装置１は、パノラマ撮像方向を一方向とするパノラマ画像生成処理において、撮像部１７から供給される撮像画像のデータを処理対象として、隣接する撮像画像同士の位置合わせを行う位置合わせ部５５と、位置合わせ部５５の位置合わせ結果に基づいて隣接する撮像画像同士を合成することでパノラマ画像のデータを生成するパノラマ画像生成部５６と、を備える。このとき、位置合わせ部５５は、隣接する撮像画像間における複数の特徴点のベクトルを算出する特徴点追跡部５５１と、算出した複数の特徴点のベクトルの分布状況を算出する分布算出部５５２と、この分布状況に応じて複数の特徴点のベクトルを重み付けした上で、隣接する撮像画像間における撮像画像のベクトルを算出する移動量算出部５５３と、を備える。
即ち、本実施形態では、位置合わせ部５５は、複数の特徴点のベクトルから撮像画像全体のベクトルを算出することで隣接する撮像画像の位置合わせを行うものであるが、この撮像画像全体のベクトルの算出を複数の特徴点のベクトルに対して分布状況に基づく重みを付すだけで実現している。これにより、複雑な演算を繰り返すことなく撮像画像全体のベクトルを算出することができ、処理負担を軽減させることができる。このとき、画像処理装置１では、パノラマ撮像方向を一方向とするパノラマ画像生成処理に対してこのような位置合わせ手法を採用することとしているため、処理負担軽減に伴う位置合わせ精度の劣化を気にする必要がない。
【００５６】
このとき、重み付けに用いる分布状況の算出は、任意の方法により行うことができるが、本実施形態では、その一例として、複数の特徴点の夫々を特徴点のベクトルの大きさに基づいて複数の階級に分類し、同一の階級の夫々に属する特徴点の数を分布状況として算出することとしている。即ち、図３（Ｂ）に示すようなヒストグラムを用いることで、特徴点のベクトルの大きさの分布状況を算出している。
このような分布状況を用いて重み付けを行うことで、多くの特徴点で類似するベクトルの影響度を強くし、異常なベクトルの影響度を弱くした上で、撮像画像全体のベクトルを算出することができる。
【００５７】
なお、特徴点を分類する複数の階級は、任意に設定することができ、例えば、分布算出部５５２は、特徴点のベクトルの最大値と最小値とが乖離していればいるほど階級の幅を設定し、最大値と最小値とが近似していればいるほど階級の幅が狭く設定することとしてもよい。
これにより、異常なベクトルの影響度を更に弱めることができる。
【００５８】
また、分布状況に基づく重み付けについても、繰り返しの演算を必要としない限り任意の方法により行うことができ、本実施形態では、その一例として、上記式１，２に示すように同一階級内に属する特徴点の数を重みとして用いた加重平均を採用することとしている。
これにより、一度の演算で撮像画像のベクトルを算出することができ、処理負担の軽減及び位置合わせ精度の確保を実現することができる。
【００５９】
なお、分布状況を重み付けに用いることで異常なベクトルの影響度を弱めることができるが、本実施形態の画像処理装置１では、そもそも異常なベクトルを撮像画像のベクトルの算出の際に除外することとしてもよい。そのため、移動量算出部５５３は、複数の特徴点のベクトルのうち所定の閾値を満たさない特徴点のベクトルを除いて、画像のベクトルを算出することとしてもよい。
これにより、異常なベクトルの影響度を更に弱めることができる。
【００６０】
以上、本実施形態の画像処理装置１について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００６１】
上述の実施形態では、パノラマ画像生成処理において、隣接する撮像画像の位置合わせや合成を、撮像画像のデータを取得するたびに行うこととしているが、パノラマ画像のデータを生成するための全ての撮像画像のデータを取得した後に、位置合わせや合成をまとめて行うこととしてもよい。
【００６２】
また、上述の実施形態では、本発明が適用される画像処理装置１は、デジタルカメラを例として説明したが、特にこれに限定されない。
例えば、本発明は、パノラマ画像生成機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【００６３】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像処理装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図２の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００６４】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００６５】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図１のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部２０に含まれるハードディスク等で構成される。
【００６６】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【００６７】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６８】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
略一方向への移動を伴い連続的に撮像された複数の画像を取得する取得手段と、
前記取得手段により取得された画像に含まれる複数の特徴点の夫々について、隣接する画像間における前記特徴点のベクトルを算出するベクトル算出手段と、
前記ベクトル算出手段により算出された複数の前記特徴点の前記ベクトルの分布状況を算出する分布算出手段と、
前記ベクトル算出手段により算出された複数の前記特徴点のベクトルを前記分布算出手段の算出結果で重み付けすることで、前記隣接する画像間で位置合わせをするための代表ベクトルを算出する代表ベクトル算出手段と、
を備えたことを特徴とする画像解析装置。
［付記２］
前記分布算出手段は、複数の前記特徴点の夫々を前記特徴点のベクトルの大きさに基づいて複数の階級に分類し、複数の前記階級の夫々に属する特徴点の数を、前記分布状況として算出する、
ことを特徴とする付記１に記載の画像解析装置。
［付記３］
前記代表ベクトル算出手段は、同一階級内に属する前記特徴点の数を重みとして用いて複数の前記特徴点のベクトルの加重平均を算出することで、前記隣接する画像間での代表ベクトルを算出する、
ことを特徴とする付記２に記載の画像解析装置。
［付記４］
前記分布算出手段は、前記ベクトル算出手段により算出された複数の前記特徴点のベクトルの最小値及び最大値の乖離度に基づいて、複数の前記階級の夫々を決定する、
ことを特徴とする付記２又は３に記載の画像解析装置。
［付記５］
前記代表ベクトル算出手段は、複数の前記特徴点のベクトルのうち所定の閾値を満たさない特徴点のベクトルを除いて、前記代表ベクトルを算出する、
ことを特徴とする付記１乃至４のうち何れか１つに記載の画像解析装置。
［付記６］
付記１乃至５のうち何れか１つに記載の画像解析装置を備え、
前記代表ベクトル算出手段が算出した代表ベクトルに基づいて、前記隣接する画像同士を位置合わせする位置合わせ手段と、
前記位置合わせ手段が位置合わせした画像同士を合成することで合成画像を生成する生成手段と、
を更に備えたことを特徴とする画像処理装置。
［付記７］
画像処理装置が実行する画像処理方法であって、
略一方向への移動を伴い連続的に撮像された複数の画像を取得する取得ステップと、
前記取得ステップの処理により取得された画像に含まれる複数の特徴点の夫々について隣接する画像間でのベクトルを算出する特徴点追跡ステップと、
前記特徴点追跡ステップの処理により算出した複数の前記特徴点の前記ベクトルの分布状況を算出する分布算出ステップと、
前記特徴点追跡ステップの処理により算出した複数の前記特徴点のベクトルを前記分布算出ステップの処理の算出結果で重み付けすることで、前記隣接する画像間で位置合わせをするための代表ベクトルを算出する代表ベクトル算出ステップと、
を備えたことを特徴とする画像解析方法。
［付記８］
コンピュータを、
略一方向への移動を伴い連続的に撮像された複数の画像を取得する取得手段、
前記取得手段により取得された画像に含まれる複数の特徴点の夫々について隣接する画像間でのベクトルを算出するベクトル算出手段、
前記ベクトル算出手段により算出された複数の前記特徴点の前記ベクトルの分布状況を算出する分布算出手段、
前記ベクトル算出手段が算出した複数の前記特徴点のベクトルを前記分布算出手段の算出結果で重み付けすることで、前記隣接する画像間で位置合わせをするための代表ベクトルを算出する代表ベクトル算出手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００６９】
１・・・画像処理装置、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・画像処理部、１５・・・バス、１６・・・入出力インターフェース、１７・・・撮像部、１８・・・入力部、１９・・・出力部、２０・・・記憶部、２１・・・通信部、２２・・・ドライブ、３１・・・リムーバブルメディア、５１・・・撮像制御部、５２・・・記憶制御部、５３・・・画像記憶部、５４・・・画像取得部、５５・・・位置合わせ部、５５１・・・特徴点追跡部、５５２・・・分布算出部、５５３・・・移動量算出部、５６・・・パノラマ画像生成部
【図１】
2013187726.tif 000005
【図２】
2013187726.tif 000006
【図３】
2013187726.tif 000007
【図４】
2013187726.tif 000008
【図５】
2013187726.tif 000009
【図６】
2013187726.tif 000010