WO2022074786A1 - データ生成方法、情報処理装置およびデータ生成プログラム - Google Patents

データ生成方法、情報処理装置およびデータ生成プログラム Download PDF

Info

Publication number
WO2022074786A1
WO2022074786A1 PCT/JP2020/038139 JP2020038139W WO2022074786A1 WO 2022074786 A1 WO2022074786 A1 WO 2022074786A1 JP 2020038139 W JP2020038139 W JP 2020038139W WO 2022074786 A1 WO2022074786 A1 WO 2022074786A1
Authority
WO
WIPO (PCT)
Prior art keywords
feature
bit
binary
partial
normalized
Prior art date
Application number
PCT/JP2020/038139
Other languages
English (en)
French (fr)
Inventor
隆浩 青木
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2020/038139 priority Critical patent/WO2022074786A1/ja
Priority to EP20956733.8A priority patent/EP4227889A4/en
Priority to JP2022555196A priority patent/JPWO2022074786A1/ja
Publication of WO2022074786A1 publication Critical patent/WO2022074786A1/ja
Priority to US18/178,648 priority patent/US20230206605A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1347Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/14Vascular patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/70Multimodal biometrics, e.g. combining information from different biometric modalities

Definitions

  • the present invention relates to a data generation method, an information processing apparatus and a data generation program.
  • the processing unit 12 normalizes each of the plurality of feature quantities included in the feature data 14 to the normalized feature quantity. As a result, the processing unit 12 generates the normalized feature data 15 including a plurality of normalized feature quantities such as the normalized feature quantity 15a.
  • the number of normalized feature quantities included in the normalized feature data 15 may be the same as the number of feature quantities included in the feature data 14.
  • the normalized feature data 15 may be a normalized feature vector having the same number of dimensions as the feature data 14.
  • one specific value is arranged in a regular order.
  • One specific value may be arranged in order from the lower bits or in order from the upper bits. For example, when the normalized feature amount 15a is 2, the bit length of the bit string 16a is 4, and one specific value is 1, the lower 2 bits of the bit string 16a are 1 and the remaining upper 2 bits are 0. Is.
  • the order in which one particular value is lined up may be shuffled in a regular manner. Further, the order in which one specific value is arranged may be common among a plurality of bit strings or may differ depending on the bit string.
  • the partial feature data 17 includes a plurality of partial bit strings corresponding to the plurality of bit strings of the binary feature data 16, and the entire specific bit string of the binary feature data 16 is not lost. That is, the information of the specific feature amount of the feature data 14 is not deleted. Therefore, it is possible to suppress a decrease in authentication accuracy due to the use of the partial feature data 17.
  • FIG. 2 is a diagram showing an example of an information processing system according to a second embodiment.
  • the CPU 101 is a processor that executes a program instruction.
  • the CPU 101 may be a low power consumption embedded processor.
  • the CPU 101 loads at least a part of the program and data stored in the flash memory 103 into the RAM 102, and executes the program.
  • the authentication device 100 may have a plurality of processors. A set of processors may be referred to as a multiprocessor or simply a "processor".
  • Template 154 is registered in the database of the authentication device 100.
  • Template 154 is registration information of a certain user, and includes information of a plurality of feature points corresponding to feature points 152-1, 152-2, 152-3.
  • Template 154 is generated from the biological image at the time of registration.
  • the authentication device 100 collates the generated feature vector with the information of the template 154 for each feature point, and calculates a score indicating the degree of similarity.
  • the score may be a correlation value having a larger numerical value as the degree of similarity is higher, or an error value having a larger numerical value as the degree of similarity is lower.
  • the template 154 includes a binary feature vector described later as feature point registration information. Further, the authentication device 100 converts the feature vectors 153-1, 153-2, 153-3 into binary feature vectors, respectively, and collates them with the binary feature vectors included in the template 154 to calculate the score. The authentication device 100 converts the feature vector into a binary feature vector as follows.
  • the authentication device 100 executes one-to-N authentication that can identify the user from the biometric image even if the user ID is not provided by the user requesting permission to enter the room.
  • templates for a plurality of users are registered in the database.
  • the number of templates that can be registered in the database ranges from 100 to 1,000,000.
  • the authentication device 100 calculates a score between a user's binary feature vector and each of the plurality of templates registered in the database, and searches for a template having a sufficiently high degree of similarity. For example, if there is a template whose score exceeds the threshold value, it is determined that the authentication is successful, and the user who is allowed to enter the room is determined to be the user corresponding to the template having the highest score.
  • the authentication device 100 uses a partial feature vector whose size is smaller than the binary feature vector.
  • the authentication device 100 extracts some bits from the binary feature vector and generates a partial feature vector composed of the extracted bits.
  • a template with a good score calculated using the partial feature vector is a candidate template that may also have a good score calculated using the binary feature vector.
  • the detailed collation process may be executed only for the candidate templates out of the N templates.
  • the size of the partial feature vector is determined according to the desired narrowing rate and the number of templates N.
  • the smaller the size of the partial feature vector the lower the accuracy of narrowing down, and the more candidate templates after narrowing down, while the load of the narrowing down process itself is low.
  • the larger the size of the partial feature vector the higher the accuracy of narrowing down and the smaller the number of candidate templates after narrowing down, but the higher the load of the narrowing down process itself.
  • Extracting bits evenly from the binary features is equivalent to lowering the resolution of the normalized features.
  • the bits from the binary features so that they include the central bit, the distance relationship between the different binary features can be preserved as much as possible.
  • the difference between the even-numbered bit and the odd-numbered bit in the center bit will be described.
  • FIG. 9 is a diagram showing another example of partial data conversion of a binary feature vector.
  • the authentication device 100 selects even-numbered bits from the even-numbered dimensional binary features as the center bit, and selects odd-numbered bits from the odd-numbered dimensional binary features.
  • the authentication device 100 can shorten the entire processing time of biometric authentication by performing the narrowing process. Further, the authentication device 100 may be able to shorten the entire processing time of biometric authentication by performing a multi-step narrowing process using partial feature vectors of different sizes. Therefore, the authentication device 100 determines the number of stages n of the narrowing-down process according to the number of templates N. Further, the authentication device 100 determines the bit length of the partial feature amount in each stage according to the number of stages n of the narrowing down processing.
  • the partial data generation unit 125 specifies the central bit of the binary feature amount based on the bit length of the binary feature amount. When the bit length of the binary feature quantity is even, the partial data generation unit 125 selects the even-numbered bit or the odd-numbered bit according to the even-odd flag. The partial data generation unit 125 determines the selection bit including the center bit based on the bit length of the partial feature amount set for the current narrowing process.
  • the collation unit 126 calculates the score of each of the remaining candidate templates by calculating the Hamming distance between the binary feature vector generated in step S32 and the binary feature vector included in the remaining candidate templates. ..
  • the collation unit 126 determines whether or not there is a template that matches the biological image in step S30 based on the score calculated in step S38. For example, the collation unit 126 selects the template having the highest score and determines whether the score exceeds the threshold value. If there is a template that matches the biometric image, the collation unit 126 considers that the person in the biometric image and the person in the template are the same, and determines that the authentication is successful. If there is no template that matches the biometric image, the collating unit 126 considers that the person in the biometric image is not registered in the database 122, and determines that the authentication has failed.
  • the feature vectors generated from the biological image are normalized and binarized, and the similarity is evaluated by the Hamming distance between the binary feature vectors. Therefore, the similarity can be determined by a logical operation faster than the floating point operation, and the narrowing process and the collation process are speeded up. In particular, even with an embedded processor, narrowing down processing and collation processing can be executed at high speed.
  • the binary feature amount includes a number of 1 bits corresponding to the normalized feature amount. Therefore, the Hamming distance matches the Euclidean distance, and the decrease in accuracy due to the use of the Hamming distance is suppressed. Further, the feature amount is normalized so that the appearance probability of each normalized feature amount is equalized based on the probability distribution of the feature amount. Therefore, the difference in features can be reflected in the Hamming distance as much as possible, and the lack of information is suppressed.
  • the authentication device 100 of the second embodiment manages entry by one-to-N authentication.
  • the authentication device 100a of the third embodiment performs one-to-one authentication using an IC (Integrated Circuit) card in addition to one-to-N authentication in order to tighten the entry control of a specific room.
  • FIG. 15 is a diagram showing an example of an information processing system according to a third embodiment.
  • the authentication device 100a has the same hardware as the authentication device 100 of the second embodiment.
  • An IC card reader 33 is connected to the authentication device 100a in addition to the door control device 32.
  • the IC card reader 33 reads the data recorded in the IC card 34 and transmits the read data to the authentication device 100a.
  • the same effect as that of the authentication device 100 of the second embodiment can be obtained. Further, according to the authentication device 100a, one-to-one authentication using an IC card is performed. Therefore, it is possible to tighten the room entry management and improve the security. Further, the partial feature vector is stored in the IC card. Therefore, even when the size of the binary feature vector registered in the database is large or the storage capacity of the IC card is small, one-to-one authentication using the IC card is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Vascular Medicine (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Collating Specific Patterns (AREA)

Abstract

部分データを利用した生体認証の精度低下を抑制する。 生体画像(13)から、複数の特徴量を含む特徴データ(14)を算出する。特徴データ(14)に含まれる複数の特徴量それぞれを、特徴量がとり得る値の出現確率を示す確率分布に基づいて、複数段階の離散値をとる正規化特徴量に正規化する。正規化特徴量が大きいほど二値のうちの特定の一方の値をとるビットの個数が大きくなるように、正規化特徴量それぞれをビット列に変換して、複数の特徴量に対応する複数のビット列を含むバイナリ特徴データ(16)を生成する。バイナリ特徴データ(16)に含まれる複数のビット列それぞれから一部のビットを抽出して、複数のビット列に対応する複数の部分ビット列を含んでおりバイナリ特徴データ(16)よりもビット長が小さい部分特徴データ(17)を生成する。

Description

データ生成方法、情報処理装置およびデータ生成プログラム
 本発明はデータ生成方法、情報処理装置およびデータ生成プログラムに関する。
 ユーザの生体画像からユーザを認証する生体認証技術がある。生体認証として、顔画像を用いる顔認証、手のひらまたは指の静脈画像を用いる静脈認証、指紋画像を用いる指紋認証、目の虹彩画像を用いる虹彩認証などが挙げられる。生体認証技術は、建物の入室管理や秘密情報の保護などに利用されることがある。
 例えば、生体認証システムは、登録用の生体画像から特徴データを抽出し、特徴データをデータベースに登録する。特徴データは、複数次元の数値に相当する複数の特徴量を含む特徴ベクトルであることがある。生体認証システムは、認証時の生体画像から特徴データを抽出し、データベースに登録された特徴データと照合する。2つの特徴データが十分に近似する場合は認証が成功し、近似しない場合は認証が失敗する。
 なお、対象者の生体情報とデータベースに登録された複数の登録者それぞれの生体情報とを照合して対象者を識別する1対N認証を実行する認証装置が提案されている。提案の認証装置は、生体情報であるバイナリ画像をランレングス符号化し、ランレングスベクトルを用いて、対象者の生体情報とマッチする可能性がある登録者の生体情報を絞り込む。
 また、対象画像に写った人物が、データベースに登録された複数の登録画像に写った複数の人物のうちの何れと一致するか判定する画像識別装置が提案されている。提案の画像識別装置は、登録画像を生成する際に、所定の上限値を超える輝度を上限値にクリッピングすると共に、輝度の上位ビットを削除することで輝度を低減させる。
特開2010-277196号公報 特開2012-58954号公報
 生体認証システムは、処理時間の制約またはハードウェアリソースの制約から、最初に生成された特徴データの一部分を利用して簡易的に照合を行いたいことがある。例えば、生体認証システムは、1対N認証の前処理として、データベースに登録された多数のユーザの特徴データの中から、対象ユーザの特徴データとマッチする可能性がある特徴データ候補を絞り込むことが考えられる。しかし、照合に利用する部分データの生成方法によっては、生体認証の精度が大きく低下することがあるという問題がある。
 1つの側面では、本発明は、部分データを利用した生体認証の精度低下を抑制するデータ生成方法、情報処理装置およびデータ生成プログラムを提供することを目的とする。
 1つの態様では、コンピュータが以下の処理を実行するデータ生成方法が提供される。生体画像から、複数の特徴量を含む特徴データを算出する。特徴データに含まれる複数の特徴量それぞれを、特徴量がとり得る値の出現確率を示す確率分布に基づいて、複数段階の離散値をとる正規化特徴量に正規化する。正規化特徴量が大きいほど二値のうちの特定の一方の値をとるビットの個数が大きくなるように、正規化特徴量それぞれをビット列に変換して、複数の特徴量に対応する複数のビット列を含むバイナリ特徴データを生成する。バイナリ特徴データに含まれる複数のビット列それぞれから一部のビットを抽出して、複数のビット列に対応する複数の部分ビット列を含んでおりバイナリ特徴データよりもビット長が小さい部分特徴データを生成する。
 また、1つの態様では、記憶部と処理部とを有する情報処理装置が提供される。また、1つの態様では、コンピュータに実行させるデータ生成プログラムが提供される。
 1つの側面では、部分データを利用した生体認証の精度低下を抑制できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理装置を説明するための図である。 第2の実施の形態の情報処理システムの例を示す図である。 生体画像とテンプレートの照合例を示す図である。 特徴ベクトルの正規化およびバイナリ化の例を示す図である。 バイナリ化とハミング距離の関係の例を示す図である。 バイナリ特徴ベクトルの部分データ化の例を示す図である。 選択ビットと部分特徴量の関係の例を示す図である。 選択ビットの偶数奇数と部分特徴量の関係の例を示す図である。 バイナリ特徴ベクトルの部分データ化の他の例を示す図である。 認証装置の機能例を示すブロック図である。 テンプレートテーブルと設定テーブルの例を示す図である。 テンプレート登録の手順例を示すフローチャートである。 絞り込み設定の手順例を示すフローチャートである。 ユーザ認証の手順例を示すフローチャートである。 第3の実施の形態の情報処理システムの例を示す図である。
 以下、本実施の形態を図面を参照して説明する。
 [第1の実施の形態]
 第1の実施の形態を説明する。
 図1は、第1の実施の形態の情報処理装置を説明するための図である。
 第1の実施の形態の情報処理装置10は、生体認証を行う。生体認証は、顔認証、手のひら静脈認証、指静脈認証、指紋認証、虹彩認証など、任意の種類の生体認証でよい。情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10は、コンピュータまたは認証装置と呼ばれてもよい。
 情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。複数のプロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
 記憶部11は、生体画像13、特徴データ14、正規化特徴データ15、バイナリ特徴データ16および部分特徴データ17を記憶する。生体画像13は、ユーザの身体的特徴または行動的特徴が写った画像である。例えば、生体画像13は、撮像装置によって生成された顔画像、静脈画像、指紋画像または虹彩画像である。生体画像13は、情報処理装置10で生成されてもよいし、他の情報処理装置から受信されてもよい。特徴データ14、正規化特徴データ15、バイナリ特徴データ16および部分特徴データ17は、後述するように、生体画像13から処理部12によって生成される。
 処理部12は、生体画像13を解析して特徴データ14を生成する。例えば、処理部12は、生体画像13からパターンマッチングによって特徴点を抽出し、特徴点を含む画像領域に対して主成分分析(PCA:Principal Component Analysis)を実行する。特徴データ14は、特徴量14aなどの複数の特徴量を含む。各特徴量は、浮動小数点数であってもよい。例えば、特徴データ14は、複数次元の数値を含む特徴ベクトルである。
 処理部12は、特徴データ14に含まれる複数の特徴量それぞれを正規化特徴量に正規化する。これにより、処理部12は、正規化特徴量15aなどの複数の正規化特徴量を含む正規化特徴データ15を生成する。正規化特徴データ15に含まれる正規化特徴量の個数は、特徴データ14に含まれる特徴量の個数と同じでもよい。例えば、正規化特徴データ15は、特徴データ14と次元数が同じ正規化特徴ベクトルであってもよい。
 ここで、正規化特徴量は、複数段階の離散値をとる。例えば、正規化特徴量がとり得る値は、0から始まる連続する非負整数である。処理部12は、特徴量がとり得る値の出現確率を示す確率分布に基づいて、特徴量を正規化する。例えば、処理部12は、特徴量の出現確率が正規分布に従うと仮定して、特徴量の平均と分散に基づいて、特徴量の区間と正規化特徴量とを対応付ける。処理部12は、異なる正規化特徴量の出現確率が均等になるように、特徴量のとり得る値を複数の区間に分割することが好ましい。処理部12は、多数の生体画像のサンプルを解析することで、予め確率分布を算出してもよい。また、確率分布は次元毎に算出されてもよいし、全ての次元に共通に算出されてもよい。
 処理部12は、正規化特徴データ15に含まれる複数の正規化特徴量それぞれをビット列に変換する。これにより、処理部12は、ビット列16aなどの複数のビット列を含むバイナリ特徴データ16を生成する。バイナリ特徴データ16に含まれるビット列の個数は、正規化特徴データ15に含まれる正規化特徴量の個数と同じでもよい。例えば、バイナリ特徴データ16は、特徴データ14および正規化特徴データ15と次元数が同じバイナリ特徴ベクトルであってもよい。
 ここで、処理部12は、正規化特徴量が大きいほど二値のうちの特定の一方の値をとるビットの個数が大きくなるように、ビット列を生成する。二値は0と1で表現されることがあり、特定の一方の値は1であってもよい。特定の一方の値をとるビットの個数は、正規化特徴量そのものであってもよい。例えば、正規化特徴量15aが2である場合、正規化特徴量15aから変換されるビット列16aは1のビットを2個含む。複数のビット列それぞれのビット長は同じであることが好ましい。ビット長は、正規化特徴量の最大値であってもよい。例えば、正規化特徴量の最大値が4である場合、ビット長は4である。処理部12は、所望のビット長に合わせて正規化方法を決定してもよい。
 ビット列において、特定の一方の値は規則的な順序で並ぶ。特定の一方の値は、下位ビットから順に並んでもよいし、上位ビットから順に並んでもよい。例えば、正規化特徴量15aが2であり、ビット列16aのビット長が4であり、特定の一方の値が1である場合、ビット列16aの下位2ビットが1であり残りの上位2ビットが0である。特定の一方の値が並ぶ順序は、規則的な方法でシャッフルされてもよい。また、特定の一方の値が並ぶ順序は、複数のビット列の間で共通でもよいしビット列によって異なってもよい。
 処理部12は、バイナリ特徴データ16に含まれる複数のビット列それぞれから一部のビットを抽出する。これにより、処理部12は、部分ビット列17aなどの複数の部分ビット列を含む部分特徴データ17を生成する。部分特徴データ17に含まれる部分ビット列の個数は、バイナリ特徴データ16に含まれるビット列の個数と同じでもよい。例えば、部分特徴データ17は、特徴データ14、正規化特徴データ15およびバイナリ特徴データ16と次元数が同じ部分特徴ベクトルであってもよい。
 各部分ビット列のビット長は、バイナリ特徴データ16のビット列よりも小さい。複数の部分ビット列それぞれのビット長は同じであることが好ましい。部分ビット列のビット長は、部分特徴データ17の用途に応じて予め指定される。処理部12は、ビット列のビット長と部分ビット列のビット長、すなわち、変換前のビット長と変換後のビット長に応じて、ビット列からビットを抽出する位置を決定してもよい。
 抽出されるビットは、ビット列全体からできる限り均等に選択されてもよい。例えば、ビット列16aのビット長が4であり、部分ビット列17aのビット長が2である場合、部分ビット列17aは、ビット列16aのビット#0,#2またはビット#1,#3である。なお、ビット#0は最下位ビットを表す。抽出されるビットの位置は、複数の部分ビット列の間で共通でもよいし部分ビット列によって異なってもよい。また、処理部12は、ビット列の中心ビットを含むように、ビットを抽出する位置を決定してもよい。ビット列のビット長が偶数である場合、中心ビットは、隣接する偶数番目のビットと奇数番目のビットの2つ存在する。処理部12は、2つのうちの何れか一方を選択してもよい。
 処理部12は、部分特徴データ17を生体認証の高速化に利用してもよい。例えば、処理部12は、前処理として、データベースに登録された多数のユーザのバイナリ特徴データの中からバイナリ特徴データ16とマッチする可能性がある候補を絞り込むために、部分特徴データ17を使用する。処理部12は、部分特徴データ17と他の部分特徴データとの間の類似度を、ハミング距離を用いて評価してもよい。ハミング距離は、2つの部分特徴データの間でビット毎の排他的論理和を求める論理演算を通じて算出できる。
 第1の実施の形態の情報処理装置10によれば、生体画像13から抽出された特徴データ14に基づいて生体認証が実行される。また、特徴データ14よりもデータ量の小さい部分特徴データ17が生成され、部分特徴データ17を用いて簡易的な照合処理が実行される。よって、処理時間の制約またはハードウェアリソースの制約がある場合でも、照合処理の計算量を削減でき生体認証を高速に実行できる。
 また、部分特徴データ17を生成する過程で、特徴量の正規化およびバイナリ化が行われる。よって、2つの特徴量の間の差を、ハミング距離を求める論理演算を通じて評価することが可能となる。ビット毎の論理演算は、浮動小数点演算よりも計算量が小さく、組み込み用プロセッサなどの演算能力の低いハードウェアでも高速に実行できる。このため、生体認証を高速に実行することができる。
 また、部分特徴データ17を生成するにあたり、バイナリ特徴データ16に含まれる複数のビット列それぞれから一部ビットが間引かれる。よって、部分特徴データ17は、バイナリ特徴データ16の複数のビット列に対応する複数の部分ビット列を含んでおり、バイナリ特徴データ16の特定のビット列全体が失われているわけではない。すなわち、特徴データ14の特定の特徴量の情報が削除されているわけではない。このため、部分特徴データ17を利用することによる認証精度の低下を抑制することができる。
 [第2の実施の形態]
 次に、第2の実施の形態を説明する。
 図2は、第2の実施の形態の情報処理システムの例を示す図である。
 第2の実施の形態の情報処理システムは、生体認証の1つである手のひら静脈認証によってユーザを認証し、ユーザの入室を管理する。情報処理システムは、認証装置100およびドア制御装置32を含む。認証装置100は、手のひら静脈画像を用いてユーザ認証を行い、そのユーザが登録されたユーザであるか判定する。認証装置100は、認証に成功した場合はドア制御装置32に通行許可を指示し、認証に失敗した場合はドア制御装置32に通行拒否を指示する。ドア制御装置32は、認証装置100に接続される。ドア制御装置32は、認証装置100からの指示に応じてドアのロックを制御する。
 認証装置100は、情報処理装置またはコンピュータと呼ばれてもよい。認証装置100は、第1の実施の形態の情報処理装置10に対応する。認証装置100は、CPU101、RAM102、フラッシュメモリ103、表示装置104、入力デバイス105、媒体リーダ106、通信部107およびセンサデバイス110を有する。上記ユニットはバスに接続されている。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはフラッシュメモリ103は、第1の実施の形態の記憶部11に対応する。
 CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、低消費電力の組み込み用プロセッサでもよい。CPU101は、フラッシュメモリ103に記憶されたプログラムおよびデータの少なくとも一部をRAM102にロードし、プログラムを実行する。認証装置100は、複数のプロセッサを有してもよい。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
 RAM102は、CPU101が実行するプログラムおよびCPU101が演算に使用するデータを一時的に記憶する揮発性半導体メモリである。認証装置100は、RAM以外の種類のメモリを有してもよい。フラッシュメモリ103は、ソフトウェアのプログラムおよびデータを記憶する不揮発性ストレージである。ソフトウェアには、OS(Operating System)、ミドルウェアおよびアプリケーションソフトウェアが含まれてもよい。認証装置100は、HDDなどの他の種類の不揮発性ストレージを有してもよい。
 表示装置104は、CPU101からの命令に従って画像を表示する。表示装置104は、例えば、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイである。認証装置100は、他の種類の出力デバイスを有してもよい。入力デバイス105は、ユーザの操作を検知して入力信号をCPU101に通知する。入力デバイス105は、例えば、タッチパネルやボタンキーなどである。
 媒体リーダ106は、記録媒体31に記録されたプログラムまたはデータを読み取る読み取り装置である。記録媒体31は、磁気ディスク、光ディスクまたは半導体メモリであってもよい。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)およびHDDが含まれてもよい。光ディスクには、CD(Compact Disc)およびDVD(Digital Versatile Disc)が含まれてもよい。媒体リーダ106は、例えば、記録媒体31から読み取ったプログラムまたはデータを、フラッシュメモリ103などのストレージにコピーする。記録媒体31は、可搬型記録媒体でもよい。記録媒体31は、プログラムまたはデータの配布に用いられることがある。記録媒体31およびフラッシュメモリ103が、コンピュータ読み取り可能な記録媒体と呼ばれてもよい。
 通信部107は、ドア制御装置32と接続され、ドア制御装置32と通信する。通信部107は、例えば、ドア制御装置32とケーブルで接続される。通信部107は、ドアを開くことを示す信号またはドアを閉じることを示す信号をドア制御装置32に送信する。
 センサデバイス110は、画像センサである。ユーザはドアを開けて入室しようとするとき、手のひらをセンサデバイス110にかざす。すると、センサデバイス110は、手のひらを検知し、手のひら静脈画像を生成してRAM102に格納する。センサデバイス110は、センサ制御部111、照明部112および撮像素子113を有する。
 センサ制御部111は、センサデバイス110の動作を制御する。センサ制御部111は、手のひらを検知し、照明部112および撮像素子113を制御して手のひら静脈画像を生成する。照明部112は、センサ制御部111からの命令に応じて、手のひらに対して光を照射する。撮像素子113は、センサ制御部111からの命令に応じて、照明部112の光によって浮かび上がった手のひらの静脈を撮像する。
 次に、生体認証の処理について説明する。
 図3は、生体画像とテンプレートの照合例を示す図である。
 ユーザがセンサデバイス110に手のひらをかざすと、センサデバイス110は生体画像151を生成する。認証装置100は、生体画像151を解析する。生体画像151の解析では、認証装置100は、パターンマッチングにより、異なるユーザが異なる特徴をもつことが知られている複数の特徴点を抽出する。抽出される特徴点は、例えば、静脈の端点および静脈の分岐点である。例えば、生体画像151から特徴点152-1,152-2,152-3が抽出される。特徴点152-1は、静脈の分岐点に相当する。特徴点152-2,152-3は、静脈の端点に相当する。
 認証装置100は、複数の特徴点それぞれについて、特徴点を中心とする所定の大きさの画像領域を生体画像151から切り出し、その画像領域から特徴ベクトルを生成する。例えば、認証装置100は、切り出した画像領域における画素値の分布に対して主成分分析を行って特徴ベクトルを生成する。特徴ベクトルの次元数は、例えば、64次元、128次元、256次元、512次元などである。特徴ベクトルの各次元の要素は、浮動小数点で表現された数値である。例えば、認証装置100は、特徴点152-1から特徴ベクトル153-1を生成し、特徴点152-2から特徴ベクトル153-2を生成し、特徴点152-3から特徴ベクトル153-3を生成する。
 認証装置100が有するデータベースには、テンプレート154が登録されている。テンプレート154は、あるユーザの登録情報であり、特徴点152-1,152-2,152-3に相当する複数の特徴点の情報を含む。テンプレート154は、登録時の生体画像から生成される。認証装置100は、特徴点毎に、生成された特徴ベクトルとテンプレート154の情報とを照合して、類似度を示すスコアを算出する。スコアは、類似度が高いほど数値が大きい相関値でもよいし、類似度が低いほど数値が大きい誤差値でもよい。
 例えば、認証装置100は、特徴点152-1について、特徴ベクトル153-1からスコア155-1を算出する。また、認証装置100は、特徴点152-2について、特徴ベクトル153-2からスコア155-2を算出する。また、認証装置100は、特徴点152-3について、特徴ベクトル153-3からスコア155-3を算出する。
 認証装置100は、複数の特徴点のスコアに基づいて、生体画像151とテンプレート154が同一人物を表すか判定する。例えば、認証装置100は、複数の特徴点の平均スコアを算出する。類似度が高いほどスコアが大きい場合、認証装置100は、平均スコアが閾値を超える場合に認証成功と判定し、平均スコアが閾値以下の場合に認証失敗と判定する。また、類似度が低いほどスコアが大きい場合、認証装置100は、平均スコアが閾値未満の場合に認証成功と判定し、平均スコアが閾値以上の場合に認証失敗と判定する。
 ここで、照合処理を高速化するため、テンプレート154は、特徴点の登録情報として後述するバイナリ特徴ベクトルを含む。また、認証装置100は、特徴ベクトル153-1,153-2,153-3をそれぞれバイナリ特徴ベクトルに変換し、テンプレート154に含まれるバイナリ特徴ベクトルと照合してスコアを算出する。認証装置100は、以下のようにして特徴ベクトルをバイナリ特徴ベクトルに変換する。
 図4は、特徴ベクトルの正規化およびバイナリ化の例を示す図である。
 特徴ベクトル161は、各次元の要素が浮動小数点数であるベクトルである。認証装置100は、特徴ベクトル161に対して正規化S1を実行して、特徴ベクトル161を正規化特徴ベクトル163に変換する。正規化特徴ベクトル163の次元数は、特徴ベクトル161と同じである。更に、認証装置100は、正規化特徴ベクトル163に対してバイナリ化S2を実行して、正規化特徴ベクトル163をバイナリ特徴ベクトル165に変換する。バイナリ特徴ベクトル165の次元数は、正規化特徴ベクトル163と同じであり、よって、特徴ベクトル161と同じである。
 正規化S1では、認証装置100は、確率分布162を使用する。確率分布162は、特徴ベクトル161の各次元の要素である特徴量の出現確率を表す。認証装置100は、複数の次元に対して共通の確率分布を使用してもよいし、次元によって異なる確率分布を使用してもよい。確率分布162は、様々な生体画像から抽出された様々な特徴ベクトルを事前に分析することで推定される。事前の分析は、学習処理と呼ばれてもよい。確率分布162は正規分布とみなされ、特徴量の平均μと標準偏差σによって定義される。
 区間毎の出現確率が均等になるように、特徴量の値域が複数の区間に分割される。特徴量の区間は、平均μと標準偏差σを用いて規定することが可能である。区間の個数は、バイナリ特徴ベクトル165のビット長を考慮して予め指定される。そして、複数の区間それぞれに対して正規化特徴量が割り当てられる。これにより、特徴量と正規化特徴量とが対応付けられる。正規化特徴量がとり得る値の個数は、特徴量がとり得る値の個数よりも少ない。正規化特徴量は、非負整数である。正規化特徴量として、特徴量が小さい区間から順に0,1,2,…と昇順の非負整数が割り当てられる。
 例えば、認証装置100は、特徴量0.5を正規化特徴量2に変換し、特徴量-0.9を正規化特徴量0に変換し、特徴量0.1を正規化特徴量1に変換し、特徴量1.2を正規化特徴量3に変換する。正規化特徴ベクトル163の要素は、正規化特徴量である。
 バイナリ化S2では、認証装置100は、正規化特徴ベクトル163に含まれる各次元の正規化特徴量をバイナリ特徴量に変換する。バイナリ特徴ベクトル165の要素は、バイナリ特徴量である。正規化特徴量とバイナリ特徴量との間の対応関係は、テーブル164のように規定される。バイナリ特徴量は、各ビットが0または1の二値をとるビット列である。バイナリ特徴量のビット長は、正規化特徴量の最大値に等しい。バイナリ特徴量のビット長は、例えば、4ビット、8ビット、16ビットなどである。図4の例では、正規化特徴量の最大値が3であり、バイナリ特徴量は3ビットのビット列である。
 バイナリ特徴量は、正規化特徴量と等しい個数だけ1のビットをもつ。下位ビットから優先的に1のビットになる。例えば、認証装置100は、正規化特徴量0をバイナリ特徴量000に変換し、正規化特徴量1をバイナリ特徴量001に変換し、正規化特徴量2をバイナリ特徴量011に変換し、正規化特徴量3をバイナリ特徴量111に変換する。
 ただし、認証装置100は、異なる特徴量の間の距離を評価できればよい。よって、認証装置100は、確率分布162において、特徴量が大きい区間から順に0,1,2,…と昇順の非負整数を割り当ててもよい。また、認証装置100は、正規化特徴量と等しい個数だけ0のビットをもつようにバイナリ特徴量を生成してもよい。また、認証装置100は、上位ビットから優先的に1のビットになるようにバイナリ特徴量を生成してもよい。また、認証装置100は、1のビットまたは0のビットが所定の優先順序で現れるように、バイナリ特徴量のビット列をシャッフルしてもよい。例えば、下位ビットから順にビット#0,#1,#2と表記した場合に、認証装置100は、ビット#1,#0,#2という優先順位で1のビットを配置するようにしてもよい。
 認証装置100は、一人の登録ユーザにつき、複数の特徴点それぞれのバイナリ特徴ベクトルを含むテンプレートをデータベースに登録しておく。認証装置100は、入室許可を求めるユーザのバイナリ特徴ベクトルとテンプレートに含まれるバイナリ特徴ベクトルとの間でハミング距離を算出し、ハミング距離に基づいてスコアを算出する。ハミング距離は、2つのビット列の間で値が異なるビットの個数である。ハミング距離は、ビット毎の排他的論理和によって算出することができる。ハミング距離を算出する論理演算の計算負荷は、2つの浮動小数点数の差を算出する浮動小数点演算よりも小さい。
 スコアを算出するにあたり、認証装置100は、次元毎に2つのバイナリ特徴量の間のハミング距離を算出し、全ての次元のハミング距離を合算してもよい。また、認証装置100は、ハミング距離が大きいほどスコアが小さく、ハミング距離が小さいほどスコアが大きいように、ハミング距離をスコアに変換してもよい。ここで、バイナリ特徴量のハミング距離を利用する利点について説明する。
 図5は、バイナリ化とハミング距離の関係の例を示す図である。
 テーブル141は、正規化特徴量、バイナリ特徴量、バイナリ化前のハミング距離およびバイナリ化後のハミング距離の関係を示す。テーブル141では、正規化特徴量の最大値が4であり、バイナリ特徴量のビット長が4である場合を考える。
 正規化特徴量0の通常の二進数表記は、0b000である。正規化特徴量1の通常の二進数表記は、0b001である。正規化特徴量2の通常の二進数表記は、0b010である。正規化特徴量3の通常の二進数表記は、0b011である。正規化特徴量4の通常の二進数表記は、0b100である。正規化特徴量0と正規化特徴量0,1,2,3,4との間で通常の減算を行うと、ユークリッド距離0,1,2,3,4が算出される。
 ここで、正規化特徴量に対して、ビット毎の排他的論理和を求める論理演算を行うと、ハミング距離が0,1,1,2,1と算出される。しかし、このハミング距離はユークリッド距離と一致しておらず、2つの正規化特徴量の間の距離を適切に表現していない。一方、バイナリ特徴量に対して、ビット毎の排他的論理和を求める論理演算を行うと、ハミング距離が0,1,2,3,4と算出される。このハミング距離はユークリッド距離と一致しており、2つの正規化特徴量の間の距離を適切に表現している。
 このように、論理演算を通じて算出されるハミング距離を利用することで、計算負荷の高い浮動小数点演算が削減される。また、特徴量をバイナリ特徴量に変換することで、ユークリッド距離と整合するハミング距離が算出される。よって、生体認証の計算速度と認証精度とのバランスを図ることができる。
 なお、認証装置100は、データベースにバイナリ特徴ベクトルそのものを格納してもよいし、バイナリ特徴ベクトルを暗号化した暗号化バイナリ特徴ベクトルを格納してもよい。バイナリ特徴ベクトルを暗号化する場合、認証装置100は、バイナリ特徴ベクトルとサイズが同じであり認証装置100に固有の暗号ビット列を用意する。認証装置100は、バイナリ特徴ベクトルと暗号ビット列の間で排他的論理和を算出することで、暗号ビット列によってバイナリ特徴ベクトルをマスクする。
 認証対象のバイナリ特徴ベクトルとテンプレートとを照合する際には、認証装置100は、認証対象のバイナリ特徴ベクトルと上記の暗号ビット列との間で排他的論理和を算出することで、認証対象のバイナリ特徴ベクトルを暗号化する。認証装置100は、2つの暗号化バイナリ特徴ベクトルの間でハミング距離を算出してスコアを算出する。排他的論理和およびハミング距離の性質上、暗号化バイナリ特徴ベクトルを復号しなくても、復号した場合と同じハミング距離が算出される。
 次に、認証装置100が実行する1対N認証について説明する。認証装置100は、入室許可を求めるユーザからユーザIDが提供されなくても、生体画像からユーザを識別することができる1対N認証を実行する。1対N認証では、データベースに複数のユーザのテンプレートが登録される。データベースに登録され得るテンプレートの個数は、100個から1,000,000個のように幅広い。認証装置100は、あるユーザのバイナリ特徴ベクトルとデータベースに登録された複数のテンプレートそれぞれとの間でスコアを算出して、類似度が十分に高いテンプレートを検索する。例えば、スコアが閾値を超えるテンプレートが存在する場合に認証成功と判定され、入室が許可されたユーザはスコアが最も高いテンプレートに対応するユーザであると判定される。
 データベースにN個のテンプレートが登録されている場合、認証装置100は、照合処理をN回行うことも考えられる。しかし、バイナリ特徴ベクトルのビット長が数千ビットになる可能性もあり、N個のテンプレート全てに対して詳細な照合処理を行うことは負荷が大きい。そこで、認証装置100は、前処理として、データベースに登録されたN個のテンプレートのうち照合対象のテンプレートを絞り込む絞り込み処理を行う。
 絞り込み処理では、認証装置100は、バイナリ特徴ベクトルよりもサイズが小さい部分特徴ベクトルを使用する。認証装置100は、バイナリ特徴ベクトルから一部のビットを抽出し、抽出されたビットから成る部分特徴ベクトルを生成する。部分特徴ベクトルを用いて算出されるスコアが良好なテンプレートが、バイナリ特徴ベクトルを用いて算出されるスコアも良好である可能性がある候補テンプレートになる。詳細な照合処理は、N個のテンプレートのうち候補テンプレートに対してのみ実行すればよい。
 部分特徴ベクトルのサイズは、所望の絞り込み率やテンプレート数Nに応じて決定される。部分特徴ベクトルのサイズが小さいほど、絞り込みの精度が低く、絞り込み後の候補テンプレートが多くなる一方、絞り込み処理自体の負荷が低い。部分特徴ベクトルのサイズが大きいほど、絞り込みの精度が高く、絞り込み後の候補テンプレートが少なくなる一方、絞り込み処理自体の負荷が高い。
 第2の実施の形態では、以下に説明するように、部分特徴ベクトルの次元数はバイナリ特徴ベクトルの次元数と同じである。部分特徴ベクトルの各次元の部分特徴量のビット長が、バイナリ特徴ベクトルの各次元のバイナリ特徴量よりも小さい。すなわち、認証装置100は、バイナリ特徴ベクトルの各次元から一部のビットを抽出する。これにより、次元数を削減する場合よりも絞り込み処理の精度が向上する。
 図6は、バイナリ特徴ベクトルの部分データ化の例を示す図である。
 バイナリ特徴ベクトル171は、複数次元の要素として、バイナリ特徴量171-1,172-2,171-3などの複数のバイナリ特徴量を含む。バイナリ特徴量171-1,172-2,171-3それぞれのビット長は8である。バイナリ特徴量171-1は00111111であり、正規化特徴量6に相当する。バイナリ特徴量171-2は00000011であり、正規化特徴量2に相当する。バイナリ特徴量171-3は00001111であり、正規化特徴量4に相当する。
 8ビットのバイナリ特徴量を1ビットの部分特徴量に圧縮する場合、認証装置100は、バイナリ特徴ベクトル171から部分特徴ベクトル172を生成する。部分特徴ベクトル172の圧縮率は8分の1である。部分特徴ベクトル172は、バイナリ特徴量171-1,171-2,171-3に対応する部分特徴量172-1,172-2,172-3を含む。認証装置100は、バイナリ特徴量171-1から1ビットを抽出して部分特徴量172-1を生成する。また、認証装置100は、バイナリ特徴量171-2から1ビットを抽出して部分特徴量172-2を生成する。また、認証装置100は、バイナリ特徴量171-3から1ビットを抽出して部分特徴量172-3を生成する。
 8ビットのバイナリ特徴量を2ビットの部分特徴量に圧縮する場合、認証装置100は、バイナリ特徴ベクトル171から部分特徴ベクトル173を生成する。部分特徴ベクトル173の圧縮率は4分の1である。部分特徴ベクトル173は、バイナリ特徴量171-1,171-2,171-3に対応する部分特徴量173-1,173-2,173-3を含む。認証装置100は、バイナリ特徴量171-1から2ビットを抽出して部分特徴量173-1を生成する。また、認証装置100は、バイナリ特徴量171-2から2ビットを抽出して部分特徴量173-2を生成する。また、認証装置100は、バイナリ特徴量171-3から2ビットを抽出して部分特徴量173-3を生成する。
 8ビットのバイナリ特徴量を4ビットの部分特徴量に圧縮する場合、認証装置100は、バイナリ特徴ベクトル171から部分特徴ベクトル174を生成する。部分特徴ベクトル174の圧縮率は2分の1である。部分特徴ベクトル174は、バイナリ特徴量171-1,171-2,171-3に対応する部分特徴量174-1,174-2,174-3を含む。認証装置100は、バイナリ特徴量171-1から4ビットを抽出して部分特徴量174-1を生成する。また、認証装置100は、バイナリ特徴量171-2から4ビットを抽出して部分特徴量174-2を生成する。また、認証装置100は、バイナリ特徴量171-3から4ビットを抽出して部分特徴量174-3を生成する。
 ここで、認証装置100は、バイナリ特徴量から抽出されるビットを以下のように選択する。バイナリ特徴量をk分の1に圧縮する場合、認証装置100は、均等にビットが抽出されるように、バイナリ特徴量のビット列をk個毎に分割し、連続するkビット毎に1ビットを抽出する。kビットのうち抽出されるビットは、バイナリ特徴量の中心ビットを基準にして決定される。認証装置100は、バイナリ特徴量の中心ビットを特定し、中心ビットが属するkビットの中で中心ビットが存在する相対位置を特定する。認証装置100は、連続するkビット毎に、特定した相対位置のビットを抽出する。
 バイナリ特徴量のビット長が奇数である場合、中心ビットは1個に定まる。一方、バイナリ特徴量のビット長が偶数である場合、中心ビットの候補として、偶数番目のビットと奇数番目のビットの2つが存在する。例えば、8ビットのバイナリ特徴量の中心ビットは、ビット#0,#1,#2,#3,#4,#5,#6,#7のうち、ビット#3またはビット#4である。そこで、認証装置100には、中心ビットが偶数ビットであるか奇数ビットであるかを示す偶奇フラグが設定される。偶奇フラグは、例えば、認証装置100の管理者によって予め指定されるパラメータである。複数の認証装置が存在する場合、偶奇フラグは認証装置によって異なってもよい。
 図6の例は、中心ビットが偶数ビットである場合、すなわち、中心ビットがビット#4である場合を示している。部分特徴ベクトル172では、8個のビットのうちビット#4が選択される。よって、部分特徴量172-1,172-2,172-3は、それぞれバイナリ特徴量171-1,171-2,171-3のビット#4に相当する。
 部分特徴ベクトル173では、8個のビットが4ビット×2個に分割され、連続する4ビットのうちビット#4の位置に相当する最下位ビットが選択される。よって、部分特徴量173-1,173-2,173-3は、それぞれバイナリ特徴量171-1,171-2,171-3のビット#0,#4に相当する。
 部分特徴ベクトル174では、8個のビットが2ビット×4個に分割され、連続する2ビットのうちビット#4の位置に相当する下位ビットが選択される。よって、部分特徴量174-1,174-2,174-3は、それぞれバイナリ特徴量171-1,171-2,171-3のビット#0,#2,#4,#6に相当する。
 このように、認証装置100は、バイナリ特徴ベクトルのサイズを削減する場合、複数次元の要素それぞれから一部のビットを抽出する。抽出されるビットは、少なくとも中心ビットを含む。ここで、中心ビットを抽出する利点について説明する。
 図7は、選択ビットと部分特徴量の関係の例を示す図である。
 テーブル142は、正規化特徴量、バイナリ特徴量、ビット#0を抽出した場合の部分特徴量およびビット#1を抽出した場合の部分特徴量の関係を示す。テーブル142は、正規化特徴量の最大値が4であり、バイナリ特徴量のビット長が4であり、部分特徴量のビット長が1である場合を示している。
 中心ビットではないビット#0が抽出された場合、正規化特徴量0,1,2,3,4に対応する部分特徴量は0,1,1,1,1となる。この場合、5個の正規化特徴量のうち1個の正規化特徴量が部分特徴量0に変換され、4個の正規化特徴量が部分特徴量1に変換される。よって、異なる部分特徴量の間で出現確率に大きな偏りが生じてしまう。一方、中心ビットであるビット#1が抽出された場合、正規化特徴量0,1,2,3,4に対応する部分特徴量は0,0,1,1,1となる。この場合、5個の正規化特徴量のうち2個の正規化特徴量が部分特徴量0に変換され、3個の正規化特徴量が部分特徴量1に変換される。よって、異なる部分特徴量の間の出現確率の偏りが小さい。
 バイナリ特徴量から均等にビットを抽出することは、正規化特徴量の分解能を下げることに相当する。中心ビットを含むようにバイナリ特徴量からビットを抽出することで、異なるバイナリ特徴量の間の距離の関係をできる限り保存することができる。次に、中心ビットが偶数ビットであるか奇数ビットであるかの違いについて説明する。
 図8は、選択ビットの偶数奇数と部分特徴量の関係の例を示す図である。
 テーブル143は、正規化特徴量、バイナリ特徴量、中心ビットが偶数ビットである場合の部分特徴量および中心ビットが奇数ビットである場合の部分特徴量の関係を示す。テーブル143は、正規化特徴量の最大値が4であり、バイナリ特徴量のビット長が4であり、部分特徴量のビット長が2である場合を示している。
 中心ビットが偶数ビットである場合、バイナリ特徴量のビット#0,#1,#2,#3のうちビット#0,#2が抽出される。この場合、正規特徴量0,1,2,3,4が、それぞれ部分特徴量00,01,01,11,11に変換される。この部分特徴量は、正規化特徴量を2で割って余りを切り上げた整数に相当する。一方、中心ビットが奇数ビットである場合、ビット#1,#3が抽出される。この場合、正規特徴量0,1,2,3,4が、それぞれ部分特徴量00,00,01,01,11に変換される。この部分特徴量は、正規化特徴量を2で割って余りを切り捨てた整数に相当する。
 このように、ビット長が偶数のバイナリ特徴量において、中心ビットとして偶数番目のビットを選択することは、剰余を切り上げることを意味する。一方、中心ビットとして奇数番目のビットを選択することは、剰余を切り捨てることを意味する。上記では、バイナリ特徴ベクトルの複数の次元に対して、共通の偶奇フラグを適用している。ただし、次元によって異なる偶奇フラグを適用することも可能である。
 図9は、バイナリ特徴ベクトルの部分データ化の他の例を示す図である。
 ここでは、認証装置100は、中心ビットとして偶数番目の次元のバイナリ特徴量からは偶数ビットを選択し、奇数番目の次元のバイナリ特徴量からは奇数ビットを選択する。
 8ビットのバイナリ特徴量を1ビットの部分特徴量に圧縮する場合、認証装置100は、バイナリ特徴ベクトル171から部分特徴ベクトル175を生成する。部分特徴ベクトル175は、バイナリ特徴量171-1,171-2,171-3に対応する部分特徴量175-1,175-2,175-3を含む。部分特徴量175-1,175-3は、それぞれバイナリ特徴量171-1,171-3のビット#4に相当する。一方、部分特徴量175-2は、バイナリ特徴量171-2のビット#3に相当する。
 8ビットのバイナリ特徴量を2ビットの部分特徴量に圧縮する場合、認証装置100は、バイナリ特徴ベクトル171から部分特徴ベクトル176を生成する。部分特徴ベクトル176は、バイナリ特徴量171-1,171-2,171-3に対応する部分特徴量176-1,176-2,176-3を含む。部分特徴量176-1,176-3は、それぞれバイナリ特徴量171-1,171-3のビット#0,#4に相当する。一方、部分特徴量176-2は、バイナリ特徴量171-2のビット#3,#7に相当する。
 8ビットのバイナリ特徴量を4ビットの部分特徴量に圧縮する場合、認証装置100は、バイナリ特徴ベクトル171から部分特徴ベクトル177を生成する。部分特徴ベクトル177は、バイナリ特徴量171-1,171-2,171-3に対応する部分特徴量177-1,177-2,177-3を含む。部分特徴量177-1,177-3は、それぞれバイナリ特徴量171-1,171-3のビット#0,#2,#4,#6に相当する。一方、部分特徴量177-2は、バイナリ特徴量171-2のビット#1,#3,#5,#7に相当する。このように、次元によって中心ビットを変更することで、剰余の処理方法の偏りに起因する精度低下を抑制することができる。
 なお、前述のように、データベースに登録されたバイナリ特徴ベクトルが暗号化されていることがある。その場合、認証装置100は、暗号化バイナリ特徴ベクトルの各次元から上記の方法によってビットを抽出すればよい。また、前述のように、バイナリ特徴量において1のビットが端から順に並んでおらずシャッフルされていることがある。その場合、認証装置100は、シャッフル前のビットの順序を基準にして抽出ビットを決定する。
 次に、部分特徴ベクトルを利用した絞り込み処理の制御について説明する。認証装置100は、データベースに登録されたテンプレートが多い場合、絞り込み処理を行うことで生体認証の全体の処理時間を短縮することができる。また、認証装置100は、異なるサイズの部分特徴ベクトルを用いて多段階の絞り込み処理を行うことで、生体認証の全体の処理時間を短縮することができる場合がある。そこで、認証装置100は、テンプレート数Nに応じて絞り込み処理の段数nを決定する。また、認証装置100は、絞り込み処理の段数nに応じて、各段における部分特徴量のビット長を決定する。
 なお、データベースに登録されたテンプレートの個数は、認証装置100の運用期間中に変動する。よって、部分特徴ベクトルの要否や最適なビット長も変動する。このため、第2の実施の形態では、認証装置100は、テンプレートに対応する部分特徴ベクトルを事前に作成せずに、認証時に動的に部分特徴ベクトルを生成する。
 以下、絞り込み処理の段数nおよび部分特徴量のビット長の決定方法を説明する。絞り込み処理および照合処理それぞれに対して、ワークロードwが割り当てられる。ワークロードは、テンプレート1個当たりの負荷を示す変数である。ワークロードは仕事量と呼ばれてもよい。ワークロードは、部分特徴量のビット長と比例する。ビット長が大きいほどワークロードが大きく、ビット長が小さいほどワークロードが小さい。第2の実施の形態では、ワークロードwはビット長そのものを示している。
 処理i(絞り込み処理の何れかの段または照合処理)におけるテンプレート1個当たりの処理時間tは、数式(1)に示すように、ワークロードwに比例する。数式(1)において、tは所定の係数である。また、処理iにおける絞り込み率αは、数式(2)に示すように、ワークロードwに反比例する。絞り込み率αは、処理iの直前のテンプレート数に対する処理iの直後のテンプレート数の割合である。ワークロードwが大きいほど絞り込み率αが小さく、ワークロードwが小さいほど絞り込み率αが大きい。数式(2)において、αは所定の係数である。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 絞り込み処理が1段である場合、絞り込み処理と照合処理を含む全体の処理時間Tは、数式(3)のように算出される。数式(3)において、wは絞り込み処理のワークロード、wは照合処理のワークロード、tは絞り込み処理の単位処理時間、tは照合処理の単位処理時間、αは絞り込み処理の絞り込み率、Nはデータベースに登録されたテンプレートの個数を示す。処理時間Tが最小になるようにワークロードwを最適化すると、最小処理時間MinTは数式(4)のように算出される。数式(4)の右辺第1項は絞り込み処理の処理時間であり、右辺第2項は照合処理の処理時間である。結果的に、絞り込み処理の処理時間と照合処理の処理時間が同じになる。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
 同様にして、絞り込み処理が2段である場合、最小処理時間MinTは数式(5)のように算出される。数式(5)の右辺第1項は絞り込み処理の1段目の処理時間であり、右辺第2項は絞り込み処理の2段目の処理時間であり、右辺第3項は照合処理の処理時間である。結果的に、絞り込み処理の各段の処理時間と照合処理の処理時間が同じになる。このように、絞り込み処理の各段および照合処理の処理時間を均等にすることで、絞り込み処理と照合処理を含む全体の処理時間が最小化される。
