(57)【要約】【課題】生体認証の用途に応じた精度を得ることができる識別関数特定装置、識別関数特定プログラム、識別関数特定方法および生体認証装置を提供する。【解決手段】設定部４１は、本人類似度の分布と他人類似度の分布を分離する識別関数を、学習前に設定する学習入力パラメータを用いて機械学習により算出し、前記学習入力パラメータと、学習により算出された前記識別関数のパラメータである学習出力パラメータの値を変えて複数の前記識別関数を設定する。算出部４２は、設定部４１により設定された前記識別関数毎に、エラー率を算出する。抽出部４３は、算出部４２により算出されるエラー率が所定のエラー条件を満たす識別関数を抽出する。【選択図】図１
2015170317.tif 000002
【特許請求の範囲】
【請求項１】
本人類似度の分布と他人類似度の分布を分離する識別関数を、学習前に設定する学習入力パラメータを用いて機械学習により算出し、前記学習入力パラメータと、学習により算出された前記識別関数のパラメータである学習出力パラメータの値を変えて複数の前記識別関数を設定する設定部と、
前記設定部により設定された前記識別関数毎に、エラー率を算出する算出部と、
前記算出部により算出されるエラー率が所定のエラー条件を満たす識別関数を抽出する抽出部と、
を有することを特徴とする識別関数特定装置。
【請求項２】
前記設定部は、前記学習出力パラメータの値を所定の範囲内で変化させて識別関数を複数設定する
ことを特徴とする請求項１に記載の識別関数特定装置。
【請求項３】
前記エラー率は、他人受入率と本人拒否率とし、
前記エラー条件は、他人受入率と本人拒否率の何れか一方が所定の条件を満たし、他方が最小または極小とする
ことを特徴とする請求項１または２に記載の識別関数特定装置。
【請求項４】
１つ以上の生体情報から抽出された複数の特徴量のスコアからなる調整用データセットから所定の選択ルールに基づいて学習に用いる学習データを選択する選択部をさらに有し、
前記設定部は、前記学習入力パラメータの複数の候補と前記学習データを用いた機械学習を行って複数の仮識別関数を決定し、複数の仮識別関数のうちエラー率が所定のエラー条件を満たしかつ精度が最も高い前記学習入力パラメータを採用する
ことを特徴とする請求項１〜３の何れか１つに記載の識別関数特定装置。
【請求項５】
前記選択部は、前記調整用データセットから前記所定の選択ルールに基づいて前記学習データを複数回選択し、
前記設定部は、選択された複数の前記学習データからそれぞれ機械学習を行って複数の仮識別関数を設定し、
前記学習データ毎の仮識別関数のうちエラー率が所定のエラー条件を満たしかつ精度が最も高い仮識別関数を前記識別関数と決定する決定部をさらに有する
ことを特徴とする請求項４に記載の識別関数特定装置。
【請求項６】
コンピュータに、
本人類似度の分布と他人類似度の分布を分離する識別関数を、学習前に設定する学習入力パラメータを用いて機械学習により算出し、前記学習入力パラメータと、学習により算出された前記識別関数のパラメータである学習出力パラメータの値を変えて複数の前記識別関数を設定し、
設定された前記識別関数毎に、エラー率を算出し、
算出されるエラー率が所定のエラー条件を満たす識別関数を抽出する
処理を実行させることを特徴とする識別関数特定プログラム。
【請求項７】
コンピュータが、
本人類似度の分布と他人類似度の分布を分離する識別関数を、学習前に設定する学習入力パラメータを用いて機械学習により算出し、前記学習入力パラメータと、学習により算出された前記識別関数のパラメータである学習出力パラメータの値を変えて複数の前記識別関数を設定し、
設定された前記識別関数毎に、エラー率を算出し、
算出されるエラー率が所定のエラー条件を満たす識別関数を抽出する
処理を実行することを特徴とする識別関数特定方法。
【請求項８】
本人類似度の分布と他人類似度の分布を分離する識別関数を、学習前に設定する学習入力パラメータを用いて機械学習により算出し、前記学習入力パラメータと、学習により算出された前記識別関数のパラメータである学習出力パラメータの値を変えて複数の前記識別関数を設定する設定部と、
前記設定部により設定された前記識別関数毎に、エラー率を算出する算出部と、
前記算出部により算出されるエラー率が所定のエラー条件を満たす識別関数を抽出する抽出部と、
前記抽出部により抽出された識別関数を用いて生体認証を行う認証部と、
を有することを特徴とする生体認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別関数特定装置、識別関数特定プログラム、識別関数特定方法および生体認証装置に関する。
【背景技術】
【０００２】
従来から、人の生体情報を用いて認証を行う生体認証技術がある。このような生体認証技術では、認証精度を示す指標として、ＦＲＲ(False  Rejection  Rate)とＦＡＲ(False  Acceptance  Rate)がある。ＦＲＲは、本人であるにもかかわらず本人ではないと判断されてしまう確率であり、本人拒否率と呼ばれる。ＦＡＲは、他人であるにもかかわらず本人であると誤認してしまう確率であり、他人受入率と呼ばれる。
【０００３】
生体認証技術では、ＦＲＲおよびＦＡＲが低いほど好ましい。そこで、例えば、１つ以上の生体情報から複数の特徴量を抽出し、複数の特徴量により認証を行う技術がある。複数の特徴量としては、例えば、１本の指の指紋画像といった１種類の生体情報から、特徴点方式による照合で用いる特徴量と、パターンマッチング方式による照合で用いる特徴量となどが挙げられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０７３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の特徴量を認証に利用する方法として、例えば、Score  Level  Fusionという手法がある。Score  Level  Fusionでは、登録データと照合データ内の特徴量を、特徴量の種類ごとに照合し、得られた複数のスコアを融合して最終的な認証結果を得る。Score  Level  Fusionの例としては、事前に本人および他人に分類された各特徴量のスコア分布からなる学習データを用いて、ＳＶＭ（Support  Vector  Machine）などの機械学習により識別関数を求める。例えば、同一人物の生体情報から抽出された特徴量を比較した場合の本人類似度と、異なる人物の生体情報から抽出された特徴量を比較した場合の他人類似度には、分布に偏りができる。そこで、機械学習により、本人類似度と、他人類似度の分布を分離する識別関数を求める。例えば、ＳＶＭでは、本人類似度の分布と他人類似度の分布のマージンが最大となるような識別関数を求める。
【０００６】
しかしながら、従来の機械学習では、生体認証に適した精度が得られない場合がある。生体認証では、用途に応じてＦＲＲおよびＦＡＲの要求されるレベルが異なる。しかし、従来の機械学習では、例えば、本人類似度の分布と他人類似度の分布のマージンが最大となるように識別関数を設定するため、生体認証の用途に応じた精度が得られない場合がある。
【０００７】
一側面では、生体認証の用途に応じた精度を得ることができる識別関数特定装置、識別関数特定プログラム、識別関数特定方法および生体認証装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、識別関数特定装置は、設定部と、算出部と、抽出部とを有する。設定部は、本人類似度の分布と他人類似度の分布を分離する識別関数を、学習前に設定する学習入力パラメータを用いて機械学習により算出し、前記学習入力パラメータと、学習により算出された前記識別関数のパラメータである学習出力パラメータの値を変えて複数の前記識別関数を設定する。算出部は、前記設定部により設定された前記識別関数毎に、エラー率を算出する。抽出部は、前記算出部により算出されるエラー率が所定のエラー条件を満たす識別関数を抽出する。
【発明の効果】
【０００９】
本発明の一側面によれば、生体認証の用途に応じた精度を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、識別関数特定装置の機能的な構成の一例を示す図である。
【図２】図２は、調整用データセットのデータ構成の一例を示す図である。
【図３】図３は、交差検定の流れの一例を示す図である。
【図４】図４は、識別関数特定処理の手順の一例を示すフローチャートである。
【図５】図５は、交差検定処理の手順の一例を示すフローチャートである。
【図６】図６は、生体認証装置の機能的構成を示すブロック図である。
【図７】図７は、識別関数特定プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明に係る識別関数特定装置、識別関数特定プログラム、識別関数特定方法および生体認証装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
［識別関数特定装置の構成］
本実施例に係る識別関数特定装置１０について説明する。図１は、識別関数特定装置の機能的な構成の一例を示す図である。識別関数特定装置１０は、生体認証装置１１が生体認証で用いる識別関数を特定する装置である。例えば、識別関数特定装置１０は、生体認証装置１１を出荷する際に、生体認証装置１１に識別関数を設定する装置である。生体認証装置１１は、１つ以上の生体情報から複数の特徴量を抽出し、識別関数を用いて複数の特徴量から生体認証を行う。本実施例では、識別関数特定装置１０が、ＦＡＲを基準とした際に、ＦＲＲが最小もしくは極小となるように識別関数を特定する例について説明する。なお、ＦＲＲを基準とした際に、ＦＡＲが最小もしくは極小となるように識別関数を特定する場合も、本実施例と同様の構成で実現できる。
【００１３】
図１に示すように、識別関数特定装置１０は、入出力Ｉ／Ｆ（interface）部２０と、表示部２１と、入力部２２と、記憶部２３と、制御部２４とを有する。なお、識別関数特定装置１０は、上記の機器以外の他の機器を有してもよい。例えば、識別関数特定装置１０は、生体情報を取得する各種のセンサ部を有してもよい。
【００１４】
入出力Ｉ／Ｆ部２０は、各種データの入出力を行うインタフェースである。入出力Ｉ／Ｆ部２０は、例えば、通信制御を行う通信インタフェースであってもよく、ＵＳＢ（Universal  Serial  Bus）などの入出力ポートであってもよい。入出力Ｉ／Ｆ部２０は、他の装置と各種情報を送受信する。例えば、識別関数特定装置１０は、入出力Ｉ／Ｆ部２０を介して識別関数を生体認証装置１１に設定する。
【００１５】
表示部２１は、各種情報の表示を行うデバイスである。表示部２１としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。なお、表示部２１は、投影により画像の表示を行うプロジェクタなどの投影デバイスであってもよい。表示部２１は、各種情報を表示する。例えば、表示部２１は、操作を受け付ける操作画面を表示する。
【００１６】
入力部２２は、各種の情報を入力する入力デバイスである。例えば、入力部２２としては、マウスやキーボードなどの入力デバイスが挙げられる。入力部２２は、ユーザからの操作入力を受付け、受付けた操作内容を示す操作情報を制御部２４に入力する。例えば、入力部２２は、識別関数の特定を指示する操作を受付ける。
【００１７】
記憶部２３は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリなどのデータを書き換え可能な半導体メモリであってもよい。
【００１８】
記憶部２３は、制御部２４で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部２３は、制御部２４で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部２３は、調整用データセット３０を記憶する。
【００１９】
本実施例では、識別関数を特定するために利用する調整用データセット３０を事前に用意する。調整用データセット３０は、生体認証で利用する各特徴量を照合した結果得られる複数のスコアからなる。この調整用データセット３０は、例えば、次の手順で作成される。まず、複数の協力者から生体情報を収集する。協力者から収集する生体情報は、１つの種類であってもよく、複数の種類であってもよい。また、協力者から同じ種類の生体情報を複数回収集する。そして、収集された１つ以上の生体情報から、複数の特徴量を抽出する。例えば、複数の特徴量抽出としては、例えば、１本の指の指紋画像といった１種類の生体情報から、特徴点方式による照合で用いる特徴量と、パターンマッチング方式による照合で用いる特徴量といった複数の特徴量を抽出する方法が挙げられる。すなわち、複数の特徴量は、１つの生体情報から抽出してもよい。また、複数の特徴量は、複数の生体情報からそれぞれ抽出してもよい。例えば、指紋画像と手のひら静脈画像から指紋パターンと静脈パターンといった複数の特徴量を抽出してもよい。
【００２０】
生体情報の収集完了後、一人の協力者の異なる生体情報から抽出された各特徴量を照合して本人間スコアを算出する。また、異なる協力者の異なる生体情報から抽出された各特徴量を照合して他人間スコアを算出する。例えば、協力者から生体情報を収集した回毎に、当該生体情報から抽出された複数の特徴量に個別の識別番号を定める。そして、本人間および他人間について、同じ種類の特徴量毎に、特徴量を照合してスコアを算出する。算出された本人間スコアと他人間スコアを調整用データセット３０として保存する。
【００２１】
図２は、調整用データセットのデータ構成の一例を示す図である。図２に示すように、調整用データセット３０は、区分、登録データの識別番号、照合データの識別番号、特徴量スコアなどの項目が対応付けられたテーブルを採用できる。区分の項目は、本人間の特徴量について照合したものか、他人間の特徴量について照合したものかを示す情報を記憶する領域である。「本人間照合」は、本人間の特徴量の照合であることを示す。「他人間照合」は、他人間の特徴量の照合であることを示す。登録データの識別番号の項目は、照合元となる複数の特徴量の識別番号を記憶する領域である。照合データの識別番号の項目は、照合元と照合を行った複数の特徴量の識別番号を記憶する領域である。特徴量スコアの項目は、同じ種類の特徴量毎に、特徴量を照合したスコアを記憶する領域である。本実施例では、特徴量スコアの項目を、特徴量の種類毎、スコアＡ、スコアＢ・・・スコアＮに分けてスコアを記憶させている。スコアＡ、スコアＢ・・・スコアＮには、それぞれ特徴量の種類毎に照合した結果のスコアが記憶される。例えば、スコアＡは、指紋パターンの特徴量を照合したスコアである。また、スコアＮは、手のひら静脈パターンの特徴量を照合したスコアである。
【００２２】
図２の例では、識別番号は、協力者を示す番号と、何回目の収集されたものであるかを組み合わせて定められている。例えば、識別番号「ａａａａａａ＿１」は、協力者「ａａａａａａ」から「１」回目に収集された生体情報から生成された特徴量であることを示す。
【００２３】
図２の例では、登録データの識別番号「ａａａａａａ＿１」、照合データの識別番号「ａａａａａａ＿２」は、本人間の特徴量の照合であることを示す。また、照合した特徴毎のスコアは、スコアＡが「１．００」であり、スコアＢが「１０」であり、・・・、スコアＮが「１」であることを示す。また、登録データの識別番号「ａａａａａａ＿１」、照合データの識別番号「ｍｍｍｍｍ＿２」は、他人間の特徴量の照合であることを示す。また、照合した特徴毎のスコアは、スコアＡが「１１．００」であり、スコアＢが「２５」であり、・・・、スコアＮが「１２」であることを示す。
【００２４】
図１に戻り、制御部２４は、識別関数特定装置１０を制御するデバイスである。制御部２４としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部２４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２４は、各種のプログラムが動作しており、各種の処理部として機能する。例えば、制御部２４は、選択部４０と、設定部４１と、算出部４２と、抽出部４３と、決定部４４とを有する。
【００２５】
選択部４０は、各種の選択を行う。例えば、選択部４０は、調整用データセット３０から所定の選択ルールに基づいて選択を行い、第二の調整用データセットと第一のテストデータを作成する。例えば、選択部４０は、調整用データセット３０から第二の調整用データセットを選択し、調整用データセット３０の未選択の部分を第一のテストデータとする。所定の選択ルールは、例えば、ある数値をシード（seed）値として用い、シード値を基にして乱数生成関数などの特定の演算により乱数を算出し、算出された乱数に基づいて、調整用データセット３０からランダムに選択する方法でもよい。また、所定の選択ルールは、調整用データセット３０を固定の数個おきに選択するような規則性のある選択方法でもよい。選択部４０が、乱数を用いる場合、同じシード値を用いることにより、第二の調整用データセットの選択を再現できる。また、規則性のある選択ルールに基づいて第二の調整用データセットを選択する場合、その選択ルールを再現すれば、第二の調整用データセットの選択を再現できる。これにより、学習に用いた第二の調整用データセットについての再検証やデータ調査の追試が可能となるため、開発時の検討やその他のパラメータの設定の効率を上げることができる。第一のテストデータは、最終的に算出される最適識別関数の認証精度の検証に利用される。生体認証装置１１が保障する認証精度を検証するために、第一のテストデータは、認証精度を検証可能なデータ数よりも多く残すことが望ましい。選択部４０は、調整用データセット３０から、認証精度を検証可能なデータ数のデータを選択した後、残りのデータを第二の調整用データセットとしてもよい。
【００２６】
選択部４０は、第二の調整用データセットから所定の選択ルールに基づいて選択を行い、学習データと第二のテストデータを作成する。この所定の選択ルールは、第二の調整用データセットと第一のテストデータを選択した場合と同様の手法を用いる。なお、選択ルールは、第二の調整用データセットと第一のテストデータを選択した場合と異なる手法を用いてもよい。
【００２７】
本実施例に係る識別関数特定装置１０では、第二の調整用データセットの選択を複数回行い、それぞれの第二の調整用データセットを用いて機械学習を行って生体認証に用いる識別関数を特定する。これにより、識別関数特定装置１０は、選択された第二の調整用データセットが特定の状態のデータに偏り、特定の状態に最適化された識別関数が求まることを抑制できる。
【００２８】
本実施形態で用いることができる機械学習としては、例えば、ＳＶＭや判別分析などが挙げられる。このＳＶＭに用いるカーネルは、学習の結果として得られるサポートベクターの数に影響されず、一定の個数の係数のみを保持して実現できるカーネルを用いることが望ましい。例えば、線形カーネルや多項式カーネルなどが挙げられる。本実施例では、多項式カーネルを用いた、以下の（１）式に示す識別関数を利用するものとする。（１）式の場合、識別関数の次数が定まれば、識別関数の係数βの個数は定まる。その個数の係数βのみを保持するだけで、識別関数を実現できる。本実施形態では、以降は、係数βを、学習により算出された前記識別関数のパラメータである学習出力パラメータとして扱うことにする。
【００２９】
【数１】
2015170317.tif 000003
【００３０】
ここで、（１）式に用いられる各種の表記は、以下であるものとする。
ｎ    ：特徴量の数
ｘ＝（ｘ１，ｘ２，・・・，ｘｎ）    ：特徴量スコアのリスト
Ｓ    ：サポートベクターの添え字の集合
ｖｉ＝（ｖ１，  ｖ２，・・・，  ｖｎ）  （ｉ∈Ｓ）Ｓ    ：サポートベクター
αｉ    ：各サポートベクターの係数
Ｋ（ｘ，ｖｉ）＝（ｘｔｖｉ＋１）ｐ    ：カーネル（多項式カーネル）
ｐ    ：識別関数の次数（学習入力パラメータ）
β（ｐ１，  ｐ２，・・・，  ｐｎ）      ：識別関数の係数（学習出力パラメータ）
【００３１】
多項式カーネルの次数などは、機械学習で扱うデータ毎に最適な値に変更することが望ましい。以降は、このようなデータ毎に最適な値に変更する数値を、学習入力パラメータと表記する。学習入力パラメータの他の例としては、ソフトマージンＳＶＭにおいて、マージン最大化とＦＲＲやＦＡＲの最小化のトレードオフを決定するマージンパラメータが挙げられる。
【００３２】
従来の機械学習では、機械学習が算出する認証精度を用いて最適な学習入力パラメータを決定する。例えば、ＳＶＭでは、本人間の特徴量の照合したスコアの分布と他人間の特徴量の照合したスコアの分布のマージンが最大となるような学習入力パラメータを設定する。
【００３３】
一方で、生体認証装置１１は、用途に応じた生体認証の要求される認証精度が異なる。例えば、生体認証装置１１を、例えば、ＡＴＭ（Automated  Teller  Machine）、オフィスＰＣ（Personal  Computer）、入退室管理装置などとした場合、生体認証装置１１は、他人の受入が許されず、高いセキュリティが要求される。一方、生体認証装置１１を、スマートフォンや携帯電話などの高頻度で本人確認を行う装置とした場合、生体認証装置１１は、本人拒否がほとんど発生しないような利用者の利便性が高い設定が要求される。従来の機械学習の方法をそのまま用いて学習入力パラメータを設定すると、生体認証の用途に応じた精度を必ずしも確保できない。
【００３４】
そこで、本実施例に係る識別関数特定装置１０では、生体認証装置１１の環境に適した最適学習入力パラメータを設定する。例えば、他人の受入が許されず、高いセキュリティが要求される場合、最適学習入力パラメータは、生体認証装置１１に要求されるＦＡＲを基準に、ＦＲＲが最小または極小となる学習入力パラメータである。一方、本人拒否がほとんど発生しないような利用者の利便性が高い設定が要求される場合、最適学習入力パラメータは、生体認証装置１１に要求される要求されるＦＲＲを基準に、ＦＡＲが最小または極小となる学習入力パラメータである。本実施例では、最適学習入力パラメータとして、所定のＦＡＲを基準とした際に、ＦＲＲが最小もしくは極小となるような識別関数に近い識別関数を算出可能な学習入力パラメータを設定する場合を例に説明する。以降で、本実施例に係る識別関数特定装置１０が、最適学習入力パラメータを求める方法を詳細に説明する。
【００３５】
設定部４１は、各種の設定を行う処理部である。例えば、設定部４１は、複数の学習入力パラメータの候補と学習データを用いた機械学習による学習を行い、複数の仮識別関数を設定する。例えば、設定部４１は、上記の（１）式に示した識別関数の次数を所定の範囲で変えて複数の仮識別関数を設定し、学習データを用いた機械学習による学習を行い、複数の仮識別関数を設定する。
【００３６】
算出部４２は、各種の算出を行う処理部である。例えば、算出部４２は、複数の仮識別関数についてそれぞれ第二の調整用データセットを用いて、仮認証精度を複数算出する。例えば、算出部４２は、各仮識別関数の仮認証精度として、ＦＡＲおよびＦＲＲを算出する。本実施例においては、仮認証精度は、所定のＦＡＲを実現する閾値を用いた場合のＦＲＲの最小値をさす。
【００３７】
設定部４１は、算出部４２により算出される複数の仮認証精度の中から、仮認証精度が最小値の仮認証精度を選定し、該仮認証精度を算出した仮識別関数に対応する学習入力パラメータの候補を、最適学習入力パラメータと決定する。例えば、設定部４１は、複数の仮識別関数の中から、ＦＡＲが所定の基準を満たし、ＦＲＲが最小もしくは極小となる学習入力パラメータを求める。設定部４１は、学習入力パラメータとして、次数のみを確定させる。係数については、後述の処理にて再度、機械学習を行う。これにより、学習入力パラメータとして次数が決定される。設定部４１は、最小値に対応する学習入力パラメータが複数算出された場合、最小値に対応する学習入力パラメータの平均値、もしくは中間値を最適学習入力パラメータと決定する。
【００３８】
あるいは、設定部４１は、学習データを均等に分割して、交差検定を行ない、複数の学習入力パラメータの中から、各仮識別関数の最適学習入力パラメータを決定してもよい。
【００３９】
図３は、交差検定の流れの一例を示す図である。設定部４１は、学習データを均等に分割する。図３の例では、学習データが学習データＴ１〜Ｔ５の５つに分割されている。設定部４１は、学習データＴ１〜Ｔ５から何れかを精度テスト用データと選択し、残りを仮学習データＴ’とする。設定部４１は、仮学習データＴ’と各学習入力パラメータを用いて、機械学習を行って仮識別関数を得る。また、設定部４１は、精度テスト用データを用いて、各仮識別関数の仮認証精度を算出する。設定部４１は、精度テスト用データを変えながら、仮識別関数と仮認証精度の算出を繰り返す。すなわち、交差検定では、仮識別関数の各学習入力パラメータの値を変える毎に、仮学習データＴ’と精度テスト用データとを変えながら、仮識別関数の仮認証精度の算出を繰り返す。図３の例では、学習入力パラメータＰ１〜Ｐ３について、精度テスト用データを学習データＴ１〜Ｔ５と順に変えて５回、仮識別関数の仮認証精度が算出されている。例えば、図３の例では、学習データＴ１を精度テスト用データとした場合について、学習入力パラメータＰ１の仮認証精度がＲ１１、学習入力パラメータＰ２の仮認証精度がＲ２１、学習入力パラメータＰ３の仮認証精度がＲ３１と算出されている。設定部４１は、識別関数の学習入力パラメータ毎に、仮認証精度の平均値を算出する。図３の例では、識別関数の学習入力パラメータＰ１〜Ｐ３について、仮認証精度の平均値Ｒ１〜Ｒ３が算出されている。例えば、学習入力パラメータＰ１について、仮認証精度の平均値Ｒ１＝（Ｒ１１＋Ｒ１２＋・・・＋Ｒ１５）／５と算出されている。設定部４１は、仮認証精度の平均値が最もよい学習入力パラメータを最適学習入力パラメータと設定する。例えば、図３の例では、仮認証精度の平均値Ｒ１〜Ｒ３のうち、平均値Ｒ１が最もよい場合、平均値Ｒ１の学習入力パラメータＰ１の値として最適学習入力パラメータに設定される。
【００４０】
また、設定部４１は、最小値に対応する学習入力パラメータが複数算出された場合、最小値に対応する学習入力パラメータの平均値、もしくは中間値を最適学習入力パラメータと設定してもよい。また、設定部４１は、最適学習入力パラメータの周辺の値を新規の学習入力パラメータの候補として用いて、再度交差検定を行い、最適学習入力パラメータを再設定してもよい。この場合、設定部４１は、１回目の学習入力パラメータの範囲を広めに設定し、２回目以降の学習入力パラメータの候補を前回よりも範囲を狭くしてより詳細に探索できるように設定することが望ましい。このような探索を行うことで、仮認証精度が極小ではなく最小となる学習入力パラメータを、設定部４１が特定できる確率が高くなる。
【００４１】
設定部４１は、前記最適学習入力パラメータと学習データを用いて学習を行い、第二の仮識別関数を特定する。
【００４２】
選択部４０、設定部４１および算出部４２は、学習データと第二のテストデータを変えつつ、第二の仮識別関数の特定および特定した第二の仮識別関数の認証精度の算出を所定回繰り返す。
【００４３】
算出部４２は、算出された所定数個の第二の仮識別関数について、それぞれの第二の調整用データセットを用いて、第二の仮識別関数毎に、第二の仮認証精度を算出する。例えば、算出部４２は、各第二の仮識別関数の第二の仮認証精度として、ＦＡＲおよびＦＲＲを算出する。
【００４４】
抽出部４３は、各種の抽出を行う処理部である。例えば、抽出部４３は、複数の第二の仮認証精度の中から、ＦＡＲが所定の基準を満たし、ＦＲＲが最小もしくは極小となる第二の仮識別関数を抽出する。抽出部４３は、抽出した第二の仮識別関数を仮最適識別関数とする。なお、抽出部４３は、ＦＡＲが所定の基準を満たし、ＦＲＲが最小もしくは極小となる第二の仮識別関数が複数抽出された場合、抽出した複数の識別関数の各係数の平均値、もしくは各係数の中間値を備える関数を、仮最適識別関数の係数とする。本実施例では第二の調整用データセットのデータの中から選択した学習データを用いて第二の仮識別関数を作成するため、学習データを再選択しても、以前の学習データと同じスコアのデータを含む場合がある。このため、第二の仮識別関数の係数は大きく変動しない傾向にある。条件を満たす第二の仮識別関数が複数ある場合、各係数の平均値や中間値は、ほとんどの第二の仮識別関数の係数と差が小さく、精度が安定している場合が多いため、仮最適識別関数の係数として採用できる。さらに、各係数の平均値や中間値を用いることで、次の処理で所定の範囲で係数を変化させた際に、外れ値を探索することなく、良好な係数の値の範囲を探索することができる。
【００４５】
設定部４１は、仮最適識別関数の係数を所定の第一範囲内で変化させた第三の仮識別関数を複数設定する。例えば、設定部４１は、仮最適識別関数の係数を所定の第一範囲内で変化させた第三の仮識別関数を複数設定する。
【００４６】
ここで、スコアを変動させる第一範囲の例（Ａ）〜（Ｅ）を説明する。
【００４７】
（Ａ）係数の有効数字がｎ桁の場合、一番大きい桁の数値を前後に振った範囲を探索する。例えば、仮最適識別関数Ｆ（ｘ）が以下の（２）式とする。
Ｆ（ｘ）＝０．３１２ｘ１＋０．４２１ｘ２＋０．５３１ｘ３          （２）
【００４８】
この場合、例えば、以下に示すように、一番大きい桁の数値の前後を変化させた範囲で探索を行う。
【００４９】
ｘ１の係数の探索範囲：０．２，０．３，０．４
ｘ２の係数の探索範囲：０．３，０．４，０．５
ｘ３の係数の探索範囲：０．４，０．５，０．６
【００５０】
（Ｂ）上記（Ａ）の係数の組み合わせで変化させた際の仮最適識別関数を用いて仮認証精度を算出し、最も仮認証精度が低い係数の組を採用して仮最適識別関数を作成する。例えば、係数の範囲が上記の（Ａ）の場合、係数の全組み合わせの２７通り(＝３×３×３)に変化させてそれぞれ仮認証精度を算出する。その結果、仮認証精度が最も低い組み合わせの係数を仮最適識別関数とする。例えば、以下の（３）の組み合わせが最も仮認証精度が低い場合、仮最適識別関数Ｆ１（ｘ）を（４）式とする。
【００５１】
(ｘ１の係数，ｘ２の係数，ｘ３の係数)＝（０．３，０．４，０．５）      （３）
Ｆ１（ｘ）＝０．３ｘ１＋０．４ｘ２＋０．５ｘ３                      （４）
【００５２】
（Ｃ）上記（Ｂ）の１つ下の係数を変化させた際に、四捨五入して（Ｂ）の係数の組となる範囲を探索する。例えば、以下に示す範囲で探索を行う。
【００５３】
ｘ１の係数の探索範囲：０．２５，０．２６，０．２７，０．２８，０．２９，０．３，
０．３１，０．３２，０．３３，０．３４
ｘ２の係数の探索範囲：０．３５，０．３６，０．３７，０．３８，０．３９，０．４，
０．４１，０．４２，０．４３，０．４４
ｘ３の係数の探索範囲：０．４５，０．４６，０．４７，０．４８，０．４９，０．５，
０．５１，０．５２，０．５３，０．５４
【００５４】
（Ｄ）（Ｂ）と同様に（Ｃ）の係数の組み合わせ（１０３通り）で変化させた際に、仮認証精度が最も低い係数の組み合わせを採用する。
【００５５】
（Ｅ）順次桁数を下げていき、（３）の範囲探索と（４）の係数採用を行い、有効数字ｎ桁目までの係数の組み合わせを決定する。この係数の組み合わせを用いた識別関数を最適識別関数として採用する。
【００５６】
また、設定部４１は、上述した交差検定の結果を用いて第三の仮識別関数を複数作成してもよい。例えば、交差検定では、学習が複数回実施される。設定部４１は、交差検定の学習の結果で得られる複数の仮識別関数の係数の最大値と最小値の範囲を所定の第一範囲として探索に使用してもよい。また、設定部４１は、最大値と最小値の範囲を複数の段階（例えば、１０段階）に分けて、それぞれで係数が含まれる段階の範囲を探索に使用してもよい。また、設定部４１は、複数の第二の仮識別関数の係数の最大値と最小値の範囲を所定の第一範囲として探索に使用してもよい。また、設定部４１は、複数の第二の仮識別関数の最大値と最小値の範囲を複数の段階に分けて、それぞれで係数が含まれる段の範囲を探索に使用してもよい。
【００５７】
スコアの変動を大きくしてしまうか、あるいは、仮最適識別関数の周辺に限定せずに関数の係数を全探索してしまうと、特徴量の数が増大するにつれて探索範囲が広くなり、最適識別関数を決定するために多大な時間を要してしまう。また、探索範囲が広くなることで、最適識別関数を見逃す確率が高くなり、生体認証装置１１に最適な設定が困難になる。そこで、本実施例のように、設定部４１が、スコアの変動を大きくせずに、仮最適識別関数の周辺に限定することで、最適識別関数の決定時間を最小限にし、最適識別関数を見逃す確率を低減させることが可能である。さらに、仮識別関数は機械学習による学習の結果であり、識別精度が高い機械学習を用いれば、どの認証精度を基準にしても、もう一方の認証精度が高くなる可能性が高い。このため、仮最適識別関数の周辺のみを探索することで、認証精度が極端に悪い場合を検証する手間を省くことができ、効率の良い探索が可能となる。
【００５８】
算出部４２は、各第三の仮識別関数を第二の調整用データセットに適用して、各第三の仮識別関数の第三の仮認証精度を複数算出する。例えば、算出部４２は、各第三の仮識別関数の第三の仮認証精度として、ＦＡＲおよびＦＲＲを算出する。
【００５９】
決定部４４は、仮最適識別関数を決定する方法と同様にして、複数の第三の仮認証精度の中から、ＦＡＲが所定の基準を満たし、ＦＲＲが最小もしくは極小となる第三の仮識別関数を選定し、選定した第三の仮識別関数を、最適識別関数として決定する。決定部４４は、ＦＡＲが所定の基準を満たし、ＦＲＲが最小もしくは極小となる第三の仮識別関数が複数選定された場合、各第三の仮識別関数の各係数の平均値、もしくは各係数の中間値を備える関数を、最適識別関数として決定する。
【００６０】
なお、仮最適識別関数が、所望の認証精度を満たしているならば、最適識別関数を算出せずに処理を終了して、仮最適識別関数を最適識別関数として使用してもよい。
【００６１】
ここで、生体認証では、学習用の調整用データセット３０を大量に収集することは困難であることが多く、十分な認証精度を実現する学習結果、すなわち仮最適識別関数を得られない場合がある。例えば、調整用データの収集には、大量の協力者を集めて、長期間を要する。さらに、収集コストも膨大となる。このため、生体認証装置１１が要求する精度によっては、精度を得るのに十分なデータ数を収集できない場合もある。識別関数特定装置１０は、このような調整用データセット３０の数が十分でなく、仮最適識別関数の認証精度が十分でない場合でも、仮最適識別関数の周辺を探索することにより、より認証精度がよく、生体認証装置１１に最適な最適識別関数を決定することができる。
【００６２】
また、データ数が少ないことで、最適識別関数の候補が多くなる場合もある。この場合、最適識別関数の候補の各係数の平均値、もしくは各係数の中間値を有する関数を最適識別関数として採用することで、係数が変動しても認証精度が大きく変化しないような安定した最適識別関数を決定することができる。
【００６３】
また、識別関数を用いないで複数の特徴量により認証を行う技術として、例えば、Density  Based  Methodがある。しかし、Density  Based  Methodは、あるスコアが与えられた際に本人と判定される確率と他人と判定される確率の関係の分布からなる補助データを、少なくとも特徴量ごとに生体認証装置１１に保存する。この保存する補助データのサイズは、特徴量の認証アルゴリズムの認証精度に依存する。例えば、各特徴量の認証アルゴリズムの認証精度が低いと、特徴量を追加して認証精度を高める場合がある。この際、追加した特徴量に関する補助データの分だけサイズが増加してしまう。このため、生体認証装置１１に保存できるデータ容量が限られる場合、実装が困難となるケースも起こりうる。
【００６４】
一方、本実施例に係る生体認証方式では、上記（１）式のように一定数の係数を保存するだけで実現できる識別関数を用いることで、認証エンジンの認証精度や学習に用いるデータに影響されることなく、生体認証装置１１が保存する補助データのサイズを一定サイズ以下に抑えることができる。
【００６５】
このように、本実施例に係る識別関数特定装置１０は、保存する補助データのサイズが変動することなく、認証精度を基準とした最適学習入力パラメータと最適識別関数を決定できる。これにより、生体認証装置１１の用途や利用環境に応じた識別関数を決定することができる。
【００６６】
［処理の流れ］
最初に、本実施例に係る識別関数特定装置１０が、最適識別関数を特定する識別関数特定処理の流れについて説明する。図４は、識別関数特定処理の手順の一例を示すフローチャートである。この検出処理は、所定のタイミング、例えば、識別関数の特定を指示する操作を受け付けたタイミングで実行される。
【００６７】
図４に示すように、選択部４０は、調整用データセット３０から所定の選択ルールに基づいて選択を行い、第二の調整用データセットと第一のテストデータを作成する（Ｓ１０）。また、選択部４０は、変数Ｎに１をセットする（Ｓ１１）。そして、選択部４０は、
第二の調整用データセットから所定の選択ルールに基づいて選択を行い、学習データと第二のテストデータを作成する（Ｓ１２）。
【００６８】
設定部４１は、複数の学習入力パラメータの候補と学習データを用いた機械学習による学習を行い、学習入力パラメータとして次数を決定する交差検定処理を開始する（Ｓ１３）。
【００６９】
ここで、交差検定処理について説明する。図５は、交差検定処理の手順の一例を示すフローチャートである。この交差検定処理は、識別関数特定処理のＳ１３から実行される。
【００７０】
図５に示すように、設定部４１は、学習データを分割する（Ｓ３０）。例えば、設定部４１は、学習データをＴ１〜Ｔｋのｋ等分に分割する。設定部４１は、変数ｉに１をセットする（Ｓ３１）。設定部４１は、学習データＴｉ以外のデータを仮学習データＴ’とする（Ｓ３２）。設定部４１は、変数ｊに１をセットする（Ｓ３３）。設定部４１は、仮学習データＴ’  と学習入力パラメータを用いて機械学習を行って仮識別関数を決定する（Ｓ３４）。設定部４１は、学習データＴｉに仮識別関数を適用して、学習入力パラメータＰｊの仮認証精度Ｒｉｊを算出する（Ｓ３５）。設定部４１は、変数ｊの値がＭ以上となったか否かを判定する（Ｓ３６）。変数ｊの値がＭ以上ではない場合（Ｓ３６否定）、設定部４１は、変数ｊの値に１を加算し（Ｓ３７）、上述のＳ３４へ移行する。
【００７１】
一方、変数ｊの値がＭ以上である場合（Ｓ３６肯定）、設定部４１は、変数ｉの値がＫ以上となったか否かを判定する（Ｓ３８）。変数ｉの値がＫ以上ではない場合（Ｓ３８否定）、設定部４１は、変数ｉの値に１を加算し（Ｓ３９）、上述のＳ３２へ移行する。
【００７２】
一方、変数ｉの値がＫ以上である場合（Ｓ３８肯定）、設定部４１は、学習入力パラメータ毎に、仮認証精度の平均値を算出する（Ｓ４０）。設定部４１は、仮認証精度の平均値が最も低い学習入力パラメータを最適学習入力パラメータと設定し（Ｓ４１）、交差検定処理を終了して識別関数特定処理のＳ１４へ移行する。
【００７３】
図４に戻り、算出部４２は、第二の仮識別関数について、第二の調整用データセットをそれぞれ用いて、第二の仮識別関数毎に、第二の仮認証精度を算出する（Ｓ１４）。設定部４１は、変数Ｎの値が第二の所定回となったか否かを判定する（Ｓ１５）。変数Ｎの値が第二の所定回ではない場合（Ｓ１５否定）、設定部４１は、変数Ｎの値に１を加算し（Ｓ１６）、上述のＳ１２へ移行する。
【００７４】
一方、変数Ｎの値が第二の所定回である場合（Ｓ１５肯定）、抽出部４３は、第二の所定個の第二の仮認証精度の中から、ＦＡＲが所定の基準を満たし、ＦＲＲが最小もしくは極小となる第二の仮識別関数を抽出し、抽出した第二の仮識別関数を仮最適識別関数とする（Ｓ１７）。設定部４１は、仮最適識別関数の係数を所定の第一範囲内で変化させた第三の仮識別関数を複数設定する（Ｓ１８）。算出部４２は、各第三の仮識別関数を第二の調整用データセットに適用して、各第三の仮識別関数の第三の仮認証精度を複数算出する（Ｓ１９）。決定部４４は、複数の第三の仮認証精度の中から、ＦＡＲが所定の基準を満たし、ＦＲＲが最小もしくは極小となる第三の仮識別関数を選定し、選定した第三の仮識別関数を最適識別関数として決定し（Ｓ２０）、処理を終了する。
【００７５】
［効果］
上述してきたように、本実施例に係る識別関数特定装置１０は、本人類似度の分布と他人類似度の分布を分離する識別関数を識別関数の係数や学習入力パラメータの値を変えて複数設定する。例えば、識別関数特定装置１０は、本人類似度の分布と他人類似度の分布を分離する識別関数を、学習前に設定する学習入力パラメータを用いて機械学習により算出し、前記学習入力パラメータと、学習により算出された前記識別関数のパラメータである学習出力パラメータの値を変えて複数の前記識別関数を設定する。識別関数特定装置１０は、設定された前記識別関数毎に、エラー率を算出する。識別関数特定装置１０は、算出されるエラー率が所定のエラー条件を満たす識別関数を抽出する。識別関数特定装置１０は、所定のエラー条件に応じた識別関数を得ることができる。すなわち、識別関数特定装置１０は、生体認証の用途に応じた精度の識別関数を得ることができる。
【００７６】
また、本実施例に係る識別関数特定装置１０は、学習出力パラメータの値を所定の範囲内で変化させて識別関数を複数設定する。例えば、識別関数特定装置１０は、識別関数の係数の値を所定の範囲内で変化させて識別関数を複数設定する。これにより、識別関数特定装置１０は、精度に得るのに十分なデータ数を収集できない場合でも、認証精度がよい最適識別関数を決定することができる。
【００７７】
また、本実施例に係る識別関数特定装置１０は、エラー率を、他人受入率と本人拒否率とし、エラー条件を、他人受入率と本人拒否率の何れか一方が所定の条件を満たし、他方が最小または極小とする。これにより、識別関数特定装置１０は、生体認証の用途に応じた認証精度で生体認証を行うことができる。
【００７８】
また、本実施例に係る識別関数特定装置１０は、１つ以上の生体情報から抽出された複数の特徴量のスコアからなる調整用データセット３０から所定の選択ルールに基づいて学習に用いる学習データを選択する。識別関数特定装置１０は、学習入力パラメータの複数の候補と学習データを用いた機械学習を行って複数の仮識別関数を設定する。そして、識別関数特定装置１０は、複数の仮識別関数のうちエラー率が所定のエラー条件を満たしかつ精度が最も高い前記学習入力パラメータを最適学習入力パラメータとして設定する。前記最適学習入力パラメータを用いて学習することで、識別関数特定装置１０は、所定のエラー条件に応じた識別関数を得ることができる。
【００７９】
また、本実施例に係る識別関数特定装置１０は、調整用データセット３０から所定の選択ルールに基づいて学習データを複数回選択する。識別関数特定装置１０は、選択された複数の学習データからそれぞれ機械学習を行って複数の仮識別関数を設定する。識別関数特定装置１０は、学習データ毎の仮識別関数のうちエラー率が所定のエラー条件を満たしかつ精度が最も高い仮識別関数を識別関数と決定する。識別関数特定装置１０は、このように学習データ毎の複数の仮識別関数から識別関数と決定することにより、所定のエラー条件に応じた識別関数を得ることができる。
【実施例２】
【００８０】
次に、実施例２について説明する。実施例２では、生体認証装置１１にて識別関数を特定する場合について説明する。
【００８１】
［生体認証装置の構成］
実施例２に係る生体認証装置１１について説明する。図６は、生体認証装置の機能的構成を示すブロック図である。なお、図１に示した実施例１の識別関数特定装置１０と同一部分については同一の符号を付し、主に異なる部分について説明する。図６に示すように、生体認証装置１１は、記憶部６０と、制御部６１と、生体情報取得部６２と、属性情報取得部６３とを有する。
【００８２】
記憶部６０は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部６０は、ＲＡＭ、フラッシュメモリなどのデータを書き換え可能な半導体メモリであってもよい。
【００８３】
記憶部６０は、制御部６１で実行されるＯＳや各種プログラムを記憶する。さらに、記憶部６０は、制御部６１で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部６０は、上述の調整用データセット３０を記憶する。
【００８４】
制御部６１は、識別関数特定装置１０を制御するデバイスである。制御部６１としては、ＣＰＵ、ＭＰＵ等の電子回路や、ＡＳＩＣ、ＦＰＧＡ等の集積回路を採用できる。制御部６１は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部６１は、各種のプログラムが動作しており、各種の処理部として機能する。例えば、制御部６１は、上述の選択部４０と、設定部４１と、算出部４２と、抽出部４３と、決定部４４とを有する。また、制御部６１は、特徴抽出部４５と、認証部４６とをさらに有する。
【００８５】
生体情報取得部６２は、生体認証装置１１の利用者から、生体情報を取得する。例えば、生体情報取得部６２は、指紋画像を取得する静電容量式の指紋センサである。あるいは、生体情報取得部６２は、手のひら静脈を取得する近赤外線カメラを有する静脈センサでもよい。また、生体情報取得部６２は、指紋センサと静脈センサといった複数の機器の集合でもよい。
【００８６】
属性情報取得部６３は、利用者のＩＤや名前といった属性情報を取得する。属性情報取得部６３は、例えば、文字入力用のキーボードやタッチパネルである。認証時に属性情報を必要としない生体認証装置１１であれば、属性情報取得部６３は、必ずしも属性情報を取得しなくてもよい。
【００８７】
特徴抽出部４５は、生体情報から、認証に利用する複数の特徴量を抽出する。記憶部６０は、特徴量と属性情報を、登録データとして、利用者ごとに記憶する。
【００８８】
なお、本実施形態では、１人の利用者から生体情報を複数回取得し、各特徴量が複数個抽出されて記憶部に保存されているものとする。
【００８９】
実施例２に係る生体認証装置１１は、運用開始直後は、事前に収集した調整用データセット３０を用いて算出された最適識別関数を利用する。記憶部６０は、事前に定めた最適識別関数を記憶する。
【００９０】
認証部４６は、稼働直後の認証の際には、登録データの特徴量と、認証時に利用者が入力した生体情報から抽出した特徴量を、事前に定めた最適識別関数を用いて照合し、最終スコアを算出する。最終スコアは、数値が高いほど、登録データの利用者と、認証を試みた利用者が同一人物である可能性が高いことを示す。認証部４６は、最終スコアが所定の閾値以上あれば、認証を試みた利用者が、登録データの利用者であると判定し、認証成功と判定する。また、認証部４６は、最終スコアが所定の閾値未満であれば、認証を試みた利用者が、登録データの利用者でないと判定し、認証失敗と判定する。
【００９１】
認証部４６は、記憶部６０に記憶された登録データに登録された利用者の数が所定の人数以上であれば、同一利用者の登録データの各特徴量を照合して、各特徴量の本人間照合スコアのリストを作成する。また、認証部４６は、異なる利用者の登録データの各特徴量を照合して、各特徴量の他人間照合スコアのリストを作成する。認証部４６は、作成した本人間照合スコアのリストと他人間スコアのリストを合わせた運用時調整用データを記憶部６０に記憶させる。
【００９２】
選択部４０、設定部４１、算出部４２、抽出部４３および決定部４４は、本人間照合スコアのリストと他人間スコアのリストを合わせた運用時調整用データを用いて、実施例１と同様の方法で、新最適識別関数を算出する。ここで、新最適識別関数は、運用時調整用データのみから作成してもよく、調整用データセット３０と運用時調整用データを用いて、新最適識別関数を算出してもよい。
【００９３】
記憶部６０は、新最適識別関数を、事前に算出された最適識別関数に置き換えて保存する。
【００９４】
新最適識別関数が算出された後の認証時には、認証部４６は、新最適識別関数を用いて照合し、認証成功であるか認証失敗であるかを判定する。
【００９５】
［効果］
上述してきたように、本実施例に係る生体認証装置１１は、照合に利用する新最適識別関数を実際の利用者に対応して変更するため、利用者のデータの傾向により適応した照合を行うことができ、最適識別関数を利用するよりも相対的に認証精度が向上する。また、生体認証装置１１は、要求される生体認証の認証精度が開発時に想定していたものから変更となった場合でも、新最適識別関数を運用中に再設定できるので、利用環境により最適な照合を行うことができる。
【実施例３】
【００９６】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９７】
例えば、上記の実施例では、生体認証装置１１にて識別関数を用いて生体認証を行う場合について説明したが、開示の装置はこれに限定されない。生体認証装置１１が取得した生体情報または生体情報から算出された特徴量をサーバへ送信し、サーバにて識別関数を用いて生体認証を行ってもよい。すなわち、端末とサーバによるシステムにより認証を行うものとしてもよい。
【００９８】
また、上記の実施例では、学習入力パラメータとして、識別関数の次数のみを設定したが、その他の学習入力パラメータを設定してもよい。例えば、マージンパラメータを設定してもよい。複数の学習入力パラメータを設定する場合、並行して設定してもよい。あるいは、学習入力パラメータを１つずつ設定していき、先に採用された学習入力パラメータを用いて、残りの学習入力パラメータを設定してもよい。
【００９９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、識別関数特定装置１０および生体認証装置１１の選択部４０、設定部４１、算出部４２、抽出部４３、決定部４４、特徴抽出部４５および認証部４６の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。例えば、設定部４１は、それぞれの設定する処理に応じて第１設定部、第２設定部・・・と複数の処理部に分離してもよい。また、各装置は各処理部の一部または全部を適宜統合してもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１００】
［識別関数特定プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図７は、識別関数特定プログラムを実行するコンピュータを示す図である。
【０１０１】
図７に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＨＤＤ（Hard  Disk  Drive）３２０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３００〜３４０の各部は、バス４００を介して接続される。
【０１０２】
ＨＤＤ３２０には上記の識別関数特定装置１０および生体認証装置１１の各処理部と同様の機能を発揮する識別関数特定プログラム３２０ａが予め記憶される。なお、識別関数特定プログラム３２０ａについては、適宜分離しても良い。
【０１０３】
また、ＨＤＤ３２０は、各種情報を記憶する。例えば、ＨＤＤ３２０は、ＯＳや処理に用いる各種データを記憶する。
【０１０４】
そして、ＣＰＵ３１０が、識別関数特定プログラム３２０ａをＨＤＤ３２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、識別関数特定プログラム３２０ａは、識別関数特定装置１０および生体認証装置１１の各処理部と同様の動作を実行する。
【０１０５】
なお、上記した識別関数特定プログラム３２０ａについては、必ずしも最初からＨＤＤ３２０に記憶させることを要しない。
【０１０６】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１０７】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１０８】
１０  識別関数特定装置
１１  生体認証装置
２３  記憶部
２４  制御部
３０  調整用データセット
４０  選択部
４１  設定部
４２  算出部
４３  抽出部
４４  決定部
４５  特徴抽出部
４６  認証部
６０  記憶部
６１  制御部
６２  生体情報取得部
６３  属性情報取得部
【図１】
2015170317.tif 000004
【図２】
2015170317.tif 000005
【図３】
2015170317.tif 000006
【図４】
2015170317.tif 000007
【図５】
2015170317.tif 000008
【図６】
2015170317.tif 000009
【図７】
2015170317.tif 000010