説明

画像マッチング装置、および、画像マッチング方法

【課題】 コストを抑制しつつ認証に要する時間を短縮化することができる、画像マッチング装置および画像マッチング方法を提供する。
【解決手段】 画像マッチング装置は、線形性を満たす演算において、2枚以上の登録画像のそれぞれに対して複素平面の互いに異なる位相成分を掛け合わせて加算して得られる混合画像を生成する混合画像生成部と、1枚以上の入力画像と、前記混合画像との類似度演算を行うことによって複素類似度画像を生成する複素類似度画像生成部と、前記複素類似度画像の前記位相成分ベクトルに対する射影成分から類似度を取得する類似度取得部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像マッチング装置および画像マッチング方法に関する。
【背景技術】
【0002】
画像認識や生体認証では、2つの画像の類似度を計算する場合が多い。一般的には、あらかじめ登録テンプレートとして登録しておいた登録画像と、センサ等を介して入力された入力画像との類似度が計算される。画像マッチング精度向上のために、登録テンプレートには、複数枚の画像データが登録されている場合が多い。この場合、入力画像と当該複数画像データとの間で類似度が計算される。
【0003】
生体認証には、あらかじめID番号等の入力によって本人を特定してから認証を実行する1:1認証と、本人を特定せずに登録テンプレートの複数の登録画像とマッチングを行う1:N認証の2つの種類がある。1:N認証の場合には、N人分の登録画像と照合処理を行う必要がある。この場合、認証に要する時間は、N倍程度になってしまう。また、ユーザごとに、回転角度を異ならせた複数の画像同士のマッチングを行う場合がある。この場合には、認証に要する時間がさらに長くなってしまう。そこで、特許文献1は、複数の画像処理装置を並列利用して認証時間の短縮化を図る技術を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−163726号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術では、複数台の画像処理装置が必要となってしまう。この場合、コスト増をまねく。
【0006】
本発明は上記課題に鑑みなされたものであり、コストを抑制しつつ認証に要する時間を短縮化することができる、画像マッチング装置および画像マッチング方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、明細書開示の画像マッチング装置は、線形性を満たす演算において、2枚以上の登録画像のそれぞれに対して複素平面の互いに異なる位相成分を掛け合わせて加算して得られる混合画像を生成する混合画像生成部と、1枚以上の入力画像と、前記混合画像との類似度演算を行うことによって複素類似度画像を生成する複素類似度画像生成部と、前記複素類似度画像の前記位相成分ベクトルに対する射影成分から類似度を取得する類似度取得部と、を備えることを特徴とするものである。
【0008】
上記課題を解決するために、明細書開示の画像マッチング方法は、線形性を満たす演算において、2枚以上の登録画像のそれぞれに対して、複素平面の互いに異なる位相成分を掛け合わせて加算して得られる混合画像を生成する混合画像生成ステップと、1枚以上の入力画像と、前記混合画像との類似度演算を行うことによって複素類似度画像を生成する複素類似度画像生成ステップと、前記複素類似度画像の前記位相成分ベクトルに対する射影成分から類似度を取得する類似度取得ステップ部と、を含むことを特徴とするものである。
【発明の効果】
【0009】
明細書開示の不正アクセス検知装置および不正アクセス検知方法によれば、コストを抑制しつつ認証に要する時間を短縮化することができる。
【図面の簡単な説明】
【0010】
【図1】位相パラメータaを説明するための図である。
【図2】式(13)の概念を説明するための図である。
【図3】生体認証システムの全体構成を説明するための機能ブロック図である。
【図4】生体認証システムの機器構成図である。
【図5】画像マッチング部の詳細を説明するための機能ブロック図である。
【図6】空間シフト量について説明するための図である。
【図7】画像マッチング処理の流れを表すフローチャートである。
【図8】図7のステップS3における混合画像の生成処理の一例を説明するためのフローチャートである。
【図9】登録画像の配置を説明するための図である。
【図10】マクロブロックのマッチングの概略を説明するための図である。
【発明を実施するための形態】
【0011】
まず、画像マッチング演算方式の一例として、POC(Phase Only Correlation)について説明する。POCは、線形性を満たす画像間のマッチング演算方式である。例えば、関数fおよび関数gがそれぞれ画像を表しているとする。また、係数aおよび係数aが任意の定数であるとする。この場合、下記式(1)のように演算「*」を展開できれば、演算「*」は線形性を満たしている。
【0012】
【数1】

【0013】
POCにおいては、フーリエ変換の畳み込み定理を利用して相互相関関数(Cross Correlation Function)が計算される。この方式では、相互相関関数の周波数成分を正規化することによって、強度(Intensity)情報を除去し、位相(Phase)情報のみを利用することができる。
【0014】
POCの出力画像は、演算前の画像と同じサイズの画像となる。以下、POCの出力画像を類似度画像と称する。類似度画像の座標(x,y)の値は、登録画像と照合画像とに対して、平行移動を適用した場合の相関値を表す。したがって、POCを用いることによって、平行移動に関する探索が不要となる。なお、POCを用いたマッチングでは、類似度画像の最大値を類似度として用いる。
【0015】
POCでは強度情報が除去されている。したがって、相関関数にする特定の周波数の影響を回避することができる。また、POCでは、同一画像間(本人同士の画像)の類似度画像に明瞭なピークが見られる一方、異なる画像間(他人同士の画像)の類似度画像はほぼ「0」の値を持つ。したがって、POCでは、本人と他人との間における識別精度が高くなる。
【0016】
まず初めに、2つの関数の相互相関関数(Cross Correlation Function)について説明する。相互相関関数は、平行移動を与えた場合に2つの関数がどの程度類似しているかを表す関数である。関数f(x)と関数g(x)との相互相関関数を計算するためには、一方の関数を反転(フリップ)してから、下記式(2)のように関数f(x)および関数g(x)の畳み込み演算を行えばよい。なお、下記式(2)において、関数h(x)は、関数f(x)と関数g(x)との相互相関関数である。また、画像の反転は、フーリエ変換後の複素共益に対応する。
【0017】
【数2】

