(57)【要約】【課題】二つの画像をサブピクセル単位の精度で照合する際の照合精度を低下させずに演算量を低減できる画像照合装置を提供する。【解決手段】画像照合装置は、第１の画像の第１の領域及び第２の画像の第２の領域をそれぞれ周波数分解して第１の周波数係数の組及び第２の周波数係数の組を算出する周波数分解部２３と、第１及び第２の周波数係数の組のそれぞれから所定の周波数帯域内の周波数係数を選択する係数選択部２４と、画素単位未満のシフト量ごとに、第２の領域の画素値分布をシフト量だけずらした画素値分布を周波数分解した所定の周波数帯域内の各周波数の第３の周波数係数を、選択された第２の周波数係数とシフト量とに基づいて算出するシフト係数算出部２５と、選択された第１の周波数係数の組と第３の周波数係数の組間の類似度をシフト量ごとに算出する係数照合部２６と、類似度の最大値に対応するシフト量を特定するシフト量特定部２７とを有する。【選択図】図２
2016206792.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像上の第１の領域を周波数分解して第１の周波数係数の組を算出し、かつ、第２の画像上の第２の領域を周波数分解して第２の周波数係数の組を算出する周波数分解部と、
前記第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、前記第２の周波数係数の組から前記所定の周波数帯域に含まれる各周波数の周波数係数を選択する係数選択部と、
画素単位よりも小さい複数のシフト量のそれぞれについて、前記第２の領域の画素値分布を前記シフト量でずらした画素値分布を周波数分解した第３の周波数係数の組のうちの前記所定の周波数帯域に含まれる各周波数の前記第３の周波数係数を、選択された前記第２の周波数係数と前記シフト量とに基づいて算出するシフト係数算出部と、
前記複数のシフト量のそれぞれごとに、選択された前記第１の周波数係数の組と前記第３の周波数係数の組間の類似度を算出する係数照合部と、
前記複数のシフト量のうち、前記類似度の最大値に対応するシフト量を、前記第１の領域と前記第２の領域間のシフト量として特定するシフト量特定部と、
を有する画像照合装置。
【請求項２】
前記シフト係数算出部は、前記複数のシフト量のそれぞれごとに、前記周波数帯域に含まれる所定の周波数における前記第３の周波数係数を、前記周波数帯域に含まれる周波数のそれぞれにおける前記第２の周波数係数に、当該周波数の前記第２の周波数係数の基底関数の位相を前記シフト量に相当する位相変化量だけずらした第２の基底関数と前記所定の周波数における前記基底関数間の相関値を乗じて得られる積の和として算出する、請求項１に記載の画像照合装置。
【請求項３】
前記係数選択部は、前記第１の領域の水平方向及び垂直方向のうち、より高い周波数の成分を含む方向についての前記所定の周波数帯域を、他方の方向についての前記所定の周波数帯域よりも広くする、請求項１または２に記載の画像照合装置。
【請求項４】
前記第１の領域と前記第２の画像間の相対的な位置を画素単位で変えながら前記第１の領域と前記第２の画像上の対応領域間の類似度を算出し、当該類似度が最大となる場合の前記対応領域を前記第２の領域とし、かつ前記第１の領域と前記第２の領域間の画素単位のシフト量を算出する画素単位照合部をさらに有し、
前記シフト量特定部は、前記画素単位のシフト量に前記シフト量を加えた値を前記第１の領域と前記第２の領域間のシフト量とする、請求項１〜３の何れか一項に記載の画像照合装置。
【請求項５】
第１の画像上の第１の領域を周波数分解して第１の周波数係数の組を算出し、かつ、第２の画像上の第２の領域を周波数分解して第２の周波数係数の組を算出し、
前記第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、前記第２の周波数係数の組から前記所定の周波数帯域に含まれる各周波数の周波数係数を選択し、
画素単位よりも小さい複数のシフト量のそれぞれについて、前記第２の領域の画素値分布を前記シフト量でずらした画素値分布を周波数分解した第３の周波数係数の組のうちの前記所定の周波数帯域に含まれる各周波数の前記第３の周波数係数を、選択された前記第２の周波数係数と前記シフト量とに基づいて算出し、
前記複数のシフト量のそれぞれごとに、選択された前記第１の周波数係数の組と前記第３の周波数係数の組間の類似度を算出し、
前記複数のシフト量のうち、前記類似度の最大値に対応するシフト量を、前記第１の領域と前記第２の領域間のシフト量として特定する、
ことを含む画像照合方法。
【請求項６】
第１の画像上の第１の領域を周波数分解して第１の周波数係数の組を算出し、かつ、第２の画像上の第２の領域を周波数分解して第２の周波数係数の組を算出し、
前記第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、前記第２の周波数係数の組から前記所定の周波数帯域に含まれる各周波数の周波数係数を選択し、
画素単位よりも小さい複数のシフト量のそれぞれについて、前記第２の領域の画素値分布を前記シフト量でずらした画素値分布を周波数分解した第３の周波数係数の組のうちの前記所定の周波数帯域に含まれる各周波数の前記第３の周波数係数を、選択された前記第２の周波数係数と前記シフト量とに基づいて算出し、
前記複数のシフト量のそれぞれごとに、選択された前記第１の周波数係数の組と前記第３の周波数係数の組間の類似度を算出し、
前記複数のシフト量のうち、前記類似度の最大値に対応するシフト量を、前記第１の領域と前記第２の領域間のシフト量として特定する、
ことをコンピュータに実行させるための画像照合用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、二つの画像同士をサブピクセル単位で位置合わせしながら照合する画像照合装置、画像照合方法、及び画像照合用コンピュータプログラムに関する。
【背景技術】
【０００２】
ステレオ画像を用いた３次元計測などでは、二つの画像間で対応する位置を正確に検出することが求められる。そこで、二つの画像をサブピクセル単位で位置合わせして、その二つの画像同士を照合する技術が提案されている（例えば、特許文献１を参照）。
【０００３】
特許文献１に開示されたサブピクセル推定装置は、互いに対応する画像間の相関値がピークとなるピーク位置を特定し、ピーク位置及びピーク位置の周辺における相関値とサブピクセル推定モデルとの合致度に基づいてサブピクセル推定モデルを選択する。サブピクセル推定装置は、選択したサブピクセル推定モデルにピーク相関値及びその座標とその座標周辺の相関値をフィッティングすることで、サブピクセルレベルの位置における相関値を推定する。そしてサブピクセル推定装置は、その推定結果に応じて、サブピクセルレベルにおける相関値のピーク値の座標を推定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２８２６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示の技術は、精度の高いサブピクセル推定を行うために、所定の合致度が得られるまで、複数のサブピクセル推定モデルについての合致度を順次評価しなければならず、計算量が非常に大きくなるといった問題があった。
【０００６】
そこで本明細書は、一つの側面として、二つの画像をサブピクセル単位の精度で照合する際の照合精度を低下させずに演算量を低減できる画像照合装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、画像照合装置が提供される。この画像照合装置は、第１の画像上の第１の領域を周波数分解して第１の周波数係数の組を算出し、かつ、第２の画像上の第２の領域を周波数分解して第２の周波数係数の組を算出する周波数分解部と、第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、第２の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択する係数選択部と、画素単位よりも小さい複数のシフト量のそれぞれについて、第２の領域の画素値分布をそのシフト量でずらした画素値分布を周波数分解した第３の周波数係数の組のうちの所定の周波数帯域に含まれる各周波数の第３の周波数係数を、選択された第２の周波数係数とシフト量とに基づいて算出するシフト係数算出部と、複数のシフト量のそれぞれごとに、選択された第１の周波数係数の組と第３の周波数係数の組間の類似度を算出する係数照合部と、複数のシフト量のうち、類似度の最大値に対応するシフト量を、第１の領域と第２の領域間のシフト量として特定するシフト量特定部とを有する。
【０００８】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【０００９】
本明細書に開示された画像照合装置は、二つの画像をサブピクセル単位の精度で照合する際の照合精度を低下させずに演算量を低減できる。
【図面の簡単な説明】
【００１０】
【図１】一つの実施形態による画像照合装置を実装した３次元計測システムの概略構成図である。
【図２】制御部の機能ブロック図である。
【図３】DCT基底の一例を示す図である。
【図４】選択されるDCT係数の範囲の一例を示す図である。
【図５】互いに対してシフトされた二つの信号と基底ベクトル列の関係を示す図である。
【図６】分解係数列の一覧を表すテーブルの一例を示す図である。
【図７】画像照合処理の動作フローチャートである。
【図８】上記の実施形態またはその変形例による画像照合装置の各部の機能を実現するコンピュータプログラムが動作することにより、画像照合装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００１１】
以下、図を参照しつつ、画像照合装置について説明する。この画像照合装置は、二つの画像のそれぞれの照合対象領域を周波数分解して周波数係数の組に変換する。この画像照合装置は、一方の画像の照合対象領域の画素値分布を、他方の画像の照合対象領域に対してサブピクセル単位でシフトさせた画素値分布に対応する周波数係数の組を、元の周波数係数の組とシフト量に対応する位相変化量に応じて生成する。そしてこの画像照合装置は、一方の画像の照合対象領域についてのシフトされた画素値分布に対応する周波数係数の組と、他方の画像の照合対象領域についての周波数係数の組とを照合する。その際、この画像照合装置は、パワーの集中する周波数帯域に含まれる各周波数の周波数係数を照合に利用することで、演算量を削減する。
【００１２】
図１は、一つの実施形態による画像照合装置を実装した３次元計測システムの概略構成図である。図１に示すように、３次元計測システム１は、車両（図示せず）に搭載され、車載カメラ２と、画像照合装置３とを有する。車載カメラ２と画像照合装置３とは、コントロールエリアネットワークといった車載のネットワークを介して接続されている。さらに、画像照合装置３は、Global Positioning System(GPS)などを利用して車両の位置及び方位を検出する車両位置センサ（図示せず）とネットワークを介して接続されていてもよい。
【００１３】
車載カメラ２は、撮像部の一例であり、車両の前方領域を撮影し、その前方領域の画像を生成する。そのために、車載カメラ２は、CCDあるいはC-MOSなど、可視光に感度を有する固体撮像素子のアレイで構成された２次元検出器と、その２次元検出器上に車両の前方領域の像を結像する結像光学系とを有する。そして車載カメラ２は、例えば、結像光学系の光軸が地面に対して略平行となり、かつ車両の前方を向くように、車両の車室内に配置される。そして車載カメラ２は、一定の時間間隔（例えば1/30秒）ごとに撮影し、車両の前方領域を撮影したカラー画像を生成する。なお、車載カメラ２は、近赤外光に感度を有する２次元検出器を有し、その撮像範囲内の近赤外光の照度に応じたグレー画像を生成してもよい。そして車載カメラ２は、画像を生成する度に、その画像を画像照合装置３へ送信する。
【００１４】
画像照合装置３は、例えば、インターフェース部１１と、記憶部１２と、制御部１３とを有する。インターフェース部１１及び記憶部１２は、それぞれ、バスを介して制御部１３と接続されている。そして画像照合装置３は、車載カメラ２が異なるタイミングで撮影して得られた二つの画像を照合する。
【００１５】
インターフェース部１１は、ネットワークに画像照合装置３を接続するためのインターフェース回路を有する。そしてインターフェース部１１は、車載カメラ２からネットワークを介して画像を受け取り、その画像を制御部１３へ渡す。
【００１６】
記憶部１２は、例えば、電気的に書き換え可能な不揮発性メモリ及び揮発性メモリなどの半導体メモリを有する。そして記憶部１２は、画像照合装置３で実行される画像照合用コンピュータプログラム、そのコンピュータプログラムで利用される各種のデータ、及び制御部１３による一時的な演算結果などを記憶する。さらに記憶部１２は、車載カメラ２から画像照合装置３が受け取った画像を記憶する。
【００１７】
制御部１３は、１個もしくは複数個のプロセッサ及びその周辺回路を有する。そして制御部１３は、画像照合装置３全体を制御する。また制御部１３は、車載カメラ２が異なるタイミングで撮影して得られた二つの画像間での画像照合処理を実行することにより、その画像同士での対応点をサブピクセル単位の精度で検出する。そして制御部１３は、その検出結果を利用して、撮影時における車載カメラ２から二つの画像上での対応点に相当する実空間上の位置までの距離を、例えば三角測量によって測定する。さらに、制御部１３は、車両位置センサから取得した、撮影時における車両の位置及び方位に基づいて、二つの画像上での対応点に相当する実空間上の位置の世界座標系での３次元座標を算出する。
【００１８】
図２は、画像照合処理に関する制御部１３の機能ブロック図である。図２に示すように、制御部１３は、着目点設定部２１と、画素単位照合部２２と、周波数分解部２３と、係数選択部２４と、シフト係数算出部２５と、係数照合部２６と、シフト量特定部２７とを有する。制御部１３が有するこれらの各部は、例えば、制御部１３が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装される。あるいは、制御部１３が有するこれらの各部の機能を実現する一つまたは複数の集積回路が、制御部１３とは別個に、画像照合装置３に実装されてもよい。
【００１９】
なお、以下では、便宜上、車載カメラ２から受け取った複数の画像のうち、画像照合の対象となる二つの画像の一方を基準画像と呼び、他方を探索画像と呼ぶ。また、基準画像及び探索画像において、左上端の画素を原点とし、水平方向をx軸方向とし、垂直方向をy軸方向とする。
【００２０】
着目点設定部２１は、基準画像上で、サブピクセル単位の照合を行う基準となる着目点を設定する。そのために、着目点設定部２１は、例えば、基準画像に対して特徴点検出フィルタ処理を実行することで、基準画像上の特徴点を着目点として検出する。なお、着目点設定部２１は、特徴点検出フィルタとして、例えば、Harrisオペレータといったコーナー検出フィルタ、あるいは、Scale-Invariant Feature Transform(SIFT)オペレータを利用できる。なお、着目点設定部２１は、基準画像上に複数の着目点を設定してもよい。この場合、制御部１３の各部は、着目点ごとにその各部の処理を実行すればよい。
着目点設定部２１は、基準画像上の着目点の座標(qx,qy)を画素単位照合部２２、周波数分解部２３及びシフト量特定部２７へ通知する。
【００２１】
画素単位照合部２２は、基準画像上の着目点の周囲に設定する着目領域と、探索画像とを、ピクセル単位で相対的な位置をずらしながら照合することで、着目領域と最も一致する探索画像上の対応領域を検出する。そして画素単位照合部２２は、着目領域内の着目点と対応領域内の着目点に対応する対応点間のシフト量をピクセル単位で求める。
【００２２】
画素単位照合部２２は、基準画像の着目点の座標値（qx,qy）を中心とし、例えば一辺の画素数を(2R+1)（例えばR=5であれば11）画素とする正方形の領域を、着目領域に設定する。また、画素単位照合部２２は、探索画像における座標値（qx,qy）を中心とするx軸方向に±Wx、y軸方向に±Wyの範囲を探索範囲として設定する（ただし、Wx>R、Wy>Rである）。画素単位照合部２２は、探索範囲に対して、着目領域の位置をピクセル単位でずらしながら、着目領域と、探索領域中の対応領域との類似度を算出する。
【００２３】
本実施形態において、画素単位照合部２２は、類似度として、例えば、着目領域と探索領域中の対応領域との対応画素間の絶対値誤差和(Sum of Absolute Difference, SAD)を算出する。あるいは、画素単位照合部２２は、類似度として、SADの代わりに、着目領域と探索領域中の対応領域との対応画素間の二乗誤差和(Sum of Squared Difference, SSD)、あるいは正規化相互相関値(Normalize Cross Correlation, NCC)を算出してもよい。なお、画素値は、輝度値であってもよく、あるいは、何れかの色の値であってもよい。
【００２４】
類似度としてSADが利用される場合、画素単位照合部２２は、次式に従ってSADを算出できる。
【数１】
2016206792.tif 000003
ここで、I1(x,y)は、基準画像の各画素の画素値を表し、I2(x,y)は、探索画像の各画素の画素値を表す。そしてα、βは、それぞれ、探索画像の着目点(qx,qy)に対する探索領域中の対応領域のx軸方向のシフト量及びy軸方向のシフト量を表す。そしてSAD(α,β)は、シフト量(α,β)に対応するSADである。
【００２５】
画素単位照合部２２は、SAD(α,β)が最大となるシフト量（Dx,Dy）における座標値（qx+ Dx,qy+ Dy）を、基準画像上の着目点と最も一致する探索画像上の対応点の座標値とする。そして画素単位照合部２２は、そのシフト量（Dx,Dy）を周波数分解部２３、シフト係数算出部２５及びシフト量特定部２７へ通知する。
【００２６】
周波数分解部２３は、基準画像上の着目点について、画素単位照合部２２と同様に設定した着目領域に対して周波数変換処理を実行することで、周波数係数の組を算出する。周波数係数の組に含まれる各周波数係数は、着目領域の対応する周波数の成分を表す。また、周波数分解部２３は、着目点と最も一致する探索画像上の対応点を中心とする、着目領域と同サイズの対応領域に対して周波数変換処理を実行することで、周波数係数の組を算出する。
【００２７】
本実施形態では、周波数分解部２３は、周波数変換処理として、離散コサイン変換（Discrete Cosign Transform,DCT）を実行して、周波数係数の組としてDCT係数列を算出する。しかし、周波数分解部２３は、周波数変換処理として、DCTの代わりに、離散サイン変換を実行してもよい。
【００２８】
周波数分解部２３は、基準画像の着目領域について求めた周波数係数の組、及び、探索画像の対応領域について求めた周波数係数の組を係数選択部２４へ出力する。
【００２９】
係数選択部２４は、基準画像の着目領域について求めた周波数係数の組、及び、探索画像の対応領域について求めた周波数係数の組のそれぞれから、サブピクセル単位の照合に利用する周波数帯域に含まれる各周波数の周波数係数を選択する。
【００３０】
自然情景の画像では、一般に、相対的に低い周波数帯域にパワーが集中する。このため、相対的に高い周波数帯域のパワーは低く、かつ、主としてノイズ成分に相当する。また、空間ドメインでの画素値のパワーと、周波数ドメインでの周波数係数のパワーとの間にはエネルギー保存則が成立する。そのため、例えば、パワーが小さい周波数帯域に含まれる周波数係数を除外した残りの周波数係数から、元の領域を再構成しても、その領域の画素値分布は元の領域の画素値分布とほとんど同じとなる。そのため、照合の際に、相対的に高い周波数帯域に含まれる各周波数の周波数係数を除外しても、照合精度はほとんど変化しない。
【００３１】
本実施形態では、DCTを利用して周波数係数の組、すなわち、DCT係数の組が求められている。そこで係数選択部２４は、DCT係数列のうち、相対的に低い周波数帯域に含まれる各周波数のDCT係数を選択する。
【００３２】
図３は、DCT基底の一例を示す図である。図３に示されるパターン３００は、各DCT係数に対応するDCT基底を表している。パターン３００において、uは、x軸方向のDCT基底の次数を表す。パターン３００に示されるように、右側のDCT基底ほど、すなわち次数uが大きくなるほど、水平方向に沿った周波数が高くなる。また、vは、y軸方向のDCT基底の次数を表す。下側のDCT基底ほど、すなわち次数vが大きくなるほど、垂直方向に沿った周波数が高くなる。一方、左上端のDCT基底は、直流成分に対応する。
【００３３】
そこで、係数選択部２４は、基準画像の着目領域について求めたDCT係数列、及び、探索画像の対応領域について求めたDCT係数列のそれぞれについて、左上端から所定範囲内の次数に対応するDCT係数を、照合に利用するために選択する。
【００３４】
図４は、選択されるDCT係数の範囲の一例を示す図である。図４に示されるDCT係数列４００において、各ブロックは、それぞれ、一つのDCT係数を表す。そしてuは、水平方向の次数を表し、vは、垂直方向の次数を表す。この例では、1≦(u+v)≦Eを満たす範囲４１０に含まれるDCT係数が選択される。この場合、N2(=(E+1)(E+2)/2)個のDCT係数が選択される。なお、Eは、DCT係数が選択される周波数帯域の広さを表す、予め設定される定数であり、例えば、水平方向の最大次数及び垂直方向の最大次数がそれぞれ11である場合、E=6に設定される。
【００３５】
係数選択部２４は、基準画像の着目領域について求めた周波数係数の組、及び、探索画像の対応領域について求めた周波数係数の組のそれぞれから選択した周波数係数の組を、シフト係数算出部２５及び係数照合部２６へ出力する。
【００３６】
シフト係数算出部２５は、ピクセル単位よりも小さいシフト量ごとに、探索画像の対応領域の画素値分布をそのシフト量だけずらした画素値分布に対応する、係数選択部２４が選択する周波数帯域内の各周波数の周波数係数を算出する。その際、シフト係数算出部２５は、その周波数帯域内の各周波数の周波数係数を、対応領域についての選択された周波数係数の組とシフト量とに基づいて算出する。
【００３７】
最初に、理解を容易にするために、１次元の信号についての周波数係数の組と、その信号をシフト量Δだけ位置をずらしたときの信号に対応する周波数係数の組との関係について説明する。なお、以下では、便宜上、元の信号あるいは領域をシフト量だけずらしたときの信号または領域の画素値分布に対応する周波数係数を、シフト係数と呼ぶ。
【００３８】
長さwを有する１次元の信号AをDCTを用いて複数の周波数係数（DCT係数）の組に分解する場合、その分解に利用されるDCT基底ベクトルbj（j∈｛0,1,2,…,w-1｝）は、以下の式に従って表される。
【数２】
2016206792.tif 000004
【００３９】
（２）式に示されるように、DCT基底ベクトルbjは、w次元ベクトルで表される。信号AをDCT基底ベクトル列｛bj｝を用いてDCT処理を実行することで得られるw個のDCT係数を、fw(j)(w=0,1,2,...,w-1)とすると、信号Aは、DCT係数列{fw(j)}とDCT基底ベクトル列{bj}とを用いて、次式により完全に復元される。
【数３】
2016206792.tif 000005
【００４０】
ここで、信号Aの位置をΔだけずらした信号を信号Bとする。空間領域での位置のシフトは、周波数領域では、位相のシフトに相当する。そのため、信号Bは、信号AについてのDCT係数列{fw(j)}と、DCT基底ベクトル列{bj}の位相を(π・Δ/w)だけずらしたDCT基底ベクトル列{bΔj}とを用いて、次式で表される。
【数４】
2016206792.tif 000006
【００４１】
図５は、信号A及び信号Bと基底ベクトル列の関係を示す図である。長さwを持つ信号Aに対して、信号Bは、Δだけ左側へシフトしている。このとき、信号Aの周波数分解に用いられるDCT基底ベクトル列{bj}に対して、DCT係数列{fw(j)}とともに信号Bを再構成するために用いられるDCT基底ベクトル列{bΔj}に含まれる各DCT基底ベクトルの位相もΔに応じてシフトする。
【００４２】
DCT基底ベクトル列{bΔj}に含まれる各DCT基底ベクトルは、元のDCT基底ベクトル列{bj}に含まれる何れのDCT基底ベクトルとも異なっている。一方、DCT係数列{fw(j)}は、元のDCT基底ベクトル列{bj}を用いて算出される。そのため、二つの信号をDCT係数列に分解してから照合するには、同じ基底ベクトルの係数同士を比較できるように、シフトされた信号のDCT係数列も、元のDCT基底ベクトル列{bj}との積で表されることが好ましい。
【００４３】
そこで、信号Bに対応するDCT基底ベクトル列{bΔj}に含まれる各DCT基底ベクトルを、元のDCT基底ベクトル列{bj}を用いて表すことを考える。このとき、DCT基底ベクトル列{bΔj}に含まれるi番目のDCT基底ベクトルbΔiを元のDCT基底ベクトル列{bj}を用いて周波数分解したときに得られるDCT係数（以下では、便宜上、分解係数と呼ぶ）列を{cΔi(j)}(j∈{0,1,2,…,w-1})とする。この場合、（２）式と同様に、DCT基底ベクトルbΔiは、次式で表される。
【数５】
2016206792.tif 000007
【００４４】
したがって、信号Bは、DCT基底ベクトル列{bΔj}の代わりに、分解係数列{cΔi(j)}と元のDCT基底ベクトル列{bj}とを用いて、次式で表される。
【数６】
2016206792.tif 000008
【００４５】
（６）式に示されるように、信号BをDCT基底ベクトル列{bj}を用いて周波数分解した場合のDCT係数列{fwΔ(j)}は、信号AのDCT係数列{fw(j)}と、分解係数列{cΔi(j)}とを用いて表される。そして分解係数cΔi(j)は、DCT基底ベクトルbΔiとDCT基底ベクトルbjとの相関値を表すものであり、（５）式をcΔi(j)について解くことにより、次式で表される。
【数７】
2016206792.tif 000009
（７）式において、bΔi[m]は、DCT基底ベクトルbΔiのm番目の要素を表し、bj[m]は、DCT基底ベクトルbjのm番目の要素を表す。
すなわち、所定の周波数jにおけるDCT係数fwΔ(j)は、各周波数におけるDCT係数fw(i)に、その周波数のDCT基底ベクトルbΔiと所定の周波数jにおけるDCT基底ベクトルbj間の相関値CΔi(j)を乗じて得られる積の和となる。
【００４６】
本実施形態では、基準画像の着目領域及び探索画像の対応領域は、２次元信号であるが、１次元の信号と同様にして、水平方向のシフト量Δx及び垂直方向のシフト量Δyに対応する周波数係数の組を算出できる。
【００４７】
ここで、次数（u,v）におけるDCT基底行列bu,v[ξ,η]は、次式で表される。
【数８】
2016206792.tif 000010
本実施形態では、着目領域及び対応領域は、水平方向及び垂直方向にw(=2*R+1)画素のサイズを有するので、DCT基底行列bu,v[ξ,η]は、w×wのサイズを持つ２次元行列となる。なお、[ξ,η]は、bu,vにおける、（横ξ、縦η）の要素を表す演算子である。
【００４８】
探索画像上の対応領域の中心となる対応点の座標は(qx+Dx,qy+Dy)で表されるので、対応領域の画素値分布H2qx+Dx,qy+Dy[ξ,η]は次式で表される。
【数９】
2016206792.tif 000011
ただし、I2(a,b)は、探索画像上の座標(a,b)の画素値を表す。したがって、対応領域についての水平方向の次数がu、垂直方向の次数がvのDCT係数fw2(u,v)は、次式で表される。
【数１０】
2016206792.tif 000012
【００４９】
再度図４を参照すると、照合に用いられる係数の範囲４１０内の各ブロックに示されるように、選択したDCT係数に対して低周波側から順に、かつ、水平方向を優先して一意の通し番号が割り当てられる。この通し番号に従えば、対応領域についてのDCT係数fw2(u,v)のうち、選択されたDCT係数fw2(u,v)を含むDCT係数ベクトルF2は次式で表される。
【数１１】
2016206792.tif 000013
ただし、N2は、選択されたDCT係数fw2(u,v)の総数である。
【００５０】
また、DCT係数fw2(u,v)は、水平方向と垂直方向とで直交関係にあるので、シフト係数算出部２５は、水平方向と垂直方向とで、独立してシフト後のDCT係数を算出できる。具体的には、シフト係数算出部２５は、水平方向にΔx、垂直方向にΔyだけサブピクセル精度で対応領域の画素値分布をシフトさせて得られる画素値分布のDCT係数列{fw2ΔxΔy(u,v)}(u+v∈(0,1,...,E))を算出するために、先ず、垂直方向の周波数vを固定する。その際、水平方向にΔxだけずらしたDCT係数列{fw2Δx(u,v)}(u+v∈(0,1,...,E))が次式にしたがって算出される。
【数１２】
2016206792.tif 000014
（１２）式に示されるように、DCT係数fw2Δx(u,v)は、垂直方向について同じ次数vを持つDCT係数fw2(u,v)に基づいて算出される。同様に、垂直方向にもΔyだけずらしたDCT係数列{fw2ΔxΔy(u,v)}は、水平方向について同じ次数uを持つDCT係数fw2Δx(u,v)を用いて算出され、次式で表される。
【数１３】
2016206792.tif 000015
なお、tは、通し番号である。また、関数Tu(t)は、通し番号tに対応する水平方向の次数uを算出する関数であり、関数Tv(t)は、通し番号tに対応する垂直方向の次数vを算出する関数である。また、上記のように、分解係数列{cΔi(j)}は、（７）式で表される。（７）式から明らかなように、分解係数列{cΔi(j)}は、二つのDCT基底ベクトル列{bi}及び{bΔj}に基づいて求められるので、シフト量Δが分かれば計算可能である。そのため、分解係数列{cΔi(j)}は、シフト量Δごとに予め計算され、記憶部１２に記憶される。そしてシフト係数算出部２５は、DCT係数fw2ΔxΔy(u,v)を算出する際に、Δx及びΔyの値に対応する分解係数列{cΔi(j)}を記憶部１２から読み込んで使用すればよい。例えば、シフト量Δx及びΔyのそれぞれについて、-0.5〜0.5の範囲内で0.1ずつ変化させる場合、0.1単位で、Δ=-0.5〜0.5のそれぞれについての分解係数列{cΔi(j)}が記憶部１２に記憶されていればよい。
【００５１】
図６は、記憶部１２に記憶される分解係数列{cΔi(j)}の一覧を表すテーブルの一例を示す図である。テーブル６００において、各行には、シフト量Δに対応する、通し番号tにおける水平方向u(=Tu(t))、垂直方向v(=tv(t))の分解係数cΔu,v(j)=cΔt(j)=C(Δ,t)が格納される。
【００５２】
シフト係数算出部２５は、シフト量Δx及びΔyの少なくとも一方を、シフト量の範囲（例えば、-0.5〜0.5）内で、サブピクセル単位の所定量（例えば、0.1）ずつ変えながら、（１３）式に従ってDCT係数列{fw2ΔxΔy(u,v)}を算出する。そしてシフト係数算出部２５は、シフト量(Δx,Δy)の組ごとに、対応するDCT係数列{fw2ΔxΔy(u,v)}を係数照合部２６へ出力する。
【００５３】
係数照合部２６は、基準画像の着目領域に対応する周波数係数の組と、探索画像の対応領域の画素値分布をシフト量(Δx,Δy)だけシフトさせて得られる画素値分布に相当する周波数係数の組とを照合して類似度を算出する。
【００５４】
ここで、基準画像の着目領域の画素値分布H1qx,qyは次式で表される。
【数１４】
2016206792.tif 000016
ただし、I1(a,b)は、基準画像上の座標(a,b)の画素値を表す。したがって、着目領域についての、水平方向の次数がu、垂直方向の次数がvのDCT係数fw1(u,v)は、次式で表される。
【数１５】
2016206792.tif 000017
このうち、係数選択部２４により選択されたDCT係数fw1(u,v)を含むDCT係数ベクトルF1は、(u,v)を通し番号tで表すことにより、（１１）式と同様に、次式で表される。
【数１６】
2016206792.tif 000018
ただし、N2は、選択されたDCT係数fw1(u,v)の総数である。
【００５５】
そこで、係数照合部２６は、類似度として、（１３）式で表されるDCT係数列{fw2ΔxΔy(u,v)}と、（１６）式で表されるDCT係数列{fw1(u,v)}間の正規化相互相関値を次式にしたがって算出する。なお、DCT係数列{fw2ΔxΔy(u,v)}は、探索画像の対応領域の画素値分布をシフト量(Δx,Δy)だけシフトさせて得られる画素値分布に対応する周波数係数の組のうち、係数選択部２４が選択する周波数帯域に含まれる各周波数についての周波数係数のサブセットである。同様に、DCT係数列{fw1(u,v)}は、基準画像の着目領域に対応する周波数係数の組のうち、係数選択部２４が選択する周波数帯域に含まれる各周波数についての周波数係数のサブセットである。
【数１７】
2016206792.tif 000019
ここで、fw1avは、DCT係数列{fw1(u,v)}の平均値を表し、fw2avΔxΔyは、fw2ΔxΔy(u,v)の平均値を表す。また、fw1(t)=fw1(u,v)、fw2ΔxΔy(t)= fw2ΔxΔy(u,v)であり、tは選択されたDCT係数についての通し番号である。そしてSΔxΔyは、シフト量(Δx,Δy)に対応する類似度である。なお、係数照合部２６は、正規化相互相関値の代わりに、SADまたはSSDを類似度SΔxΔyとして算出してもよい。
なお、DCT係数列{fw2ΔxΔy(u,v)}から再現される画素値分布は、シフト量(Δx,Δy)に相当する分だけ元の対応領域とずれているので、そのシフト量(Δx,Δy)に相当する部分だけ再現されない部分が存在する。しかし、この部分は、シフト量(Δx,Δy)が最大でも0.5画素程度であるため、対応領域の1辺が10画素以上であれば、無視できる大きさであり、照合精度にはほとんど影響しない。
【００５６】
係数照合部２６は、シフト量(Δx,Δy)とともに、類似度SΔxΔyを記憶部１２に記憶する。
【００５７】
シフト量特定部２７は、サブピクセル単位の各シフト量(Δx,Δy)について算出された類似度SΔxΔyをのうちの最大値Smaxを求める。そしてシフト量特定部２７は、その最大値Smaxに対応するシフト量(Mx,My)を特定する。そしてシフト量特定部２７は、ピクセル単位のシフト量(Dx,Dy)とサブピクセル単位のシフト量(Mx,My)の和(Px,Py)(=(Dx+Mx,Dy+My))を、基準画像の着目点と探索画像の対応点間のシフト量とする。
そしてシフト量特定部２７は、シフト量(Px,Py)を出力する。
【００５８】
図７は、制御部１３により実行される画像照合処理の動作フローチャートである。
着目点設定部２１は、基準画像上で、サブピクセル単位の照合を行う基準となる着目点を設定する（ステップＳ１０１）。画素単位照合部２２は、基準画像上の着目点の周囲に設定する着目領域と探索画像とを、ピクセル単位で相対的な位置をずらしながら照合することで、着目点と最も一致する探索画像上の対応点のピクセル単位のシフト量(Dx,Dy)を算出する（ステップＳ１０２）。
【００５９】
周波数分解部２３は、基準画像上の着目領域に対して周波数変換処理を実行することで、周波数係数の組を算出する（ステップＳ１０３）。また、周波数分解部２３は、着目点と最も一致する探索画像上の対応点を中心とする、着目領域と同サイズの対応領域に対して周波数変換処理を実行することで、周波数係数の組を算出する（ステップＳ１０４）。
係数選択部２４は、基準画像の着目領域について求めた周波数係数の組から、相対的に低い周波数帯域に含まれる各周波数の周波数係数{fw1(u,v)}を選択する（ステップＳ１０５）。同様に、係数選択部２４は、探索画像の対応領域について求めた周波数係数の組から、相対的に低い周波数帯域に含まれる各周波数の周波数係数{fw2(u,v)}を選択する（ステップＳ１０６）。
【００６０】
シフト係数算出部２５は、シフト量(Δx,Δy)の組ごとに、そのシフト量(Δx,Δy)の組及び選択された対応領域の周波数係数の組{fw2(u,v)}に基づいて、シフト係数の組{fw2ΔxΔy(u,v)}を算出する（ステップＳ１０７）。
【００６１】
係数照合部２６は、シフト量(Δx,Δy)の組ごとに、基準画像の着目領域に対応する周波数係数の組{fw1(u,v)}と、探索画像の対応領域のシフト係数の組{fw2ΔxΔy(u,v)}間の類似度を算出する（ステップＳ１０８）。そしてシフト量特定部２７は、類似度SΔxΔyのうちの最大値Smaxに対応するシフト量(Mx,My)とピクセル単位のシフト量(Dx,Dy)の和(Px,Py)(=(Dx+Mx,Dy+My))を、基準画像の着目点に対する探索画像の対応点のシフト量として算出する（ステップＳ１０９）。そしてシフト量特定部２７は、シフト量(Px,Py)を出力する。そして制御部１３は、画像照合処理を終了する。
【００６２】
以下、本実施形態による画像照合処理の演算量について評価する。
まず、比較対象として、照合対象となる二つの画像のそれぞれを、シフト量の単位がピクセル単位となるように補間処理して拡大し、その拡大された補間画像同士をピクセル単位で相対的な位置をずらしながら照合する画像拡大方式の演算量について説明する。
【００６３】
この画像拡大方式において、画像拡大率をM、補間画像間の類似度算出回数をT、拡大前の画像の着目領域（一辺の大きさをw、面積をAとする）での積和演算コストをCとする。また、補間画像生成時の内挿処理と、補間画像間の類似度算出処理コストはほぼ等価とみなし、面積Aごとの計算コストをCとする。この場合、計算量比は次式で表される。
計算量比＝（２画像の拡大補間）＋T*（類似度算出処理）＝(M2*2*C)+T*(M2*C)
【００６４】
例えば、0.1ピクセル単位で、水平方向及び垂直方向のそれぞれに±0.5ピクセルの範囲で照合を行うと、Δx、Δyは、それぞれ、-0.5〜0.5までの11段階の値をとる。そのため、M=10、T=11*11=121となる。したがって、計算量比は下記の値となる。
計算量比＝102*2*C+121*102*C=12300*C
【００６５】
また、他の比較例として、照合対象となる二つの画像の一方を、サブピクセル単位で画像をずらす度に、そのずらした画像に相当する補間画像を作成し、他方の画像と照合するずらし画像作成方式の演算量について説明する。この方式においても、画像拡大方式と同様の仮定を用いると、計算量比は次式で表される。
計算量比＝T*（補間画像作成＋類似度算出処理）
＝T*(17*C+C)
＝18*T*C
ただし、補間画像作成において、高精度なＣｕｂｉｃ補間を用いると仮定し、補間画像作成処理の計算負荷は、１画素ずつ比較を行う類似度算出処理の16倍であるとした。
【００６６】
この方式についても、0.1ピクセル単位で、水平方向及び垂直方向のそれぞれに±0.5ピクセルの範囲で照合を行うとする。この場合、計算量比は次式で表される。
計算量比＝18*(11*11)*C
＝2178*C
【００６７】
次に、本実施形態による画像照合処理の演算量について説明する。
まず、シフト係数（上記の例では、DCT係数）の算出に要する計算量について説明する。
【００６８】
本実施形態において、２次元のDCT基底行列の中で使用されるDCT基底行列は、水平方向の次数u及び垂直方向の次数vについて、1≦(u+v)≦Eが満たされる範囲に含まれるものである。そのため、垂直方向の次数がvの場合、水平方向で使用される基底の数qxは、(E-v)となる。同様に、水平方向の次数がuの場合、垂直方向で使用される基底の数qyは、(E-u)となる。したがって、次数(u，v)の基底に対して、水平方向の次数uについて位相をΔxずらしたDCT係数列{fw2Δx(u,v)}の算出にはqx回の積和演算が必要となる。そして、DCT係数列{fw2Δx(u,v)}を算出する演算が1≦(u+v)≦Eの範囲の各次数で実行されるので、全体の積和演算回数n1は、次式で表される。
【数１８】
2016206792.tif 000020
また、水平方向だけでなく、垂直方向にも位置をずらしたDCT係数列{fw2ΔxΔy(u,v)}は、DCT係数列{fw2Δx(u,v)}を用いて、DCT係数列{fw2Δx(u,v)}の算出に要する演算量と同じ演算量を持つ演算を垂直方向にも実施することで算出される。したがって、DCT係数列{fw2ΔxΔy(u,v)}全体の積和演算回数N1は、次式で表される。
【数１９】
2016206792.tif 000021
【００６９】
また、上記の各方式についての計算量比の算出に利用したのと同じ仮定を用いて計算量比を算出する場合、一辺wの矩形での積和演算にかかる計算量はCであるので、実際の積和演算を(w*w)回行った場合の計算量がCとなる。したがって、DCT係数列{fw2ΔxΔy(u,v)}の算出にかかる計算量C1は、次式で表される。
C1=C*N1/(w*w)
【００７０】
また、１回の類似度の算出は、1≦(u+v)≦Eが満たされる範囲に含まれる個数のDCT係数列の相関演算となるので、類似度の算出に要する積和演算の回数N2は、次式で表される。
N2=((E+1)・(E+2))/2
したがって、類似度の算出に要する積和演算の計算量C2は、次式で表される。
C2=C*N2/(w*w)
【００７１】
したがって、本実施形態による画像照合処理の計算量比は次式で表される。
計算量比＝T*(サブピクセル単位のシフトに相当するDCT係数列算出+類似度算出処理)
=T*(C1+C2)
=T*((N1/(w*w))*C+(N2/(w*w))*C)
=((4E2+5E+6)(E+1)/6)*(T*C)/w2
一例として、着目領域の一辺の大きさR=15であり、かつ、選択されるDCT係数の個数を規定するEの値を7とする。したがって、この場合、本実施形態による計算量比は次式で表される。
計算量比＝38236/225*C＝169.9*C
【００７２】
したがって、本実施形態による画像照合処理の演算量は、画像拡大方式による演算量、及び、ずらし画像作成方式による演算量と比較して、それぞれ、約1/72、約1/13となる。このように、本実施形態による画像照合処理では、演算量が大幅に削減可能である。
【００７３】
以上に説明したように、この画像照合装置は、二つの画像の照合対象領域を、それぞれ、周波数分解して周波数係数の組を算出し、同じ周波数についての周波数係数同士を比較することでその二つの画像を照合する。その際、この画像照合装置は、サブピクセル単位で二つの照合対象領域間の位置をずらす際に、一方の照合対象領域についての周波数係数の組について、シフト量に応じて各周波数の基底関数の位相をずらすことでそのシフト量に応じた周波数係数の組を算出する。そしてこの画像照合装置は、それら二つの照合対象領域の周波数係数の組のうち、パワーが集中している相対的に低い周波数帯域内の周波数についての周波数係数を選択して照合に利用する。そのため、この画像照合装置は、照合精度を保ちつつ、照合に使用するパラメータの数を減らせるので、演算量を削減できる。
【００７４】
なお、変形例によれば、シフト係数算出部２５がシフト量を変えた探索画像の対応領域についてのシフト係数の組を生成する度に、係数照合部２６は、そのシフト係数の組を用いて、基準画像の着目領域についての周波数係数の組との類似度SΔxΔyを算出してもよい。シフト量特定部２７は、その時点で記憶部１２に記憶されている類似度SΔxΔyの最大値Smaxと比較し、類似度SΔxΔyが最大値Smaxよりも大きければ、記憶部１２に記憶されている最大値Smaxを類似度SΔxΔyで更新するとともに、記憶部１２に、対応するシフト量を記憶する。この場合、全てのシフト量の組み合わせについて類似度SΔxΔyの算出が終了したときに記憶部１２に記憶されている最大値Smaxに対応するシフト量が(Mx,My)となる。
この変形例によれば、記憶部１２は、位置をずらした対象領域の画素値分布に相当する周波数係数の組を、同時には一組だけ記憶すればよく、かつ類似度の値についても一つだけ記憶すればよい。そのため、記憶部１２の記憶容量が少なくて済む。
【００７５】
また、他の変形例によれば、係数選択部２４は、水平方向と垂直方向のうち、より高周波の成分を含んでいる方向ほど、周波数係数を選択する周波数帯域の上限を高くしてもよい。
【００７６】
例えば、係数選択部２４は、基準画像の着目領域についてのDCT係数列{fw1(u,v)}を参照して、DCT係数を選択する周波数帯域を設定する。この場合、係数選択部２４は、垂直方向の次数v=0であるDCT係数列{fy0(u)}={fw1(u,0)}に含まれ、かつ、閾値Th以上となるDCT係数のうちの水平方向の最大次数を、選択範囲の水平方向の最大次数Nmxとする。すなわち、選択範囲の水平方向の最大次数Nmxは次式で表される。
Nmx=argmax_u{fy0(u)≧Th}
ここで、閾値Thは、予め定められ、類似度算出に最低限必要な周波数成分の量を表す。
【００７７】
同様に、係数選択部２４は、基準画像の着目領域のDCT係数列{fw1(u,v)}のうち、水平方向の次数u=0であるDCT係数列{fx0(v)}={fw1(0,v)}に含まれ、かつ、閾値Th以上となるDCT係数のうちの垂直方向の最大次数を、垂直方向の選択範囲の最大次数Nmyとする。すなわち、選択範囲の垂直方向の最大次数Nmyは次式で表される。
Nmy=argmax_v{fx0(v)≧Th}
【００７８】
これにより、係数選択部２４は、基準画像の着目領域の水平方向及び垂直方向のそれぞれの高周波成分の強さに応じて、DCT係数を選択する周波数帯域を設定できる。そして係数選択部２４は、次式を満たす次数(u,v)に相当するDCT係数を選択する。
1≦Nmy*u+Nmx*v≦Nmx*Nmy
【００７９】
なお、この場合、係数選択部２４は、選択したDCT係数を、例えばラスタスキャン順に一列に並べる。これにより、シフト係数算出部２５及び係数照合部２６は、上記の実施形態と同様の処理を実行できる。
【００８０】
この変形例によれば、画像処理装置は、周波数係数を選択する範囲を動的に適切に設定できる。また、画像処理装置は、高周波成分が多い方向ほど、多くの周波数係数を照合に利用できるので、照合精度をより向上できる。
【００８１】
また、直流成分に相当する周波数係数は、サブピクセル程度のシフトではほとんど変化しない。さらに、直流成分は、他の周波数の成分よりも、一般的に大きい。そこで他の変形例によれば、係数照合部２６は、着目領域と対応領域間の類似度算出の際に、直流成分に相当する周波数係数を除いて類似度を算出してもよい。これにより、係数照合部２６は、着目領域と対応領域間の類似度をより適切に評価できる。
【００８２】
さらに他の変形例によれば、画像照合装置は、互いに異なる位置に配置された二つのカメラのそれぞれから得られた画像の一方を基準画像とし、他方を探索画像として、上記の実施形態または変形例による画像照合処理を実行してもよい。この場合には、二つのカメラの設置位置及び撮影方向が分かっているので、の各カメラによる画像間での同一の被写体についての像の相対的なシフト方向も分かる。そのため、シフト係数算出部２５は、そのシフト方向についてのみ、サブピクセル単位のシフト量で探索画像の対応領域の画素値分布をずらしたものに相当する周波数係数列を算出してもよい。例えば、二つのカメラが同じ画角を持ち、同じ方向を向けられ、かつ、画像上の水平方向に対応する実空間上の方向と平行な方向に沿って所定間隔だけ離して配置されているとする。この場合には、シフト係数算出部２５は、水平方向についてのみ、サブピクセル単位のシフト量で探索画像の対応領域の画素値分布をずらしたものに相当する周波数係数列を算出すればよい。
【００８３】
さらに他の変形例によれば、本発明は、音声信号といった一次元信号に適用されてもよい。例えば、本発明は、所定間隔だけ離して配置された二つのマイクロホンのそれぞれが集音した二つの音声信号から音源方向を特定するために、その二つの音声信号を、サンプリングピッチよりも短い時間間隔で照合するために適用されてもよい。この場合、照合装置は、二つの音声信号のうちの一方に着目区間を設定し、他方に探索区間を設定する。照合装置は、サンプリングピッチ単位で、着目区間と探索区間をずらしながら類似度を算出することで、探索区間中で着目区間と最も一致する対応区間をもとめる。照合装置は、着目区間及び対応区間のそれぞれを周波数分解して周波数係数列に変換する。照合装置は、各周波数係数列から、類似度の算出に利用する周波数係数のサブセットを選択する。そして照合装置は、対応区間の周波数係数のサブセットから、対応区間の音声信号をサブサンプリングピッチだけずらした音声信号に相当するシフト係数のサブセットを算出し、着目区間の周波数係数のサブセットとの類似度を算出する。そして照合装置は、類似度が最大となるときのシフト量を特定すればよい。
【００８４】
また、上記の実施形態及び変形例による制御部の各部の機能を実現する、画像照合用コンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。
【００８５】
上述した実施形態またはその変形例による画像照合装置は、様々な用途に利用される。例えば、この画像照合装置は、コンピュータに組み込まれてもよい。
【００８６】
図８は、上記の実施形態またはその変形例による画像照合装置の各部の機能を実現するコンピュータプログラムが動作することにより、画像照合装置として動作するコンピュータの構成図である。
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３及び記憶媒体アクセス装置１０４と、例えば、バスを介して接続される。
【００８７】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、ユーザの操作に応じて、動画像符号化処理を開始させる操作信号をプロセッサ１０５へ出力する。
【００８８】
通信インターフェース部１０２は、コンピュータ１００を、ビデオカメラなどの動画像入力装置（図示せず）と接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、High-Definition Multimedia Interface(HDMI)（登録商標）、またはUniversal Serial Bus（ユニバーサル・シリアル・バス、USB）とすることができる。
【００８９】
さらに、通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。この場合には、通信インターフェース部１０２は、画像入力装置または通信ネットワークに接続された他の機器から、照合対象となる二つの画像を取得し、その二つの画像をプロセッサ１０５へ渡す。
【００９０】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行される、画像照合処理を実行するためのコンピュータプログラム、照合対象の画像などを記憶する。
【００９１】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０６にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０６に記憶されたプロセッサ１０５上で実行される、画像照合処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【００９２】
プロセッサ１０５は、上記の実施形態または変形例による画像照合処理用コンピュータプログラムを実行することにより、二つの画像間で対応する領域間のシフト量をサブピクセル単位で求める。そしてプロセッサ１０５は、求められたシフト量を記憶部１０３に保存し、または通信インターフェース部１０２を介して他の機器へ出力する。なお、ユーザインターフェース部１０１を介して、基準画像上の着目点がユーザにより設定されてもよい。この場合、プロセッサ１０５は、着目点設定部の処理を省略してもよい。
【００９３】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００９４】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
第１の画像上の第１の領域を周波数分解して第１の周波数係数の組を算出し、かつ、第２の画像上の第２の領域を周波数分解して第２の周波数係数の組を算出する周波数分解部と、
前記第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、前記第２の周波数係数の組から前記所定の周波数帯域に含まれる各周波数の周波数係数を選択する係数選択部と、
画素単位よりも小さい複数のシフト量のそれぞれについて、前記第２の領域の画素値分布を前記シフト量でずらした画素値分布を周波数分解した第３の周波数係数の組のうちの前記所定の周波数帯域に含まれる各周波数の前記第３の周波数係数を、選択された前記第２の周波数係数と前記シフト量とに基づいて算出するシフト係数算出部と、
前記複数のシフト量のそれぞれごとに、選択された前記第１の周波数係数の組と前記第３の周波数係数の組間の類似度を算出する係数照合部と、
前記複数のシフト量のうち、前記類似度の最大値に対応するシフト量を、前記第１の領域と前記第２の領域間のシフト量として特定するシフト量特定部と、
を有する画像照合装置。
（付記２）
前記シフト係数算出部は、前記複数のシフト量のそれぞれごとに、前記周波数帯域に含まれる所定の周波数における前記第３の周波数係数を、前記周波数帯域に含まれる周波数のそれぞれにおける前記第２の周波数係数に、当該周波数の前記第２の周波数係数の基底関数の位相を前記シフト量に相当する位相変化量だけずらした第２の基底関数と前記所定の周波数における前記基底関数間の相関値を乗じて得られる積の和として算出する、付記１に記載の画像照合装置。
（付記３）
前記複数のシフト量のそれぞれごとの前記相関値を記憶する記憶部をさらに有し、
前記シフト係数算出部は、前記記憶部から読み出した前記相関値に基づいて、前記所定の周波数における前記第３の周波数係数を算出する、付記２に記載の画像照合装置。
（付記４）
前記係数選択部は、前記第１の領域の水平方向及び垂直方向のうち、より高い周波数の成分を含む方向についての前記所定の周波数帯域を、他方の方向についての前記所定の周波数帯域よりも広くする、付記１〜３の何れかに記載の画像照合装置。
（付記５）
前記係数選択部は、前記第１の領域の垂直方向について最も低い周波数における所定の閾値以上となる前記第１の周波数係数のうち、前記第１の領域の水平方向における周波数が最大となる周波数係数に対応する前記水平方向の周波数を、前記水平方向についての前記所定の周波数帯域の上限周波数とし、前記水平方向について最も低い周波数における前記所定の閾値以上となる前記第１の周波数係数のうち、前記垂直方向における周波数が最大となる周波数係数に対応する前記垂直方向の周波数を、前記垂直方向についての前記所定の周波数帯域の上限周波数とする、付記４に記載の画像照合装置。
（付記６）
前記第１の領域と前記第２の画像間の相対的な位置を画素単位で変えながら前記第１の領域と前記第２の画像上の対応領域間の類似度を算出し、当該類似度が最大となる場合の前記対応領域を前記第２の領域とし、かつ前記第１の領域と前記第２の領域間の画素単位のシフト量を算出する画素単位照合部をさらに有し、
前記シフト量特定部は、前記画素単位のシフト量に前記シフト量を加えた値を前記第１の領域と前記第２の領域間のシフト量とする、付記１〜５の何れかに記載の画像照合装置。
（付記７）
第１の画像上の第１の領域を周波数分解して第１の周波数係数の組を算出し、かつ、第２の画像上の第２の領域を周波数分解して第２の周波数係数の組を算出し、
前記第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、前記第２の周波数係数の組から前記所定の周波数帯域に含まれる各周波数の周波数係数を選択し、
画素単位よりも小さい複数のシフト量のそれぞれについて、前記第２の領域の画素値分布を前記シフト量でずらした画素値分布を周波数分解した第３の周波数係数の組のうちの前記所定の周波数帯域に含まれる各周波数の前記第３の周波数係数を、選択された前記第２の周波数係数と前記シフト量とに基づいて算出し、
前記複数のシフト量のそれぞれごとに、選択された前記第１の周波数係数の組と前記第３の周波数係数の組間の類似度を算出し、
前記複数のシフト量のうち、前記類似度の最大値に対応するシフト量を、前記第１の領域と前記第２の領域間のシフト量として特定する、
ことを含む画像照合方法。
（付記８）
第１の画像上の第１の領域を周波数分解して第１の周波数係数の組を算出し、かつ、第２の画像上の第２の領域を周波数分解して第２の周波数係数の組を算出し、
前記第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、前記第２の周波数係数の組から前記所定の周波数帯域に含まれる各周波数の周波数係数を選択し、
画素単位よりも小さい複数のシフト量のそれぞれについて、前記第２の領域の画素値分布を前記シフト量でずらした画素値分布を周波数分解した第３の周波数係数の組のうちの前記所定の周波数帯域に含まれる各周波数の前記第３の周波数係数を、選択された前記第２の周波数係数と前記シフト量とに基づいて算出し、
前記複数のシフト量のそれぞれごとに、選択された前記第１の周波数係数の組と前記第３の周波数係数の組間の類似度を算出し、
前記複数のシフト量のうち、前記類似度の最大値に対応するシフト量を、前記第１の領域と前記第２の領域間のシフト量として特定する、
ことをコンピュータに実行させるための画像照合用コンピュータプログラム。
（付記９）
所定のサンプリングピッチを持つ第１の一次元信号の第１の区間を周波数分解して第１の周波数係数の組を算出し、かつ、前記所定のサンプリングピッチを持つ第２の一次元信号上の第２の区間を周波数分解して第２の周波数係数の組を算出する周波数分解部と、
前記第１の周波数係数の組から所定の周波数帯域に含まれる各周波数の周波数係数を選択し、かつ、前記第２の周波数係数の組から前記所定の周波数帯域に含まれる各周波数の周波数係数を選択する係数選択部と、
前記所定のサンプリングピッチよりも小さい複数のシフト量のそれぞれについて、前記第２の区間の信号値分布を前記シフト量でずらした信号値分布を周波数分解した第３の周波数係数の組のうちの前記所定の周波数帯域に含まれる各周波数の前記第３の周波数係数を、選択された前記第２の周波数係数と前記シフト量とに基づいて算出するシフト係数算出部と、
前記複数のシフト量のそれぞれごとに、選択された前記第１の周波数係数の組と前記第３の周波数係数の組間の類似度を算出する係数照合部と、
前記複数のシフト量のうち、前記類似度の最大値に対応するシフト量を、前記第１の区間と前記第２の区間間のシフト量として特定するシフト量特定部と、
を有する照合装置。
【符号の説明】
【００９５】
１    ３次元計測システム
２    車載カメラ
３    画像照合装置
１１    インターフェース部
１２    記憶部
１３    制御部
２１    着目点設定部
２２    画素単位照合部
２３    周波数分解部
２４    係数選択部
２５    シフト係数算出部
２６    係数照合部
２７    シフト量特定部
【図１】
2016206792.tif 000022
【図２】
2016206792.tif 000023
【図４】
2016206792.tif 000024
【図５】
2016206792.tif 000025
【図６】
2016206792.tif 000026
【図７】
2016206792.tif 000027
【図８】
2016206792.tif 000028
【図３】
2016206792.tif 000029