JP5962405B2 - 認証プログラム、認証方法及び認証装置 - Google Patents

認証プログラム、認証方法及び認証装置 Download PDF

Info

Publication number
JP5962405B2
JP5962405B2 JP2012220740A JP2012220740A JP5962405B2 JP 5962405 B2 JP5962405 B2 JP 5962405B2 JP 2012220740 A JP2012220740 A JP 2012220740A JP 2012220740 A JP2012220740 A JP 2012220740A JP 5962405 B2 JP5962405 B2 JP 5962405B2
Authority
JP
Japan
Prior art keywords
feature vector
component
vector
dimensional feature
storage unit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2012220740A
Other languages
English (en)
Other versions
JP2014074964A (ja
Inventor
真喜子 此島
真喜子 此島
唯 野間
唯 野間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012220740A priority Critical patent/JP5962405B2/ja
Publication of JP2014074964A publication Critical patent/JP2014074964A/ja
Application granted granted Critical
Publication of JP5962405B2 publication Critical patent/JP5962405B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、認証技術に関する。
生体認証として、生体情報の入力に加えてID等の入力を要する1対1認証と、ID等の入力を要さず生体情報の入力だけで認証を行うことが可能な1対N認証とが知られている。
1対N認証においては、入力された生体情報から抽出された特徴量を成分とする特徴ベクトルと、予めデータベース等に登録された複数個の特徴ベクトルの各々との間の距離を算出する処理を実行する。そのため、予め登録された特徴ベクトルの数が多くなるほど認証に要する時間が長くなる。
従来、特徴ベクトルをバイナリ化し、バイナリデータ間の距離を算出することにより認証に要する時間を短くする技術が存在する。バイナリ化には、例えばローカリティセンシティブハッシング(Locality-Sensitive Hashing)が用いられる。ローカリティセンシティブハッシングにおいては、データ空間における超平面の法線ベクトルと特徴ベクトルとの内積を算出し、内積の正負に応じて0又は1を割り当てることにより特徴ベクトルをバイナリデータに変換する。すなわち、データ空間を超平面により切り分け、切り分けにより得られた各領域にバイナリデータを割り当て、特徴ベクトルをその特徴ベクトルが属する領域に割り当てられたバイナリデータに変換する。なお、ここで考える超平面は、データ空間のどこに存在していてもよい。
ここで、高次元のアフィン空間であるデータ空間の1点を固定し、その点を原点とするベクトル空間としてデータ空間をとらえる。このデータ空間をVとする。この場合、法線ベクトルn(数式(1)においては、nの上に矢印を付している)及び原点からのオフセットbを用いて、超平面H(n,b)を以下のように記述することができる。
Figure 0005962405
全ての超平面が原点を通る場合に切り分けにより得られる領域の数はO記法でO(ビット数(次元数−1))であるのに対し、超平面がオフセットを有している場合に切り分けにより得られる領域の数はO記法でO(ビット数(次元数))である。すなわち、超平面がオフセットを有している方が、切り分けにより得られる領域の数は多くなる。
図1及び図2に、超平面による領域の切り分けの具体例を示す。図1及び図2が示す空間は2次元空間である。図1及び図2において、11乃至13は超平面である。超平面11より下側に特徴ベクトルが存在する場合には1桁目のビットを1とし、上側に存在する場合には0としている。超平面12より上側に特徴ベクトルが存在する場合には2桁目のビットを1とし、下側に存在する場合には0としている。超平面13より右側に特徴ベクトルが存在する場合には3桁目のビットを1とし、左側に存在する場合には0としている。
図1の例のように超平面11乃至13が原点を通っている場合、2次元空間は6つの領域に切り分けられる。具体的には、ビット列「000」が割り当てられた領域と、ビット列「010」が割り当てられた領域と、ビット列「011」が割り当てられた領域と、ビット列「111」が割り当てられた領域と、ビット列「101」が割り当てられた領域と、ビット列「100」が割り当てられた領域とに切り分けられる。
これに対し、図2の例のように原点を通らない超平面13が存在する場合、2次元空間は7つの領域に切り分けられる。具体的には、ビット列「000」が割り当てられた領域と、ビット列「010」が割り当てられた領域と、ビット列「011」が割り当てられた領域と、ビット列「110」が割り当てられた領域と、ビット列「111」が割り当てられた領域と、ビット列「101」が割り当てられた領域と、ビット列「100」が割り当てられた領域とに切り分けられる。
切り分けにより得られる領域の数が多いほど特徴ベクトルをより厳密に分類することができるようになるため、認証精度が高くなる。よって、認証精度を高くするためには、超平面がオフセットを有している方が好ましいということになる。
しかし、従来技術において利用されている、超平面の法線ベクトルを求めるアルゴリズムは、超平面が原点を通るものとして計算を実行するアルゴリズムである。よって、新たにアルゴリズムを開発しなければ、超平面がオフセットを有しているものとして計算を実行することはできない。また、超平面がオフセットを有しているものとして計算を実行するアルゴリズムは、超平面が原点を通るものとして計算を実行するアルゴリズムと比べて複雑であるため、計算量が多くなるという問題がある。以上のような点に鑑みると、新たにアルゴリズムを開発することは好ましくない。
M. Datar, N. Immorlica, P. Indyk, V. S. Mirrokni, "Locality-Sensitive Hashing Scheme Based on p-Stable Distributions", Proceedings of the twentieth annual symposium on Computational geometry (SCG), 2004, p.253-262 Y. Weiss, A. Torralba, R. Fergus, "Spectral Hashing", Advances in Neural Information Processing Systems (NIPS), 2008, p.1753-1760 M. Norouzi, D. J. Fleet, "Minimal Loss Hashing for Compact Binary Codes", International Conference in Machine Learning (ICML), 2011, p.353-360
1つの側面では、本発明の目的は、超平面が原点を通るものとして計算を実行するアルゴリズムを利用する場合において、認証精度を向上させるための技術を提供することである。
本発明に係る認証方法は、(n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出し、第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成し、当該第1の(n+p)次元特徴ベクトルを、1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換し、データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成し、当該検索対象の(n+p)次元特徴ベクトルを、1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換し、第1のビット列と第2のビット列との距離を算出する処理を含む。
超平面が原点を通るものとして計算を実行するアルゴリズムを利用する場合において、認証精度を向上させることができるようになる。
図1は、超平面による領域の切り分けの一例を示す図である。 図2は、超平面による領域の切り分けの一例を示す図である。 図3は、認証装置の機能ブロック図を示す図である。 図4は、クエリデータ格納部に格納されているクエリデータの一例を示す図である。 図5は、検索対象データ格納部に格納されている検索対象データの一例を示す図である。 図6は、第1持ち上げ部が実行する処理の処理フローを示す図である。 図7は、第1データ格納部に格納されているデータの一例を示す図である。 図8は、第1変換部が実行する処理の処理フローを示す図である。 図9は、第1バイナリデータ格納部に格納されているデータの一例を示す図である。 図10は、第2持ち上げ部が実行する処理の処理フローを示す図である。 図11は、第2データ格納部に格納されているデータの一例を示す図である。 図12は、第2変換部が実行する処理の処理フローを示す図である。 図13は、第2バイナリデータ格納部に格納されているデータの一例を示す図である。 図14は、初期化部が実行する処理の処理フローを示す図である。 図15は、第1の実施の形態における設定処理の処理フローを示す図である。 図16は、初期値格納部に格納されているデータの一例を示す図である。 図17は、変換規則生成部が実行する処理の処理フローを示す図である。 図18は、検索部が実行する処理の処理フローを示す図である。 図19は、検索結果格納部に格納されているデータの一例を示す。 図20は、ビット数と再現率との関係を示す図である。 図21は、ビット数と適合率との関係を示す図である。 図22は、第2の実施の形態における設定処理の処理フローを示す図である。 図23は、第3の実施の形態における設定処理の処理フローを示す図である。 図24は、第4の実施の形態における設定処理の処理フローを示す図である。 図25は、第5の実施の形態における設定処理の処理フローを示す図である。 図26は、第6の実施の形態における設定処理の処理フローを示す図である。 図27は、第7の実施の形態における設定処理の処理フローを示す図である。 図28は、第8の実施の形態における設定処理の処理フローを示す図である。 図29は、コンピュータの機能ブロック図である。
以下では、超平面がオフセットを有しているものとして計算を実行するアルゴリズムを新たに検討するのではなく、超平面が原点を通るものとして計算を実行するアルゴリズムを利用して認証の精度を向上させる方法について説明する。この方法においては、データをp次元(pは自然数)大きい空間に写像し、その空間において、超平面が原点を通るものとして計算を実行するアルゴリズムを利用して超平面の法線ベクトルを求める。
データ空間Vの次元をN(Nは自然数)とし、データ空間Wの次元を(N+1)とする。そして、以下の埋め込み写像を考える。
Figure 0005962405
なお、説明を簡単にするためp=1としているが、p>1の場合もp=1の場合と概念として同等である。
Wの第(N+1)成分をzと呼べば、これは、Wにおけるz=1の超平面へのVの埋め込みに相当する。なお、説明を簡単にするためWの第(N+1)成分の値を1としているが、1に限られるわけではない。
そして、Wの原点を通る超平面は、法線ベクトルが(0,0,..,0,1)に比例しなければz=1の平面と交差する。その共通集合の次元は(N−1)次元である。また、共通集合は必ずしもVの原点を通るとは限らない。つまり、Wの原点を通る超平面は、Vにおいてオフセットを有する超平面へマッピングされる。n(nは自然数)次元空間における超平面の法線ベクトルの自由度は(n−1)であるから、Wの原点を通る超平面の自由度はNであり、Vにおいてオフセットを有する超平面の自由度も(N−1)+1=Nである。
ここで、上で述べた超平面間の写像を具体的に考える。
Wの原点を通る超平面の法線ベクトルを以下のように表す。
Figure 0005962405
Wにおけるz=1の平面上の点を以下のように表す。
Figure 0005962405
すると、超平面とz=1の平面との共通集合は、以下のようになる。
Figure 0005962405
これは、Vにおいてオフセットを有する超平面の方程式に相当する。
[実施の形態1]
図3に、本実施の形態における認証装置1の機能ブロック図を示す。認証装置1は、クエリデータ格納部101と、第1持ち上げ部103と、第1データ格納部105と、第1変換部107と、第1バイナリデータ格納部109と、検索対象データ格納部111と、第2持ち上げ部113と、第2データ格納部115と、第2変換部117と、第2バイナリデータ格納部119と、学習データ格納部121と、初期化部123と、初期値格納部125と、第3持ち上げ部127と、第3データ格納部129と、変換規則生成部131と、規則データ格納部133と、検索部135と、検索結果格納部137と、出力部139とを含む。
第1持ち上げ部103は、クエリデータ格納部101に格納されているクエリデータを用いて処理を実行し、処理結果を第1データ格納部105に格納する。第1変換部107は、第1データ格納部105に格納されているデータ及び規則データ格納部133に格納されているデータを用いて処理を実行し、処理結果を第1バイナリデータ格納部109に格納する。
第2持ち上げ部113は、検索対象データ格納部111に格納されている検索対象データを用いて処理を実行し、処理結果を第2データ格納部115に格納する。第2変換部117は、第2データ格納部115に格納されているデータ及び規則データ格納部133に格納されているデータを用いて処理を実行し、処理結果を第2バイナリデータ格納部119に格納する。
初期化部123は、学習データ格納部121に格納されている学習データを用いて処理を実行し、処理結果を初期値格納部125に格納する。第3持ち上げ部127は、学習データ格納部121に格納されている学習データを用いて処理を実行し、処理結果を第3データ格納部129に格納する。変換規則生成部131は、初期値格納部125に格納されているデータ及び第3データ格納部129に格納されているデータを用いて処理を実行し、処理結果を規則データ格納部133に格納する。
検索部135は、第1バイナリデータ格納部109に格納されているデータ及び第2バイナリデータ格納部119に格納されているデータを用いて処理を実行し、処理結果を検索結果格納部137に格納する。出力部139は、検索結果格納部137に格納されているデータを用いて処理を行い、処理結果を例えば表示装置に出力する。
図4に、クエリデータ格納部101に格納されているクエリデータの一例を示す。図4の例では、ユーザから入力された又はネットワークを介して受信した、生体データから抽出された特徴量を成分とするn次元(nは自然数)の特徴ベクトルのデータが格納されている。特徴ベクトルは、生体データが画像データである場合、例えば画像中の特定の領域における隆線の方向、長さ及び勾配等の特徴量をベクトル化したものである。生体データが音声データである場合、特徴ベクトルは、例えば周波数成分の分布、強度及びピーク値等の特徴量をベクトル化したものである。
図5に、検索対象データ格納部111に格納されている検索対象データの一例を示す。図5の例では、データIDと、生体データから抽出された特徴量を成分とするn次元の特徴ベクトルのデータとが格納されている。検索対象データ格納部111には、複数人分の特徴ベクトルのデータを予め格納しておく。
本実施の形態においては、クエリデータ格納部101に格納されている特徴ベクトルと一致する特徴ベクトルを検索対象データ格納部111から検索することにより、1対N認証を行う。
学習データ格納部121には、検索対象データ格納部111に格納されている検索対象データの少なくとも一部が格納されている。学習データ格納部121に格納されている学習データのフォーマットは、検索対象データ格納部111に格納されている検索対象データのフォーマットと同じである。学習データ格納部121に格納されている学習データは、変換規則Wの生成に用いられる。変換規則Wは、1又は複数の超平面の法線ベクトルを行ベクトルとする行列である。
次に、図6乃至図19を用いて、認証装置1の動作について説明する。まず、図6乃至図9を用いて、クエリデータ格納部101に新たに特徴ベクトルのデータが格納された場合に実行する処理について説明する。
第1持ち上げ部103は、クエリデータ格納部101に新たにn次元特徴ベクトルのデータが格納されたことを検出すると、新たに格納されたn次元特徴ベクトルのデータをクエリデータ格納部101から読み出す(図6:ステップS1)。
第1持ち上げ部103は、n次元特徴ベクトルに第(n+1)成分から第(n+p)成分(pは自然数)を追加することにより、(n+p)次元特徴ベクトルを生成する(ステップS3)。生成される(n+p)次元特徴ベクトルは、第1成分から第n成分までは元のn次元特徴ベクトルと同じであり、第(n+1)成分から第(n+p)成分までが新たに追加された成分である。第(n+1)成分から第(n+p)成分までには、任意の値を設定することができる。
第1持ち上げ部103は、生成された(n+p)次元特徴ベクトルのデータを第1データ格納部105に格納する(ステップS5)。そして処理を終了する。
図7に、第1データ格納部105に格納されているデータの一例を示す。図7の例では、(n+p)次元特徴ベクトルの各成分の値が格納されている。
以上のような処理を実行すれば、入力された生体データから抽出された特徴量を成分とするn次元の特徴ベクトルから、次元の持ち上げによって、(n+p)次元の特徴ベクトルを生成できる。
そして、第1データ格納部105に(n+p)次元特徴ベクトルのデータが格納されると、第1変換部107は以下のような処理を実行する。第1変換部107が実行する処理については、図8及び図9を用いて説明する。
まず、第1変換部107は、変換規則Wのデータを規則データ格納部133から読み出し、また、(n+p)次元特徴ベクトルのデータを第1データ格納部105から読み出す(図8:ステップS11)。変換規則Wは、m行(n+p)列の行列である(mは自然数)。変換規則Wについては後で詳細に説明する。
第1変換部107は、変換規則Wと(n+p)次元特徴ベクトルとの積演算を実行し、実行結果をメインメモリ等の記憶装置に格納する(ステップS13)。
ステップS13においては、以下のような行列の積演算を実行する。
Figure 0005962405
第1変換部107は、ステップS13の処理によって得られた列ベクトル(y,y,...,y)の成分の各々を、正負に応じて0又は1に変換し(ステップS15)、m桁のビット列を生成する。
第1変換部107は、生成されたm桁のビット列を、第1バイナリデータ109に格納する(ステップS17)。そして処理を終了する。
図9に、第1バイナリデータ格納部109に格納されているデータの一例を示す。図9の例では、m桁のビット列が格納されている。
以上のような処理を実行すれば、入力された生体データからm桁のビット列を生成することができる。
次に、図10乃至図13を用いて、検索対象データ格納部111に格納されている特徴ベクトルのデータをバイナリ化する処理について説明する。
まず、第2持ち上げ部113は、検索対象データ格納部111から未処理のn次元特徴ベクトルを1つ特定する(図10:ステップS21)。
第2持ち上げ部113は、ステップS23において特定されたn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を追加することにより、(n+p)次元特徴ベクトルを生成する(ステップS23)。生成される(n+p)次元特徴ベクトルは、第1成分から第n成分までは元のn次元特徴ベクトルと同じであり、第(n+1)成分から第(n+p)成分までが新たに追加された成分である。第(n+1)成分から第(n+p)成分までには、任意の値を設定することができる。
第2持ち上げ部113は、生成された(n+p)次元特徴ベクトルのデータと当該(n+p)次元特徴ベクトルのデータIDとを第2データ格納部115に格納する(ステップS25)。
第2持ち上げ部113は、未処理のn次元特徴ベクトルが検索対象データ格納部111に有るか判断する(ステップS27)。未処理のn次元特徴ベクトルが有る場合(ステップS27:Yesルート)、次のn次元特徴ベクトルについて処理するため、ステップS21の処理に戻る。一方、未処理のn次元特徴ベクトルが無い場合(ステップS27:Noルート)、処理を終了する。
図11に、第2データ格納部115に格納されているデータの一例を示す。図11の例では、データIDと、(n+p)次元特徴ベクトルの各成分の値とが格納されている。
以上のような処理を実行すれば、予め登録された生体データから抽出された特徴量を成分とするn次元の特徴ベクトルから、次元の持ち上げによって、(n+p)次元の特徴ベクトルを生成できる。
そして、第2データ格納部115に(n+p)次元特徴ベクトルのデータが格納されると、第2変換部117は以下のような処理を実行する。第2変換部117が実行する処理については、図12及び図13を用いて説明する。
まず、第2変換部117は、第2データ格納部115から未処理の(n+p)次元特徴ベクトルのデータを1つ分読み出す(図12:ステップS31)。
第2変換部117は、規則データ格納部133から変換規則Wのデータを読み出す(ステップS32)。変換規則Wは、m行(n+p)列の行列である。変換規則Wについては後で詳細に説明する。
第2変換部117は、変換規則Wと(n+p)次元特徴ベクトルとの積演算を実行し、実行結果をメインメモリ等の記憶装置に格納する(ステップS33)。ステップS33において実行する行列の積演算は、ステップS13において説明したとおりである。
第2変換部117は、ステップS33の処理によって得られた列ベクトルの成分の各々を、正負に応じて0又は1に変換し(ステップS34)、m桁のビット列を生成する。
第2変換部117は、生成されたm桁のビット列と当該ビット列のデータIDとを第2バイナリデータ格納部119に格納する(ステップS35)。
第2変換部117は、未処理の(n+p)次元特徴ベクトルが第2データ格納部115に有るか判断する(ステップS36)。未処理の(n+p)次元特徴ベクトルが有る場合(ステップS36:Yesルート)、次の(n+p)次元特徴ベクトルについて処理するため、ステップS31の処理に戻る。一方、未処理の(n+p)次元特徴ベクトルが無い場合(ステップS36:Noルート)、処理を終了する。
図13に、第2バイナリデータ格納部119に格納されているデータの一例を示す。図13の例では、データIDと、m桁のビット列とが格納されている。
以上のような処理を実行すれば、予め登録されているn次元特徴ベクトルの各々からm桁のビット列を生成することができる。
次に、図14乃至図17を用いて、変換規則Wを生成する処理について説明する。まず、変換規則Wの初期値を設定する処理について説明する。
初期化部123は、設定処理を実行する(図14:ステップS41)。設定処理については、図15を用いて説明する。
初期化部123は、図示しないデータ格納部等に登録されている複数の(n+p)次元分布から、最小値を−1とし、且つ最大値を1とする一様分布を特定する(図15:ステップS51)。なお、本実施の形態において考える分布は、特に断りが無い限り正規化されているものとする。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数。jは1≦j≦(n+p)を満たす自然数。)の値を、特定された分布から(例えばランダムに)抽出した値に設定する(ステップS53)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
図14の説明に戻り、初期化部123は、変換規則Wにおける各行の(n+p)次元行ベクトルが単位ベクトルになるように正規化を実行する(ステップS43)。初期化部123は、変換規則Wの各成分の初期値を初期値格納部125に格納する。そして処理を終了する。
図16に、初期値格納部125に格納されているデータの一例を示す。図16の例では、行列の各成分の値が格納されている。行列の各成分の値は、例えば浮動小数点数である。行列は、m行(n+p)列の行列である。
以上のような処理を実行すれば、変換規則Wの各成分に適切な初期値を設定することができる。なお、ステップS43の処理を実行しなくてもよい。
一方、第3持ち上げ部127は、学習データ格納部121に格納されている学習データに対し、第2持ち上げ部113と同様の処理を実行することにより、(n+p)次元特徴ベクトルのデータを第3データ格納部129に格納する。
そして、変換規則生成部131は、初期値格納部125に格納されているデータ及び第3データ格納部129に格納されているデータを用いて、変換規則Wを生成する。変換規則Wを生成する処理については、図17を用いて説明する。
まず、変換規則生成部131は、変換規則Wの初期値を初期値格納部125から読み出し、また、第3データ格納部129に格納されている(n+p)次元特徴ベクトルのデータを読み出す(図17:ステップS61)。
変換規則生成部131は、ステップS61において読み出したデータ及び所定のアルゴリズムを用いて、変換規則Wを生成する(ステップS63)。所定のアルゴリズムとは、例えば上で示した非特許文献1乃至3に記載されている、超平面が原点を通るものとして計算を実行するアルゴリズムである。生成された変換規則Wは、m行(n+p)列の行列であり、また、m個の超平面の法線ベクトルを行ベクトルとする行列である。
変換規則生成部131は、変換規則Wのデータを規則データ格納部133に格納する(ステップS65)。そして処理を終了する。規則データ格納部133に格納されているデータのフォーマットは、初期値格納部125に格納されているデータのフォーマットと同様である。
以上のような処理を実行すれば、(n+p)次元の特徴ベクトルをm桁のビット列に変換する変換規則Wを生成することができる。
次に、図18及び図19を用いて、検索部135が実行する処理について説明する。
まず、検索部135は、クエリのビット列(すなわち、第1バイナリデータ格納部109に格納されているビット列)を読み出す(図18:ステップS71)。
検索部135は、第2バイナリデータ格納部119に格納されている検索対象のビット列のうち未処理のビット列を1つ特定する(ステップS73)。
検索部135は、クエリのビット列とステップS73において特定されたビット列とのハミング距離を算出し、メインメモリ等の記憶装置に格納する(ステップS75)。
検索部135は、データID及びステップS73において特定されたビット列とハミング距離とを対応付けて検索結果格納部137に格納する(ステップS77)。
検索部135は、未処理のビット列が第2バイナリデータ格納部119に有るか判断する(ステップS79)。未処理のビット列が有る場合(ステップS79:Yesルート)、次のビット列について処理するため、ステップS73の処理に戻る。
一方、未処理のビット列が無い場合(ステップS79:Noルート)、検索部135は、ハミング距離が昇順になるように検索結果格納部137におけるデータID及びビット列を並び替える(ステップS81)。
図19に、ステップS81の処理の後に検索結果格納部137に格納されているデータの一例を示す。図19の例では、データIDと、ビット列と、ハミング距離とが格納されている。
検索部135は、ハミング距離が所定の閾値以下であるビット列のデータIDを特定する(ステップS83)。ステップS83においては、ハミング距離が上位所定数又は上位所定割合であるビット列のデータIDを特定するようにしてもよい。
検索部135は、マッチング処理を実行し(ステップS85)、処理結果をメインメモリ等の記憶装置に格納する。マッチング処理とは、ステップS83において特定されたデータIDに対応するn次元特徴ベクトルとクエリデータ格納部101に格納されているn次元特徴ベクトルとを厳密に比較することにより、一致するn次元特徴ベクトルを探索する処理である。そして、検索部135は、マッチング処理の結果を出力部139に出力させる。そして処理を終了する。
以上のような処理を実行すれば、超平面がオフセットを有するものとして計算を実行するアルゴリズムを利用しなくても、超平面が原点を通るものとして計算を実行した場合と同程度に認証精度を向上させることができるようになる。よって、新たにアルゴリズムを開発せずに済み、また計算量の増加を抑制することができるようになる。
図20に、ビット数と再現率との関係を示す。図20において、横軸はビット数を表し、縦軸は検索の再現率を表している。「Euc」は、特徴ベクトル間のユークリッド距離に基づき検索を実行した場合を示している。そのため、ビット数に関係なく再現率は一定である。「LSH」は、単純にローカリティセンシティブハッシングを利用して検索を実行した場合を示している。「LSH_LIFT」は、本実施の形態の方法を利用して検索を実行した場合を示している。このグラフが示すように、本実施の形態の方法を利用すると、特にビット数が約100以上である場合には、単純にローカリティセンシティブハッシングを利用するよりも再現率が向上している。
図21に、ビット数と適合率との関係を示す。図21において、横軸はビット数を表し、縦軸は検索の適合率を表している。「Euc」は、特徴ベクトル間のユークリッド距離に基づき検索を実行した場合を示している。そのため、ビット数に関係なく適合率は一定である。「LSH」は、単純にローカリティセンシティブハッシングを利用して検索を実行した場合を示している。「LSH_LIFT」は、本実施の形態の方法を利用して検索を実行した場合を示している。再現率と同様に、本実施の形態の方法を利用すると、特にビット数が約100以上である場合には、単純にローカリティセンシティブハッシングを利用するよりも適合率が向上している。
[実施の形態2]
第2の実施の形態においては、設定処理の他の例について説明する。
図22を用いて、第2の実施の形態における設定処理の処理フローを示す。まず、初期化部123は、図示しないデータ格納部等に登録されている複数の(n+p)次元分布から、標準正規分布を特定する(図22:ステップS91)。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数。jは1≦j≦(n+p)を満たす自然数。)の値を、特定された分布から(例えばランダムに)抽出した値に設定する(ステップS93)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
以上のような処理であっても、変換規則Wの初期値を適切な値に設定することができるようになる。
[実施の形態3]
第3の実施の形態においては、設定処理の他の例について説明する。
図23を用いて、第3の実施の形態における設定処理の処理フローを示す。まず、初期化部123は、学習データに第(n+1)成分から第(n+p)成分を追加したデータに対し主成分分析を実行し、各主成分の標準偏差σ(iは1≦j≦(n+p)を満たす自然数)を算出する(図23:ステップS101)。第(n+1)成分から第(n+p)成分に追加する値は、任意の値でよい。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数)の値を、最小値を−σとし、且つ最大値をσとする(n+p)次元の一様分布から(例えばランダムに)抽出した値に設定する(ステップS103)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
以上のような処理であっても、変換規則Wの初期値を適切な値に設定することができるようになる。
[実施の形態4]
第4の実施の形態においては、設定処理の他の例について説明する。
図24を用いて、第4の実施の形態における設定処理の処理フローを示す。まず、初期化部123は、学習データに第(n+1)成分から第(n+p)成分を追加したデータに対し主成分分析を実行し、各主成分の標準偏差σ(iは1≦j≦(n+p)を満たす自然数)を算出する(図24:ステップS111)。第(n+1)成分から第(n+p)成分に追加する値は、任意の値でよい。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数)の値を、平均値を0とし、且つ標準偏差値をσとする(n+p)次元の正規分布から(例えばランダムに)抽出した値に設定する(ステップS113)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
以上のような処理であっても、変換規則Wの初期値を適切な値に設定することができるようになる。
[実施の形態5]
第5の実施の形態においては、設定処理の他の例について説明する。
図25を用いて、第5の実施の形態における設定処理の処理フローを示す。まず、初期化部123は、図示しないデータ格納部等に登録されている複数の(n+p)次元分布{μλλ∈Λの各々について、学習データに第(n+1)成分から第(n+p)成分を追加したデータに対する赤池情報量基準を算出する(図25:ステップS121)。Λは集合を表し、λは集合Λの元である。第(n+1)成分から第(n+p)成分に追加する値は、任意の値でよい。
初期化部123は、複数の(n+p)次元分布{μλλ∈Λの中から、赤池情報量基準が最小となるμλを特定する(ステップS123)。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数。jは1≦j≦(n+p)を満たす自然数。)の値を、ステップS123において特定されたμλから(例えばランダムに)抽出した値に設定する(ステップS125)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
以上のような処理であっても、変換規則Wの初期値を適切な値に設定することができるようになる。
[実施の形態6]
第6の実施の形態においては、設定処理の他の例について説明する。
図26を用いて、第6の実施の形態における設定処理の処理フローを示す。まず、初期化部123は、図示しないデータ格納部等に登録されている複数の(n+p)次元分布{μλλ∈Λの各々について、学習データに第(n+1)成分から第(n+p)成分を追加したデータに対するベイズ情報量基準を算出する(図26:ステップS131)。第(n+1)成分から第(n+p)成分に追加する値は、任意の値でよい。
初期化部123は、複数の(n+p)次元分布{μλλ∈Λの中から、ベイズ情報量基準が最小となるμλを特定する(ステップS133)。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数。jは1≦j≦(n+p)を満たす自然数。)の値を、ステップS133において特定されたμλから(例えばランダムに)抽出した値に設定する(ステップS135)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
以上のような処理であっても、変換規則Wの初期値を適切な値に設定することができるようになる。
[実施の形態7]
第7の実施の形態においては、設定処理の他の例について説明する。
図27を用いて、第7の実施の形態における設定処理の処理フローを示す。まず、初期化部123は、図示しないデータ格納部等に登録されている複数の(n+p)次元分布{μλλ∈Λの各々について、学習データに第(n+1)成分から第(n+p)成分を追加したデータの度数分布から求めた分布に対するカルバックライブラー情報量を算出する(図27:ステップS141)。ここで、「度数分布から求めた分布」とは、各範囲の度数の積分が1になるように正規化した分布のことである。第(n+1)成分から第(n+p)成分に追加する値は、任意の値でよい。
初期化部123は、複数の(n+p)次元分布{μλλ∈Λの中から、カルバックライブラー情報量が最少となるμλを特定する(ステップS143)。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数。jは1≦j≦(n+p)を満たす自然数。)の値を、ステップS143において特定されたμλから(例えばランダムに)抽出した値に設定する(ステップS145)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
以上のような処理であっても、変換規則Wの初期値を適切な値に設定することができるようになる。
[実施の形態8]
第8の実施の形態においては、設定処理の他の例について説明する。
図28に、第8の実施の形態における設定処理の処理フローを示す。まず、初期化部123は、図示しないデータ格納部等に登録されている複数の(n+p)次元分布{μλλ∈Λの各々について、学習データに第(n+1)成分から第(n+p)成分を追加したデータの度数分布から求めた分布に対するジェンセンシャノン情報量を算出する(図28:ステップS151)。ここで、「度数分布から求めた分布」とは、各範囲の度数の積分が1になるように正規化した分布のことである。第(n+1)成分から第(n+p)成分に追加する値は、任意の値でよい。
初期化部123は、複数の(n+p)次元分布{μλλ∈Λの中から、ジェンセンシャノン情報量が最少となるμλを特定する(ステップS153)。
初期化部123は、変換規則Wの各成分wij(iは1≦i≦mを満たす自然数。jは1≦j≦(n+p)を満たす自然数。)の値を、ステップS153において特定されたμλから(例えばランダムに)抽出した値に設定する(ステップS155)。抽出方法については、第9の実施の形態乃至第12の実施の形態において詳細に説明する。そして元の処理に戻る。
以上のような処理であっても、変換規則Wの初期値を適切な値に設定することができるようになる。
[実施の形態9]
設定処理において(n+p)次元分布から値を抽出する場合には、ランダムサンプリングによりm点を抽出し、抽出されたm点の各成分の値を変換規則Wの各成分に設定してもよい。このようにすれば、偏り無く値を設定できるようになる。
[実施の形態10]
設定処理において(n+p)次元分布から値を抽出する場合には、以下のようにしてもよい。まず、(n+p)次元分布から(n+p)個の周辺分布を算出し、(n+p)個の周辺分布の各々から所定のパーセンタイルを求める。そして、求めたパーセンタイルの直積によって点を決定し、その点の各成分の値を変換規則の各成分に設定する。これをm回繰り返す。このような方法であっても、妥当な値を設定できるようになる。
[実施の形態11]
設定処理において(n+p)次元分布(以下、μとする)から値を抽出する場合には、(n+p)次元分布(1−μ)からランダムサンプリングによりm点を抽出し、抽出されたm点の各成分の値を変換規則Wの各成分に設定してもよい。このような方法であっても、偏り無く値を抽出できるようになる。
[実施の形態12]
設定処理において(n+p)次元分布から値を抽出する場合には、以下のようにしてもよい。まず、(n+p)次元分布から(n+p)個の周辺分布μ(iは1≦i≦(n+p)を満たす自然数)を算出し、(1−μ)の各々から所定のパーセンタイルを求める。そして、求めたパーセンタイルの直積によって点を決定し、その点の各成分の値を変換規則の各成分に設定する。これをm回繰り返す。このような方法であっても、妥当な値を設定できるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した認証装置1の機能ブロック構成は実際のプログラムモジュール構成に対応しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べた認証装置1は、コンピュータ装置であって、図29に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る認証方法は、(A)(n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出し、(B)第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成し、当該第1の(n+p)次元特徴ベクトルを、1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換し、(C)データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成し、当該検索対象の(n+p)次元特徴ベクトルを、1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換し、(D)第1のビット列と第2のビット列との距離を算出する処理を含む。
このようにすれば、超平面がオフセットを有するものとして計算を実行するアルゴリズムを利用しなくても、超平面が原点を通るものとして計算を実行した場合と同程度に認証精度を向上させることができるようになる。
また、上で述べた第1のビット列に変換する処理及び第2のビット列に変換する処理において、(b1,c1)第1の(n+p)次元特徴ベクトル及び検索対象の(n+p)次元特徴ベクトルの第(n+1)成分から第(n+p)成分の値は、任意の値であってもよい。上で述べた認証方法は、値の大きさ等に関係なく、認証精度を向上させることができる。
また、(E)第1のビット列と第2のビット列との距離が所定の閾値以下である場合に、第1のn次元特徴ベクトルと第2のビット列に対応する特徴ベクトルとが一致するか判断してもよい。このようにすれば、比較対象の特徴ベクトルを絞り込んだ上で特徴ベクトルが一致するか否かを厳密に判断できるので、計算量を削減できるようになる。
また、上で述べた第1のビット列に変換する処理において、(b2)1又は複数の超平面の法線ベクトルと生成された第1の(n+p)次元特徴ベクトルとの内積を算出し、当該内積により得られるベクトルの各成分の値が正か否かに基づき当該第1の(n+p)次元特徴ベクトルをビット列に変換し、上で述べた第2のビット列に変換する処理において、(c2)1又は複数の超平面の法線ベクトルと生成された検索対象の(n+p)次元特徴ベクトルとの内積を算出し、当該内積により得られるベクトルの各成分の値が正か否かに基づき当該検索対象の(n+p)次元特徴ベクトルをビット列に変換してもよい。内積を利用すれば、特徴ベクトルが表す点と超平面との位置関係がわかるので、位置関係に応じて0又は1を割り当てることができる。よって、上で述べたように、特徴ベクトルをビット列に変換できるようになる。
また、上で述べた法線ベクトルを算出する処理において、(a1)(n+p)次元の初期ベクトルを生成し、(a2)超平面が原点を通るものとして計算を実行するアルゴリズムを用いて、初期ベクトルから法線ベクトルを算出してもよい。このようにすれば、従来のアルゴリズムを利用して超平面の法線ベクトルを算出できるようになる。
また、上で述べた法線ベクトルを算出する処理において、(a3)(n+p)次元の初期ベクトルを生成し、(a4)初期ベクトルが単位ベクトルになるように正規化を実行し、(a5)超平面が原点を通るものとして計算を実行するアルゴリズムを用いて、正規化を実行後の初期ベクトルから法線ベクトルを算出してもよい。正規化を実行すれば、最終的に算出される法線ベクトルの成分の値はより適切になる。
また、上で述べた初期ベクトルを生成する処理において、(a11)初期ベクトルの各成分の値を、最小値を−1とし、最大値を1とする一様分布から抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた初期ベクトルを生成する処理において、(a12)初期ベクトルの各成分の値を、標準正規分布から抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた初期ベクトルを生成する処理において、(a13−1)データ格納部に格納されている特徴ベクトルに対し主成分分析を実行することにより、主成分の標準偏差σを取得し、(a13−2)初期ベクトルの各成分の値を、最小値を−σとし、最大値をσとする一様分布から所定の方法で抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた初期ベクトルを生成する処理において、(a14−1)データ格納部に格納されている特徴ベクトルに対し主成分分析を実行することにより、主成分の標準偏差σを取得し、(a14−2)初期ベクトルの各成分の値を、平均値を0とし、標準偏差をσとする正規分布から所定の方法で抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた初期ベクトルを生成する処理において、(a15−1)複数の分布の各々について、データ格納部に格納されている特徴ベクトルに対する赤池情報量基準を算出し、(a15−2)算出された赤池情報量基準が最小である分布を特定し、(a15−3)初期ベクトルの各成分の値を、特定された分布から所定の方法で抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた初期ベクトルを生成する処理において、(a16−1)複数の分布の各々について、データ格納部に格納されている特徴ベクトルから求めた度数分布に対するベイズ情報量基準を算出し、(a16−2)算出されたベイズ情報量基準が最小である分布を特定し、(a16−3)初期ベクトルの各成分の値を、特定された分布から所定の方法で抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた初期ベクトルを生成する処理において、(a17−1)複数の分布の各々について、データ格納部に格納されている特徴ベクトルから求めた度数分布に対するカルバックライブラー情報量を算出し、(a17−2)算出されたカルバックライブラー情報量が最少である分布を特定し、(a17−3)初期ベクトルの各成分の値を、特定された分布から所定の方法で抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた初期ベクトルを生成する処理において、(a18−1)複数の分布の各々について、データ格納部に格納されている特徴ベクトルから求めた度数分布に対するジェンセンシャノン情報量を算出し、(a18−2)算出されたジェンセンシャノン情報量が最少である分布を特定し、(a18−3)初期ベクトルの各成分の値を、特定された分布から所定の方法で抽出した値に設定してもよい。このようにすれば、初期ベクトルの各成分の値が適切に設定されるようになる。
また、上で述べた所定の方法が、特定された分布からランダムに値を抽出する方法であってもよい。このようにすれば、偏り無く値を抽出できるようになる。
また、上で述べた所定の方法が、特定された分布から(n+p)個の周辺分布を求め、当該(n+p)個の周辺分布の各々から所定のパーセンタイルを特定し、特定された(n+p)個のパーセンタイルの直積により値を抽出する方法であってもよい。このような方法であっても、妥当な値を抽出できるようになる。
また、上で述べた所定の方法が、特定された分布μから分布(1−μ)を求め、当該分布(1−μ)からランダムに値を抽出する方法であってもよい。このような方法であっても、偏り無く値を抽出できるようになる。
また、上で述べた所定の方法が、特定された分布から(n+p)個の周辺分布μ(iは1≦i≦(n+p)を満たす自然数)を求め、(n+p)個の(1−μ)から所定のパーセンタイルを特定し、特定された(n+p)個のパーセンタイルの直積により値を抽出する方法であってもよい。このような方法であっても、妥当な値を抽出できるようになる。
また、上で述べた第1のn次元特徴ベクトル及び検索対象のn次元特徴ベクトルは、生体データから抽出された特徴量を成分とする特徴ベクトルであってもよい。但し、生体データに限られるわけではなく、他のデータから抽出された特徴量であってもよい。
また、上で述べた距離はハミング距離であってもよい。これにより、ビット列間の距離を容易に算出できるようになる。
また、上で述べたpの値は1であってもよい。p=1であれば、計算量が少なくて済む。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ビット列間の距離に基づき認証を行うコンピュータに、
(n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出し、
第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成し、当該第1の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換し、
データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成し、当該検索対象の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換し、
前記第1のビット列と前記第2のビット列との距離を算出する
処理を実行させるための認証プログラム。
(付記2)
前記第1のビット列に変換する処理及び前記第2のビット列に変換する処理において、
前記第1の(n+p)次元特徴ベクトル及び前記検索対象の(n+p)次元特徴ベクトルの第(n+1)成分から第(n+p)成分の値は、任意の値である
ことを特徴とする付記1記載の認証プログラム。
(付記3)
前記第1のビット列と前記第2のビット列との距離が所定の閾値以下である場合に、前記第1のn次元特徴ベクトルと前記第2のビット列に対応する特徴ベクトルとが一致するか判断する
処理をさらに実行させるための付記1又は2記載の認証プログラム。
(付記4)
前記第1のビット列に変換する処理において、
前記1又は複数の超平面の法線ベクトルと生成された前記第1の(n+p)次元特徴ベクトルとの内積を算出し、当該内積により得られるベクトルの各成分の値が正か否かに基づき当該第1の(n+p)次元特徴ベクトルをビット列に変換し、
前記第2のビット列に変換する処理において、
前記1又は複数の超平面の法線ベクトルと生成された前記検索対象の(n+p)次元特徴ベクトルとの内積を算出し、当該内積により得られるベクトルの各成分の値が正か否かに基づき当該検索対象の(n+p)次元特徴ベクトルをビット列に変換する
ことを特徴とする付記1乃至3のいずれか1つ記載の認証プログラム。
(付記5)
前記法線ベクトルを算出する処理において、
(n+p)次元の初期ベクトルを生成し、
前記超平面が原点を通るものとして計算を実行するアルゴリズムを用いて、前記初期ベクトルから前記法線ベクトルを算出する
ことを特徴とする付記1乃至4のいずれか1つ記載の認証プログラム。
(付記6)
前記法線ベクトルを算出する処理において、
(n+p)次元の初期ベクトルを生成し、
前記初期ベクトルが単位ベクトルになるように正規化を実行し、
前記超平面が原点を通るものとして計算を実行するアルゴリズムを用いて、前記正規化を実行後の初期ベクトルから前記法線ベクトルを算出する
ことを特徴とする付記1乃至4のいずれか1つ記載の認証プログラム。
(付記7)
前記初期ベクトルを生成する処理において、
前記初期ベクトルの各成分の値を、最小値を−1とし、最大値を1とする一様分布から抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記8)
前記初期ベクトルを生成する処理において、
前記初期ベクトルの各成分の値を、標準正規分布から抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記9)
前記初期ベクトルを生成する処理において、
前記データ格納部に格納されている特徴ベクトルに対し主成分分析を実行することにより、主成分の標準偏差σを取得し、
前記初期ベクトルの各成分の値を、最小値を−σとし、最大値をσとする一様分布から所定の方法で抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記10)
前記初期ベクトルを生成する処理において、
前記データ格納部に格納されている特徴ベクトルに対し主成分分析を実行することにより、主成分の標準偏差σを取得し、
前記初期ベクトルの各成分の値を、平均値を0とし、標準偏差をσとする正規分布から所定の方法で抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記11)
前記初期ベクトルを生成する処理において、
複数の分布の各々について、前記データ格納部に格納されている特徴ベクトルに対する赤池情報量基準を算出し、
算出された前記赤池情報量基準が最小である分布を特定し、
前記初期ベクトルの各成分の値を、特定された前記分布から所定の方法で抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記12)
前記初期ベクトルを生成する処理において、
複数の分布の各々について、前記データ格納部に格納されている特徴ベクトルに対するベイズ情報量基準を算出し、
算出された前記ベイズ情報量基準が最小である分布を特定し、
前記初期ベクトルの各成分の値を、特定された前記分布から所定の方法で抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記13)
前記初期ベクトルを生成する処理において、
複数の分布の各々について、前記データ格納部に格納されている特徴ベクトルから求めた度数分布に対するカルバックライブラー情報量を算出し、
算出された前記カルバックライブラー情報量が最少である分布を特定し、
前記初期ベクトルの各成分の値を、特定された前記分布から所定の方法で抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記14)
前記初期ベクトルを生成する処理において、
複数の分布の各々について、前記データ格納部に格納されている特徴ベクトルから求めた度数分布に対するジェンセンシャノン情報量を算出し、
算出された前記ジェンセンシャノン情報量が最少である分布を特定し、
前記初期ベクトルの各成分の値を、特定された前記分布から所定の方法で抽出した値に設定する
ことを特徴とする付記5又は6記載の認証プログラム。
(付記15)
前記所定の方法が、特定された前記分布からランダムに値を抽出する方法である
ことを特徴とする付記7乃至14のいずれか1つ記載の認証プログラム。
(付記16)
前記所定の方法が、特定された前記分布から(n+p)個の周辺分布を求め、当該(n+p)個の周辺分布の各々から所定のパーセンタイルを特定し、特定された(n+p)個のパーセンタイルの直積により値を抽出する方法である
ことを特徴とする付記7乃至14のいずれか1つ記載の認証プログラム。
(付記17)
前記所定の方法が、特定された前記分布μから分布(1−μ)を求め、当該分布(1−μ)からランダムに値を抽出する方法である
ことを特徴とする付記7乃至14のいずれか1つ記載の認証プログラム。
(付記18)
前記所定の方法が、特定された前記分布から(n+p)個の周辺分布μ(iは1≦i≦(n+p)を満たす自然数)を求め、(n+p)個の(1−μ)から所定のパーセンタイルを特定し、特定された(n+p)個のパーセンタイルの直積により値を抽出する方法である
ことを特徴とする付記7乃至14のいずれか1つ記載の認証プログラム。
(付記19)
前記第1のn次元特徴ベクトル及び前記検索対象のn次元特徴ベクトルは、生体データから抽出された特徴量を成分とする特徴ベクトルである
ことを特徴とする付記1乃至18のいずれか1つ記載の認証プログラム。
(付記20)
前記距離はハミング距離である
ことを特徴とする付記1乃至19のいずれか1つ記載の認証プログラム。
(付記21)
前記pの値は1である
ことを特徴とする付記1乃至20のいずれか1つ記載の認証プログラム。
(付記22)
ビット列間の距離に基づき認証を行うコンピュータが、
(n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出し、
第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成し、当該第1の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換し、
データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成し、当該検索対象の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換し、
前記第1のビット列と前記第2のビット列との距離を算出する
処理を実行する認証方法。
(付記23)
ビット列間の距離に基づき認証を行う認証装置であって、
検索対象のn次元特徴ベクトルを格納するデータ格納部と、
(n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出する算出部と、
第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成する第1生成部と、
前記データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成する第2生成部と、
前記第1の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換する第1変換部と、
前記検索対象の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換する第2変換部と、
前記第1のビット列と前記第2のビット列との距離を算出する算出部と
を有する認証装置。
1 認証装置 101 クエリデータ格納部
103 第1持ち上げ部 105 第1データ格納部
107 第1変換部 109 第1バイナリデータ格納部
111 検索対象データ格納部 113 第2持ち上げ部
115 第2データ格納部 117 第2変換部
119 第2バイナリデータ格納部 121 学習データ格納部
123 初期化部 125 初期値格納部
127 第3持ち上げ部 129 第3データ格納部
131 変換規則生成部 133 規則データ格納部
135 検索部 137 検索結果格納部
139 出力部

Claims (4)

  1. ビット列間の距離に基づき認証を行うコンピュータに、
    (n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出し、
    第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成し、当該第1の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換し、
    データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成し、当該検索対象の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換し、
    前記第1のビット列と前記第2のビット列との距離を算出する
    処理を実行させるための認証プログラム。
  2. 前記法線ベクトルを算出する処理において、
    (n+p)次元の初期ベクトルを生成し、
    前記超平面が原点を通るものとして計算を実行するアルゴリズムを用いて、前記初期ベクトルから前記法線ベクトルを算出する
    ことを特徴とする請求項1記載の認証プログラム。
  3. ビット列間の距離に基づき認証を行うコンピュータが、
    (n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出し、
    第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成し、当該第1の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換し、
    データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成し、当該検索対象の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換し、
    前記第1のビット列と前記第2のビット列との距離を算出する
    処理を実行する認証方法。
  4. ビット列間の距離に基づき認証を行う認証装置であって、
    検索対象のn次元特徴ベクトルを格納するデータ格納部と、
    (n+p)次元空間(n及びpは自然数)の原点を通る1又は複数の超平面の法線ベクトルを算出する算出部と、
    第1のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより第1の(n+p)次元特徴ベクトルを生成する第1生成部と、
    前記データ格納部に格納されている検索対象のn次元特徴ベクトルに第(n+1)成分から第(n+p)成分を加えることにより検索対象の(n+p)次元特徴ベクトルを生成する第2生成部と、
    前記第1の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第1のビット列に変換する第1変換部と、
    前記検索対象の(n+p)次元特徴ベクトルを、前記1又は複数の超平面の法線ベクトルを用いて第2のビット列に変換する第2変換部と、
    前記第1のビット列と前記第2のビット列との距離を算出する算出部と
    を有する認証装置。
JP2012220740A 2012-10-02 2012-10-02 認証プログラム、認証方法及び認証装置 Active JP5962405B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012220740A JP5962405B2 (ja) 2012-10-02 2012-10-02 認証プログラム、認証方法及び認証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012220740A JP5962405B2 (ja) 2012-10-02 2012-10-02 認証プログラム、認証方法及び認証装置

Publications (2)

Publication Number Publication Date
JP2014074964A JP2014074964A (ja) 2014-04-24
JP5962405B2 true JP5962405B2 (ja) 2016-08-03

Family

ID=50749095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012220740A Active JP5962405B2 (ja) 2012-10-02 2012-10-02 認証プログラム、認証方法及び認証装置

Country Status (1)

Country Link
JP (1) JP5962405B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6461730B2 (ja) * 2015-06-30 2019-01-30 日本電信電話株式会社 判別装置、判別方法、およびプログラム
JP6770237B2 (ja) 2017-03-09 2020-10-14 富士通株式会社 生体認証装置、生体認証方法、及び生体認証プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5323524A (en) * 1976-08-18 1978-03-04 Agency Of Ind Science & Technol Patern recognition unit
JP2011100395A (ja) * 2009-11-09 2011-05-19 Sony Corp 判別装置、判別方法およびプログラム
JP5258915B2 (ja) * 2011-02-28 2013-08-07 株式会社デンソーアイティーラボラトリ 特徴変換装置、それを含む類似情報探索装置、コード化パラメータ生成方法、及びコンピュータ・プログラム

Also Published As

Publication number Publication date
JP2014074964A (ja) 2014-04-24

Similar Documents

Publication Publication Date Title
CN108959246B (zh) 基于改进的注意力机制的答案选择方法、装置和电子设备
Sonnenburg et al. Accurate splice site prediction using support vector machines
Liu et al. Sequential compact code learning for unsupervised image hashing
US10593422B2 (en) Interaction network inference from vector representation of words
JP6879433B2 (ja) 回帰装置、回帰方法、及びプログラム
WO2014136810A1 (ja) 類似データ検索装置、類似データ検索方法、及びコンピュータ読み取り可能な記録媒体
US20150039538A1 (en) Method for processing a large-scale data set, and associated apparatus
JP6004015B2 (ja) 学習方法、情報処理装置および学習プログラム
CN110943981A (zh) 基于层次学习的跨架构漏洞挖掘方法
JP5862413B2 (ja) 情報変換規則生成プログラム、情報変換規則生成装置および情報変換規則生成方法
Nikhath et al. Building a k-nearest neighbor classifier for text categorization
US20220309815A1 (en) Image analysis apparatus, image analysis method, and program
Nguyen et al. Incomplete label multiple instance multiple label learning
JP5962405B2 (ja) 認証プログラム、認証方法及び認証装置
JPWO2015118887A1 (ja) 検索システム、検索方法およびプログラム
Xiao et al. A maximum margin approach for semisupervised ordinal regression clustering
Zhang et al. Code consistent hashing based on information-theoretic criterion
Islam et al. MethEvo: an accurate evolutionary information-based methylation site predictor
CN111783088A (zh) 一种恶意代码家族聚类方法、装置和计算机设备
Paik et al. Malware family prediction with an awareness of label uncertainty
US20230177251A1 (en) Method, device, and system for analyzing unstructured document
JP5533272B2 (ja) データ出力装置、データ出力方法およびデータ出力プログラム
JP2015118464A (ja) 空間分割方法、空間分割装置および空間分割プログラム
JP6740877B2 (ja) 類似度算出プログラム、類似度算出方法、および類似度算出装置
Aghazadeh et al. Rhash: Robust hashing via l∞-norm distortion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R150 Certificate of patent or registration of utility model

Ref document number: 5962405

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150