(57)【要約】      （修正有）【課題】認証精度が低下することを抑制しつつ登録データのデータ量を削減することができる生体認証装置を提供する。【解決手段】生体認証装置は生体画像から複数の特徴点を抽出する特徴点抽出部１０２と、複数の特徴点のそれぞれに対し、それぞれの特徴点を含む生体画像から特徴ベクトルを算出する特徴ベクトル算出部１０４と、算出された特徴ベクトル毎に、各次元の値を二値化し、ビット列を算出するビット列算出部１０５と、算出されたビット列毎に、対応する特徴ベクトルの二値化の安定性に基づいてビット信頼度を付与するビット信頼度算出部１０６と、算出されたビット列の内から、ビット信頼度の値に従ってビット列を選定するビット列選定部１０７とを備え、ビット信頼度の値に従って認証のためのビット列を選定することで、認証精度が低下することを抑制しつつ登録データのデータ量を削減する。【選択図】図１
2018147435.tif 000002
【特許請求の範囲】
【請求項１】
生体画像から複数の特徴点を抽出する抽出部と、
複数の前記特徴点のそれぞれに対し、それぞれの前記特徴点を含む前記生体画像から特徴ベクトルを算出するベクトル算出部と、
算出された前記特徴ベクトル毎に、各次元の値を二値化し、ビット列を算出するビット列算出部と、
算出された前記ビット列毎に、対応する前記特徴ベクトルの前記二値化の安定性に基づいて信頼度を付与する信頼度判定部と、
算出された前記ビット列の内から、前記信頼度の値に従って前記ビット列を所定個数選定する選定部とを備えることを特徴とする生体認証装置。
【請求項２】
前記信頼度判定部は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度に基づいて前記安定性を求めることを特徴とする請求項１記載の生体認証装置。
【請求項３】
選定された前記所定個数の前記ビット列を結合して登録データを生成する結合部をさらに備えることを特徴とする請求項１又は２記載の生体認証装置。
【請求項４】
前記選定部は、前記信頼度が高い順に前記所定個数の前記ビット列を選定することを特徴とする請求項１〜３の何れか１項に記載の生体認証装置。
【請求項５】
前記安定性は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度を累積した値であることを特徴とする請求項１〜４の何れか１項に記載の生体認証装置。
【請求項６】
前記安定性は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度が所定の閾値を超えた次元数であることを特徴とする請求項１〜４の何れか１項に記載の生体認証装置。
【請求項７】
前記安定性は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度の中央値又は平均値であることを特徴とする請求項１〜４の何れか１項に記載の生体認証装置。
【請求項８】
生体画像から複数の特徴点を抽出し、
複数の前記特徴点のそれぞれに対し、それぞれの前記特徴点を含む前記生体画像から特徴ベクトルを算出し、
算出された前記特徴ベクトル毎に、各次元の値を二値化しビット列を算出し、
算出された前記ビット列毎に、対応する前記特徴ベクトルの前記二値化の安定性に基づいて信頼度を付与し、
算出された前記ビット列の内から、前記信頼度の値に従って前記ビット列を所定個数選定することを特徴とする生体認証方法。
【請求項９】
生体画像から複数の特徴点を抽出するステップと、
複数の前記特徴点のそれぞれに対し、それぞれの前記特徴点を含む前記生体画像から特徴ベクトルを算出するステップと、
算出された前記特徴ベクトル毎に、各次元の値を二値化しビット列を算出するステップと、
算出された前記ビット列毎に、対応する前記特徴ベクトルの前記二値化の安定性に基づいて信頼度を付与するステップと、
算出された前記ビット列の内から、前記信頼度の値に従って前記ビット列を所定個数選定するステップとをコンピュータに実行させるための生体認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体認証装置、生体認証方法、及び生体認証プログラムに関する。
【背景技術】
【０００２】
静脈パターン、指紋、顔画像等の人体の一部の特徴を使用して認証を行う生体認証技術が広まってきている。生体認証における照合処理を高速化するため、認証のための生体データを“０”と“１”の二値のビット列で表現し、そのビット列の単純比較により類似度を算出する方法がある（例えば、特許文献１〜３参照）。
【０００３】
ビット列の生成手法として、撮影した生体画像から照合の基準となる特徴点を複数抽出して特徴点毎に多次元の特徴ベクトルを算出し、それら特徴ベクトルの各次元の値を二値化する手法がある。例えば、図１０に示すように、撮影した生体画像から特徴点を複数抽出し（図示の例ではｎ個）、特徴点毎に、多次元の特徴ベクトルを算出して特徴ベクトルの各次元の値を二値化しビット列を取得する。そして、各特徴点についてのビット列を結合し、その結合ビット列を照合に用いる生体データとする。
【０００４】
各特徴点についてのビット列の生成は、例えば生体画像から図１１（Ａ）に示すような特徴点を含む特徴点近傍の部分画像を切り出し、部分画像を極座標変換するなどして周波数成分を抽出する（図１１（Ｂ））。その周波数成分からｍ個の値を選択してｍ次元の特徴ベクトルを算出し（図１１（Ｃ））、特徴ベクトルの各次元の値と閾値ＢＴＨとを比較して特徴ベクトルの値が閾値ＢＴＨより大きければ“１”とし、小さければ“０”として二値化することで、図１１（Ｄ）に示すようなビット列が得られる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５２６０８号公報
【特許文献２】特開２０１５−３６９０６号公報
【特許文献３】特開２０１４−７４９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
照合に用いる結合ビット列のデータサイズは、（特徴ベクトルの次元数）×（特徴点の数）となるため、生体画像から多数の特徴点が抽出できても、記憶容量の制約からそれらに対するすべてのビット列を結合して登録データとして保持できないことがある。これを解決する方法として、サイズを超えたビット列をランダムに削除することや、サイズに達するまでに登録したビット列を登録データとすることが考えられるが、認証精度の低下が懸念される。例えば、二値の判定に微妙な値を持つ特徴ベクトルに変換される特徴点は、照合毎に異なるビット列が生成され、認証結果が不安定となる。１つの側面では、本発明の目的は、認証精度が低下することを抑制しつつ登録データのデータ量を削減することができる生体認証装置を提供することにある。
【課題を解決するための手段】
【０００７】
生体認証装置の一態様は、生体画像から複数の特徴点を抽出する抽出部と、複数の特徴点のそれぞれに対し特徴ベクトルを算出するベクトル算出部と、算出された特徴ベクトル毎に各次元の値を二値化しビット列を算出するビット列算出部と、算出されたビット列毎に、特徴ベクトルの二値化の安定性に基づいて信頼度を付与する信頼度判定部と、算出されたビット列の内から、信頼度の値に従ってビット列を所定個数選定する選定部とを備える。
【発明の効果】
【０００８】
発明の一態様においては、認証精度が低下することを抑制しつつ登録データのデータ量を削減することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態における生体認証装置の構成例を示す図である。
【図２】図２は、図１に示した生体認証装置の登録処理の例を示すフローチャートである。
【図３】図３は、ビット列化及びビット列信頼度を算出する処理の例を示すフローチャートである。
【図４】図４（Ａ）〜図４（Ｄ）は、本実施形態における登録生体データの生成を説明する図である。
【図５】図５（Ａ）〜図５（Ｃ）は、本実施形態におけるビット列信頼度の例を説明する図である。
【図６】図６は、ビット列化及びビット列信頼度を算出する処理の他の例を示すフローチャートである。
【図７】図７は、本実施形態における生体認証装置の構成例を示す図である。
【図８】図８は、図７に示した生体認証装置の照合処理の例を示すフローチャートである。
【図９】図９は、本実施形態における生体認証装置を実現可能なコンピュータの機能ブロック図である。
【図１０】図１０は、照合用のビット列の生成を説明する図である。
【図１１】図１１は、特徴点におけるビット列の生成を説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
【００１１】
図１は、本発明の一実施形態における生体認証装置の構成例を示すブロック図である。図１には、予め認証のための登録生体データを生体画像から生成して登録を行う生体認証装置を示している。図１に示す生体認証装置は、画像取得部１０１、特徴点抽出部１０２、特徴点近傍画像抽出部１０３、特徴ベクトル算出部１０４、ビット列算出部１０５、ビット列信頼度算出部１０６、ビット列選定部１０７、及びビット列結合部１０８を有する。また、生体認証装置は、特徴ベクトル記憶部１１１、ビット列及びビット列信頼度記憶部１１２、及び登録生体データ記憶部１１３を有する。
【００１２】
画像取得部１０１は、登録生体データを登録する利用者の生体画像を取得する。画像取得部１０１は、例えば、撮影部により撮影することで利用者の生体画像を取得するようにしてもよいし、予め撮影された生体画像を入力することで利用者の生体画像を取得するようにしてもよい。生体画像は、例えば静脈パターン、指紋、顔画像等の人体の一部を示す画像である。
【００１３】
特徴点抽出部１０２は、抽出部の一例であり、画像取得部１０１により取得された生体画像から複数の特徴点を抽出する。ここで、特徴点は、生体画像において照合の基準となる特徴的な画像的要素を有する点であり、例えば生体画像が静脈パターンを示すものであれば、静脈の交差点（分岐点）や端点等が一例として挙げられる。特徴点近傍画像抽出部１０３は、特徴点抽出部１０２により抽出された複数の特徴点のそれぞれについて、特徴点を含む特徴点近傍の所定サイズの部分画像を生体画像から抽出する。
【００１４】
特徴ベクトル算出部１０４は、ベクトル算出部の一例であり、複数の特徴点のそれぞれに対し、特徴点近傍画像抽出部１０３により抽出された特徴点近傍の部分画像から特徴ベクトルを算出する。ここで、特徴ベクトルは多次元の配列であるとし、例えば、６４次元配列、１２８次元配列、２５６次元配列等である。画像から特徴ベクトルを算出する手法については任意の手法を用いることができ、例えば、特徴点近傍の部分画像を極座標変換して周波数成分を算出することによって画像の周波数特徴を算出して、周波数毎の強度を求める等の手法を適用することができる。特徴ベクトル算出部１０４により算出された特徴ベクトルは、特徴ベクトル記憶部１１１に記憶される。
【００１５】
ビット列算出部１０５は、特徴ベクトル算出部１０４により算出された特徴ベクトル毎に、特徴ベクトルの各次元の値を二値化し、これを特徴ベクトルの次元数だけ並べたビット列を算出する。ビット列算出部１０５は、特徴ベクトル記憶部１１１から特徴ベクトルを読み出し、特徴ベクトルの次元の値が、予め決めた閾値よりも大きな値であれば“１”とし、閾値以下の値であれば“０”として、特徴ベクトルの各次元の値を“０”又は“１”に変換し二値化する。例えば、特徴ベクトルが６４次元配列であればビット列は６４ビットとなり、特徴ベクトルが２５６次元配列であればビット列は２５６ビットとなる。ビット列算出部１０５により算出されたビット列は、ビット列及びビット列信頼度記憶部１１２に記憶される。
【００１６】
ビット列信頼度算出部１０６は、信頼度判定部の一例であり、ビット列算出部１０５により算出されたビット列毎に、対応する特徴ベクトルの二値化の安定性に基づいてビット列信頼度を算出して付与する。ビット列信頼度は、特徴ベクトルの微細な変動によって二値化したビット列の値が変動しない度合いを示すものである。ビット列信頼度算出部１０６は、ビット列算出部１０５でのビット列の算出において、そのビットが安定して抽出される安定性を求め、求めた安定性に基づいてビット列信頼度を算出する。ビット列信頼度算出部１０６により算出されたビット列信頼度は、対応するビット列とともに、ビット列及びビット列信頼度記憶部１１２に記憶される。
【００１７】
例えば、ビット列信頼度算出部１０６は、特徴ベクトル記憶部１１１から特徴ベクトルを読み出し、読み出した特徴ベクトルの値が、特徴ベクトルの値を二値化するための閾値からどれだけ離れているかを安定性とする。特徴ベクトルの値と閾値との差が小さい場合、特徴ベクトルの値が僅かに変動しただけで二値化した“０”又は“１”の値が反転することがあり得るので、ノイズ等の影響を受けやすく安定性が低い。それに対して、特徴ベクトルの値と閾値との差が大きい場合、特徴ベクトルの値が多少変動しても二値化した“０”又は“１”の値が変化することがないので、ノイズ等の影響を受けにくく安定性が高い。
【００１８】
このように特徴ベクトルの各次元の値の閾値からの乖離度をそのビットの安定度とみなし、ビット列信頼度算出部１０６が特徴ベクトルの二値化の安定性を求め、ビット列全体でのビットの安定度を基にビット列信頼度を算出する。例えば、ビット列信頼度算出部１０６は、各ビットの安定度（特徴ベクトルの各次元の値と閾値との差の絶対値）をビット列全体に累積した値をビット列信頼度とする。また、累積値に限らず、例えば、ビット列信頼度算出部１０６は、ビット列全体のビットの安定度の中央値や平均値をビット列信頼度とするようにしてもよいし、ビットの安定度が安定度の閾値を越えたビット数をビット列信頼度とするようにしてもよい。
【００１９】
ビット列選定部１０７は、選定部の一例であり、ビット列算出部１０５により算出されたビット列の内から、ビット列信頼度算出部１０６により算出されたビット列信頼度の値に従って所定個数のビット列を選定する。ビット列選定部１０７は、ビット列及びビット列信頼度記憶部１１２からビット列とそのビット列信頼度とを読み出し、各ビット列のビット列信頼度の値の大小を比較して、ビット列信頼度の高い側から順に所定個数のビット列を選定する。
【００２０】
ビット列結合部１０８は、結合部の一例であり、ビット列選定部１０７により選定されたビット列を結合して利用者の登録生体データを生成し登録生体データ記憶部１１３に登録する。なお、ビット列結合部１０８は、ビット列だけを結合し、ビット列信頼度は結合しない。つまり、登録生体データ記憶部１１３に登録される登録生体データは、ビット列信頼度を有しないビット列だけで構成されたデータである。登録生体データ記憶部１１３は、例えば複数の登録生体データが登録されるデータベースである。
【００２１】
次に、図１に示した生体認証装置の動作について説明する。図２は、図１に示した生体認証装置の登録処理の例を示すフローチャートである。なお、以下に説明する登録処理では、１つの生体画像からｋ個（ｋは任意の複数）の特徴点を抽出するものとする。
【００２２】
登録処理では、まず、ステップＳ２０１にて、画像取得部１０１が、登録生体データを生成する生体画像を取得する。ステップＳ２０２にて、特徴点抽出部１０２が、生体画像中から個人識別に有用な特徴的な画像的要素を有するｋ個の特徴点を抽出する。次に、ステップＳ２０３にて、特徴点近傍画像抽出部１０３が、ｋ個の特徴点のそれぞれについて、特徴点を中心としたｐ画素×ｐ画素の部分画像を生体画像から抽出する。なお、ｐの値は比較的小さい値であり、１５や２１や３２等である。続いて、ステップＳ２０４にて、特徴ベクトル算出部１０４が、ステップＳ２０３において抽出されたｋ個の各部分画像から、それぞれの特徴ベクトルを算出する。
【００２３】
次に、ステップＳ２０５にて、ビット列算出部１０５が、ステップＳ２０４において算出されたｋ個の特徴ベクトルの各々を二値化処理して各特徴点に対するビット列を生成し、ビット列及びビット列信頼度記憶部１１２に記憶する。ステップＳ２０６にて、ビット列信頼度算出部１０６が、ステップＳ２０４において算出されたｋ個の特徴ベクトルの二値化処理における各ビット列のビット列信頼度を算出し、対応するビット列とともにビット列及びビット列信頼度記憶部１１２に記憶する。
【００２４】
前述したステップＳ２０５、Ｓ２０６で実行されるビット列化及びビット列信頼度を算出する処理について、図３を参照して説明する。図３は、ビット列化及びビット列信頼度を算出する処理の例を示すフローチャートであり、ビット列算出部１０５及びビット列信頼度算出部１０６によって各特徴ベクトル毎に実行される。
【００２５】
まず、ステップＳ３０１にて、生成するビット列のビット列信頼度Ｓの値が０に初期化され、ステップＳ３０２にて、特徴ベクトルの要素インデックスｉの値が０に初期化される。ステップＳ３０３にて、特徴ベクトルのｉ番目の要素ｖ［ｉ］の値が取得され、ステップＳ３０４にて、ｉ番目の要素ｖ［ｉ］の値から二値化するための閾値ｖｔｈを減じた値がｉ番目の要素についての乖離度ｖｄ［ｉ］として算出される。
【００２６】
次に、ステップＳ３０５にて、ｉ番目の要素についての乖離度ｖｄ［ｉ］が０より大きいか否かが判定され、０より大きくなければ、生成するビット列のｉ番目の要素ｂ［ｉ］の値を“０”にし（Ｓ３０６）、０より大きければ、生成するビット列のｉ番目の要素ｂ［ｉ］の値を“１”にする（Ｓ３０７）。また、ステップＳ３０８にて、ｉ番目の要素についての乖離度ｖｄ［ｉ］の絶対値がビット列信頼度Ｓに加算され、ビット列信頼度Ｓが更新される。
【００２７】
次に、ステップ３０９にて、要素インデックスｉの値が特徴ベクトルの要素数より小さいか否かが判定され、特徴ベクトルの要素数より小さい場合には、要素インデックスｉの値を１増加させてステップＳ３０３に戻る。一方、要素インデックスｉの値が特徴ベクトルの要素数より小さくない場合には、ステップＳ３１０にて、それまでに得られた０番目から（特徴ベクトルの要素数−１）番目までの要素ｂ［ｉ］が結合されビット列が生成される。そして、ステップＳ３１１にて、ビット列とビット列信頼度Ｓとの組がビット列及びビット列信頼度記憶部１１２に記憶され、終了する。
【００２８】
なお、図３に示した処理において、ステップＳ３０１、Ｓ３０２の処理は順不同であり、ステップＳ３０２の後にステップＳ３０１の処理を行ってもよいし、ステップＳ３０１、Ｓ３０２の処理を並列して行ってもよい。また、ステップＳ３０５、Ｓ３０６、Ｓ３０７を組とした処理とステップＳ３０８の処理は順不同であり、ステップＳ３０８の後にステップＳ３０５の処理を行ってもよいし、ステップＳ３０５、Ｓ３０６、Ｓ３０７を組とした処理とステップＳ３０８の処理を並列して行ってもよい。
【００２９】
図２に戻り、前述のようにしてステップＳ２０５、Ｓ２０６においてｋ個の特徴ベクトルの各々についてビット列及びビット列信頼度を算出した後、ステップＳ２０７にて、ビット列選定部１０７が、ビット列信頼度の高い順にビット列を並べ替える。次に、ステップＳ２０８にて、ビット列選定部１０７が、予め決められた登録生体データの上限サイズに収まるように、並べ替えたビット列の内から、ビット列信頼度の高い側から所定個数のビット列を選定する。
【００３０】
続いて、ステップＳ２１０にて、ビット列結合部１０８が、ステップＳ２０８において選定されたビット列を結合して登録生体データを生成する。なお、このとき、ビット列結合部１０８では、ビット列のみを結合し、ビット列信頼度は結合しない。次に、ステップＳ２１０にて、ビット列結合部１０８が、ステップＳ２０９において生成した登録生体データ（結合ビット列）を登録生体データ記憶部１１３に記憶し、登録処理を終了する。
【００３１】
以上のようにして図１に示した生体認証装置は、図４（Ａ）に示すビット列化前の生体データである各特徴点の特徴ベクトル（本例ではｎ個）を、それぞれ二値化処理してビット列を算出する。また、生体認証装置は、特徴ベクトルをビット列化する際に、そのビット列信頼度を算出し、図４（Ｂ）に示すようにビット列化した生体データであるビット列とともに記憶する。そして、生体認証装置は、図４（Ｃ）に示すようにビット列信頼度に基づいてビット列信頼度が高い順にビット列を並べ替えて、図４（Ｄ）に示すように登録生体データの上限サイズＳＺを超えないようにビット列信頼度が高い側からビット列を選定し、それらを結合して登録生体データにする。
【００３２】
このように図１に示した生体認証装置は、ビット列化する際に算出したビット列のビット列信頼度の値に従ってビット列を選定して結合し、認証のための登録生体データを生成することで、データ量を削減することができる。また、複数のビット列の内から信頼度が高いビット列を優先的に選択して登録生体データを生成することで、認証精度が低下することを抑制することができる。
【００３３】
また、認証のための登録生体データを二値（“０”又は“１”）のビット列で表現しているので、後述する照合処理ではビット列の比較処理で照合を行うことができ、短時間で照合処理を行うことができる。例えば、その人が誰であるかを認証する１：Ｎ認証で、多数の登録生体データとの比較照合を行う場合でも、短時間で照合処理を行うことができる。
【００３４】
前述した説明では、特徴ベクトルの各次元の値の閾値からの乖離度（特徴ベクトルの各次元の値と閾値との差の絶対値）をビット列全体に累積した値をビット列信頼度とする例を示した。例えば、図５（Ａ）に示すように、特徴ベクトルの各次元の値を二値化するための閾値がＢＴＨである場合、特徴ベクトルの各次元の値と閾値ＢＴＨとの差の絶対値を特徴ベクトルの次元数だけ累積した値５０１をビット列信頼度とする。このように特徴ベクトルの各次元の値の閾値からの乖離度を累積した値をビット列信頼度として用いる場合、簡単な演算でビット列信頼度を算出することができる。図５（Ａ）においては、説明の便宜上、特徴ベクトルが８次元配列の場合を例示しているが、実際には、特徴ベクトルは、６４次元配列、１２８次元配列、２５６次元配列等のもっと大きな次元数を有している（図５（Ｂ）、図５（Ｃ）についても同様）。
【００３５】
なお、ビット列信頼度として用いる情報は、これに限定されるものではない。例えば、特徴ベクトルの各次元の値の閾値からの乖離度（特徴ベクトルの各次元の値と閾値との差の絶対値）のビット列全体での平均値をビット列信頼度としてもよい。特徴ベクトルの各次元の値の閾値からの乖離度のビット列全体での平均値をビット列信頼度として用いる場合、累積値よりも値が小さくなり、ビット列信頼度の記憶に要する容量を削減することができる。
【００３６】
また、例えば、図５（Ｂ）に一例を示すように、特徴ベクトルの各次元の値の閾値からの乖離度（特徴ベクトルの各次元の値と閾値との差の絶対値）が安定度の閾値より大きくなる次元数（ビットの数）を、ビット列信頼度としてもよい。すなわち、特徴ベクトルの各次元の値を二値化するための閾値がＢＴＨである場合、５０２に示すように特徴ベクトルの各次元の値と閾値ＢＴＨとの差の絶対値が、安定度の閾値ＲＴＨを超えた次元数（ビットの数）をビット列信頼度とする。図５（Ｂ）に示す例では、３つのビットにおいて、特徴ベクトルの各次元の値と閾値ＢＴＨとの差の絶対値が安定度の閾値ＲＴＨを超えているので、ビット列信頼度の値を３とする。特徴ベクトルの各次元の値の閾値からの乖離度が安定度の閾値より大きくなる次元数（ビットの数）をビット列信頼度として用いる場合、他のビットと比較して著しく乖離度が大きいビットがあったとしても、そのビットの乖離度がビット列信頼度に与える影響を低減することができる。
【００３７】
また、例えば、図５（Ｃ）に一例を示すように、特徴ベクトルの各次元の値の閾値からの乖離度（特徴ベクトルの各次元の値と閾値との差の絶対値）を値が小さい順に並べたときの中央値を、ビット列信頼度としてもよい。すなわち、特徴ベクトルの各次元の値を二値化するための閾値がＢＴＨである場合、５０３に示すように特徴ベクトルの各次元の値と閾値ＢＴＨとの差の絶対値を値が小さい順に並べたときの中央ＭＶＡの値をビット列信頼度とする。なお、ビット列のビット総数が偶数である場合、中央ＭＶＡに隣接する前後の２つの値の平均値をビット列信頼度とするようにしてもよいし、何れか一方の値をビット列信頼度とするようにしてもよい。特徴ベクトルの各次元の値の閾値からの乖離度を値が小さい順に並べたときの中央値をビット列信頼度として用いる場合にも、他のビットと比較して著しく乖離度が大きいビットがビット列信頼度に与える影響を低減することができる。
【００３８】
特徴ベクトルの各次元の値の閾値からの乖離度を値が小さい順に並べたときの中央値をビット列信頼度とする場合の、前述したステップＳ２０５、Ｓ２０６で実行されるビット列化及びビット列信頼度を算出する処理について、図６を参照して説明する。図６は、ビット列化及びビット列信頼度を算出する処理の他の例を示すフローチャートであり、ビット列算出部１０５及びビット列信頼度算出部１０６によって各特徴ベクトル毎に実行される。
【００３９】
まず、ステップＳ６０１にて、生成するビット列のビット列信頼度Ｓの値が０に初期化され、ステップＳ６０２にて、特徴ベクトルの要素インデックスｉの値が０に初期化される。なお、ステップＳ６０１、Ｓ６０２の処理は順不同であり、ステップＳ６０２の後にステップＳ６０１の処理を行ってもよいし、ステップＳ６０１、Ｓ６０２の処理を並列して行ってもよい。
【００４０】
ステップＳ６０３にて、特徴ベクトルのｉ番目の要素ｖ［ｉ］の値が取得され、ステップＳ６０４にて、ｉ番目の要素ｖ［ｉ］の値から二値化するための閾値ｖｔｈを減じた値がｉ番目の要素の乖離度ｖｄ［ｉ］として算出される。次に、ステップＳ６０５にて、ｉ番目の要素の乖離度ｖｄ［ｉ］が０より大きいか否かが判定され、０より大きくなければ、生成するビット列のｉ番目の要素ｂ［ｉ］の値を“０”にし（Ｓ６０６）、０より大きければ、生成するビット列のｉ番目の要素ｂ［ｉ］の値を“１”にする（Ｓ６０７）。
【００４１】
次に、ステップ６０８にて、要素インデックスｉの値が特徴ベクトルの要素数より小さいか否かが判定され、特徴ベクトルの要素数より小さい場合には、要素インデックスｉの値を１増加させてステップＳ６０３に戻る。一方、要素インデックスｉの値が特徴ベクトルの要素数より小さくない場合には、ステップＳ６０９にて、各要素の乖離度ｖｄ［ｉ］が値の小さい順に並べられ、その中央値（又は中央となる２つの値の平均値）が算出されビット列信頼度Ｓとする。次に、ステップＳ６１０にて、それまでに得られた０番目から（特徴ベクトルの要素数−１）番目までの要素ｂ［ｉ］が結合されビット列が生成される。そして、ステップＳ６１１にて、ビット列とビット列信頼度Ｓとの組がビット列及びビット列信頼度記憶部１１２に記憶され、終了する。
【００４２】
図７は、本実施形態における生体認証装置の構成例を示すブロック図である。図７には、登録された登録生体データを用いて認証に係る照合を行う生体認証装置を示している。図７に示す生体認証装置は、画像取得部７０１、特徴点抽出部７０２、特徴点近傍画像抽出部７０３、特徴ベクトル算出部７０４、ビット列算出部７０５、ビット列分解部７０６、ビット列照合部７０７、及び照合結果出力部７０８を有する。また、生体認証装置は、特徴ベクトル記憶部７１１、照合ビット列記憶部７１２、登録生体データ記憶部７１３、及び登録ビット列記憶部７１４を有する。
【００４３】
画像取得部７０１は、撮影部等によって撮影された照合する生体画像（照合用の生体画像）を取得する。特徴点抽出部７０２は、画像取得部７０１により取得された照合用の生体画像から複数の特徴点を抽出する。特徴点近傍画像抽出部７０３は、特徴点抽出部７０２により抽出された複数の特徴点のそれぞれについて、特徴点を含む特徴点近傍の所定サイズの部分画像を照合用の生体画像から抽出する。
【００４４】
特徴ベクトル算出部７０４は、図１に示した特徴ベクトル算出部１０４と同様の算出手法によって、複数の特徴点のそれぞれに対し、特徴点近傍画像抽出部７０３により抽出された特徴点近傍の部分画像から特徴ベクトルを算出する。特徴ベクトル算出部７０４により算出された特徴ベクトルは、特徴ベクトル記憶部７１１に記憶される。
【００４５】
ビット列算出部７０５は、図１に示したビット列算出部１０５と同様にして、特徴ベクトル算出部７０４により算出された特徴ベクトル毎に、特徴ベクトルの各次元の値を二値化し、これを特徴ベクトルの次元数だけ並べたビット列を算出する。ビット列算出部７０５は、特徴ベクトル記憶部７１１から特徴ベクトルを読み出し、特徴ベクトルの各次元の値を予め決めた閾値と比較して“０”又は“１”に変換し二値化する。ビット列算出部７０５により算出されたビット列は、照合ビット列記憶部７１２に記憶される。
【００４６】
登録生体データ記憶部１１３は、例えば複数の登録生体データが登録されるデータベースである。登録生体データ記憶部７１３には、図１に示した生体認証装置によって生成され登録生体データ記憶部１１３に登録された登録生体データ（結合ビット列）が記憶されている。ビット列分解部７０６は、登録生体データ記憶部７１３から登録生体データを読み出し、特徴点単位のビット列に分解する。ビット列分解部７０６により分解されたビット列は、登録ビット列記憶部７１４に記憶される。
【００４７】
ビット列照合部７０７は、照合用の生体画像から算出されたビット列（照合ビット列）と登録生体データを分解して得られたビット列（登録ビット列）とを照合する。ビット列照合部７０７は、照合ビット列記憶部７１２から照合ビット列を読み出し、また登録ビット列記憶部から登録ビット列を読み出して、読み出した照合ビット列と登録ビット列との一致度を求め、求めた一致度に基づいて本人であるかを判定する。照合結果出力部７０８は、ビット列照合部７０７による照合の結果を出力する。
【００４８】
本実施形態において、照合ビット列及び登録ビット列の特徴点の数は必ずしも一致しない。そこで、ビット列照合部７０７は、照合ビット列と登録ビット列との網羅的な照合を行ってビットの一致度を求め、ビットの一致度に基づいて本人確認を行う。例えば、ビット列照合部７０７は、ビットの一致度が予め決めた閾値よりも高ければ本人であると判定する。なお、ビット列の比較による本人の照合は、前述した手法に限らず様々な手法が適用できる。例えば、ビット列照合部７０７は、ビットの一致度の高いビット列の個数が、予め決めた閾値よりも多ければ本人であると判定するようにしてもよいし、値が一致したビットの数を合算し、一致したビット数が予め決めた閾値よりも多ければ本人であると判定するようにしてもよい。
【００４９】
次に、図７に示した生体認証装置の動作について説明する。図８は、図７に示した生体認証装置の照合処理の例を示すフローチャートである。なお、以下に説明する照合処理では、１つの照合用の生体画像からｋ個の特徴点を抽出するものとし、登録生体データはｍ個の特徴点に係るビット列が結合されているものとする（ｋ及びｍは任意の複数）。
【００５０】
照合処理では、まず、ステップＳ８０１にて、画像取得部７０１が、照合する生体画像（照合用の生体画像）を取得する。ステップＳ８０２にて、特徴点抽出部７０２が、照合用の生体画像中から個人識別に有用な特徴的な画像的要素を有するｋ個の特徴点を抽出する。次に、ステップＳ８０３にて、特徴点近傍画像抽出部７０３が、ｋ個の特徴点のそれぞれについて、特徴点を中心としたｐ画素×ｐ画素の部分画像を照合用の生体画像から抽出する。
【００５１】
続いて、ステップＳ８０４にて、特徴ベクトル算出部７０４が、ステップＳ８０３において抽出されたｋ個の各部分画像から、それぞれの特徴ベクトルを算出する。次に、ステップＳ８０５にて、ビット列算出部７０５が、ステップＳ８０４において算出されたｋ個の特徴ベクトルの各々を二値化処理して、照合用の生体画像の各特徴点に対するビット列（照合ビット列）を生成する。
【００５２】
ステップＳ８０６にて、ビット列分解部７０６が、登録生体データ記憶部７１３から登録生体データを取得する。次に、ステップＳ８０７にて、ビット列分解部７０６が、ステップＳ８０６において取得した登録生体データを特徴点に対するビット列、すなわち特徴ベクトルから生成したビット列（登録ビット列）ｍ個に分解する。なお、ステップＳ８０６、Ｓ８０７の処理は、ステップＳ８０５の後に限らず、次のステップＳ８０８の処理を行う前に実行していればよい。
【００５３】
ステップＳ８０８にて、ビット列照合部７０７が、照合用の生体画像から取得したｋ個のビット列（照合ビット列）と登録生体データから取得したｍ個のビット列（登録ビット列）とを網羅的に比較して、ｉ番目（ｉ＝１〜ｋ）の照合ビット列とｊ番目（ｊ＝１〜ｍ）の登録ビット列とのハミング距離Ｄ［ｉ，ｊ］を求める。そして、ハミング距離Ｄ［ｉ，ｊ］の小さい順に、照合ビット列と登録ビット列との組み合わせを列挙する。なお、ハミング距離は、２つのビット列を比較して値の差異の数を数え、差異が大きいとハミング距離が大きくなり、差異が小さいとハミング距離が小さくなる。
【００５４】
次に、ステップＳ８０９にて、ビット列照合部７０７が、ハミング距離Ｄ［ｉ，ｊ］の小さい順に列挙した照合ビット列と登録ビット列との組み合わせの内から、上位（ハミング距離Ｄ［ｉ，ｊ］の小さい側から）ｒ個を選ぶ。そして、選んだｒ個の照合ビット列と登録ビット列との組み合わせでのハミング距離Ｄ［ｉ，ｊ］の総和Ｄｓｕｍを算出する。
【００５５】
次に、ステップＳ８１０にて、ビット列照合部７０７が、ステップＳ８０９において算出した総和Ｓｓｕｍを、予め決めておいた閾値と比較する。比較の結果、総和Ｓｓｕｍが閾値より小さければ（Ｓ８１１のＹＥＳ）、本人であるとビット列照合部７０７が判定し（Ｓ８１２）、総和Ｓｓｕｍが閾値より小さくなければ（Ｓ８１１のＮＯ）、他人であるとビット列照合部７０７が判定し（Ｓ８１３）、照合処理を終了する。
【００５６】
前述した説明では、ビット列のハミング距離の総和を求めて照合ビット列と登録ビット列との類似度としているが、照合ビット列と登録ビット列との類似度を求める方法は、ハミング距離を求める方法には限定されず、任意のビット列の類似性を求める方法を適用することが可能である。
【００５７】
なお、図７に示した生体認証装置は、図１に示した生体認証装置で生成された登録生体データが登録生体データ記憶部７１３に登録されていれば、図１に示した生体認証装置と一体の１つの装置であってもよいし、図１に示した生体認証装置とは別の装置であってもよい。図７に示した生体認証装置を図１に示した生体認証装置と一体の１つの装置とする場合には、それぞれの生体認証装置において同じ機能を実現する機能部は１つの機能部で共用するようにしてもよい。また、登録生体データ記憶部１１３及び登録生体データ記憶部７１３を１つの外部データベースのような記憶部で構成するようにしてもよい。
【００５８】
前述した実施形態による生体認証装置は、例えばコンピュータがプログラムを実行することによって実現することができる。また、かかるプログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の実施形態として適用することができる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５９】
また、コンピュータがプログラムを実行し処理を行うことにより、前述の実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態として適用することができる。プログラムプロダクトとしては、例えば前述の実施形態の機能を実現するプログラム自体、プログラムが読み込まれたコンピュータがある。また、プログラムプロダクトとして、ネットワークを介して通信可能に接続されたコンピュータにプログラムを提供可能な送信装置、前記送信装置を備えるネットワークシステム等がある。
【００６０】
また、供給されたプログラムとコンピュータにおいて稼動しているオペレーティングシステム（ＯＳ）又は他のアプリケーション等とにより前述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態として適用することができる。また、供給されたプログラムの処理のすべて又は一部がコンピュータの機能拡張ユニットにより行われて前述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態として適用することができる。また、本実施形態をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていてもよい。
【００６１】
例えば、前述した実施形態による生体認証装置は、図９に示すようなコンピュータにより実現することができる。図９に示すコンピュータは、メモリ９０１とＣＰＵ（Central Processing Unit）９０３とハードディスクドライブ（ＨＤＤ）９０５と表示装置９０９に接続される表示制御部９０７とリムーバブルディスク９１１用のドライブ装置９１３と入力装置９１５とネットワークに接続するための通信制御部９１７とがバス９１９で接続されている。オペレーティングシステム（ＯＳ）及び本実施形態における処理を実施するためのアプリケーションプログラムは、ＨＤＤ９０５に格納されており、ＣＰＵ９０３により実行される際にはＨＤＤ９０５からメモリ９０１に読み出される。ＣＰＵ９０３は、アプリケーションプログラムの処理内容に応じて表示制御部９０７、通信制御部９１７、ドライブ装置９１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ９０１に格納されるが、ＨＤＤ９０５に格納されるようにしてもよい。本例では、前述した処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能な記録媒体としてのリムーバブルディスク９１１に格納されて頒布され、ドライブ装置９１３からＨＤＤ９０５にインストールされる。インターネット等のネットワーク及び通信制御部９１７を経由して、ＨＤＤ９０５にインストールされる場合もある。このようなコンピュータは、前述したＣＰＵ９０３、メモリ９０１等のハードウェアとＯＳ及びアプリケーションプログラム等のソフトウェアとが有機的に協働することにより、前述した実施形態の各種機能を実現する。
【００６２】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
【００６３】
（付記１）
生体画像から複数の特徴点を抽出する抽出部と、
複数の前記特徴点のそれぞれに対し、それぞれの前記特徴点を含む前記生体画像から特徴ベクトルを算出するベクトル算出部と、
算出された前記特徴ベクトル毎に、各次元の値を二値化し、ビット列を算出するビット列算出部と、
算出された前記ビット列毎に、対応する前記特徴ベクトルの前記二値化の安定性に基づいて信頼度を付与する信頼度判定部と、
算出された前記ビット列の内から、前記信頼度の値に従って前記ビット列を所定個数選定する選定部とを備えることを特徴とする生体認証装置。
（付記２）
前記信頼度判定部は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度に基づいて前記安定性を求めることを特徴とする付記１記載の生体認証装置。
（付記３）
選定された前記所定個数の前記ビット列を結合して登録データを生成する結合部をさらに備えることを特徴とする付記１又は２記載の生体認証装置。
（付記４）
前記選定部は、前記信頼度が高い順に前記所定個数の前記ビット列を選定することを特徴とする付記１〜３の何れか１項に記載の生体認証装置。
（付記５）
前記選定部は、予め決めたサイズを超えないように前記信頼度の値に従って前記ビット列を選定することを特徴とする付記１〜４の何れか１項に記載の生体認証装置。
（付記６）
前記安定性は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度を累積した値であることを特徴とする付記１〜５の何れか１項に記載の生体認証装置。
（付記７）
前記安定性は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度が所定の閾値を超えた次元数であることを特徴とする付記１〜５の何れか１項に記載の生体認証装置。
（付記８）
前記安定性は、前記特徴ベクトルの各次元の値の前記二値化するための閾値からの乖離度の中央値又は平均値であることを特徴とする付記１〜５の何れか１項に記載の生体認証装置。
（付記９）
生体画像から複数の特徴点を抽出し、
複数の前記特徴点のそれぞれに対し、それぞれの前記特徴点を含む前記生体画像から特徴ベクトルを算出し、
算出された前記特徴ベクトル毎に、各次元の値を二値化しビット列を算出し、
算出された前記ビット列毎に、対応する前記特徴ベクトルの前記二値化の安定性に基づいて信頼度を付与し、
算出された前記ビット列の内から、前記信頼度の値に従って前記ビット列を所定個数選定することを特徴とする生体認証方法。
（付記１０）
生体画像から複数の特徴点を抽出するステップと、
複数の前記特徴点のそれぞれに対し、それぞれの前記特徴点を含む前記生体画像から特徴ベクトルを算出するステップと、
算出された前記特徴ベクトル毎に、各次元の値を二値化しビット列を算出するステップと、
算出された前記ビット列毎に、対応する前記特徴ベクトルの前記二値化の安定性に基づいて信頼度を付与するステップと、
算出された前記ビット列の内から、前記信頼度の値に従って前記ビット列を所定個数選定するステップとをコンピュータに実行させるための生体認証プログラム。
（付記１１）
生体画像から複数の特徴点を抽出するステップと、
複数の前記特徴点のそれぞれに対し、それぞれの前記特徴点を含む前記生体画像から特徴ベクトルを算出するステップと、
算出された前記特徴ベクトル毎に、各次元の値を二値化しビット列を算出するステップと、
算出された前記ビット列毎に、対応する前記特徴ベクトルの前記二値化の安定性に基づいて信頼度を付与するステップと、
算出された前記ビット列の内から、前記信頼度の値に従って前記ビット列を所定個数選定するステップとをコンピュータに実行させるための生体認証プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【符号の説明】
【００６４】
１０１、７０１  画像取得部
１０２、７０２  特徴点抽出部
１０３、７０３  特徴点近傍画像抽出部
１０４、７０４  特徴ベクトル算出部
１０５、７０５  ビット列算出部
１０６  ビット列信頼度算出部
１０７  ビット列選定部
１０８  ビット列結合部
１１１、７１１  特徴ベクトル記憶部
１１２  ビット列及びビット列信頼度記憶部
１１３、７１３  登録生体データ記憶部
７０６  ビット列分解部
７０７  ビット列照合部
７０８  照合結果出力部
７１２  照合ビット列記憶部
７１４  登録ビット列記憶部
【図１】
2018147435.tif 000003
【図２】
2018147435.tif 000004
【図３】
2018147435.tif 000005
【図４】
2018147435.tif 000006
【図５】
2018147435.tif 000007
【図６】
2018147435.tif 000008
【図７】
2018147435.tif 000009
【図８】
2018147435.tif 000010
【図９】
2018147435.tif 000011
【図１０】
2018147435.tif 000012
【図１１】
2018147435.tif 000013