Figure JPOXMLDOC01-appb-M000005
 認証装置100は、絞り込み処理の段数nを、数式(6)の制約条件を満たす最小のnに決定する。nは0,1,2,…という非負整数である。数式(6)において、α/wは照合処理の精度に相当し、予め設定される。例えば、α/w=10-6(100万分の1)である。その場合、N≧10,000のときにn≧2となる。認証装置100は、テンプレート数Nと最適な段数nの対応関係を規定したテーブルを保持していてもよい。
Figure JPOXMLDOC01-appb-M000006
 段数nが決定されると、認証装置100は、絞り込み処理の各段および照合処理の処理時間が均等になるように、数式(7)に従って絞り込み処理の各段のワークロードwpiを決定する。ここで、絞り込み処理の前のワークロードwp0を数式(8)のように規定しておく。数式(8)は、絞り込み処理の前の絞り込み率αp0が1であることを示している。これにより、ワークロードwpiからワークロードwpi+1が順に算出される。よって、絞り込み処理の各段で用いる部分特徴量のビット長が決定される。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 次に、認証装置100の機能および処理手順について説明する。
 図10は、認証装置の機能例を示すブロック図である。
 認証装置100は、全体制御部121、データベース122、バッファメモリ123、特徴抽出部124、部分データ生成部125、照合部126および絞り込み部130を有する。データベース122は、例えば、フラッシュメモリ103を用いて実装される。バッファメモリ123は、例えば、RAM102を用いて実装される。
 全体制御部121、特徴抽出部124、部分データ生成部125、照合部126および絞り込み部130は、例えば、CPU101を用いて実装される。ただし、全体制御部121、特徴抽出部124、部分データ生成部125、照合部126および絞り込み部130が、異なるプロセッサに対応してもよい。また、全体制御部121、特徴抽出部124、部分データ生成部125、照合部126および絞り込み部130の一部または全部が、ASICやFPGAなどの専用ハードウェアを用いて実装されてもよい。
 全体制御部121は、登録用の生体画像を受け付け、データベース122へのテンプレートの登録を制御する。また、全体制御部121は、認証用の生体画像を受け付け、データベース122に対する絞り込み処理および照合処理を制御する。データベース122は、複数のユーザについてユーザIDとテンプレートとを対応付けて記憶する。テンプレートは、バイナリ特徴ベクトルまたは暗号化バイナリ特徴ベクトルを含む。バッファメモリ123は、処理中のデータを一時的に記憶する。
 特徴抽出部124は、全体制御部121からの指示に応じて、生体画像を分析して特徴ベクトルを生成する。例えば、特徴抽出部124は、パターンマッチングにより生体画像から特徴点を抽出し、特徴点を含む画像領域に対して主成分分析を行う。特徴抽出部124は、特徴ベクトルを正規化して正規化特徴ベクトルを生成し、正規化特徴ベクトルをバイナリ化してバイナリ特徴ベクトルを生成する。特徴抽出部124は、特徴量と正規化特徴量との対応関係を示すテーブルを保持してもよい。また、特徴抽出部124は、バイナリ特徴ベクトルを暗号化してもよい。
 部分データ生成部125は、全体制御部121からの指示に応じて、特徴抽出部124が生成したバイナリ特徴ベクトルまたは暗号化バイナリ特徴ベクトルから、各次元の一部ビットを抽出して部分特徴ベクトルを生成する。また、部分データ生成部125は、データベース122に登録されたテンプレートに含まれるバイナリ特徴ベクトルまたは暗号化バイナリ特徴ベクトルから部分特徴ベクトルを生成する。部分特徴ベクトルに含まれる各部分特徴量のビット長の情報は、絞り込み部130から与えられる。
 照合部126は、全体制御部121からの指示に応じて、特徴抽出部124が生成したバイナリ特徴ベクトルまたは暗号化バイナリ特徴ベクトルと、データベース122に登録されたテンプレートそれぞれとを照合してスコアを算出する。ただし、絞り込み部130が絞り込み処理を行った場合、絞り込まれたテンプレートのみ照合処理を行えばよい。照合部126は、スコアに基づいて認証成功または認証失敗を判定する。認証成功と判定した場合、照合部126は、ドア制御装置32に対してドアを開くよう指示する。
 絞り込み部130は、全体制御部121からの指示に応じて、データベース122に登録されたテンプレートに対して絞り込み処理を行う。絞り込み部130は、スコア算出部131、設定部132および設定記憶部133を有する。
 スコア算出部131は、部分データ生成部125が生成した認証対象の部分特徴ベクトルとテンプレートの部分特徴ベクトルとの間でハミング距離を算出し、ハミング距離に基づいてテンプレートの仮スコアを算出する。スコア算出部131は、仮スコアを用いて、照合部126の照合処理に成功する可能性がある候補テンプレートを選択する。
 設定部132は、データベース122のテンプレート数Nを監視し、テンプレート数Nに応じて、絞り込み処理の最適な段数nと、絞り込み処理で用いる部分特徴量のビット長とを決定する。設定部132は、定期的に設定処理を行ってもよいし、データベース122のテンプレート数Nが変化したときに設定処理を行ってもよい。設定記憶部133は、設定部132によって生成された設定情報を記憶する。部分特徴量のビット長の情報は、絞り込み部130から部分データ生成部125に提供される。
 図11は、テンプレートテーブルと設定テーブルの例を示す図である。
 テンプレートテーブル144は、データベース122に記憶される。テンプレートテーブル144は、複数のユーザそれぞれについてユーザIDとバイナリ特徴ベクトルとを対応付けて記憶する。説明を簡単にするため、図11では1つのユーザIDに対して1つのバイナリ特徴ベクトルが対応付けられているが、1つのユーザIDに対して、複数の特徴点を示す複数のバイナリ特徴ベクトルが対応付けられていてもよい。また、テンプレートテーブル144に含まれるバイナリ特徴ベクトルは、暗号化されていてもよい。
 設定テーブル145は、設定記憶部133に記憶される。設定テーブル145は、テンプレート数N、絞り込み段数n、絞り込み処理の各段のワークロードwおよび偶奇フラグfを含む。テンプレート数Nは、データベース122に登録されたテンプレートの個数であり、設定部132によって監視される。絞り込み段数nおよび各段のワークロードwは、設定部132によって決定される。第2の実施の形態では、ワークロードwは、部分特徴量のビット長そのものである。ただし、ワークロードwがビット長そのものを表していない場合、設定部132は、ワークロードwとビット長との関係を示すテーブルを保持していてもよい。偶奇フラグは、認証装置100の管理者によって指定される。
 図12は、テンプレート登録の手順例を示すフローチャートである。
 (S10)全体制御部121は、センサデバイス110から生体画像を読み取る。
 (S11)特徴抽出部124は、生体画像から特徴点を検出し、検出した特徴点を含む画像領域に対して主成分分析を行って特徴ベクトルを算出する。
 (S12)特徴抽出部124は、特徴ベクトルの各次元の特徴量を、予め学習された確率分布に応じて正規化し、正規化特徴ベクトルを生成する。
 (S13)特徴抽出部124は、正規化特徴ベクトルの各次元の正規化特徴量を、1のビットの個数を調整してバイナリ化し、バイナリ特徴ベクトルを生成する。
 (S14)全体制御部121は、バイナリ特徴ベクトルを含むテンプレートを、ユーザIDを付与した上でデータベース122に登録する。
 図13は、絞り込み設定の手順例を示すフローチャートである。
 (S20)設定部132は、データベース122からテンプレート数Nを検出する。
 (S21)設定部132は、ステップS20で検出した最新のテンプレート数Nが、設定テーブル145に登録されたテンプレート数Nから変化しているか判断する。Nが変化した場合は処理がステップS22に進み、変化していない場合は処理が終了する。
 (S22)設定部132は、最新のテンプレート数Nに応じた絞り込み段数nを決定する。例えば、Nが10,000以上のときnが2以上である。
 (S23)設定部132は、バイナリ特徴量のビット長とステップS22で決定した絞り込み段数nから、絞り込み処理の各段のビット長を示すワークロードwを決定する。
 (S24)設定部132は、テンプレート数N、絞り込み段数nおよび各段のワークロードwを示す設定情報を、設定テーブル145に保存する。
 図14は、ユーザ認証の手順例を示すフローチャートである。
 (S30)全体制御部121は、センサデバイス110から生体画像を読み取る。
 (S31)特徴抽出部124は、生体画像から特徴点を検出し、検出した特徴点を含む画像領域に対して主成分分析を行って特徴ベクトルを算出する。
 (S32)特徴抽出部124は、特徴ベクトルの各次元の特徴量を正規化し、正規化特徴量をバイナリ化して、バイナリ特徴ベクトルを生成する。
 (S33)絞り込み部130は、照合処理に進む前に絞り込み処理を一段階行うか、すなわち、未実行の絞り込み処理が残っているか判断する。絞り込み処理を一段階行う場合は処理がステップS34に進み、行わない場合は処理がステップS38に進む。
 (S34)部分データ生成部125は、バイナリ特徴量のビット長に基づいて、バイナリ特徴量の中心ビットを特定する。バイナリ特徴量のビット長が偶数である場合、部分データ生成部125は、偶奇フラグに応じて、偶数番目のビットまたは奇数番目のビットを選択する。部分データ生成部125は、今回の絞り込み処理に対して設定された部分特徴量のビット長に基づいて、中心ビットを含む選択ビットを決定する。
 (S35)部分データ生成部125は、ステップS32で生成されたバイナリ特徴ベクトルを、各次元からステップS34の選択ビットを抽出することで部分データ化し、対象バイナリ特徴ベクトルの部分特徴ベクトルを生成する。また、部分データ生成部125は、残っている候補テンプレートそれぞれに含まれるバイナリ特徴ベクトルを同様に部分データ化し、テンプレートの部分特徴ベクトルを生成する。
 (S36)スコア算出部131は、部分特徴ベクトル同士でハミング距離を算出することで、残っている候補テンプレートそれぞれのスコアを算出する。
 (S37)スコア算出部131は、ステップS36で算出されたスコアに基づいて候補テンプレートを絞り込む。例えば、スコア算出部131は、スコアが閾値を超える候補テンプレートを選択する。また、例えば、スコア算出部131は、今回の絞り込み処理において出力することが期待される個数の候補テンプレートを、スコアの高い方から優先的に選択する。そして、処理がステップS33に戻る。
 (S38)照合部126は、ステップS32で生成されたバイナリ特徴ベクトルと、残った候補テンプレートに含まれるバイナリ特徴ベクトルの間でハミング距離を算出することで、残った候補テンプレートそれぞれのスコアを算出する。
 (S39)照合部126は、ステップS38で算出されたスコアに基づいて、ステップS30の生体画像とマッチするテンプレートの有無を判定する。例えば、照合部126は、スコアが最も高いテンプレートを選択し、当該スコアが閾値を超えるか判定する。生体画像とマッチするテンプレートが存在する場合、照合部126は、生体画像の人物と当該テンプレートの人物が同一であるとみなし、認証成功と判断する。生体画像とマッチするテンプレートが存在しない場合、照合部126は、生体画像の人物がデータベース122に登録されていないとみなし、認証失敗と判断する。
 (S40)照合部126は、ステップS39の判定結果に応じて、ドア制御装置32に制御信号を送信してドアの開閉を制御する。照合部126は、認証成功の場合はドアのロックを解除し、認証失敗の場合はドアのロックを維持する。
 第2の実施の形態の認証装置100によれば、1対N認証が行われる。よって、ユーザはユーザIDを入力しなくても、手のひらをかざすなどの生体情報の提示によって認証を受けることができ、ユーザの利便性が向上する。また、照合処理の前処理として、データベースに対して部分データを用いた絞り込み処理が行われる。よって、データベースに多数のテンプレートが登録されていても、計算量が削減され生体認証が高速化される。また、性能の制約が大きい組み込み用ハードウェアを利用することが可能となる。
 また、生体画像から生成される特徴ベクトルに対して正規化およびバイナリ化が行われ、バイナリ特徴ベクトル同士のハミング距離によって類似度が評価される。よって、浮動小数点演算よりも高速な論理演算によって類似度を判定することができ、絞り込み処理および照合処理が高速化される。特に、組み込み用プロセッサでも、絞り込み処理および照合処理を高速に実行できる。また、バイナリ特徴量は、正規化特徴量に相当する個数の1のビットを含む。よって、ハミング距離がユークリッド距離と一致し、ハミング距離を利用することによる精度の低下が抑制される。また、特徴量が、特徴量の確率分布に基づいて、各正規化特徴量の出現確率が均等になるように正規化される。よって、特徴の違いをできる限りハミング距離に反映させることができ、情報の欠落が抑制される。
 また、絞り込み処理に用いられる部分特徴ベクトルは、バイナリ特徴ベクトルの各次元から一部のビットを抽出することで生成される。部分特徴ベクトルの次元数は、バイナリ特徴ベクトルと同じである。また、絞り込み処理で扱う特徴点の個数は、照合処理で扱う特徴点の個数と同じである。よって、次元数を削減する方法や特徴点を削減する方法と比べて、情報の欠落が抑制されて精度の低下が抑制される。
 また、データベースには、バイナリ特徴ベクトルを暗号化して登録することが可能である。よって、ユーザの生体情報が漏洩するリスクが低減する。また、絞り込み処理および照合処理は、バイナリ特徴ベクトルを復号せずに実行することが可能である。よって、生体認証が高速化されると共に、セキュリティが向上する。
 [第3の実施の形態]
 次に、第3の実施の形態を説明する。第2の実施の形態との違いを中心に説明し、第2の実施の形態と同様の内容については説明を省略することがある。第2の実施の形態の認証装置100は、1対N認証によって入室管理を行うものである。これに対し、第3の実施の形態の認証装置100aは、特定の部屋の入室管理を厳格化するため、1対N認証に加えて、IC(Integrated Circuit)カードを利用した1対1認証を併用する。
 図15は、第3の実施の形態の情報処理システムの例を示す図である。
 認証装置100aは、第2の実施の形態の認証装置100と同様のハードウェアを有する。認証装置100aには、ドア制御装置32に加えて、ICカードリーダ33が接続されている。ICカードリーダ33は、ICカード34に記録されたデータを読み出し、読み出したデータを認証装置100aに送信する。
 セキュリティレベルが高い特定の部屋への入室が許可されたユーザには、ICカード34が配布される。ユーザは入室時に、センサデバイス110に手のひらをかざすと共に、携帯しているICカード34をICカードリーダ33にかざす。ICカード34には、そのユーザの生体画像から生成されたテンプレートが予め書き込まれている。
 認証装置100aは、入室時にセンサデバイス110が生成した生体画像とICカードリーダ33が読み出したテンプレートとを用いて、1対1認証を行う。このとき、認証装置100aは、データベースに登録された多数のテンプレートに対する絞り込み処理や照合処理を行わなくてよい。認証装置100aは、生体画像の特徴がICカード34に記録されたテンプレートとマッチすれば認証成功と判定し、マッチしなければ認証失敗と判定する。例えば、認証装置100aは、ICカード34に記録されたテンプレートのスコアを算出し、スコアが閾値を超えれば認証成功と判定する。
 ただし、ICカード34の記憶容量は小さいため、ICカード34は、生体画像から生成されるバイナリ特徴ベクトルの全体を記憶することができない場合がある。そこで、ICカード34は、バイナリ特徴ベクトルに代えて、第2の実施の形態で説明した部分特徴ベクトルを記憶する。この部分特徴ベクトルは、暗号化されていてもよい。部分特徴ベクトルの各次元のビット長は、ICカード34の記憶容量を考慮して予め決定される。
 認証装置100aは、ICカードリーダ33から部分特徴ベクトルを受信する。また、認証装置100aは、センサデバイス110を用いて生体画像を生成する。認証装置100aは、生体画像から特徴ベクトルを生成し、特徴ベクトルに対して正規化およびバイナリ化を行ってバイナリ特徴ベクトルを生成する。更に、認証装置100aは、バイナリ特徴ベクトルから、第2の実施の形態で説明した方法を用いて部分特徴ベクトルを生成する。ただし、各次元のビット長はテンプレートに合わせればよい。認証装置100aは、2つの部分特徴ベクトルの間でハミング距離を算出し、ハミング距離に基づいてスコアを算出する。認証装置100aは、スコアに基づいて認証の成否を判定する。
 第3の実施の形態の認証装置100aによれば、第2の実施の形態の認証装置100と同様の効果が得られる。更に、認証装置100aによれば、ICカードを利用した1対1認証が行われる。よって、入室管理を厳格化してセキュリティを向上させることができる。また、ICカードには部分特徴ベクトルが記憶される。よって、データベースに登録されるバイナリ特徴ベクトルのサイズが大きい場合や、ICカードの記憶容量が小さい場合であっても、ICカードを利用した1対1認証が可能となる。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 10 情報処理装置
 11 記憶部
 12 処理部
 13 生体画像
 14 特徴データ
 14a 特徴量
 15 正規化特徴データ
 15a 正規化特徴量
 16 バイナリ特徴データ
 16a ビット列
 17 部分特徴データ
 17a 部分ビット列

