特許第6366420号(P6366420)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ディー・ディー・エスの特許一覧

特許6366420データ作成プログラム、データ作成方法、及び、データ作成装置
<>
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000002
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000003
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000004
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000005
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000006
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000007
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000008
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000009
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000010
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000011
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000012
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000013
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000014
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000015
  • 特許6366420-データ作成プログラム、データ作成方法、及び、データ作成装置 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6366420
(24)【登録日】2018年7月13日
(45)【発行日】2018年8月1日
(54)【発明の名称】データ作成プログラム、データ作成方法、及び、データ作成装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20180723BHJP
【FI】
   G06T7/00 530
【請求項の数】8
【全頁数】22
(21)【出願番号】特願2014-164556(P2014-164556)
(22)【出願日】2014年8月12日
(65)【公開番号】特開2016-40682(P2016-40682A)
(43)【公開日】2016年3月24日
【審査請求日】2017年6月20日
(73)【特許権者】
【識別番号】598072272
【氏名又は名称】株式会社ディー・ディー・エス
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(74)【代理人】
【識別番号】100152515
【弁理士】
【氏名又は名称】稲山 朋宏
(72)【発明者】
【氏名】吉嶺 達樹
【審査官】 新井 則和
(56)【参考文献】
【文献】 特開2002−032767(JP,A)
【文献】 特開2003−067751(JP,A)
【文献】 特開2001−052176(JP,A)
【文献】 特開2004−334160(JP,A)
【文献】 特開2005−321874(JP,A)
【文献】 Zhengyu Ouyang et al.,Fingerprint Matching With Rotation-Descriptor Texture Features,The 18th International Conference on Pattern Recognition(ICPR'06),IEEE,2006年 8月20日,URL,http://ieeexplore.ieee.org/document/1699867/
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
指紋の画像を取得する第1取得ステップと、
前記第1取得ステップによって取得された前記指紋の画像の任意の複数の点のそれぞれを中心とする所定半径の円周上に対応する複数の画素のそれぞれの濃度を、前記複数の点毎に取得する第2取得ステップと、
前記第2取得ステップによって前記複数の点毎に取得された複数の前記濃度の前記円周上の並び順に基づいて、前記複数の点毎に振幅スペクトルを算出する振幅算出ステップと、
前記振幅算出ステップによって前記複数の点毎に算出された複数の前記振幅スペクトルのそれぞれに対応する複数のピーク周波数を、前記複数の点毎に記憶部に記憶する振幅記憶ステップと
を、データ作成装置のプログラムに実行させるためのデータ作成プログラム。
【請求項2】
前記振幅算出ステップは、前記第2取得ステップによって前記複数の点毎に取得された前記複数の濃度に基づき、DFT処理によって前記振幅スペクトルを算出することを特徴とする請求項1に記載のデータ作成プログラム。
【請求項3】
前記振幅記憶ステップは、前記複数のピーク周波数のうち、対応する前記振幅スペクトルの強度が大きい順に所定数分のピーク周波数を、前記記憶部に記憶することを特徴とする請求項1又は2に記載のデータ作成プログラム。
【請求項4】
前記第2取得ステップによって前記複数の点毎に取得された前記複数の濃度の前記円周上の並び順に基づいて、前記複数の点毎の位相スペクトルに対応する位相情報を、前記複数の点毎に算出する位相算出ステップと、
前記位相算出ステップによって前記複数の点毎に算出された複数の前記位相情報に関連するデータを、前記複数の点毎に記憶部に記憶する関連データ記憶ステップと
を更に実行することを特徴とする請求項1又は3に記載のデータ作成プログラム。
【請求項5】
前記第2取得ステップによって前記複数の点毎に取得された前記複数の濃度の前記円周上の並び順に基づいて、前記複数の点毎の位相スペクトルに対応する位相情報を、前記複数の点毎に算出する位相算出ステップと、
前記位相算出ステップによって前記複数の点毎に算出された複数の前記位相情報に関連するデータを、前記複数の点毎に記憶部に記憶する関連データ記憶ステップと
を更に実行することを特徴とする請求項2に記載のデータ作成プログラム。
【請求項6】
前記位相算出ステップは、前記DFT処理によって算出した複数の実部の累計値をΣRe(n)、複数の虚部の累計値をΣIm(n)と表記した場合、arctan(ΣIm(n)/ΣRe(n))によって算出される値を前記位相情報として算出することを特徴とする請求項5に記載のデータ作成プログラム。
【請求項7】
指紋の画像を取得する第1取得ステップと、
前記第1取得ステップによって取得された前記指紋の画像の任意の複数の点のそれぞれを中心とする所定半径の円周上に対応する複数の画素のそれぞれの濃度を、前記複数の点毎に取得する第2取得ステップと、
前記第2取得ステップによって前記複数の点毎に取得された複数の前記濃度の前記円周上の並び順に基づいて、前記複数の点毎に振幅スペクトルを算出する振幅算出ステップと、
前記振幅算出ステップによって前記複数の点毎に算出された複数の前記振幅スペクトルのそれぞれに対応する複数のピーク周波数を、前記複数の点毎に記憶部に記憶する振幅記憶ステップと
を備えたことを特徴とするデータ作成方法。
【請求項8】
指紋の画像を取得する第1取得手段と、
前記第1取得手段によって取得された前記指紋の画像の任意の複数の点のそれぞれを中心とする所定半径の円周上に対応する複数の画素のそれぞれの濃度を、前記複数の点毎に取得する第2取得手段と、
前記第2取得手段によって前記複数の点毎に取得された複数の前記濃度の前記円周上の並び順に基づいて、前記複数の点毎に振幅スペクトルを算出する振幅算出手段と、
前記振幅算出手段によって前記複数の点毎に算出された複数の前記振幅スペクトルのそれぞれに対応する複数のピーク周波数を、前記複数の点毎に記憶部に記憶する振幅記憶手段と
を備えたことを特徴とするデータ作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、指紋認証に使用されるデータを作成するデータ作成プログラム、データ作成方法、及び、データ作成装置に関する。
【背景技術】
【0002】
近年、スマートフォンやノートパソコンのようなモバイル機器の性能は向上し、扱われる情報は高度化している。このため、指紋の認証機能を有するモバイル機器が広く普及している。モバイル機器に指紋センサーが搭載される場合、デザインやスペースの制約上、指紋センサーは、小さく且つユニークな形状となる場合が多い。例えば、従来からボタンとして使用されていた部品に指紋センサーの機能を持たせた携帯電話が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−48418号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
指紋センサーの小型化に伴い、取得される指紋の画像も小さくなる。又、ユーザーは、モバイル機器を所持した側の手の指を、モバイル機器に搭載された指紋センサーに接触させることによって、指紋の入力操作を行う場合が多い。この場合、指を不自然な向きに移動させなければならないので、指紋の入力操作は不安定になり易く、指紋画像の位置ずれや回転が起こりやすい。従って、より小さく且つ不安定な入力操作に基づいて取得される指紋の画像(例えば、5〜10mm四方の指紋の画像)の認証を高精度に行うための技術が要求されている。
【0005】
本発明の目的は、小さく、且つ、不安定な入力操作に基づいて取得された指紋の画像を、十分な精度で認証できるデータを作成するためのデータ作成プログラム、データ作成方法、及び、データ作成装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の第1態様に係るデータ作成プログラムは、指紋の画像を取得する第1取得ステップと、前記第1取得ステップによって取得された前記指紋の画像の任意の複数の点のそれぞれを中心とする所定半径の円周上に対応する複数の画素のそれぞれの濃度を、前記複数の点毎に取得する第2取得ステップと、前記第2取得ステップによって前記複数の点毎に取得された複数の前記濃度の前記円周上の並び順に基づいて、前記複数の点毎に振幅スペクトルを算出する振幅算出ステップと、前記振幅算出ステップによって前記複数の点毎に算出された複数の前記振幅スペクトルのそれぞれに対応する複数のピーク周波数を、前記複数の点毎に記憶部に記憶する振幅記憶ステップとを、データ作成装置のプログラムに実行させる。
【0007】
第1態様によれば、データ作成プログラムを実行することによって動作するデータ作成装置は、指紋の画像の任意の複数の点のそれぞれを中心とする円周上の複数の位置に対応する画素の濃度に基づいて、複数の点毎に振幅スペクトルを算出する。データ作成装置は、算出した振幅スペクトルに対応する複数のピーク周波数を、指紋の認証を行うために使用可能なデータとして、複数の点毎に記憶部に記憶する。
【0008】
上記の場合、記憶部に記憶されたピーク周波数を用いて指紋の認証を行う認証装置は、複数のピーク周波数のそれぞれの位置の類似度を判断することによって、指紋を照合できる。なお、ピーク周波数は複数の点毎に特定されるので、指紋の画像が小さい場合でも、ピーク周波数を多く特定できる。従って、認証装置は、指紋の画像が小さく、且つ、指紋の画像が不安定な入力操作に基づいて取得された場合でも、十分な精度で指紋の認証を行うことができる。このように、データ作成装置は、認証装置が十分な精度で指紋の認証を行うことが可能なデータを作成できる。
【0009】
第1態様において、前記振幅算出ステップは、前記第2取得ステップによって前記複数の点毎に取得された前記複数の濃度に基づき、DFT処理によって前記振幅スペクトルを算出してもよい。この場合、データ作成装置は、複数の画素のそれぞれの濃度に基づいて任意の点の振幅スペクトルを算出できる。
【0010】
第1態様において、前記振幅記憶ステップは、前記複数のピーク周波数のうち、対応する前記振幅スペクトルの強度が大きい順に所定数分のピーク周波数を、前記記憶部に記憶してもよい。この場合、データ作成装置は、記憶部に記憶するデータの容量を抑制できる。
【0011】
第1態様において、前記第2取得ステップによって前記複数の点毎に取得された前記複数の濃度の前記円周上の並び順に基づいて、前記複数の点毎の位相スペクトルに対応する位相情報を、前記複数の点毎に算出する位相算出ステップと、前記位相算出ステップによって前記複数の点毎に算出された複数の前記位相情報に関連するデータを、前記複数の点毎に記憶部に記憶する関連データ記憶ステップとを更に実行してもよい。この場合、認証装置は、記憶部に記憶されたピーク周波数と位相情報に関連するデータとに基づいて指紋の認証を行うことができる。従って、認証装置は、ピーク周波数のみに基づいて指紋の認証を行う場合と比べて、認証の精度を更に向上させることができる。
【0012】
第1態様において、前記位相算出ステップは、前記DFT処理によって算出した複数の実部の累計値をΣRe(n)、複数の虚部の累計値をΣIm(n)と表記した場合、arctan(ΣIm(n)/ΣRe(n))によって算出される値を前記位相情報として算出してもよい。この場合、データ作成装置は、位相情報を容易に算出できる。
【0013】
本発明の第2態様に係るデータ作成方法は、指紋の画像を取得する第1取得ステップと、前記第1取得ステップによって取得された前記指紋の画像の任意の複数の点のそれぞれを中心とする所定半径の円周上に対応する複数の画素のそれぞれの濃度を、前記複数の点毎に取得する第2取得ステップと、前記第2取得ステップによって前記複数の点毎に取得された複数の前記濃度の前記円周上の並び順に基づいて、前記複数の点毎に振幅スペクトルを算出する振幅算出ステップと、前記振幅算出ステップによって前記複数の点毎に算出された複数の前記振幅スペクトルのそれぞれに対応する複数のピーク周波数を、前記複数の点毎に記憶部に記憶する振幅記憶ステップとを備えている。第2態様によれば、第1態様と同様の効果を奏することができる。
【0014】
本発明の第3態様に係るデータ作成装置は、指紋の画像を取得する第1取得手段と、前記第1取得手段によって取得された前記指紋の画像の任意の複数の点のそれぞれを中心とする所定半径の円周上に対応する複数の画素のそれぞれの濃度を、前記複数の点毎に取得する第2取得手段と、前記第2取得手段によって前記複数の点毎に取得された複数の前記濃度の前記円周上の並び順に基づいて、前記複数の点毎に振幅スペクトルを算出する振幅算出手段と、前記振幅算出手段によって前記複数の点毎に算出された複数の前記振幅スペクトルのそれぞれに対応する複数のピーク周波数を、前記複数の点毎に記憶部に記憶する振幅記憶手段とを備えている。第3態様によれば、第1態様と同様の効果を奏することができる。
【図面の簡単な説明】
【0015】
図1】認証システム1の機能ブロック図である。
図2】指紋画像6を示す図である。
図3】円7上の複数の点に対応する濃度を取得する機能を説明するための図である。
図4】円7の周上の位置における濃度の一例を示すグラフである。
図5】フィルタリング処理後の指紋画像61を示す図である。
図6】移動平均により平滑化された濃度一例を示すグラフである。
図7】振幅スペクトルの一例を示すグラフである。
図8】方向データの特定方法を説明するための図である。
図9】方向データの特定方法を説明するための図である。
図10】指紋画像6と方向データに対応する画像65との関係を示す図である。
図11】データ作成装置3、及び、認証装置5の電気的構成を示すブロック図である。
図12】第1メイン処理のフローチャートである。
図13】特徴データを示す図である。
図14】指紋データを示す図である。
図15】第2メイン処理のフローチャートである。
【発明を実施するための形態】
【0016】
本発明の一実施形態について、図面を参照して説明する。なお、以下の実施形態において例示した具体的な複数の数値は一例であり、本発明はこれらの複数の数値に限定されない。
【0017】
<認証システム1の概要>
図1を参照し、認証システム1の概要について説明する。認証システム1は、指紋によってユーザーを認証するためのシステムである。認証システム1は、データ作成装置3、及び、認証装置5を備えている。認証装置5は、指紋による認証機能を備えた電子機器である。本実施形態において、認証装置5は周知のスマートフォンである。データ作成装置3は、認証装置5が指紋による認証を行なうために必要な指紋データ(図14参照)を生成し、認証装置5のフラッシュメモリ504(図11参照)に記憶された指紋データベース(DB)60に登録する。本実施形態において、データ作成装置3は周知のPCである。
【0018】
なお、認証システム1は上記構成に限定されない。例えば認証システム1は、データ作成装置3及び認証装置5の機能を備えた単一の装置のみを有していてもよい。具体的には、認証システム1は、指紋データの生成機能、及び、指紋の認証機能を有する認証装置5であってもよい。認証装置5はスマートフォンに限定されず、ノートPC、タブレットPC、携帯電話、ATM、及び、入退室管理装置の何れかであってもよい。データ作成装置3はPCに限定されず、サーバー、又は、指紋データを生成するための専用機器であってもよい。
【0019】
指紋DB60は、データ作成装置3のHDD304(図11参照)に記憶されてもよい。認証装置5は、データ作成装置3のHDD304に記憶された指紋DB60を参照することによって、指紋の認証を実行してもよい。又、指紋DB60は、ネットワークに接続する図示外のサーバーに記憶されてもよい。この場合、データ作成装置3は、サーバーに記憶された指紋DB60に生成した指紋データを登録してもよい。又、認証装置5は、サーバーに記憶された指紋DB60を参照することによって、指紋の認証を実行してもよい。
【0020】
<データ作成装置3の機能>
データ作成装置3は、指紋画像取得部32、極座標取得部33、DFT演算部34、振幅スペクトル算出部35、ピーク周波数抽出部36、位相情報算出部37、方向データ特定部38、及び、登録部39のそれぞれの機能ブロックに対応する処理を、CPU301(図11参照)によって実行する。データ作成装置3には、指紋センサー31が接続される。
【0021】
指紋センサー31は、マトリクス状の表面電極の電荷量から指紋の凹凸を判定する、静電容量方式の面型センサーである。指紋センサー31の大きさは、後述する指紋センサー51と同一の大きさ、又は、指紋センサー51よりも大きいことが好ましい。指紋センサー31の大きさは特に限定されないが、例えば、5×5mmの指紋センサー31を適用できる。指紋センサー31の解像度は、後述する指紋センサー51と同一か、又は、指紋センサー51よりも大きいことが好ましい。指紋センサー31の解像度は特に限定されないが、例えば、508dpi、又は、363dpiの指紋センサー31を適用できる。以下では、指紋センサー31の解像度が508dpiである場合を例に挙げて、具体的に説明する。
【0022】
なお指紋センサー31の検出方式は静電容量方式に限定されず、他の方式(例えば、電界式、圧力式、光学式)であってもよい。又、指紋センサー31は面型に限定されず、線型であってもよい。指紋センサー31の大きさ及び解像度は、上記の具体例に限定されない。
【0023】
指紋画像取得部32では、指紋センサー31に指が接触した状態で指紋センサー31から出力される信号に基づいて、指紋センサー31に接触した指の指紋の凹凸がグレースケールで示された画像が取得される。以下、指紋センサー31から出力される信号に基づいて取得される画像を、「指紋画像」という。指紋センサー31の1ドットは、指紋画像の1画素に対応する。図2は、指紋画像取得部32によって取得された指紋画像の一例である、指紋画像6を示している。指紋画像6の画素数、200画素(横方向)×400画素(縦方向)である。指紋画像6には、指紋の凸部の連なりである隆線の行き止まりの端点6A、二つに分かれる分岐点6B等が含まれる。以下、指紋の端点、分岐点等を総称し、「複数の特徴点」という。
【0024】
図2の横方向を、指紋画像6のX方向といい、図2の縦方向を、指紋画像6のY方向という。図2の右方向を、X方向の正方向といい、図2の左方向を、X方向の負方向という。図2の下方向を、Y方向の正方向といい、図2の上方向を、Y方向の負方向という。指紋画像6の左上の画素の位置を、直交座標の原点(0,0)とする。直交座標の原点からX方向にx画素分離隔し、原点からY方向にy画素分離隔した画素の位置を、直交座標(x,y)と表記する。以下では、指紋画像6が指紋画像取得部32によって取得された場合を例に挙げて、具体的に説明する。なお、指紋画像6の画素数は、上記の具体例に限定されない。
【0025】
図1に示すように、極座標取得部33では、以下の方法で指紋画像6から複数の位置が特定され、特定された複数の位置のそれぞれに対応する濃度が取得される。はじめに、図3(A)に示すように、指紋画像取得部32によって取得された指紋画像6の枠6D(図2参照)に含まれる複数の画素の何れか1つが、半径rの円7(図3(B)参照)の中心点7Aとして決定される。半径rの値は特に限定されないが、例えば、指紋画像6の解像度が508dpiの場合に15画素とされ、指紋画像6の解像度が363dpiの場合に11画素とされる。本実施形態の場合、指紋センサー31の解像度を508dpiとしているので、以下では、半径rが15画素である場合を例に挙げて、具体的に説明する。なお、半径rの値については、上記の具体例に限定されない。
【0026】
次に、図3(B)に示すように、中心点7Aを中心とする半径rの円7の周上の所定数の位置が順番に決定される。以下、所定数を「K1」と表記する。具体的には、中心点7Aを極座標の原点とした場合に、半径r及び偏角θによって示される極座標(r,θ)の位置(円7の周上の位置)が、偏角θを、0(中心点7Aから右方水平方向に延びる向き)から(2π/K1)度ずつ2πまで時計回りに変化させながら、順番にK1個決定される。以下、決定されたK1個の位置のそれぞれを、「サンプル」という。K1の値は特に限定されない。以下では、K1が「128」である場合を例に挙げて、具体的に説明する。
【0027】
次に、図3(C)に示すように、決定された128個のサンプルのそれぞれに対応する濃度が取得される。具体的には、周知のバイリニア法に基づき、円7の周上の128個のサンプルの位置のそれぞれの上下左右に隣接する画素のそれぞれの濃度の重み付け演算によって、それぞれのサンプルに対応する濃度として算出される。なお、重み付け演算を行う場合の重み付け係数は、HDD304に予め記憶されていてもよい。
【0028】
図4は、偏角θを0から2πまで変化させたときの128個のサンプルのそれぞれに対応する濃度をプロットし、直線で接続したグラフの一例を示す。このように、サンプルの取得順、即ち、偏角θ順に濃度を並べた場合の結果は、周期的に配置された複数のピークを有する折れ線になる。
【0029】
図3(A)〜(C)の処理は、指紋画像6に含まれる200×400の複数の画素のうち、上端、下端、左端、及び、右端のそれぞれから半径r(15画素)分内側に配置された、図2における枠6C内の複数の画素のそれぞれについて実行される。なお、枠6C内には、(170(=(200−2×15))×370(=(400−2×15))の複数の画素が配置されている。
【0030】
なお、極座標取得部33において、指紋画像6に基づいて濃度が取得される前に、指紋画像6に対してフィルタリング処理が実行されてもよい。具体的には次の通りである。例えば図5に示すように、指紋画像6(図5(A))に対して、高周波成分をノイズとして除去するためのフィルタリング処理が実行され、指紋画像61(図5(B))が生成されてもよい。そして、高周波成分が除去された指紋画像61に対して、図3(A)〜(C)の処理が実行され、濃度が取得されてもよい。なお、フィルタリング処理が実行されることによって、元の指紋画像6のエッジ部分の濃淡変化は緩やかになる。フィルタリング処理に用いられるフィルタとして、周知のローパスフィルタ、ガウシアンフィルタ、移動平均フィルタ、メディアンフィルタ、平均化フィルタの何れかが用いられてもよい。又、例えば、特定の周波数帯成分のみを抽出するためのフィルタリング処理が指紋画像6に対して実行されてもよい。特定の周波数帯域として、指紋の凹凸の周期を含む帯域が選択されてもよい。フィルタリング処理に用いられるフィルタとして、周知のバンドパスフィルタが用いられてもよい。
【0031】
又、極座標取得部33において、指紋画像6に基づいて濃度が取得された後、図4で示される折れ線波形を移動平均によって平滑化してもよい。図6は、図4で示されるグラフを移動平均によって平滑化した結果を示す。図6に示すように、平滑化が実行されることによって、濃度の折れ線波形の変化は平滑化される。
【0032】
なお、以上のフィルタリング処理又は平滑化を行う理由は、次の通りである。検出方式や型式の異なる指紋センサー31から取得される指紋画像では、解像度、階調等の特性に差異が生じる場合がある。又、指紋センサー31の検出方式や型式によっては、取得される指紋画像にノイズが多く含まれたり、指紋画像の白黒が反転して取得されたりする場合がある。このような場合、フィルタリング処理又は平滑化によって、差分を吸収し、後段の処理に適した状態にすることができる場合がある。
【0033】
図1に示すように、DFT演算部34では、極座標取得部33によって取得された170×370の複数の画素のそれぞれに対応する128個の濃度に基づいて、周知の離散フーリエ変換(Discrete Fourier Transform DFT)演算が行われる。DFT演算によって、128の周波数成分毎に実部と虚部とが算出される。以下、算出される実部を「Re」と表記し、虚部を「Im」と表記する。DFT演算によって算出された、128の周波数成分のそれぞれに対応するReおよびImを、それぞれ、「Re(n)」「Im(n)」と表記する。n=0,1,2,3,・・・127である。Re(n)及びIm(n)は、170×370の複数の画素毎に算出される。
【0034】
振幅スペクトル算出部35では、DFT演算部34によって170×370の複数の画素毎に算出されたRe(n)、及び、Im(n)のそれぞれに基づいて、以下の(1)式によって振幅スペクトルが算出される。以下、算出される振幅スペクトルを「A(n)」と表記する。A(n)は、170×370の複数の画素毎に算出される。
A(n)=√(Re(n)+Im(n))(n=0,1,2,・・・127)・・・(1)
【0035】
図7は、170×370の複数の画素のうち1つの画素に対応する振幅スペクトルの一例であって、n=0〜63に対応する振幅スペクトル(A(0)〜A(63))をプロットし、直線で接続したグラフを示す。なお、標本化定理により、n=64〜127に対応する振幅スペクトル(A(64)〜A(127))は、A(0)〜A(63)を左右反転した形状を有する。このため図7においては、振幅スペクトル(A(64)〜A(127))は省略されている。
【0036】
図1に示すように、ピーク周波数抽出部36では、振幅スペクトル算出部35によって算出された振幅スペクトルのうち、振幅の大きい順に所定数分のピークに対応するnが、ピーク周波数として所定数分抽出される。以下、所定数を「K2」と表記する。この場合、K2を調整することによって、抽出されるピーク周波数の数を調整できる。又、K2を調整することによって、全てのピークに対応するnをピーク周波数として抽出する場合と比較して、1つの画素に対応するピーク周波数のデータ量を抑制できる場合がある。以下では、K2が「4」である場合を例に挙げて説明する。なお、K2の値については、上記の具体例に限定されず、2以上の任意の値であればよい。
【0037】
なお、指紋画像6にフィルタリング処理が実行された指紋画像6(例えば、指紋画像61(図5参照))に基づき、振幅スペクトル算出部35によって振幅スペクトルが算出された場合、ノイズ成分である高周波成分に対応するピークが低くなる。この場合、適切なピーク周波数が抽出され易くなる。
【0038】
登録部39では、ピーク周波数抽出部36によって抽出されたピーク周波数を示すデータが、後述する認証装置5のフラッシュメモリ504(図11参照)に記憶された指紋DB60に登録される。なお登録部39では、後述する方向データ特定部38によって特定される方向データも指紋DB60に登録される。詳細は後述する。
【0039】
位相情報算出部37では、DFT演算部34によって170×370の複数の画素毎に算出されたRe(n)及びIm(n)に基づき、以下の方法によって位相情報が算出される。はじめに、nが所定の第1数から所定の第2数までのそれぞれのRe(n)を累計した値が算出される。以下、Re(n)を累計した値を、「ΣRe(n)」と表記する。次に、nが第1数から第2数までのそれぞれのIm(n)を累計した値が算出される。以下、Im(n)を累計した値を、「ΣIm(n)」と表記する。所定の第1数を「K3」と表記し、所定の第2数を「K4」と表記する。以下では、K3が「1」であり、K4が「15」である場合を例に挙げて具体的に説明する。なお、K3、K4の値については、上記の具体例に限定されない。K3は、1以上の任意の数であってもよい。K4は、「K3+1」以上127以下の任意の値であればよい。例えば、K3を「2」とし、K4を「17」としてもよい。
【0040】
上記において、nの値を、1から15までとしたり、2から17までとしたりすることの理由は、累計演算の処理量が増加することを抑制するためである。なお、約30よりも大きいnは、指紋の凹凸の周波数よりも大きい周波数に対応する。このため、約30よりも大きいnに対応するRe(n)及びIm(n)の値は非常に小さくなる可能性が高い。従って、nを0から127とした場合と、nを1から15まで又は2から17までに限定した場合とで、算出される位相情報の相違は小さくなる場合が多い。
【0041】
次に、以下の(2)式に基づいて演算が行われる。算出される値を、「位相情報」といい、「B(i)」と表記する。iは、170×370の複数の画素のそれぞれが極座標取得部33において取得された順番を示し、i=1,2,・・・62900(=170×370))である。
B(i)=arctan(ΣIm(n)/ΣRe(n))(i=1,2,・・・62900)・・・(2)
なお、B(i)は、−π/2からπ/2までの間の何れかの値となる。
【0042】
なお、上記の方法によって算出される位相情報は、nが1から15までのそれぞれのRe(n)及びIm(n)に基づいて周波数成分毎に算出される位相スペクトルによって示されるベクトルを、画素毎に合成した合成ベクトルの角度と相関がある。即ち、上記の算出方法は、nが1から15までのそれぞれのRe(n)及びIm(n)に基づいて算出される位相スペクトルに基づいた合成ベクトルの角度を、演算の処理量を抑制しつつ簡易に算出するための方法であるといえる。
【0043】
方向データ特定部38は、位相情報算出部37によって170×370の複数の画素毎に算出されたB(i)に基づき、以下の方法によって、170×370の複数の画素毎に方向を算出し、方向データを生成する。はじめに、位相情報算出部37によって算出されたB(i)は、以下の(3)式によって、それぞれの位相情報に応じた濃度に変換される。以下、算出される濃度を「D(i)」と表記する。
D(i)=((B(i)+π/2)×255)/π(i=1,2,・・・62900)・・・(3)
【0044】
図8を参照して具体的に説明する。図8(A)は、指紋画像取得部32によって取得された指紋画像6を示す。図8(B)は、指紋画像6に対して平滑化処理(図6参照)が実行された後の指紋画像62を示す。図8(C)は、指紋画像62に基づき、上記の方法によって算出されたD(i)のグレースケール画像を、対応する画素の位置に配置させた位相情報マップ63を示す。図8(D)は、図8(C)の位相情報マップ63の一部を抽出して拡大した図である。次に、図8(E)に示すように、位相情報マップ63のうち任意の5×5の複数の画素を含む位相情報マップ64が抽出される。図8(E)の位相情報マップ64において、5×5のマトリクスのそれぞれの中の数字は、対応する位置の画素のD(i)の値を示している。
【0045】
以下、5×5の複数の画素のそれぞれの位置を、(Xi,Yi)と表記し、対応する濃度を、「D(Xi/Yi)」と表記する。Xiは、横方向の画素の位置を、左端の画素を基準とした場合の右方向の画素数(1〜5)によって示す。Yiは、縦方向の画素の位置を、上端の画素を基準とした場合の下方向の画素数(1〜5)によって示す。
【0046】
次に、5×5の複数の画素のうち(3,3)の位置に対応する方向が、以下のようにして特定される。下記の算出結果のそれぞれを、「R(j)」と表記する。具体的には、
「D(3/3)−D(2/1)」を「R(2/1)」と表記する。「D(3/3)−D(3/1)」を「R(3/1)」と表記する。「D(3/3)−D(4/1)」を「R(4/1)」と表記する。「D(3/3)−D(1/2)」を「R(1/2)」と表記する。「D(3/3)−D(2/2)」を「R(2/2)」と表記する。「D(3/3)−D(4/2)」を「R(4/2)」と表記する。「D(3/3)−D(5/2)」を「R(5/2)」と表記する。「D(3/3)−D(1/3)」を「R(1/3)」と表記する。「D(3/3)−D(5/3)」を「R(5/3)」と表記する。「D(3/3)−D(1/4)」を「R(1/4)」と表記する。「D(3/3)−D(2/4)」を「R(2/4)」と表記する。「D(3/3)−D(4/4)」を「R(4/4)」と表記する。「D(3/3)−D(5/4)」を「R(5/4)」と表記する。「D(3/3)−D(2/5)」を「R(2/5)」と表記する。「D(3/3)−D(3/5)」を「R(3/5)」と表記する。「D(3/3)−D(4/5)」を「R(4/5)」と表記する。はじめに、R(j)と「−128」とが比較される。R(j)が「−128」よりも小さい場合、R(j)に256が加算される。R(j)が「127」よりも大きい場合、R(j)から256が減算される。
【0047】
次に、上記のようにして算出されたR(j)が以下の(4)〜(11)式に適用され、P1〜P8が算出される。
P1=R(5/3)+R(1/3) ・・・(4)
P2=R(5/4)+R(1/2) ・・・(5)
P3=R(4/4)+R(2/2) ・・・(6)
P4=R(4/5)+R(2/1) ・・・(7)
P5=R(3/5)+R(3/1) ・・・(8)
P6=R(2/5)+R(4/1) ・・・(9)
P7=R(2/4)+R(4/2) ・・・(10)
P8=R(1/4)+R(5/2) ・・・(11)
算出されるP1〜P8は、それぞれを算出するための2つの画素のそれぞれの濃度と、(3,3)の位置の画素の濃度との差分の大きさを示す。
【0048】
図9(A)のマトリックス8は、P1〜P8のそれぞれが算出される場合に用いられる2つのD(Xi/Yi)に対応する2つの画素のそれぞれの、5×5の複数の画素中の位置を示している。P1は、5×5の複数の画素のうち、(3,3)からみて右方向及び左方向のそれぞれに配置された画素に対応する2つのD(Xi/Yi)に基づいて算出される。P2、P3,P4は、それぞれ、5×5の複数の画素のうち、(3,3)からみて右斜め下方向及び左斜め上方向のそれぞれに配置された画素に対応する2つのD(Xi/Yi)に基づいて算出される。P2、P3,P4のそれぞれを算出するための2つの画素を結んだ直線の水平方向に対する角度は、P2、P3、P4の順に大きくなる。P5は、5×5の複数の画素のうち、(3,3)からみて上方向及び下方向のそれぞれに配置された画素に対応する2つのD(Xi/Yi)に基づいて算出される。P6、P7,P8は、それぞれ、5×5の複数の画素のうち、(3,3)からみて右斜め上方向及び左斜め下方向のそれぞれに配置された画素に対応する2つのD(Xi/Yi)に基づいて算出される。P6、P7,P8のそれぞれを算出するための2つの画素を結んだ直線の水平方向に対する角度は、P6、P7、P8の順に小さくなる。
【0049】
次に、算出されたP1〜P8のうち最小値が抽出される。なお(4)〜(11)式から明らかなように、P1〜P8は、それぞれを算出するための2つの画素のそれぞれの濃度と、(3,3)の位置の画素の濃度との差分の大きさを示す。従って、P1〜P8のうち最小値を抽出することによって、対応する2つの画素のそれぞれの濃度と、(3,3)の位置の画素の濃度との差分が最も小さい、言い換えれば、濃度の変化の小さい組み合わせを抽出できる。
【0050】
例えば、図8(E)及び図9(B)で示される位相情報マップ64の5×5の複数の画素のそれぞれのD(Xi/Yi)が適用された場合、(4)〜(11)式が適用されることによって、P1:200、P2:25、P3:164、P4:1381、P5:1810、P6:1517、P7:1096、P8:1889が算出される。又、P2が最小値(25)として抽出される。
【0051】
次に、抽出されたP1〜P8の何れかに対応する2つの画素のそれぞれの中心を結ぶ直線の方向が、5×5の複数の画素のうち(3,3)の位置に対応する方向として特定される。例えば、位相情報マップ64(図9(B))の5×5の複数の画素のそれぞれのD(Xi/Yi)が適用されてP1〜P8が算出され、最小のP2が抽出された場合、図9(C)に示すように、水平方向に対して時計回りに0.15π回転した方向64Aが、(3,3)の位置に対応する方向として特定される。
【0052】
なおP1が最小値として抽出された場合、(3,3)の位置に対応する方向として水平方向が特定される。P3〜P8のそれぞれが最小値として抽出された場合、それぞれ、水平方向に対して時計回りに0.25π、0.35π、0.5π、0.65π、0.75π、0.85π回転した方向が、(3,3)の位置に対応する方向として特定される。
【0053】
上記の処理は、170×370の複数の画素のそれぞれが(3,3)の位置に配置された全ての5×5の複数の画素に対して実行される。この場合、170×370の複数の画素のうち、上下左右端部から2画素分ずつ内側に配置した、166(=170−(2×2))×366(=370−(2×2))の複数の画素毎に、方向が特定される。又、特定された方向のそれぞれを、水平方向に対する時計回りの回転角度(0〜π)で示したデータが、「方向データ」として特定される。図9(D)は、特定された複数の方向のそれぞれを示す線分を、対応する画素の位置に配置させた図である。なお、それぞれの線分を見易くするために、X方向、及びY方向には、8画素間隔で線分を配置させている。
【0054】
図1に示すように、登録部39では、方向データ特定部38によって特定された方向データが、後述する認証装置5のフラッシュメモリ504(図11参照)に記憶された指紋DB60に登録される。即ち、登録部39では、ピーク周波数を示すデータ及び方向データが、指紋DB60に登録される。
【0055】
<認証装置5の機能>
認証装置5は、指紋画像取得部52、極座標取得部53、DFT演算部54、振幅スペクトル算出部55、ピーク周波数抽出部56、位相情報算出部57、方向データ特定部58、及び、照合部59のそれぞれの機能ブロックに対応する処理を、CPU501(図11参照)によって実行する。認証装置5には、指紋センサー51が設けられる。
【0056】
指紋センサー51は、指紋センサー31と同一の原理で動作するセンサーである。指紋センサー51の大きさは特に限定されないが、例えば、4×10mm、8×8mm、10×10mmの指紋センサー51を適用できる。指紋センサー51の解像度は特に限定されないが、例えば、508dpi、363dpiの解像度の指紋センサー51を適用できる。なお指紋センサー51の検出方式は静電容量方式に限定されず、他の方式(例えば、電界式、圧力式、光学式)であってもよい。又、指紋センサー51は面型に限定されず、線型であってもよい。
【0057】
指紋画像取得部52、極座標取得部53、DFT演算部54、振幅スペクトル算出部55、ピーク周波数抽出部56、位相情報算出部57、及び、方向データ特定部58は、それぞれ、データ作成装置3の指紋画像取得部32、極座標取得部33、DFT演算部34、振幅スペクトル算出部35、ピーク周波数抽出部36、位相情報算出部37、及び、方向データ特定部38と同一の機能を実行できる。これらの詳細な説明は省略する。
【0058】
照合部59では、フラッシュメモリ504(図11参照)に記憶された指紋DB60に登録されたピーク周波数及び方向データの少なくとも一方が参照され、指紋センサー51に接触された指の指紋と、データ作成装置3の指紋センサー31に接触された指の指紋との照合が行われる。具体的には、ピーク周波数が用いられる場合、ピーク周波数抽出部56によって抽出されたピーク周波数と、指紋DB60に登録されたピーク周波数との照合が行われる。方向データが用いられる場合、方向データ特定部58によって特定された方向データと、指紋DB60に登録された方向データとの照合が行われる。照合に成功した場合、データ作成装置3を介して予め登録された指紋を有するユーザーと、認証装置5の指紋センサー51に接触された指紋を有するユーザーとが同一人物であると判断される。照合に失敗した場合、データ作成装置3を介して予め登録された指紋を有するユーザーと、認証装置5の指紋センサー51に接触された指紋を有するユーザーとは、異なる人物であると判断される。
【0059】
ピーク周波数を用いた照合の概要は、次の通りである。以下、ピーク周波数抽出部56によって複数の画素毎に抽出された4つのピーク周波数を、「4つの取得周波数」という。指紋DB60に複数の画素毎に登録されたピーク周波数を、「4つの登録周波数」という。
【0060】
4つの取得周波数と4つの登録周波数とが全て一致する画素の組み合わせが抽出される。なお、4つが全て一致する画素の組み合わせが1つも存在しない場合、4つの取得周波数と4つの登録周波数とで2つ又は3つが一致する画素の組み合わせが抽出される。画素の組合せが複数抽出された場合、抽出された複数の画素の組み合わせのそれぞれの位置関係が比較され、位置関係の相関が求められる。4つの取得周波数と4つの登録周波数とが一致する数、及び、位置関係の相関に基づいて、類似度が算出される。算出された類似度が所定値よりも大きい場合、照合に成功したと判断され、類似度が所定値よりも小さい場合、照合に失敗したと判断される。即ち、上記の照合方法は、従来のマニューシャ法における複数の特徴点のそれぞれの種別(端点、分岐点、コア、三角州等)の代わりに、ピーク周波数を用いていることになる。
【0061】
上記の場合、周知のマニューシャ法に基づいた照合方法のように、端点、分岐点、コア、及び、三角州等の特徴点が指紋画像6に含まれていなくても、照合を行うことができる。又、照合の際に比較対象となる取得周波数及び登録周波数を、小さい指紋画像6から多数抽出できる。従って、指紋画像6の大きさが小さい場合でも、より多くのピーク周波数を比較できるので、照合の精度を高めることができる。
【0062】
方向データを用いた場合の照合の概要は、次の通りである。以下、方向データ特定部58によって複数の画素毎に特定された方向データによって示される方向を、「取得方向」という。指紋DB60に複数の画素毎に登録された方向データによって示される方向を、「登録方向」という。
【0063】
取得方向と登録方向とが一致する画素の組み合わせが抽出される。画素の組合せが複数抽出された場合、抽出された複数の画素の組み合わせの位置関係が比較され、位置関係の相関が類似度として求められる。類似度が所定値よりも大きい場合、照合に成功したと判断され、類似度が所定値よりも小さい場合、照合に失敗したと判断される。即ち、上記の照合方法は、従来のマニューシャ法における複数の特徴点のそれぞれの方向の代わりに、方向データを用いていることになる。
【0064】
なお、図10に示すように、指紋画像6(図10(A))に、取得方向又は登録方向を線分で示した画像65(図10(B))を重ね合わせた場合を例に挙げる。この場合、図10(C)で示されるように、取得方向又は登録方向を示す線分は、指紋画像6で示される指紋の隆線の方向と良好に一致する。又、上記のように、登録方向と取得方向とを比較することによって、周知のマニューシャ法に基づいた照合方法のように、端点、分岐点、及び、三角州等の特徴点が指紋画像6に含まれていなくても、照合を行うことができる。又、照合の際に比較対象となる取得方向及び登録方向を、小さい指紋画像6から多数抽出できる。従って、指紋画像6の大きさが小さい場合でも、より多くの方向を比較できるので、照合の精度を高めることができる。
【0065】
更に、ピーク周波数に基づいて算出された類似度と、方向に基づいて算出された類似度との加算値を所定値と比較することによって、照合の成否が判断されてもよい。これによって、ピーク周波数と方向とに基づいて照合を行うことができるので、照合の精度を更に高めることができる。
【0066】
なお、上記の照合方法は一例である。従って、照合部59は、異なる方法で、取得周波数及び登録周波数の照合を行ってもよい。又、照合部59は、異なる方法で、取得方向及び登録方向の照合を行ってもよい。
【0067】
<電気的構成>
図11を参照し、データ作成装置3の電気的構成について説明する。データ作成装置3は、CPU301、ROM302、RAM303、HDD304、表示部305、入力部306、通信インターフェース(I/F)307、及び、ドライブ装置308を備えている。CPU301は、データ作成装置3の制御を行う。ROM302、RAM303、HDD304、表示部305、入力部306、通信インターフェース(I/F)307、及び、ドライブ装置308は、CPU301と電気的に接続している。又、CPU301は、図示外のコネクタを介して指紋センサー31と電気的に接続する。ROM302は、BIOS、ブートプログラム、初期設定値を記憶する。RAM303は、種々の一時データを記憶する。HDD304は、CPU301がデータ作成装置3を制御するために実行するプログラム、及びOSを記憶する。表示部305はLCDである。入力部306はキーボード及びマウスである。通信I/F307は、ケーブル407を介して外部の機器(例えば、認証装置5)と通信を実行するためのコントローラである。ドライブ装置308は、記憶媒体308Aに記憶された情報を読み出すことができる。CPU301は、記憶媒体308Aに記憶されたプログラムをドライブ装置308によって読み出し、HDD304に記憶できる。
【0068】
なお、データ作成装置3は、インターネットに接続可能な図示外の通信I/Fを有していてもよい。CPU301は、インターネットに接続するサーバーに記憶されたプログラムを、図示外の通信I/Fを介して受信してもよい。CPU301は、通信I/Fを介して受信したプログラムを、HDD304に記憶してもよい。
【0069】
図11を参照し、認証装置5の電気的構成について説明する。認証装置5は、CPU501,ROM502,RAM503,フラッシュメモリ504,表示部505、タッチパネル506,通信I/F507,及び、指紋センサー51を備える。CPU501は、認証装置5の制御を行う。CPU501は、ROM502、RAM503、フラッシュメモリ504、表示部505、タッチパネル506、通信I/F507、及び、指紋センサー51と電気的に接続する。ROM502は、BIOS、ブートプログラム、初期設定値を記憶する。RAM503は、種々の一時データを記憶する。フラッシュメモリ504は、CPU501が認証装置5を制御するために実行するプログラム、及びOSを記憶する。また、フラッシュメモリ504は、指紋DB60(図1参照)を記憶する。表示部505はLCDである。タッチパネル506は、表示部505の表面に設けられる。通信I/F507は、ケーブル407を介して外部の機器(例えば、データ作成装置3)と通信を実行するためのコントローラである。
【0070】
<データ作成装置3によって実行される処理の詳細>
図12を参照し、データ作成装置3のCPU301によって実行される第1メイン処理について説明する。第1メイン処理は、指紋の登録を行なうためのアプリケーションの起動が促された場合に、HDD304に記憶されたプログラムをCPU301が実行することによって開始される。指紋センサー31は、指の接触を検出することが可能な待ち受け状態となる。
【0071】
指紋センサー31は、指の接触を検出した場合、指紋の画像を特定可能な信号を、CPU301に出力する。CPU301は、指紋センサー31から出力される信号を受信する。CPU301は、受信した信号に基づいて、指紋画像6(図2参照)を取得する(S11)。なお、S11の処理は、図1における指紋画像取得部32の機能に対応する。指紋画像6には、指紋全体の画像(例えば200×400の複数の画素)が含まれる。CPU301は、取得した指紋画像6に含まれる複数の画素のうち、枠6C(図2参照)内の170×370の複数の画素の何れかを、以下の順番で選択する(S13)。
【0072】
CPU301は、はじめにS13の処理を実行する場合、(15,15)の位置の画素を選択する。CPU301は、次にS13の処理を実行する場合、Y座標を「15」で固定し、X座標を「15」から「1」ずつ加算して選択する画素の位置を(Xc,15)(Xc=15,16,・・・)に決定し、画素を選択する。処理が繰り返され、Xcが185よりも大きくなった場合、CPU301は、Y座標「15」に「1」を加算し、X座標を「15」に戻す。CPU301は、選択する画素の位置を(Xc,16)(Xc=15,16,・・・)に決定し、画素を選択する。以上の処理は、S13の処理によって、170×370の複数の画素の全てが選択されるまで繰り返される。
【0073】
なお、枠6C内の複数の画素の何れか1つを順番に選択する場合の選択方法は、上記の方法に限定されず、他の方法であってもよい。例えばCPU301は、170×370の複数の画素からランダムに1つずつ画素を選択してもよい。選択される画素の位置を示す座標の値は、周知の乱数発生アルゴリズムによって決定されてもよい。又、複数の画素のうち、複数の特徴点の近傍に配置される画素を優先的に選択してもよい。
【0074】
CPU301は、S13の処理によって選択した画素を中心とする半径r(=15)の円7(図3参照)の周上の128個のサンプルの位置を順番に決定する。128個のサンプルのそれぞれの位置は、選択された画素を原点とする極座標(r,θ)によって示される位置であって、偏角θを0から(2π/128)度ずつ2πまで変化させたときに順番に特定される位置である。
【0075】
なお、円7の周上の128個のサンプルの位置を決定するときの順番は変更できる。例えばCPU301は、偏角θを0以外の任意の角度から2π回転させたときの極座標(r,θ)によって示される位置を、128個のサンプルの位置として順番に決定してもよい。
【0076】
なお、128個のサンプルの位置を決定するときの順番が変化した場合でも、後述するS19の処理によって算出される振幅スペクトルは変化しない。理由は、DFT演算によって算出されるRe(n)とIm(n)とから振幅スペクトル(A(n))が算出される過程で、位相成分が排除されるためである。同様に、128個のサンプルの位置を決定するときの順番が変化した場合でも、後述するS25の処理によって算出される方向データは変化しない。
【0077】
CPU301は、決定された128個のサンプルのそれぞれに対応する濃度を、バイリニア法に基づいて取得する(S15、図4参照)。なお、S15の処理は、図1における極座標取得部33の機能に対応する。なお、濃度を算出する方法はバイリニア法に限定されず、他の方法でもよい。例えば、周知のニアレストネイバー法、又は、バイキュービック法に基づいて濃度が算出されてもよい。又、CPU301は、決定された128個のサンプルの位置に配置された画素の濃度をそのまま取得してもよい。又、濃度の代わりに輝度が算出されてもよい。
【0078】
CPU301は、S15の処理によって取得された円7の周上の128個の濃度に基づいて、DFT演算を行い、実部(Re(n))及び虚部(Im(n))を算出する(S17)。なお、S17の処理は、図1におけるDFT演算部34の機能に対応する。CPU301は、算出したRe(n)及びIm(n)に基づき、上記(1)式を適用することによって、振幅スペクトルを算出する(S19、図7参照)。CPU301は、算出した振幅スペクトルのうち、振幅の大きい順に4つ分のピークに対応するnを、ピーク周波数として抽出する(S19)。なお、S19の処理は、図1における振幅スペクトル算出部35、及び、ピーク周波数抽出部36の機能に対応する。
【0079】
CPU301は、S17の処理によって算出したRe(n)及びIm(n)に基づき、上記(2)式を適用することによって、位相情報を算出する(S21)。なお、S21の処理は、図1における位相情報算出部37の機能に対応する。
【0080】
なお上記の(2)式において、位相情報を算出するためのΣRe(n)及びΣIm(n)のnの値を、0から127までとしてもよい。即ち、nが0から127までのそれぞれのRe(n)を累計したΣRe(n)と、nが0から127までのそれぞれのIm(n)を累計したΣIm(n)とに基づいて、位相情報(B(i))が算出されてもよい。
【0081】
CPU301は、S13の処理によって、指紋画像6の枠6C(図2参照)内の170×370の複数の画素の全てを選択したか判断する(S23)。CPU301は、170×370の複数の画素のうち選択していない画素がある場合(S23:NO)、処理をS13に戻す。CPU301は、選択していない複数の画素のうち何れかを次に選択し、S15〜S21の処理を繰り返す。CPU301は、170×370の複数の画素の全てを選択したと判断した場合(S23:YES)、処理をS25に進める。
【0082】
CPU301は、S21の処理が繰り返されることによって170×370の複数の画素毎に算出された位相情報のそれぞれに対し、上記(3)式を適用することによって、濃度(D(i))を算出する。CPU301は、算出した170×370のD(i)のそれぞれに対し、上記(4)〜(11)式を適用することによって、P1〜P8(図8参照)を算出する。CPU301は、算出したP1〜P8に基づいて166×366の複数の画素のそれぞれに対応する方向を特定し、方向データを特定する(S25)。なお、S25の処理は、図1における方向データ特定部38の機能に対応する。
【0083】
なお、上記の方向データを特定する方法は変更できる。例えばCPU301は、DFT演算(S17)の結果得られる、170×370の複数の画素毎のRe(n)及びIm(n)に基づいて、周波数成分毎に位相スペクトルを算出してもよい。次いで、CPU301は、算出した位相スペクトルによって示されるベクトルのうち、特定の周波数成分(例えば、n=1〜15)に対応するベクトルを合成し、位相情報としてもよい。
【0084】
CPU301は、S19の処理によって抽出されたピーク周波数を示すデータ、及び、S25の処理によって特定された方向データを、対応する画素の位置を示す座標に対応付け、特徴データを生成する(S27)。図13は、生成された特徴データの一例を示す。図13に示すように、特徴データでは、ピーク周波数を示すデータが、170×370の複数の座標のそれぞれに対応付けられ、方向データが、166×366の複数の座標のそれぞれに対応付けられている。図13のうちF(X,Y)は、(X,Y)の位置の画素に対応する4つのピーク周波数を示している。G(X,Y)は、(X,Y)の位置の画素に対応する方向データを示している。なお、X座標が15、16、169、170の何れか、及び、Y座標が15、16、369、370の何れかの座標に対応する方向データは、S25の処理によって特定されない。この場合、方向データが特定されなかったことを示すフラグデータ「−1」がG(X,Y)として記憶される。
【0085】
図12に示すように、CPU301は、S27の処理によって生成した特徴データにエラー検出コードを付加し、暗号化する。CPU301は、暗号化した特徴データに、センサー種別、指紋画像6のサイズ、及び、改ざん/エラー検出方式を対応付け、指紋データを生成する(S29)。センサー種別は、指紋センサー31の型式、大きさ、解像度等を示す。指紋画像6のサイズは、指紋センサー31から出力された信号に基づいて取得された指紋画像6の画素数を示す。改ざん/エラー検出方式は、特徴データの暗号化方式、及び、エラー検出方式を示す。CPU301は、生成した指紋データを、認証装置5のフラッシュメモリ504に記憶された指紋DB60(図1参照)に登録する(S31)。なお、S31の処理は、図1における登録部39の機能に対応する。CPU301は第1メイン処理を終了させる。
【0086】
<認証装置5によって実行される処理の詳細>
図15を参照し、認証装置5のCPU501によって実行される第2メイン処理について説明する。第2メイン処理は、指紋の認証を行なうためのアプリケーションの起動が促された場合に、フラッシュメモリ504に記憶されたプログラムをCPU501が実行することによって開始される。なお、S11〜S25の処理は、第1メイン処理のS11〜S25の処理と同一であるので、説明を省略する。
【0087】
CPU501は、フラッシュメモリ504に記憶された指紋DB60(図1参照)を参照する(S41)。CPU501は、指紋DB60に登録された指紋データの特徴データを、改ざん/エラー検出方式に基づいて復号し、エラーがないかどうかチェックする。
【0088】
CPU501は、ピーク周波数のみによる照合を行う場合、S19の処理によって抽出されたピーク周波数(取得周波数)と、指紋DB60に登録された指紋データの特徴データのうちピーク周波数(登録周波数)とに基づいて、照合の成否を判断する(S43)。CPU501は、方向データのみによる照合を行う場合、S25の処理によって特定された方向データによって示される方向(取得方向)と、指紋DB60に登録された指紋データの特徴データのうち方向データによって示される方向(登録方向)とに基づいて、照合の成否を判断する(S43)。CPU501は、ピーク周波数及び方向データによる照合を行う場合、取得周波数及び登録周波数との照合結果と、取得方向及び登録方向の照合結果とに基づいて、照合の成否を判断する(S43)。CPU501は、照合の成否を示す画像を、表示部505に表示させる(S45)。CPU501は第2メイン処理を終了させる。
【0089】
なお上記において、データ作成装置3のCPU301は、ケーブル407(図11参照)を介して認証装置5から送信された要求データを受信した場合に、生成した指紋データを指紋DB60に登録してもよい。認証装置5のCPU501は、第2メイン処理のS25の処理の終了後、ケーブル407を介してデータ作成装置3に対して、要求データを送信してもよい。CPU501は、要求データに応じて指紋データが指紋DBに登録された後、S41、S43、S45の処理を実行してもよい。
【0090】
<効果>
データ作成装置3のCPU301は、指紋画像6のうち、任意の複数の中心点7Aのそれぞれを中心とする円7の周上の複数の位置に対応する画素の濃度に基づいて、DFT演算を行う(S17)。CPU301は、Re(n)及びIm(n)に基づいて、振幅スペクトルを算出する(S19)。CPU301は、算出した振幅スペクトルのそれぞれに対応する4つのピーク周波数を抽出する(S19)。CPU301は、抽出した4つのピーク周波数を示すデータを含む指紋データを、指紋DB60に登録する(S31)。これによって、指紋DB60に登録されたピーク周波数のデータは、認証装置5のCPU501が指紋の照合を行うためのデータとして使用可能となる。
【0091】
上記の場合、CPU501は、指紋DB60に登録されたピーク周波数と、指紋センサー51を介して取得された指紋画像6に対応するピーク周波数とを比較することによって、指紋の照合を行うことができる。この場合、従来のマニューシャ法のように、指紋の特徴点が指紋画像6に含まれていなくてもよい。又、複数の画素毎に4つのピーク周波数が抽出されるので、多数のピーク周波数どうしを比較できる。従って、CPU501は、指紋画像6が小さい場合でも、十分な精度で指紋の認証を行うことができる。又、認証装置5を所持した側の手の指を指紋センサー51に接触させる不安定な入力操作に基づいて、指紋画像6の位置ずれや回転が起こった場合でも、十分な精度で指紋の認証を行うことができる。このように、データ作成装置3のCPU301は、認証装置5が指紋の認証を高精度に行うための指紋データを、ピーク周波数に基づいて生成できる。
【0092】
データ作成装置3のCPU301は、DFT演算を行う(S17)ことによって算出したRe(n)及びIm(n)に基づいて、振幅スペクトルを算出し、ピーク周波数を抽出する(S19)。従ってCPU301は、S15の処理によって取得した濃度に基づいて、指紋画像6中の複数の画素の全てに対応するピーク周波数を適切に抽出できる。
【0093】
データ作成装置3のCPU301は、算出した振幅スペクトルのうち、振幅の大きい順に4つ分のピークに対応するnを、ピーク周波数として抽出する(S19)。この場合、CPU301は、振幅スペクトルの全てのピークに対応するnをピーク周波数として抽出する場合と比較して、指紋DB60に登録する指紋データの容量を抑制できる。
【0094】
データ作成装置3のCPU301は、DFT演算を行う(S17)ことによって算出したRe(n)及びIm(n)に基づいて、位相情報を算出する(S21)。CPU301は、170×370の複数の画素毎に算出された位相情報のそれぞれに基づいて濃度(D(i))を算出し、更に、P1〜P8(図8参照)を算出する。CPU301は、算出したP1〜P8に基づいて、166×366の複数の画素のそれぞれに対応する方向の方向データを特定する(S25)。CPU301は、特定した方向データを含む指紋データを、指紋DB60に登録する。認証装置5のCPU501は、ピーク周波数と方向データとに基づいて指紋の照合を行うことによって、照合の精度を高めることができる。このように、データ作成装置3のCPU301は、認証装置5が指紋の認証を更に高精度に行うための指紋データを、方向データに基づいて生成できる。
【0095】
CPU301は、(2)式を適用して位相情報を算出する。この場合、CPU301は、算出したRe(n)及びIm(n)に基づいて合成ベクトルを算出し、その方向を位相情報として算出する場合と比較して、位相情報を容易に算出できる。
【0096】
<その他>
本発明は上記実施形態に限定されず、種々の変更が可能である。上記実施形態において、CPU301は、ピーク周波数のみを抽出し、方向データを特定しなくてもよい。CPU301は、ピーク周波数のみを含む指紋データを作成し、指紋DB60に登録してもよい。
【0097】
上記実施形態において、CPU301は、DFT演算を行うことによって、実部(Re)及び虚部(Im)を算出した。CPU301は、DFTの代わりにFast Fourier Transform(FFT)演算を行うことによって、実部(Re)及び虚部(Im)を算出してもよい。この場合、サンプル数K1として、例えば、「128」、「256」、「512」、「1024」、「2048」・・・の何れかとすることができる。
【0098】
上記実施形態において、CPU301は、指紋画像6に含まれる複数の画素を1つずつ選択し、円7の中心点7Aとした。これに対して、CPU301は、指紋画像6の任意の複数の位置の何れかを、円7の中心点7Aとして選択してもよい。
【0099】
なお、S11の処理は本発明の「第1取得ステップ」の一例である。S15の処理は本発明の「第2取得ステップ」の一例である。S19の処理は本発明の「振幅算出ステップ」の一例である。S31の処理は本発明の「振幅記憶ステップ」「関連データ記憶ステップ」の一例である。S21,S25の処理は本発明の「位相算出ステップ」の一例である。S11の処理を行うCPU301は本発明の「第1取得手段」の一例である。S15の処理を行うCPU301は本発明の「第2取得手段」の一例である。S19の処理を行うCPU301は本発明の「振幅算出手段」の一例である。S31の処理を行うCPU301は本発明の「振幅記憶手段」の一例である。
【符号の説明】
【0100】
1 :認証システム
3 :データ作成装置
5 :認証装置
6 :指紋画像
7 :円
7A :中心点
31 :指紋センサー
51 :指紋センサー
60 :指紋画像
301 :CPU
501 :CPU
504 :フラッシュメモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15