(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の好適な実施形態について説明する。
[特徴量抽出装置]
(ハードウェア構成)
図1は、実施形態に係る特徴量抽出装置のハードウェア構成を示すブロック図である。特徴量抽出装置100は、インタフェース11と、プロセッサ12と、メモリ13と、記録媒体14と、データベース(DB)15と、を備える。
【0012】
インタフェース11は、データの入出力を行う。具体的に、特徴量抽出装置100は、インタフェース11を通じてカメラなどから指紋画像を取得する。また、特徴量抽出装置100が抽出した特徴量は、必要に応じてインタフェース11を介して外部装置へ出力される。
【0013】
プロセッサ12は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、特徴量抽出装置100の全体を制御する。特に、プロセッサ12は、後述する特徴量抽出処理を行う。
【0014】
メモリ13は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ13は、プロセッサ12により実行される各種のプログラムを記憶する。また、メモリ13は、プロセッサ12による各種の処理の実行中に作業メモリとしても使用される。
【0015】
記録媒体14は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、認証装置10に対して着脱可能に構成される。記録媒体14は、プロセッサ12が実行する各種のプログラムを記録している。
【0016】
データベース(DB)15は、インタフェース11から入力される指紋画像や、特徴量抽出処理の実行中に生成される画像などを記憶する。なお、特徴量抽出装置100は、このほかにユーザが必要な指示入力などを行うための入力部や、表示部を備えていてもよい。
【0017】
(機能構成)
図2は、実施形態に係る特徴量抽出装置の機能構成を示すブロック図である。特徴量抽出装置100は、制御部21と、谷線グレースケール画像記憶部22と、谷線細線化部23と、谷線細線化画像記憶部24と、端点検出部25と、分岐点検出部26と、端点ベクトル生成部27と、分岐点ベクトル生成部28と、特徴量記憶部29と、を備える。なお、端点検出部25及び分岐点検出部26は検出手段の一例であり、端点ベクトル生成部27と分岐点ベクトル生成部28はベクトル生成手段の一例である。
【0018】
制御部21は、上述のプロセッサ12やメモリ13などにより構成され、特徴量抽出装置100の全体を制御する。
【0019】
谷線グレースケール画像記憶部22は、DB15により構成され、インタフェース11を通じて入力される谷線グレースケール画像を記憶する。
図3は、谷線グレースケール画像の例を示す。具体的には、指紋をカメラで撮影することにより、
図3に示すようなグレースケールの指紋画像が取得できる。
図3においては、白い部分が隆線を表し、黒い部分が谷線を表している。なお、
図3は、各画素が1バイトの0(16進数で0x00)〜255(16進数で0xFF)の画素値で表されるグレースケールの画像データであり、255(16進数で0xFF)が真っ黒を表し、0(16進数で0x00)が真っ白を表す。
【0020】
谷線細線化部23は、谷線グレースケール画像における谷線を細線化する。具体的に、谷線細線化部23は、
図3のような谷線グレースケール画像の谷線(黒画素)を、例えばHilditchアルゴリズムなどの細線化アルゴリズムを用いて細線化し、
図4に例示するような谷線細線化画像を生成する。
図4に示す谷線細線化画像は、谷線の幅が1画素である2値画像である。なお、
図4において、黒色は画素値255(16進数で0xFF)を持つ画素であり、白色は画素値0(16進数で0x00)を持つ画素である。谷線細線化部23は、生成した谷線細線化画像を、谷線細線化画像記憶部24に出力する。谷線細線化画像記憶部24は、DB15により構成され、入力された谷線細線化画像を記憶する。
【0021】
端点検出部25は、谷線に関する特徴点の一つとして、谷線細線化画像に含まれる谷線の端点(以下、「谷線端点」とも呼ぶ。)を検出する。
図5は、
図4に示す谷線細線化画像から検出された谷線端点を示す。
【0022】
同様に、分岐点検出部26は、谷線に関する特徴点の一つとして、谷線細線化画像に含まれる谷線の分岐点(以下、「谷線分岐点」とも呼ぶ。)を検出する。
図6は、
図4に示す谷線細線化画像から検出された谷線分岐点を示す。
【0023】
端点ベクトル生成部27は、谷線端点におけるベクトルである端点ベクトルを生成する。以下、
図5に示す端点Aについて端点ベクトルを生成する例を説明する。まず、端点ベクトル生成部27は、
図5に示す谷線細線化画像において、端点Aの画素を中心とする5×5画素の領域(以下、「近傍領域」とも呼ぶ。)に注目する。
図7は、端点Aの画素を中心とする5×5画素の近傍領域を拡大した図である。さらに、端点ベクトル生成部27は、この近傍領域に属する各画素の画素値を取得する。
図8は、近傍領域の各画素の画素値を示す。
【0024】
そして、端点ベクトル生成部27は、
図9に示すように、端点Aの画素を始点とし、細線化された谷線の方向において端点Aの画素に隣接する隣接画素であるA1画素を終点とするベクトルを、端点ベクトルとして生成する。
図9に示すように、谷線細線化画像の横方向をx軸、縦方向をy軸とすると、端点Aの画素及びA1画素についてそれぞれx座標とy座標が得られる。また、
図9に示すように、端点Aの画素とA1画素は、それぞれ画素値を有する。よって、端点ベクトルは、端点Aの画素とA1画素のx座標の差、即ちx軸方向における距離をx成分とし、端点Aの画素とA1画素のy座標の差、即ち、y軸方向における距離をy成分とする。さらに、端点ベクトルは、端点Aの画素の画素値と、A1画素の画素値との差をz成分とする。即ち、端点ベクトルは、端点Aの画素とA1画素とのx方向における距離をx成分とし、端点Aの画素とA1画素とのy方向における距離をy成分とし、端点Aの画素とA1画素の画素値の差をz成分とする3次元ベクトルとして生成される。こうして、端点ベクトル生成部27は、谷線細線化画像において検出された全ての端点について端点ベクトルを生成する。そして、端点ベクトル生成部27は、各端点について、端点の位置と、生成された端点ベクトルとを特徴量として特徴量記憶部29に記憶する。
【0025】
一方、分岐点ベクトル生成部28は、谷線分岐点におけるベクトルである分岐点ベクトルを生成する。以下、
図6に示す分岐点Bについて分岐点ベクトルを生成する例を説明する。なお、以下の説明では、説明の便宜上、分岐点を構成する複数の細線化された谷線を「分岐線」と呼ぶ。即ち、
図6に示す分岐点Bでは、3つの分岐線51〜53が交わっていると考える。
【0026】
まず、分岐点ベクトル生成部28は、
図6に示す谷線細線化画像において、分岐点Bの画素を中心とする5×5画素の近傍領域に注目する。
図10は、分岐点Bの画素を中心とする5×5画素の近傍領域を拡大した図である。さらに、分岐点ベクトル生成部28は、この近傍領域に属する各画素の画素値を取得する。
図11は、近傍領域の各画素の画素値を示す。
【0027】
そして、分岐点ベクトル生成部28は、
図11及び
図12に示すように、分岐点Bの画素を始点とし、各分岐線の方向において分岐点Bの画素に隣接する隣接画素であるB1画素〜B3画素を終点とするベクトルV1〜V3を、分岐点ベクトルとして生成する。
図12に示すように、谷線細線化画像の横方向をx軸、縦方向をy軸とすると、分岐点Bの画素及びB1画素〜B3画素についてそれぞれx座標とy座標が得られる。また、
図12に示すように、分岐点Bの画素及びB1〜B3画素は、それぞれ画素値を有する。よって、分岐点ベクトルV1は、分岐点Bの画素とB1画素のx座標の差、即ちx軸方向における距離をx成分とし、分岐点Bの画素とB1画素のy座標の差、即ち、y軸方向における距離をy成分とする。さらに、分岐点ベクトルV1は、分岐点Bの画素の画素値と、B1画素の画素値との差をz成分とする。即ち、分岐点ベクトルV1は、分岐点Bの画素とB1画素とのx方向における距離をx成分とし、分岐点Bの画素とB1画素とのy方向における距離をy成分とし、分岐点Bの画素とB1画素の画素値の差をz成分とする3次元ベクトルとして生成される。同様に、分岐点ベクトル生成部28は、分岐点Bの画素とB2画素に基づいて分岐点ベクトルV2を生成し、分岐点Bの画素とB3画素に基づいて分岐点ベクトルV3を生成する。
【0028】
そして、分岐点ベクトル生成部28は、これら分岐点ベクトルV1〜V3の集合を分岐点Bについての分岐点ベクトルとする。なお、上記の例では、分岐点Bが3つの分岐線51〜53により構成されているため、分岐点ベクトルは3つの分岐点ベクトルV1〜V3を含むが、ある分岐点がN本の分岐線により構成されている場合、その分岐点の分岐点ベクトルはN個の分岐点ベクトルを含むものとなる。上記の方法により、分岐点ベクトル生成部28は、谷線細線化画像において検出された全ての分岐点について分岐点ベクトルを生成する。そして、分岐点ベクトル生成部28は、各分岐点について、分岐点の位置と、生成された分岐点ベクトルとを特徴量として特徴量記憶部29に記憶する。
【0029】
上記のようにして生成される端点ベクトル及び分岐点ベクトルは、端点と分岐点の近傍画像から相対的に生成されるベクトルであるため、例えば指紋画像を生成する際に指を強く押すなどしてグレースケール画像上の谷線の濃さが変わったとしても、大きく変化することはなく、頑健な特徴量となる。
【0030】
(特徴量抽出処理)
次に、特徴量抽出処理について説明する。
図13は、特徴量抽出処理のフローチャートである。この処理は、
図1に示すプロセッサ12が予め用意されたプログラムを実行し、
図2に示す各要素として動作することにより実現される。
【0031】
まず、
図3に示すような谷線のグレースケール画像が入力されると、谷線細線化部23は、谷線を細線化して谷線細線化画像を生成する(ステップS11)。次に、端点検出部25は、谷線細線化画像から谷線の端点を検出する(ステップS12)。また、分岐点検出部26は、谷線細線化画像から谷線の分岐点を検出する。なお、ステップS12とS13は逆の順序で行ってもよく、並列して行ってもよい。
【0032】
次に、端点ベクトル生成部27は、ステップS12で検出された谷線の端点のそれぞれについて、前述の方法で端点ベクトルを生成し、端点の位置と端点ベクトルを特徴量として特徴量記憶部29に保存する(ステップS14)。同様に、分岐点ベクトル生成部28は、ステップS13で検出された谷線の分岐点のそれぞれについて、前述の方法で分岐点ベクトルを生成し、分岐点の位置と分岐点ベクトルを特徴量として特徴量記憶部29に保存する(ステップS15)。なお、ステップS14とS15は逆の順序で行ってもよく、並列して行ってもよい。そして、特徴量抽出処理は終了する。
【0033】
(指紋認証)
次に、上記の端点ベクトル及び分岐点ベクトルを用いた指紋認証について説明する。上記の方法により、ある指紋について得られた谷線の端点の位置、端点ベクトル、谷線の分岐点の位置、及び、分岐点ベクトルは、その指紋の特徴量として指紋データベースなどに登録される。なお、指紋データベースには、必要に応じて、指紋画像やその指紋の持ち主に関する情報なども登録される。
【0034】
指紋認証を行う際には、指紋認証装置は、認証の対象となる指紋(以下、「対象指紋」と呼ぶ。)の特徴量と、指紋データベースに記憶されている指紋(以下、「登録指紋」と呼ぶ。)の特徴量とを照合する。
図14は、指紋認証処理のフローチャートである。指紋認証装置は、まず、対象指紋の画像データを取得し(ステップS21)、対象指紋の指紋画像から、上記の方法により谷線の端点の位置、端点ベクトル、谷線の分岐点の位置、及び、分岐点ベクトルを、対象指紋の特徴量として抽出する(ステップS22)。次に、指紋認証装置は、指紋データベースから、照合の対象となる登録指紋の特徴量を取得し(ステップS23)、対象指紋の特徴量と照合して両者の一致度(類似度)を算出する(ステップS24)。具体的には、指紋認証装置は、一致度が所定値以上である場合に認証成功と判定し、一致度が所定値未満である場合に認証失敗と判定する。そして、指紋認証装置は、認証成功又は認証失敗を示す認証結果を出力し(ステップS25)、処理を終了する。
【0035】
このように、本実施形態では、谷線の端点と分岐点の位置のみでなく、端点ベクトル及び分岐点ベクトルも用いて照合を行うので、他人許容率を低下させることができる。なお、指紋認証を行う際には、本実施形態により得られる谷線の端点の位置、端点ベクトル、谷線の分岐点の位置、及び、分岐点ベクトルに加えて、通常使用される隆線の端点及び分岐点に関する特徴量などを用いてもよい。
【0036】
[変形例]
以下、上記の実施形態の変形例について説明する。以下の変形例は、適宜組み合わせて適用することができる。
【0037】
(変形例1)
上記の指紋認証の例では、端点ベクトル及び分岐点ベクトルを直接ベクトル同士で照合しているが、その代わりに、端点ベクトルの大きさ及び分岐点ベクトルの大きさを特徴量として照合に使用してもよい。
【0038】
(変形例2)
上記の実施形態では、グレースケール画像を用いているが、その代わりに、カラー画像をR(赤)、G(緑)、B(青)のデータに分割し、それぞれ端点ベクトル及び分岐点ベクトルを生成してもよい。
【0039】
(変形例3)
上記の実施形態では、端点ベクトル及び分岐点ベクトルを指紋認証に用いているが、それ以外に、POS(Point Of Sales)の物体認識や、ロボットの視覚処理の特徴量として利用することも可能である。
【0040】
その他、上記の各実施形態(変形例を含む、以下同じ)の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
【0041】
(付記1)
指紋画像から、指紋の谷線を細線化した細線化画像を生成する谷線細線化手段と、
前記細線化画像に基づいて、前記谷線の端点及び分岐点を検出する検出手段と、
前記細線化画像に基づいて、前記端点における端点ベクトル及び前記分岐点における分岐点ベクトルを特徴量として生成するベクトル生成手段と、
を備える特徴量抽出装置。
【0042】
(付記2)
前記端点ベクトルは、前記端点の画素を始点とし、前記谷線の方向において前記端点に隣接する隣接画素を終点とするベクトルである付記1に記載の特徴量抽出装置。
【0043】
(付記3)
前記端点ベクトルは、前記端点の画素と前記隣接画素とのx方向における距離をx成分とし、前記端点の画素と前記隣接画素とのy方向における距離をy成分とし、前記端点の画素と前記隣接画素の画素値の差をz成分とする3次元ベクトルである付記2に記載の特徴量抽出装置。
【0044】
(付記4)
前記分岐点は、当該分岐点において交わる複数の分岐線により構成され、
前記分岐点ベクトルは、前記分岐点の画素を始点とし、各分岐線の方向において前記分岐点に隣接する隣接画素を終点とする複数の分岐点ベクトルを含む付記1乃至3のいずれか一項に記載の特徴量抽出装置。
【0045】
(付記5)
前記分岐点ベクトルは、前記分岐点の画素と前記隣接画素とのx方向における距離をx成分とし、前記分岐点の画素と前記隣接画素とのy方向における距離をy成分とし、前記分岐点の画素と前記隣接画素の画素値の差をz成分とする3次元ベクトルである付記4に記載の特徴量抽出装置。
【0046】
(付記6)
前記特徴量は、さらに前記端点の位置と、前記分岐点の位置とを含む付記1乃至5のいずれか一項に記載の特徴量抽出装置。
【0047】
(付記7)
前記谷線細線化手段は、指紋の谷線のグレースケール画像から、前記細線化画像を生成する付記1乃至6のいずれか一項に記載の特徴量抽出装置。
【0048】
(付記8)
指紋画像から、指紋の谷線を細線化した細線化画像を生成し、
前記細線化画像に基づいて、前記谷線の端点及び分岐点を検出し、
前記細線化画像に基づいて、前記端点における端点ベクトル及び前記分岐点における分岐点ベクトルを特徴量として生成する特徴量抽出方法。
【0049】
(付記9)
指紋画像から、指紋の谷線を細線化した細線化画像を生成し、
前記細線化画像に基づいて、前記谷線の端点及び分岐点を検出し、
前記細線化画像に基づいて、前記端点における端点ベクトル及び前記分岐点における分岐点ベクトルを特徴量として生成する処理をコンピュータに実行させるプログラム。
【0050】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【解決手段】特徴量抽出装置は、指紋画像から、指紋の谷線を細線化した細線化画像を生成し、細線化画像に基づいて谷線の端点及び分岐点を検出する。そして、特徴量抽出装置は、細線化画像に基づいて、端点における端点ベクトル及び分岐点における分岐点ベクトルを特徴量として生成する。