Claims (7)

  1.  コンピュータが、
     生体画像から、複数の特徴量を含む特徴データを算出し、
     前記特徴データに含まれる前記複数の特徴量それぞれを、特徴量がとり得る値の出現確率を示す確率分布に基づいて、複数段階の離散値をとる正規化特徴量に正規化し、
     前記正規化特徴量が大きいほど二値のうちの特定の一方の値をとるビットの個数が大きくなるように、前記正規化特徴量それぞれをビット列に変換して、前記複数の特徴量に対応する複数のビット列を含むバイナリ特徴データを生成し、
     前記バイナリ特徴データに含まれる前記複数のビット列それぞれから一部のビットを抽出して、前記複数のビット列に対応する複数の部分ビット列を含んでおり前記バイナリ特徴データよりもビット長が小さい部分特徴データを生成する、
     データ生成方法。
  2.  前記部分特徴データの生成では、前記複数のビット列それぞれから、当該ビット列のビット長に応じて決定される位置のビットを抽出する、
     請求項1記載のデータ生成方法。
  3.  前記部分特徴データの生成では、前記複数のビット列それぞれから、当該ビット列の中心ビットを含むように前記一部のビットを抽出する、
     請求項1記載のデータ生成方法。
  4.  前記ビット列のビット長が偶数である場合、前記中心ビットは、前記ビット列の中心で隣接する偶数番目のビットと奇数番目のビットの何れか一方であり、
     前記部分特徴データの生成では、前記複数のビット列のうちの一部のビット列から前記偶数番目のビットを抽出し、他のビット列から前記奇数番目のビットを抽出する、
     請求項3記載のデータ生成方法。
  5.  前記コンピュータが更に、
     データベースに登録された他のバイナリ特徴データを読み出し、
     前記他のバイナリ特徴データから前記一部のビットに対応するビットを抽出して、前記他のバイナリ特徴データよりもビット長が小さい他の部分特徴データを生成し、
     前記部分特徴データと前記他の部分特徴データとの間のハミング距離に基づいて、前記バイナリ特徴データと前記他のバイナリ特徴データとがマッチするか否かを予測する、
     請求項1記載のデータ生成方法。
  6.  生体画像から算出された複数の特徴量を含む特徴データを記憶する記憶部と、
     前記特徴データに含まれる前記複数の特徴量それぞれを、特徴量がとり得る値の出現確率を示す確率分布に基づいて、複数段階の離散値をとる正規化特徴量に正規化し、前記正規化特徴量が大きいほど二値のうちの特定の一方の値をとるビットの個数が大きくなるように、前記正規化特徴量それぞれをビット列に変換して、前記複数の特徴量に対応する複数のビット列を含むバイナリ特徴データを生成し、前記バイナリ特徴データに含まれる前記複数のビット列それぞれから一部のビットを抽出して、前記複数のビット列に対応する複数の部分ビット列を含んでおり前記バイナリ特徴データよりもビット長が小さい部分特徴データを生成する処理部と、
     を有する情報処理装置。
  7.  コンピュータに、
     生体画像から、複数の特徴量を含む特徴データを算出し、
     前記特徴データに含まれる前記複数の特徴量それぞれを、特徴量がとり得る値の出現確率を示す確率分布に基づいて、複数段階の離散値をとる正規化特徴量に正規化し、
     前記正規化特徴量が大きいほど二値のうちの特定の一方の値をとるビットの個数が大きくなるように、前記正規化特徴量それぞれをビット列に変換して、前記複数の特徴量に対応する複数のビット列を含むバイナリ特徴データを生成し、
     前記バイナリ特徴データに含まれる前記複数のビット列それぞれから一部のビットを抽出して、前記複数のビット列に対応する複数の部分ビット列を含んでおり前記バイナリ特徴データよりもビット長が小さい部分特徴データを生成する、
     処理を実行させるデータ生成プログラム。