【0018】
畳み込み演算を高速に実行する方法として、フーリエ変換を利用した「畳み込み定理」が知られている。以下、式(3)〜式(6)を参照しつつ、「畳み込み定理」について説明する。まず、下記式(3)および下記式(4)のように、関数f(x)および関数g(x)をそれぞれフーリエ変換して関数F(ω)および関数G(ω)を求める。なお、FFTは、フーリエ変換を表す。また、「ω」は、周波数を表す変数である。
【0019】
【数3】

【0020】
【数4】

【0021】
続いて、下記式(5)のように、関数F(ω)と関数G(ω)との積を関数H(ω)とする。なお、関数H(ω)を逆フーリエ変換すると、関数f(x)と関数g(x)との畳み込み関数が得られる。したがって、下記式(6)の関係が得られる。以上のことから、実空間における畳み込み演算が、周波数空間では単純な積に置き換えられることになる。フーリエ変換の演算を高速なFFTで実行することによって、畳み込みを直接計算するよりも高速化される。
【0022】
【数5】

【0023】
【数6】

【0024】
以下、式(7)〜式(13)を参照しつつ、POCについて説明する。まず初めに、下記式(7)のように、関数F(ω)を正規化することによって関数F´(ω)を算出する。この関数F´(ω)は、画像の関数F(ω)の特徴データに対応する。また、下記式(8)のように、関数G(ω)を正規化することによって関数G´(ω)を算出する。この関数G´(ω)は、画像G´(ω)の特徴データに対応する。次に、下記式(9)のように関数F´(ω)と関数G´(ω)との複素共益の積を算出し、関数H´(ω)を求める。下記式(10)のように関数H´(ω)を逆フーリエ変換して得られる関数h´(x)が、求めるべき類似度画像である。
【0025】
【数7】

【0026】
【数8】

【0027】
【数9】

【0028】
【数10】

【0029】
ここで、POCの出力結果である関数h´(x)は、2つの画像に係る関数f(x)および関数g(x)を「x」だけ平行移動した場合の相互相関関数である。この関数h´(x)の最大値を類似度として用い。この最大値を与える座標Xは、関数f(x)および関数g(x)の平行移動量を表す。すなわち、POCでは、画像を平行移動して探索することなく、相互相関関数の最大値を探索するだけで、画像間の平行移動を考慮して類似度の最大値を算出することができる。なお、フーリエ変換は線形性を満たすため、POCも線形性を満たす。
【0030】
次に、生体認証において、N枚の登録画像(登録テンプレート)と1枚の入力画像との間の画像マッチング演算について説明する。N枚の登録画像f、f、…fが登録されている場合に、各画像に複素空間の単位円上の点a、a、…aを係数として線形結合することによって、下記式(11)の混合画像を計算する。以下、点aを、「位相パラメータ」と称する。
【0031】
【数11】

【0032】
図1は、位相パラメータaを説明するための図である。図1において、横軸は実数を表し、縦軸は虚数を表す。位相パラメータaは、a=exp(iθ)と表すことができる。ここで、「i」は虚数単位である。また、「θ」はj番目の登録画像に対する位相角である。位相パラメータの具体的な設定値として、図1のような単位円をN等分して得られる各点をaとすることができる。図1の例では、N=8である。
【0033】
次に、N枚の登録画像からなる混合画像と、入力画像gとの間で類似度演算「*」を実行する。その結果、類似度演算「*」の線形性から、下記式(12)のような展開式が得られる。したがって、混合画像と入力画像gとの演算結果は、登録画像f(j=1、2、…N)と入力画像の演算結果とを位相パラメータaで連結した形を有する。式(12)の演算結果は、複素数の値を持つ。以下では、式(12)の演算結果を、複素類似度画像と称する。
【0034】
【数12】

【0035】
次に、位相パラメータaをベクトルとみなした場合の射影成分を計算する。すなわち、位相パラメータaをベクトルとみなし、式(12)の演算結果とaとの内積を計算する。射影量の計算結果は、下記式(13)で表すことができる。また、図2は、下記式(13)の概念を説明するための図である。式(13)において、記号「|」は、位相パラメータa方向への射影成分を表す。また、「Δθkj」は、k番目の位相パラメータとj番目の位相パラメータとがなす角度を表す。式(13)で得られた演算結果を、(f*g)に対する類似度演算結果として利用することができる。
【0036】
【数13】

【0037】
が生体認証の登録データであるとすると、入力画像gと一致する画像は、最大でも1枚である。入力画像gに対して登録画像データfが別人の画像であった場合、(f*g)はゼロまたはゼロに近い値になる。一方、入力画像gがk番目の登録データfと同一人物の画像であったとする。この場合、j≠kのjに対しては、(f*g)は、ゼロまたはゼロに近い値になる。一方、cosΔθkk=1であるため、下記式(14)の結果が得られる。したがって、k番目の登録画像fkと入力画像gとの演算結果(近似値)が得られる。
【0038】
【数14】

【0039】
以上のことから、混合画像と入力画像との演算を1度行い、得られる演算結果に対応する位相パラメータaに対する射影成分を求めることによって、(f*g)にほぼ等しい値が得られることになる。一連の処理の中で類似度演算「*」は一度しか行われていないので、高速に演算処理を実行することができる。なお、POCでは、類似度演算に要する時間のほとんどは、FFT演算時間およびIFFT演算時間である。上記手順によれば、IFFTを1回実行するだけで、複数画像間の類似度を計算することができる。したがって、演算に要する時間の長大化を抑制することができる。
【0040】
ここで、複素数の位相パラメータaを用いる効果について説明する。仮に複素数の位相パラメータaを用いずに全てのjに対してa=1とした場合について考える。この場合、混合画像は式(15)で表され、射影演算結果は式(16)で表される。この場合、類似度演算では、全ての登録画像と入力画像との類似度(f*g)が単純に加算されることになる。それにより、他人画像間の類似度に起因するノイズがN回加算されることになり、識別精度が低下するおそれがある。一方、本実施形態においては位相が変化しているため、図1の点aの対角線上の(f*g)が互いに相殺する。その結果、ノイズを低減させることができる。
【0041】
【数15】

【0042】
【数16】

