(57)【要約】【課題】本発明は、手ぶれや歩き撮り等の多様なカメラの用途でも常に効果が得られ、性能に対する負荷バランスを考慮したベクトル探索手法を選択することができる撮像装置を提供する。【解決手段】撮像装置では、入力画像に設定されたテンプレート内に発生視差の異なる被写体が含まれる状態の視差競合の発生頻度を推定する視差競合頻度部６を備え、動きベクトル検出部５は、視差競合頻度推定部６により視差競合の発生頻度が低いと推定された場合は、相対的に少ない階層数で動きベクトルを検出する第１の検出方法を選択し、視差競合の発生頻度が高いと推定された場合には、相対的に多い階層数で動きベクトルを検出する第２の検出方法を選択する。【選択図】図８
2015100066.tif 000002
【特許請求の範囲】
【請求項１】
光学系を通して撮影した２枚以上の入力画像のうちの１の入力画像を基準画像、他の入力画像を参照画像として入力し、前記基準画像において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、前記ブロック毎の動きベクトルを前記参照画像中から検出する動きベクトル検出手段を備えた撮像装置において、
前記入力画像に設定されたテンプレート内に発生視差の異なる被写体が含まれる状態の視差競合の発生頻度を推定する視差競合頻度推定手段を備え、
前記動きベクトル検出手段は、前記視差競合頻度推定手段により前記視差競合の発生頻度が低いと推定された場合は、相対的に少ない階層数で動きベクトルを検出する第１の検出方法を選択し、前記視差競合の発生頻度が高いと推定された場合には、相対的に多い階層数で動きベクトルを検出する第２の検出方法を選択することを特徴とする撮像装置。
【請求項２】
前記動きベクトル検出手段は、単一倍率の入力画像中で動きベクトルを検出する第１の検出方法と、入力画像をベースとして複数階層からなる階層画像を形成して動きベクトルを検出する第２の検出方法とを切り替えることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記視差競合頻度推定手段は、撮影条件及び撮像装置の動作状態の情報に基づいて判定指標を計算し、当該判定指標と閾値を比較することにより前記視差競合の発生頻度の高低を推定することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記撮影条件には、フォーカス距離または被写体距離が含まれ、
前記撮像装置の動作状態には、ズーム状態、動画撮影時のフレームレートが含まれることを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記視差競合頻度推定手段は、撮影条件及び撮像装置の動作状態の情報、及び直前に前記動きベクトル検出手段での検出結果に基づいて、前記視差競合の発生頻度を推定するための判定指標値を計算し、当該判定指標値と閾値を比較することにより前記視差競合の発生頻度の高低を推定することを特徴とする請求項１または２に記載の撮像装置。
【請求項６】
前記動きベクトル検出手段から入力された動きベクトルに対して前記撮影条件により前記撮像装置の並行移動量を推定し、前記撮影条件の被写体距離により前記並行移動量を分離して、前記視差競合の発生頻度を推定するための判定指標値を計算する計算手段をさらに備え、
前記視差競合頻度推定手段は、前記計算手段により算出された判定指標値と閾値を比較することにより前記視差競合の発生頻度の高低を推定することを特徴とする請求項５記載の撮像装置。
【請求項７】
前記視差競合頻度推定手段は、ユーザにより推定された視差競合の発生頻度の入力を受け付けることを特徴とする請求項１に記載の撮像装置。
【請求項８】
光学系を通して撮影した２枚以上の入力画像のうちの１の入力画像を基準画像、他の入力画像を参照画像として入力し、前記基準画像において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、前記ブロック毎の動きベクトルを前記参照画像中から検出する動きベクトル検出手段を備えた画像処理装置において、
前記入力画像に設定されたテンプレート内に発生視差の異なる被写体が含まれる状態の視差競合の発生頻度を推定する視差競合頻度推定手段を備え、
前記動きベクトル検出手段は、前記視差競合頻度推定手段により前記視差競合の発生頻度が低いと推定された場合は、相対的に少ない階層数で動きベクトルを検出する第１の検出方法を選択し、前記視差競合の発生頻度が高いと推定された場合には、相対的に多い階層数で動きベクトルを検出する第２の検出方法を選択することを特徴とする画像処理装置。
【請求項９】
光学系を通して撮影した２枚以上の入力画像のうちの１の入力画像を基準画像、他の入力画像を参照画像として入力し、前記基準画像において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、前記ブロック毎の動きベクトルを前記参照画像中から検出する動きベクトル検出手段を備えた撮像装置の制御方法において、
前記入力画像に設定されたテンプレート内に発生視差の異なる被写体が含まれる状態の視差競合の発生頻度を推定する視差競合頻度推定工程と、
前記動きベクトル検出手段が、前記視差競合頻度推定工程にて前記視差競合の発生頻度が低いと推定された場合は、相対的に少ない階層数で動きベクトルを検出する第１の検出方法を選択し、前記視差競合の発生頻度が高いと推定された場合には、相対的に多い階層数で動きベクトルを検出する第２の検出方法を選択する選択工程とを備えることを特徴とする制御方法。
【請求項１０】
請求項９に記載の制御方法を撮像装置または画像処理装置に実行させるためのコンピュータに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置及びその制御方法、並びにプログラムに関し、特に、２以上の画像の間で対応点または動きベクトルを探索する対応点探索技術を搭載する撮像装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
動画フレーム間の対応点や動きベクトルの探索では、テンプレートマッチング（ＴＭ）が重用される。そして、近年の撮像装置の多画素化、高性能化でベクトル探索性能（探索可能率、アウトライア率、精度）の高度化が求められている。探索可能率とは、相関値マップ上で唯一のピークを得られる可能性の割合、アウトライア率とはＴＭが正しいとして出力した動きベクトルが大きく間違っている割合、精度とはアウトライア率ほど大きく外れていないが、真値のベクトルからのずれに関する指標である。
【０００３】
一般的なＴＭでは、探索範囲、テンプレートサイズ、各種判定閾値、入力画像の縮小率が性能を左右する主な基本設計値となる。設計上、まず探索範囲は対象の画像間の動きの大きさにより決定される。近年では、探索範囲を削減することにより、探索計算量の削減に加え、性能向上する手法が提案されている（特許文献１参照）。
【０００４】
しかしながら、上記アプローチは、動きの予測が成立可能であったり、姿勢センサ等の補助的なセンシング手段が使えるなど、限られた場合のみ有効である。多くの場合、必ずしも導入可能ではない。
【０００５】
また、テンプレートサイズは、探索可能率を高く、アウトライア率を低く保つことにより得られるロバスト性を維持しようとすると、探索範囲に従い従属的に決まるように設計される。例えば、大きなブレに対応しようとすると、広い探索範囲を探す必要があり、広い探索範囲においても唯一のピークを決定するには、繰り返しパターンや平坦部等に影響されずに大域を捉えるため、大テンプレートにする必要がある。
【０００６】
判定閾値には、探索可能性やアウトライア率を判定するための閾値が含まれるが、被写体像に依存し、正当の除却率、アウトライアの受け入れ率を鑑みて決定される値であり、性能向上のため設計で恣意的に操作することは難しい。
【０００７】
一方、縮小率とは、サブピクセル探索と組み合わせ、入力画像を縮小してベクトル探索し、得られた動きベクトルを縮小率分拡大するアプローチのパラメータである。縮小率は、入力画像に十分細かな情報が含まれる場合には、低縮小率、可能ならばむしろ拡大して探索した方が高い精度が得られる。
【０００８】
しかしながら、大テンプレート探索に加えて低縮小率、特に等倍で探索を行うと、計算量増加に加え、メモリ占有率の増加や伝送バスの圧迫、消費電力の増加等、負の影響がある。このため、可能ならば縮小探索が望まれる。例えば、防振といった、手ぶれから歩き撮りまで対応が求められる。近年、多様さを増す動きベクトル利用アプリケーションの利用場面を総合的に考えると、縮小探索としても問題は少ない。なぜならば、一般に等倍探索であるほど精度が高いが、カメラや被写体の並行移動で生じる視差、人体等の非剛体の動き、ローリングシャッタ歪、光学系の歪曲収差に対してはテンプレートが大きいほど影響を受け、精度や探索可能率が低下してしまう。大テンプレート探索による精度の低下で等倍探索のメリットが小さくなるためである。特に、テンプレート内に複数の視差の影響が入ることにより生じる視差競合による性能低下の影響が大きい。ただし、利用場面を細かく考慮すると、性能向上の余地がある。従来から防振技術が対象としてきた、振れ角の小さな手ブレ、被写体が遠距離の撮影の場合、視差の影響が小さい。そのため、低縮小率、例えば等倍とすることで精度を向上することが可能である。
【０００９】
しかしながら、常に等倍探索をしてしまうと、バス帯域の圧迫や消費電力の増加等として負の影響が目立ってしまう。
【００１０】
さらに、視差競合の問題に対する対策としては、最初は相対的に大きなテンプレートで、そして、最終的な探索のテンプレートサイズを限りなく小さくできる階層探索処理がある（特許文献２参照）。
【００１１】
しかしながら、階層画像の構築等、処理の複雑化によりリアルタイム処理が困難になったり、回路規模、占有メモリが大きくなりすぎる等、採用のハードルは高い。システムの制約によっては、ベースとなる最低縮小率の最下層レイヤ画像を縮小運用する等、妥協が必要となる。当然、単層のベクトル探索における縮小率変更の場合と同様に、最終的なベース画像での探索が縮小の場合、条件が良いと、等倍探索の単層ベクトル探索の方がベクトル探索精度が高くなる可能性がある。更に、手ブレのみの視差がそもそもほぼ存在しない場合には、視差の存在を前提とした階層探索の複雑な機能、多くの閾値設定が正しく機能するとは限らず、ベースの画像の縮小率に差がなくても、シンプルな単層の探索に性能で劣るという問題もある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１２−１６０８８６号公報
【特許文献２】特開２０１１−１６４９０５号公報
【非特許文献】
【００１３】
【非特許文献１】Ｃ．  Ｈａｒｒｉｓ  ａｎｄ  Ｍ．  Ｓｔｅｐｈｅｎｓ，  “Ａ  ｃｏｍｂｉｎｅｄ  ｃｏｒｎｅｒ  ａｎｄ  ｅｄｇｅ  ｄｅｔｅｃｔｏｒ”，  Ｆｏｕｒｔｈ  Ａｌｖｅｙ  Ｖｉｓｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐｐ．１４７−１５１，  １９８８．
【非特許文献２】Ｒ．Ｓｚｅｌｉｓｋｉ，”  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ：  Ａｌｇｏｒｉｔｈｍｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ”，ｐ．ｐ．４６５
【非特許文献３】Ｂ．Ｔｒｉｇｇｓ，”Ａｕｔｏ  ｃａｌｉｂｒａｔｉｏｎ  ｆｒｏｍ  Ｐｌａｎａｒ  Ｓｃｅｎｅ”，ＥＣＣＶ９８
【非特許文献４】Ｒ．Ｈａｒｔｌｅｙ，Ａ．Ｚｉｓｓｅｒｍａｎ，”  Ｍｕｌｔｉｐｌｅ  Ｖｉｅｗ  Ｇｅｏｍｅｔｒｙ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ”，  Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖ。  Ｐｒｅｓｓ  （２０００）
【非特許文献５】Ｂｉｌｌ  Ｔｒｉｇｇｓ，”Ｒｏｕｔｉｎｅｓ  ｆｏｒ  Ｒｅｌａｔｉｖｅ  Ｐｏｓｅ  ｏｆ  Ｔｗｏ  Ｃａｌｉｂｒａｔｅｄ  Ｃａｍｅｒａｓ  ｆｒｏｍ  ５  Ｐｏｉｎｔｓ”，Ｄｏｃｕｍｅｎｔａｔｉｏｎ，  ＩＮＲＩＡ．  ｊｕｉｌｌｅｔ  ２０００．
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、ベクトル探索の性能向上の有力手法として階層探索があるが、手ぶれから歩き撮りまでの多様なカメラの用途で常に効果を得られるわけでなく、バス帯域の圧迫や消費電力等に負の影響も問題となる。また、特に手ぶれのような特定な撮影状態においては、ベクトル探索手法を単純な単層探索で行った方が、性能が向上する場合がある。
【００１５】
本発明は、上記問題に鑑み、手ぶれや歩き撮り等の多様なカメラの用途でも常に効果が得られ、性能に対する負荷バランスを考慮したベクトル探索手法を選択することができる撮像装置及びその制御方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明の撮像装置は、光学系を通して撮影した２枚以上の入力画像のうちの１の入力画像を基準画像、他の入力画像を参照画像として入力し、前記基準画像において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、前記ブロック毎の動きベクトルを前記参照画像中から検出する動きベクトル検出手段を備えた撮像装置において、前記入力画像に設定されたテンプレート内に発生視差の異なる被写体が含まれる状態の視差競合の発生頻度を推定する視差競合頻度推定手段を備え、前記動きベクトル検出手段は、前記視差競合頻度推定手段により前記視差競合の発生頻度が低いと推定された場合は、相対的に少ない階層数で動きベクトルを検出する第１の検出方法を選択し、前記視差競合の発生頻度が高いと推定された場合には、相対的に多い階層数で動きベクトルを検出する第２の検出方法を選択することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、手ぶれや歩き撮り等の多様なカメラの用途でも常に効果が得られ、性能（探索可能率、アウトライア率、精度）に対する負荷（バス帯域、消費電力等）バランスを考慮したベクトル探索手法を選択することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る撮像装置の概略構成を示すブロック図である。
【図２】ベクトル探索を説明するための図であり、（ａ）ＴＭの一種であるブロックマッチング、（ｂ）ベクトル探索における主要な制御可能パラメータを示す。
【図３】ベクトル探索性能の概要を説明するための図であり、（ａ）探索可能率、（ｂ）アウトライア率、（ｃ）精度を示す。
【図４】縮小率低の探索と縮小率高の探索の切り替えを表す図である。
【図５】視差および視差競合の発生を説明するための図であり、（ａ）奥行方向に広がった壁面を撮影した画像の一例、（ｂ）撮像装置を並行移動させた場合、（ｃ）撮像装置を光学系の主点周りに回転させた場合を示す。
【図６】視差競合のベクトル精度への影響を説明するための図であり、（ａ）前景の人物と背景が写っている画像の一例、（ｂ）テンプレート領域内に異なる視差を持つ動き競合が起きる場合、（ｃ）前景の動きに従って精度が劣化もしくはアウトライアと判定されるベクトルの一例、（ｄ）奥行方向の被写体境界にて動きベクトル探索結果にアウトライアや視差精度の劣化した部分が大きく発生した画像の一例を示す。
【図７】階層ベクトル探索における探索範囲およびテンプレートサイズの変化を表す図であり、（ａ）ピラミッド画像階層を最上層から最下層に向けて探索する際の探索範囲の変化の一例、（ｂ）ピラミッド画像階層を最上層から最下層に向けて探索する際のテンプレートサイズの変化の一例を示す。
【図８】視差競合頻度推定ステップを含む動きベクトル探索処理のフローチャートである。
【図９】単層探索と階層探索の切り替えを表す図であり、（ａ）階層探索が等倍の場合、（ｂ）階層探索が縮小の場合を示す。
【図１０】本発明の第２の実施形態に係る撮像装置の概略構成を示すブロック図である。
【図１１】動きベクトルからの撮像装置の位置姿勢変化を推定する処理のフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００２０】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る撮像装置の概略構成を示すブロック図である。
【００２１】
撮像装置１００は、光学系１、撮像素子２、前処理部３、メモリ４、動きベクトル検出部５、視差競合頻度推定部６、後処理部７、及びＣＰＵ８を備える。
【００２２】
光学系１は、被写体１１から反射された光を撮像素子２上に結像させるコンポーネントであり、複数枚のレンズおよびミラーから構成される。撮像素子２は、センサ面上に結像された光学像を電子像に光電変換する素子である。
【００２３】
前処理部３は、撮像素子２で光電変換されたアナログの画像信号に対して、相二重サンプリング（ＣＤＳ）によるノイズ除去、オートゲインコントロール（ＡＧＣ）でのゲインアップによる露出制御、黒レベル補正、Ａ／Ｄ変換等の基礎的な処理を行う。そして、デジタル信号に変換した画像信号を得る部分である。前処理部３は、動きベクトル検出部５への入力画像に対して、別途、ベイヤー配列補間等によるカラー画像生成もしくは輝度画像生成を行ってもよい。これはベクトル探索用途向けの簡易レベルでよい。また、前処理部３は、動きベクトル検出処理の精度やロバスト性を向上させるために、ローパス、ハイパス等のフィルタリング処理、トーンマッピング等の諧調調整処理を行ってもよい。前処理部３は、アナログ信号に対する前処理が主であるため、主要部はＡＦＥ（アナログフロントエンド）とも呼ばれる。一方、デジタル出力センサと対で使われるものはＤＦＥ（デジタルフロントエンド）と呼ばれる。
【００２４】
メモリ４は、前処理部３で生成された前処理済み画像信号を一時保存するメモリである。
【００２５】
動きベクトル検出部５は、前処理部３で生成された画像信号および画像メモリ４に蓄積された（過去の）画像信号を利用して、画像間の動きベクトルを推定する。
【００２６】
ＣＰＵ８は、撮像装置１００の制御を統括し、制御プログラムをメモリから読み出して実行し、各部の動作を制御する。撮像装置１００のズーム状態（焦点距離）、フォーカス距離を表す被写体距離等の撮影条件、及び動画撮影時のフレームレート等の撮像装置の動作状態は、ＣＰＵ（中央演算処理装置）８がメモリに保持する。
【００２７】
視差競合頻度推定部６は、視差競合の発生頻度を各種センシング情報および、ＣＰＵ８から得られる撮影条件および撮像装置の動作状態から推定し、動きベクトル検出部５に推定情報を伝達、もしくは推定情報に基づいて動きベクトル検出部５の動作を制御する。例えば、動きベクトル検出部５に入力される２枚以上の画像間の視差の大小を推定し、画像間で生じる視差が小さいと判断した場合には、階層探索の階層数を減らして例えば単層としてベクトル探索を行うように動きベクトル検出部５に指示を送る。また、入力画像に対する縮小率を小さくしてもよい。他方、画像間で生じる視差が大きいと判断した場合には、階層探索の階層数を複数階層として増加させてベクトル探索を行うように動きベクトル検出部５に指示を送る。また、入力画像に対する縮小率を大きくしてもよい。
【００２８】
後処理部７は、ベイヤー配列補間、線形化マトリクス処理、ホワイトバランス調整、ＹＣＣ変換、色差・諧調・コントラスト補正、エッジ強調、等の入力デジタルの画像信号に対するバックエンドの画像処理により構成される。このバックエンドの画像処理は、前処理部３のＡＦＥ処理に対してＤＢＥ（デジタルバックエンド）処理と呼ばれる。フロントエンド処理及びバックエンド処理を行うことにより一枚の出力画像を生成可能である。
【００２９】
さらに近年、動きベクトル検出部５で得られた動きベクトルを用い、複数枚合成により広ダイナミックレンジ画像を生成するダイナミックレンジ拡張や複数枚ノイズリダクション、超解像処理等の付加価値向上処理も該後処理の一種として分類する。これらの処理により一枚もしくは動画に形成された出力像の情報を生成する。また、動きベクトルは画像の補足情報として画像のメタ情報、または別途管理の情報として扱われ、３次元再構成、認識等の付加機能の実現に用いることも可能である。そして、後処理部７で処理された画像情報は、非図示のＤＲＡＭ等から構成されるワークメモリにいったん保存、もしくは想定される後段処理部に直接伝送される。
【００３０】
後段の処理部としては例えば、半導体メモリ等からなる記録部、液晶等のディスプレイ等から構成される表示部、無線ＬＡＮやＵＳＢ等の有線ケーブル等を接続可能なＩ／Ｆ（インターフェース）から構成される外部入出力Ｉ／Ｆが挙げられる。
【００３１】
動きベクトル検出部５は、入力された複数個のフレーム間の動きベクトルを検出する。前処理部３で直近に処理され、入力されたカレントフレームと、メモリ４に一旦蓄えられてから入力される過去フレームとの間で動きベクトルを算出する。カレントフレームと過去フレームは必ずしも隣接フレームでなくてもよい。動きベクトルの算出では、テンプレートマッチング（ＴＭ）や各フレームで算出した特徴点間のテーブルマッチング、勾配法に基づく動きベクトル推定等により、フレーム間の動きベクトルもしくは特徴点間の軌跡を算出する。
【００３２】
動きベクトル検出部５は、視差競合頻度推定部６からの指示に従い、入力画像に対する縮小率、階層探索の階層数を変更して動きベクトル探索を行う。
【００３３】
まず、単純な単層におけるベクトル探索、次に階層を形成しての動きベクトル探索について説明する。
【００３４】
図２（ａ）は、ＴＭの一種であるブロックマッチングを説明するための図である。ここでは左側の画像を基準画像２０１とし、右側の画像を参照画像２０２とする。例えば、先に入力された映像フレームを基準画像、後から入力されたカレント映像フレームを参照画像にして、動きベクトルを検出する。左画像中でグリッド状に配置した注目点２０４を中心とした所定サイズの部分領域（ブロック）をテンプレート２０３とする。参照画像中で任意の探索範囲２０７を設定し、順次移動しながらテンプレートが最も合致する位置を探索する。入力画像は、カラー画像や、輝度画像、微分画像等の変調画像であってもかまわない。右画像中の注目画素２０５を基準とした部分領域２０６と基準画像のテンプレート２０３との類似度を計算していく。類似度指標としてはＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅ  Ｄｉｆｆｅｒｅｎｃｅ）、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）、正規相互相関等の相関演算が用いられる。実写映像の様にフレーム間の輝度変動が激しい場合は正規相互相関が主に用いられる。正規相互相関の類似度スコアの算出式を示す。
【００３５】
【数１】
2015100066.tif 000003
【００３６】
（ｘ，ｙ）および（ｘ’，ｙ’）は基準画像Ｉおよび参照画像Ｉ’内におけるテンプレートの位置を示す。Ｉ（ｘ，ｙ）（ｉ，ｊ）およびＩ’（ｘ’，ｙ’）（ｉ，ｊ）は部分画像を示す。
【００３７】
探索範囲内の各注目画素２０５の部分領域２０６毎（ブロック毎）の類似度を一通り算出した結果、最も類似度（例えば相関スコア）の高い位置を対応位置とみなし動きベクトルを算出する。オクルージョンがなければ、基本的に基準画像上で設定した注目点２０４の数だけ動きベクトルが算出される。動きベクトルは、それぞれ基準画像中の注目点位置を始点とし、参照画像中の対応点位置を終点とするベクトルにより表現される。
【００３８】
【数２】
2015100066.tif 000004
【００３９】
図２（ｂ）は、ベクトル探索における主要な制御可能パラメータを示す図である。
【００４０】
図２（ｂ）において、探索範囲、テンプレートサイズ、縮小率、各種判定閾値が制御可能であるが、探索範囲は対象の画像間の動きの大きさにより決定され、またテンプレートサイズは、基本的に探索範囲に従い従属的に決まるように設計される。
【００４１】
動きベクトル探索の性能は、上述したように、探索可能率、アウトライア率、精度で語ることができる。ここで、探索可能率、アウトライア率、及び精度について図３（ａ）〜図３（ｃ）を参照して説明する。
【００４２】
図３（ａ）は、探索可能率を説明するための図であり、図示例では、本来２次元の相関値マップを説明の簡略化のために１次元で表している。
【００４３】
探索可能率とは、相関値マップ上で唯一のピークを得られる可能性の割合である。探索範囲内の各注目点毎の相関スコアを計算することにより、（イ）や（ロ）のような相関値グラフ、実際は２次元マップが得られる。唯一のピークが得られる場合は、（イ）で表すように最高相関スコアの候補ピークの相関値に対し、次点ピークの相関値が閾値で設定した相関値差より十分低い場合である。逆に、唯一ピークが得られない場合は（ロ）のように、候補ピークの相関値に対し、次点ピークの相関値の差が閾値以下の場合に対応する。このように相関スコアのピークの唯一性を、ピーク位置と次のピーク位置との閾値や、ピークの鋭さで判定し、探索可能性を判定する。また相関値について、唯一ピークが得られる必要条件として、テンプレートに十分なテクスチャ性が存在することが求められる。そのため、曖昧な対応を除くためにテンプレートのテクスチャ性の不足を、分散等のスコアにより閾値で探索前に事前判定して探索可能性を判定してもよい。
【００４４】
図３（ｂ）は、アウトライアを説明するための図である。
【００４５】
ベクトル探索対象の画像が、静止の像面に平行な平面シーンを撮影した画像であり、撮像装置を左下にシフトして撮影した画像の場合、図３（ｂ）中の大部分のように、全ての注目点において同じベクトルが得られるはずである。しかしながら、正解ベクトルに対し、探索エラーにより大きく間違っている動きベクトルが生じている。これをアウトライアと呼び、その割合をアウトライア率と呼ぶ。アウトライアはオクルージョン部で起こり易く、オクルージョン部は、基準画像２０１と参照画像２０２を入れ替えて探索することにより検査できる双方向性、最低相関スコアによる閾値判定等で検出する。
【００４６】
図３（ｃ）は、精度を説明するための図である。
【００４７】
精度とは、アウトライアほど大きく外れていないが、真値のベクトルからのずれに関する指標である。例えば、図３（ｃ）に示すように、ある特定の注目点の周囲で切り出したテンプレートに対する動きベクトル（右下）が、アウトライアほどずれていないが微小な誤差を含む場合である。精度のずれは主に後述の視差競合により発生する。アウトライアと非アウトライアの違いは、動きベクトル探索時には判別できない。正解であるＧｒｏｕｎｄ  Ｔｒｕｔｈ、つまり理想的な正解値の動きベクトルと対となる画像対を入力して得られた動きベクトルとを比較して初めて判別可能である。精度の定量値についても同様である。アウトライアはベクトル誤差に対する判定閾値を定義して判別する。
【００４８】
また、人体等の非剛体動き、ローリングシャッタ歪、光学系の歪曲収差等に起因する変形により、精度の低下は発生する。テンプレート内の注目点に対し、注目点以外の領域が変形で移動し、該領域が顕著な特徴を持つ場合、ベクトル探索がこの相対的な移動、つまりは視差の競合の影響を受けることにより、精度劣化が生じる。当然、テンプレートが大きいほど、該歪や変形の影響を受け易くなり、精度が低下する。
【００４９】
また、探索領域内の相関スコアに対して多項式フィッティングを実施しより高精度に類似度のピーク位置を算出したリ、テンプレートと参照画像を高画素化するなどの処理により、サブピクセル精度で動きベクトルもしくは対応点の軌跡を算出してもよい。
【００５０】
以上、注目点をグリッド状に固定的に配置したブロックマッチングの例を示したが、動きベクトルを算出しやすい特徴点を基準画像上で抽出し、その位置を注目点としてベクトル探索してもよい。注目点の抽出には通常Ｈａｒｒｉｓオペレータ（非特許文献１参照）等の画像処理フィルタが用いられる。画像のコーナー位置を特徴点として抽出することにより、適切な特徴のない位置で探索することにより発生する開口問題や「滑り」の問題を抑制し、探索可能率を向上したリ、アウトライア率の低下、精度の向上が期待できる。
【００５１】
Ｈａｒｒｉｓオペレータはまず、ウィンドウサイズＷを決定し、水平および垂直方向についての微分画像（Ｉｄｘ，Ｉｄｙ）を計算する。微分画像の計算にはＳｏｂｅｌフィルタ等を用いればよい。例えば、フィルタは（式２．５）を横方向にし、縦方向に３つにならべた３×３フィルタｈｘ、および縦方向にし、横方向に３つならべた３×３フィルタｈｙを画像に適用し、（Ｉｄｘ，Ｉｄｙ）を得る。
【００５２】
【数３】
2015100066.tif 000005
【００５３】
そして、画像内の全ての座標（ｘ，ｙ）について、ウィンドウＷを用いて、次のマトリクスＧを計算する。
【００５４】
【数４】
2015100066.tif 000006
【００５５】
マトリクスＧの最小特異値が大きい座標（ｘ，ｙ）の順に特徴点を抽出していく。その際、特徴点があまり密集しないほうが好ましい。そこで、既に特徴点が抽出済みの座標（ｘ，ｙ）のウィンドウサイズＷの周辺はもう特徴点を算出しない等の約束を設けてもよい。
【００５６】
連続するフレーム間では、再度特徴点を求めてＴＭを行ってもよいし、得られた動きベクトルの終端を注目点として、新たなフレーム間でＴＭを行い、特徴点の軌跡を追跡してもよい。または、各フレームで算出した特徴点間で特徴量をキー情報としてテーブルマッチングを実施し、対応付けを行ってもよい。例えば、枝刈りアルゴリズムを活用することにより冗長な対応付け作業を削減することができるため効率的な対応付けが可能である。
【００５７】
上述した動きベクトル探索処理では、前処理部３で生成された画像信号および画像メモリ４に蓄積された過去の画像信号を入力し、そのまま動きベクトル探索を適用してもよい。また、図４に示すように、入力した画像を共に縮小して動きベクトル探索処理を適用してもよい。この際、動きベクトル探索性能を基本的には同等にしたい場合には、テンプレートサイズおよび探索範囲は、縮小率に応じて同じ比で縮小する。入力画像を縮小することにより、探索領域やテンプレートサイズに相当する画素毎の差分や積和の演算回数であるΣの繰り返し回数を削減することができる。また、当然ながら入力画像が縮小されると、そこから切り出される探索領域やテンプレートの画像情報を保持する画像メモリ４の領域、相関演算結果を保持する同領域は少なくて済むようになる。また、その結果、動きベクトル検出部５と画像メモリ４とのデータ信号のやり取りは小さく済ませることができるようになるため、不図示のデータバスの帯域をデータ信号で圧迫する可能性は小さくなる。
【００５８】
上述した領域ベースの動きベクトル探索処理においては、テンプレートサイズと該テンプレートによって切り出されるシーンの奥行の関係により、視差競合が起きる可能性がある。更に詳しく説明する。視差競合とは、設定されたテンプレート内に発生視差の異なる被写体が含まれる状態のことである。具体的には、遠距離の被写体と近距離の被写体の両方をテンプレートに含んでいる状態において、カメラを平行移動させた際に生じる像の動きベクトルを求める状態に対応する。テンプレート内に異なる視差を含むため、テンプレートの注目位置の視差が正しく求まらない問題である。例えば、図５（ａ）に示すような奥行方向に広がった壁面において動きベクトルを取る場合である。この際に、図５（ｂ）に示すように撮像装置を平行移動させると、奥行きの異なる被写体毎に大きさの異なる視差が発生してしまう。例えば、図５（ａ）に示す画像では、テンプレート内のテクスチャが明瞭で同一距離の領域が大きい近距離が支配的となる。そのため、注目点の動きベクトルに、近距離領域と注目点位置の領域の視差分の誤差が生じてしまう。
【００５９】
一方、図５（ｃ）に示すように、撮像装置を光学系の主点周りに回転させた場合、動きベクトル探索の前に射影変換ホモグラフィにより動きの補正を行えば、奥行きの異なる被写体をテンプレート内に含んでいても視差は発生しない。そのため視差競合による精度の劣化が発生せず、視差のない場合には大テンプレートサイズの方がノイズや微小変形にも強く高精度の動きベクトルが得られる。加えて、動きベクトルは縮小率の低い等倍探索の方が精度が向上する、という特性がある。視差競合のより顕著な例を図６（ａ）〜図６（ｄ）に示す。
【００６０】
図６（ａ）に示すように前景の人物と背景が写っている場合において、前景と背景の間で視差が発生している場合を考える。このような場合、前景の人物と背景の境界近傍にテンプレートを設定してしまうと、図６（ａ）の６０１のようにテンプレート領域内に異なる視差を持つ動き競合が起きる可能性がある。この場合、本来、注目点のベクトルは、注目点が背景に属する画素であるため、図６（ｂ）のように背景の動きに従ったベクトルの値を取るのが正解である。しかしながら、前景のテクスチャが強い場合や、前景と背景の境界が明瞭な場合は、前景に引きずられ、図６（ｃ）のように前景の動きに従った、大きく精度の劣化した、もしくはアウトライアと判定されるベクトルとなってしまう。このため、図６（ｄ）に白領域で示すように、奥行方向の被写体境界において、動きベクトル探索結果にアウトライアや視差精度の劣化した部分が大きく発生してしまう。
【００６１】
視差競合の問題に対する対策としては、上述したように、階層探索が主要なものとして挙げられる。最初は相対的に大きなテンプレートで探索し、徐々にテンプレートサイズを縮小させていき、最終的な探索のテンプレートサイズを限りなく小さくしてベクトル探索する手法である。
【００６２】
階層動きベクトル探索手段とは、ピラミッド画像階層作成手段と、注目点追跡手段とにより構成される。ピラミッド画像階層作成手段は、ベースとなる最低縮小率の画像を最下層レイヤとして、第２及び第３の画像を段階的に縮小してピラミッド画像階層を構成するものである。注目点追跡手段は、このピラミッド画像階層作成手段により作成されたピラミッド階層を最上位レイヤから順番に最下層レイヤに向けて注目点を追跡して探索していくものである。
【００６３】
ピラミッド画像階層作成手段においては、例えば平均画素法を利用して画像を縮小することによりピラミッド画像階層を形成する。一般的には３段もしくは４段のピラミッドを作成するのが効果的である。ベースとなる最低縮小率の最下層レイヤを基準に１、１／２、１／４、１／８倍に縮小した階層画像を生成する。１、１／√２、１／４、１／８倍といった倍率校正もしばしば用いられる。
【００６４】
注目点追跡手段は、形成したピラミッド画像階層において注目点を追跡する。その際、最上位レイヤから下位レイヤに向かって順に注目点を追跡していき、探索範囲を相対的に徐々に狭めていく。また、テンプレートサイズは画像が拡大するのに対して、一定か若しくは縮小させていく。
【００６５】
図７（ａ）は、ピラミッド画像階層を最上層から最下層に向けて探索する際の探索範囲の変化の一例を示す図である。
【００６６】
最上層においては、単層探索における探索範囲と同様に、対象の画像間の動きの大きさにより決定した探索範囲で探索を行う。そして以降の最下層までの探索においては、基本的に画像が拡大され、テンプレートが相対的に縮小されることにより補正される精度の範囲の分のみ探索すればよくなる。例えば、参照画像中のある上層でピーク相関値が得られた位置の周囲８画素近傍もしくは周囲２４画素近傍を探索すればよい。
【００６７】
図７（ｂ）は、ピラミッド画像階層を最上層から最下層に向けて探索する際のテンプレートサイズの変化の一例を示す図である。
【００６８】
最上層から最下層に向けて探索する途中は、テンプレートサイズを一定に保つことで、ベース画像基準で徐々に縮小させていくことに繋がる。そしてベース画像上で探索する際には徐々にテンプレートサイズを縮めていくことで、動きベクトル探索精度を向上させることができる。このため、最終的な最下層レイヤでのテンプレートサイズを小さくすることができ、視差競合の影響をより小さくすることができる点が利点として挙げられる。逆にいえば、テンプレートサイズを大きくし過ぎることによる弊害、例えば視差競合による精度の劣化を気にせずに初期テンプレートサイズを決定できる。よって、探索範囲に対し初期テンプレートサイズを大きく取ることができ、探索可能率を高く保つことが可能となる。
【００６９】
しかしながら、単層探索の場合に比べ、新たにピラミッド画像階層作成手段が必要になり、階層画像を構築・保持するために回路規模や占有メモリの増加、バス帯域の圧迫等の影響が無視できない。そのためリソースの厳しい組込機器における実装においては、ベースとなる最低縮小率の最下層レイヤにおいても、縮小探索で実現しなければならない場合が生じる。加えて、処理の複雑化によるリアルタイム処理の実現の課題を解消するため縮小探索で行わなければならないという場合もある。この場合、視差競合のない手ぶれ等の撮影条件の場合には、等倍画像で探索する単層マッチング処理に、ベースの最下層レイヤが縮小探索である階層マッチング処理が劣るという場合がある。
【００７０】
更に、階層動きベクトル探索においては、最上位レイヤでは特徴が消えてしまって、中間層レイヤにならないと画像特徴が現れず、対応点探索ができない場合が発生し、中間階層から探索を開始しなければならない場合があったりする。中間階層から探索開始は、画像視野の大域的特徴を捉える事ができないため、繰り返しや平坦部等のパターンの影響を受け易く、唯一のピークを決定する上で期待効果が得られなかったり、アウトライアに繋がる誤検出を混入させ易く、性能低下を引き起こし易い。
【００７１】
また、階層探索においては、視差競合による精度低下が原理的に起こりにくくなることを考慮し、基準画像の注目点をオクルージョン部に設定してしまった時には、オクルージョン部を探索していることを検知する機構を入れ、整合性をとらなければならなくなる。オクルージョン部検知には相関値等による類似度値に対する閾値処理や、基準画像と参照画像を入れ替えてベクトル探索することによりチェックする双方性チェック等を行うが、探索法が複雑になりがちである。そもそもの階層探索、中間階層からの探索、オクルージョンのチェック機能等は大きな視差を含む画像間でのベクトル探索において、精度向上やアウトライア率低下の性能向上実現には重要な要素である。しかしながら、画像間の視差が小さく、視差競合の影響が小さい条件下においては、被写体の非剛体変形や照明等による見えの影響を受け、アウトライアの誤検出や正解ベクトルの誤棄却、ドリフト等による精度劣化を引き起こしてしまう。加えて、各レイヤでのテンプレートサイズや探索範囲、相関スコアの唯一性やテンプレートのテクスチャ性を判定する各種判定閾値、各レイヤの縮小率等、パラメータの種類が爆発的に増加してしまう。結果、該多数のパラメータを調整して期待通りの性能を得るのは至難の業となってしまう。結果、ベースの最下層レイヤにおいて単層マッチングと同じ等倍探索を行えたとしても、視差競合のない手ぶれ等の撮影条件の場合には、単層マッチング処理に階層マッチング処理が劣るという場合がある。
【００７２】
そこで、視差競合頻度推定部６では、視差競合の発生の度合い（頻度）を各種センシング情報から推定する。そして、動きベクトル検出部５に該頻度情報を与えて、ベクトル探索の方法を変更する。なお、同時に入力画像の縮小率を変更してもよい。さらに、視差競合頻度推定部６は、動きベクトル検出部５に該頻度情報を与えて、ベクトル探索の方法を変更させる。画像間で生じる視差競合の頻度が少ないと判断した場合には、探索方法に単一倍率の入力画像中で動きベクトルを検出する単層マッチング（図８のステップＳ８０２１）を採用する。一方、画像間で生じる視差競合の頻度が大きいと判断した場合には、入力画像をベースとして複数階層からなる階層画像を形成して動きベクトルを検出する探索方法は階層マッチング（図８のステップＳ８０２２）を採用する。
【００７３】
図８は、視差競合頻度推定ステップを含む動きベクトル探索処理のフローチャートである。
【００７４】
図８において、ＣＰＵ８は、視差競合頻度判定により、例えば、単層探索で動きベクトル探索（ステップＳ８０２１）を行うのか、階層探索で探索（ステップＳ８０２２）を行うのかを判定し（ステップＳ８０１）、動きベクトルを算出する。当然、各動きベクトル探索は視差競合頻度推定結果に応じ、多段階に入力画像の縮小率を変化させてもよい。
【００７５】
図９（ａ）及び図９（ｂ）は、単層探索と階層探索の切り替えを表す図であり、（ａ）は階層探索が等倍の場合を示す。一方、図９（ｂ）に示すように、更に費用対効果を考慮し、画像間で生じる視差競合の頻度が小さいと判断した場合には入力画像の縮小率を小さくして階層探索を行う。そして、画像間で生じる視差競合の頻度が大きい場合には、入力画像に対する縮小率をより大きくしてベクトル探索を階層探索で行ってもよい。
【００７６】
撮影画像上における、そもそもの視差の発生度合い（頻度）は、撮像装置と被写体シーンとの間の相対位置関係、つまりは被写体に対する撮像装置の相対的な並行移動量、及び被写体距離に依存する。並行移動量が大きいほど、被写体距離が近く、写っている被写体間の距離差が大きいほど発生する視差の度合いは大きくなる。また、ズーム状態によって決まる焦点距離が長いと画像上の視差変化は大きくなる。加えて、撮像装置の動作状態、例えばフレームレートの高低によっても視差量は変化する。例えばフレームレートが低いと、フレーム間の動きが大きくなるため、視差が大きくなる。該撮影条件や撮像装置の動作状態は、ＣＰＵ８がセンサやエンコーダから取得し、保持している。
【００７７】
このように、そもそもの視差の発生度合いは並行移動量［Ｔ］、被写体ボリューム距離［Ｖ］と被写体距離［ｌ］の比、焦点距離［ｆ］、フレームレート［ｆｐｓ］のような撮像装置の動作状態によって指標化できる。ここで、被写体ボリューム距離とは、写っている被写体の最遠距離から最近接距離の差分である。加えて、視差競合の発生の度合いを考えるには、ある一定以上の奥行き差のある被写体の細かさを考える必要がある。但し、被写体の奥行き差やその大きさは瞬間毎に細かく変化し、閾値判定して処理を切り替える基準にするには不安定である。
【００７８】
そこで例えば、視差の発生度合いが大きいと視差競合の発生の度合いも大きいという類推を用い、奥行き差のある被写体の細かさの影響を省略する。すると、推定に必要な構成を簡略化でき、指標も安定化し易い。判定指標の一例を算出する式を（式４）に示す。
【００７９】
【数５】
2015100066.tif 000007
【００８０】
（式４）の指標Ｘが視差判定閾値ｔｈｐａｒａｌｌａｘよりも大きければ視差の発生度合い（頻度）は大きく、視差競合の発生頻度も大きいと類推されるため、縮小探索を行う。逆に、閾値よりも小さい場合には、視差競合の発生頻度は小さいと判定できるため、ベクトル探索の入力画像の縮小率を下げる、もしくは等倍探索を実施する。また、閾値を以下のように多段階に設定し、縮小率を多段階に変化させてもよい。
【００８１】
【数６】
2015100066.tif 000008
【００８２】
従って、該機能を実施するためには、視差競合頻度推定部６は、例えば、撮像装置の並行移動量を計測するセンサ、並びに指標値の算出部及び判定部から構成される。そして、ＣＰＵ８から撮影条件及び撮像装置の動作状態の情報を入手し、（式４）の判定指標を計算し、視差判定閾値ｔｈｐａｒａｌｌａｘとの比較演算により判定を行い、視差競合頻度の高低を推定する。
【００８３】
並行移動量は、通常３軸に対するベクトル量として得られる。このため指標値もベクトル量として得られる。各軸に対応する閾値を設定し、判定してもよいし、動きベクトル探索に影響の大きな光軸に垂直な２軸に関してのみ判定してもよい。また、変位の大きな並行移動量のみ判定に用いてもよい。例えば、画像の並行移動量を計測するセンサとしては、加速度センサ及びジャイロ等からなる、回転軸および並進軸のセンサから構成される多軸の姿勢センサにより構成する。単に指標の計算のみの目的であれば加速度センサ等の並進軸に関する姿勢センサだけでもよい。加速度センサはその瞬間値の積分により速度値および並進量を算出する。
【００８４】
また、手ぶれや歩きぶれによる、撮像装置のゆれ、言い換えれば姿勢変化において、撮像装置の回転ぶれと並行移動ぶれの間には、正の相関がある。言い換えれば回転ぶれが大きくなると並行移動ぶれも一定の比率で同様に大きくなる。回転ぶれと並行移動ぶれの増加比率については、手ぶれや歩きぶれといったぶれの発生原因の動作により異なるが、基本的に正の相関関係が存在する。そのため、視差競合頻度推定部６のセンシング対象である並行移動量の計測をジャイロ等の回転センサを用いた回転、回転ブレ量に置き換えてもよい。この場合は、計測センサとしてはジャイロ等により機能実現可能である。
【００８５】
また、撮像装置が前記回転軸および並進軸のセンサを持つ場合には、動きベクトル検出部５にて、前述の動きベクトル探索を行う前に、既知の姿勢変化情報を利用し、入力画像に対して平行化処理を行ってもよい。平行化処理を行うことにより、撮影シーンが静止の場合、本発明が対象とする、視差以外の画像間の動きを除去可能である。平行化処理はエピポーラ幾何に従い、画像間の視差以外の動きを射影変形等の幾何変形により除去し、対応点を同一スキャンライン上に移動させる一般的な画像処理方法である（非特許文献２）。本発明の効果をより強く発揮可能となる。
【００８６】
視差競合頻度推定部６は、不図示のＧＵＩ等からなる、撮影モード設定手段を含む構成であってもよい。ジャイロや加速度センサ等のセンシング値等のカメラの位置姿勢変化情報を通した間接的な視差競合の発生頻度の推定を行うのではなく、撮像装置のユーザに直感的に視差競合の発生頻度を推定してもらい、その判定を撮影モード設定手段により行ってもよい。撮影モードには、手持ち撮影や歩き撮り撮影のような撮影状態、撮像装置の把持状態（両手持ち、片手持ち）等を例示し、視差競合の発生頻度の推定をアシストしてもよい。例えば両手持ちの手持ち撮影ならば視差競合の発生頻度は低であり、ベクトル探索を単層探索で実施する。加えて入力画像の縮小率を下げる、もしくは等倍探索を実施してもよい。逆に片手持ちの歩き撮りをユーザが指定したならば、視差競合の発生頻度は高と推定され、階層探索を行う。同時に必要ならば入力画像を縮小し探索を行う。ユーザ指定の方法ならば、撮影状態に適応的に対処することはできないが、姿勢センサの誤作動等でユーザの意図通りの探索手法、入力画像の縮小率でベクトル探索を常に実施することができる。
【００８７】
以上説明したように、本発明の第１の実施の形態により、手ぶれ、歩き撮り等の異なる場合も性能（探索可能率・精度）に対する負荷（バス帯域・消費電力等）バランスを考慮したベクトル探索の探索手法を選択できる。これにより、視差競合による精度の劣化を抑制した動きベクトル結果を得ることができる。
【００８８】
［第２の実施形態］
図１０は、本発明の第２の実施形態に係る撮像装置の概略構成を示すブロック図である。なお、第１の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【００８９】
撮像装置２００は、光学系１、撮像素子２、前処理部３、メモリ４、動きベクトル検出部５、視差競合頻度推定部１００６、後処理部７、及びＣＰＵ８を備える。
【００９０】
視差競合頻度推定部１００６は、ＣＰＵ８から得られる撮影条件および撮像装置の動作状態、および直前に動きベクトル検出部５で行った動きベクトルの検出結果を入力とし、視差競合の発生頻度を判定する。
【００９１】
また、視差競合頻度推定部１００６は、例えば、入力した動きベクトルから撮像装置の並行移動量を計算する姿勢変化計算部、並びに指標値の算出部及び判定部から構成される。そして、ＣＰＵ８から撮影条件及び撮像装置の動作状態の情報を入手し、（式４）の判定指標を計算し、視差判定閾値ｔｈｐａｒａｌｌａｘとの比較演算により判定を行い、視差競合頻度の高低を推定する。
【００９２】
姿勢変化計算部は、まず入力された動きベクトルに対してＣＰＵ８から得られる撮影条件により正規化を行い、撮像装置の回転と共に並行移動量を推定する。画像ベクトルから得られる撮像装置の並行移動量は、被写体距離と結合した形でしか得られないため、不図示のＡＦ等によって得られる撮影条件の被写体距離により並行移動量を分離する。そして、（式４）により、視差競合の発生頻度の推定のための判定指標値を計算してもよい。または、被写体距離と結合した撮像装置の並行移動量［Ｔ’］を用いて判定指標値を計算してもよい。
【００９３】
【数７】
2015100066.tif 000009
【００９４】
上記第１の実施形態で説明した手順と同様に、（式４）または（式６）によって求められる指標Ｘが視差判定閾値ｔｈｐａｒａｌｌａｘよりも大きければ視差競合の発生頻度も大きいと判定して縮小探索を行う。一方、指標Ｘが視差判定閾値ｔｈｐａｒａｌｌａｘよりも小さい場合には視差競合の発生頻度は小さいと判定し、ベクトル探索の入力画像の縮小率を下げるか若しくは等倍探索を実施する。なお、視差判定閾値ｔｈｐａｒａｌｌａｘを多段階に設定して縮小率を多段階に変化させてもよい。更に、姿勢変化計算からの判定指標値に用いる情報を、並行移動量ではなく、計算の安定性の高い撮像装置の回転量の推定結果の値を近似として用いてもよい。
【００９５】
以下、姿勢変化計算部におけるＣＰＵ８から得られる撮影条件及び入力ベクトルを用いた撮像装置の回転及び並行移動量の推定方法を説明する。
【００９６】
まず、計算精度の向上や計算の安定化を目的として、対応点を入力フレームのピクセル座標系の対応点値から正規化画像座標系における対応点値へと変換する。以下、（ｘ，ｙ）は入力フレーム上のピクセル座標、（ｕｄ，ｖｄ）は歪みを含む正規化画像座標、（ｕ，ｖ）は歪みを除去した正規化画像座標とである。内部パラメータおよび歪み係数を用いて変換を行う。
【００９７】
まず、内部パラメータにより正規化画像座標に変換する。ｉｎｖ（）は（）のマトリクスの逆行列を表す。
【００９８】
【数８】
2015100066.tif 000010
【００９９】
内部パラメータの行列はカメラ行列Ｋと呼ばれる。
【０１００】
【数９】
2015100066.tif 000011
【０１０１】
そして、歪み係数により歪みを除去する。
【０１０２】
【数１０】
2015100066.tif 000012
【０１０３】
→の演算は以下で説明する処理で実現する。歪み除去は、放射歪の関係、（式１０）、（式１１）を用いて行う。
【０１０４】
【数１１】
2015100066.tif 000013
【０１０５】
【数１２】
2015100066.tif 000014
【０１０６】
なお、ｋ１，ｋ２，ｋ３はそれぞれ１次、２次、３次の放射方向の歪み係数を表す。これらは光学系の収差より生じる歪みである。歪みは光学系の焦点距離や被写体距離等の撮影条件毎に変化する。このため、焦点距離等との関係は、設計値より算出しておく。そして、焦点距離等に対応するルックアップテーブルもしくは焦点距離等に関する変換式を不図示のＲＯＭ等に記憶させておき、撮影条件に基づきＣＰＵ８が取りだす構成でもよい。
【０１０７】
本実施形態では、放射方向の歪みのみを除去するが、動径方向の歪みのような別の歪みが顕著ならば、別途歪み除去処理を追加して行ってもよい。
【０１０８】
そして、姿勢変化計算部は、カレントフレームと過去フレーム間の補正済み対応点を入力として、当該フレーム間のカメラの姿勢変化を推定する。対応点補正において、正規化画像座標系における値へと変換した対応点情報に対して、基本的に基本行列の分解に基づく姿勢推定もしくは５点法のようなピンホールカメラモデルに基づく姿勢推定法を実行し、カメラワークを推定する。一般的には、基本行列の分解に基づく姿勢推定の方が計算が単純なことから活用されている。
【０１０９】
しかしながら、対応点算出において、その算出位置がマッピングされた空間配置が平面上の様な特異配置の場合、基本行列の分解に基づく推定法では縮退により解が得られなくなる。その場合には、射影ホモグラフィを求めて分解操作によりカメラ姿勢を推定する方法と切りかえを行う。動きベクトルからの撮像装置の位置姿勢変化を推定する処理を図１１に示す。
【０１１０】
図１１において、ＣＰＵ８は、まず平面度を算出する（ステップＳ１１０１）。平面度は、対応点から計算されるデータ行列の条件数の大小により決定される。算出された平面度が高くないと判定された場合には（ステップＳ１１０２でＮＯ）、上述した基本行列の分解に基づく姿勢推定もしくは５点法のようなピンホールカメラモデルに基づく姿勢推定法を実行される（ステップＳ１１０２２）。一方、算出された平面度が高いと判定された場合には（ステップＳ１１０２でＹＥＳ）、以下に説明する射影ホモグラフィに基づく姿勢推定法が実行される（ステップＳ１１０２１）。
【０１１１】
次に、射影ホモグラフィに基づく姿勢推定法について説明する。
【０１１２】
過去フレームにおける正規化画像座標を（ｕｉ，ｖｉ）、カレントフレームにおける正規化画像座標を（ｕｉ’，ｖｉ’）、ｉ＝ｌ，・・・，ｍ（ｍは対応点数）とすると、射影ホモグラフィについての線形式を得ることができる。
【０１１３】
【数１３】
2015100066.tif 000015
【０１１４】
この線形式は、対応点数ｍ≧８ならば過決定となる。そして、線形最小二乗式として解くことにより、ｈ＝｛ｈ１１，・・・，ｈ３３｝が求められる。これを３×３のマトリクスに整形することにより、射影ホモグラフィ、つまりはフレーム間の画像の変化量が求められる。
【０１１５】
【数１４】
2015100066.tif 000016
【０１１６】
次に、射影ホモグラフィをカメラワーク回転Ｒ、シーンの被写体を近似した面の方向ｎ、そして並進ベクトルｔと深度ｄの積ｔ／ｄに分解する。以下の手順により可能な２つの解を算出する。射影ホモグラフィの２つの解への分解は、固有値分解、特異値分解を利用し、不変量を見出すことで行われる。様々な解法が可能であるが、本実施形態では、非特許文献３で用いられたアプローチを参考に記述する。
【０１１７】
射影ホモグラフィとカメラワークおよびシーン配置の関係は次式により表される。
【０１１８】
【数１５】
2015100066.tif 000017
【０１１９】
Ｒ、ベクトルｔはカメラの回転および並進、ｄは基準面までの距離、ベクトルｎは基準面のカメラから離れる向きの法線、λは任意定数である。
【０１２０】
ここで２画像間からの算出では、空間平面の距離ｄとカメラワーク並進のノルムｎｏｒｍ（ベクトルｔ）の積を分けることはできない。ノルムとは、ベクトルの大きさを表す量である。つまり、ベクトルｔは並進方向を表す単位方向ベクトルｎｏｒｍ（ベクトルｔ）＝１、ｄは空間平面までの距離と並進量の大きさの積として扱われる。
【０１２１】
最初に、Ｈの符号は、平面上の全ての対応点ベクトルｘ１、ベクトルｘ２から、（式１４．１）を満たすように選択されるとする。
【０１２２】
【数１６】
2015100066.tif 000018
【０１２３】
Ｈの特異値分解は、Ｈ＝ＵＳＶＴとなる。ここでＵおよびＶは３×３の回転マトリクスで、Ｓ＝ｄｉａｇ（σ１，σ２，σ３）は正の降順対角要素σ１≧σ２≧σ３≧０であり、Ｈの特異値とする。ここで、関連する直交マトリクスＵおよびＶの列要素をｕ１，ｕ２，ｕ３およびｋであらわす。
【０１２４】
本実施形態では、第１カメラの参照系を採用し、３次元平面を（式１４．２）とする。
【０１２５】
【数１７】
2015100066.tif 000019
【０１２６】
ここでベクトルｎは、外向き（カメラから離れる方向）の法線とする。ζ＝１／ｄ≧０は平面に対する距離の逆数である。この参照系においては、第１カメラは３×４の射影マトリクス］（式１４．３）を持つ。
【０１２７】
【数１８】
2015100066.tif 000020
【０１２８】
そして、第２カメラは（式１４．４）となる。
【０１２９】
【数１９】
2015100066.tif 000021
【０１３０】
なお、ｔ’＝-Ｒｔであり、ｔ，ｔ’はカメラ間の並進（つまり、第１カメラ光軸中心から第２カメラの光軸中心への）、Ｒはカメラ間の回転を表す。
【０１３１】
画像１から画像２へのホモグラフィはＨ＝ＲＨ１であり、ここでは（式１４．５）である（平面上の３次元点ベクトルｘに対して、（式１４．６）となる。なぜならば、そこでは（式１４．７）であるためである。そして、ベクトルｘを画像１内の任意点と扱うと、違いは全体のスケール因子のみである。）
【０１３２】
【数２０】
2015100066.tif 000022
【０１３３】
【数２１】
2015100066.tif 000023
【０１３４】
【数２２】
2015100066.tif 000024
【０１３５】
積（式１４．８）のみが復元可能で、それゆえ、||ｔ||＝||ｎ||＝１で正規化する（つまり、平面距離１／ζは単位基線長||ｔ||において測定される。）そして、可能な符号を決めるために、後述するデプス正制約テストを行う。
【０１３６】
【数２３】
2015100066.tif 000025
【０１３７】
特異値分解のＨ＝ＵＳＶＴとＨ１＝Ｕ１ＳＶＴはＲの要素まで同じである。すなわち、Ｕ＝ＲＵ１である。Ｈ１において、外積ベクトル  ベクトルｔ×ベクトルｎは不変である。もし特異値が明確ならば、ベクトルｔ×ベクトルｎは特異ベクトルに対応しなければならない。これにより、これはいつも２番目の特異ベクトルｖ２であると分かる。それゆえ、Ｈの補正正規化はＨ→Ｈ／σ２、つまり（σ１，σ２，σ３）→（σ１／σ２，１，σ３／σ２）である。以下、σ２による正規化が済まされているものと想定する。
【０１３８】
画像フレーム１において、ベクトルｔ×ベクトルｎがｖ２に対応することが与えられると、{ベクトルｔ，ベクトルｎ}部分空間は、{ｖ１，ｖ３}により占められなければならない。つまり、任意のパラメータα、β（α２＋β２＝１）に対して、（式１４．９）、（式１４．１０）である。ベクトルｎに直交する任意方向（特に、ベクトルｎ×（ベクトルｔ×ベクトルｎ）はＨもしくはＨ１によって変化しないノルムを持つ。
【０１３９】
【数２４】
2015100066.tif 000026
【０１４０】
ここで、（式１４．１１）もしくは（式１４．１２）である。ベクトルｔ×ベクトルｎを上記のｖ１もしくはｖ３に対応させると、解がなくなってしまう。それゆえ、ｖ２のみが可能となる。
【０１４１】
【数２５】
2015100066.tif 000027
【０１４２】
厳密には、左辺の同じ引数が（式１４．１３）を示す。
【０１４３】
ベクトルｔがＨ１の固有値（式１４．１３）の固有ベクトルを満たすならば、（式１４．１５）を得る。故に、（式１４．１６）である。なお、単純化後は、ζ＝σ１−σ３である。
【０１４４】
【数２６】
2015100066.tif 000028
【０１４５】
Ｈ１の特異値分解の左辺（Ｕ１の列ベクトルｕ１，ベクトルｕ２，ベクトルｕ３）は、ベクトルｕ２＝ベクトルｖ２により復元可能であり、ベクトルｔがＨ１の固有ベクトルであることが必要である。そこでは、ベクトルｕ１＝γベクトルｖ１＋δベクトルｖ３、ベクトルｕ３＝δベクトルｖ１−γベクトルｖ３となり、（単純化後の）（式１４．１７）となる。故に、（式１５）として最後に回転Ｒが得られる。
【０１４６】
【数２７】
2015100066.tif 000029
【０１４７】
以下、画像変化量を、回転と並進からなるカメラワークＲ、ベクトルｔ（方向ベクトル）と空間の基準面の深さ位置ｄと方向ベクトルｎからなるシーン配置との可能な２つの解を算出するための、一連の具体的な処理をまとめて説明する。
【０１４８】
【数２８】
2015100066.tif 000030
【０１４９】
これらを用いて可能な２つの解{Ｒ１，ベクトルｔ１，ベクトルｎ１}、{Ｒ２,ベクトルｔ２,ベクトルｎ２}が求まる。
【０１５０】
【数２９】
2015100066.tif 000031
【０１５１】
【数３０】
2015100066.tif 000032
【０１５２】
このように、符号の整合性を取ることにより、可能な２つの解が算出される。その後、エピポーラ誤差チェックが行われ、誤差の少ない１つの解が抽出される。
【０１５３】
エピポーラ誤差チェックは以下のようにして実行される。対応点ベクトルｘ１、ベクトルｘ２より求められたホモグラフィを分解して得られる姿勢変化とシーン情報の可能な２つの解のセット｛Ｒ１，ベクトルｔ１／ｄ，ベクトルｎ１｝、{Ｒ２,ベクトルｔ２／ｄ，ベクトルｎ２}について、対応点を用いてエピポーラ誤差を算出する。エピポーラ誤差は、（式３０）で表される。
【０１５４】
【数３１】
2015100066.tif 000033
【０１５５】
ｎは対応点数である。そして、誤差の小さな解を真の解として選択する。これにより、入力されたフレーム間のカメラワークを表す{Ｒ，ベクトルｔ，ベクトルｎ，ｄ}の唯一の解が求まる。
【０１５６】
なお、説明を省略したが、ピンホールカメラモデルを想定し、非平面シーンに対するカメラの姿勢推定方法である基本行列に基づく姿勢推定（非特許文献４）および５点法（非特許文献５）は、非特許文献に記載される公知技術をベースにしたもので実現可能である。
【０１５７】
以上の姿勢変化計算部における撮像装置の回転と並行移動量の推定の説明では、撮影条件の情報と入力ベクトルのみから推定する方法を説明したが、視差競合頻度推定部１００６に姿勢センサを含む場合、姿勢変化の推定において併用してもよい。例えば、ジャイロセンサ値の積分から求まった撮像装置のフレーム間の回転情報を（式１４）の回転の情報とみなし、フレーム間の動きベクトル変化、つまり、対応点の変化に対し撮像装置の回転に関する像変化の補正、つまり打ち消しを先に実施する。そして、フィッティングをかけることにより、平行移動センサ情報のない状態で、撮像装置の並行移動量の推定を行ってもよい。
【０１５８】
また、ジャイロセンサ値の積分から求まった撮像装置のフレーム間の回転情報を（式１４）の回転の初期値とする。そして、フレーム間の動きベクトル変化、つまり対応点の変化に対しフィッティングをかけることにより、センサ情報のない状態での並行移動量に加え、高精度な撮像装置の回転情報について推定してもよい（非特許文献３）。量子化等のノイズ影響が大きい中、信頼度の高い初期値の併用はシステム性能、安定度の向上に繋がる。
【０１５９】
同様に、ジャイロセンサ値の積分から求まった撮像装置のフレーム間の回転情報を（式１４）の回転の初期値にする。そして、加速度センサ値の積分から求まった撮像装置のフレーム間の並行移動量を（式１４）の並行移動量の初期値にする。そして、フレーム間の動きベクトル変化、つまり対応点の変化に対しフィッティングをかけることにより、撮像装置の回転及び並行移動量についてセンサ性能を越える高精度な推定してもよい。
【０１６０】
以上説明したように、本発明の第２の実施の形態により、手ぶれ、歩き撮り等の異なる場合も性能（探索可能率・精度）に対する負荷（バス帯域・消費電力等）バランスを考慮したベクトル探索手法、対象画像の縮小率を選択することができる。その結果、視差競合による精度の劣化を抑制した動きベクトル結果を得ることができる。
【０１６１】
さらに上述した撮像装置の対応点探索機能はそれぞれの機能を有するハードウェアにより実現させることもできるが、ソフトウェアにより実現させることもできる。ソフトウェアにより実行させる場合、そのソフトウェアを構成するプログラムが専用ハードウェアに組み込まれた画像処理装置でもよい。また、コンピュータまたは各種プログラムを記録媒体またはネットワークからインストールすることで各種機能を実現可能な、例えば汎用のパーソナルコンピュータを用いて実現可能である。例えば、撮像装置で撮影した映像と、該映像撮影時の撮影条件および撮像措置の動作状態、および姿勢センサ情報を同期して記録しておき、該画像処理装置、プログラムの処理を適用することで該対応点探索を実施可能である。
【符号の説明】
【０１６２】
２  撮像素子
３  前処理部
４  メモリ
５  動きベクトル検出部
６  視差競合頻度推定部
７  後処理部
８  ＣＰＵ
１００  撮像装置
２０１  基準画像
２０２  参照画像
【図１】
2015100066.tif 000034
【図２】
2015100066.tif 000035
【図３】
2015100066.tif 000036
【図４】
2015100066.tif 000037
【図５】
2015100066.tif 000038
【図６】
2015100066.tif 000039
【図７】
2015100066.tif 000040
【図８】
2015100066.tif 000041
【図９】
2015100066.tif 000042
【図１０】
2015100066.tif 000043
【図１１】
2015100066.tif 000044