(57)【要約】【課題】一律な照明変動や空間的に低周波な照明ムラに対するロバスト性が高く、かつＳＳＤＡの手法の適用により演算の高速化が可能な、新たな差分総和演算を行うことができる相関演算装置を提供する。【解決手段】相関演算装置は、位置変数に依存した関数である第１関数データおよび第２関数データに対してローパスフィルタ処理を施し、第３関数データおよび第４関数データを生成するローパスフィルタ手段と、位置変数の１つの変数値における第１関数データと第４関数とを乗じた第１積データと、該変数値における第２関数データと第３関数データとを乗じた第２積データとの差分に基づき、該変数値における第１積データと第２積データとの相関値を算出し、変数値が変化する毎の相関値を積算して得られる積算値に基づき、第１関数データと第２関数データとの相関度を算出する相関演算手段とを備える。【選択図】図２
2013109589.tif 000002
【特許請求の範囲】
【請求項１】
位置変数に依存した第１関数データおよび第２関数データに対してローパスフィルタ処理を施し、前記第１関数データおよび前記第２関数データにそれぞれ対応する第３関数データおよび第４関数データを生成するローパスフィルタ手段と、
前記位置変数の１つの変数値における前記第１関数データと前記第４分布関数データとを乗じた第１積データと、該変数値における前記第２関数データと前記第３関数データとを乗じた第２積データとの差分に基づき、該変数値における前記第１積データと前記第２積データとの相関値を算出し、前記変数値が変化する毎の前記相関値を積算して得られる積算値に基づき、前記第１関数データと前記第２関数データとの相関度を算出する相関演算手段とを備えることを特徴とする相関演算装置。
【請求項２】
請求項１に記載の相関演算装置において、
前記相関値は、前記差分の絶対値であることを特徴とする相関演算装置。
【請求項３】
請求項１に記載の相関演算装置において、
前記相関値は、前記変数値における前記第１関数データ、前記第２関数データ、前記第３関数データおよび前記第４関数データを用いて前記差分の絶対値を正規化することにより算出されることを特徴とする相関演算装置。
【請求項４】
請求項１または２に記載の相関演算装置において、
前記相関度は、前記変数値における前記第１関数データおよび前記第２関数データを用いて前記積算値を正規化することにより算出されることを特徴とする相関演算装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の相関演算装置において、
前記第１関数データ、前記第２関数データ、前記第３関数データおよび前記第４関数データの次元は２次元以上であり、
前記変数値は、前記第１関数データが依存する前記位置変数の範囲であることを特徴とする相関演算装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の相関演算装置において、
前記第１関数データおよび前記第２関数データは、ともに画素単位のデジタルデータからなる２次元画像データとして表される第１画像および第２画像にそれぞれ対応し、
前記ローパスフィルタ手段は、前記第１画像および前記第２画像に対する前記ローパスフィルタ処理として２次元ローパスフィルタ処理を施し、特定周波数以上の空間周波数成分が抑制された２次元画像データとして表される第３画像および第４画像にそれぞれ対応する前記第３関数データおよび前記第４関数データを生成し、
前記相関演算手段は、前記変数値に対応する画素位置における前記第１画像の画素データと前記第４画像の画素データとを乗じて得られる前記第１積データと、該画素位置における前記第２画像の画素データと記第３画像の画素データとを乗じて得られる前記第２積データとの前記差分に基づき該画素位置における前記相関値を算出し、前記画素位置が変化する毎の前記相関値を積算して得られる前記積算値に基づき前記相関度を算出することを特徴とする相関演算装置。
【請求項７】
請求項６に記載の相関演算装置において、
前記第１画像の空間周波数分布を検出する空間周波数分布検出手段をさらに備え、
前記２次元ローパスフィルタ処理は、前記空間周波数分布検出手段により検出された前記空間周波数分布に基づき、前記第１画像および前記第２画像に対して前記特定周波数以上の前記空間周波数成分を抑制する処理であることを特徴とする相関演算装置。
【請求項８】
請求項６または７に記載の相関演算装置において、
２次元画像データとして表される第５画像の部分画像を前記第２画像として抽出する部分画像抽出手段と、
前記部分画像の前記第５画像上での抽出位置を、前記第５画像における基準画素位置を画素単位で２次元的に走査する際の前記基準画素位置に応じて順次変更する部分画像抽出位置変更手段と、
前記基準画素位置に応じた前記抽出位置に対応して前記相関演算手段により算出される前記相関度に基づき、前記相関度を表す値の極小値に対応する前記基準画素位置を特定する特定手段とをさらに備えることを特徴とする相関演算装置。
【請求項９】
請求項８に記載の相関演算装置において、
前記特定手段は、特定した前記極小値に対応する前記基準画素位置と、該基準画素位置周辺の画素位置における前記相関度を表す値と、前記極小値とに基づいて内挿演算を行うことにより、前記相関度を表す値が最小のときの前記部分画像の前記第５画像上での前記抽出位置を、画素単位以下の精度で特定することを特徴とする相関演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は２次元以上の位置変数に依存した関数である２つの分布情報間の相関度（類似度）を算出する相関演算装置に関する。
【背景技術】
【０００２】
従来２つの画像間の相関度を求める処理は多くの分野で用いられている。例えばテンプレートマッチング（対象画像中において特定画像パターンが存在する位置を検出する手法）は電子式ブレ補正技術、顔検出技術などの分野に応用されている。２つの画像の相関度を算出する手法として、差分総和演算が知られている（特許文献１）。
【０００３】
差分総和演算は演算規模が比較的少ないうえに、相関度を求める過程において単調増加する特性を有するため、予め閾値を定めておけば計算の打ち切りによる計算時間短縮手法（ＳＳＤＡ：Sequential Similarity Detection Algorithm）を用いることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−８０７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら上記差分総和演算は一律な照明変動や空間的に低周波な照明ムラに対するロバスト性がないという問題があった。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明による相関演算装置は、位置変数に依存した関数である第１関数データおよび第２関数データに対してローパスフィルタ処理を施し、第１関数データおよび第２関数データにそれぞれ対応する第３関数データおよび第４関数データを生成するローパスフィルタ手段と、位置変数の１つの変数値における第１関数データと第４関数データとを乗じた第１積データと、該変数値における第２関数データと第３関数データとを乗じた第２積データとの差分に基づき、該変数値における第１積データと第２積データとの相関値を算出し、変数値が変化する毎の相関値を積算して得られる積算値に基づき、第１関数データと第２関数データとの相関度を算出する相関演算手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明による相関演算装置は、一律な照明変動や空間的に低周波な照明ムラに対するロバスト性が高く、かつＳＳＤＡの手法の適用により演算の高速化が可能な、新たな差分総和演算を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】相関演算装置の一実施の形態における顔検索装置の構成を示す図である。
【図２】顔検索装置の画像処理部の動作を示すフローチャートである。
【図３】基本画像の一例を示す図である。
【図４】比較対象画像の一例を示す図である。
【図５】画像水平方向の空間周波数分布およびローパスフィルタ特性を示す図である。
【図６】２次元的な画素位置に応じたローパスフィルタの重み係数の例を７×７の画素マトリックスに対応して示した図である。
【図７】デジタルフィルタの係数が０以外の値を持つ領域をコンパクトにした例を示す図である。
【図８】画像垂直方向と画像水平方向とで互いに異なるローパスフィルタ特性を持つデジタルフィルタの一例を示す図である。
【図９】基本画像中の顔画像近傍を拡大した画像の一例を示す図である。
【図１０】顔画像近傍におけるローパスフィルタ処理の様子を示した図である。
【図１１】ローパスフィルタ処理の結果生成される基本ローパス画像の顔画像近傍を拡大した画像を示す図である。
【図１２】比較対象画像中のある部分画像の領域近傍を拡大した画像を示す図である。
【図１３】部分画像近傍におけるローパスフィルタ処理の様子を示した図である。
【図１４】ローパスフィルタ処理の結果として生成される比較対象ローパス画像における部分画像近傍を拡大した画像を示す図である。
【図１５】相関画素位置における相関値の計算式とその計算に使用する画素データとの対応関係を示す図である。
【図１６】相関画素位置における相関値の計算式の演算を模式的に示した図である。
【図１７】相関度Ｃの値の変化を３Ｄワイヤーフレームで表示したグラフである。
【図１８】画素アドレスの２変数のうちの一方を固定して、該画素アドレスの周囲の画素アドレスに対応した相関度の値を縦軸に示した図である。
【図１９】本発明の処理およびデータフローをブロック化してまとめた図である。
【発明を実施するための形態】
【０００９】
相関演算装置の一実施の形態として、顔検索装置を例に挙げて説明する。この顔検索装置は、比較対象となる１つの比較対象画像内において、テンプレート顔画像との類似度（相関度）が高い領域の位置を探索し、特定する。なお本発明の明確化とともに説明の簡潔化をはかるため、テンプレート顔画像と比較対象画像中の部分画像である顔画像とは同じ大きさであるとともに相対的な回転はないとして説明を行う。また画像間の相対的な拡大または縮小、および回転を考慮する場合は、アフィン変換などの周知の画像処理手法を用いて適宜対応が可能である。
【００１０】
図１に顔検索装置１０の構成を示す。顔検索装置１０は、２次元的な画素データからなる複数の画像を２次元画像データとして記憶格納する画像記憶部１１と、画像に対して種々の処理を行う画像処理部１２と、画像を表示する画像表示部１３とを含む。画像処理部１２は、画像記憶部１１から基本画像の２次元画像データを読み込み、例えばHaar-like特徴を用いた手法等の周知の顔画像検出手法を用いて該基本画像からテンプレート画像となる顔画像を抽出する。また画像処理部１２は画像記憶部１１から比較対象画像を読み込み、該比較対象画像の中から、２次元的に順次抽出位置を変えて部分画像を抽出する。画像処理部１２は基本画像と比較対象画像とに対しローパスフィルタ処理を施し、所定値（特定周波数）以上の高い空間周波数成分が基本画像および比較対象画像よりも抑制された基本ローパス画像と比較対象ローパス画像を生成する。顔画像、部分画像、基本ローパス画像および比較対象ローパス画像の各々は２次元画像データとして表され、その２次元画像データは、各画像の各画素位置が各変数値として表される位置変数に依存した関数データである。
【００１１】
画像処理部１２は、部分画像上での２次元的な各抽出位置において、顔画像、部分画像、基本ローパス画像、比較対象ローパス画像の画素データに対し、後述するような差分総和演算による相関演算を行い、顔画像と部分画像との相関度を求める。画像処理部１２は、２次元的な抽出位置に対応して求められた相関度に基づき、顔画像に類似した部分画像の抽出位置を決定し、画像表示部１３において、比較対象画像に重畳して該部分画像の抽出位置を表示する。
【００１２】
なお基本画像および比較対象画像の選択は自動または手動で行われる。基本画像からの顔画像の抽出は、画像表示部１３に基本画像を表示した上で手動にて行われることとしても良い。
【００１３】
図２は、本実施の形態における顔検索装置１０の画像処理部１２の動作を示すフローチャートである。ステップＳ１００で、画像処理部１２は一連の画像処理を開始する。ステップＳ１１０では、画像処理部１２は、画像記憶部１１から図３に示す基本画像２０と図４に示す比較対象画像３０とを読出し、画像表示部１３にそれぞれ表示する。
【００１４】
ステップＳ１２０では、画像処理部１２は、基本画像２０から図３に示す顔画像２１（第１画像）を抽出する。また、画像処理部１２は、顔画像２１の基準画素位置２２を定める。基本画像２０から抽出された顔画像２１の範囲は、画像表示部１３において基本画像２０に重畳して表示される。
【００１５】
ステップＳ１３０では、画像処理部１２は、顔画像の画素データに対しフーリエ変換演算処理を施し、顔画像の空間周波数分布を求める。図５の上部に示したグラフは、画像水平方向の空間周波数分布を図示した例であって、縦軸は相対成分量、横軸は画像水平方向の空間周波数Ｗｘをそれぞれ表している。図５の上部に示したグラフにおいて、空間周波数分布は周波数Ｗｈにおいてピークを示している。
【００１６】
ステップＳ１４０では、画像処理部１２は、空間周波数分布に応じて、ローパスフィルタの特性（カットオフ周波数、通過帯域、遷移帯域、阻止帯域など）を決定する。例えば図５の上部に示したグラフのように周波数Ｗｈにおいてピークを示す空間周波数分布の場合、ピークの周波数Ｗｈ以上の高周波成分を抑制するように、図５の下部に示したグラフのようにローパスフィルタの阻止帯域CBに周波数Ｗｈが含まれるとともに、遷移帯域TBが周波数Ｗｈに近づくようにローパスフィルタ特性が決定される。図５の下部に示したグラフは、ローパスフィルタとして２次元的なデジタルフィルタであるガウシアンフィルタを用いた場合のローパスフィルタ特性を、縦軸に伝達関数、横軸に画像水平方向の空間周波数Ｗｘをとって図示した例である。図５の下部に示したグラフには、周波数Ｗｈより高い周波数において抑制効果を持つガウス分布の伝達関数が示されている。
【００１７】
さらに該伝達関数に対応するガウシアンフィルタの重み係数は、例えば図６のように決定される。図６は、２次元的な画素位置に応じたローパスフィルタの重み係数の例を７×７の画素マトリックスに対応して示した図であり、ローパスフィルタの重み中心は重み係数として１０が設定されている位置である。図５の上部に示したグラフに示す空間周波数分布のピーク周波数Ｗｈがさらに高周波側にシフトしている場合には、図５の下部に示すローパスフィルタ特性を高周波側にシフトする。そのため、デジタルフィルタの係数が０以外の値を持つ領域を図７のように図６のデジタルフィルタに比較してコンパクトにすればよい。また空間周波数分布を画像垂直方向にも求め、さらに該画像垂直方向の空間周波数分布と画像水平方向の空間周波数分布との平均的な空間周波数分布を求め、該平均的な空間周波数分布に基づいてローパスフィルタ特性を決定してもよい。また画像垂直方向の空間周波数分布と画像水平方向の空間周波数分布とに基づき、画像垂直方向と画像水平方向とで互いに異なるローパスフィルタ特性を持つデジタルフィルタ（図８）を設定することも可能である。
【００１８】
空間周波数分布が図５のようなピークを持たない場合やピークが低い場合には、たとえば周波数０における成分量を基準として、成分量がそのＰ％（Ｐ＝１０〜５０）となる周波数以上の高周波を抑制するようにローパスフィルタ特性を決定する。図６〜８においては簡便のため重み係数の値を整数で示しているが、実際には重み係数の絶対値の総和で各重み係数を除した値を使用することが好ましい。
【００１９】
ローパスフィルタの目的は画像の高周波成分を抑制して平滑化することにあるので、ローパスフィルタは上述したガウシアンフィルタに限定されず、移動平均フィルタなどの平滑化フィルタをローパスフィルタとして使用することも可能である。またローパスフィルタ処理を画像に施すことにより、局所的範囲内、例えば図６〜８の重み係数が０でない画素の範囲内での画像の平滑化が行われるわけであるが、この局所的範囲の大きさは画像の空間周波数分布に応じて決める必要があり、むやみにこの範囲を広くすると局所的な照明の変動に対するロバスト性が低下してしまう。定性的には前述したように画像の空間周波数分布における高周波側の領域の空間周波数を十分抑制するという条件内で、なるべく高い空間周波数まで通すように、すなわち遷移帯域を高周波側に寄せるように、ローパスフィルタ特性を決定するのがよい。
【００２０】
以上のようにしてローパスフィルタが決定されると、画像処理部１２は、基本画像２０と比較対象画像３０とに対し、ローパスフィルタ処理を施して基本ローパス画像（第３画像）と比較対象ローパス画像（第４画像）を生成する。
【００２１】
図９は、基本画像２０中の顔画像２１近傍を拡大した画像であって、正方格子のマスで示す２次元画素配置に重畳して顔画像２１を示す。図１０は、顔画像２１近傍におけるローパスフィルタ処理の様子を示した図である。なお、ここでのローパスフィルタ５０は、図６〜８の重み係数が０でない範囲を示している。この顔画像２１近傍に対してローパスフィルタ５０を画素単位で２次元的に走査することにより、この画像の画素データに対してローパスフィルタ処理が施される。具体的には、図６に示すような重みマトリックスを画素データのマトリックスに乗じて各画素の演算値を算出するとともに、重みマトリックスを画像に対して順次移動しながら各画素の演算値を積算していく。
【００２２】
図１１は以上のようなローパスフィルタ処理の結果生成される基本ローパス画像の顔画像近傍を拡大した画像であって、高周波成分が失われてぼけた顔画像４１が生成される。図１１において、顔画像４１のうちの口を含む領域１１１の中心部および両眼を含む領域１１２の中心部は最も濃度が高い領域であり、領域１１１の中心部および領域１１２の中心部から遠ざかるにつれて濃度が徐々に低くなる。両眼周辺の領域１１３の濃度は領域１１２の濃度よりも低く、顔の中央部分を含む領域１１４の濃度は領域１１３の濃度よりも低く、領域１１４の外側の、顔の輪郭付近の領域１１５の濃度は領域１１４の濃度よりも低い。作図の都合上、図１１の顔画像４１を領域１１１〜１１５に区分して上記説明を行ったが、上述したような口および両目から顔の輪郭へ向かう方向における濃度の低下は、実際には連続的である。
【００２３】
図１２は、図４に示す比較対象画像３０中のある部分画像３３の領域近傍を拡大した画像である。図１２では、正方格子のマスで示す２次元画素配置に重畳して部分画像３３が示されている。図１３は部分画像３３近傍におけるローパスフィルタ処理の様子を示した図である。なお、ここでのローパスフィルタ５０は、図６〜８の重み係数が０でない範囲を示している。この部分画像３３に対して、ローパスフィルタ５０を画素単位で２次元的に走査することにより、この画像の画素データに対してローパスフィルタ処理が施される。ローパスフィルタ５０を画像の画素データに乗じた結果を、さらに画素単位で積算する。
【００２４】
図１４は以上のようなローパスフィルタ処理の結果として生成される比較対象ローパス画像における部分画像３３近傍を拡大した画像であって、高周波成分が失われてぼけた部分画像４３が生成される。図１４において、部分画像４３のうち、領域１４１の中心部および領域１４３の中心部は最も濃度が高い領域であり、領域１４１の中心部および領域１４３の中心部から遠ざかるにつれて濃度が徐々に低くなる。領域１４１周辺の領域１４２の濃度は領域１４１の濃度よりも低く、領域１４３周辺の領域１４４の濃度は領域１４３の濃度よりも低く、領域１４２および１４４の外側の領域１４５の濃度は領域１４２の濃度および領域１４４の濃度よりも低く、領域１４５の外側の領域１４６の濃度は領域１４５の濃度よりも低い。作図の都合上、図１４の部分画像４３を領域１４１〜１４６に区分して上記説明を行ったが、上述したような領域１４１の中心部および領域１４３の中心部から部分画像４３の外周付近へ向かう方向における濃度の低下は、実際には連続的である。
【００２５】
ステップＳ１５０では、画像処理部１２は、図４に示すように、基準画像２０の顔画像２１の基準画素位置２２に対応した基準画素位置３２を、比較対象画像３０において決定し、該基準画素位置３２の２次元的な画素走査を開始する。
【００２６】
ステップＳ１６０では、画像処理部１２は、図４に示すように、比較対象画像３０において、基準画素位置３２を基準にして顔画像２１と同じ大きさの部分画像（第２画像）３３を抽出する。
【００２７】
ステップＳ１７０では、画像処理部１２は、図９に示す顔画像２１において、顔画像２１内の相関画素位置２３を決定し、顔画像２１内における該相関画素位置２３の２次元的な画素走査を開始する。
【００２８】
ステップＳ１８０では、２つの位置変数で表される画素アドレスがある変数値をとるときの相関画素位置２３における相関値を算出し、算出した相関値と相関画素位置２３の走査に応じて順次算出された相関値とを積算し、基準画素位置３２における相関度とする。ここで相関値および相関度の算出に使用する際の４つの２次元画像（顔画像、部分画像、基本ローパス画像の顔画像、比較対象ローパス画像の部分画像）の位置関係について説明する。２次元画像上の画素位置は、水平方向および垂直方向の２次元の位置変数で表される。基準となる画素位置を画素原点という。画素原点は、画素アドレス（０，０）の画素位置に設定される。図９に示すように、顔画像２１では基準画素位置２２を画素原点とする。図１２に示すように、部分画像３３では顔画像２１の基準画素位置２２に対応した基準画素位置３２を画素原点とする。図１１に示すように、基本ローパス画像２０ａの顔画像４１では、顔画像２１と同様の基準画素位置２２を画素原点とする。比較対象ローパス画像３０ａの部分画像４３では、図１４に示すように、部分画像３３と同様の基準画素位置３２を画素原点とする。
【００２９】
このように画素原点を定めた場合の顔画像２１、部分画像３３、基本ローパス画像２０ａの顔画像４１、および比較対象ローパス画像３０ａの部分画像４３の２次元的な画素データを、図１５に示すようにそれぞれＡｘｙ、Bｘｙ、Eｘｙ、Fｘｙとする。画素アドレス（ｘ，ｙ）は、顔画像２１、部分画像３３、顔画像４１および部分画像４３の各画像内における、上述した画素原点に対する水平方向および垂直方向の画素位置を表す。図９〜１４において、顔画像２１、部分画像３３、顔画像４１および部分画像４３は矩形画像ではないが、説明を簡便にするため、図１５においては、顔画像２１、部分画像３３、顔画像４１および部分画像４３が矩形画像であるものとする。画素アドレス（ｘ，ｙ）が所定値（ｉ，ｊ）をとるときの特定の相関画素位置２３における相関値Ｄ（ｉ，ｊ）は、（１）式で与えられる。（１）式に表されるように、相関値Ｄ（ｉ，ｊ）は、特定の相関画素位置２３における顔画像２１の画素データと部分画像４３の画素データとを乗じて得られる積データと、同じ相関画素位置２３における部分画像３３の画素データと顔画像４１の画素データとを乗じて得られる積データとの差分に基づいて算出される値であり、それらの２つの積データの相関値である。図１５は、（１）式と計算に使用する各画素データとの対応関係を示す。なお、相関画素位置２３の画素アドレス（ｘ，ｙ）＝（ｉ，ｊ）は、上述した画素原点と顔画像２１、部分画像３３、顔画像４１および部分画像４３の各画像の大きさとで定まる定義域の範囲の値をとる位置変数である。上述したように、顔画像２１の大きさと部分画像３３の大きさとは互いに等しい。顔画像２１の大きさとローパスフィルタ処理後の顔画像４１の大きさとが互いに等しく、かつ部分画像３３の大きさとローパスフィルタ処理後の部分画像４３の大きさとが互いに等しいとすれば、上述した定義域は全て一致する。
Ｄ（ｉ，ｊ）＝｜Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ｜        （１）
【００３０】
図１６は、画素アドレス（ｉ，ｊ）の相関画素位置２３における（１）式の演算を模式的に示した図であって、縦軸は画素データ値、横軸は画素位置である。顔画像２１の画素データ値Ａｘｙで表される顔が、部分画像３３の画素データ値Ｂｘｙで表される顔と同じ場合であっても、光源変動等によりそれぞれの画素データ値ＡｘｙおよびＢｘｙの間には、局所的に変動するレベル差（倍率変動）が生じている。図１６において、画素アドレス（ｉ，ｊ）の相関画素位置２３における顔画像２１の画素データ値Ａｉｊに対し、画素アドレス（ｉ，ｊ）の相関画素位置２３における顔画像４１の画素データ値Ｅｉｊは、画素アドレス（ｉ，ｊ）の相関画素位置２３の周囲Ｌの画素データ値の局所的な平均値となっている。一方、図１６において、相関画素位置２３と同じ画素アドレス（ｉ，ｊ）の画素位置における部分画像３３の画素データ値Ｂｉｊに対し、画素アドレス（ｉ，ｊ）の画素位置における部分画像４３の画素データ値Ｆｉｊは、画素アドレス（ｉ，ｊ）の画素位置の周囲Ｌの画素データ値の局所的な平均値となっている。従って顔画像２１の画素データ値Ａｉｊに部分画像４３の画素データ値Ｆｉｊを乗じてレベル補正を行うとともに、部分画像３３の画素データ値Ｂｉｊに顔画像４１の画素データ値Ｅｉｊを乗じてレベル補正を行う。こうしたレベル補正を行うことにより、補正された顔画像データＡｉｊ×Ｆｉｊの値と、補正された部分画像データＢｉｊ×Ｅｉｊの値とは、互いにレベルが揃うことになる。補正された顔画像データＡｉｊ×Ｆｉｊの値と部分画像データＢｉｊ×Ｅｉｊの値との差分演算を行うことにより、２つの画像（顔画像２１および部分画像３３）間に照明変動などによるレベル差が生じていた場合においても、正確な相関値を算出することが可能になる。
【００３１】
従来の差分総和演算においては、基本画像中の顔画像の画素データと比較対象画像中の部分画像の画素データとの間の差分を計算していた。本実施の形態においては、（１）式においては基本画像中の顔画像の画素データと比較対象ローパス画像中の部分画像の画素データとの積と、比較対象画像中の部分画像の画素データと基本ローパス画像中の顔画像の画素データとの積との間の差分を算出している。比較対象ローパス画像中の部分画像の各画素位置の画素データレベルは、比較対象画像中の部分画像の各画素位置周辺の平均的な画素データレベルに相当する。基本ローパス画像中の顔画像の各画素位置の画素データレベルは、基本画像中の顔画像の各画素位置周辺の平均的な画素データレベルに相当する。本実施の形態における顔検索装置１０では、顔画像と部分画像との間に一律な照度差や比較的低周波な照明ムラが存在した場合においても、画素毎にデータレベル差が補正されていることになる。従って、一律な照度差や比較的低周波な照明ムラに対してロバスト性の高い相関値を算出することができる。
【００３２】
ステップＳ１９０では、画像処理部１２は、顔画像２１内における相関画素位置２３の走査が終了したか否かをチェックし、走査が終了していない場合には、ステップＳ１７０およびＳ１８０の動作を繰り返し、相関画素位置２３の走査が終了するまで、走査により相関画素位置２３が変化する毎に順次算出された相関値が積算される。
【００３３】
ステップＳ１９０で顔画像２１内における相関画素位置２３の走査が終了した場合には、処理はステップＳ２００に進む。この時点で、比較対象画像３０の走査により指定された画素アドレス（Ｎ，Ｍ）で表される基準画素位置３２での相関値の積算値の算出が終了することになる。本実施の形態においては、この相関値の積算値がそのまま、基本画像中の顔画像２１と比較対象画像３０との相関度Ｃ（Ｎ，Ｍ）として用いられる。すなわち、Ｃ（Ｎ、Ｍ）は（２）式で表される。ただし、積算演算ΣΣは位置変数ｉおよびｊについての積算を表す。位置変数ｉおよびｊのとりうる値の範囲は、上述した定義域の範囲と一致するので、すなわち顔画像の存在する画素の範囲に制限される。相関度Ｃ（Ｎ，Ｍ）の値が小さいとき、基本画像中の顔画像２１と比較対象画像３０との相関度は高い。
Ｃ（Ｎ，Ｍ）＝ΣΣＤ（ｉ，ｊ）＝ΣΣ｜Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ｜    （２）
【００３４】
また（２）式において基準画素位置３２の画素アドレスの画素原点の位置は適宜決めることができる。例えば比較対象画像３０の中心画素位置を画素原点（０，０）としたり、比較対象画像３０の左下隅の画素位置を画素原点（０，０）とすることができる。
【００３５】
なお、上述した相関値演算および相関度演算は、それぞれ（１）式および（２）式には限定されず、一般的な差分総和演算に用いられる演算が適用されることとしてもよい。例えば、（１）式および（２）式で用いられている絶対値の代わりに自乗演算を用いた（３）式および（４）式を用いて、それぞれ相関値演算および相関度演算を行うことも可能である。
Ｄ（ｉ，ｊ）＝（Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ）２        （３）
Ｃ（Ｎ，Ｍ）＝ΣΣＤ（ｉ，ｊ）
＝ΣΣ（Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ）２        （４）
【００３６】
ステップＳ２００では、画像処理部１２は、比較対象画像３０内における基準画素位置３２の走査が終了したか否かをチェックし、走査が終了していない場合には、ステップＳ１５０〜Ｓ１８０の動作を繰り返し、基準画素位置３２の走査が終了するまで、各基準画素位置３２に対応する相関度Ｃ（Ｎ，Ｍ）が算出される。
【００３７】
ステップＳ２００で比較対象画像３０内の基準画素位置３２の走査が終了した場合には、処理はステップＳ２１０に進む。この時点で、比較対象画像３０上で走査した全ての基準画素位置において（２）式または（４）式で求められる相関度の算出が終了することになる。
【００３８】
図１７は、このようにして求められた相関度Ｃ（Ｎ，Ｍ）の値の変化を３Ｄワイヤーフレームで表示したグラフであり、相関度の高い画素アドレスにおいて、相関度Ｃ（Ｎ，Ｍ）の値は極小値を示す。
【００３９】
ステップＳ２１０では、画像処理部１２は、２次元的な画素アドレス（Ｎ，Ｍ）に対して求められた相関度Ｃ（Ｎ，Ｍ）に基づき、サブピクセル精度、すなわち画素単位以下の小数点の精度で、最も相関度の高い画素アドレスを検出する。図１８は、画素単位の精度で相関度Ｃ（Ｎ，Ｍ）の値の極小値Ｃ（ｎ，ｍ）を与える画素アドレス（ｎ，ｍ）（ただしｎ，ｍは整数）に対して、変数Ｍの値をｍに固定してＮ軸方向における、画素アドレス（ｎ，ｍ）の周囲の画素アドレスの変数Ｎの値を横軸にとり、各画素アドレスに対応した相関度Ｃ（Ｎ，ｍ）の値を縦軸に示した図である。画素アドレス（ｎ，ｍ）、ならびに画素アドレス（ｎ，ｍ）に隣接する画素アドレス（ｎ−１，ｍ）および（ｎ＋１，ｍ）における相関度を、それぞれ、相関度Ｃ（ｎ，ｍ）、ならびに相関度Ｃ（ｎ−１，ｍ）およびＣ（ｎ＋１，ｍ）として、等角直線フィッティングを適用してサブピクセル単位の内挿を行う。具体的には、相関度Ｃ（ｎ−１，ｍ）およびＣ（ｎ＋１，ｍ）のうちの大きな値を示す相関度とＣ（ｎ，ｍ）とを結んだ直線と、相関度Ｃ（ｎ−１，ｍ）およびＣ（ｎ＋１，ｍ）のうちの小さな値を示す相関度を通り該直線と反対の傾きを持つ直線との交点として得られる画素アドレス（ｎ’，ｍ）を算出する。（５）〜（８）式に示されるように、中間演算パラメータＤＥＦＮおよびＳＬＰＮを求めることにより、サブピクセル単位で内挿された画素アドレス（ｎ’，ｍ）と、画素アドレス（ｎ’，ｍ）に対応する相関度Ｃ（ｎ’，ｍ）を求める。こうして求められた相関度Ｃ（ｎ’，ｍ）の値は、相関度Ｃ（Ｎ，ｍ）の最小値である。
ＤＥＦＮ＝｛Ｃ（ｎ−１，ｍ）−Ｃ（ｎ＋１，ｍ）｝／２        （５） 
ＳＬＰＮ＝ＭＡＸ｛Ｃ（ｎ−１，ｍ）−Ｃ（ｎ，ｍ），Ｃ（ｎ＋１，ｍ）−Ｃ（ｎ，ｍ）｝                                              （６） 
ｎ’＝ｎ＋ＤＥＦＮ／ＳＬＰＮ        （７）
Ｃ（ｎ’，ｍ）＝Ｃ（ｎ，ｍ）−｜ＤＥＦＮ｜        （８）
【００４０】
また、同様にして、変数Ｎの値をｎに固定してＭ軸方向における、画素アドレス（ｎ，ｍ）、ならびに画素アドレス（ｎ，ｍ）に隣接する画素アドレス（ｎ，ｍ−１）および（ｎ，ｍ＋１）における相関度を、それぞれ、相関度Ｃ（ｎ，ｍ）ならびにＣ（ｎ，ｍ−１）およびＣ（ｎ，ｍ＋１）として、等角直線フィッティングを適用してサブピクセル単位の内挿を行う。（９）〜（１２）式に示されるように、中間演算パラメータＤＥＦＭおよびＳＬＰＭを求めることにより、サブピクセル単位で内挿された画素アドレス（ｎ，ｍ’）と、画素アドレス（ｎ，ｍ’）に対応する相関度Ｃ（ｎ，ｍ’）を求める。
ＤＥＦＭ＝｛Ｃ（ｎ，ｍ−１）−Ｃ（ｎ，ｍ＋１）｝／２          （９） 
ＳＬＰＭ＝ＭＡＸ｛Ｃ（ｎ，ｍ−１）−Ｃ（ｎ，ｍ），Ｃ（ｎ，ｍ）−Ｃ（ｎ，ｍ＋１）｝                                            （１０） 
ｍ’＝ｍ＋ＤＥＦＭ／ＳＬＰＭ        （１１）
Ｃ（ｎ，ｍ’）＝Ｃ（ｎ，ｍ）−｜ＤＥＦＭ｜        （１２）
【００４１】
以上の処理により、相関度Ｃ（Ｎ，Ｍ）の値が最小のときの画素アドレス（ｎ’，ｍ’）、すなわち最高相関を与えるサブピクセル単位の画素アドレス（ｎ’，ｍ’）が特定される。
【００４２】
なお、中間演算パラメータＳＬＰＮおよびＳＬＰＭは、相関度Ｃ（Ｎ，Ｍ）の値の落ち込みの傾斜量を表すパラメータであり、このパラメータが第１の所定閾値より小さい場合には、画像処理部１２は、算出された画素アドレス（ｎ’，ｍ’）の信頼性が低いと判定する。このとき、画像処理部１２は、基本画像中の顔画像２１に類似する部分画像３３が比較対象画像３０中には含まれているか否かを、判定不能である。
【００４３】
また内挿された相関度Ｃ（ｎ’，ｍ）およびＣ（ｎ，ｍ’）の値が第２の所定閾値より大きな場合にも、画像処理部１２は、算出された画素アドレス（ｎ’，ｍ’）の信頼性が低いと判定する。このとき、画像処理部１２は、基本画像中の顔画像２１に類似する部分画像３３が比較対象画像３０中には含まれているか否かを判定不能である。
【００４４】
以上のようにして、高相関度を示す画素アドレス（ｎ’，ｍ’）が求められると、画素アドレス（ｎ’，ｍ’）を基準として顔画像２１と同じ大きさの範囲が、画像表示部１３において、比較対象画像３０に重畳して、例えば図４の部分画像３１として示すように、表示される。最後にステップＳ２２０で、画像処理部１２は本処理を終了する。
【００４５】
本実施の形態における顔検索装置１０は相関演算に差分総和演算を用いている。そのため、ステップＳ１５０〜Ｓ２００における相関度の算出ループにおいて、（２）式で示すＣ（Ｎ，Ｍ）の積算途中で第３の所定閾値を越えた場合には積算処理を中止するような計算時間短縮手法（ＳＳＤＡ）をステップＳ１８０とＳ１９０との間に追加することも可能である。こうすることにより、比較対象画像を走査する時間を大幅に短縮することも出来る。
【００４６】
上述した（２）式を用いた相関度演算において、相関度と第３の所定閾値との比較により信頼性判定や演算打ち切りを行うと、部分画像３３のデータレベルが全体的に低い場合、例えば部分画像３３が暗黒部に含まれてしまった場合、相関度の値が低く算出されてしまい、誤った結果を招く虞がある。
【００４７】
そこで画素アドレス（ｉ，ｊ）の相関画素位置２３における相関値Ｄ（ｉ，ｊ）が、該相関値Ｄ（ｉ，ｊ）の算出に用いられる画素データ値Ａｉｊ、Ｂｉｊ、ＥｉｊおよびＦｉｊを用いて、画素位置単位で正規化されるようにしてもよい。例えば（１）式が正規化されると（１３）式が得られる。
Ｄ（ｉ，ｊ）
＝｜Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ｜／｜Ａｉｊ×Ｆｉｊ＋Ｂｉｊ×Ｅｉｊ｜                                          （１３）
【００４８】
この場合、比較対象画像３０の画素アドレス（Ｎ，Ｍ）の基準画素位置３２における正規化された相関度Ｃ（Ｎ，Ｍ）は（１４）式で表される。
Ｃ（Ｎ，Ｍ）
＝ΣΣ｛｜Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ｜／｜Ａｉｊ×Ｆｉｊ＋Ｂｉｊ×Ｅｉｊ｜｝                                      （１４）
【００４９】
また、（１３）式のように、相関画素位置２３の走査に伴って画素アドレス（ｉ，ｊ）毎に相関値Ｄ（ｉ，ｊ）の除算による正規化を行うと演算時間の増大を招くので、（２）式で算出した相関度が、該相関度算出に用いられた画素データ値Ａｉｊ、Ｂｉｊ、ＥｉｊおよびＦｉｊを用いて正規化されることとしてもよい。例えば（２）式が正規化されると（１５）式が得られる。
Ｃ（Ｎ，Ｍ）＝ΣΣ｛｜Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ｜｝／ΣΣ｛｜Ａｉｊ×Ｆｉｊ＋Ｂｉｊ×Ｅｉｊ｜｝                    （１５）
【００５０】
（１３）〜（１５）式の除算部分の正規化演算は、上述した演算に限定されたものではなく、顔画像と部分画像との積のデータレベルを反映する演算であれば他の演算であってもかまわない。例えば（１５）式の代わりに（１６）式のような演算であってもよい。
Ｃ（Ｎ，Ｍ）＝ΣΣ｛｜Ａｉｊ×Ｆｉｊ−Ｂｉｊ×Ｅｉｊ｜｝／ΣΣ｛Ａｉｊ×Ｂｉｊ｝          （１６）
【００５１】
以上説明した本発明の処理およびデータフローをブロック化してまとめると、図１９のようになる。図１９において、破線５０で囲んだ部分が相関度算出に用いられる４つの画像（顔画像、部分画像、基本ローパス画像、比較対象ローパス画像）である。顔画像は基本画像から顔画像検出を行うことにより抽出される。顔画像に対する周波数解析に基づいてローパスフィルタ処理のローパスフィルタ特性が設定され、該ローパスフィルタ処理を基本画像および比較対象画像に施すことにより、基本ローパス画像および比較対象ローパス画像が得られる。また顔画像と同じ大きさの領域の部分画像が、比較対象画像内を順次走査される。４つの画像（顔画像、部分画像、基本ローパス画像、比較対象ローパス画像）に対して上述した相関演算処理が行われることにより、比較対象画像中の基準画素位置毎の相関度が算出される。
【００５２】
また、以上の説明では、比較対象画像から部分画像を抽出し、該部分画像と顔画像との相関度が算出されることとしているが、一般的には部分画像を抽出する処理は必須ではなく、２つの画像の相関度を算出する場合の相関演算に本発明を適用することができる。その場合には、相関度を算出する対象である２つの画像を第１画像、第２画像とすれば、第１画像および第２画像に対してローパスフィルタ処理が施され、所定値（特定周波数）以上の高い空間周波数成分が第１画像および第２画像よりも低減された２次元画像情報である第３画像および第４画像が算出される。第１画像、第２画像、第３画像および第４画像の４つの画像に対し、上述した相関演算が施されることにより算出される第１画像と第２画像との相関度は、第１画像と第２画像との間に存在する一律な照明変動や空間的に低周波な照明ムラに対して高いロバスト性を示すことができる。
【００５３】
本発明の相関演算装置は、上述したような顔検索装置への適用に限定されず、テンプレートマッチングやパターンマッチングや動きベクトル検出などの位置変数に依存した関数データにおいて相関演算が用いられる情報処理装置であればどのような装置にでも適用が可能である。例えば、動画における特定物体の追跡や画像ブレ検出や電子式ブレ補正にも適用可能である。また複数画像を１つの画像に合成する場合の対応点抽出などにも適用できる。また、本発明の相関演算装置は、２次元画像データのような２次元的な位置変数に依存した関数データへの適用に限定されず、ともに３次元以上の位置変数に依存した第１関数データと比較対象となる第２関数データとの相関度を算出するというような相関演算にも適用することができる。また、本発明の相関演算装置により行われる相関演算は、デジタル演算への適用に限定されず、アナログ演算にも適用することができる。
【符号の説明】
【００５４】
１０  顔検索装置、１１  画像記憶部、１２  画像処理部、１３  画像表示部、
２０  基本画像、２１  顔画像、２２  基準画素位置、２３  相関画素位置、
３０  比較対象画像、３１  部分画像、３２  基準画素位置、３３  部分画像、
４１  顔画像、４３  部分画像、５０  ローパスフィルタ、
１１１、１１２、１１３、１１４、１１５  領域、
１４１、１４２、１４３、１４４、１４５、１４６  領域
【図１】
2013109589.tif 000003
【図２】
2013109589.tif 000004
【図３】
2013109589.tif 000005
【図４】
2013109589.tif 000006
【図５】
2013109589.tif 000007
【図６】
2013109589.tif 000008
【図７】
2013109589.tif 000009
【図８】
2013109589.tif 000010
【図９】
2013109589.tif 000011
【図１０】
2013109589.tif 000012
【図１１】
2013109589.tif 000013
【図１２】
2013109589.tif 000014
【図１３】
2013109589.tif 000015
【図１４】
2013109589.tif 000016
【図１５】
2013109589.tif 000017
【図１６】
2013109589.tif 000018
【図１７】
2013109589.tif 000019
【図１８】
2013109589.tif 000020
【図１９】
2013109589.tif 000021