【0043】
また、単純に加算した場合、射影演算の結果として大きい類似度が得られたとしても、どの画像が当該類似度に寄与したのか判別することが困難である。生体認証では、どのユーザの登録画像が大きな類似度を与えたのかがわからない。これに対して、本実施形態においては、射影演算のaに対する射影成分が対応する画像fに基づく類似度にほぼ一致する。したがって、どの登録画像が入力画像と一致したのか判別することができる。
【0044】
なお、上記説明においては、複数の画像(f、f、…f)が互いに類似していないことが前提であった。複数の画像が互いに一定の類似性を有しているような場合においては、画像間にシフト(平行移動)を与えることによって、類似度の干渉を低減させることができる。
【0045】
例えば、同一の画像を様々な角度に回転させて複数の画像とする場合について考える。具体的には、元の登録画像fに対して様々な角度で回転を与えた画像をf、f、…fとする場合が該当する。これらの登録画像と入力画像との間の類似度を考えた場合、ある特定の角度θで両者の類似度がピークを持つ。一方、角度θに近い角度θ´においてもある程度の類似度が得られる。この場合、類似度のピーク値は異なっているものの、類似度のピークを与える座標(平行移動の位置)は同一である。したがって、複数画像f、f、…fにそれぞれ異なった値のシフト(平行移動)を与えることにより、類似度のピーク間の干渉を回避することができる。
【0046】
次に、単一の画像を回転させた場合ではなく、複数の異なった画像が類似する場合について考える。この場合、事前に登録画像間のマッチングを行うことによってf、f、…f間の類似度のピークを与える平行移動量を算出しておく。さらに、当該平行移動量が重ならないようにシフト量を決定することによって、類似度のピーク同士の干渉を回避することができる。
【0047】
次に、空間シフトについて説明する。フーリエ変換においては、x座標に関して循環する性質がある。すなわち、関数f(x)は、f(x)=f(x+L)の関係を満たす。ここで、「L」は画像のサイズである。これは、本来であれば有限のサイズのデータである画像データを無限データとして扱うフーリエ変換に適用するため、画像データが循環するためである。したがって、画像シフトさせてから演算処理を実行した後、逆のシフトを実行することによって元の演算結果を得ることができる。
【0048】
なお、上記説明においては、係数aは、|a|=1を満たしていた。したがって、係数aは、複素空間における単位円上の点を表している。しかしながら、係数aが同一の単位円上に乗っていなくてもよい。この場合、例えば、係数aを一般の複素数に設定し、正規化処理を最後に実行してもよい。
【0049】
を一般的な複素数とした場合、a=b+icと表すことができる。ここで、bは実数部分であり、cは虚数部分であり、iは虚数単位である。この係数aは、下記式(17)のように表すことができる。ただし、下記式(18)が成立する。
【0050】
【数17】

【0051】
【数18】

【0052】
係数aをこのような形で表現すると、式(12)の混合画像は、下記式(19)のように表すことができる。また、式(12)の混合画像に対するgとの類似度演算は下記式(20)のように表すことができる。
【0053】
【数19】

【0054】
【数20】

【0055】
ここで、fとgとの間の類似度が高く、他の画像間の類似度がほぼ「0」に等しい場合を仮定する。この場合、係数aの位相方向の射影画像は、下記式(21)および下記式(22)の関係が得られる。したがって、より一般的には、係数aで結合した画像との類似度を算出する場合、係数aの位相方向に対する射影画像を計算した後に、係数aの絶対値|a|で正規化することによって、所望の類似度の近似値を求めることができる。
【0056】
【数21】

【0057】
【数22】

【0058】
本実施形態によれば、一連の処理の中で類似度演算「*」は一度しか行われていないので、高速に演算処理を実行することができる。それにより、認証時間を短縮化することができる。したがって、複数台の画像処理装置を用いなくてもよいため、コスト増を抑制することができる。
【実施例1】
【0059】
続いて、実施例1に係る生体認証システム100について説明する。生体認証システム100は、上記実施形態に係る演算処理を行う。図3は、生体認証システム100の全体構成を説明するための機能ブロック図である。図3を参照して、生体認証システム100は、マッチング処理部10、生体認証センサ20、データベース30、入出力部40等を含む。マッチング処理部10は、全体制御部50および画像マッチング部60を含む。
【0060】
全体制御部50は、生体認証システム100の全体管理を行う制御部である。生体認証センサ20は、ユーザの生体特徴の画像を取得するセンサである。データベース30は、各ユーザの登録画像等の生体情報を格納する。入出力部40は、例えば、ユーザに指示を送り、ユーザを特定するためのIDの入力を受け付けるインタフェースである。入出力部40は、一例として、液晶モニタ、キーボード、タッチパネル等である。画像マッチング部60は、データベース30に格納されている登録画像と、生体認証センサ20から入力される入力画像との類似度を算出する。
【0061】
図4は、生体認証システム100の機器構成図である。図4を参照して、生体認証システム100は、CPU(中央演算処理装置)101、RAM(ランダムアクセスメモリ)102、HDD(ハードディスクドライブ)103、入出力インタフェース104等を備える。各機器は、バスによって接続されている。CPU101がHDD103等に記憶されているプログラムを実行することによって、生体認証システム100に全体制御部50および画像マッチング部60が実現される。また、入出力インタフェース104が、入出力部40として機能する。
【0062】
本実施例においては、一例として、1:1の生体認証を対象とする。また、生体の姿勢変動として、回転を考慮する。さらに、画像マッチング方式として、POCを利用する。1:1認証を実行するため、入出力部40は、ユーザからのID入力を受け付ける。画像マッチング部60は、入力されたIDを利用してユーザを特定し、データベース30から該当するユーザの登録画像を取得し、マッチング処理を行う。
【0063】
以下の説明では登録画像1枚に対するマッチング処理について説明するが、同様の処理を繰返し実行することにより、登録画像が複数枚である場合にもマッチング処理を行うことができる。この場合には、複数の登録画像に対し、それぞれの登録画像に対するマッチング処理を下記手順で実行し、その中の類似度の最大値を最終的な出力結果とすることができる。
【0064】
画像マッチング部60は、全体制御部50の指示に従って、画像のマッチング処理を行う。画像マッチング部60へは、登録画像、入力画像、マッチングパラメータ等が渡される。登録画像は、登録済のユーザの生体データである。本実施形態においては1:1認証を行うため、データベース30に登録済の画像データのうち、特定のユーザの登録画像1枚が画像マッチング部60に渡される。
【0065】
入力画像は、生体認証センサ20によって取得された生体画像である。本実施例においては、入力画像は1枚である。マッチングパラメータは、マッチング処理を行うための条件であり、具体的には画像に対する回転角の条件等が該当する。マッチングパラメータは、データベース30に記憶されており、例えば回転角θ=−4°、−2°、0°といった形のリスト形式で記憶されていてもよく、最大角度、最小角度、角度ステップ等の形式で記憶されていてもよい。本実施例においては、データベース30から回転角度のリストが画像マッチング部60へ渡される。本実施例においては、角度θ=−8°、−6°、−4°、…+8°のように±8°の範囲を2°ずつ変化させた9通りの角度を用いる。
【0066】
次に、画像マッチング部60の構成を説明するにあたり、事前に変数・記号を定義しておく。まず、ユーザの登録画像をf、f、…とする。本実施例では登録画像1枚を対象とする為、実際に使われるのは、fである。また、入力画像を「g」とする。画像の回転角として角度のリストであるAngle(Idx)を利用する。Angle(Idx)は、インデックスIdxに対応する回転角度を保存してあるリストで、例えばAngls(1)=−8°という値を持つ。
【0067】
画像マッチング部60でマッチング処理する対象の画像および角度の数ならびにインデックスを、下記のように表す。実施例2以降においても、同様である。本実施例においては登録画像および入力画像がともに1枚であるため、Ct1=1であり、Ct2=1である。
登録画像の枚数:Ct1=1
登録画像のインデックス:Idx=1
入力画像の枚数:Ct2=1
入力画像のインデックス:Idx2=1
角度の個数:Ct3=9
角度のインデックス:Idx3=1、2、…9
角度のリスト:Angle(1)=−8°
Angle(2)=−6°
Angle(3)=−4°