PCT/JP2020/038139 2020-10-08 2020-10-08 データ生成方法、情報処理装置およびデータ生成プログラム WO2022074786A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2020/038139 WO2022074786A1 (ja) 2020-10-08 2020-10-08 データ生成方法、情報処理装置およびデータ生成プログラム
EP20956733.8A EP4227889A4 (en) 2020-10-08 2020-10-08 DATA GENERATION METHOD, INFORMATION PROCESSING DEVICE, AND DATA GENERATION PROGRAM
JP2022555196A JPWO2022074786A1 (ja) 2020-10-08 2020-10-08
US18/178,648 US20230206605A1 (en) 2020-10-08 2023-03-06 Data generation method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/038139 WO2022074786A1 (ja) 2020-10-08 2020-10-08 データ生成方法、情報処理装置およびデータ生成プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/178,648 Continuation US20230206605A1 (en) 2020-10-08 2023-03-06 Data generation method and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2022074786A1 true WO2022074786A1 (ja) 2022-04-14

Family

ID=81126355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/038139 WO2022074786A1 (ja) 2020-10-08 2020-10-08 データ生成方法、情報処理装置およびデータ生成プログラム

Country Status (4)

Country Link
US (1) US20230206605A1 (ja)
EP (1) EP4227889A4 (ja)
JP (1) JPWO2022074786A1 (ja)
WO (1) WO2022074786A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310646A (ja) * 2006-05-18 2007-11-29 Glory Ltd 検索情報管理装置、検索情報管理プログラムおよび検索情報管理方法
JP2010277196A (ja) 2009-05-26 2010-12-09 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP2012058954A (ja) 2010-09-08 2012-03-22 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2013206187A (ja) * 2012-03-28 2013-10-07 Fujitsu Ltd 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム
JP2015060433A (ja) * 2013-09-19 2015-03-30 富士通株式会社 認証方法、認証装置、認証システム、および認証プログラム
JP2019045969A (ja) * 2017-08-30 2019-03-22 富士通株式会社 生体画像処理装置、生体画像処理方法、及び生体画像処理プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310646A (ja) * 2006-05-18 2007-11-29 Glory Ltd 検索情報管理装置、検索情報管理プログラムおよび検索情報管理方法
JP2010277196A (ja) 2009-05-26 2010-12-09 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP2012058954A (ja) 2010-09-08 2012-03-22 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2013206187A (ja) * 2012-03-28 2013-10-07 Fujitsu Ltd 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム
JP2015060433A (ja) * 2013-09-19 2015-03-30 富士通株式会社 認証方法、認証装置、認証システム、および認証プログラム
JP2019045969A (ja) * 2017-08-30 2019-03-22 富士通株式会社 生体画像処理装置、生体画像処理方法、及び生体画像処理プログラム

