情報処理装置、方法、プログラムおよびプログラムを記録したコンピュータ読取り可能な記録媒体
【課題】セキュリティ維持を図り利便性を損なわずに応用処理部の起動を制御する。
【解決手段】照合対象外画像要素判定部1047は、画像において照合の対象から外すべき要素を検出する。検出された要素が除外された画像を用いて照合処理が行われる。部分画像特徴値計算部1045は、画像内の複数の部分画像のそれぞれに対応して、当該部分画像の模様に応じた特徴値を算出する。照合対象外画像要素判定部1047は、算出された所定の特徴値を有する部分画像の組合わせにより示される領域を、照合対象外となるべき要素として検出する。検出した対象外要素の画像全体に占める割合と、照合結果とに基づきアプリケーションの起動が許可/禁止される。
【解決手段】照合対象外画像要素判定部1047は、画像において照合の対象から外すべき要素を検出する。検出された要素が除外された画像を用いて照合処理が行われる。部分画像特徴値計算部1045は、画像内の複数の部分画像のそれぞれに対応して、当該部分画像の模様に応じた特徴値を算出する。照合対象外画像要素判定部1047は、算出された所定の特徴値を有する部分画像の組合わせにより示される領域を、照合対象外となるべき要素として検出する。検出した対象外要素の画像全体に占める割合と、照合結果とに基づきアプリケーションの起動が許可/禁止される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、方法、プログラムおよびプログラムを記録したコンピュータ読取り可能な記録媒体に関し、特に、画像を照合する機能を有する情報処理装置、方法、プログラムおよびプログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【0002】
従来、個人を一意に特定する指紋画像情報などのバイオメトリクスデータを入力して、入力したバイオメトリクスデータに基づき個人認証処理を実行する装置が提供されている。個人認証処理においては入力するバイオメトリクスデータの高品質であることが要求される。品質が低い場合、特許文献1によると、指紋画像に代わるデータ、たとえば、パスワードを用いた認証処理が実行される。特許文献1では、指紋を用いた個人の認証(以下、指紋認証という)が良好に行なえない場合には、指紋に代替されるパスワードを用いた認証が、指紋認証に追加して行なわれる。そして、これらの認証結果に基づきセキュリティが要求される所定の処理(コンピュータシステムへのログインなど)が実行される。
【特許文献1】特開2001−167053号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1では、指紋認証が良好に行なえない場合には、指紋に代替されるデータを用いた認証処理を追加して行なうことにより対応している。そのため、代替データを用いた認証のためのハードウエア資源の追加が必要とされる。また、追加の認証処理を行なうことによる認証処理速度の高速化が妨げられる。また、ユーザには指紋に追加して代替データの入力も要求されて利便性に優れない。
【0004】
それゆえに、この発明の目的は、起動に際してセキュリティ(防犯、保安など)が要求される応用処理部を、個人を特定する画像を用いた処理の結果に基づき実行する場合に、セキュリティを維持しながらユーザの利便性を損なうことなく、応用処理部の起動の許可/禁止を制御する情報処理装置、方法、プログラムおよびプログラムを記録したコンピュータ読取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【0005】
この発明のある局面に従う、個人を特定するための画像の照合結果に基づき処理を行なう情報処理装置は、入力する前記画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出部と、特徴値検出部により出力された特徴値に基づき、入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出部と、対象外検出部により検出された部分画像が除外された入力画像を用いて照合処理を行う照合処理部と、対象外検出部により対象から外すべきと検出された部分画像の、入力画像の全体に占める領域の割合を算出する割合算出部と、を備え、指定される応用処理部の起動の許可または禁止は、照合処理部による照合処理の結果および割合算出部により算出された割合に従い制御される。
【0006】
好ましくは、応用処理部には、当該応用処理部を起動するに際して要求されるセキュリティ度が予め割当てされて、応用処理部の起動の許可または禁止は、照合処理部による照合処理の結果、および、割合算出部により算出された割合と割当てされたセキュリティ度との比較結果に従い制御される。
【0007】
好ましくは、照合処理では、対象外検出部により検出された部分画像が除外された入力画像と、予め準備された参照画像とが照合されて、照合処理の結果が、入力画像と参照画像との不一致を指す場合において、応用処理部の起動の許可または禁止は、割合算出部により算出された割合に従い制御される。
【0008】
好ましくは、対象外検出部は、特徴値検出部により出力された所定の特徴値を有する部分画像の組合わせを検出する。
【0009】
好ましくは、画像は指紋の模様を示し、特徴値検出部が出力する特徴値は、部分画像の模様が指紋の垂直方向に従っていることを示す値、指紋の水平方向に従っていることを示す値、およびその他であることを示す値に分類される。
【0010】
好ましくは、画像は指紋の模様を示し、特徴値検出部が出力する特徴値は、部分画像の模様が指紋の右斜め方向に従っていることを示す値、指紋の左斜め方向に従っていることを示す値、およびその他であることを示す値に分類される。
【0011】
好ましくは、所定の特徴値は、その他の値を示す。
好ましくは、組合せは、入力画像において所定方向に隣接して位置するその他の値を示す複数の部分画像からなる。
【0012】
好ましくは、照合処理部は、照合の対象となるべき予め準備された参照画像内の複数部分領域のそれぞれについて、当該部分領域と最大の一致度となる領域の位置を、入力画像内の対象外検出部により検出された部分画像の領域を除いた部分領域において探索する位置探索部と、複数部分領域のそれぞれの、参照画像内での該部分領域の位置を測るための基準位置と位置探索部により探索された該部分領域に対応の最大一致位置との位置関係を示す位置関係量のうち、該位置関係量が所定量に該当する部分領域に関する情報に基づき入力画像と参照画像の類似度を計算して画像類似度として出力する類似度計算部と、与えられる画像類似度に基づいて入力画像と参照画像が一致するか否かを判定する判定部とを含む。
【0013】
好ましくは、類似度計算部は、複数部分領域のうち、位置探索部により探索された対応の最大一致位置の前記基準位置からの方向と距離とが所定量に該当する部分領域の個数を計算して画像類似度として出力する。
【0014】
好ましくは、位置関係量は、基準位置に対する最大一致位置の方向と距離とを指す。
好ましくは、画像を入力する画像入力部をさらに備え、画像入力部は、指が載置され、載置された指から指紋の画像を読取るために読取り面を有する。
【0015】
この発明の他の局面に従う、コンピュータを用いて、個人を特定するための画像の照合結果に基づき処理を行なう情報処理方法は、入力する画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出ステップと、特徴値検出ステップにより出力された特徴値に基づき、入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出ステップと、対象外検出ステップにより検出された部分画像が除外された入力画像を用いて照合処理を行う照合処理ステップと、対象外検出ステップにより対象から外すべきと検出された部分画像の、入力画像の全体に占める領域の割合を算出する割合算出ステップと、を備え、指定される応用処理部の起動の許可または禁止は、照合処理ステップによる照合処理の結果および割合算出ステップにより算出された割合に従い制御される。
【0016】
この発明のさらに他の局面に従うと、上述の情報処理方法をコンピュータに実行させるための情報処理プログラムが提供される。
【0017】
この発明のさらに他の局面に従うと、上述の情報処理方法をコンピュータに実行させるための情報処理プログラムを記録したコンピュータ読取り可能な記録媒体が提供される。
【発明の効果】
【0018】
発明によれば、指定される応用処理部の起動の許可または禁止は、照合処理部による照合処理の結果および割合算出部により算出された割合に従い制御される。つまり、照合処理の結果と、照合された画像における照合対象から除外された部分画像の領域の全体画像に占める割合、すなわち照合結果の精度を指す情報とに従い応用処理部の起動の許可/禁止が制御される。それゆえに、当該割合が高くて照合結果の精度を保証するのが困難な場合であっても、使用者に対してパスワードなどの別の個人情報の入力を要求することなく、また、再度の画像入力と照合処理の繰返しを要求することなく、当該割合(照合結果の精度)を考慮して起動を許可/禁止することができる。
【0019】
また、入力画像について汚れ等に起因して良好な画像が取得できない場合であっても、応用処理部についての起動を許可するためのセキュリティ度と、汚れなどに起因した照合対象外部分画像が占める割合との比較結果に従い、当該応用処理部の起動の許可/禁止が制御される。したがって、情報処理装置に搭載された指定の応用処理部に応じたセキュリティレベルを考慮した上で当該応用処理部の起動の許可/禁止を制御することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の各実施の形態について図面を参照しながら説明する。ここでは対象の画像は指紋の模様を指すとしているが、これに限定されず、たとえば、網膜パターン、静脈パターンなど、個人を特定する個人に特有のパターン画像であればよい。
【0021】
(実施の形態1)
図1は実施の形態1に係る認証機能搭載処理装置1のブロック図である。図2は各実施の形態に係る認証機能搭載処理装置が搭載されるコンピュータ(情報処理装置)の構成図である。図2を参照してコンピュータは、画像入力部101、CRT(陰極線管)や液晶などからなるディスプレイ610、該コンピュータ自体を集中的に管理し制御するためのCPU(中央処理装置の略)622、ROM(Read Only Memory)またはRAM(ランダムアクセスメモリの略)を含んで構成されるメモリ624、固定ディスク626、FD(Flexible Disk)632が着脱自在に装着されて、装着されたFD632をアクセスするFD駆動装置630、CD−ROM(Compact Disc Read Only Memory)642が着脱自在に装着されて、装着されたCD−ROM642をアクセスするCD−ROM駆動装置640、通信ネットワーク300と該コンピュータとを通信接続するための通信インターフェース680、プリンタ690ならびにキーボード650およびマウス660を有する入力部700を含む。これらの各部はバスを介して通信接続される。
【0022】
コンピュータには、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられてもよい。
【0023】
図1を参照して認証機能搭載処理装置1は、画像入力部101、図2のメモリ624または固定ディスク626に対応のメモリ102、バス103、および処理部11を備える。
【0024】
画像入力部101は指紋センサ100を含む。画像入力部101は、指紋センサ100により読取られた指紋の画像データを出力する。指紋センサ100には光学式、圧力式、静電容量方式などのいずれを適用してもよい。各部間の制御信号やデータ信号はバス103を介して転送される。
【0025】
指紋センサ100の概略構成が図3に示される。図3では、指紋センサ100の構成が、静電容量型のセンサであると想定した場合が例示される。図示されるように指紋センサ100はセンサ回路203、指紋読取り面201および複数の電極202を備える。図示されるように照合対象の指紋を有する使用者の指301が指紋センサ100の指紋読取り面201の上に載置さかれた場合、各センサ電極202と指301の間にコンデンサ302が形成される。このとき、指301の読取り面201上に置かれた指紋の凸凹により、指301と各センサ電極202との間の距離は異なるため、形成される各コンデンサ302の容量は異なる。センサ回路203は、各コンデンサ302の容量の違いを電極202の出力電圧レベルに基づき検知し、その違いを示す電圧信号に変換して増幅して出力する。このように、センサ回路203から出力される電圧信号は、指紋読取り面201上に置かれた指紋の凸凹の状態を示す画像に対応の信号を指す。図示されるように指紋読取り面201は、外部に露出しているので埃、皮脂などの汚れが付着しやすいので、読取られる画像には、付着した汚れに起因したノイズ成分が含まれやすい。
【0026】
図1を参照して、メモリ102には画像データや各種の計算結果などが格納される。メモリ102は参照画像用メモリ1021、計算用メモリ1022、取込画像用メモリ1023、参照用部分画像特徴値メモリ(以下、参照画像特徴値メモリという)1024、取込画像用部分画像特徴値メモリ(以下、取込画像特徴値メモリという)1025、および後述するセキュリティランクテーブル1026が格納される。
【0027】
参照画像用メモリ1021には、取込画像用メモリ1023に格納された指紋画像データと照合されるべき画像データに対応のテンプレート用指紋画像の複数の部分領域の画像データが格納される。計算用メモリ1022には各種の計算結果のデータが格納される。取込画像用メモリ1023には画像入力部101から出力された指紋画像データが格納される。参照画像特徴値メモリ1024ならびに取込画像特徴値メモリ1025には後述の部分画像特徴値計算部1045による計算結果のデータが格納される。
【0028】
セキュリティランクテーブル1026には、図4に示すように、図2のコンピュータにおいて実行される応用処理を指す各種のアプリケーションプログラムの名称のリスト1029のそれぞれに対応して、セキュリティ度データ1027および上限データ1028が格納される。セキュリティ度データ1027は、対応のリスト1029の名称で示されるアプリケーションプログラムを実行する際に要求されるセキュリティの度合いを、たとえば高度・中度・程度で指す。上限データ1028は、照合対象画像に占める後述の照合対象外画像要素の割合を示しており、対応のリスト1029で示されるアプリケーションプログラムを実行する際に要求される割合の上限値(最大値)を指す。
【0029】
図示されるように、データ1027が指すセキュリティ度が高くなるほど、対応の上限データ1028が指す割合の上限値は小さくなり、セキュリティ度が低くなるほど上限値は大きくなる。したがって、上限データ1028が指す割合によっても、要求されるセキュリティ度を指すことができる。
【0030】
図4に示すアプリケーションプログラムと、それに割当てされるセキュリティ度は一例であり、これに限定されない。また、入力部700を操作してセキュリティランクテーブル1026を書換え可能としてもよい。その場合には、ユーザは、独自に開発したアプリケーションプログラムの名称をセキュリティランクテーブル1026に登録して、対応するセキュリティ度データ1027および上限データ1028の値をユーザが好むように割当てることもできる。
【0031】
アプリケーションリスト1029には図2のコンピュータで実行する際にセキュリティが要求されるプログラムの名称が登録されるが、名称に限定されず、当該アプリケーションプログラムを特定できる識別子であればよい。また、アプリケーションリスト1029に登録されるアプリケーションプログラムは予めメモリ624または固定ディスク626に格納されていると想定する。CPU622はリスト1029に登録された識別子に基づきメモリ624または固定ディスク626を検索して対応するプログラムを読出して、当該プログラムの命令を実行する。これにより、コンピュータにより当該プログラムによる機能が実現される。
【0032】
処理部11は画像補正部104、部分画像特徴値計算部(以下、特徴値計算部という)1045、照合対象外画像要素判定部(以下、要素判定部という)1047、照合対象外画像要素割合計算部(以下、割合計算部という)1048、アプリケーション実行許可処理部(以下、実行許可部という)1049、最大一致位置探索部105、移動ベクトルに基づく類似度計算部(以下、類似度計算部という)106、照合判定部107およびCPU622に対応する制御部108を含む。制御部108は他の各部の動作を制御する。処理部11の各部は対応のプログラムが実行されることによりその機能が実現される。これらのプログラムは予めメモリ624または固定ディスク626に格納されており、CPU622により読出されて実行されることにより、対応の機能が実現される。
【0033】
画像補正部104は、指紋画像データについての濃淡を補正する。
特徴値計算部1045は与えられる指紋画像データを入力して、入力した指紋画像データが示す画像内に設定された複数の部分領域の画像のそれぞれについて、部分画像の模様に応じた値を計算する。制御部108は、当該指紋画像データが参照画像用メモリ1021から読出された場合には、算出された値を部分画像特徴値として、参照画像特徴値メモリ1024に格納し、当該指紋画像データが取込画像用メモリ1023から読出された場合には、算出され値を部分画像特徴値として、取込画像特徴値メモリ1025に格納する。
【0034】
要素判定部1047は、照合されるべき指紋画像から、照合対象から除外されるべき画像要素を判定(検出)する。具体的には、取込画像特徴値メモリ1025を検索して、指紋画像の各部分画像の特徴値を読出し、読出した特徴値の組合わせに基づき、照合対象から除外されるべき部分画像(以下、対象外要素という)を判定する。
【0035】
割合計算部1048は、対象外要素と判定された部分画像の、照合されるべき指紋画像の全体に占める領域の割合を算出する。言い換えると、指紋画像内に設定された部分画像の総数に対する要素判定部1047により対象外要素と判定された部分画像の個数が占める割合を算出する。
【0036】
実行許可部1049は、アプリケーションリスト1029を、予め入力部700を介してユーザが指定した(起動が所望されている)アプリケーションの識別子に基づき検索して、検索結果に基づき当該アプリケーションの識別子がアプリケーションリスト1029に登録されているか否かを判定する。登録されていると判定された場合には、割合計算部1048により計算された割合に基づき、当該指定アプリケーションプログラムの起動(実行)の許可、または禁止(起動を許可しない)を判定する。
【0037】
なお、ここでは、‘アプリケーションプログラムを起動する’とは、メモリに予め格納されたプログラムの命令がCPU622により読出されて読出された命令が実行されるとの動作が、開始されることを指す。‘アプリケーションプログラムの起動が許可されない’とは、アプリケーションプログラムに対してソフトウェア的にロック(lock)をかけることを指す。これにより、アプリケーションプログラムの起動は禁止される。
【0038】
最大一致位置探索部105は、要素判定部1047から出力された判定結果を入力し、入力した判定結果に基づき、指紋画像内に設定された複数の部分画像のうちから照合の対象とされるべき部分画像を限定(決定)する。そして、特徴値計算部1045により算出された当該指紋画像の複数の部分画像の特徴値に従い探索範囲を削減(限定)する。そして削減された範囲についてテンプレートマッチングを実行する。つまり、照合されるべき2つの指紋画像の一方の指紋画像の複数の部分画像それぞれをテンプレートとし、該テンプレートと他方の指紋画像内で最も一致度の高い部分画像の位置を探索して、探索した最大一致度位置を示すデータを出力する。出力された最大一致度位置のデータは計算用メモリ1022に格納される。
【0039】
類似度計算部106は計算用メモリ102から最大一致度位置のデータを読出し、読出したデータに従い、後述の移動ベクトルに基づく類似度を計算する。算出された類似度のデータは計算用メモリ1022に格納される。
【0040】
照合判定部107は計算用メモリ1022から類似度計算部106が算出した類似度のデータを読出し、読出したデータが示す類似度に基づき、照合されるべき2つの指紋画像が一致するか(同一の指紋から採取されたものか)、不一致であるか(異なる指紋から採取されたものか)を判定する。
【0041】
図1の認証機能搭載処理装置1において、2つの指紋画像を照合して、照合結果に基づきアプリケーションの実行の許可を制御する処理について図3のフローチャートに従い説明する。ここでは説明を簡単にするために、照合されるべき2つの指紋画像として、画像Aと画像Bを想定する。また、画像AおよびB、ならびに部分画像はいずれも矩形状の画像としているが形状はこれに限定されるものではない。
【0042】
また、指紋画像の入力時には、指紋センサ100の指紋を読取るための面201には、図3に示すように、面に接触するような態様で(指紋読取り可能な態様で)ユーザの指が予め置かれていると想定する。また、ユーザは図2のコンピュータにより実行(起動)を所望するアプリケーションの識別子を、入力部700を操作して予め入力していると想定する。
【0043】
また、予めユーザは自己の指紋の参照画像Aを参照用メモリ1021に登録(格納)する。具体的には、ユーザは入力部700を操作して参照画像登録の指示を入力すると、CPU622(制御部108)は画像入力部101へ画像入力開始を指示する信号を送り、その後、画像入力終了信号を受信するまで待機する。画像入力部101は指紋センサ100の指紋読取り面201に置かれた指の指紋を読取り(検出し)、読取った指紋画像を画像Aとして入力し、入力した画像Aのデータをバス103を介して参照用メモリ1021の所定のアドレスへ格納する。画像入力部101は、画像Aのデータをメモリ102に格納完了した後、制御部108に画像入力終了信号を送る。これにより、参照画像としての画像Aの登録は終了する。登録された画像Aはユーザを認証するための照合処理において照合される一方の画像として用いられる。
【0044】
なお、参照画像の登録時においては、指紋センサ100の指紋読取り面201には何ら汚れなどは付着しておらず、また指紋読取り面の全領域において指紋を読取ることができたと想定する。したがって、画像Aで示される指紋には汚れやキズなどはなく、鮮明な指紋を指すと想定する。
【0045】
参照画像Aの登録が既に完了した後に、ユーザが入力部700を操作して所望プログラムの実行開始の指示と当該所望プログラムの識別子としてプログラムの名称を入力すると、CPU622(制御部108)は図5の処理を開始する。指紋センサ100の指紋読取り面201にはユーザの指が指紋読取り可能なように載置されていると想定する。なお、載置される指は参照画像の登録時の指と同じである。
【0046】
図5の処理を開始すると、まず、制御部108は、画像入力部101へ画像入力開始を指示する信号を送り、その後、画像入力終了信号を受信するまで待機する。
【0047】
画像入力部101は指紋センサ100の指紋読取り面201に置かれた指の指紋を読取り(検出し)、読取った指紋画像を画像Bとして入力し、入力した画像Bのデータをバス103を介してメモリ102の所定アドレスへ格納する(ステップT1)。本実施の形態においては、画像Bのデータは取込画像用メモリ1023の所定のアドレスへ格納されるとする。画像入力部101は、画像Bのデータをメモリ102に格納完了した後、制御部108に画像入力終了信号を送る。
【0048】
制御部108は画像入力終了信号を受信すると、画像補正部104に画像補正開始の指示信号を送り、その後、画像補正終了信号を受信するまで待機する。一般に、画像入力部101および指紋センサ100の特性、または指の皮膚の乾燥度合い(皮脂の量)、または読取り面に指を押付ける圧力の程度に従い、入力画像の画素の濃淡値、または画像全体の濃度分布は変化するために、入力画像の画質は一様ではない。
【0049】
画像補正部104は、画像補正開始の指示信号を入力すると画像入力時の条件に起因する画質の変動が抑制されるように、入力画像の画質を補正する(ステップT2)。具体的には、メモリ102の参照画像用メモリ1021と取込画像用メモリ1023に格納された画像AとBのデータを読出して、読出した画像データのそれぞれに対して、当該画像データに対応の画像の全体または画像を分割した小領域の部分画像ごとに、ヒストグラムの平坦化(「コンピュータ画像処理入門」総研出版P98参照)または画像の二値化処理(「コンピュータ画像処理入門」総研出版P66−69参照)を行なう。そして処理後の画像データを参照画像用メモリ1021と取込画像用メモリ1023に格納する。したがって、この時点では参照画像用メモリ1021と取込画像用メモリ1023には、補正前と補正後の両方の参照画像Aと取込画像Bが格納された状態となる。
【0050】
なお、ここでは取込画像Bが入力される毎に参照画像Aについて画像補正処理を繰返すようにして補正後の参照画像を生成するようにしているが次のようにしてもよい。つまり、参照画像Aを入力して参照画像用メモリ1021に格納するとともに、画像補正部104により参照画像Aを補正して、補正後の参照画像のデータも参照画像用メモリ1021に格納するようにしてもよい。このようにした場合には、取込画像Bが入力される毎に参照画像Aについて画像補正処理を繰返す動作を省略できる。
【0051】
画像補正部104は画像Aと画像Bに対する画像補正処理の終了後、制御部108に画像補正処理終了信号を送る。
【0052】
以降で、画像補正部104により画像補正処理が施された画像AとBに対して、特徴値計算部1045により部分画像の特徴値が算出される(ステップT2a)。
【0053】
(部分画像特徴値の算出)
次に、ステップT2aにおける部分画像の特徴値の算出手順について説明する。
【0054】
<3種類の特徴値>
まず、3種類の特徴値を採る場合について説明する。図6は、照合対象の画像Aと画像Bそれぞれについて、その部分画像に対し、水平・垂直方向の画素数の最大値などを記載した図である。ここでは、画像AとBおよび部分画像は、直交するX軸およびY軸で規定される2次元座標空間に対応の矩形状の平面画像と想定する。図6での部分画像は、X軸に従う水平方向およびY軸に従う垂直方向ともに画素数16である16画素×16画素で構成されている。
【0055】
本実施の形態1による部分画像特徴値計算は計算対象部分画像につきその模様に応じた値を部分画像特徴値として算出する。つまり、水平方向の最大連続黒画素数maxhlenと垂直方向の最大連続黒画素数maxvlenとを検出し、検出した水平方向の最大連続黒画素数maxhlen(模様が水平方向に従う模様である傾向(たとえば横縞である傾向)の大きさを示す値)と垂直方向の最大連続黒画素数maxvlen(模様が垂直方向に従う模様である傾向(たとえば縦縞である傾向)の大きさを示す値)とを比較し、比較結果、相対的に大きい方向が水平方向と判定された場合には、水平(横縞)を意味する値“H”を、垂直方向と判定された場合には、垂直(縦縞)を意味する値“V”を、その他と判定された場合には“X”を出力する。
【0056】
図6を参照して、最大連続黒画素数maxhlenは、水平方向に従うn=0〜15の16個の各行について検出された連続する黒(図中の斜線)画素数のうちの、最大の黒画素数を指す。行について検出された連続する黒画素数とは、当該行が有する黒画素が1つ以上連続する部分のうちから検出した連続する最大の黒画素数を指す。また、最大連続黒画素数maxvlenは、垂直方向に従うm=0〜15の16個の各列について検出された連続する黒(図中の斜線)画素数のうちの、最大の黒画素数を指す。列について検出された連続する黒画素数とは、当該列が有する黒画素が1つ以上連続する部分のうちから検出した連続する最大の黒画素数を指す。
【0057】
但し、上記で“H”あるいは“V”と判定された場合でも、最大連続黒画素数maxhlenおよびmaxvlenのそれぞれが、あらかじめ各方向に対して設定している下限値hlen0およびvlen0の値以上を指していないと判定される場合には、“X”を出力する。これら条件を式として表現すると、maxhlen>maxvlenかつmaxhlen≧hlen0ならば“H”を出力し、maxvlen>maxhlenかつmaxvlen≧vlen0ならば“V”を出力し、その他ならば“X”を出力するとなる。
【0058】
図7には、本発明の実施の形態1による部分画像特徴値計算処理のフローチャートが示される。このフローチャートは計算対象となる参照用メモリ1021の参照画像のN個の部分領域の画像である部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて参照用部分画像特徴値計算結果メモリ1024に格納される。同様に取込み画像用メモリ1024の取込画像Bのn個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて取込画像用部分画像特徴値計算結果メモリ1025に格納される。
【0059】
まず、制御部108は、特徴値計算部1045に部分画像特徴値計算開始信号を送り、その後、部分画像特徴値計算終了信号を受信するまで待機する。特徴値計算部1045は、計算対象画像の部分画像Riを参照用メモリ1021ないしは取込画像用メモリ1023から読出し、計算用メモリ1022に一旦格納する(ステップS1)。特徴値計算部1045は格納された部分画像Riを読出し、水平方向の最大連続黒画素数maxhlenと垂直方向の最大連続黒画素数maxvlenとを求める(ステップS2)。ここで、水平方向の最大連続黒画素数maxhlenと垂直方向の最大連続黒画素数maxvlenとを求める処理を、図8と図9に基づいて説明する。
【0060】
図8は、本発明の実施の形態1による部分画像特徴値計算処理(ステップT2a)内の水平方向の最大連続黒画素数maxhlenを求める処理(ステップS2)のフローチャートである。特徴値計算部1045は、計算用メモリ1022から部分画像Riを読出すとともに、水平方向の最大連続黒画素数maxhlenと垂直方向の画素カウンタjとを初期化、即ち、maxhlen=0、j=0とする(ステップSH001)。
【0061】
次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数を指す変数nの値とを比較し(ステップSH002)、j≧nならば、次にステップSH016を実行し、その他ならば、次にステップSH003を実行する。本実施の形態1ではn=16であり、かつ、処理開始時には、j=0であるため、ステップSH003に進む。
【0062】
ステップSH003では、水平方向の画素カウンタi、前の画素値c、現在の画素連続数len、現在の行での最大黒画素連続数maxの初期化、即ち、i=0、c=0、len=0、max=0とする(ステップSH003)。次に、水平方向の画素カウンタiと水平方向の最大画素数mとを比較(ステップSH004)し、i≧mならば次にステップSH011を実行し、その他ならば次にステップSH005を実行する。本実施の形態1ではm=16であり、かつ、処理開始時にはi=0であるため、ステップSH005に進む。
【0063】
ステップSH005では、前の画素値cと現在比較対象となっている座標(i,j)の画素値pixel(i,j)とを比較し、c=pixel(i,j)ならばステップSH006を実行し、その他ならばステップSH007を実行する。本実施の形態1では、cは初期化されていて0(白画素)、pixel(0,0)は、図6を参照して、0(白画素)であるため、c=pixel(i,j)が成立すると判定されて(ステップSH005でY)、処理はステップSH006へ進む。
【0064】
ステップSH006では、len=len+1を実行する。本実施の形態1では、初期化によりlen=0となっているので、1を付加されて、len=1となる。次に、ステップSH010へ進む。
【0065】
ステップSH010では、i=i+1、即ち、水平方向の画素カウンタiの値を1増加させる。ここでは、初期化によりi=0となっており、1を付加されて、i=1となる。次にステップSH004に戻る。以降、0行目の画素値、即ち、pixel(i,0)は、図6を参照して、すべて白画素で0であるため、i=15となるまで、ステップSH004〜SH010を繰返すこととなり、ステップSH010処理後にi=16となった時点での各々の値は、i=16, c=0, len=15となっている。この状態で次にステップSH004に進む。m=16、i=16であるので、さらにステップSH011に進む。
【0066】
ステップSH011では、c=1かつmax<lenならばステップSH012を実行し、その他ならばステップSH013を実行する。現時点では、c=0,len=15,max=0であるので、次に、ステップSH013に進む。
【0067】
ステップSH013では、これまでの行での水平方向の最大連続黒画素数maxhlenと現在の行での最大連続黒画素数maxとを比較し、maxhlen<maxならばステップSH014を実行し、その他ならばステップSH015を実行する。現時点では、maxhlen=0,max=0であるので、次に、ステップSH015に進む。
【0068】
ステップSH015では、j=j+1、即ち、垂直方向の画素カウンタjの値を1増加させる。現時点では、j=0であるので、j=1となり、SH002に戻ることになる。
【0069】
以降、j=1〜15について同様にステップSH002〜SH015の処理を繰返し、ステップSH015処理後、j=16となった時点で、次にステップSH002で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nの値とを比較する。比較結果、j≧nならば次にステップSH016を実行し、その他ならば次にステップSH003を実行すると、現時点では、j=16、n=16であるので、次に、ステップSH016に進む。
【0070】
ステップSH016では、maxhlenを出力することになるが、上述の説明、および、図6を参照して、maxhlenには、水平方向の最大連続黒画素数である、y=2行目のmax値の15が格納されていることが分かり、maxhlen=15が出力される。
【0071】
次に、図9の、本発明の実施の形態1による部分画像特徴値計算処理(ステップT2a)内の垂直方向の最大連続黒画素数maxvlenを求める処理(ステップS2)のフローチャートについて説明するが、図9のステップSV001〜SV016の処理は、上記に説明した図8のフローチャートと基本的に同じ処理を行なうことが明らかであるから、図8の説明から処理内容は容易に理解できる。したがって、図9の詳細な説明は省略する。図9のフローチャートに従う処理が実行される結果、出力される垂直方向の最大連続黒画素数maxvlenは、図6に示されるように、x方向に対するmax値である4を示す。
【0072】
上述の手順で出力されたmaxhlenとmaxvlenとを参照した以降の処理を図7のステップS3以降に戻って説明する。
【0073】
ステップS3では、maxhlenとmaxvlen、および、所定の最大連続黒画素数下限値hlen0とを比較し、maxhlen>maxvlenかつmaxhlen≧hlen0の条件が成立すると判定されるならば(ステップS3でY)、次にステップS7を実行し、成立しないと判定されるならば(ステップS3でN)、次にステップS4を実行する。現時点では、maxhlen=14、maxvlen=4と想定し、さらに下限値hlen0が2と想定すれば、当該条件は成立するので処理はステップS7に進む。ステップS7では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元画像に対する部分画像Riの特徴値格納領域に“H”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0074】
仮に、下限値hlen0を15と想定すれば、ステップS3の条件は成立しないと判定されるので、処理は次にステップS4に進む。ステップS4では、maxvlen>maxhlenかつmaxvlen≧vlen0の条件が成立するか否かが判定される。成立すると判定されるならば(ステップS4でY)、次にステップS5の処理が実行されて、成立しないと判定されるならば次にステップS6の処理を実行する。
【0075】
この場合、maxhlen=15、maxvlen=4、およびvlen0=5と想定すれば、当該条件は成立しないので次にステップS6に進む。ステップS6では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元画像に対する部分画像Riの特徴値格納領域に“X”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0076】
仮にステップS2の出力値がmaxhlen=4およびmaxvlen=10であり、hlen0=2およびvlen0=12であると想定すると、ステップS3の条件は成立せず、さらには、ステップS4の条件も成立しないので、ステップS5の処理が実行される。ステップS5では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元画像に対する部分画像Riの特徴値格納領域に“V”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0077】
以上のように本実施の形態1による特徴値計算部1045は、計算対象画像の部分画像Ri(図6参照)について、水平方向および垂直方向を各画素列を抽出(特定)して、抽出された画素列それぞれにおける黒画素の個数に基づいて、該部分画像の模様が水平方向に従う模様である傾向(たとえば横縞である傾向)、または垂直方向に従う模様である傾向(たとえば縦縞である傾向)またはそのどちらでもないことを判別して、その判別結果に応じた値(“H”、“V”および“X”のいずれか)を出力する。この出力値が該部分画像Riの特徴値を示す。ここでは連続黒画素の個数に基づき特徴値を求めているが、連続白画素の個数に基づいても同様にして特徴値を求めることができる。
【0078】
<3種類の特徴値の他の例>
次に、3種類の部分画像特徴値の他の例を説明する。そのための部分画像特徴値計算の概略を図10(A)〜(F)に従って説明する。図10(A)〜(F)は、画像の部分画像Riに対し、黒画素(図中の斜線部)と白画素(図中の白地部)の総数などを記載して示す図である。これらの図での部分画像Riは、水平方向、垂直方向ともに画素数16である16画素×16画素の部分領域で構成されている。図10(A)〜(F)では、各部分画像は直交するi軸とj軸で規定される2次元座標空間に対応する平面画像を指す。
【0079】
ここでは、図10(A)の計算対象部分画像Riにつき、図10(B)のように計算対象部分画像を左右に1画素ずつずらして重ねたときの黒画素数の増加量hcntと、図10(C)のように計算対象部分画像を上下に1画素ずつずらして重ねたときの黒画素数の増加量vcntとを求め、求めた増加量hcntと増加量vcntとを比較し、増加量hcntが増加量vcntの2倍より大きければ、水平を意味する値“H”を、増加量hcntが増加量vcntの2倍よりも大きければ、垂直を意味する値“V”を出力する。図10(D)〜(F)には他の例が同様に示されている。
【0080】
ここでは、図10(A)〜(C)に示す‘画像を左右に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i+1,j)となるように元の画像をi軸に平行に+1画素移動させた画像と、全ての画素について座標(i,j)を(i-1,j)となるように元の画像をi軸に平行に-1画素移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0081】
ここでは、図10(D)〜(F)に示す‘画像を上下に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i,j+1)となるように元の画像をj軸に平行に+1画素移動させた画像と、全ての画素について座標(i,j)を(i,j-1)となるように元の画像をj軸に平行に-1画素移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0082】
これらの場合において、ある画素において黒画素どうしが重なると、当該ある画素は黒画素となり、また、白画素と黒画素どうしが重なると当該ある画素は黒画素となり、また、ある画素において白画素どうしが重なると、当該ある画素は白画素となる。
【0083】
次に、この部分画像特徴値計算処理の詳細を図11(A)のフローチャートに従って説明する。このフローチャートは計算対象となる参照用メモリ1021の参照画像AのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて参照用部分画像特徴値計算結果メモリ1024に格納される。同様に取込画像用メモリ1024の取込画像BのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて取込画像用部分画像特徴値計算結果メモリ1025に格納される。
【0084】
まず、制御部108は、特徴値計算部1045に部分画像特徴値計算開始信号を送り、その後、部分画像特徴値計算終了信号を受信するまで待機する。
【0085】
特徴値計算部1045は、計算対象画像の部分画像Ri(図10(A)参照)を参照用メモリ1021ないしは取込画像用メモリ1023から読出し、計算用メモリ1022に一旦格納する(ステップST1)。部分画像特徴値計算部1045は格納された部分画像Riを読出し、図10(B)のように左右にずらしたときの増加量hcntと図10(C)のように上下にずらしたときの増加量vcntとを求める(ステップST2)。
【0086】
増加量hcntと増加量vcntとを求める処理を、図12と図13に基づき説明する。図12は増加量hcntを求める処理(ステップST2)のフローチャートである。図13は増加量vcntを求める処理(ステップST2)のフローチャートである。
【0087】
図12を参照して、特徴値計算部1045は、計算用メモリ1022から部分画像Riを読出すとともに、垂直方向の画素カウンタjを初期化、すなわち、j=0とする(ステップSHT01)。次に、垂直方向の画素カウンタjと垂直方向の最大画素数nとを比較(ステップSHT02)し、j>nならば次にステップSHT10を実行、その他ならば次にステップSHT03を実行する。ここではn=16であり、かつ、処理開始時には、j=0であるためステップSHT03に進む。
【0088】
ステップSHT03では、水平方向の画素カウンタiの初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較(ステップSHT04)し、i>mならば次にステップSHT05を実行し、その他ならば次にステップSHT06を実行する。ここでは、m=16であり、かつ、処理開始時には、i=0であるため、ステップSHT06に進む。
【0089】
ステップSHT06では、部分画像Riを読出して現在比較対象となっている座標(i、j)の画素値pixel(i、j)が1(黒画素)であるか、あるいは、座標(i、j)よりも水平方向に一つ左の座標(i-1、j)の画素値pixel(i-1、j)が1であるか、あるいは、座標(i、j)よりも水平方向に一つ右の座標(i+1、j)の画素値pixel(i+1、j)が1であるかを判別する。pixel(i、j)=1あるいはpixel(i-1、j)=1あるいはpixel(i+1、j)=1ならば、次にステップSHT08を実行し、その他ならば次にステップSHT07を実行する。
【0090】
ここで、部分画像Riの上下左右の1画素分の範囲、すなわち、Ri(-1〜m+1、-1)、Ri(-1、-1〜n+1)、Ri(m+1、-1〜n+1)、Ri(-1〜m+1、n+1)の範囲の画素値は、図11(B)に示すように0(白画素)とする。ここでは、図10(A)を参照して、pixel(0、0)=0、pixel(-1、0)=0、pixel(1、0)=0であるため、ステップSHT07へ進む。
【0091】
ステップSHT07では、計算用メモリ1022に格納する左右に1画素ずつずらして重ねた画像WHiの座標(i、j)の画素値work(i、j)(図11(C)参照)に0を格納する。すなわち、work(0、0)=0とする。次に、ステップSHT09に進む。
【0092】
ステップSHT09では、i=i+1、すなわち、水平方向の画素カウンタiを1増加させる。ここでは、初期化によりi=0となっており、1を付加されてi=1となる。次にステップSHT04に戻る。以降、0行目の画素値、すなわち、pixel(i、0)は、図10(A)を参照して、すべて白画素で0であるため、i=15となるまで、ステップSHT04〜SHT09を繰返すこととなり、ステップSHT09処理後にi=16となる。この状態でSHT04に進む。m=16、i=16であるのでステップSHT05に進む。
【0093】
ステップSHT05では、j=j+1、すなわち、垂直方向の画素カウンタjを1増加させる
。現時点では、j=0であるので、j=1となり、SHT02に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSHT03、ステップSHT04と進む。以降、pixel(i+1、j)=1となる1行目の14列目の画素、すなわち、i=14、j=1になるまでステップSHT04〜SHT09を繰返すこととなる。ステップSHT09処理後にi=14となる。m=16、i=14であるのでSHT06に進む。
【0094】
ステップSHT06では、pixel(i+1、j)=1、すなわち、pixel(14+1、1)=1であるので、ステップSHT08に進む。
【0095】
ステップSHT08では、計算用メモリ1022に格納する左右に1画素ずつずらして重ねた画像WHi(図10(B)参照)の座標(i、j)の画素値work(i、j)に1を格納するすなわち、work(14、1)=1とする。
【0096】
ステップSHT09に進み、i=16となって、ステップSHT04へ進んだ場合、m=16、i=16であるので、ステップSHT05に進み、j=2となって、ステップSHT02へ進む。以降、j=2〜15について同様にステップSHT02〜SHT09の処理を繰返し、ステップSHT09の処理後、j=16となった時点で、次にステップSHT02で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、j≧nならば次にステップSHT10を実行、その他ならば次にステップSHT03を実行する。現時点ではj=16、n=16であるので、次にステップSHT10に進む。この時点で計算用メモリ1022には、現在比較対照を行っている部分画像Riを元に、図10(B)に示すような左右に1画素ずつずらして重ねた画像WHiが格納されている。
【0097】
ステップSHT10では、計算用メモリ1022に格納した左右に1画素ずつずらして重ねた画像WHiの画素値work(i、j)と現在比較対照を行っている部分画像Riの画素値pixel(i、j)の差分cntを計算する。このworkとpixelの差分cntを計算する処理を図14に基づいて説明する。
【0098】
図14は、現在比較対照を行っている部分画像Riの画素値pixel (i、j)と、部分画像Riを左右、あるいは上下に1画素づつずらして重ねた画像WHiの画素値work(i、j)との差分cntを計算するフローチャートである。特徴値計算部1045は、計算用メモリ1022から部分画像Riと1画素づつずらして重ねた画像WHiを読出すとともに、差分カウンタcntと垂直方向の画素カウンタjとを初期化、すなわちcnt=0、j=0とする(ステップSC001)。次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し(ステップSC002)、j≧nならば次に図12のフローチャートに戻り、ステップSHT11でhcntにcntを代入し、その他ならば次にステップSC003を実行する。
【0099】
ここでは、n=16であり、かつ、処理開始時には、j=0であるためステップSC003に進む。ステップSC003では、水平方向の画素カウンタiの初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較し(ステップSC004)、i≧mならば次にステップSC005を実行し、その他ならば次にステップSC006を実行する。ここではm=16であり、かつ、処理開始時には、i=0であるため、ステップSC006に進む。
【0100】
ステップSC006では、現在比較対象となっている座標(i、j)の部分画像Riの画素値pixel(i、j)が0(白画素)であり、かつ、1画素づつずらして重ねた画像WHiの画素値work(i、j)が1(黒画素)であるかを判別し、pixel(i、j)=0かつwork(i、j)=1ならば次にステップSC007を実行し、その他ならば次にステップSC008を実行する。ここでは、図10(A)と図10(B)を参照して、pixel(0、0)=0、work(0、0)=0であるため、ステップSC008へ進む。
【0101】
ステップSC008では、i=i+1、すなわち、水平方向の画素カウンタiを1増加させる。ここでは、初期化によりi=0となっており、1を加えてi=1となる。次にステップSC004に戻る。以降、0行目の画素値、すなわちpixel(i、0)とwork(i、0)は、図10(A)と図10(B)を参照して、すべて白画素で0であるため、i=15となるまで、ステップSC004〜SC008を繰返すこととなり、ステップSC008処理後にi=16となった時点での各々の値は、cnt=0、i=16となっている。この状態でSC004に進む。m=16、i=16であるので、ステップSC005に進む。
【0102】
ステップSC005ではj=j+1、すなわち、垂直方向の画素カウンタjを1増加させる。現時点では、j=0であるので、j=1となり、SC002に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSC003、ステップSC004と進む。以降、pixel(i、j)=0、かつ、work(i、j)=1となる1行目の14列目の画素、すなわち、i=15、j=1になるまでステップSC004〜SC008を繰返すこととなり、ステップSC008処理後にi=15となる。m=16、i=15であるのでSC006に進む。
【0103】
ステップSC006では、pixel(i、j)=0かつwork(i、j)=1、すなわち、pixel(14、1)=0かつwork(14、1)=1であるので、ステップSC007に進む。
【0104】
ステップSC007では、cnt=cnt+1、すなわち差分カウンタcntの値を1増加させる。ここでは、初期化によりcnt=0となっており、1を加えてcnt=1となる。次に、ステップSC008に進み、i=16となってステップSC004へ進む。m=16、i=16であるので、ステップSC005に進み、j=2となってステップSC002へ進む。
【0105】
以降、j=2〜15について同様にステップSC002〜SC009の処理を繰返し、ステップSC008処理後、j=15となった時点で、次にステップSC002で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、j≧nならば次に図12のフローチャートに戻り、ステップSHT11を実行し、その他ならば次にステップSC003を実行する。現時点では、j=16、n=16であるので、図13のフローチャートを終了し、次に図12のフローチャートに戻り、ステップSHT11に進む。現時点では、差分カウンタcnt=21となっている。
【0106】
ステップSHT11では、hcnt=cnt、すなわち左右にずらしたときの増加量hcntに図13のフローチャートで計算した差分cntの値を代入する。次にステップSHT12に進む。ステップSHT12では、左右にずらしたときの増加量hcnt=21を出力する。
【0107】
次に、図11の特徴値計算処理(ステップT2a)内の上下にずらしたときの増加量vcntを求める処理(ステップST2)の図13のステップSVT01〜SVT12の処理は、上記に説明した図12と基本的に同じ処理を行なうことが明らかであり、詳細な説明は省略する。
【0108】
出力される上下にずらしたときの増加量vcntとして、図10(C)の上下に1画素づつずらして重ねた画像WViと図10(A)の部分画像Riとの差分である96が出力される。
【0109】
出力されたhcntとvcntとについて以降の処理を図11のステップST3以降に戻って説明する。
【0110】
ステップST3では、hcntとvcnt、および、上下方向の最大黒画素数増加量下限値vcnt0とを比較し、vcnt>2×hcntかつvcnt≧vcnt0の条件が成立するならば次にステップST7を実行し、成立しないならば次にステップST4を実行する。現時点では、vcnt=96、hcnt=21であり、vcnt0=4と想定すれば、処理は次にステップST7に進む。ステップST7では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“H”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0111】
仮に、ステップST2の出力値が、vcnt=30、hcnt=20であり、vcnt0=4と想定するならば、ステップST3の条件は成立しないので次にステップST4に進む。ステップST4では、hcnt>2×vcntかつhcnt≧hcnt0の条件が成立すると判定されるならば次にステップST5を実行し、成立しないと判定されるならば、次にステップST6を実行する。
【0112】
ここでは次にステップST6に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“X”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0113】
さらに、仮にステップST2の出力値が、vcnt=30、hcnt=70であり、hcnt0=4と想定するならば、ステップST3で、vcnt>2×hcntかつvcnt≧vcnt0が成立しないと判定されるので、次にステップST4を実行する。ステップST4では、hcnt>2×vcntかつhcnt≧hcnt0の条件が成立するか否かが判定される。成立すると判定されるならば次にステップST5を実行し、成立しないと判定されるならば次にステップST6を実行する。
【0114】
ここでは成立すると判定されるので、次にステップST5に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“V”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0115】
このようにして算出される部分画像特徴値計算は、参照画像A、あるいは、取込画像Bにノイズがある場合、例えば、指のしわ等によって指紋画像の一部が欠けているために、図10(D)に示すように部分画像Riの中央に垂直にしわが入っているような画像であっても、図10(E)と図10(F)に示すように、hcnt=29とvcnt=90となって、vcnt0=4と設定すれば、図11のステップST3で、vcnt>2×hcntかつvcnt≧vcnt0ならば次にステップST7を実行し、水平を意味する値“H”を出力する。このように部分画像特徴値計算は、画像に含まれるノイズ成分に対して計算精度を維持できるという特徴を持つ。
【0116】
上述のように特徴値計算部1045は、部分画像Riについて、左右に所定の画素づつずらして重ねた画像WHiと、上下に所定の画素づつずらして重ねた画像WViとを各々求め、さらに、その左右に1画素づつずらして重ねた画像WHiと部分画像Riとの差分である黒画素数の増加量hcntと、上下に1画素づつずらして重ねた画像WViと部分画像Riとの差分である黒画素数の増加量vcntとを各々求め、それら増加量に基づいて、該部分画像Riの模様が水平方向に従う模様である傾向(たとえば横縞である傾向)、または垂直方向に従う模様である傾向(たとえば縦縞である傾向)またはそのどちらでもないことを判別して、その判別結果に応じた値(“H”、“V”および“X”のいずれか)を出力する。この出力値が該部分画像Riの特徴値を示す。
【0117】
<3種類の特徴値の更なる他の例>
部分画像特徴値の3種類は、上述のものに限定されず、次のような別の3種類であってもよい。そのための部分画像特徴値計算の概略を図15(A)〜(F)に従って説明する。図15(A)〜(F)は、画像の部分画像Riに対し、黒画素と白画素の総数などを記載して示す図である。これらの図での部分画像Riは、水平方向、垂直方向ともに画素数16である16画素×16画素の部分領域で構成されている。部分画像特徴値計算は、図15(A)の計算対象部分画像Riにつき、計算対象部分画像を右斜め方向に1画素づつずらして重ねたときの黒画素数の増加量rcnt(すなわち図15(B)の画像WHiの斜線部分)と、計算対象部分画像を左斜め方向に1画素づつずらして重ねたときの黒画素数の増加量lcnt(すなわち図15(C)の画像WViの斜線部分)とを求め、求めた増加量rcntと増加量lcntとを比較し、増加量lcntが増加量rcntの2倍より大きければ、右斜めを意味する値“R”を、増加量rcntが増加量lcntの2倍よりも大きければ、左斜めを意味する値“L”を、その他の場合には“X”を出力する。
【0118】
‘画像を右斜め方向に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i+1,j-1)となるように元の画像を移動させた画像と、全ての画素について座標(i,j)を(i-1,j+1)となるように元の画像を移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0119】
‘画像を左斜め方向に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i-1,j-1)となるように元の画像を移動させた画像と、全ての画素について座標(i,j)を(i+1,j-1)となるように元の画像を移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0120】
この場合、ある画素において黒画素どうしが重なると、当該ある画素は黒画素となり、また、白画素と黒画素どうしが重なると当該ある画素は黒画素となり、また、ある画素において白画素どうしが重なると、当該ある画素は白画素となる。
【0121】
ただし、上記で“R”あるいは“L”と判定された場合でも、黒画素数の増加量があらかじめ両方向に対して設定している下限値lcnt0ないしrcnt0以上でないならば“X”を出力する。これら条件を式として表現すると、(1)lcnt>2×rcntかつ(2)lcnt≧lcnt0が成立するならば“R”を出力し、(3)rcnt>2×lcntかつ(4)rcnt≧rcnt0が成立するならば“L”を出力し、その他ならば“X”を出力するとなる。
【0122】
ここでは、増加量lcntが増加量rcntの2倍より大きければ右斜めを意味する値“R”を出力しているが、この閾値を指す2倍という値を別の値に変更しても良い。右斜め方向についても同様である。さらに、部分画像の中で黒画素数がある範囲(例えば部分画像Riの全体画素数に対して30%以上70%以下など)内にあり、照合処理に適する画像であることが予めわかっているような場合は、上記(2)と(4)の条件式については削除しても良い。
【0123】
図16(A)は、さらなる他の部分画像特徴値計算処理のフローチャートである。このフローチャートは計算対象となる参照用メモリ1021の参照画像AのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて参照用部分画像特徴値計算結果メモリ1024に格納される。同様に取込画像用メモリ1024の取込画像BのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて取込画像用部分画像特徴値計算結果メモリ1025に格納される。次に、この部分画像特徴値計算処理の詳細を図16に従って説明する。
【0124】
制御部108は、特徴値計算部1045に部分画像特徴値計算開始信号を送り、その後、部分画像特徴値計算終了信号を受信するまで待機する。
【0125】
特徴値計算部1045は、計算対象画像の部分画像Ri(図15(A)参照)を参照用メモリ1021ないしは取込画像用メモリ1023から読出し、計算用メモリ1022に一旦格納する(ステップSM1)。特徴値計算部1045は格納された部分画像Riを読出し、図15(B)のように右斜め方向にずらしたときの増加量rcntと図15(C)のように左斜め方向にずらしたときの増加量lcntとを求める(ステップSM2)。
【0126】
増加量rcntと増加量lcntとを求める処理を、図17と図18に基づき説明する。図17は部分画像特徴値計算処理(ステップT2a)内の右斜め方向にずらしたときの増加量rcntを求める処理(ステップSM2)のフローチャートである。
【0127】
図17を参照して、特徴値計算部1045は、計算用メモリ1022から部分画像Riを読出すとともに、垂直方向の画素カウンタjの値を初期化、すなわち、j=0とする(ステップSR01)。次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較(ステップSR02)し、比較結果がj≧nを指すならば次にステップSR10を実行、指さないならば次にステップSR03を実行する。ここではn=16であり、かつ、処理開始時には、j=0であるためステップSR03に進む。
【0128】
ステップSR03では、水平方向の画素カウンタiの値の初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較(ステップSR04)し、比較結果がi≧mを指すならば次にステップSR05を実行し、指さないならば次にステップSR06を実行する。本実施の形態ではm=16であり、かつ、処理開始時には、i=0であるため、ステップSR06に進む。
【0129】
ステップSR06では、部分画像Riを読出し、現在比較対象となっている座標(i、j)の画素値pixel(i、j)が1(黒画素)であるか、あるいは、座標(i、j)よりも一つ右上の座標(i+1、j+1)の画素値pixel(i+1、j+1)が1であるか、あるいは、座標(i、j)よりも一つ右下の座標(i+1、j-1)の画素値pixel(i+1、j-1)が1であるかを判別する。pixel(i、j)=1あるいはpixel(i+1、j+1)=1あるいはpixel(i+1、j-1)=1であると判別するならば、次にステップSR08を実行し、その他ならば次にステップSR07を実行する。
【0130】
ここで、部分画像Riの上下左右の1画素分の範囲、すなわち、Ri(-1〜m+1、-1)、Ri(-1、-1〜n+1)、Ri(m+1、-1〜n+1)、Ri(-1〜m+1、n+1)の範囲の画素値は、図16(B)に示すように0(白画素)とする。ここでは、図15(A)を参照して、pixel(0、0)=0、pixel(1、1)=0、pixel(1、-1)=0であるため、ステップSR07へ進む。
【0131】
ステップSR07では、計算用メモリ1022に格納する右斜め方向に1画素づつずらして重ねた画像WHiの座標(i、j)の画素値work(i、j)(図16(C)参照)に0を格納する。すなわち、work(0、0)=0とする。次に、ステップSR09に進む。
【0132】
ステップSR09では、i=i+1、すなわち、水平方向の画素カウンタiの値を1増加させる。ここでは、初期化によりi=0となっており、1が加えられてi=1となる。次にステップSR04に戻る。
【0133】
ステップSR05では、j=j+1、すなわち、垂直方向の画素カウンタjの値を1増加させる。現時点では、j=0であるので、j=1となり、SR02に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSR03、ステップSR04と進む。以降、pixel(i、j)=1となる1行目の5列目の画素、すなわち、i=5、j=1になるまでステップSR04〜SR09を繰返すこととなり、ステップSR09処理後にi=5となる。m=16、i=5であるのでSR06に進む。
【0134】
ステップSR06では、pixel(i、j)=1、すなわち、pixel(5、1)=1であるので、ステップSR08に進む。
【0135】
ステップSR08では、計算用メモリ1022に格納する右斜め方向に1画素づつずらして重ねた画像WRi(図15(B)参照)の座標(i、j)の画素値work(i、j)に1を格納する。すなわち、work(5、1)=1とする。
【0136】
ステップSR09に進み、i=16となって、ステップSR04へ進む。m=16、i=16であるので、ステップSR05に進み、j=2となって、ステップSR02へ進む。以降、j=2〜15について同様にステップSR02〜SR09の処理を繰返し、ステップSR09の処理後、j=16となった時点で、次にステップSR02で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、比較結果がj≧nを指すならば次にステップSR10を実行、指さないならば次にステップSR03を実行する。現時点ではj=16、n=16であるので、次にステップSR10に進む。この時点で計算用メモリ1022には、現在比較対照を行っている部分画像Riを元に、図15(B)に示すような右斜め方向に1画素づつずらして重ねた画像WRiが格納されている。
【0137】
ステップSR10では、計算用メモリ1022に格納した右斜め方向に1画素づつずらして重ねた画像WRiの画素値work(i、j)と現在比較対照を行っている部分画像Riの画素値pixel(i、j)の差分cntを計算する。このworkとpixelの差分cntを計算する処理を図19に基づいて説明する。
【0138】
図19は、現在比較対照を行っている部分画像Riの画素値pixel (i、j)と、部分画像Riを右斜め方向、あるいは左斜め方向に1画素づつずらして重ねた画像WRiの画素値work(i、j)との差分cntを計算するフローチャートである。特徴値計算部1045は、計算用メモリ1022から部分画像Riと1画素づつずらして重ねた画像WRiを読出すとともに、差分カウンタcntと垂直方向の画素カウンタjの値を初期化、すなわちcnt=0、j=0とする(ステップSN001)。次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し(ステップSN002)、比較結果がj≧nを指すならば次に図17のフローチャートに戻り、ステップSR11でrcntにcntを代入し、指さないならば次にステップSN003を実行する。
【0139】
ここではn=16であり、かつ、処理開始時には、j=0であるためステップSN003に進む。ステップSN003では、水平方向の画素カウンタiの初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較し(ステップSN004)、比較結果がi≧mを指すならば次にステップSN005を実行し、指さないならば次にステップSN006を実行する。ここではm=16であり、かつ、処理開始時には、i=0であるため、ステップSN006に進む。
【0140】
ステップSN006では、現在比較対象となっている座標(i、j)の部分画像Riの画素値pixel(i、j)が0(白画素)であり、かつ、1画素づつずらして重ねた画像WRiの画素値work(i、j)が1(黒画素)であるかを判別し、pixel(i、j)=0かつwork(i、j)=1ならば次にステップSN007を実行し、その他ならば次にステップSN008を実行する。ここでは、図15(A)と図15(B)を参照して、pixel(0、0)=0、work(0、0)=0であるため、ステップSN008へ進む。
【0141】
ステップSN008では、i=i+1、すなわち、水平方向の画素カウンタiを1増加させる。ここでは、初期化によりi=0となっており、1を加えてi=1となる。次にステップSN004に戻る。以降、i=15となるまで、ステップSN004〜SN008を繰返すこととなり、ステップSN008処理後にi=16となった時点でSN004に進む。m=16、i=16であるので、ステップSN005に進む。
【0142】
ステップSN005ではj=j+1、すなわち、垂直方向の画素カウンタjの値を1増加させる。現時点では、j=0であるので、j=1となり、SN002に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSN003、ステップSN004と進む。以降、pixel(i、j)=0、かつ、work(i、j)=1となる1行目の11列目の画素、すなわち、i=10、j=1になるまでステップSN004〜SN008を繰返すこととなり、ステップSN008処理後にi=10となる。m=16、i=10であるのでSN006に進む。
【0143】
ステップSN006では、pixel(i、j)=0かつwork(i、j)=1、すなわち、pixel(10、1)=0かつwork(10、1)=1であるので、ステップSN007に進む。
【0144】
ステップSN007では、cnt=cnt+1、すなわち差分カウンタcntの値を1増加させる。ここでは、初期化によりcnt=0となっており、1を加えてcnt=1となる。以降、処理が進行してステップSN008に進み、i=16となってステップSN004へ進む。m=16、i=16であるので、ステップSN005に進み、j=2となってステップSN002へ進む。
【0145】
以降、j=2〜15について同様にステップSN002〜SN008の処理を繰返し、ステップSN008処理後、j=16となった時点で、次にステップSN002で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、比較結果がj≧nを指すならば次に図13のフローチャートに戻り、ステップSR11を実行し、指さないならば次にステップSN003を実行すると、現時点では、j=16、n=16であるので、図19のフローチャートを終了し、次に図17のフローチャートに戻り、ステップSR11に進む。現時点では、差分カウンタcnt=45となっている。
【0146】
ステップSR11では、rcnt=cnt、すなわち右斜め方向にずらしたときの増加量rcntに図19のフローチャートで計算した差分cntの値を代入する。次にステップSR12に進む。ステップSR12では、右斜め方向にずらしたときの増加量rcnt=45を出力する。
【0147】
次に、図19の、特徴値計算処理(ステップT2a)内の左斜め方向にずらしたときの増加量lcntを求める処理(ステップSM2)の図18のステップSL01〜SL12の処理は、上記に説明した図17の処理と基本的に同じ処理を行なうことが明らかであり、詳細な説明は省略する。
【0148】
出力される左斜め方向にずらしたときの増加量lcntとして、図15(C)の左斜め方向に1画素づつずらして重ねた画像WLiと図15(A)の部分画像Riとの差分であるlcnt=115が出力される。
【0149】
出力されたrcntとlcntとについて以降の処理を図16のステップSM3以降に戻って説明する。
【0150】
ステップSM3では、rcntとlcnt、および、左斜め方向の最大黒画素数増加量下限値lcnt0とを比較し、lcnt>2×rcntかつlcnt≧lcnt0ならば次にステップSM7を実行し、その他ならば次にステップSM4を実行する。現時点では、lcnt=115、rcnt=45であり、lcnt0=4と想定すれば、次にステップSM7に進む。ステップSM7では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“R”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0151】
仮に、ステップSM2の出力値が、lcnt=30、rcnt=20であり、lcnt0=4と想定するならば、次にステップSM4に進み、rcnt>2×lcntかつrcnt≧rcnt0が成立するならば次にステップSM5を実行し、成立しないならば、次にステップSM6を実行する。
【0152】
ここでは次にステップSM6に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“X”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0153】
さらに、仮にステップSM2の出力値が、lcnt=30、rcnt=70であり、lcnt0=4、rcnt0=4と想定するならば、ステップSM3で、lcnt>2×rcntかつlcnt≧lcnt0の条件は成立しなので、次にステップSM4に進む。ステップSM4の条件式であるrcnt>2×lcntかつrcnt≧rcnt0が成立するならば、次にステップSM5を実行し、成立しないならば次にステップSM6を実行する。
【0154】
ここでは次にステップSM5に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“L”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0155】
上述した特徴値計算は、参照画像A、あるいは、取込画像Bにノイズがある場合、例えば、指のしわ等によって指紋の一部が欠けているために、図15(D)に示すように部分画像Riの中央に垂直にしわが入っているような画像であっても、図15(E)と図15(F)に示すように、rcnt=57とlcnt=124となって、lcnt0=4と想定すれば、図16(A)のステップSM3で、lcnt>2×rcntかつlcnt≧lcnt0の条件式は成立するので、次にステップSM7を実行し、特徴値として“R”を格納する。このように特徴値計算は、画像に含まれるノイズ成分に対して計算精度を維持できるという特徴を持つ。
【0156】
上述のように特徴値計算部1045は、部分画像Riについて、右斜め方向に所定の画素づつずらして重ねた画像WRiと、左斜め方向に所定の画素づつずらして重ねた画像WLiとを各々求め、さらに、その右斜め方向に1画素づつずらして重ねた画像WRiと部分画像Riとの差分である黒画素数の増加量rcntと、左斜め方向に1画素づつずらして重ねた画像WLiと部分画像Riとの差分である黒画素数の増加量lcntとを各々求め、それら増加量に基づいて、該部分画像Riの模様が右斜め方向に従う模様である傾向(たとえば右斜め縞である傾向)、または左斜め方向に従う模様である傾向(たとえば左斜め縞である傾向)またはそのどちらでもないことを判別して、その判別結果に応じた値(“R”、“L”および“X”のいずれか)を格納する。
【0157】
<5種類の特徴値>
特徴値計算部1045は、上述したすべての特徴値を出力するようにしてもよい。その場合には、特徴値計算部1045は、部分画像Riについて、上述の手順に従い、黒画素数の増加量hcntと、増加量vcntと、増加量rcntと、増加量lcntとを各々求め、それら増加量に基づいて、該部分画像Riの模様が水平(横)方向に従う模様である傾向(たとえば横縞である傾向)、または垂直(縦)方向に従う模様である傾向(たとえば縦縞である傾向)、または右斜め方向に従う模様である傾向(たとえば右斜め縞である傾向)、または左斜め方向に従う模様である傾向(たとえば左斜め縞である傾向)、またはそれらのいずれでもないことを判別して、その判別結果に応じた値(“H”、“V”、“R”、“L”および“X”のいずれか)を出力する。この出力値が該部分画像Riの特徴値を示す。
【0158】
ここでは、部分画像Riの特徴値として“R”、“L”および“X”に加えて“H”および“V”を用いるので、照合処理の対象画像の部分画像の特徴値をより厳密に分類することができて、3種類の特徴値で分類した場合には‘X’となる部分画像であっても、5種類の特徴値に分類した場合には、‘X’以外のいずれかの値に分類できるから、‘X’に分類されるべき部分画像Riをより厳密に検出することができる。
【0159】
図20には5種類の特徴値計算のフローチャートが示される。図20の部分画像特徴値計算においては、まず図11に示した部分画像特徴値計算の処理(T2a)のステップST1〜ST4が同様に実行されて、判定結果である“V”および“H”が判定される(ST5、ST7)。この場合、“V”でもなく“H”でもないと判定された場合には(ST4でN)、次に、図16に示す画像特徴値計算処理(T2a)のステップSM1〜SM7が同様にして実行されて、判定結果として“L”、“X”および“R”が出力される。この結果、部分画像特徴値計算(T2a)により、部分画像の特徴値として“V”、“H”、“L”、“R”および“X”の5種類の部分画像特徴値を出力することができる。
【0160】
ここでは、判定対象である指紋の多くは模様が縦方向または横方向に従う傾向が顕著であることに鑑みて、図11の処理を最初に実行しているが、実行順序はこれに限定されず、図16の処理を先に実行して、“L”でもなく“R”でもないと判定された場合には、次に図11の手順を実行するようにしてもよい。
【0161】
<探索対象の限定>
最大一致度位置探索部105による探索の対象は上述して算出された特徴値に従い限定することができる。
【0162】
図21(B)と図21(C)は、それぞれ、画像入力(T1)、画像補正(T2)が施された後に、部分画像特徴値が算出されている画像AとBを模式的に例示する。
【0163】
まず、図21(A)を参照して画像内の部分画像位置をいかに特定するかについて説明する。図21(A)の画像の形状(形、サイズ)は図21(B)と図21(C)の画像AとBに一致している。図21(A)の画像内にはメッシュ状に区切られて64個に等分割された同じ形状(矩形状)の部分画像Riが準備される。これら64個の部分画像Riには図21(A)の画像の右上から左下方向に順番に数値1〜64を当てることにより、各部分画像Riの画像AまたはB内の位置を、当該割当てられた数値を用いて示す。ここでは画像内の64個の部分画像Riそれぞれは、対応の位置を示す数値を用いて部分画像g1、部分画像g2、…、部分画像g64として指示される。図21(A)、図21(B)および図21(C)の画像は同一の形状を有するので、図21(B)と図21(C)の画像AとBにおいても図21(A)に示すような64個の部分画像Riが設けられて各部分画像Riは、部分画像g1、部分画像g2、…、部分画像g64としてその位置を特定できる。最大一致位置探索部105は、画像AとBについて最大一致位置に対応の部分画像Riを探索するが、探索の順番は、部分画像g1、部分画像g2、…、部分画像g64に従う。図21(B)と図21(C)の画像の各部分画像は、特徴値として、特徴値計算部1045により算出された特徴値‘H’、‘V’および‘X’のいずれかを有すると想定する。
【0164】
図22(A)〜(C)は、図21(B)と(C)の各部分画像の特徴値が算出された画像AとBの最大一致位置を探索する手順を説明する図である。図23は最大一致位置探索と類似度計算のための処理フローチャートである。
【0165】
最大一致位置探索部105は、図21(B)の画像Aを探索して“H”または“V”の特徴値を持つ部分画像について、画像B内で同じ特徴値を持つ部分画像を探索する。従って、画像A内の部分画像の探索を開始して最初に“H”または“V”の特徴値を持つ部分画像が検出されたとき、検出された部分画像は、最初の探索対象の部分画像となる。図22(A)の画像(A)-S1は、画像Aの部分画像につき、部分画像特徴値を示し、かつ、最初に“H”または“V”の特徴値を持つ部分画像g27、即ち“V1”につき、ハッチングを施した画像である。
【0166】
この画像(A)-S1の通り、最初に検出された部分画像特徴値は、“V”を指す。このため、画像B内で特徴値が“V”である部分画像が探索の対象となる。画像B内で、探索を開始して特徴値“V”を持つ最初の部分画像g11、即ち“V1”につきハッチングを施した画像が図22(A)の画像(B)-S1−1である。この部分画像に対し、図23のステップS002〜S007で示される処理が行われる。
【0167】
次に、画像B内で、部分画像g11の次に特徴値“V”を持つ部分画像g14、即ち“V1”(図22(A)の画像(B)-S1-2)につき、処理が行われ、以降、部分画像g19、g22、g26、g27、g30、g31(図21(A)の画像(B)-S1-8)につき、処理が行われる。画像Aの最初に“H”または“V”の特徴値を持つ部分画像g27につき画像B内において一通り探索の処理が終了すると、次に“H”または“V”の特徴値を持つ部分画像g28(図22(B)の画像(A)-S2)について、同様に図23のステップS002〜S007で示される処理が行われ、部分画像g28の部分画像特徴値は“H”であるため、画像Bの特徴値として“H”を有する部分画像g12(図22(B)の画像(B)-S2-1)、画像g13(図22(B)の画像(B)-S2-2)、g33、g34、g39、g40、g42〜g46、g47(図22(B)の画像(B)-S2-12)について一通り探索の処理が行われる。
【0168】
以降、画像A内で“H”または“V”の特徴値を持つ部分画像g29、g30、g35、g38、g42、g43、g46、g47、g49、g50、g55、g56、g58〜62、g63(図22(C)の画像(A)-S20)についても同様にして、画像B内での探索の処理が行われる。
【0169】
したがって、最大一致位置探索部105により画像Aと画像Bとにおいて探索される部分画像の数は、(部分画像特徴値“V”である画像Aの部分画像数×部分画像特徴値“V”である画像Bの部分画像数+部分画像特徴値“H”である画像Aの部分画像数×部分画像特徴値“H”である画像Bの部分画像数)となる。図22(A)〜(C)の場合には、探索される部分画像の数は、探索部分画像数=8×8+12×12=208である。
【0170】
なお、部分画像特徴値は、画像が呈する模様にも依存するので、ここで、図21(A)と図21(B)の模様とは別の模様を呈する画像の場合を示す。図24(A)と(B)は画像Aと画像Bとを示し、図21(B)と(C)の画像Aと画像Bとは別の模様を示すものであり、図24(C)は、図21(C)の画像Bとは異なる模様を呈する画像Cを示すものである。
【0171】
図24(D)、図24(E)および図25(F)各々は、図24(A)、図24(B)および図24(C)の画像A、BおよびCそれぞれについて、各部分画像について特徴値計算部1045により算出された特徴値を示すものである。
【0172】
図24(A)の画像Aと図24(C)の画像Cとを対象にした場合の、最大一致位置探索部105による探索部分画像数についても、上記と同様に、(部分画像特徴値“V”である画像Aの部分画像数×部分画像特徴値“V”である画像Cの部分画像数+部分画像特徴値“H”である画像Aの部分画像数×部分画像特徴値“H”である画像Cの部分画像数)で計算できる。図24(D)と図24(F)を参照すると、探索部分画像数=8×12+12×16=288である。
【0173】
なお、本説明では、同じ特徴値を有する部分画像を探索対象としているが、必ずしもそうする必要はなく、照合精度の向上などを意図して、参照用部分画像特徴値が“H”の場合に取込画像用部分画像特徴値が“H”だけでなく“X”の部分領域、あるいは、参照用部分画像特徴値が“V”の場合に取込画像用部分画像特徴値が“V”だけでなく“X”の部分領域も探索対象としても良いことはいうまでもない。
【0174】
また、特徴値が“X”であることは対応の部分画像が縦縞とも横縞とも特定できない模様を呈しているといえ、照合速度の向上を図る場合には、最大一致位置検索部105による探索範囲からは“X”を示す部分領域は除くようにしてもよい。
【0175】
また、精度向上のために、“H”、“V”だけでなく、“L”、“R”の値を適用してもよい。
【0176】
<照合対象外画像要素の判定>
画像補正部104により補正処理を施され、かつ、特徴値計算部1045により部分画像の特徴値を計算された画像に対して、次に照合対象外画像要素判定計算処理(ステップT2b)が行われる。この処理は図25のフローチャートに示される。
【0177】
ここでは、要素判定部1047の処理によって、照合対象の画像内の各部分画像は、特徴値として“H”、“V”、“L”、“R”(4値の場合)を採ると想定する。つまり、指紋センサ100の指紋読取り面201上に汚れが付着している領域または指紋が置かれていない(指が置かれていない)ので画像を入力できない領域がある場合には、その領域に対応の部分画像は特徴値として基本的には“X”を取る。この特性を利用して、要素判定部1047は、入力画像において汚れが付着している部分領域や指紋の画像を入力できない部分領域は、照合対象外画像要素として検出(判定)する。そして検出された当該領域には特徴値‘E’を割当てるように処理をする。ここでは、画像の部分領域(部分画像)に特徴値として‘E’を割当てることは、当該部分領域(部分画像)を、照合判定部107による画像照合のために行なわれる最大一致位置探索部105の探索範囲から除外され、また類似度計算部106の類似度計算の対象から除外されることを指す。
【0178】
図26(A)〜(F)には照合対象外画像要素の判定と、照合とが模式的に示される。図26(B)と図26(F)は、入力画像Bと参照画像Aを模式的に示したものである。参照画像Aは、図26(A)に示されるように、縦と横について8個に等分割されることで同じ大きさと形状を有する64個の部分画像を有する。図26(A)では、各部分画像についてはg1〜g64までの画像位置を指す数値が割当てされて指示される。
【0179】
図26(B)の入力画像Bについては、縦と横の各方向につき5個に等分割されること25個の同じ大きさと形状の部分画像を有する。25個の部分画像については、図21(A)の位置g1〜g5、g9〜g13、g17〜g21、g25〜g29、g33〜g37で示す位置が割当て指示される。なお、ここでは説明を簡単にするために参照画像Aは各部分画像に特徴値としてXおよびEを除いた値(‘H’、‘V’、‘L’、‘R’)が算出されていると想定する。
【0180】
要素判定部1047は、図26(B)の入力画像Bに対応する各部分画像の特徴値計算部1045により算出された特徴値を、取込画像用部分画像特徴値計算結果メモリ1025から計算用メモリ1022に読出す。読出した状態が模式的に図26(C)に示される(図25のステップSS001)。
【0181】
要素判定部1047は、次に、計算用メモリ1022の図26(C)の各部分画像の特徴値を、部分画像位置を指す数値の昇順に検索することにより、照合対象外に画像要素を検出する(図25のステップSS002)。ここでは、検索する過程において、特徴値として“X”をとる部分画像を検出した場合には、当該部分画像に隣接する部分画像の特徴値を検索する。検索結果、当該部分画像の縦方向(Y軸に従う方向)、横方向(X軸に従う方向)、斜め方向(X軸またはY軸に対して45度の傾きを持った軸に従う方向)の少なくともいずれか1方向に隣接して、‘X’を指す特徴値を有する部分画像が検出された場合には、当該部分画像と検出された隣接の部分画像との組を照合対象外画像要素として検出(判定)する。
【0182】
具体的には、計算用メモリ1022に格納されている図26(C)の入力画像Bの部分画像g1から順にg2、g3、g4、g5、g9、…g13、g17・・・と特徴値を検索する。検索の過程において、特徴値が“X”あるいは“E”を指す部分画像を検出すると、当該部分画像の上、下、左、右、右上、右下、左上、左下のそれぞれに隣接する全ての部分画像について特徴値を検索する。検索の結果、隣接する部分画像において“X”を指す特徴値が検索できた場合には、計算用メモリ1022において検索された“X”を“E”に書換える(図25のステップSS003)。このようにして、入力画像Bの全ての部分画像についての検索が終了すると、画像Bの各部分画像の特徴値は図26(C)から図26(D)のように更新される。更新後の各部分画像の値は、取込画像特徴値メモリ1025に格納される。
【0183】
この書換えの一例を説明する。図26(C)を参照すると、g1の部分画像から順に特徴値を検索していくと、g28の部分画像を検索した場合に初めて‘X’の特徴値を有する部分画像が検出される。g28の部分画像に隣接する全ての部分画像の特徴値を検索すると、隣接するg29、g36およびg37の部分画像の特徴値は‘X’であることが検出されるので、検出結果に基づき、計算用メモリ1022におけるg28、g29、g36およびg37の部分画像の特徴値‘X’を、図26(D)に示すように‘E’に更新する(書換える)。
【0184】
尚、ここでは、入力画像Bにおいて、特徴値として“X”を有する部分画像が縦方向、横方向、斜め方向の少なくともいずれか1方向に2個以上連続して構成される部分領域は、照合対象外画像要素と判定しているが、判定の基準はこれに限るものではない。たとえば、特徴値として“X”を有する部分画像そのものを照合対象外画像要素と判定しても良いし、その他の組み合わせを取っても良い。
【0185】
<類似度計算および照合判定>
次に、要素判定部1047による照合対象外画像要素判定の結果を考慮した、最大一致位置探索と、探索の結果に基づく類似度計算の処理(図5のステップT3)について図23のフローチャートに従って説明する。ここでは、画像A内の部分画像(部分領域)の総数を変数nで示す。最大一致位置探索および類似度計算は、図26(A)の参照画像Aの各部分画像と、図26(E)の判定された照合対象外要素が除かれた画像Bを対象にして行なわれる。
【0186】
要素判定部1047による判定が終了すると、制御部108は最大一致位置探索部105へテンプレートマッチング開始信号を送り、テンプレートマッチング終了信号を受信するまで待機する。
【0187】
最大一致位置探索部105では、テンプレートマッチング開始信号を受信すると、ステップS001からステップS007に示されるようなテンプレートマッチング処理が開始される。ステップS001ではカウンタの変数iの値を1に初期化する。ステップS002では、参照画像Aの部分画像Riとして規定される部分領域の画像をテンプレートマッチングに用いるテンプレートとして設定する。
【0188】
ステップS0025では、最大一致位置探索部105は、参照画像特徴値メモリ1024を検索して、テンプレートの部分画像Riの特徴値CRiを読出す。
【0189】
ステップS003ではステップS002で設定したテンプレートに対し、画像B内で最も一致度の高い、つまり画像B内のデータが最も一致する場所を探索する。この探索では、特徴値が“E”でない画像Bの部分画像に限定して次の計算を行なう。
【0190】
テンプレートとして用いる矩形状の部分画像Riの左上の角を基準とした座標(x、y)の画素濃度をRi(x、y)とし、画像Bの左上の角を基準とした座標(s、t)の画素濃度をB(s、t)とし、部分画像Riの幅をw、高さをhとし、また、画像AとBの各画素の取りうる最大濃度をV0とした場合に、画像Bにおける座標(s、t)での一致度Ci(s、t)を、たとえば以下の(式1)に従い、各画素の濃度差を元に計算する。
【0191】
【数1】
【0192】
画像B内において座標(s、t)を順次更新して、更新する毎に更新後の座標(s、t)における一致度C(s、t)を計算する。算出された一致度C(s,t)の中で最も大きい値に対応の画像B内の位置が、部分画像Riと最も一致度が高いとし、画像B内のその位置での部分領域の画像を部分領域Miとする。そして、その位置に対応の一致度C(s,t)を最大一致度Cimaxに設定する。
【0193】
ステップS004では、最大一致度Cimaxをメモリ102の所定アドレスに記憶する。ステップS005では、移動ベクトルViを以下の(式2)に従い算出し、算出した移動ベクトルViをメモリ102の所定アドレスに格納する。
【0194】
ここで、上述のように、画像A内の位置Pに対応の部分画像Riに基づいて、画像B内をスキャン(探索)して、その結果、部分画像Riと最も一致度が高い位置Mの部分領域Miが検出された場合には、位置Pから位置Mへの方向ベクトルを、移動ベクトルViと呼ぶ。指紋センサ100の指紋読取り面201における指の置かれ方は一様でないことから、移動ベクトルViは、一方の画像、たとえば画像Aを基準にすると他方の画像Bは移動したように見えることを指している。移動ベクトルViは方向と距離を指すので、移動ベクトルViにより画像Aの部分画像Riと画像Bの部分領域Miとの位置関係が定量化して示される。
【0195】
Vi=(Vix、Viy)=(Mix−Rix、Miy−Riy)…(式2)
(式2)で、変数RixとRiyは部分画像Riの基準位置のx座標とy座標の値を指し、たとえば画像A内における部分画像Riの左上角の座標に対応する。また変数MixとMiyは、部分領域Miを探索することにより算出された最大一致度Cimaxに対応の位置を指すx座標とy座標を示す。たとえば画像B内におけるマッチングした位置での部分領域Miの左上角の座標に対応する。
【0196】
ステップ006ではカウンタ変数iの値と変数nの値をとを比較して、比較結果に基づき、カウンタ変数iの値が変数nが示す値未満であるか否かを判定し、変数iの値が変数数nの値未満と判定されると処理をS007に移り、そうでなければ処理はS008に移る。
【0197】
ステップS007では変数iの値に1加える。以降、変数iの値が変数nの値未満を指すと判定される間は、ステップS002からS007を繰返し行ない、画像Aのすべての部分画像Riに関し、当該部分画像Riについて参照画像特徴値メモリ1024を検索して読出した対応する特徴値CRiと、同じ値を特徴値CMとして有する画像Bの部分領域に限定してテンプレートマッチングを行ない、それぞれの部分画像Riの最大一致度Cimaxと、移動ベクトルViとを計算していく。
【0198】
最大一致位置探索部105は上記のように順次計算されるすべての部分画像Riに関する最大一致度Cimaxと移動ベクトルViとをメモリ102の所定アドレスに格納したのち、テンプレートマッチング終了信号を制御部108に送り、処理を終了する。
【0199】
続いて制御部108は類似度計算部106に類似度計算開始信号を送り、類似度計算終了信号を受信するまで待機する。類似度計算部106は、メモリ102に格納されているテンプレートマッチングで得られた各部分画像Riの移動ベクトルViや最大一致度Cimaxなどの情報を用いて、図23のステップS008からステップS020に示される処理を行ない類似度計算を行なう。
【0200】
ステップS008では類似度P(A、B)の値を0に初期化する。ここで類似度P(A、B)は、画像Aと画像Bの類似度を格納する変数を指す。ステップS009では基準とする移動ベクトルViのインデックスiの値を1に初期化する。ステップS010では、基準とする移動ベクトルViに関する類似度Piの値を0に初期化する。ステップS011では、移動ベクトルVjのインデックスjを1に初期化する。ステップS012では、基準移動ベクトルViと移動ベクトルVjとのベクトル差dVijを以下の(式3)に従い計算する。
【0201】
dVij=|Vi−Vj|=sqrt((Vix−Vjx)^2+(Viy−Vjy)^2)…(式3)
ここで、変数VixとViyは移動ベクトルViのx方向成分とy方向成分を示し、変数VjxとVjyは移動ベクトルVjのx方向成分とy方向成分を示し、変数sqrt(X)はXの平方根、X^2はXの二乗を計算する計算式である。
【0202】
ステップS013では、移動ベクトルViとVjのベクトル差dVijの値と、定数εが示す閾値と比較し、比較結果に基づき、移動ベクトルViと移動ベクトルVjが実質的に同一の移動ベクトルとみなすことが可能かを判断する。判断結果が、ベクトル差dVijの値が定数εが指す閾値(ベクトル差分)より小さいことを指す場合には、移動ベクトルViと移動ベクトルVjが実質的に同一と見なされると判定されて、処理をステップS014に移行するが、逆に定数εの値以上であることを指す場合には、両方のベクトルは実質的に同一とは見なされないと判定されて、処理はステップS015に移行する。ステップS014では類似度Piの値を以下の(式4)〜(式6)に従い増加させる。
【0203】
Pi=Pi+α…(式4)
α=1…(式5)
α=Cjmax…(式6)
(式4)における変数αは類似度Piを増加させる値である。(式5)のようにα=1とした場合には、類似度Piは基準とした移動ベクトルViと同一の移動ベクトルを持つ部分領域の個数となる。また、(式6)のようにα=Cjmaxとした場合には、類似度Piは基準とした移動ベクトルViと同一の移動ベクトルを持つ部分領域に関するテンプレートマッチング時の最大一致度の総和となる。またベクトル差dVijの大きさに応じて変数αの値を小さくするなどしても構わない。
【0204】
ステップS015はインデックスjの値が変数nの値より小さいかどうかを判定する。判定結果、インデックスjの値が変数nが示す部分領域の総個数より小さい場合は、処理をステップS016に移し、総個数以上である場合には処理をステップS017に移す。ステップS016ではインデックスjの値を1増加させる。ステップS010からステップS016の処理により、基準とした移動ベクトルViに関して、同じ移動ベクトルを持つと判定される部分領域の情報を用いた類似度Piが計算される。ステップS017では移動ベクトルViを基準とした場合の類似度Piと変数P(A、B)との値の比較を行ない、比較結果、類似度Piの値が現在までの最大の類似度(変数P(A、B)の値)より大きければ、処理をS018に移し、以下であれば処理をS019に移す。
【0205】
ステップS018では、変数P(A、B)に移動ベクトルViを基準とした場合の類似度Piの値を設定する。ステップS017、S018では、移動ベクトルViを基準とした場合の類似度Piが、この時点までに計算された他の移動ベクトルを基準にした場合の類似度の最大値(変数P(A、B)の値)と比べて大きい場合には、基準としている移動ベクトルViが現在までのインデックスiの中で最も基準として正当であるとしている。
【0206】
ステップS019では基準とする移動ベクトルViのインデックスiの値と部分領域の個数(変数nの値)を比較する。インデックスiの値が部分領域の個数より小さければ処理をステップS020に移す。ステップS020ではインデックスiを1増加させる。
【0207】
ステップS008からステップS020により、画像Aと画像Bにおける類似度が変数P(A、B)の値として計算される。類似度計算部106は上記のように計算した変数P(A、B)の値をメモリ102の所定アドレスに格納し、制御部108へ類似度計算終了信号を送り、処理を終了する。
【0208】
続いて制御部108は照合判定部107に照合判定開始信号を送り、照合判定終了信号を受信するまで待機する。照合判定部107は照合し判定する。具体的には、メモリ102に格納された変数P(A、B)の値で示される類似度と予め定められた照合閾値Tとを比較する。比較結果、変数P(A、B)≧Tならば画像Aと画像Bは同一指紋から採取されたものと判定しメモリ102の所定アドレスへ照合結果として‘一致’を示す値、たとえば‘1’を書込み、そうでなければ異なる指紋から採取されたものと判定し、メモリ102、即ち、計算用メモリ1022の所定アドレスへ照合結果として‘不一致’を示す値、たとえば‘0’を書込む。その後、制御部108へ照合判定終了信号を送り処理を終了する。
【0209】
制御部108は照合判定終了信号を受信すると、計算用メモリ1022から照合結果を読出し、読出した照合結果が‘一致’を指すか否かを判定する(ステップT3a)。判定結果、‘不一致’を指す場合には、ステップT4の処理に移行して‘照合不一致’のメッセージを出力する。一方、判定結果、‘一致’を指す場合には、制御部108は、割合計算部1048に割合計算開始の指示信号を送信し、割合計算終了信号を受信するまで待機する。
【0210】
割合計算部1048は、割合計算指示信号を受信すると、画像Bにおける対象外要素が占める割合を計算する(ステップT3b)。割合計算部1048は、取込画像特徴値メモリ1025を検索して、取込画像Bの部分画像の総個数をカウントして、カウント値を変数Nに設定し、そして、‘X’または‘E’以外の特徴値を指す部分画像の個数をカウントし、カウント値を変数NNEに設定する。そして、取込画像Bに占める照合対象外の画像要素の割合PEを、PE=1−(NNE/N)の式に従い算出する。算出された割合PEの値は計算用メモリ1022に格納されて、制御部108に計算終了信号が送信される。
【0211】
このように算出される割合PEの値は、照合処理結果の信頼度を指すといえる。つまり、照合一致を指す場合でも、割合PEの値が大きい場合は、照合結果の信頼度は高くないといえる。つまり、照合に用いられなかった部分画像が多いために、照合処理は極めて限られた領域の部分画像についてなされたからである。逆に、割合PEの値が大きい場合は、照合結果の信頼度は高くといえる。つまり、照合に用いられなかった部分画像は少ないために、照合処理は多くの部分画像についてなされたからである。
【0212】
制御部108は、計算終了信号を受信すると、アプリケーション実行の許可判定開始の指示信号を送信し、許可判定終了信号を受信するまで待機する。
【0213】
実行許可部1049は、制御部108から許可判定開始の指示信号を受信すると、アプリケーション実行許可判定のための処理(ステップT3c)を行なう。
【0214】
ステップT3bのアプリケーション実行許可判定のための処理を、図27のフローチャートに従い説明する。図27を参照すると、実行許可部1049は、許可判定開始の指示信号を受信すると処理を開始する(ステップF01)。
【0215】
処理開始後、まず、計算用メモリ1022から変数PEが示す割合を読出す(ステップF02)。そして、入力部700を介して予め入力された所望のアプリケーションの識別情報に基づきセキュリティランクテーブル1026を検索して、当該アプリケーションの識別情報が登録されたアプリケーションリスト1029に対応のデータ1028が指す上限値を読出す(ステップF03)。
【0216】
実行許可部1049は、読出した変数PEが指示する値と上限データ1028が指示する上限値とを比較する(ステップF04)。この比較により照合処理の結果が、所望のアプリケーションを起動するに際して要求される信頼度(セキュリティ度)を満たしているかが検出される。比較結果に基づき‘上限値>変数PEの値’の条件が満たされていると判定されると(ステップF04でYES)、所望のアプリケーションプログラムの使用(実行・起動)を許可すると判定し、判定結果を計算用メモリ1022に格納する(ステップF05)。一方、条件が満たされていないと判定されると(ステップF04でNO)、所望のアプリケーションプログラムの使用(実行・起動)を許可しない(禁止する)と判定し、判定結果を計算用メモリ1022に格納する(ステップF06)。判定結果を実計算用メモリ1022に格納した後に、許可判定終了信号が送信される。
【0217】
制御部108は、実行許可部1049から許可判定終了信号を受信すると、計算用メモリ1022に格納された実行許可部1049の処理結果を読出し、読出された結果をディスプレイ610またはプリンタ690を介して出力する(ステップT4)。
【0218】
CPU622は、許可判定終了信号を受信すると、計算用メモリ1022に格納された所望アプリケーションの使用許可または禁止を指示する判定結果を読出し、読出した判定結果が‘許可’を示すと判定したときは、入力部700を介して入力した所望アプリケーションの識別情報に基づきメモリ624を検索して、所望アプリケーションのプログラムを読出し、読出したプログラムの実行を開始する。一方、読出した判定結果が‘不許可’(禁止)を示すと判定したときは、所望アプリケーションの識別情報で指示されるプログラムの実行は開始しない。その場合には、図2のCPU622は、他のプログラムを実行中であれば当該他のプログラムの実行を継続して行ない、他のプログラムを実行中でなく待機状態であれば待機状態を継続するように動作する。
【0219】
ユーザはステップT4による出力された結果を確認することにより、使用(実行)を所望するアプリケーションの実行開始が許可されたか禁止されたかを知ることができる。したがって、所望アプリケーションの実行開始を指示したにも拘わらず、所望アプリケーションの実行が開始されない、言い換えると、図2のコンピュータにおいて他のプログラムの実行が継続して為されている、または何らのプログラムも実行せずに待機状態が継続している場合であっても、所望プログラムが実行開始されないのはコンピュータのシステムのバグまたは故障が原因ではないことを確認することができる。
【0220】
ここでは応用処理部であるアプリケーションは、ソフトウェア(プログラム)として提供したが、回路などからなるハードウェアとして実現されてもよい。その場合には、起動するとは、当該回路に駆動用の所定レベルの電圧(電流)信号を印加することを指す。また、起動の禁止とは、たとえば当該回路に対する供給電圧を遮断する、または駆動用の電圧(電流)信号を供給しないことを指す。
【0221】
本実施の形態において、画像補正部104、部分画像特徴値計算部1045、画像要素判定部1047、割合計算部1048、実行許可部1049、位置探索部105、類似度計算部106、照合判定部107および制御部108のすべてあるいは一部は処理手順をプログラムとして記憶させたメモリ624などのROMとそれを実行するためのCPU622などの演算処理装置を用いて構成してもよい。
【0222】
<実施の形態による効果>
本実施の形態による処理の具体例ならびにそれによる効果を示す。
【0223】
ここでは、セキュリティランクテーブル1026には図4で示されるデータが予め格納されていると想定する。図4に示されるように、対応するデータ1027が示すセキュリティ度が高いアプリケーションのリスト1029には、たとえば電子的な商取引のためのアプリケーションプログラムの名称、たとえば‘電子商取引’が登録されている。電子的商取引のためのプログラムの実行に際して求められるセキュリティの度内は一般的に高いので、対応の上限データ1028により示される対象外要素が照合対象の画像に占める割合の上限値としては、たとえば0.05(5%)が登録されている。また、対応するデータ1027が示すセキュリティ度が中程度のアプリケーションのリスト1029には、たとえば電子メールソフトウェアやオフィス系ソフトウェアのようなアプリケーションプログラムの名称、たとえば‘電子メール’、‘オフィス系’が登録されている。要求されるセキュリティ度は‘電子商取引’のプログラムに比較すれば低いので、対応の上限データ1028が示す対象外要素が照合対象の画像に占める割合の上限値としては、たとえば0.1(10%)が登録されている。‘電子商取引’、‘電子メール’および‘オフィス系’のプログラムに比べれば要求されるセキュリティ度が低いディスプレイ610の画質調整用プログラムの名称‘ディスプレイ’が登録されたアプリケーションリスト1029については、対応の上限データ1028により示される対象外要素が照合対象の画像に占める割合の上限値としては、たとえば0.2(20%)が登録される。
【0224】
さて、図26(B)の取込画像Bが画像入力部101により入力されたと想定すると、指紋センサ100の指紋読取り面201に付着した汚れなどに起因してハッチング部分の画像は、要素判定部1047により対象外要素として検出される。したがって、図26(B)の指紋画像Bは最大一致位置探索部105、類似度計算部106および照合判定部107による画像照合のための処理においては、図26(E)に示すような削減(限定)された領域(ハッチング部分を除いた領域)の画像を対象として照合処理が行なわれる。
【0225】
図26(E)の画像によれば、変数PEにより指示される対象外要素の割合は、PE=1−(21/25)に従い算出されて、変数PEの示す値は0.16(=16%)となる。
【0226】
ここで、図4のセキュリティランクテーブル1026を算出された変数PEの値に基づき検索する。当該検索により、変数PEの値(=16%)よりも大きい上限値を指示する上限データ1028を特定して、特定した上限データ1028に対応のアプリケーションリスト1029に登録されている内容を読出す。いま、変数PEの値は16%と算出されているので、セキュリティランクテーブル1026の検索結果としてアプリケーションプログラムとして‘ディスプレイ’のみが出力される。したがって、図2のコンピュータのディスプレイ610に関するアプリケーションプログラムの実行(たとえば、画質調整の実施)は可能であるが、コンピュータを操作した電子商取引の処理、電子メールに関する処理(電子メールの送信・受信・閲覧など)およびオフィス系の処理(文書作成・表計算など)は実施することが禁止される(許可されない)。したがって、許可されない処理を実施することを所望する場合には、ユーザは、指紋センサ100の指紋読取り面201の汚れを拭き取った後に、指を読取り面201に載置して、再度、図3の照合処理を行なわせる必要がある。
【0227】
このように、本実施の形態では、セキュリティランクテーブル1026において、アプリケーションプログラム毎に、当該プログラムに要求されるセキュリティの度合いに応じて、照合対象の取込(入力)画像に占める照合対象外画像要素の割合の上限値を示すデータ1028が予め格納されている。したがって要求されるセキュリティの度合いが低いアプリケーションプログラムの実行が所望される場合には、対応のデータ1028が示す上限値は小さいので図3の照合処理を繰返す可能性は低くなり、ユーザの利便性が損なわれるのを回避できる。また、要求されるセキュリティの度合いが高いアプリケーションプログラムの実行が所望される場合には、対応のデータ1028が示す上限値は大きいので図3の照合処理を繰返す可能性は高くなる。けれども、図26(B)のハッチング部分を削減した上で指紋照合した結果が出力される場合には、すなわち範囲が削減されたために照合結果の精度が高くない場合には、その後、照合処理を再度行なった後に、実行の許可・禁止が再度判定されるので、アプリケーションプログラムについて要求されるセキュリティの度合いを保証することができる。
【実施の形態2】
【0228】
以上説明した画像照合のための処理機能は、プログラムで実現される。本実施の形態2では、このプログラムはコンピュータで読取可能な記録媒体に格納される。
【0229】
本実施の形態2では、この記録媒体として、図2に示されているコンピュータで処理が行なわれるために必要なメモリ、たとえばメモリ624のようなそのものがプログラムメディアであってもよいし、また該コンピュータの外部記憶装置に着脱自在に装着されて、そこに記録されたプログラムが該外部記憶装置を介して読取り可能な記録媒体であってもよい。このような外部記憶装置としては、磁気テープ装置(図示せず)、FD駆動装置630およびCD−ROM駆動装置640などであり、該記録媒体としては磁気テープ(図示せず)、FD632およびCD−ROM642などである。いずれの場合においても、各記録媒体に記録されているプログラムはCPU622がアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムが該記録媒体から一旦読出されて図2の所定のプログラム記憶エリア、たとえばメモリ624のプログラム記憶エリアにロードされて、CPU622により読出されて実行される方式であってもよい。このロード用のプログラムは、予め当該コンピュータに格納されているものとする。
【0230】
ここで、上述の記録媒体はコンピュータ本体と分離可能に構成される。このような記録媒体としては、固定的にプログラムを担持する媒体が適用可能である。具体的には、磁気テープやカセットテープなどのテープ系、FD632や固定ディスク626などの磁気ディスク、CD−ROM642/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)などの光ディスクのディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、マスクROM、EPROM(Erasable and Programmable ROM)、EEPROM(Electrically EPROM)、フラッシュROMなどによる半導体メモリが適用可能である。 また、図2のコンピュータはインターネットを含む通信ネットワーク300と通信接続可能な構成が採用されているから、通信ネットワーク300からプログラムがダウンロードされて流動的にプログラムを担持する記録媒体であってもよい。なお、通信ネットワーク300からプログラムがダウンロードされる場合には、ダウンロード用プログラムは予め当該コンピュータ本体に格納されていてもよく、あるいは別の記録媒体から予め当該コンピュータ本体にインストールされてもよい。
【0231】
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【0232】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0233】
【図1】本発明の実施の形態の認証機能搭載処理装置のブロック図である。
【図2】本発明の実施の形態の認証機能搭載処理装置が搭載されるコンピュータの構成図である。
【図3】本発明の実施の形態による指紋センサの構成図である。
【図4】本発明の実施の形態によるセキュリティランクテーブルの構成図である。
【図5】本発明の実施の形態による照合処理のフローチャートである。
【図6】本発明の実施の形態による3種類の特徴値を算出するための画像の画素について説明する図である。
【図7】本発明の実施の形態による3種類の特徴値を算出するフローチャートである。
【図8】本発明の実施の形態による水平方向の最大連続黒画素数を求める処理のフローチャートである。
【図9】本発明の実施の形態による垂直方向の最大連続黒画素数を求める処理のフローチャートである。
【図10】(A)〜(F)は本発明の実施の形態による画像特徴値計算処理の概要を示す図である。
【図11】(A)〜(C)本発明の実施の形態による部分画像特徴値計算処理のフローチャートと参照する部分画像を示す図である。
【図12】本発明の実施の形態による部分画像の左右にずらしたときの増加量を求める処理フローチャートである。
【図13】本発明の実施の形態による部分画像の上下にずらしたときの増加量を求める処理のフローチャートである。
【図14】本発明の実施の形態による部分画像を元に上下、左右にずらした画像と元の部分画像との画素値の差分を求める処理のフローチャートである。
【図15】(A)〜(F)は本発明の実施の形態による画像特徴値計算処理の概要を示す図である。
【図16】(A)〜(C)は本発明の実施の形態による部分画像特徴値計算処理のフローチャートと参照する部分画像を示す図である。
【図17】本発明の実施の形態による部分画像の右斜め方向にずらしたときの増加量を求める処理フローチャートである。
【図18】本発明の実施の形態による部分画像の左斜め方向にずらしたときの増加量を求める処理のフローチャートである。
【図19】本発明の実施の形態による部分画像を元に左斜め方向と、右斜め方向にずらした画像と元の部分画像との画素値の差分を求める処理フローチャートである。
【図20】本発明の実施の形態による部分画像特徴値計算処理のフローチャートである。
【図21】(A)〜(C)は本発明の実施の形態による照合処理の具体例を説明するための図である。
【図22】(A)〜(C)は本発明の実施の形態による照合処理の具体例を説明するための図である。
【図23】本発明の実施の形態による最大一致位置探索と類似度計算の処理フローチャートである。
【図24】(A)〜(F)は本発明の実施の形態による照合処理の具体例を説明するための図である。
【図25】本発明の実施の形態による照合対象外要素の判定の処理フローチャートである。
【図26】(A)〜(F)は、本発明の実施の形態による照合対象外要素を考慮した照合の手順を概略的に示す図である。
【図27】本発明の実施の形態によるアプリケーション実行許可判定の処理フローチャートである。
【符号の説明】
【0234】
1 認証機能搭載処理装置、11 処理部、101 画像入力部、102 メモリ、104 画像補正部、1045 部分画像特徴値計算部、1047 照合対象外画像要素判定部、1048 照合対象外画像要素割合計算部、1049 アプリケーション実行許可処理部、105 最大一致位置探索部、106 移動ベクトルに基づく類似度計算部、107 照合判定部、108 制御部、1026 セキュリティランクテーブル、A 参照画像、B 入力画像、Ri 部分画像。
【技術分野】
【0001】
本発明は、情報処理装置、方法、プログラムおよびプログラムを記録したコンピュータ読取り可能な記録媒体に関し、特に、画像を照合する機能を有する情報処理装置、方法、プログラムおよびプログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【0002】
従来、個人を一意に特定する指紋画像情報などのバイオメトリクスデータを入力して、入力したバイオメトリクスデータに基づき個人認証処理を実行する装置が提供されている。個人認証処理においては入力するバイオメトリクスデータの高品質であることが要求される。品質が低い場合、特許文献1によると、指紋画像に代わるデータ、たとえば、パスワードを用いた認証処理が実行される。特許文献1では、指紋を用いた個人の認証(以下、指紋認証という)が良好に行なえない場合には、指紋に代替されるパスワードを用いた認証が、指紋認証に追加して行なわれる。そして、これらの認証結果に基づきセキュリティが要求される所定の処理(コンピュータシステムへのログインなど)が実行される。
【特許文献1】特開2001−167053号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1では、指紋認証が良好に行なえない場合には、指紋に代替されるデータを用いた認証処理を追加して行なうことにより対応している。そのため、代替データを用いた認証のためのハードウエア資源の追加が必要とされる。また、追加の認証処理を行なうことによる認証処理速度の高速化が妨げられる。また、ユーザには指紋に追加して代替データの入力も要求されて利便性に優れない。
【0004】
それゆえに、この発明の目的は、起動に際してセキュリティ(防犯、保安など)が要求される応用処理部を、個人を特定する画像を用いた処理の結果に基づき実行する場合に、セキュリティを維持しながらユーザの利便性を損なうことなく、応用処理部の起動の許可/禁止を制御する情報処理装置、方法、プログラムおよびプログラムを記録したコンピュータ読取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【0005】
この発明のある局面に従う、個人を特定するための画像の照合結果に基づき処理を行なう情報処理装置は、入力する前記画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出部と、特徴値検出部により出力された特徴値に基づき、入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出部と、対象外検出部により検出された部分画像が除外された入力画像を用いて照合処理を行う照合処理部と、対象外検出部により対象から外すべきと検出された部分画像の、入力画像の全体に占める領域の割合を算出する割合算出部と、を備え、指定される応用処理部の起動の許可または禁止は、照合処理部による照合処理の結果および割合算出部により算出された割合に従い制御される。
【0006】
好ましくは、応用処理部には、当該応用処理部を起動するに際して要求されるセキュリティ度が予め割当てされて、応用処理部の起動の許可または禁止は、照合処理部による照合処理の結果、および、割合算出部により算出された割合と割当てされたセキュリティ度との比較結果に従い制御される。
【0007】
好ましくは、照合処理では、対象外検出部により検出された部分画像が除外された入力画像と、予め準備された参照画像とが照合されて、照合処理の結果が、入力画像と参照画像との不一致を指す場合において、応用処理部の起動の許可または禁止は、割合算出部により算出された割合に従い制御される。
【0008】
好ましくは、対象外検出部は、特徴値検出部により出力された所定の特徴値を有する部分画像の組合わせを検出する。
【0009】
好ましくは、画像は指紋の模様を示し、特徴値検出部が出力する特徴値は、部分画像の模様が指紋の垂直方向に従っていることを示す値、指紋の水平方向に従っていることを示す値、およびその他であることを示す値に分類される。
【0010】
好ましくは、画像は指紋の模様を示し、特徴値検出部が出力する特徴値は、部分画像の模様が指紋の右斜め方向に従っていることを示す値、指紋の左斜め方向に従っていることを示す値、およびその他であることを示す値に分類される。
【0011】
好ましくは、所定の特徴値は、その他の値を示す。
好ましくは、組合せは、入力画像において所定方向に隣接して位置するその他の値を示す複数の部分画像からなる。
【0012】
好ましくは、照合処理部は、照合の対象となるべき予め準備された参照画像内の複数部分領域のそれぞれについて、当該部分領域と最大の一致度となる領域の位置を、入力画像内の対象外検出部により検出された部分画像の領域を除いた部分領域において探索する位置探索部と、複数部分領域のそれぞれの、参照画像内での該部分領域の位置を測るための基準位置と位置探索部により探索された該部分領域に対応の最大一致位置との位置関係を示す位置関係量のうち、該位置関係量が所定量に該当する部分領域に関する情報に基づき入力画像と参照画像の類似度を計算して画像類似度として出力する類似度計算部と、与えられる画像類似度に基づいて入力画像と参照画像が一致するか否かを判定する判定部とを含む。
【0013】
好ましくは、類似度計算部は、複数部分領域のうち、位置探索部により探索された対応の最大一致位置の前記基準位置からの方向と距離とが所定量に該当する部分領域の個数を計算して画像類似度として出力する。
【0014】
好ましくは、位置関係量は、基準位置に対する最大一致位置の方向と距離とを指す。
好ましくは、画像を入力する画像入力部をさらに備え、画像入力部は、指が載置され、載置された指から指紋の画像を読取るために読取り面を有する。
【0015】
この発明の他の局面に従う、コンピュータを用いて、個人を特定するための画像の照合結果に基づき処理を行なう情報処理方法は、入力する画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出ステップと、特徴値検出ステップにより出力された特徴値に基づき、入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出ステップと、対象外検出ステップにより検出された部分画像が除外された入力画像を用いて照合処理を行う照合処理ステップと、対象外検出ステップにより対象から外すべきと検出された部分画像の、入力画像の全体に占める領域の割合を算出する割合算出ステップと、を備え、指定される応用処理部の起動の許可または禁止は、照合処理ステップによる照合処理の結果および割合算出ステップにより算出された割合に従い制御される。
【0016】
この発明のさらに他の局面に従うと、上述の情報処理方法をコンピュータに実行させるための情報処理プログラムが提供される。
【0017】
この発明のさらに他の局面に従うと、上述の情報処理方法をコンピュータに実行させるための情報処理プログラムを記録したコンピュータ読取り可能な記録媒体が提供される。
【発明の効果】
【0018】
発明によれば、指定される応用処理部の起動の許可または禁止は、照合処理部による照合処理の結果および割合算出部により算出された割合に従い制御される。つまり、照合処理の結果と、照合された画像における照合対象から除外された部分画像の領域の全体画像に占める割合、すなわち照合結果の精度を指す情報とに従い応用処理部の起動の許可/禁止が制御される。それゆえに、当該割合が高くて照合結果の精度を保証するのが困難な場合であっても、使用者に対してパスワードなどの別の個人情報の入力を要求することなく、また、再度の画像入力と照合処理の繰返しを要求することなく、当該割合(照合結果の精度)を考慮して起動を許可/禁止することができる。
【0019】
また、入力画像について汚れ等に起因して良好な画像が取得できない場合であっても、応用処理部についての起動を許可するためのセキュリティ度と、汚れなどに起因した照合対象外部分画像が占める割合との比較結果に従い、当該応用処理部の起動の許可/禁止が制御される。したがって、情報処理装置に搭載された指定の応用処理部に応じたセキュリティレベルを考慮した上で当該応用処理部の起動の許可/禁止を制御することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の各実施の形態について図面を参照しながら説明する。ここでは対象の画像は指紋の模様を指すとしているが、これに限定されず、たとえば、網膜パターン、静脈パターンなど、個人を特定する個人に特有のパターン画像であればよい。
【0021】
(実施の形態1)
図1は実施の形態1に係る認証機能搭載処理装置1のブロック図である。図2は各実施の形態に係る認証機能搭載処理装置が搭載されるコンピュータ(情報処理装置)の構成図である。図2を参照してコンピュータは、画像入力部101、CRT(陰極線管)や液晶などからなるディスプレイ610、該コンピュータ自体を集中的に管理し制御するためのCPU(中央処理装置の略)622、ROM(Read Only Memory)またはRAM(ランダムアクセスメモリの略)を含んで構成されるメモリ624、固定ディスク626、FD(Flexible Disk)632が着脱自在に装着されて、装着されたFD632をアクセスするFD駆動装置630、CD−ROM(Compact Disc Read Only Memory)642が着脱自在に装着されて、装着されたCD−ROM642をアクセスするCD−ROM駆動装置640、通信ネットワーク300と該コンピュータとを通信接続するための通信インターフェース680、プリンタ690ならびにキーボード650およびマウス660を有する入力部700を含む。これらの各部はバスを介して通信接続される。
【0022】
コンピュータには、カセット形式の磁気テープが着脱自在に装着されて磁気テープをアクセスする磁気テープ装置が設けられてもよい。
【0023】
図1を参照して認証機能搭載処理装置1は、画像入力部101、図2のメモリ624または固定ディスク626に対応のメモリ102、バス103、および処理部11を備える。
【0024】
画像入力部101は指紋センサ100を含む。画像入力部101は、指紋センサ100により読取られた指紋の画像データを出力する。指紋センサ100には光学式、圧力式、静電容量方式などのいずれを適用してもよい。各部間の制御信号やデータ信号はバス103を介して転送される。
【0025】
指紋センサ100の概略構成が図3に示される。図3では、指紋センサ100の構成が、静電容量型のセンサであると想定した場合が例示される。図示されるように指紋センサ100はセンサ回路203、指紋読取り面201および複数の電極202を備える。図示されるように照合対象の指紋を有する使用者の指301が指紋センサ100の指紋読取り面201の上に載置さかれた場合、各センサ電極202と指301の間にコンデンサ302が形成される。このとき、指301の読取り面201上に置かれた指紋の凸凹により、指301と各センサ電極202との間の距離は異なるため、形成される各コンデンサ302の容量は異なる。センサ回路203は、各コンデンサ302の容量の違いを電極202の出力電圧レベルに基づき検知し、その違いを示す電圧信号に変換して増幅して出力する。このように、センサ回路203から出力される電圧信号は、指紋読取り面201上に置かれた指紋の凸凹の状態を示す画像に対応の信号を指す。図示されるように指紋読取り面201は、外部に露出しているので埃、皮脂などの汚れが付着しやすいので、読取られる画像には、付着した汚れに起因したノイズ成分が含まれやすい。
【0026】
図1を参照して、メモリ102には画像データや各種の計算結果などが格納される。メモリ102は参照画像用メモリ1021、計算用メモリ1022、取込画像用メモリ1023、参照用部分画像特徴値メモリ(以下、参照画像特徴値メモリという)1024、取込画像用部分画像特徴値メモリ(以下、取込画像特徴値メモリという)1025、および後述するセキュリティランクテーブル1026が格納される。
【0027】
参照画像用メモリ1021には、取込画像用メモリ1023に格納された指紋画像データと照合されるべき画像データに対応のテンプレート用指紋画像の複数の部分領域の画像データが格納される。計算用メモリ1022には各種の計算結果のデータが格納される。取込画像用メモリ1023には画像入力部101から出力された指紋画像データが格納される。参照画像特徴値メモリ1024ならびに取込画像特徴値メモリ1025には後述の部分画像特徴値計算部1045による計算結果のデータが格納される。
【0028】
セキュリティランクテーブル1026には、図4に示すように、図2のコンピュータにおいて実行される応用処理を指す各種のアプリケーションプログラムの名称のリスト1029のそれぞれに対応して、セキュリティ度データ1027および上限データ1028が格納される。セキュリティ度データ1027は、対応のリスト1029の名称で示されるアプリケーションプログラムを実行する際に要求されるセキュリティの度合いを、たとえば高度・中度・程度で指す。上限データ1028は、照合対象画像に占める後述の照合対象外画像要素の割合を示しており、対応のリスト1029で示されるアプリケーションプログラムを実行する際に要求される割合の上限値(最大値)を指す。
【0029】
図示されるように、データ1027が指すセキュリティ度が高くなるほど、対応の上限データ1028が指す割合の上限値は小さくなり、セキュリティ度が低くなるほど上限値は大きくなる。したがって、上限データ1028が指す割合によっても、要求されるセキュリティ度を指すことができる。
【0030】
図4に示すアプリケーションプログラムと、それに割当てされるセキュリティ度は一例であり、これに限定されない。また、入力部700を操作してセキュリティランクテーブル1026を書換え可能としてもよい。その場合には、ユーザは、独自に開発したアプリケーションプログラムの名称をセキュリティランクテーブル1026に登録して、対応するセキュリティ度データ1027および上限データ1028の値をユーザが好むように割当てることもできる。
【0031】
アプリケーションリスト1029には図2のコンピュータで実行する際にセキュリティが要求されるプログラムの名称が登録されるが、名称に限定されず、当該アプリケーションプログラムを特定できる識別子であればよい。また、アプリケーションリスト1029に登録されるアプリケーションプログラムは予めメモリ624または固定ディスク626に格納されていると想定する。CPU622はリスト1029に登録された識別子に基づきメモリ624または固定ディスク626を検索して対応するプログラムを読出して、当該プログラムの命令を実行する。これにより、コンピュータにより当該プログラムによる機能が実現される。
【0032】
処理部11は画像補正部104、部分画像特徴値計算部(以下、特徴値計算部という)1045、照合対象外画像要素判定部(以下、要素判定部という)1047、照合対象外画像要素割合計算部(以下、割合計算部という)1048、アプリケーション実行許可処理部(以下、実行許可部という)1049、最大一致位置探索部105、移動ベクトルに基づく類似度計算部(以下、類似度計算部という)106、照合判定部107およびCPU622に対応する制御部108を含む。制御部108は他の各部の動作を制御する。処理部11の各部は対応のプログラムが実行されることによりその機能が実現される。これらのプログラムは予めメモリ624または固定ディスク626に格納されており、CPU622により読出されて実行されることにより、対応の機能が実現される。
【0033】
画像補正部104は、指紋画像データについての濃淡を補正する。
特徴値計算部1045は与えられる指紋画像データを入力して、入力した指紋画像データが示す画像内に設定された複数の部分領域の画像のそれぞれについて、部分画像の模様に応じた値を計算する。制御部108は、当該指紋画像データが参照画像用メモリ1021から読出された場合には、算出された値を部分画像特徴値として、参照画像特徴値メモリ1024に格納し、当該指紋画像データが取込画像用メモリ1023から読出された場合には、算出され値を部分画像特徴値として、取込画像特徴値メモリ1025に格納する。
【0034】
要素判定部1047は、照合されるべき指紋画像から、照合対象から除外されるべき画像要素を判定(検出)する。具体的には、取込画像特徴値メモリ1025を検索して、指紋画像の各部分画像の特徴値を読出し、読出した特徴値の組合わせに基づき、照合対象から除外されるべき部分画像(以下、対象外要素という)を判定する。
【0035】
割合計算部1048は、対象外要素と判定された部分画像の、照合されるべき指紋画像の全体に占める領域の割合を算出する。言い換えると、指紋画像内に設定された部分画像の総数に対する要素判定部1047により対象外要素と判定された部分画像の個数が占める割合を算出する。
【0036】
実行許可部1049は、アプリケーションリスト1029を、予め入力部700を介してユーザが指定した(起動が所望されている)アプリケーションの識別子に基づき検索して、検索結果に基づき当該アプリケーションの識別子がアプリケーションリスト1029に登録されているか否かを判定する。登録されていると判定された場合には、割合計算部1048により計算された割合に基づき、当該指定アプリケーションプログラムの起動(実行)の許可、または禁止(起動を許可しない)を判定する。
【0037】
なお、ここでは、‘アプリケーションプログラムを起動する’とは、メモリに予め格納されたプログラムの命令がCPU622により読出されて読出された命令が実行されるとの動作が、開始されることを指す。‘アプリケーションプログラムの起動が許可されない’とは、アプリケーションプログラムに対してソフトウェア的にロック(lock)をかけることを指す。これにより、アプリケーションプログラムの起動は禁止される。
【0038】
最大一致位置探索部105は、要素判定部1047から出力された判定結果を入力し、入力した判定結果に基づき、指紋画像内に設定された複数の部分画像のうちから照合の対象とされるべき部分画像を限定(決定)する。そして、特徴値計算部1045により算出された当該指紋画像の複数の部分画像の特徴値に従い探索範囲を削減(限定)する。そして削減された範囲についてテンプレートマッチングを実行する。つまり、照合されるべき2つの指紋画像の一方の指紋画像の複数の部分画像それぞれをテンプレートとし、該テンプレートと他方の指紋画像内で最も一致度の高い部分画像の位置を探索して、探索した最大一致度位置を示すデータを出力する。出力された最大一致度位置のデータは計算用メモリ1022に格納される。
【0039】
類似度計算部106は計算用メモリ102から最大一致度位置のデータを読出し、読出したデータに従い、後述の移動ベクトルに基づく類似度を計算する。算出された類似度のデータは計算用メモリ1022に格納される。
【0040】
照合判定部107は計算用メモリ1022から類似度計算部106が算出した類似度のデータを読出し、読出したデータが示す類似度に基づき、照合されるべき2つの指紋画像が一致するか(同一の指紋から採取されたものか)、不一致であるか(異なる指紋から採取されたものか)を判定する。
【0041】
図1の認証機能搭載処理装置1において、2つの指紋画像を照合して、照合結果に基づきアプリケーションの実行の許可を制御する処理について図3のフローチャートに従い説明する。ここでは説明を簡単にするために、照合されるべき2つの指紋画像として、画像Aと画像Bを想定する。また、画像AおよびB、ならびに部分画像はいずれも矩形状の画像としているが形状はこれに限定されるものではない。
【0042】
また、指紋画像の入力時には、指紋センサ100の指紋を読取るための面201には、図3に示すように、面に接触するような態様で(指紋読取り可能な態様で)ユーザの指が予め置かれていると想定する。また、ユーザは図2のコンピュータにより実行(起動)を所望するアプリケーションの識別子を、入力部700を操作して予め入力していると想定する。
【0043】
また、予めユーザは自己の指紋の参照画像Aを参照用メモリ1021に登録(格納)する。具体的には、ユーザは入力部700を操作して参照画像登録の指示を入力すると、CPU622(制御部108)は画像入力部101へ画像入力開始を指示する信号を送り、その後、画像入力終了信号を受信するまで待機する。画像入力部101は指紋センサ100の指紋読取り面201に置かれた指の指紋を読取り(検出し)、読取った指紋画像を画像Aとして入力し、入力した画像Aのデータをバス103を介して参照用メモリ1021の所定のアドレスへ格納する。画像入力部101は、画像Aのデータをメモリ102に格納完了した後、制御部108に画像入力終了信号を送る。これにより、参照画像としての画像Aの登録は終了する。登録された画像Aはユーザを認証するための照合処理において照合される一方の画像として用いられる。
【0044】
なお、参照画像の登録時においては、指紋センサ100の指紋読取り面201には何ら汚れなどは付着しておらず、また指紋読取り面の全領域において指紋を読取ることができたと想定する。したがって、画像Aで示される指紋には汚れやキズなどはなく、鮮明な指紋を指すと想定する。
【0045】
参照画像Aの登録が既に完了した後に、ユーザが入力部700を操作して所望プログラムの実行開始の指示と当該所望プログラムの識別子としてプログラムの名称を入力すると、CPU622(制御部108)は図5の処理を開始する。指紋センサ100の指紋読取り面201にはユーザの指が指紋読取り可能なように載置されていると想定する。なお、載置される指は参照画像の登録時の指と同じである。
【0046】
図5の処理を開始すると、まず、制御部108は、画像入力部101へ画像入力開始を指示する信号を送り、その後、画像入力終了信号を受信するまで待機する。
【0047】
画像入力部101は指紋センサ100の指紋読取り面201に置かれた指の指紋を読取り(検出し)、読取った指紋画像を画像Bとして入力し、入力した画像Bのデータをバス103を介してメモリ102の所定アドレスへ格納する(ステップT1)。本実施の形態においては、画像Bのデータは取込画像用メモリ1023の所定のアドレスへ格納されるとする。画像入力部101は、画像Bのデータをメモリ102に格納完了した後、制御部108に画像入力終了信号を送る。
【0048】
制御部108は画像入力終了信号を受信すると、画像補正部104に画像補正開始の指示信号を送り、その後、画像補正終了信号を受信するまで待機する。一般に、画像入力部101および指紋センサ100の特性、または指の皮膚の乾燥度合い(皮脂の量)、または読取り面に指を押付ける圧力の程度に従い、入力画像の画素の濃淡値、または画像全体の濃度分布は変化するために、入力画像の画質は一様ではない。
【0049】
画像補正部104は、画像補正開始の指示信号を入力すると画像入力時の条件に起因する画質の変動が抑制されるように、入力画像の画質を補正する(ステップT2)。具体的には、メモリ102の参照画像用メモリ1021と取込画像用メモリ1023に格納された画像AとBのデータを読出して、読出した画像データのそれぞれに対して、当該画像データに対応の画像の全体または画像を分割した小領域の部分画像ごとに、ヒストグラムの平坦化(「コンピュータ画像処理入門」総研出版P98参照)または画像の二値化処理(「コンピュータ画像処理入門」総研出版P66−69参照)を行なう。そして処理後の画像データを参照画像用メモリ1021と取込画像用メモリ1023に格納する。したがって、この時点では参照画像用メモリ1021と取込画像用メモリ1023には、補正前と補正後の両方の参照画像Aと取込画像Bが格納された状態となる。
【0050】
なお、ここでは取込画像Bが入力される毎に参照画像Aについて画像補正処理を繰返すようにして補正後の参照画像を生成するようにしているが次のようにしてもよい。つまり、参照画像Aを入力して参照画像用メモリ1021に格納するとともに、画像補正部104により参照画像Aを補正して、補正後の参照画像のデータも参照画像用メモリ1021に格納するようにしてもよい。このようにした場合には、取込画像Bが入力される毎に参照画像Aについて画像補正処理を繰返す動作を省略できる。
【0051】
画像補正部104は画像Aと画像Bに対する画像補正処理の終了後、制御部108に画像補正処理終了信号を送る。
【0052】
以降で、画像補正部104により画像補正処理が施された画像AとBに対して、特徴値計算部1045により部分画像の特徴値が算出される(ステップT2a)。
【0053】
(部分画像特徴値の算出)
次に、ステップT2aにおける部分画像の特徴値の算出手順について説明する。
【0054】
<3種類の特徴値>
まず、3種類の特徴値を採る場合について説明する。図6は、照合対象の画像Aと画像Bそれぞれについて、その部分画像に対し、水平・垂直方向の画素数の最大値などを記載した図である。ここでは、画像AとBおよび部分画像は、直交するX軸およびY軸で規定される2次元座標空間に対応の矩形状の平面画像と想定する。図6での部分画像は、X軸に従う水平方向およびY軸に従う垂直方向ともに画素数16である16画素×16画素で構成されている。
【0055】
本実施の形態1による部分画像特徴値計算は計算対象部分画像につきその模様に応じた値を部分画像特徴値として算出する。つまり、水平方向の最大連続黒画素数maxhlenと垂直方向の最大連続黒画素数maxvlenとを検出し、検出した水平方向の最大連続黒画素数maxhlen(模様が水平方向に従う模様である傾向(たとえば横縞である傾向)の大きさを示す値)と垂直方向の最大連続黒画素数maxvlen(模様が垂直方向に従う模様である傾向(たとえば縦縞である傾向)の大きさを示す値)とを比較し、比較結果、相対的に大きい方向が水平方向と判定された場合には、水平(横縞)を意味する値“H”を、垂直方向と判定された場合には、垂直(縦縞)を意味する値“V”を、その他と判定された場合には“X”を出力する。
【0056】
図6を参照して、最大連続黒画素数maxhlenは、水平方向に従うn=0〜15の16個の各行について検出された連続する黒(図中の斜線)画素数のうちの、最大の黒画素数を指す。行について検出された連続する黒画素数とは、当該行が有する黒画素が1つ以上連続する部分のうちから検出した連続する最大の黒画素数を指す。また、最大連続黒画素数maxvlenは、垂直方向に従うm=0〜15の16個の各列について検出された連続する黒(図中の斜線)画素数のうちの、最大の黒画素数を指す。列について検出された連続する黒画素数とは、当該列が有する黒画素が1つ以上連続する部分のうちから検出した連続する最大の黒画素数を指す。
【0057】
但し、上記で“H”あるいは“V”と判定された場合でも、最大連続黒画素数maxhlenおよびmaxvlenのそれぞれが、あらかじめ各方向に対して設定している下限値hlen0およびvlen0の値以上を指していないと判定される場合には、“X”を出力する。これら条件を式として表現すると、maxhlen>maxvlenかつmaxhlen≧hlen0ならば“H”を出力し、maxvlen>maxhlenかつmaxvlen≧vlen0ならば“V”を出力し、その他ならば“X”を出力するとなる。
【0058】
図7には、本発明の実施の形態1による部分画像特徴値計算処理のフローチャートが示される。このフローチャートは計算対象となる参照用メモリ1021の参照画像のN個の部分領域の画像である部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて参照用部分画像特徴値計算結果メモリ1024に格納される。同様に取込み画像用メモリ1024の取込画像Bのn個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて取込画像用部分画像特徴値計算結果メモリ1025に格納される。
【0059】
まず、制御部108は、特徴値計算部1045に部分画像特徴値計算開始信号を送り、その後、部分画像特徴値計算終了信号を受信するまで待機する。特徴値計算部1045は、計算対象画像の部分画像Riを参照用メモリ1021ないしは取込画像用メモリ1023から読出し、計算用メモリ1022に一旦格納する(ステップS1)。特徴値計算部1045は格納された部分画像Riを読出し、水平方向の最大連続黒画素数maxhlenと垂直方向の最大連続黒画素数maxvlenとを求める(ステップS2)。ここで、水平方向の最大連続黒画素数maxhlenと垂直方向の最大連続黒画素数maxvlenとを求める処理を、図8と図9に基づいて説明する。
【0060】
図8は、本発明の実施の形態1による部分画像特徴値計算処理(ステップT2a)内の水平方向の最大連続黒画素数maxhlenを求める処理(ステップS2)のフローチャートである。特徴値計算部1045は、計算用メモリ1022から部分画像Riを読出すとともに、水平方向の最大連続黒画素数maxhlenと垂直方向の画素カウンタjとを初期化、即ち、maxhlen=0、j=0とする(ステップSH001)。
【0061】
次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数を指す変数nの値とを比較し(ステップSH002)、j≧nならば、次にステップSH016を実行し、その他ならば、次にステップSH003を実行する。本実施の形態1ではn=16であり、かつ、処理開始時には、j=0であるため、ステップSH003に進む。
【0062】
ステップSH003では、水平方向の画素カウンタi、前の画素値c、現在の画素連続数len、現在の行での最大黒画素連続数maxの初期化、即ち、i=0、c=0、len=0、max=0とする(ステップSH003)。次に、水平方向の画素カウンタiと水平方向の最大画素数mとを比較(ステップSH004)し、i≧mならば次にステップSH011を実行し、その他ならば次にステップSH005を実行する。本実施の形態1ではm=16であり、かつ、処理開始時にはi=0であるため、ステップSH005に進む。
【0063】
ステップSH005では、前の画素値cと現在比較対象となっている座標(i,j)の画素値pixel(i,j)とを比較し、c=pixel(i,j)ならばステップSH006を実行し、その他ならばステップSH007を実行する。本実施の形態1では、cは初期化されていて0(白画素)、pixel(0,0)は、図6を参照して、0(白画素)であるため、c=pixel(i,j)が成立すると判定されて(ステップSH005でY)、処理はステップSH006へ進む。
【0064】
ステップSH006では、len=len+1を実行する。本実施の形態1では、初期化によりlen=0となっているので、1を付加されて、len=1となる。次に、ステップSH010へ進む。
【0065】
ステップSH010では、i=i+1、即ち、水平方向の画素カウンタiの値を1増加させる。ここでは、初期化によりi=0となっており、1を付加されて、i=1となる。次にステップSH004に戻る。以降、0行目の画素値、即ち、pixel(i,0)は、図6を参照して、すべて白画素で0であるため、i=15となるまで、ステップSH004〜SH010を繰返すこととなり、ステップSH010処理後にi=16となった時点での各々の値は、i=16, c=0, len=15となっている。この状態で次にステップSH004に進む。m=16、i=16であるので、さらにステップSH011に進む。
【0066】
ステップSH011では、c=1かつmax<lenならばステップSH012を実行し、その他ならばステップSH013を実行する。現時点では、c=0,len=15,max=0であるので、次に、ステップSH013に進む。
【0067】
ステップSH013では、これまでの行での水平方向の最大連続黒画素数maxhlenと現在の行での最大連続黒画素数maxとを比較し、maxhlen<maxならばステップSH014を実行し、その他ならばステップSH015を実行する。現時点では、maxhlen=0,max=0であるので、次に、ステップSH015に進む。
【0068】
ステップSH015では、j=j+1、即ち、垂直方向の画素カウンタjの値を1増加させる。現時点では、j=0であるので、j=1となり、SH002に戻ることになる。
【0069】
以降、j=1〜15について同様にステップSH002〜SH015の処理を繰返し、ステップSH015処理後、j=16となった時点で、次にステップSH002で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nの値とを比較する。比較結果、j≧nならば次にステップSH016を実行し、その他ならば次にステップSH003を実行すると、現時点では、j=16、n=16であるので、次に、ステップSH016に進む。
【0070】
ステップSH016では、maxhlenを出力することになるが、上述の説明、および、図6を参照して、maxhlenには、水平方向の最大連続黒画素数である、y=2行目のmax値の15が格納されていることが分かり、maxhlen=15が出力される。
【0071】
次に、図9の、本発明の実施の形態1による部分画像特徴値計算処理(ステップT2a)内の垂直方向の最大連続黒画素数maxvlenを求める処理(ステップS2)のフローチャートについて説明するが、図9のステップSV001〜SV016の処理は、上記に説明した図8のフローチャートと基本的に同じ処理を行なうことが明らかであるから、図8の説明から処理内容は容易に理解できる。したがって、図9の詳細な説明は省略する。図9のフローチャートに従う処理が実行される結果、出力される垂直方向の最大連続黒画素数maxvlenは、図6に示されるように、x方向に対するmax値である4を示す。
【0072】
上述の手順で出力されたmaxhlenとmaxvlenとを参照した以降の処理を図7のステップS3以降に戻って説明する。
【0073】
ステップS3では、maxhlenとmaxvlen、および、所定の最大連続黒画素数下限値hlen0とを比較し、maxhlen>maxvlenかつmaxhlen≧hlen0の条件が成立すると判定されるならば(ステップS3でY)、次にステップS7を実行し、成立しないと判定されるならば(ステップS3でN)、次にステップS4を実行する。現時点では、maxhlen=14、maxvlen=4と想定し、さらに下限値hlen0が2と想定すれば、当該条件は成立するので処理はステップS7に進む。ステップS7では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元画像に対する部分画像Riの特徴値格納領域に“H”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0074】
仮に、下限値hlen0を15と想定すれば、ステップS3の条件は成立しないと判定されるので、処理は次にステップS4に進む。ステップS4では、maxvlen>maxhlenかつmaxvlen≧vlen0の条件が成立するか否かが判定される。成立すると判定されるならば(ステップS4でY)、次にステップS5の処理が実行されて、成立しないと判定されるならば次にステップS6の処理を実行する。
【0075】
この場合、maxhlen=15、maxvlen=4、およびvlen0=5と想定すれば、当該条件は成立しないので次にステップS6に進む。ステップS6では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元画像に対する部分画像Riの特徴値格納領域に“X”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0076】
仮にステップS2の出力値がmaxhlen=4およびmaxvlen=10であり、hlen0=2およびvlen0=12であると想定すると、ステップS3の条件は成立せず、さらには、ステップS4の条件も成立しないので、ステップS5の処理が実行される。ステップS5では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元画像に対する部分画像Riの特徴値格納領域に“V”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0077】
以上のように本実施の形態1による特徴値計算部1045は、計算対象画像の部分画像Ri(図6参照)について、水平方向および垂直方向を各画素列を抽出(特定)して、抽出された画素列それぞれにおける黒画素の個数に基づいて、該部分画像の模様が水平方向に従う模様である傾向(たとえば横縞である傾向)、または垂直方向に従う模様である傾向(たとえば縦縞である傾向)またはそのどちらでもないことを判別して、その判別結果に応じた値(“H”、“V”および“X”のいずれか)を出力する。この出力値が該部分画像Riの特徴値を示す。ここでは連続黒画素の個数に基づき特徴値を求めているが、連続白画素の個数に基づいても同様にして特徴値を求めることができる。
【0078】
<3種類の特徴値の他の例>
次に、3種類の部分画像特徴値の他の例を説明する。そのための部分画像特徴値計算の概略を図10(A)〜(F)に従って説明する。図10(A)〜(F)は、画像の部分画像Riに対し、黒画素(図中の斜線部)と白画素(図中の白地部)の総数などを記載して示す図である。これらの図での部分画像Riは、水平方向、垂直方向ともに画素数16である16画素×16画素の部分領域で構成されている。図10(A)〜(F)では、各部分画像は直交するi軸とj軸で規定される2次元座標空間に対応する平面画像を指す。
【0079】
ここでは、図10(A)の計算対象部分画像Riにつき、図10(B)のように計算対象部分画像を左右に1画素ずつずらして重ねたときの黒画素数の増加量hcntと、図10(C)のように計算対象部分画像を上下に1画素ずつずらして重ねたときの黒画素数の増加量vcntとを求め、求めた増加量hcntと増加量vcntとを比較し、増加量hcntが増加量vcntの2倍より大きければ、水平を意味する値“H”を、増加量hcntが増加量vcntの2倍よりも大きければ、垂直を意味する値“V”を出力する。図10(D)〜(F)には他の例が同様に示されている。
【0080】
ここでは、図10(A)〜(C)に示す‘画像を左右に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i+1,j)となるように元の画像をi軸に平行に+1画素移動させた画像と、全ての画素について座標(i,j)を(i-1,j)となるように元の画像をi軸に平行に-1画素移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0081】
ここでは、図10(D)〜(F)に示す‘画像を上下に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i,j+1)となるように元の画像をj軸に平行に+1画素移動させた画像と、全ての画素について座標(i,j)を(i,j-1)となるように元の画像をj軸に平行に-1画素移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0082】
これらの場合において、ある画素において黒画素どうしが重なると、当該ある画素は黒画素となり、また、白画素と黒画素どうしが重なると当該ある画素は黒画素となり、また、ある画素において白画素どうしが重なると、当該ある画素は白画素となる。
【0083】
次に、この部分画像特徴値計算処理の詳細を図11(A)のフローチャートに従って説明する。このフローチャートは計算対象となる参照用メモリ1021の参照画像AのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて参照用部分画像特徴値計算結果メモリ1024に格納される。同様に取込画像用メモリ1024の取込画像BのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて取込画像用部分画像特徴値計算結果メモリ1025に格納される。
【0084】
まず、制御部108は、特徴値計算部1045に部分画像特徴値計算開始信号を送り、その後、部分画像特徴値計算終了信号を受信するまで待機する。
【0085】
特徴値計算部1045は、計算対象画像の部分画像Ri(図10(A)参照)を参照用メモリ1021ないしは取込画像用メモリ1023から読出し、計算用メモリ1022に一旦格納する(ステップST1)。部分画像特徴値計算部1045は格納された部分画像Riを読出し、図10(B)のように左右にずらしたときの増加量hcntと図10(C)のように上下にずらしたときの増加量vcntとを求める(ステップST2)。
【0086】
増加量hcntと増加量vcntとを求める処理を、図12と図13に基づき説明する。図12は増加量hcntを求める処理(ステップST2)のフローチャートである。図13は増加量vcntを求める処理(ステップST2)のフローチャートである。
【0087】
図12を参照して、特徴値計算部1045は、計算用メモリ1022から部分画像Riを読出すとともに、垂直方向の画素カウンタjを初期化、すなわち、j=0とする(ステップSHT01)。次に、垂直方向の画素カウンタjと垂直方向の最大画素数nとを比較(ステップSHT02)し、j>nならば次にステップSHT10を実行、その他ならば次にステップSHT03を実行する。ここではn=16であり、かつ、処理開始時には、j=0であるためステップSHT03に進む。
【0088】
ステップSHT03では、水平方向の画素カウンタiの初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較(ステップSHT04)し、i>mならば次にステップSHT05を実行し、その他ならば次にステップSHT06を実行する。ここでは、m=16であり、かつ、処理開始時には、i=0であるため、ステップSHT06に進む。
【0089】
ステップSHT06では、部分画像Riを読出して現在比較対象となっている座標(i、j)の画素値pixel(i、j)が1(黒画素)であるか、あるいは、座標(i、j)よりも水平方向に一つ左の座標(i-1、j)の画素値pixel(i-1、j)が1であるか、あるいは、座標(i、j)よりも水平方向に一つ右の座標(i+1、j)の画素値pixel(i+1、j)が1であるかを判別する。pixel(i、j)=1あるいはpixel(i-1、j)=1あるいはpixel(i+1、j)=1ならば、次にステップSHT08を実行し、その他ならば次にステップSHT07を実行する。
【0090】
ここで、部分画像Riの上下左右の1画素分の範囲、すなわち、Ri(-1〜m+1、-1)、Ri(-1、-1〜n+1)、Ri(m+1、-1〜n+1)、Ri(-1〜m+1、n+1)の範囲の画素値は、図11(B)に示すように0(白画素)とする。ここでは、図10(A)を参照して、pixel(0、0)=0、pixel(-1、0)=0、pixel(1、0)=0であるため、ステップSHT07へ進む。
【0091】
ステップSHT07では、計算用メモリ1022に格納する左右に1画素ずつずらして重ねた画像WHiの座標(i、j)の画素値work(i、j)(図11(C)参照)に0を格納する。すなわち、work(0、0)=0とする。次に、ステップSHT09に進む。
【0092】
ステップSHT09では、i=i+1、すなわち、水平方向の画素カウンタiを1増加させる。ここでは、初期化によりi=0となっており、1を付加されてi=1となる。次にステップSHT04に戻る。以降、0行目の画素値、すなわち、pixel(i、0)は、図10(A)を参照して、すべて白画素で0であるため、i=15となるまで、ステップSHT04〜SHT09を繰返すこととなり、ステップSHT09処理後にi=16となる。この状態でSHT04に進む。m=16、i=16であるのでステップSHT05に進む。
【0093】
ステップSHT05では、j=j+1、すなわち、垂直方向の画素カウンタjを1増加させる
。現時点では、j=0であるので、j=1となり、SHT02に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSHT03、ステップSHT04と進む。以降、pixel(i+1、j)=1となる1行目の14列目の画素、すなわち、i=14、j=1になるまでステップSHT04〜SHT09を繰返すこととなる。ステップSHT09処理後にi=14となる。m=16、i=14であるのでSHT06に進む。
【0094】
ステップSHT06では、pixel(i+1、j)=1、すなわち、pixel(14+1、1)=1であるので、ステップSHT08に進む。
【0095】
ステップSHT08では、計算用メモリ1022に格納する左右に1画素ずつずらして重ねた画像WHi(図10(B)参照)の座標(i、j)の画素値work(i、j)に1を格納するすなわち、work(14、1)=1とする。
【0096】
ステップSHT09に進み、i=16となって、ステップSHT04へ進んだ場合、m=16、i=16であるので、ステップSHT05に進み、j=2となって、ステップSHT02へ進む。以降、j=2〜15について同様にステップSHT02〜SHT09の処理を繰返し、ステップSHT09の処理後、j=16となった時点で、次にステップSHT02で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、j≧nならば次にステップSHT10を実行、その他ならば次にステップSHT03を実行する。現時点ではj=16、n=16であるので、次にステップSHT10に進む。この時点で計算用メモリ1022には、現在比較対照を行っている部分画像Riを元に、図10(B)に示すような左右に1画素ずつずらして重ねた画像WHiが格納されている。
【0097】
ステップSHT10では、計算用メモリ1022に格納した左右に1画素ずつずらして重ねた画像WHiの画素値work(i、j)と現在比較対照を行っている部分画像Riの画素値pixel(i、j)の差分cntを計算する。このworkとpixelの差分cntを計算する処理を図14に基づいて説明する。
【0098】
図14は、現在比較対照を行っている部分画像Riの画素値pixel (i、j)と、部分画像Riを左右、あるいは上下に1画素づつずらして重ねた画像WHiの画素値work(i、j)との差分cntを計算するフローチャートである。特徴値計算部1045は、計算用メモリ1022から部分画像Riと1画素づつずらして重ねた画像WHiを読出すとともに、差分カウンタcntと垂直方向の画素カウンタjとを初期化、すなわちcnt=0、j=0とする(ステップSC001)。次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し(ステップSC002)、j≧nならば次に図12のフローチャートに戻り、ステップSHT11でhcntにcntを代入し、その他ならば次にステップSC003を実行する。
【0099】
ここでは、n=16であり、かつ、処理開始時には、j=0であるためステップSC003に進む。ステップSC003では、水平方向の画素カウンタiの初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較し(ステップSC004)、i≧mならば次にステップSC005を実行し、その他ならば次にステップSC006を実行する。ここではm=16であり、かつ、処理開始時には、i=0であるため、ステップSC006に進む。
【0100】
ステップSC006では、現在比較対象となっている座標(i、j)の部分画像Riの画素値pixel(i、j)が0(白画素)であり、かつ、1画素づつずらして重ねた画像WHiの画素値work(i、j)が1(黒画素)であるかを判別し、pixel(i、j)=0かつwork(i、j)=1ならば次にステップSC007を実行し、その他ならば次にステップSC008を実行する。ここでは、図10(A)と図10(B)を参照して、pixel(0、0)=0、work(0、0)=0であるため、ステップSC008へ進む。
【0101】
ステップSC008では、i=i+1、すなわち、水平方向の画素カウンタiを1増加させる。ここでは、初期化によりi=0となっており、1を加えてi=1となる。次にステップSC004に戻る。以降、0行目の画素値、すなわちpixel(i、0)とwork(i、0)は、図10(A)と図10(B)を参照して、すべて白画素で0であるため、i=15となるまで、ステップSC004〜SC008を繰返すこととなり、ステップSC008処理後にi=16となった時点での各々の値は、cnt=0、i=16となっている。この状態でSC004に進む。m=16、i=16であるので、ステップSC005に進む。
【0102】
ステップSC005ではj=j+1、すなわち、垂直方向の画素カウンタjを1増加させる。現時点では、j=0であるので、j=1となり、SC002に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSC003、ステップSC004と進む。以降、pixel(i、j)=0、かつ、work(i、j)=1となる1行目の14列目の画素、すなわち、i=15、j=1になるまでステップSC004〜SC008を繰返すこととなり、ステップSC008処理後にi=15となる。m=16、i=15であるのでSC006に進む。
【0103】
ステップSC006では、pixel(i、j)=0かつwork(i、j)=1、すなわち、pixel(14、1)=0かつwork(14、1)=1であるので、ステップSC007に進む。
【0104】
ステップSC007では、cnt=cnt+1、すなわち差分カウンタcntの値を1増加させる。ここでは、初期化によりcnt=0となっており、1を加えてcnt=1となる。次に、ステップSC008に進み、i=16となってステップSC004へ進む。m=16、i=16であるので、ステップSC005に進み、j=2となってステップSC002へ進む。
【0105】
以降、j=2〜15について同様にステップSC002〜SC009の処理を繰返し、ステップSC008処理後、j=15となった時点で、次にステップSC002で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、j≧nならば次に図12のフローチャートに戻り、ステップSHT11を実行し、その他ならば次にステップSC003を実行する。現時点では、j=16、n=16であるので、図13のフローチャートを終了し、次に図12のフローチャートに戻り、ステップSHT11に進む。現時点では、差分カウンタcnt=21となっている。
【0106】
ステップSHT11では、hcnt=cnt、すなわち左右にずらしたときの増加量hcntに図13のフローチャートで計算した差分cntの値を代入する。次にステップSHT12に進む。ステップSHT12では、左右にずらしたときの増加量hcnt=21を出力する。
【0107】
次に、図11の特徴値計算処理(ステップT2a)内の上下にずらしたときの増加量vcntを求める処理(ステップST2)の図13のステップSVT01〜SVT12の処理は、上記に説明した図12と基本的に同じ処理を行なうことが明らかであり、詳細な説明は省略する。
【0108】
出力される上下にずらしたときの増加量vcntとして、図10(C)の上下に1画素づつずらして重ねた画像WViと図10(A)の部分画像Riとの差分である96が出力される。
【0109】
出力されたhcntとvcntとについて以降の処理を図11のステップST3以降に戻って説明する。
【0110】
ステップST3では、hcntとvcnt、および、上下方向の最大黒画素数増加量下限値vcnt0とを比較し、vcnt>2×hcntかつvcnt≧vcnt0の条件が成立するならば次にステップST7を実行し、成立しないならば次にステップST4を実行する。現時点では、vcnt=96、hcnt=21であり、vcnt0=4と想定すれば、処理は次にステップST7に進む。ステップST7では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“H”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0111】
仮に、ステップST2の出力値が、vcnt=30、hcnt=20であり、vcnt0=4と想定するならば、ステップST3の条件は成立しないので次にステップST4に進む。ステップST4では、hcnt>2×vcntかつhcnt≧hcnt0の条件が成立すると判定されるならば次にステップST5を実行し、成立しないと判定されるならば、次にステップST6を実行する。
【0112】
ここでは次にステップST6に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“X”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0113】
さらに、仮にステップST2の出力値が、vcnt=30、hcnt=70であり、hcnt0=4と想定するならば、ステップST3で、vcnt>2×hcntかつvcnt≧vcnt0が成立しないと判定されるので、次にステップST4を実行する。ステップST4では、hcnt>2×vcntかつhcnt≧hcnt0の条件が成立するか否かが判定される。成立すると判定されるならば次にステップST5を実行し、成立しないと判定されるならば次にステップST6を実行する。
【0114】
ここでは成立すると判定されるので、次にステップST5に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“V”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0115】
このようにして算出される部分画像特徴値計算は、参照画像A、あるいは、取込画像Bにノイズがある場合、例えば、指のしわ等によって指紋画像の一部が欠けているために、図10(D)に示すように部分画像Riの中央に垂直にしわが入っているような画像であっても、図10(E)と図10(F)に示すように、hcnt=29とvcnt=90となって、vcnt0=4と設定すれば、図11のステップST3で、vcnt>2×hcntかつvcnt≧vcnt0ならば次にステップST7を実行し、水平を意味する値“H”を出力する。このように部分画像特徴値計算は、画像に含まれるノイズ成分に対して計算精度を維持できるという特徴を持つ。
【0116】
上述のように特徴値計算部1045は、部分画像Riについて、左右に所定の画素づつずらして重ねた画像WHiと、上下に所定の画素づつずらして重ねた画像WViとを各々求め、さらに、その左右に1画素づつずらして重ねた画像WHiと部分画像Riとの差分である黒画素数の増加量hcntと、上下に1画素づつずらして重ねた画像WViと部分画像Riとの差分である黒画素数の増加量vcntとを各々求め、それら増加量に基づいて、該部分画像Riの模様が水平方向に従う模様である傾向(たとえば横縞である傾向)、または垂直方向に従う模様である傾向(たとえば縦縞である傾向)またはそのどちらでもないことを判別して、その判別結果に応じた値(“H”、“V”および“X”のいずれか)を出力する。この出力値が該部分画像Riの特徴値を示す。
【0117】
<3種類の特徴値の更なる他の例>
部分画像特徴値の3種類は、上述のものに限定されず、次のような別の3種類であってもよい。そのための部分画像特徴値計算の概略を図15(A)〜(F)に従って説明する。図15(A)〜(F)は、画像の部分画像Riに対し、黒画素と白画素の総数などを記載して示す図である。これらの図での部分画像Riは、水平方向、垂直方向ともに画素数16である16画素×16画素の部分領域で構成されている。部分画像特徴値計算は、図15(A)の計算対象部分画像Riにつき、計算対象部分画像を右斜め方向に1画素づつずらして重ねたときの黒画素数の増加量rcnt(すなわち図15(B)の画像WHiの斜線部分)と、計算対象部分画像を左斜め方向に1画素づつずらして重ねたときの黒画素数の増加量lcnt(すなわち図15(C)の画像WViの斜線部分)とを求め、求めた増加量rcntと増加量lcntとを比較し、増加量lcntが増加量rcntの2倍より大きければ、右斜めを意味する値“R”を、増加量rcntが増加量lcntの2倍よりも大きければ、左斜めを意味する値“L”を、その他の場合には“X”を出力する。
【0118】
‘画像を右斜め方向に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i+1,j-1)となるように元の画像を移動させた画像と、全ての画素について座標(i,j)を(i-1,j+1)となるように元の画像を移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0119】
‘画像を左斜め方向に1画素ずつずらして重ねたときの黒画素の増加量’とは、『元の画像(16×16画素)の各画素の座標を(i,j)とするならば、全ての画素について座標(i,j)を(i-1,j-1)となるように元の画像を移動させた画像と、全ての画素について座標(i,j)を(i+1,j-1)となるように元の画像を移動させた画像とを生成して、生成した2つの画像と元の画像とを同じ座標(i,j)の画素同士が一致するように重ね合わせて得られる画像(16×16画素)の黒画素の総数と、元の画像の黒画素の総数との差分』を指す。
【0120】
この場合、ある画素において黒画素どうしが重なると、当該ある画素は黒画素となり、また、白画素と黒画素どうしが重なると当該ある画素は黒画素となり、また、ある画素において白画素どうしが重なると、当該ある画素は白画素となる。
【0121】
ただし、上記で“R”あるいは“L”と判定された場合でも、黒画素数の増加量があらかじめ両方向に対して設定している下限値lcnt0ないしrcnt0以上でないならば“X”を出力する。これら条件を式として表現すると、(1)lcnt>2×rcntかつ(2)lcnt≧lcnt0が成立するならば“R”を出力し、(3)rcnt>2×lcntかつ(4)rcnt≧rcnt0が成立するならば“L”を出力し、その他ならば“X”を出力するとなる。
【0122】
ここでは、増加量lcntが増加量rcntの2倍より大きければ右斜めを意味する値“R”を出力しているが、この閾値を指す2倍という値を別の値に変更しても良い。右斜め方向についても同様である。さらに、部分画像の中で黒画素数がある範囲(例えば部分画像Riの全体画素数に対して30%以上70%以下など)内にあり、照合処理に適する画像であることが予めわかっているような場合は、上記(2)と(4)の条件式については削除しても良い。
【0123】
図16(A)は、さらなる他の部分画像特徴値計算処理のフローチャートである。このフローチャートは計算対象となる参照用メモリ1021の参照画像AのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて参照用部分画像特徴値計算結果メモリ1024に格納される。同様に取込画像用メモリ1024の取込画像BのN個の部分画像Riについてそれぞれ繰返されて、計算結果値は各部分画像Ri毎に対応付けて取込画像用部分画像特徴値計算結果メモリ1025に格納される。次に、この部分画像特徴値計算処理の詳細を図16に従って説明する。
【0124】
制御部108は、特徴値計算部1045に部分画像特徴値計算開始信号を送り、その後、部分画像特徴値計算終了信号を受信するまで待機する。
【0125】
特徴値計算部1045は、計算対象画像の部分画像Ri(図15(A)参照)を参照用メモリ1021ないしは取込画像用メモリ1023から読出し、計算用メモリ1022に一旦格納する(ステップSM1)。特徴値計算部1045は格納された部分画像Riを読出し、図15(B)のように右斜め方向にずらしたときの増加量rcntと図15(C)のように左斜め方向にずらしたときの増加量lcntとを求める(ステップSM2)。
【0126】
増加量rcntと増加量lcntとを求める処理を、図17と図18に基づき説明する。図17は部分画像特徴値計算処理(ステップT2a)内の右斜め方向にずらしたときの増加量rcntを求める処理(ステップSM2)のフローチャートである。
【0127】
図17を参照して、特徴値計算部1045は、計算用メモリ1022から部分画像Riを読出すとともに、垂直方向の画素カウンタjの値を初期化、すなわち、j=0とする(ステップSR01)。次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較(ステップSR02)し、比較結果がj≧nを指すならば次にステップSR10を実行、指さないならば次にステップSR03を実行する。ここではn=16であり、かつ、処理開始時には、j=0であるためステップSR03に進む。
【0128】
ステップSR03では、水平方向の画素カウンタiの値の初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較(ステップSR04)し、比較結果がi≧mを指すならば次にステップSR05を実行し、指さないならば次にステップSR06を実行する。本実施の形態ではm=16であり、かつ、処理開始時には、i=0であるため、ステップSR06に進む。
【0129】
ステップSR06では、部分画像Riを読出し、現在比較対象となっている座標(i、j)の画素値pixel(i、j)が1(黒画素)であるか、あるいは、座標(i、j)よりも一つ右上の座標(i+1、j+1)の画素値pixel(i+1、j+1)が1であるか、あるいは、座標(i、j)よりも一つ右下の座標(i+1、j-1)の画素値pixel(i+1、j-1)が1であるかを判別する。pixel(i、j)=1あるいはpixel(i+1、j+1)=1あるいはpixel(i+1、j-1)=1であると判別するならば、次にステップSR08を実行し、その他ならば次にステップSR07を実行する。
【0130】
ここで、部分画像Riの上下左右の1画素分の範囲、すなわち、Ri(-1〜m+1、-1)、Ri(-1、-1〜n+1)、Ri(m+1、-1〜n+1)、Ri(-1〜m+1、n+1)の範囲の画素値は、図16(B)に示すように0(白画素)とする。ここでは、図15(A)を参照して、pixel(0、0)=0、pixel(1、1)=0、pixel(1、-1)=0であるため、ステップSR07へ進む。
【0131】
ステップSR07では、計算用メモリ1022に格納する右斜め方向に1画素づつずらして重ねた画像WHiの座標(i、j)の画素値work(i、j)(図16(C)参照)に0を格納する。すなわち、work(0、0)=0とする。次に、ステップSR09に進む。
【0132】
ステップSR09では、i=i+1、すなわち、水平方向の画素カウンタiの値を1増加させる。ここでは、初期化によりi=0となっており、1が加えられてi=1となる。次にステップSR04に戻る。
【0133】
ステップSR05では、j=j+1、すなわち、垂直方向の画素カウンタjの値を1増加させる。現時点では、j=0であるので、j=1となり、SR02に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSR03、ステップSR04と進む。以降、pixel(i、j)=1となる1行目の5列目の画素、すなわち、i=5、j=1になるまでステップSR04〜SR09を繰返すこととなり、ステップSR09処理後にi=5となる。m=16、i=5であるのでSR06に進む。
【0134】
ステップSR06では、pixel(i、j)=1、すなわち、pixel(5、1)=1であるので、ステップSR08に進む。
【0135】
ステップSR08では、計算用メモリ1022に格納する右斜め方向に1画素づつずらして重ねた画像WRi(図15(B)参照)の座標(i、j)の画素値work(i、j)に1を格納する。すなわち、work(5、1)=1とする。
【0136】
ステップSR09に進み、i=16となって、ステップSR04へ進む。m=16、i=16であるので、ステップSR05に進み、j=2となって、ステップSR02へ進む。以降、j=2〜15について同様にステップSR02〜SR09の処理を繰返し、ステップSR09の処理後、j=16となった時点で、次にステップSR02で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、比較結果がj≧nを指すならば次にステップSR10を実行、指さないならば次にステップSR03を実行する。現時点ではj=16、n=16であるので、次にステップSR10に進む。この時点で計算用メモリ1022には、現在比較対照を行っている部分画像Riを元に、図15(B)に示すような右斜め方向に1画素づつずらして重ねた画像WRiが格納されている。
【0137】
ステップSR10では、計算用メモリ1022に格納した右斜め方向に1画素づつずらして重ねた画像WRiの画素値work(i、j)と現在比較対照を行っている部分画像Riの画素値pixel(i、j)の差分cntを計算する。このworkとpixelの差分cntを計算する処理を図19に基づいて説明する。
【0138】
図19は、現在比較対照を行っている部分画像Riの画素値pixel (i、j)と、部分画像Riを右斜め方向、あるいは左斜め方向に1画素づつずらして重ねた画像WRiの画素値work(i、j)との差分cntを計算するフローチャートである。特徴値計算部1045は、計算用メモリ1022から部分画像Riと1画素づつずらして重ねた画像WRiを読出すとともに、差分カウンタcntと垂直方向の画素カウンタjの値を初期化、すなわちcnt=0、j=0とする(ステップSN001)。次に、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し(ステップSN002)、比較結果がj≧nを指すならば次に図17のフローチャートに戻り、ステップSR11でrcntにcntを代入し、指さないならば次にステップSN003を実行する。
【0139】
ここではn=16であり、かつ、処理開始時には、j=0であるためステップSN003に進む。ステップSN003では、水平方向の画素カウンタiの初期化、すなわち、i=0とする。次に、水平方向の画素カウンタiの値と水平方向の最大画素数mとを比較し(ステップSN004)、比較結果がi≧mを指すならば次にステップSN005を実行し、指さないならば次にステップSN006を実行する。ここではm=16であり、かつ、処理開始時には、i=0であるため、ステップSN006に進む。
【0140】
ステップSN006では、現在比較対象となっている座標(i、j)の部分画像Riの画素値pixel(i、j)が0(白画素)であり、かつ、1画素づつずらして重ねた画像WRiの画素値work(i、j)が1(黒画素)であるかを判別し、pixel(i、j)=0かつwork(i、j)=1ならば次にステップSN007を実行し、その他ならば次にステップSN008を実行する。ここでは、図15(A)と図15(B)を参照して、pixel(0、0)=0、work(0、0)=0であるため、ステップSN008へ進む。
【0141】
ステップSN008では、i=i+1、すなわち、水平方向の画素カウンタiを1増加させる。ここでは、初期化によりi=0となっており、1を加えてi=1となる。次にステップSN004に戻る。以降、i=15となるまで、ステップSN004〜SN008を繰返すこととなり、ステップSN008処理後にi=16となった時点でSN004に進む。m=16、i=16であるので、ステップSN005に進む。
【0142】
ステップSN005ではj=j+1、すなわち、垂直方向の画素カウンタjの値を1増加させる。現時点では、j=0であるので、j=1となり、SN002に戻ることになる。ここで、新しい行の始まりであるので、0行目と同様に、ステップSN003、ステップSN004と進む。以降、pixel(i、j)=0、かつ、work(i、j)=1となる1行目の11列目の画素、すなわち、i=10、j=1になるまでステップSN004〜SN008を繰返すこととなり、ステップSN008処理後にi=10となる。m=16、i=10であるのでSN006に進む。
【0143】
ステップSN006では、pixel(i、j)=0かつwork(i、j)=1、すなわち、pixel(10、1)=0かつwork(10、1)=1であるので、ステップSN007に進む。
【0144】
ステップSN007では、cnt=cnt+1、すなわち差分カウンタcntの値を1増加させる。ここでは、初期化によりcnt=0となっており、1を加えてcnt=1となる。以降、処理が進行してステップSN008に進み、i=16となってステップSN004へ進む。m=16、i=16であるので、ステップSN005に進み、j=2となってステップSN002へ進む。
【0145】
以降、j=2〜15について同様にステップSN002〜SN008の処理を繰返し、ステップSN008処理後、j=16となった時点で、次にステップSN002で、垂直方向の画素カウンタjの値と垂直方向の最大画素数nとを比較し、比較結果がj≧nを指すならば次に図13のフローチャートに戻り、ステップSR11を実行し、指さないならば次にステップSN003を実行すると、現時点では、j=16、n=16であるので、図19のフローチャートを終了し、次に図17のフローチャートに戻り、ステップSR11に進む。現時点では、差分カウンタcnt=45となっている。
【0146】
ステップSR11では、rcnt=cnt、すなわち右斜め方向にずらしたときの増加量rcntに図19のフローチャートで計算した差分cntの値を代入する。次にステップSR12に進む。ステップSR12では、右斜め方向にずらしたときの増加量rcnt=45を出力する。
【0147】
次に、図19の、特徴値計算処理(ステップT2a)内の左斜め方向にずらしたときの増加量lcntを求める処理(ステップSM2)の図18のステップSL01〜SL12の処理は、上記に説明した図17の処理と基本的に同じ処理を行なうことが明らかであり、詳細な説明は省略する。
【0148】
出力される左斜め方向にずらしたときの増加量lcntとして、図15(C)の左斜め方向に1画素づつずらして重ねた画像WLiと図15(A)の部分画像Riとの差分であるlcnt=115が出力される。
【0149】
出力されたrcntとlcntとについて以降の処理を図16のステップSM3以降に戻って説明する。
【0150】
ステップSM3では、rcntとlcnt、および、左斜め方向の最大黒画素数増加量下限値lcnt0とを比較し、lcnt>2×rcntかつlcnt≧lcnt0ならば次にステップSM7を実行し、その他ならば次にステップSM4を実行する。現時点では、lcnt=115、rcnt=45であり、lcnt0=4と想定すれば、次にステップSM7に進む。ステップSM7では、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“R”を格納して、制御部108に部分画像特徴値計算終了信号を送る。
【0151】
仮に、ステップSM2の出力値が、lcnt=30、rcnt=20であり、lcnt0=4と想定するならば、次にステップSM4に進み、rcnt>2×lcntかつrcnt≧rcnt0が成立するならば次にステップSM5を実行し、成立しないならば、次にステップSM6を実行する。
【0152】
ここでは次にステップSM6に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“X”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0153】
さらに、仮にステップSM2の出力値が、lcnt=30、rcnt=70であり、lcnt0=4、rcnt0=4と想定するならば、ステップSM3で、lcnt>2×rcntかつlcnt≧lcnt0の条件は成立しなので、次にステップSM4に進む。ステップSM4の条件式であるrcnt>2×lcntかつrcnt≧rcnt0が成立するならば、次にステップSM5を実行し、成立しないならば次にステップSM6を実行する。
【0154】
ここでは次にステップSM5に進み、参照用部分画像特徴値計算結果メモリ1024、あるいは、取込画像用部分画像特徴値計算結果メモリ1025の元の画像に対する部分画像Riの特徴値格納領域に“L”を格納し、制御部108に部分画像特徴値計算終了信号を送る。
【0155】
上述した特徴値計算は、参照画像A、あるいは、取込画像Bにノイズがある場合、例えば、指のしわ等によって指紋の一部が欠けているために、図15(D)に示すように部分画像Riの中央に垂直にしわが入っているような画像であっても、図15(E)と図15(F)に示すように、rcnt=57とlcnt=124となって、lcnt0=4と想定すれば、図16(A)のステップSM3で、lcnt>2×rcntかつlcnt≧lcnt0の条件式は成立するので、次にステップSM7を実行し、特徴値として“R”を格納する。このように特徴値計算は、画像に含まれるノイズ成分に対して計算精度を維持できるという特徴を持つ。
【0156】
上述のように特徴値計算部1045は、部分画像Riについて、右斜め方向に所定の画素づつずらして重ねた画像WRiと、左斜め方向に所定の画素づつずらして重ねた画像WLiとを各々求め、さらに、その右斜め方向に1画素づつずらして重ねた画像WRiと部分画像Riとの差分である黒画素数の増加量rcntと、左斜め方向に1画素づつずらして重ねた画像WLiと部分画像Riとの差分である黒画素数の増加量lcntとを各々求め、それら増加量に基づいて、該部分画像Riの模様が右斜め方向に従う模様である傾向(たとえば右斜め縞である傾向)、または左斜め方向に従う模様である傾向(たとえば左斜め縞である傾向)またはそのどちらでもないことを判別して、その判別結果に応じた値(“R”、“L”および“X”のいずれか)を格納する。
【0157】
<5種類の特徴値>
特徴値計算部1045は、上述したすべての特徴値を出力するようにしてもよい。その場合には、特徴値計算部1045は、部分画像Riについて、上述の手順に従い、黒画素数の増加量hcntと、増加量vcntと、増加量rcntと、増加量lcntとを各々求め、それら増加量に基づいて、該部分画像Riの模様が水平(横)方向に従う模様である傾向(たとえば横縞である傾向)、または垂直(縦)方向に従う模様である傾向(たとえば縦縞である傾向)、または右斜め方向に従う模様である傾向(たとえば右斜め縞である傾向)、または左斜め方向に従う模様である傾向(たとえば左斜め縞である傾向)、またはそれらのいずれでもないことを判別して、その判別結果に応じた値(“H”、“V”、“R”、“L”および“X”のいずれか)を出力する。この出力値が該部分画像Riの特徴値を示す。
【0158】
ここでは、部分画像Riの特徴値として“R”、“L”および“X”に加えて“H”および“V”を用いるので、照合処理の対象画像の部分画像の特徴値をより厳密に分類することができて、3種類の特徴値で分類した場合には‘X’となる部分画像であっても、5種類の特徴値に分類した場合には、‘X’以外のいずれかの値に分類できるから、‘X’に分類されるべき部分画像Riをより厳密に検出することができる。
【0159】
図20には5種類の特徴値計算のフローチャートが示される。図20の部分画像特徴値計算においては、まず図11に示した部分画像特徴値計算の処理(T2a)のステップST1〜ST4が同様に実行されて、判定結果である“V”および“H”が判定される(ST5、ST7)。この場合、“V”でもなく“H”でもないと判定された場合には(ST4でN)、次に、図16に示す画像特徴値計算処理(T2a)のステップSM1〜SM7が同様にして実行されて、判定結果として“L”、“X”および“R”が出力される。この結果、部分画像特徴値計算(T2a)により、部分画像の特徴値として“V”、“H”、“L”、“R”および“X”の5種類の部分画像特徴値を出力することができる。
【0160】
ここでは、判定対象である指紋の多くは模様が縦方向または横方向に従う傾向が顕著であることに鑑みて、図11の処理を最初に実行しているが、実行順序はこれに限定されず、図16の処理を先に実行して、“L”でもなく“R”でもないと判定された場合には、次に図11の手順を実行するようにしてもよい。
【0161】
<探索対象の限定>
最大一致度位置探索部105による探索の対象は上述して算出された特徴値に従い限定することができる。
【0162】
図21(B)と図21(C)は、それぞれ、画像入力(T1)、画像補正(T2)が施された後に、部分画像特徴値が算出されている画像AとBを模式的に例示する。
【0163】
まず、図21(A)を参照して画像内の部分画像位置をいかに特定するかについて説明する。図21(A)の画像の形状(形、サイズ)は図21(B)と図21(C)の画像AとBに一致している。図21(A)の画像内にはメッシュ状に区切られて64個に等分割された同じ形状(矩形状)の部分画像Riが準備される。これら64個の部分画像Riには図21(A)の画像の右上から左下方向に順番に数値1〜64を当てることにより、各部分画像Riの画像AまたはB内の位置を、当該割当てられた数値を用いて示す。ここでは画像内の64個の部分画像Riそれぞれは、対応の位置を示す数値を用いて部分画像g1、部分画像g2、…、部分画像g64として指示される。図21(A)、図21(B)および図21(C)の画像は同一の形状を有するので、図21(B)と図21(C)の画像AとBにおいても図21(A)に示すような64個の部分画像Riが設けられて各部分画像Riは、部分画像g1、部分画像g2、…、部分画像g64としてその位置を特定できる。最大一致位置探索部105は、画像AとBについて最大一致位置に対応の部分画像Riを探索するが、探索の順番は、部分画像g1、部分画像g2、…、部分画像g64に従う。図21(B)と図21(C)の画像の各部分画像は、特徴値として、特徴値計算部1045により算出された特徴値‘H’、‘V’および‘X’のいずれかを有すると想定する。
【0164】
図22(A)〜(C)は、図21(B)と(C)の各部分画像の特徴値が算出された画像AとBの最大一致位置を探索する手順を説明する図である。図23は最大一致位置探索と類似度計算のための処理フローチャートである。
【0165】
最大一致位置探索部105は、図21(B)の画像Aを探索して“H”または“V”の特徴値を持つ部分画像について、画像B内で同じ特徴値を持つ部分画像を探索する。従って、画像A内の部分画像の探索を開始して最初に“H”または“V”の特徴値を持つ部分画像が検出されたとき、検出された部分画像は、最初の探索対象の部分画像となる。図22(A)の画像(A)-S1は、画像Aの部分画像につき、部分画像特徴値を示し、かつ、最初に“H”または“V”の特徴値を持つ部分画像g27、即ち“V1”につき、ハッチングを施した画像である。
【0166】
この画像(A)-S1の通り、最初に検出された部分画像特徴値は、“V”を指す。このため、画像B内で特徴値が“V”である部分画像が探索の対象となる。画像B内で、探索を開始して特徴値“V”を持つ最初の部分画像g11、即ち“V1”につきハッチングを施した画像が図22(A)の画像(B)-S1−1である。この部分画像に対し、図23のステップS002〜S007で示される処理が行われる。
【0167】
次に、画像B内で、部分画像g11の次に特徴値“V”を持つ部分画像g14、即ち“V1”(図22(A)の画像(B)-S1-2)につき、処理が行われ、以降、部分画像g19、g22、g26、g27、g30、g31(図21(A)の画像(B)-S1-8)につき、処理が行われる。画像Aの最初に“H”または“V”の特徴値を持つ部分画像g27につき画像B内において一通り探索の処理が終了すると、次に“H”または“V”の特徴値を持つ部分画像g28(図22(B)の画像(A)-S2)について、同様に図23のステップS002〜S007で示される処理が行われ、部分画像g28の部分画像特徴値は“H”であるため、画像Bの特徴値として“H”を有する部分画像g12(図22(B)の画像(B)-S2-1)、画像g13(図22(B)の画像(B)-S2-2)、g33、g34、g39、g40、g42〜g46、g47(図22(B)の画像(B)-S2-12)について一通り探索の処理が行われる。
【0168】
以降、画像A内で“H”または“V”の特徴値を持つ部分画像g29、g30、g35、g38、g42、g43、g46、g47、g49、g50、g55、g56、g58〜62、g63(図22(C)の画像(A)-S20)についても同様にして、画像B内での探索の処理が行われる。
【0169】
したがって、最大一致位置探索部105により画像Aと画像Bとにおいて探索される部分画像の数は、(部分画像特徴値“V”である画像Aの部分画像数×部分画像特徴値“V”である画像Bの部分画像数+部分画像特徴値“H”である画像Aの部分画像数×部分画像特徴値“H”である画像Bの部分画像数)となる。図22(A)〜(C)の場合には、探索される部分画像の数は、探索部分画像数=8×8+12×12=208である。
【0170】
なお、部分画像特徴値は、画像が呈する模様にも依存するので、ここで、図21(A)と図21(B)の模様とは別の模様を呈する画像の場合を示す。図24(A)と(B)は画像Aと画像Bとを示し、図21(B)と(C)の画像Aと画像Bとは別の模様を示すものであり、図24(C)は、図21(C)の画像Bとは異なる模様を呈する画像Cを示すものである。
【0171】
図24(D)、図24(E)および図25(F)各々は、図24(A)、図24(B)および図24(C)の画像A、BおよびCそれぞれについて、各部分画像について特徴値計算部1045により算出された特徴値を示すものである。
【0172】
図24(A)の画像Aと図24(C)の画像Cとを対象にした場合の、最大一致位置探索部105による探索部分画像数についても、上記と同様に、(部分画像特徴値“V”である画像Aの部分画像数×部分画像特徴値“V”である画像Cの部分画像数+部分画像特徴値“H”である画像Aの部分画像数×部分画像特徴値“H”である画像Cの部分画像数)で計算できる。図24(D)と図24(F)を参照すると、探索部分画像数=8×12+12×16=288である。
【0173】
なお、本説明では、同じ特徴値を有する部分画像を探索対象としているが、必ずしもそうする必要はなく、照合精度の向上などを意図して、参照用部分画像特徴値が“H”の場合に取込画像用部分画像特徴値が“H”だけでなく“X”の部分領域、あるいは、参照用部分画像特徴値が“V”の場合に取込画像用部分画像特徴値が“V”だけでなく“X”の部分領域も探索対象としても良いことはいうまでもない。
【0174】
また、特徴値が“X”であることは対応の部分画像が縦縞とも横縞とも特定できない模様を呈しているといえ、照合速度の向上を図る場合には、最大一致位置検索部105による探索範囲からは“X”を示す部分領域は除くようにしてもよい。
【0175】
また、精度向上のために、“H”、“V”だけでなく、“L”、“R”の値を適用してもよい。
【0176】
<照合対象外画像要素の判定>
画像補正部104により補正処理を施され、かつ、特徴値計算部1045により部分画像の特徴値を計算された画像に対して、次に照合対象外画像要素判定計算処理(ステップT2b)が行われる。この処理は図25のフローチャートに示される。
【0177】
ここでは、要素判定部1047の処理によって、照合対象の画像内の各部分画像は、特徴値として“H”、“V”、“L”、“R”(4値の場合)を採ると想定する。つまり、指紋センサ100の指紋読取り面201上に汚れが付着している領域または指紋が置かれていない(指が置かれていない)ので画像を入力できない領域がある場合には、その領域に対応の部分画像は特徴値として基本的には“X”を取る。この特性を利用して、要素判定部1047は、入力画像において汚れが付着している部分領域や指紋の画像を入力できない部分領域は、照合対象外画像要素として検出(判定)する。そして検出された当該領域には特徴値‘E’を割当てるように処理をする。ここでは、画像の部分領域(部分画像)に特徴値として‘E’を割当てることは、当該部分領域(部分画像)を、照合判定部107による画像照合のために行なわれる最大一致位置探索部105の探索範囲から除外され、また類似度計算部106の類似度計算の対象から除外されることを指す。
【0178】
図26(A)〜(F)には照合対象外画像要素の判定と、照合とが模式的に示される。図26(B)と図26(F)は、入力画像Bと参照画像Aを模式的に示したものである。参照画像Aは、図26(A)に示されるように、縦と横について8個に等分割されることで同じ大きさと形状を有する64個の部分画像を有する。図26(A)では、各部分画像についてはg1〜g64までの画像位置を指す数値が割当てされて指示される。
【0179】
図26(B)の入力画像Bについては、縦と横の各方向につき5個に等分割されること25個の同じ大きさと形状の部分画像を有する。25個の部分画像については、図21(A)の位置g1〜g5、g9〜g13、g17〜g21、g25〜g29、g33〜g37で示す位置が割当て指示される。なお、ここでは説明を簡単にするために参照画像Aは各部分画像に特徴値としてXおよびEを除いた値(‘H’、‘V’、‘L’、‘R’)が算出されていると想定する。
【0180】
要素判定部1047は、図26(B)の入力画像Bに対応する各部分画像の特徴値計算部1045により算出された特徴値を、取込画像用部分画像特徴値計算結果メモリ1025から計算用メモリ1022に読出す。読出した状態が模式的に図26(C)に示される(図25のステップSS001)。
【0181】
要素判定部1047は、次に、計算用メモリ1022の図26(C)の各部分画像の特徴値を、部分画像位置を指す数値の昇順に検索することにより、照合対象外に画像要素を検出する(図25のステップSS002)。ここでは、検索する過程において、特徴値として“X”をとる部分画像を検出した場合には、当該部分画像に隣接する部分画像の特徴値を検索する。検索結果、当該部分画像の縦方向(Y軸に従う方向)、横方向(X軸に従う方向)、斜め方向(X軸またはY軸に対して45度の傾きを持った軸に従う方向)の少なくともいずれか1方向に隣接して、‘X’を指す特徴値を有する部分画像が検出された場合には、当該部分画像と検出された隣接の部分画像との組を照合対象外画像要素として検出(判定)する。
【0182】
具体的には、計算用メモリ1022に格納されている図26(C)の入力画像Bの部分画像g1から順にg2、g3、g4、g5、g9、…g13、g17・・・と特徴値を検索する。検索の過程において、特徴値が“X”あるいは“E”を指す部分画像を検出すると、当該部分画像の上、下、左、右、右上、右下、左上、左下のそれぞれに隣接する全ての部分画像について特徴値を検索する。検索の結果、隣接する部分画像において“X”を指す特徴値が検索できた場合には、計算用メモリ1022において検索された“X”を“E”に書換える(図25のステップSS003)。このようにして、入力画像Bの全ての部分画像についての検索が終了すると、画像Bの各部分画像の特徴値は図26(C)から図26(D)のように更新される。更新後の各部分画像の値は、取込画像特徴値メモリ1025に格納される。
【0183】
この書換えの一例を説明する。図26(C)を参照すると、g1の部分画像から順に特徴値を検索していくと、g28の部分画像を検索した場合に初めて‘X’の特徴値を有する部分画像が検出される。g28の部分画像に隣接する全ての部分画像の特徴値を検索すると、隣接するg29、g36およびg37の部分画像の特徴値は‘X’であることが検出されるので、検出結果に基づき、計算用メモリ1022におけるg28、g29、g36およびg37の部分画像の特徴値‘X’を、図26(D)に示すように‘E’に更新する(書換える)。
【0184】
尚、ここでは、入力画像Bにおいて、特徴値として“X”を有する部分画像が縦方向、横方向、斜め方向の少なくともいずれか1方向に2個以上連続して構成される部分領域は、照合対象外画像要素と判定しているが、判定の基準はこれに限るものではない。たとえば、特徴値として“X”を有する部分画像そのものを照合対象外画像要素と判定しても良いし、その他の組み合わせを取っても良い。
【0185】
<類似度計算および照合判定>
次に、要素判定部1047による照合対象外画像要素判定の結果を考慮した、最大一致位置探索と、探索の結果に基づく類似度計算の処理(図5のステップT3)について図23のフローチャートに従って説明する。ここでは、画像A内の部分画像(部分領域)の総数を変数nで示す。最大一致位置探索および類似度計算は、図26(A)の参照画像Aの各部分画像と、図26(E)の判定された照合対象外要素が除かれた画像Bを対象にして行なわれる。
【0186】
要素判定部1047による判定が終了すると、制御部108は最大一致位置探索部105へテンプレートマッチング開始信号を送り、テンプレートマッチング終了信号を受信するまで待機する。
【0187】
最大一致位置探索部105では、テンプレートマッチング開始信号を受信すると、ステップS001からステップS007に示されるようなテンプレートマッチング処理が開始される。ステップS001ではカウンタの変数iの値を1に初期化する。ステップS002では、参照画像Aの部分画像Riとして規定される部分領域の画像をテンプレートマッチングに用いるテンプレートとして設定する。
【0188】
ステップS0025では、最大一致位置探索部105は、参照画像特徴値メモリ1024を検索して、テンプレートの部分画像Riの特徴値CRiを読出す。
【0189】
ステップS003ではステップS002で設定したテンプレートに対し、画像B内で最も一致度の高い、つまり画像B内のデータが最も一致する場所を探索する。この探索では、特徴値が“E”でない画像Bの部分画像に限定して次の計算を行なう。
【0190】
テンプレートとして用いる矩形状の部分画像Riの左上の角を基準とした座標(x、y)の画素濃度をRi(x、y)とし、画像Bの左上の角を基準とした座標(s、t)の画素濃度をB(s、t)とし、部分画像Riの幅をw、高さをhとし、また、画像AとBの各画素の取りうる最大濃度をV0とした場合に、画像Bにおける座標(s、t)での一致度Ci(s、t)を、たとえば以下の(式1)に従い、各画素の濃度差を元に計算する。
【0191】
【数1】
【0192】
画像B内において座標(s、t)を順次更新して、更新する毎に更新後の座標(s、t)における一致度C(s、t)を計算する。算出された一致度C(s,t)の中で最も大きい値に対応の画像B内の位置が、部分画像Riと最も一致度が高いとし、画像B内のその位置での部分領域の画像を部分領域Miとする。そして、その位置に対応の一致度C(s,t)を最大一致度Cimaxに設定する。
【0193】
ステップS004では、最大一致度Cimaxをメモリ102の所定アドレスに記憶する。ステップS005では、移動ベクトルViを以下の(式2)に従い算出し、算出した移動ベクトルViをメモリ102の所定アドレスに格納する。
【0194】
ここで、上述のように、画像A内の位置Pに対応の部分画像Riに基づいて、画像B内をスキャン(探索)して、その結果、部分画像Riと最も一致度が高い位置Mの部分領域Miが検出された場合には、位置Pから位置Mへの方向ベクトルを、移動ベクトルViと呼ぶ。指紋センサ100の指紋読取り面201における指の置かれ方は一様でないことから、移動ベクトルViは、一方の画像、たとえば画像Aを基準にすると他方の画像Bは移動したように見えることを指している。移動ベクトルViは方向と距離を指すので、移動ベクトルViにより画像Aの部分画像Riと画像Bの部分領域Miとの位置関係が定量化して示される。
【0195】
Vi=(Vix、Viy)=(Mix−Rix、Miy−Riy)…(式2)
(式2)で、変数RixとRiyは部分画像Riの基準位置のx座標とy座標の値を指し、たとえば画像A内における部分画像Riの左上角の座標に対応する。また変数MixとMiyは、部分領域Miを探索することにより算出された最大一致度Cimaxに対応の位置を指すx座標とy座標を示す。たとえば画像B内におけるマッチングした位置での部分領域Miの左上角の座標に対応する。
【0196】
ステップ006ではカウンタ変数iの値と変数nの値をとを比較して、比較結果に基づき、カウンタ変数iの値が変数nが示す値未満であるか否かを判定し、変数iの値が変数数nの値未満と判定されると処理をS007に移り、そうでなければ処理はS008に移る。
【0197】
ステップS007では変数iの値に1加える。以降、変数iの値が変数nの値未満を指すと判定される間は、ステップS002からS007を繰返し行ない、画像Aのすべての部分画像Riに関し、当該部分画像Riについて参照画像特徴値メモリ1024を検索して読出した対応する特徴値CRiと、同じ値を特徴値CMとして有する画像Bの部分領域に限定してテンプレートマッチングを行ない、それぞれの部分画像Riの最大一致度Cimaxと、移動ベクトルViとを計算していく。
【0198】
最大一致位置探索部105は上記のように順次計算されるすべての部分画像Riに関する最大一致度Cimaxと移動ベクトルViとをメモリ102の所定アドレスに格納したのち、テンプレートマッチング終了信号を制御部108に送り、処理を終了する。
【0199】
続いて制御部108は類似度計算部106に類似度計算開始信号を送り、類似度計算終了信号を受信するまで待機する。類似度計算部106は、メモリ102に格納されているテンプレートマッチングで得られた各部分画像Riの移動ベクトルViや最大一致度Cimaxなどの情報を用いて、図23のステップS008からステップS020に示される処理を行ない類似度計算を行なう。
【0200】
ステップS008では類似度P(A、B)の値を0に初期化する。ここで類似度P(A、B)は、画像Aと画像Bの類似度を格納する変数を指す。ステップS009では基準とする移動ベクトルViのインデックスiの値を1に初期化する。ステップS010では、基準とする移動ベクトルViに関する類似度Piの値を0に初期化する。ステップS011では、移動ベクトルVjのインデックスjを1に初期化する。ステップS012では、基準移動ベクトルViと移動ベクトルVjとのベクトル差dVijを以下の(式3)に従い計算する。
【0201】
dVij=|Vi−Vj|=sqrt((Vix−Vjx)^2+(Viy−Vjy)^2)…(式3)
ここで、変数VixとViyは移動ベクトルViのx方向成分とy方向成分を示し、変数VjxとVjyは移動ベクトルVjのx方向成分とy方向成分を示し、変数sqrt(X)はXの平方根、X^2はXの二乗を計算する計算式である。
【0202】
ステップS013では、移動ベクトルViとVjのベクトル差dVijの値と、定数εが示す閾値と比較し、比較結果に基づき、移動ベクトルViと移動ベクトルVjが実質的に同一の移動ベクトルとみなすことが可能かを判断する。判断結果が、ベクトル差dVijの値が定数εが指す閾値(ベクトル差分)より小さいことを指す場合には、移動ベクトルViと移動ベクトルVjが実質的に同一と見なされると判定されて、処理をステップS014に移行するが、逆に定数εの値以上であることを指す場合には、両方のベクトルは実質的に同一とは見なされないと判定されて、処理はステップS015に移行する。ステップS014では類似度Piの値を以下の(式4)〜(式6)に従い増加させる。
【0203】
Pi=Pi+α…(式4)
α=1…(式5)
α=Cjmax…(式6)
(式4)における変数αは類似度Piを増加させる値である。(式5)のようにα=1とした場合には、類似度Piは基準とした移動ベクトルViと同一の移動ベクトルを持つ部分領域の個数となる。また、(式6)のようにα=Cjmaxとした場合には、類似度Piは基準とした移動ベクトルViと同一の移動ベクトルを持つ部分領域に関するテンプレートマッチング時の最大一致度の総和となる。またベクトル差dVijの大きさに応じて変数αの値を小さくするなどしても構わない。
【0204】
ステップS015はインデックスjの値が変数nの値より小さいかどうかを判定する。判定結果、インデックスjの値が変数nが示す部分領域の総個数より小さい場合は、処理をステップS016に移し、総個数以上である場合には処理をステップS017に移す。ステップS016ではインデックスjの値を1増加させる。ステップS010からステップS016の処理により、基準とした移動ベクトルViに関して、同じ移動ベクトルを持つと判定される部分領域の情報を用いた類似度Piが計算される。ステップS017では移動ベクトルViを基準とした場合の類似度Piと変数P(A、B)との値の比較を行ない、比較結果、類似度Piの値が現在までの最大の類似度(変数P(A、B)の値)より大きければ、処理をS018に移し、以下であれば処理をS019に移す。
【0205】
ステップS018では、変数P(A、B)に移動ベクトルViを基準とした場合の類似度Piの値を設定する。ステップS017、S018では、移動ベクトルViを基準とした場合の類似度Piが、この時点までに計算された他の移動ベクトルを基準にした場合の類似度の最大値(変数P(A、B)の値)と比べて大きい場合には、基準としている移動ベクトルViが現在までのインデックスiの中で最も基準として正当であるとしている。
【0206】
ステップS019では基準とする移動ベクトルViのインデックスiの値と部分領域の個数(変数nの値)を比較する。インデックスiの値が部分領域の個数より小さければ処理をステップS020に移す。ステップS020ではインデックスiを1増加させる。
【0207】
ステップS008からステップS020により、画像Aと画像Bにおける類似度が変数P(A、B)の値として計算される。類似度計算部106は上記のように計算した変数P(A、B)の値をメモリ102の所定アドレスに格納し、制御部108へ類似度計算終了信号を送り、処理を終了する。
【0208】
続いて制御部108は照合判定部107に照合判定開始信号を送り、照合判定終了信号を受信するまで待機する。照合判定部107は照合し判定する。具体的には、メモリ102に格納された変数P(A、B)の値で示される類似度と予め定められた照合閾値Tとを比較する。比較結果、変数P(A、B)≧Tならば画像Aと画像Bは同一指紋から採取されたものと判定しメモリ102の所定アドレスへ照合結果として‘一致’を示す値、たとえば‘1’を書込み、そうでなければ異なる指紋から採取されたものと判定し、メモリ102、即ち、計算用メモリ1022の所定アドレスへ照合結果として‘不一致’を示す値、たとえば‘0’を書込む。その後、制御部108へ照合判定終了信号を送り処理を終了する。
【0209】
制御部108は照合判定終了信号を受信すると、計算用メモリ1022から照合結果を読出し、読出した照合結果が‘一致’を指すか否かを判定する(ステップT3a)。判定結果、‘不一致’を指す場合には、ステップT4の処理に移行して‘照合不一致’のメッセージを出力する。一方、判定結果、‘一致’を指す場合には、制御部108は、割合計算部1048に割合計算開始の指示信号を送信し、割合計算終了信号を受信するまで待機する。
【0210】
割合計算部1048は、割合計算指示信号を受信すると、画像Bにおける対象外要素が占める割合を計算する(ステップT3b)。割合計算部1048は、取込画像特徴値メモリ1025を検索して、取込画像Bの部分画像の総個数をカウントして、カウント値を変数Nに設定し、そして、‘X’または‘E’以外の特徴値を指す部分画像の個数をカウントし、カウント値を変数NNEに設定する。そして、取込画像Bに占める照合対象外の画像要素の割合PEを、PE=1−(NNE/N)の式に従い算出する。算出された割合PEの値は計算用メモリ1022に格納されて、制御部108に計算終了信号が送信される。
【0211】
このように算出される割合PEの値は、照合処理結果の信頼度を指すといえる。つまり、照合一致を指す場合でも、割合PEの値が大きい場合は、照合結果の信頼度は高くないといえる。つまり、照合に用いられなかった部分画像が多いために、照合処理は極めて限られた領域の部分画像についてなされたからである。逆に、割合PEの値が大きい場合は、照合結果の信頼度は高くといえる。つまり、照合に用いられなかった部分画像は少ないために、照合処理は多くの部分画像についてなされたからである。
【0212】
制御部108は、計算終了信号を受信すると、アプリケーション実行の許可判定開始の指示信号を送信し、許可判定終了信号を受信するまで待機する。
【0213】
実行許可部1049は、制御部108から許可判定開始の指示信号を受信すると、アプリケーション実行許可判定のための処理(ステップT3c)を行なう。
【0214】
ステップT3bのアプリケーション実行許可判定のための処理を、図27のフローチャートに従い説明する。図27を参照すると、実行許可部1049は、許可判定開始の指示信号を受信すると処理を開始する(ステップF01)。
【0215】
処理開始後、まず、計算用メモリ1022から変数PEが示す割合を読出す(ステップF02)。そして、入力部700を介して予め入力された所望のアプリケーションの識別情報に基づきセキュリティランクテーブル1026を検索して、当該アプリケーションの識別情報が登録されたアプリケーションリスト1029に対応のデータ1028が指す上限値を読出す(ステップF03)。
【0216】
実行許可部1049は、読出した変数PEが指示する値と上限データ1028が指示する上限値とを比較する(ステップF04)。この比較により照合処理の結果が、所望のアプリケーションを起動するに際して要求される信頼度(セキュリティ度)を満たしているかが検出される。比較結果に基づき‘上限値>変数PEの値’の条件が満たされていると判定されると(ステップF04でYES)、所望のアプリケーションプログラムの使用(実行・起動)を許可すると判定し、判定結果を計算用メモリ1022に格納する(ステップF05)。一方、条件が満たされていないと判定されると(ステップF04でNO)、所望のアプリケーションプログラムの使用(実行・起動)を許可しない(禁止する)と判定し、判定結果を計算用メモリ1022に格納する(ステップF06)。判定結果を実計算用メモリ1022に格納した後に、許可判定終了信号が送信される。
【0217】
制御部108は、実行許可部1049から許可判定終了信号を受信すると、計算用メモリ1022に格納された実行許可部1049の処理結果を読出し、読出された結果をディスプレイ610またはプリンタ690を介して出力する(ステップT4)。
【0218】
CPU622は、許可判定終了信号を受信すると、計算用メモリ1022に格納された所望アプリケーションの使用許可または禁止を指示する判定結果を読出し、読出した判定結果が‘許可’を示すと判定したときは、入力部700を介して入力した所望アプリケーションの識別情報に基づきメモリ624を検索して、所望アプリケーションのプログラムを読出し、読出したプログラムの実行を開始する。一方、読出した判定結果が‘不許可’(禁止)を示すと判定したときは、所望アプリケーションの識別情報で指示されるプログラムの実行は開始しない。その場合には、図2のCPU622は、他のプログラムを実行中であれば当該他のプログラムの実行を継続して行ない、他のプログラムを実行中でなく待機状態であれば待機状態を継続するように動作する。
【0219】
ユーザはステップT4による出力された結果を確認することにより、使用(実行)を所望するアプリケーションの実行開始が許可されたか禁止されたかを知ることができる。したがって、所望アプリケーションの実行開始を指示したにも拘わらず、所望アプリケーションの実行が開始されない、言い換えると、図2のコンピュータにおいて他のプログラムの実行が継続して為されている、または何らのプログラムも実行せずに待機状態が継続している場合であっても、所望プログラムが実行開始されないのはコンピュータのシステムのバグまたは故障が原因ではないことを確認することができる。
【0220】
ここでは応用処理部であるアプリケーションは、ソフトウェア(プログラム)として提供したが、回路などからなるハードウェアとして実現されてもよい。その場合には、起動するとは、当該回路に駆動用の所定レベルの電圧(電流)信号を印加することを指す。また、起動の禁止とは、たとえば当該回路に対する供給電圧を遮断する、または駆動用の電圧(電流)信号を供給しないことを指す。
【0221】
本実施の形態において、画像補正部104、部分画像特徴値計算部1045、画像要素判定部1047、割合計算部1048、実行許可部1049、位置探索部105、類似度計算部106、照合判定部107および制御部108のすべてあるいは一部は処理手順をプログラムとして記憶させたメモリ624などのROMとそれを実行するためのCPU622などの演算処理装置を用いて構成してもよい。
【0222】
<実施の形態による効果>
本実施の形態による処理の具体例ならびにそれによる効果を示す。
【0223】
ここでは、セキュリティランクテーブル1026には図4で示されるデータが予め格納されていると想定する。図4に示されるように、対応するデータ1027が示すセキュリティ度が高いアプリケーションのリスト1029には、たとえば電子的な商取引のためのアプリケーションプログラムの名称、たとえば‘電子商取引’が登録されている。電子的商取引のためのプログラムの実行に際して求められるセキュリティの度内は一般的に高いので、対応の上限データ1028により示される対象外要素が照合対象の画像に占める割合の上限値としては、たとえば0.05(5%)が登録されている。また、対応するデータ1027が示すセキュリティ度が中程度のアプリケーションのリスト1029には、たとえば電子メールソフトウェアやオフィス系ソフトウェアのようなアプリケーションプログラムの名称、たとえば‘電子メール’、‘オフィス系’が登録されている。要求されるセキュリティ度は‘電子商取引’のプログラムに比較すれば低いので、対応の上限データ1028が示す対象外要素が照合対象の画像に占める割合の上限値としては、たとえば0.1(10%)が登録されている。‘電子商取引’、‘電子メール’および‘オフィス系’のプログラムに比べれば要求されるセキュリティ度が低いディスプレイ610の画質調整用プログラムの名称‘ディスプレイ’が登録されたアプリケーションリスト1029については、対応の上限データ1028により示される対象外要素が照合対象の画像に占める割合の上限値としては、たとえば0.2(20%)が登録される。
【0224】
さて、図26(B)の取込画像Bが画像入力部101により入力されたと想定すると、指紋センサ100の指紋読取り面201に付着した汚れなどに起因してハッチング部分の画像は、要素判定部1047により対象外要素として検出される。したがって、図26(B)の指紋画像Bは最大一致位置探索部105、類似度計算部106および照合判定部107による画像照合のための処理においては、図26(E)に示すような削減(限定)された領域(ハッチング部分を除いた領域)の画像を対象として照合処理が行なわれる。
【0225】
図26(E)の画像によれば、変数PEにより指示される対象外要素の割合は、PE=1−(21/25)に従い算出されて、変数PEの示す値は0.16(=16%)となる。
【0226】
ここで、図4のセキュリティランクテーブル1026を算出された変数PEの値に基づき検索する。当該検索により、変数PEの値(=16%)よりも大きい上限値を指示する上限データ1028を特定して、特定した上限データ1028に対応のアプリケーションリスト1029に登録されている内容を読出す。いま、変数PEの値は16%と算出されているので、セキュリティランクテーブル1026の検索結果としてアプリケーションプログラムとして‘ディスプレイ’のみが出力される。したがって、図2のコンピュータのディスプレイ610に関するアプリケーションプログラムの実行(たとえば、画質調整の実施)は可能であるが、コンピュータを操作した電子商取引の処理、電子メールに関する処理(電子メールの送信・受信・閲覧など)およびオフィス系の処理(文書作成・表計算など)は実施することが禁止される(許可されない)。したがって、許可されない処理を実施することを所望する場合には、ユーザは、指紋センサ100の指紋読取り面201の汚れを拭き取った後に、指を読取り面201に載置して、再度、図3の照合処理を行なわせる必要がある。
【0227】
このように、本実施の形態では、セキュリティランクテーブル1026において、アプリケーションプログラム毎に、当該プログラムに要求されるセキュリティの度合いに応じて、照合対象の取込(入力)画像に占める照合対象外画像要素の割合の上限値を示すデータ1028が予め格納されている。したがって要求されるセキュリティの度合いが低いアプリケーションプログラムの実行が所望される場合には、対応のデータ1028が示す上限値は小さいので図3の照合処理を繰返す可能性は低くなり、ユーザの利便性が損なわれるのを回避できる。また、要求されるセキュリティの度合いが高いアプリケーションプログラムの実行が所望される場合には、対応のデータ1028が示す上限値は大きいので図3の照合処理を繰返す可能性は高くなる。けれども、図26(B)のハッチング部分を削減した上で指紋照合した結果が出力される場合には、すなわち範囲が削減されたために照合結果の精度が高くない場合には、その後、照合処理を再度行なった後に、実行の許可・禁止が再度判定されるので、アプリケーションプログラムについて要求されるセキュリティの度合いを保証することができる。
【実施の形態2】
【0228】
以上説明した画像照合のための処理機能は、プログラムで実現される。本実施の形態2では、このプログラムはコンピュータで読取可能な記録媒体に格納される。
【0229】
本実施の形態2では、この記録媒体として、図2に示されているコンピュータで処理が行なわれるために必要なメモリ、たとえばメモリ624のようなそのものがプログラムメディアであってもよいし、また該コンピュータの外部記憶装置に着脱自在に装着されて、そこに記録されたプログラムが該外部記憶装置を介して読取り可能な記録媒体であってもよい。このような外部記憶装置としては、磁気テープ装置(図示せず)、FD駆動装置630およびCD−ROM駆動装置640などであり、該記録媒体としては磁気テープ(図示せず)、FD632およびCD−ROM642などである。いずれの場合においても、各記録媒体に記録されているプログラムはCPU622がアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムが該記録媒体から一旦読出されて図2の所定のプログラム記憶エリア、たとえばメモリ624のプログラム記憶エリアにロードされて、CPU622により読出されて実行される方式であってもよい。このロード用のプログラムは、予め当該コンピュータに格納されているものとする。
【0230】
ここで、上述の記録媒体はコンピュータ本体と分離可能に構成される。このような記録媒体としては、固定的にプログラムを担持する媒体が適用可能である。具体的には、磁気テープやカセットテープなどのテープ系、FD632や固定ディスク626などの磁気ディスク、CD−ROM642/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)などの光ディスクのディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、マスクROM、EPROM(Erasable and Programmable ROM)、EEPROM(Electrically EPROM)、フラッシュROMなどによる半導体メモリが適用可能である。 また、図2のコンピュータはインターネットを含む通信ネットワーク300と通信接続可能な構成が採用されているから、通信ネットワーク300からプログラムがダウンロードされて流動的にプログラムを担持する記録媒体であってもよい。なお、通信ネットワーク300からプログラムがダウンロードされる場合には、ダウンロード用プログラムは予め当該コンピュータ本体に格納されていてもよく、あるいは別の記録媒体から予め当該コンピュータ本体にインストールされてもよい。
【0231】
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【0232】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0233】
【図1】本発明の実施の形態の認証機能搭載処理装置のブロック図である。
【図2】本発明の実施の形態の認証機能搭載処理装置が搭載されるコンピュータの構成図である。
【図3】本発明の実施の形態による指紋センサの構成図である。
【図4】本発明の実施の形態によるセキュリティランクテーブルの構成図である。
【図5】本発明の実施の形態による照合処理のフローチャートである。
【図6】本発明の実施の形態による3種類の特徴値を算出するための画像の画素について説明する図である。
【図7】本発明の実施の形態による3種類の特徴値を算出するフローチャートである。
【図8】本発明の実施の形態による水平方向の最大連続黒画素数を求める処理のフローチャートである。
【図9】本発明の実施の形態による垂直方向の最大連続黒画素数を求める処理のフローチャートである。
【図10】(A)〜(F)は本発明の実施の形態による画像特徴値計算処理の概要を示す図である。
【図11】(A)〜(C)本発明の実施の形態による部分画像特徴値計算処理のフローチャートと参照する部分画像を示す図である。
【図12】本発明の実施の形態による部分画像の左右にずらしたときの増加量を求める処理フローチャートである。
【図13】本発明の実施の形態による部分画像の上下にずらしたときの増加量を求める処理のフローチャートである。
【図14】本発明の実施の形態による部分画像を元に上下、左右にずらした画像と元の部分画像との画素値の差分を求める処理のフローチャートである。
【図15】(A)〜(F)は本発明の実施の形態による画像特徴値計算処理の概要を示す図である。
【図16】(A)〜(C)は本発明の実施の形態による部分画像特徴値計算処理のフローチャートと参照する部分画像を示す図である。
【図17】本発明の実施の形態による部分画像の右斜め方向にずらしたときの増加量を求める処理フローチャートである。
【図18】本発明の実施の形態による部分画像の左斜め方向にずらしたときの増加量を求める処理のフローチャートである。
【図19】本発明の実施の形態による部分画像を元に左斜め方向と、右斜め方向にずらした画像と元の部分画像との画素値の差分を求める処理フローチャートである。
【図20】本発明の実施の形態による部分画像特徴値計算処理のフローチャートである。
【図21】(A)〜(C)は本発明の実施の形態による照合処理の具体例を説明するための図である。
【図22】(A)〜(C)は本発明の実施の形態による照合処理の具体例を説明するための図である。
【図23】本発明の実施の形態による最大一致位置探索と類似度計算の処理フローチャートである。
【図24】(A)〜(F)は本発明の実施の形態による照合処理の具体例を説明するための図である。
【図25】本発明の実施の形態による照合対象外要素の判定の処理フローチャートである。
【図26】(A)〜(F)は、本発明の実施の形態による照合対象外要素を考慮した照合の手順を概略的に示す図である。
【図27】本発明の実施の形態によるアプリケーション実行許可判定の処理フローチャートである。
【符号の説明】
【0234】
1 認証機能搭載処理装置、11 処理部、101 画像入力部、102 メモリ、104 画像補正部、1045 部分画像特徴値計算部、1047 照合対象外画像要素判定部、1048 照合対象外画像要素割合計算部、1049 アプリケーション実行許可処理部、105 最大一致位置探索部、106 移動ベクトルに基づく類似度計算部、107 照合判定部、108 制御部、1026 セキュリティランクテーブル、A 参照画像、B 入力画像、Ri 部分画像。
【特許請求の範囲】
【請求項1】
個人を特定するための画像の照合結果に基づき処理を行なう情報処理装置であって、
入力する前記画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出部と
前記特徴値検出部により出力された特徴値に基づき、前記入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出部と、
前記対象外検出部により検出された前記部分画像が除外された前記入力画像を用いて前記照合処理を行う照合処理部と、
前記対象外検出部により対象から外すべきと検出された前記部分画像の、前記入力画像の全体に占める領域の割合を算出する割合算出部と、を備え、
指定される応用処理部の起動の許可または禁止は、前記照合処理部による前記照合処理の結果および前記割合算出部により算出された前記割合に従い制御される、情報処理装置。
【請求項2】
前記応用処理部には、当該応用処理部を起動するに際して要求されるセキュリティ度が予め割当てされて、
前記応用処理部の起動の許可または禁止は、前記照合処理部による前記照合処理の結果、および、前記割合算出部により算出された前記割合と割当てされた前記セキュリティ度との比較結果に従い制御される、請求項1に記載の情報処理装置。
【請求項3】
前記照合処理では、前記対象外検出部により検出された前記部分画像が除外された前記入力画像と、予め準備された参照画像とが照合されて、
前記照合処理の結果が、前記入力画像と前記参照画像との不一致を指す場合において、前記応用処理部の起動の許可または禁止は、前記割合算出部により算出された前記割合に従い制御される、請求項1に記載の情報処理装置。
【請求項4】
前記対象外検出部は、前記特徴値検出部により出力された所定の特徴値を有する前記部分画像の組合わせを検出する、請求項1に記載の情報処理装置。
【請求項5】
前記画像は指紋の模様を示し、
前記特徴値検出部が出力する前記特徴値は、前記部分画像の前記模様が前記指紋の垂直方向に従っていることを示す値、前記指紋の水平方向に従っていることを示す値、およびその他であることを示す値に分類される、請求項4に記載の情報処理装置。
【請求項6】
前記画像は指紋の模様を示し、
前記特徴値検出部が出力する前記特徴値は、前記部分画像の前記模様が前記指紋の右斜め方向に従っていることを示す値、前記指紋の左斜め方向に従っていることを示す値、およびその他であることを示す値に分類される、請求項4に記載の情報処理装置。
【請求項7】
前記所定の特徴値は、前記その他の値を示す、請求項5または6に記載の情報処理装置。
【請求項8】
前記組合せは、前記入力画像において所定方向に隣接して位置する前記その他の値を示す複数の前記部分画像からなる、請求項7に記載の情報処理装置。
【請求項9】
前記照合処理部は、
照合の対象となるべき予め準備された参照画像内の複数部分領域のそれぞれについて、当該部分領域と最大の一致度となる領域の位置を、前記入力画像内の前記対象外検出部により検出された前記部分画像の領域を除いた部分領域において探索する位置探索部と、
前記複数部分領域のそれぞれの、前記参照画像内での該部分領域の位置を測るための基準位置と前記位置探索部により探索された該部分領域に対応の最大一致位置との位置関係を示す位置関係量のうち、該位置関係量が所定量に該当する前記部分領域に関する情報に基づき前記入力画像と前記参照画像の類似度を計算して画像類似度として出力する類似度計算部と、
与えられる前記画像類似度に基づいて前記入力画像と前記参照画像が一致するか否かを判定する判定部とを含む、請求項1に記載の情報処理装置。
【請求項10】
前記類似度計算部は、
前記複数部分領域のうち、前記位置探索部により探索された対応の前記最大一致位置の前記基準位置からの方向と距離とが前記所定量に該当する前記部分領域の個数を計算して前記画像類似度として出力する、請求項9に記載の情報処理装置。
【請求項11】
前記位置関係量は、前記基準位置に対する前記最大一致位置の方向と距離とを指す、請求項9に記載の情報処理装置。
【請求項12】
画像を入力する画像入力部をさらに備え、
前記画像入力部は、指が載置され、載置された前記指から指紋の画像を読取るために読取り面を有する、請求項1に記載の情報処理装置。
【請求項13】
コンピュータを用いて、個人を特定するための画像の照合結果に基づき処理を行なう情報処理方法であって、
入力する前記画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出ステップと
前記特徴値検出ステップにより出力された特徴値に基づき、前記入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出ステップと、
前記対象外検出ステップにより検出された前記部分画像が除外された前記入力画像を用いて前記照合処理を行う照合処理ステップと、
前記対象外検出ステップにより対象から外すべきと検出された前記部分画像の、前記入力画像の全体に占める領域の割合を算出する割合算出ステップと、を備え、
指定される応用処理部の起動の許可または禁止は、前記照合処理ステップによる前記照合処理の結果および前記割合算出ステップにより算出された前記割合に従い制御される、画像処理方法。
【請求項14】
請求項13に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【請求項15】
請求項13に記載の情報処理方法をコンピュータに実行させるための情報処理プログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項1】
個人を特定するための画像の照合結果に基づき処理を行なう情報処理装置であって、
入力する前記画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出部と
前記特徴値検出部により出力された特徴値に基づき、前記入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出部と、
前記対象外検出部により検出された前記部分画像が除外された前記入力画像を用いて前記照合処理を行う照合処理部と、
前記対象外検出部により対象から外すべきと検出された前記部分画像の、前記入力画像の全体に占める領域の割合を算出する割合算出部と、を備え、
指定される応用処理部の起動の許可または禁止は、前記照合処理部による前記照合処理の結果および前記割合算出部により算出された前記割合に従い制御される、情報処理装置。
【請求項2】
前記応用処理部には、当該応用処理部を起動するに際して要求されるセキュリティ度が予め割当てされて、
前記応用処理部の起動の許可または禁止は、前記照合処理部による前記照合処理の結果、および、前記割合算出部により算出された前記割合と割当てされた前記セキュリティ度との比較結果に従い制御される、請求項1に記載の情報処理装置。
【請求項3】
前記照合処理では、前記対象外検出部により検出された前記部分画像が除外された前記入力画像と、予め準備された参照画像とが照合されて、
前記照合処理の結果が、前記入力画像と前記参照画像との不一致を指す場合において、前記応用処理部の起動の許可または禁止は、前記割合算出部により算出された前記割合に従い制御される、請求項1に記載の情報処理装置。
【請求項4】
前記対象外検出部は、前記特徴値検出部により出力された所定の特徴値を有する前記部分画像の組合わせを検出する、請求項1に記載の情報処理装置。
【請求項5】
前記画像は指紋の模様を示し、
前記特徴値検出部が出力する前記特徴値は、前記部分画像の前記模様が前記指紋の垂直方向に従っていることを示す値、前記指紋の水平方向に従っていることを示す値、およびその他であることを示す値に分類される、請求項4に記載の情報処理装置。
【請求項6】
前記画像は指紋の模様を示し、
前記特徴値検出部が出力する前記特徴値は、前記部分画像の前記模様が前記指紋の右斜め方向に従っていることを示す値、前記指紋の左斜め方向に従っていることを示す値、およびその他であることを示す値に分類される、請求項4に記載の情報処理装置。
【請求項7】
前記所定の特徴値は、前記その他の値を示す、請求項5または6に記載の情報処理装置。
【請求項8】
前記組合せは、前記入力画像において所定方向に隣接して位置する前記その他の値を示す複数の前記部分画像からなる、請求項7に記載の情報処理装置。
【請求項9】
前記照合処理部は、
照合の対象となるべき予め準備された参照画像内の複数部分領域のそれぞれについて、当該部分領域と最大の一致度となる領域の位置を、前記入力画像内の前記対象外検出部により検出された前記部分画像の領域を除いた部分領域において探索する位置探索部と、
前記複数部分領域のそれぞれの、前記参照画像内での該部分領域の位置を測るための基準位置と前記位置探索部により探索された該部分領域に対応の最大一致位置との位置関係を示す位置関係量のうち、該位置関係量が所定量に該当する前記部分領域に関する情報に基づき前記入力画像と前記参照画像の類似度を計算して画像類似度として出力する類似度計算部と、
与えられる前記画像類似度に基づいて前記入力画像と前記参照画像が一致するか否かを判定する判定部とを含む、請求項1に記載の情報処理装置。
【請求項10】
前記類似度計算部は、
前記複数部分領域のうち、前記位置探索部により探索された対応の前記最大一致位置の前記基準位置からの方向と距離とが前記所定量に該当する前記部分領域の個数を計算して前記画像類似度として出力する、請求項9に記載の情報処理装置。
【請求項11】
前記位置関係量は、前記基準位置に対する前記最大一致位置の方向と距離とを指す、請求項9に記載の情報処理装置。
【請求項12】
画像を入力する画像入力部をさらに備え、
前記画像入力部は、指が載置され、載置された前記指から指紋の画像を読取るために読取り面を有する、請求項1に記載の情報処理装置。
【請求項13】
コンピュータを用いて、個人を特定するための画像の照合結果に基づき処理を行なう情報処理方法であって、
入力する前記画像内の部分画像のそれぞれに対応して、当該部分画像が示す模様に応じた特徴値を検出して出力する特徴値検出ステップと
前記特徴値検出ステップにより出力された特徴値に基づき、前記入力画像内において照合処理の対象から外すべき部分画像を検出する対象外検出ステップと、
前記対象外検出ステップにより検出された前記部分画像が除外された前記入力画像を用いて前記照合処理を行う照合処理ステップと、
前記対象外検出ステップにより対象から外すべきと検出された前記部分画像の、前記入力画像の全体に占める領域の割合を算出する割合算出ステップと、を備え、
指定される応用処理部の起動の許可または禁止は、前記照合処理ステップによる前記照合処理の結果および前記割合算出ステップにより算出された前記割合に従い制御される、画像処理方法。
【請求項14】
請求項13に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【請求項15】
請求項13に記載の情報処理方法をコンピュータに実行させるための情報処理プログラムを記録したコンピュータ読取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図23】
【図24】
【図25】
【図26】
【図27】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図23】
【図24】
【図25】
【図26】
【図27】
【図22】
【公開番号】特開2007−323500(P2007−323500A)
【公開日】平成19年12月13日(2007.12.13)
【国際特許分類】
【出願番号】特願2006−154820(P2006−154820)
【出願日】平成18年6月2日(2006.6.2)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成19年12月13日(2007.12.13)
【国際特許分類】
【出願日】平成18年6月2日(2006.6.2)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]