Angle(9)=+8°
【0068】
図5は、画像マッチング部60の詳細を説明するための機能ブロック図である。画像マッチング部60は、画像マッチング制御部61、画像変形部62、特徴抽出部63、マッチング演算部64、最大値探索部65、位相角決定部66、シフト決定部67、混合画像生成部68、および射影画像計算部69として機能する。
【0069】
画像マッチング制御部61は、画像マッチング処理全体の制御を行う制御部である。画像マッチング制御部61は、画像変形部62、特徴抽出部63、マッチング演算部64、最大値探索部65、位相角決定部66、シフト決定部67、混合画像生成部68、および射影画像計算部69を制御してマッチング処理を実行する。
【0070】
画像変形部62は、生体の姿勢変動に対応する変形処理を画像に対して与える処理を行う。画像変形部62は、変形の対象とする画像および変形パラメータを設定し、対応する変形処理を施して得られる画像を出力する。本実施例においては、画像の変形パラメータとして、画像の回転角を用いる。
【0071】
特徴抽出部63は、登録画像および入力画像から生体特徴データを抽出する。本実施例においてはPOC方式を採用するため、生体特徴データは、式(7)のF´(ω)および式(8)のG´(ω)が該当する。なお、以下の説明では、F´(ω)を登録特徴データF´(ω)と称し、G´(ω)を入力特徴データG´(ω)と称する。
【0072】
また、特徴抽出部63は、特徴抽出処理を実行する前に、入力画像に対して前処理を行う。具体的には、特徴抽出部63は、入力画像に対して、画像サイズの切出し処理、縮小処理等を行う。切出し処理は、入力画像から生体認証に必要な領域を取り出す処理である。縮小処理は、POC適用のために画像サイズを2のべき乗のサイズに変換する処理である。この処理により、高速フーリエ変換が適用可能となる。本実施例においては、特徴抽出部63は、一例として、入力画像サイズを128×128ピクセルのサイズとする縮小処理を行う。
【0073】
マッチング演算部64は、入力画像の生体特徴データと登録画像の生体特徴データとの類似度を計算する。マッチング演算部64は、式(9)に従って登録特徴データF´(ω)と入力特徴データG´(ω)との積を計算し、式(10)に従って逆フーリエ変換を行うことによって類似度画像h´(x)を算出する。
【0074】
最大値探索部65は、マッチング演算部64が算出した最大値を探索し、当該最大値を類似度として出力する。また、最大値をなす座標(MX,MY)も併せて出力する。最大値をなす座標(MX,MY)は、登録画像と入力画像との位置ずれを表している。上記座標値が大きい場合には、マッチング処理結果を無効とする処理を適用するために用いる。位置ずれが大きいと、登録画像と入力画像との重複領域が減少するためである。重複領域が一定以下の場合には、マッチング処理の信頼性が低下するため、マッチングエラーとしてもよい。最大値探索部65は、最大値とともに、最大値をなす座標(MX,MY)を画像マッチング制御部61に送る。
【0075】
位相角決定部66は、画像マッチングを行う際の位相角θを決定する役割を担う。位相角θは、線形結合する際の定数部exp(iθ)の「θ」の部分である。位相角決定部66は、対象とする画像の種類(登録画像または入力画像)、条件Idx1、Ct1、Idx2、Ct2、Idx3、Ct3等から位相角を決定する。
【0076】
シフト決定部67は、画像マッチングを行う際のシフト量を決定する役割を担う。シフト決定部67は、対象とする画像の種類(登録画像または入力画像)、条件Idx1、Ct1、Idx2、Ct2、Idx3、Ct3等からシフト量を決定する。
【0077】
混合画像生成部68は、式(11)に従って混合画像を算出する。混合画像生成部68は、位相角決定部66およびシフト決定部67の決定結果に応じて位相パラメータおよびシフト量を設定し、混合画像を算出する。
【0078】
射影画像計算部69は、式(13)に従って、混合画像から計算した複素類似度画像から所望の類似度画像を計算する射影演算を行う。この際、射影画像計算部69は、位相角決定部66から取得した位相角情報に基づいて射影演算を行う。また、射影画像計算部69は、射影画像を算出した後、混合画像を生成する際に各画像に与えたシフト量を相殺するために、逆方向のシフト演算を実行する。
【0079】
ここで、位相角θを決定するためのロジックについて説明する。まず、2つの画像fおよび画像fに対して位相パラメータΔθjk=90°になる値をとるようにした場合、両画像間の相関がなくなる配置とすることができる。例えば、a=1(実数)としa=iと設定する場合が該当する。これは、式(12)の演算を行う際に、1つの画像を実部に、かつ、1つの画像を虚数部に設定することに該当する。そのため、最も干渉を避けたい画像同士の位相パラメータを90°度異なる配置とすることが望ましい。
【0080】
本実施例では、角度を変えたCt3=9枚の画像に対して位相パラメータを計算する。この場合、回転角度が連続する画像同士は類似していると考えられるため、これらの画像を90°または90°近くの位相差を与えて配置する。具体的には、Ct3=9枚の画像を円周(=2π)に配置することを考えると、回転角度のインデックスIdx3が1つ増えるたびに、(2πを9等分した角度)の(1/4)ずつ、位相角θを増加させるロジックを組み込む。
【0081】
図6は、空間シフト量について説明するための図である。本実施例においては、Ct3=9枚の異なった画像を1つの混合画像として連結する。この時に与える空間シフトを次のように決定することができる。まず、対象となる画像のサイズを128×128ピクセルとする。次に、図6を参照して、画像を3×3のブロックに分け、各ブロックの中心に対応する座標を空間シフト量とする。この時、中心を(0,0)とみなす。例えば、左上のブロックに対応する平行移動量は、(−128/3,−128/3)≒(−43,−43)である。他の空間シフトも同様に決定することができる。このようにシフト量を算出することによって、9つの画像に対して空間シフト量を均等に割り振ることができる。
【0082】
なお、登録画像の枚数、回転角の個数等は事前に決まっているため、動的に設定を変える必要性がほとんどない。そこで、データベース30は、予め計算で求めておいた位相角θおよび空間シフト量をテーブルとして保持していてもよい。
【0083】
以下、図7のフローチャートを参照しつつ、画像マッチング部60による画像マッチング処理の流れを説明する。図7を参照して、特徴抽出部63は、登録画像を回転させた複数画像f、f、…fから特徴データを取得する(ステップS1)。この際、特徴抽出部63には、空間シフト量(SX,SY)がパラメータとして設定される。次に、特徴抽出部63は、指定された空間シフトを画像fに与えた上で、特徴抽出処理を実行する(ステップS2)。具体的には、式(7)の正規化処理を行う。この際、周波数成分ごとに重み付けをしてもよい。例えば、一般に、高周波成分にはノイズが多く、画像マッチングには適していない情報が多く含まれている。そこで、低周波成分に比べて高周波成分の重みを低下させるようなフィルタリング処理を適用することによって認証精度を向上させることができる。
【0084】
次に、混合画像生成部68は、特徴抽出した登録画像に対して、混合画像の生成処理を行う(ステップS3)。この際、位相パラメータaの値は、位相角決定部66によって決定される。次に、特徴抽出部63は、入力画像gから特徴データを取得する(ステップS4)。次に、特徴抽出部63は、入力画像gに対して特徴抽出処理を実行する(ステップS5)。具体的には、式(8)の正規化処理を行う。
【0085】
次に、マッチング演算部64は、得られた混合画像と、入力画像gの抽出特徴データG´(ω)との複素類似度画像を計算する(ステップS6)。したがって、マッチング演算部64は、複素類似度画像生成部として機能する。これに対し、所望の登録データfに対する類似度を算出するため、射影画像演算部69は、複素類似度画像の位相パラメータaに対する射影画像を算出する(ステップS7)。射影画像演算部69は、続いて、算出した類似度画像に対し、空間シフトの逆演算を行う。この逆演算は、特徴抽出時に(SX,SY)という空間シフトを与えた画像に対し、類似度演算を行う場合に逆に(−SX,−SY)という空間シフトを与えて元の位置に戻す処理である。
【0086】
射影画像演算部69は、j=1,2,…9に対して順に式(13)の類似度画像を算出する。最大値探索部65は、最大値を求める(ステップS8)。それにより、類似度を得ることができる。したがって、射影画像演算部69および最大値探索部65は、類似度取得部としても機能する。なお、最大値探索部65は、上記最大値をなす座標(MX,MY)を求めてもよい。画像マッチング部60は、この結果を、該当する回転角度における類似度および位置ずれ情報(MX,MY)として出力する。以上のステップを経て、フローチャートの実行が終了する。
【0087】
なお、図7のフローチャートでは、特徴抽出を行ってから画像を回転させているが、それに限られない。本実施例においては画像マッチングとしてPOCを適用するため、特徴抽出処理としてフーリエ変換がおこなわれる。ここで、フーリエ変換の場合、画像に対して「フーリエ変換→回転」の順番で計算した結果と、「回転→フーリエ変換」の順番で計算した結果とが同一になる。したがって、特徴抽出と回転処理との順番を逆にしてもよい。ただし、画像の回転処理に比較してフーリエ変換の方は演算処理が重いため、フーリエ変換を先に行うことが好ましい。
【0088】
図8は、図7のステップS3における混合画像の生成処理の一例を説明するためのフローチャートである。図8を参照して、混合画像生成部68は、対象画像fを取得する(ステップS11)。対象画像fは、登録画像の特徴抽出画像が該当する。次に、混合画像生成部68は、角度のインデックスIdx3を初期化する(ステップS12)。
【0089】
次に、画像変形部62は、Idx3に対応する角度(=Angle(Idx3))で、対象画像fを回転させた画像f´を生成する(ステップS13)。次に、混合画像生成部68は、位相角決定部66から、インデックスIdx3に対応する位相角θを取得する(ステップS14)。次に、混合画像生成部68は、式(11)に従って、混合画像を生成する(ステップS15)。
【0090】
次に、インデックスIdx3を1増加させる(ステップS16)。次に、混合画像生成部68は、インデックスIdx3が所定値(本実施例では9)を上回ったか否かを判定する(ステップS17)。ステップS17において「No」と判定された場合、ステップS13〜ステップS16が再度実行される。ステップS17において「Yes」と判定された場合、フローチャートの実行が終了する。このフローチャートによれば、全ての回転角に対して混合画像を生成することができる。
【0091】
本実施例においては、各ユーザの生体特徴データは、データベース30に登録されていたが、それに限られない。例えば、混合画像の計算処理と、生体特徴データの読み取り処理とを並列に行ってもよい。具体的には、ユーザがIDを入力しかつ生体認証センサ20で特徴画像を読み取る期間に、混合画像を生成することで処理の高速化を図ってもよい。また、混合画像を予め計算してデータベース30に保存しておき、複数の画像fおよび特徴データを保存していなくてもよい。
【0092】
なお、登録画像に対して変形処理を行った場合、処理時間を短縮できるという利点がある一方で、予め姿勢変動を与えることから自由度が低くなってしまう。つまり、予め設定してある回転角度以外に対応することはできない。そこで、登録画像ではなく入力画像に画像変形処理を施してもよい。この場合、姿勢変動に対する自由度を向上させることができる。
【0093】
また、両画像変形処理を組み合わせてもよい。例えば、登録画像および入力画像の両方に回転角度を付与することによって、より幅広い角度に対する類似度演算を行うことができる。本実施例では、登録画像側では(−8°〜+8°)に対応している。ここで、入力画像に(+18°)の回転を与えてから同様の演算を行うと、(+10°〜+26°)の回転に対応する類似度を計算することができる。それにより、登録画像で設定されている範囲を超えた角度に対応する類似度を得ることができる。このような構成にすることによって、(−8°〜+8°)に対応する一方で、生体認証システム100の設置環境、設置場所等に応じて姿勢変動を柔軟に設定変更することが可能になる。
【0094】
また、本実施例では画像の変形として回転を例にあげたが、それに限られない。例えば、拡大、縮小、一般的なアフィン変換、射影変換等、様々な画像変形に対して、同様の処理を実行することができる。以下、他の画像変形について説明する。
【0095】
(他の画像変形)
画像変形部62は、受け取ったインデックスに対する画像変換処理を行う。例えば、画像の拡大・縮小処理を行う場合、座標(x,y)に対して下記変換を行うことができる。
x´=αx
y´=αy
【0096】
ここで、「α」は、拡大・縮小を表すパラメータである。拡大の場合には、α>1(一例としてα=1.2)であり、縮小の場合には、α<1(一例としてα=0.9)である。この「α」とIdx3との対応関係を事前に設定しておいてもよい。例えば、
α(1)=0.9
α(2)=1.0
α(3)=1.1
といった値を事前に設定しておいてもよい。この場合、画像変形部62は、これらの設定値を用いて、拡大・縮小変換に対応した画像マッチング処理を行うことができる。
【0097】
アフィン変換の場合においても、同様の処理を行うことができる。例えば、座標(x,y)に対するアフィン変換は次式のよう表すことができる。
x´=ax+by+c
y´=dx+ey+f
これらの式では、「a」、「b」、「c」、「d」、「e」、「f」の6個の独立のパラメータが存在する。これらに対して、上述した拡大・縮小とIdx3との対応関係を事前に設定しておいてもよい。アフィン変換では、上記のパラメータ「c」、「f」が平行移動を表す。本実施例においてはPOCが適用されるため、平行移動要素のパラメータは不要である。したがって、実際の独立パラメータは、「a」、「b」、「d」、「e」の4つである。
【0098】
また、射影変換の変換式は、次のように表される。
x´=(ax+by+c)/(ax+by+c
y´=(ax+by+c)/(ax+by+c
これらの式では、「a」[b]「c」「a」「b」「c」「a」「b」「c」の9つの独立のパラメータが存在する。これらに対して、Idx3との対応関係を事前に設定しておいてもよい。
【実施例2】
【0099】
実施例2では、1:N認証について説明する。1:N認証の場合、最大値探索部65は、N枚の混合画像に対する類似度の最大値を求める。さらに、最大値探索部65は、判断部として機能し、当該最大値が所定値以下であった場合に、当該N人の中に該当人物が居ないと判断することができる。この際、複素類似度画像の絶対値の最大値Paを求め、最大値Paが所定値以下であった場合、該当者なしと判断することができる。つまり、|cosθ|≦1であることから射影演算を行って求めた各位相方向の類似度画像の最大値がPaを超えることがないため、最大値Paを求めることで最大値の上限を見積もることができるのである。この時、最大値Paを与えた位相方向を求めることで、該当するユーザを判断することができる。
【0100】
本実施例においては、画像の変形は考慮しない。この構成は、もともと入力される生体データに回転などの変形がないように生体認証センサを設計することによって、実現することができる。また、入力画像自体に回転等がある場合においては、事前に画像回転を補正しておいてもよい。
【0101】
まず、混合画像生成部68は、複数の登録データを用いて混合画像を生成する。この場合、登録画像f(j=1,2,…N)として異なる利用者の登録画像を用いる。この場合、他人同士の画像は、生体認証においては殆ど一致しない為、位相角θおよび空間シフトの演算は簡単に行うことができる。位相角θは、円周を均等に分割する構成とすることができる。また、シフト量は、特に付与しなくてもよい。
【0102】
また、登録画像を1人当たり複数枚にしてもよい。この場合には、同一人物の登録画像間の類似度が高いため、類似度の干渉が起こる問題がある。そのため、位相角θおよび空間シフトを設定することによって、類似度ピークの干渉を最小限にしてもよい。
【0103】
一例として、同一人物の登録画像3枚を登録データとして使用する場合について説明する。ある利用者Aの登録データの(f1A、f2A,f3A)間の類似度を事前に計算しておき、平行移動量(MX,MY)を事前に算出しておく。この値を混合画像生成時のシフト量(SX,SY)に対する補正として利用する。補正シフト量(SX´,SY´)は、(SX+MX,SY+MY)と表すことができる。
【0104】
まず、(MX,MY)の平行移動量を設定することによって、複数の登録画像の位置を合わせることになる。位置を一度合わせてから空間シフト(SX,SYを加えることで、実施例1と同様の議論が成り立つ。つまり、画像変形として回転させる場合においては、ピーク位置(平行移動量)が一定であるということは自然に仮定することができる。しかしながら、複数の登録画像の場合には、平行移動量が一致しているとは限らない。そのため、事前のマッチングによって補正する必要がある。
【0105】
また、位相パラメータθjの決定に関しては、類似する画像をできるだけ干渉しない位置に配置することが望ましい。例えば、図1に示すように円周2πを均等に割り、1枚目の登録データから順に配置する構成とすることが好ましい。
【0106】
1人当たりの登録枚数をM、登録されている人数をNとすると、総登録枚数は(M×N)枚である。そこで、円周2πを(M×N)で等分した角に対して登録画像を配置する。登録画像の通し番号をIdx=1,2,…MNとすると、(Idx/N)が何枚目の登録画像であるかを表し、(Idx mod N)が利用者の番号を表す。つまり、(Idx/N)は、小数点を切り捨てた値が「0」の場合には、1枚目の登録画像を表し、1の場合には2枚目の登録画像を表す。また、「mod」は剰余を表し、(Idx mod N)が「0」の場合には、ユーザAが対応し、「1」の場合にはユーザBが対応する。このように配置することで図9のような配置とすることができる。
【0107】
また、上記の説明では入力画像が1枚の例を示していたが、入力画像を複数枚としてもよい。例えば生体認証において、生体データの取得時に複数枚の画像を連続して取得し、画像マッチングに利用してもよい。複数の入力画像を利用することによって認証精度の向上が期待できる。
【0108】
この場合、複数の入力画像に対しての混合画像を計算して類似度を算出する。登録画像の総枚数をN(複数登録や回転角度などを全て含めた総数)、入力画像の総枚数をMとした時、位相パラメータaの位相角を次のように設定する。
登録画像の位相角:a=[2π/N]*j
入力画像の位相角:a=[2π/(N×M)]*k
【0109】
上記設定で、登録画像のj番目と(j=0,1,…(N−1))、入力画像のk番目(k=0,1,…(M−1))との類似度は、複素類似度画像のθjk=(2π/N)×j+(2π/(N×M))×kの射影成分に対応することになる。また、ダミーの画像を重ね合せる構成とすることもできる。
【0110】
このようにすることによって、特徴データが漏洩した場合においても、第三者には、元の画像データがどれかの判断が付かない。一方、本来のユーザの生体認証特徴データに対して類似度演算を行うと、通常通りに類似度を計算することができる。例えば、上記の例では、3枚の特徴画像の代わりに、本人の本物の特徴画像を1枚と、本来のユーザとはまったく異なる生体特徴画像を2枚重ね合せ、特徴データとしてもよい。
【0111】
本実施例では、回転などの変形処理を行っていなかったが、実施例1と同様の処理を組み合わせることによって、回転などの変形に対応することができる。また、混合画像から計算した類似度にはノイズ(他人画像同士の類似度)が乗っているため、認証精度自体は1:1認証よりも低下するおそれがある。そのため、混合画像による類似度、および、平行移動量の計算は、絞り込みにのみ利用してもよい。つまり、混合画像から計算した類似度が高かったユーザの登録データに対して、改めて1:1で認証処理を実行してもよい。
【0112】
この場合、平行移動量(MX,MY)が事前に算出されている。そのため、1:1認証においては、類似度画像h´(x)を全画像に対して計算する必要はなく、(MX,MY)の近傍の画像に対してだけ計算すればよい。POCを使った計算では、IFFT(逆フーリエ変換)の演算を所定の範囲のみで実行することが該当する。これにより演算時間を低減することができる。
【実施例3】
【0113】
実施例3では、動画像圧縮への適用例としてマクロブロックのマッチングへの適用例について説明する。図10は、マクロブロックのマッチングの概略を説明するための図である。図10を参照して、現在の入力画像を所定の大きさ(16×16ピクセル等)の大きさのブロックに分ける。各々のマクロブロックは、参照フレーム内の画像領域に対し、対応する位置を探索する。この時、参照フレーム内の画像領域に対して、「探索領域」を設ける。これは、対象となるマクロブロックを基準として、平行移動として許容できる範囲を加算した領域である。画像マッチングは、この範囲内で行われる。この場合、マクロブロックと探索領域とは、大きさが異なる。したがって、マクロブロックを探索領域の大きさにまで拡張し、拡張部分には0を埋める処理を行い、領域の大きさを同じにすればよい。
【0114】
ここで「参照フレーム」とは基準となるフレームである。しかしながら、参照フレームは1枚とは限らず複数存在する場合がある。そのため、通常は枚数に比例してマッチング処理の負荷が増大する。そこで式(3)〜式(13)を用いることによって、複数の参照フレームにおける動きベクトルの探索を高速化することができる。具体的には、上記実施例で示したのと同様の方式で、複数の参照フレームを使って混合画像を算出し、対象となるマクロブロックとの間の類似度を算出する。動画像圧縮の動き補償においては高精度のマッチングが求められるため、本発明によるマッチングで候補となるフレームを絞り込み、その後に1:1で高精度のマッチングを実行することで高速にマッチング処理を実行することができる。
【0115】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0116】
(付記)
(付記1)
線形性を満たす演算において、2枚以上の登録画像のそれぞれに対して、複素平面の互いに異なる位相成分を掛け合わせて加算して得られる混合画像を生成する混合画像生成部と、
1枚以上の入力画像と、前記混合画像との類似度演算を行うことによって複素類似度画像を生成する複素類似度画像生成部と、
前記複素類似度画像の前記位相成分ベクトルに対する射影成分から類似度を取得する類似度取得部と、を備えることを特徴とする画像マッチング装置。
(付記2)
前記互いに異なる位相成分は、前記複素平面の単位円上の点であることを特徴とする付記1記載の画像マッチング装置。
(付記3)
前記互いに異なる位相成分は、前記複素平面の単位円を等分することによって得られる点であることを特徴とする付記2記載の画像マッチング装置。
(付記4)
前記類似度取得部は、前記位相成分ベクトルに対する射影成分を得る際に、前記位相成分を規格化することを特徴とする付記1記載の画像マッチング装置。
(付記5)
前記混合画像生成部は、前記登録画像ごとに異なる空間シフトを加えてから前記混合画像を生成することを特徴とする付記1〜4のいずれかに記載の画像マッチング装置。
(付記6)
前記類似度演算は、Phase Only Correlationであることを特徴とする付記1〜5のいずれかに記載の画像マッチング装置。
(付記7)
前記登録画像は、所定の登録画像に対して複数の姿勢変動を施した画像を含むことを特徴とする付記1〜6のいずれかに記載の画像マッチング装置。
(付記8)
前記登録画像は、互いに異なる複数の個人の生体データを含むことを特徴とする付記1〜7のいずれかに記載の画像マッチング装置。
(付記9)
前記類似度画像生成部が生成する複素類似度画像の絶対値の最大値が所定値を下回る場合に、前記登録画像に前記入力画像のユーザが含まれていないと判断する判断部をさらに備えることを特徴とする付記1〜8のいずれかに記載の画像マッチング装置。
(付記10)
前記混合画像生成部は、前記混合画像を生成する際に、ダミーの画像データを加えることを特徴とする付記1〜9のいずれかに記載の画像マッチング装置。
(付記11)
線形性を満たす演算において、2枚以上の登録画像のそれぞれに対して、複素平面の互いに異なる位相成分を掛け合わせて加算して得られる混合画像を生成する混合画像生成ステップと、
1枚以上の入力画像と、前記混合画像との類似度演算を行うことによって複素類似度画像を生成する複素類似度画像生成ステップと、
前記複素類似度画像の前記位相成分ベクトルに対する射影成分から類似度を取得する類似度取得ステップ部と、を含むことを特徴とする画像マッチング方法。
(付記12)
前記互いに異なる位相成分は、前記複素平面の単位円上の点であることを特徴とする付記11記載の画像マッチング方法。
(付記13)
前記互いに異なる位相成分は、前記複素平面の単位円を等分することによって得られる点であることを特徴とする付記12記載の画像マッチング方法。
(付記14)
前記類似度取得ステップにおいて、前記位相成分ベクトルに対する射影成分を得る際に、前記位相成分を規格化することを特徴とする付記11記載の画像マッチング方法。
(付記15)
前記混合画像生成ステップにおいて、前記登録画像ごとに異なる空間シフトを加えてから前記混合画像を生成することを特徴とする付記11〜14のいずれかに記載の画像マッチング方法。
(付記16)
前記類似度演算は、Phase Only Correlationであることを特徴とする付記11〜15のいずれかに記載の画像マッチング方法。
(付記17)
前記登録画像は、所定の登録画像に対して複数の姿勢変動を施した画像を含むことを特徴とする付記11〜16のいずれかに記載の画像マッチング方法。
(付記18)
前記登録画像は、互いに異なる複数の個人の生体データを含むことを特徴とする付記11〜17のいずれかに記載の画像マッチング方法。
(付記19)
前記類似度画像生成ステップにおいて生成される複素類似度画像の絶対値の最大値が所定値を下回る場合に、前記登録画像に前記入力画像のユーザが含まれていないと判断する判断ステップをさらに含むことを特徴とする付記11〜18のいずれかに記載の画像マッチング方法。
(付記20)
前記混合画像生成ステップにおいて、前記混合画像を生成する際に、ダミーの画像データを加えることを特徴とする請求項11〜19のいずれかに記載の画像マッチング方法。
【符号の説明】
【0117】
10 マッチング処理部
20 生体認証センサ
30 データベース
40 入出力部
50 全体制御部
60 画像マッチング部
61 画像マッチング制御部
62 画像変形部
63 特徴抽出部
64 マッチング演算部
65 最大値探索部
66 位相角決定部
67 シフト決定部
68 混合画像生成部
69 射影画像計算部
100 生体認証システム

【特許請求の範囲】
【請求項1】
線形性を満たす演算において、2枚以上の登録画像のそれぞれに対して、複素平面の互いに異なる位相成分を掛け合わせて加算して得られる混合画像を生成する混合画像生成部と、
1枚以上の入力画像と、前記混合画像との類似度演算を行うことによって複素類似度画像を生成する複素類似度画像生成部と、
前記複素類似度画像の前記位相成分ベクトルに対する射影成分から類似度を取得する類似度取得部と、を備えることを特徴とする画像マッチング装置。
【請求項2】
前記互いに異なる位相成分は、前記複素平面の単位円上の点であることを特徴とする請求項1記載の画像マッチング装置。
【請求項3】
前記互いに異なる位相成分は、前記複素平面の単位円を等分することによって得られる点であることを特徴とする請求項2記載の画像マッチング装置。
【請求項4】
前記類似度取得部は、前記位相成分ベクトルに対する射影成分を得る際に、前記位相成分を規格化することを特徴とする請求項1記載の画像マッチング装置。
【請求項5】
前記混合画像生成部は、前記登録画像ごとに異なる空間シフトを加えてから前記混合画像を生成することを特徴とする請求項1〜4のいずれかに記載の画像マッチング装置。
【請求項6】
前記類似度演算は、Phase Only Correlationであることを特徴とする請求項1〜5のいずれかに記載の画像マッチング装置。
【請求項7】
前記登録画像は、所定の登録画像に対して複数の姿勢変動を施した画像を含むことを特徴とする請求項1〜6のいずれかに記載の画像マッチング装置。
【請求項8】
前記登録画像は、互いに異なる複数の個人の生体データを含むことを特徴とする請求項1〜7のいずれかに記載の画像マッチング装置。
【請求項9】
前記類似度画像生成部が生成する複素類似度画像の絶対値の最大値が所定値を下回る場合に、前記登録画像に前記入力画像のユーザが含まれていないと判断する判断部をさらに備えることを特徴とする請求項1〜8のいずれかに記載の画像マッチング装置。
【請求項10】
線形性を満たす演算において、2枚以上の登録画像のそれぞれに対して、複素平面の互いに異なる位相成分を掛け合わせて加算して得られる混合画像を生成する混合画像生成ステップと、
1枚以上の入力画像と、前記混合画像との類似度演算を行うことによって複素類似度画像を生成する複素類似度画像生成ステップと、
前記複素類似度画像の前記位相成分ベクトルに対する射影成分から類似度を取得する類似度取得ステップ部と、を含むことを特徴とする画像マッチング方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−215811(P2011−215811A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−82732(P2010−82732)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】