Also Published As

Publication number Publication date
EP4227889A1 (en) 2023-08-16
JPWO2022074786A1 (ja) 2022-04-14
US20230206605A1 (en) 2023-06-29
EP4227889A4 (en) 2023-11-15

Similar Documents

Publication Publication Date Title
Joseph et al. Retracted article: a multimodal biometric authentication scheme based on feature fusion for improving security in cloud environment
US7474769B1 (en) Bioindex mechanism for increasing the relative speed of biometric identification against large population samples
US9036876B2 (en) Method and system for authenticating biometric data
US11444774B2 (en) Method and system for biometric verification
AU2017200935B2 (en) Method for securing and verifying a document
US20100157088A1 (en) Authentication apparatus and authentication method
Ali et al. Cancelable biometrics technique for iris recognition
JP2010286937A (ja) 生体認証方法、及び、生体認証に用いるクライアント端末、認証サーバ
Axelsson Using normalized compression distance for classifying file fragments
US20230011633A1 (en) Systems and methods for scalable biometric authentication
CN112771522A (zh) 生物体认证装置、生物体认证方法以及生物体认证程序
US11507690B2 (en) Method of enrolling data to control an identity, and identity-control method
JP7011152B2 (ja) 生体画像処理装置、生体画像処理方法、及び生体画像処理プログラム
WO2022074786A1 (ja) データ生成方法、情報処理装置およびデータ生成プログラム
US10121085B2 (en) Information processing apparatus and method of searching for similar data
US10509986B2 (en) Image similarity determination apparatus and image similarity determination method
Pandey et al. Learning representations for cryptographic hash based face template protection
Fiandrotti et al. CDVSec: Privacy-preserving biometrical user authentication in the cloud with CDVS descriptors
WO2022156088A1 (zh) 指纹签名生成方法、装置、电子设备及计算机存储介质
JP2002297549A (ja) 本人認証システム及びプログラム
JP4382744B2 (ja) 画像情報抽出方法及び画像情報検索方法及びプログラム
KR101240901B1 (ko) 얼굴 인식 방법, 장치, 및 이 방법을 실행하기 위한 컴퓨터 판독 가능한 기록 매체
JP2018156520A (ja) 生体認証装置、生体認証方法、および生体認証プログラム
US10719690B2 (en) Fingerprint sensor and method for processing fingerprint information
Shinde et al. An Approach for e-Voting using Face and Fingerprint Verification

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20956733

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022555196

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020956733

Country of ref document: EP

Effective date: 20230508