JP2017162306A - 情報処理装置、類似検索プログラム、及び類似検索方法 - Google Patents

情報処理装置、類似検索プログラム、及び類似検索方法 Download PDF

Info

Publication number
JP2017162306A
JP2017162306A JP2016047524A JP2016047524A JP2017162306A JP 2017162306 A JP2017162306 A JP 2017162306A JP 2016047524 A JP2016047524 A JP 2016047524A JP 2016047524 A JP2016047524 A JP 2016047524A JP 2017162306 A JP2017162306 A JP 2017162306A
Authority
JP
Japan
Prior art keywords
data
hyperplane
normal
record data
way
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.)
Granted
Application number
JP2016047524A
Other languages
English (en)
Other versions
JP6638484B2 (ja
Inventor
唯 野間
Yui Noma
唯 野間
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 JP2016047524A priority Critical patent/JP6638484B2/ja
Priority to US15/426,340 priority patent/US10657183B2/en
Publication of JP2017162306A publication Critical patent/JP2017162306A/ja
Application granted granted Critical
Publication of JP6638484B2 publication Critical patent/JP6638484B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データの取得条件が変化した場合の類似性の判定精度の低下を抑制可能とする。【解決手段】第1算出部16が複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出し、第2算出部18が複数のレコードデータ、及び通常超平面データに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出し、変換部20が通常超平面データ及び一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数のレコードデータをバイナリ列へ各々変換する。【選択図】図19

Description

開示の技術は、情報処理装置、類似検索プログラム、及び類似検索方法に関する。
複数のコンテンツの各特徴量を特徴量空間上に特徴点として分布させ少なくとも2つの群に分類し、各群の全特徴点からの垂直距離が等しい直線又は超平面を求める技術が知られている。この技術では、特徴点が、求めた直線又は超平面により二分された何れの空間側に存在するかに基づいてコンテンツをバイナリ値に変換するハッシュ関数を生成する。
また、複数の学習データの各々について、学習データを生成するために用いた被学習データと、非処理データとの類似度を示す類似度データを生成する技術が知られている。この技術では、生成した類似度データを基に複数の学習データのうちの一部の学習データを選択し、選択した学習データを用いて被処理データに対して機械学習処理を行う。
また、学習用のデータセットに含まれる各特徴量ベクトルからデータペアを生成し、生成したデータペアを用いて特徴量ベクトル空間を分割する超平面を学習する技術が知られている。
特開2013−109479号公報 特開2006−252333号公報 国際公開第2014/118976号
複数の特徴量を含むレコードデータを複数取得してデータベースに予め保存しておき、複数の特徴量を含むクエリデータを取得し、各レコードデータについてクエリデータとの類似度を算出し、類似度が最大のレコードデータを抽出する場合、以下の問題がある。一般に、データ同士の非類似度は特徴量空間上でのデータ同士の距離におよそ対応しており、データ同士の類似度は特徴量空間上でのデータ同士の距離からおよそ判定できる。なお、本明細書では、予めデータベースに保存された被照合対象とする複数の特徴量を含むデータを「レコードデータ」といい、レコードデータとの照合のために取得されて入力された照合対象とする複数の特徴量を含むデータを「クエリデータ」という。
しかしながら、クエリデータの取得時の条件が、レコードデータの取得時の条件から変化することがある。この場合、特徴量空間上でのクエリデータの位置が変化するので、特徴量空間上でのクエリデータと個々のレコードデータとの距離が不均一に変化し、類似性の判定精度が低下する。すなわち、特徴量空間上でのクエリデータとの距離が元々は最短でなかったレコードデータが、クエリデータの位置の変化に伴い、類似度が最大のレコードデータとして誤抽出されることが生じ得る。
開示の技術は、一つの側面として、データの取得条件が変化した場合の類似性の判定精度の低下を抑制可能とすることを目的とする。
開示の技術は、一つの側面として、複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出する。また、複数の前記レコードデータ、及び前記通常超平面データに基づいて、前記特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出する。そして、前記通常超平面データ、及び前記一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数の前記レコードデータを、前記クエリデータと個々の前記レコードデータとの類似性の判定に用いられるバイナリ列へ各々変換する。
一つの側面として、データの取得条件が変化した場合の類似性の判定精度の低下を抑制することができる、という効果を有する。
バイナリ列を用いた非類似度の算出によるレコードデータの絞り込みを説明するための図である。 通常時と乾燥時との特徴ベクトルの違いの一例を示す図である。 通常時と乾燥時との特徴ベクトルの違いによって誤判定が発生する場合を説明するための図である。 特徴ベクトルの移動し易い方向を説明するための図である。 準距離関数の数値パラメータの記憶形式の一例を示す図である。 通常超平面の一例を説明するための図である。 通常超平面データの記憶形式の一例を示す図である。 ハミング距離の算出方法を説明するための図である。 一方通行超平面の一例を説明するための図である。 バイナリ列の変換関数の入出力関係の一例を示す図である。 x、yを入力とした場合の反対称距離の一例を示す図である。 通常超平面と一方通行超平面との違いを説明するための図である。 反対称ハミング距離の算出方法を説明するための図である。 反対称ハミング距離の算出方法を説明するための図である。 2つの一方通行超平面で特徴ベクトル空間を分割した図である。 2つの一方通行超平面で特徴ベクトル空間を分割した場合の各領域間の距離を示す図である。 2つの通常超平面及び2つの一方通行超平面で特徴ベクトル空間を分割した図である。 2つの通常超平面及び2つの一方通行超平面で特徴ベクトル空間を分割した場合の各領域間の距離を示す図である。 実施形態に係る情報処理装置の機能ブロック図である。 実施形態に係る情報処理装置として機能するコンピュータの概略構成を示すブロック図である。 実施形態に係る算出処理の一例を示すフローチャートである。 超平面データの一例を示す図である。 一方通行超平面データの算出処理を説明するための図である。 実施形態に係る選出処理の一例を示すフローチャートである。 変形例に係る超平面データの一例を示す図である。 レコードデータの一例を示す図である。 実施形態に係る照合処理の一例を示すフローチャートである。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、本実施形態では、開示の技術を指紋認証に適用した態様について説明する。
画像データ、音声データ、及びセンサデータ等の非構造データの類似性の判定処理では、データから抽出した複数の特徴量を要素とする特徴ベクトルを用いることが多い。そして、この類似性の判定処理では、特徴ベクトル間の類似度又は非類似度を算出することが多い。
また、クエリデータとレコードデータとの照合において、各データは、データの取得対象が置かれていた環境条件等によって変化する。例えば、画像データであれば照明条件、音声データであれば周囲の騒音及び大気の乾燥度合等によって各データは変化する。また、各データは、データの取得対象の状態によっても変化する。例えば、音声認証であれば喉の健康状態、歩容認証であれば足の健康状態、顔画像認証であれば体調による肌の状態及び気分による表情の状態等によって各データは変化する。
また、これらの変化をデータから抽出した特徴ベクトルの変化として考えると、これらの変化は変化し易い方向と変化し難い方向とがある。すなわち、特徴ベクトル間の類似度又は非類似度を算出して類似性を判定する処理において、特徴ベクトルの変化の方向を考慮せずに類似性を判定すると、類似性の判定精度が低下してしまう場合がある。より具体的には、通常状態時に取得される特徴ベクトルをx、通常状態から変化し易い状態で取得される特徴ベクトルをy、通常状態から変化し難い状態で取得される特徴ベクトルをzとする。この場合、xとyとの類似性と、xとzとの類似性とを同等に扱った場合には、類似性の判定精度が低下する場合がある。
ところで、指紋を撮影して得られた画像データから特徴ベクトルを算出して指紋認証に用いる場合、特徴ベクトルは10次元から1000次元程度の高次元のベクトルが必要になることが多い。この場合、クエリデータの特徴ベクトルと、多数のレコードデータの特徴ベクトルとの類似度を算出する処理には多大な時間がかかってしまう場合が多い。
また、高次元の特徴ベクトル間の類似性の判定処理について、処理を高速化する手法として、特徴ベクトルをバイナリ列へ変換する手法が知られている(参考文献1参照)。この手法では、特徴ベクトル間の非類似度として、変換したバイナリ列間のハミング距離を算出する。なお、ここで言う非類似度とは、非類似度が低いほど(すなわち、ハミング距離が小さいほど)類似していることを意味する。
[参考文献1]A.Torralba, R.Fergus, and Y.Weiss,“Small codes and large databases for recognition”, In CVPR, 2008.
そこで、本実施形態では、クエリデータ及びレコードデータの特徴ベクトルを各々バイナリ列に変換し、変換したバイナリ列間の非類似度を算出する。そして、図1に示すように、レコードデータR1から、算出した非類似度の昇順に所定数(図1ではk件)のレコードデータR2を抽出する。さらに、本実施形態では、個々のレコードデータR2とクエリデータとの類似度を算出する。このように、本実施形態では、処理が比較的高速なバイナリ列間の非類似度の算出によってレコードデータR1を所定数のレコードデータR2に絞り込む。そして、絞り込んだ個々のレコードデータR2に対して、処理に比較的時間がかかるクエリデータとの類似度の算出処理を行い、類似度が最大のレコードデータR3の類似度が所定値以上の場合に、照合結果が正常であるものとする。
ところで、指紋認証では、指紋を撮影して得られた画像データから算出した特徴ベクトルは、環境条件等によって変化する。一例として図2に示すように、同一人物の同一の指先を撮影して得られた画像データから特徴ベクトルを算出する場合であっても、撮影時の湿度が通常の場合(通常時)と乾燥している場合(乾燥時)とでは特徴ベクトルが変化する。なお、図2は、特徴ベクトル空間(開示の技術の特徴量空間)上に、異なる2つの指紋に対応する特徴ベクトルの各々について、通常時及び乾燥時の各々の特徴ベクトルをマッピングした模式図であり、丸が通常時、四角が乾燥時の特徴ベクトルを表す。
ここで、図3を参照して、例えば通常時に指紋を撮影して得られた画像データから特徴ベクトルを算出してレコードデータとして保存し、乾燥時に指紋を撮影して得られた画像データから特徴ベクトルを算出してクエリデータとした場合について説明する。なお、図3では、照合対象とするクエリデータの特徴ベクトル、及び該クエリデータに対応するレコードデータの特徴ベクトルを網掛けして示している。この場合、一例として図3に示すように、クエリデータは、クエリデータの取得対象の通常時のレコードデータより、他者の通常時のレコードデータの方が類似していると判定されてしまうことがある。この結果、上記所定数のレコードデータを抽出する際に、クエリデータに対応するレコードデータが抽出されない場合がある。そこで、本実施形態では、一例として図4の太い矢印で示すように、特徴ベクトルが変化し易い方向を考慮して、上記非類似度を算出する。
次に、本実施形態で用いる技術について説明する。
まず、特徴ベクトル間の距離について説明する。特徴ベクトル間の非類似度を表す距離は、任意の集合S上で次の(A)から(D)までの4つの公理を満たす関数dである。
(A)d(x[v],y[v])≧0 for x[v],y[v]∈S
(B)d(x[v],y[v])=0 ⇒ x[v]=y[v]
(C)d(x[v],y[v])=d(y[v],x[v])
(D)d(x[v],y[v])≦d(x[v],z[v])+d(z[v],y[v])
なお、x[v]、y[v]のように、末尾に[v]を付与した文字は、以下の数式内では、文字(xやy)の上に矢印(→)を付した記号で表しており、ベクトルであることを示す。
距離の一例としてはユークリッド距離が挙げられ、2つの特徴ベクトルx[v](x、x、x)、y[v](y、y、y)間のユークリッド距離Eucは、次の(1)式で求められる。
Figure 2017162306
また、特徴ベクトル間の非類似度として準距離(quasi metric)を用いることが考えられる。準距離は、上記の距離から距離の公理における対称性の公理(上記(C))を除いたものであり、以下の(a)から(c)までの3つの公理を満たす関数dである。なお、(a)、(b)が準距離の正定値性である。
(a)d(x[v],y[v])≧0 for x[v],y[v]∈S
(b)d(x[v],y[v])=0 ⇒ x[v]=y[v]
(c)d(x[v],y[v])≦d(x[v],z[v])+d(z[v],y[v])
例えば、坂道の上に位置する住宅と坂道の下に位置する駅とを往復する場合、行きと帰りとで移動に費やされる時間は異なる。この場合の時間が準距離の一例に相当する。準距離は、次の(2)式、(3)式を用いて対称化及び反対称化が行える。
Figure 2017162306
symが準距離の対称成分であり、dasymが準距離の反対称成分である。対称成分dsymは前述した距離の公理を満たす。すなわち、準距離は、特徴ベクトルの変化し易い方向又は変化し難い方向に影響を与える「風」や「重力」のようなものが特徴ベクトル空間に存在するときの対称成分の成す距離における移動コストを表しているとも言える(参考文献2参照)。従って、特徴ベクトル間の非類似度として準距離を用いることで、特徴ベクトルの変化し易い方向又は変化し難い方向を考慮した非類似度を算出することができる。準距離の関数の一例としては、次の(4)式で示す関数dが挙げられる。
[参考文献2]S.S.Chern, W.H.Chen, K.S.Lam,“Lectures on Differential Geometry”, 1999.
Figure 2017162306
(4)式において、ω、ω、ωは数値パラメータである。準距離関数dは、プログラムの中では、内部にパラメータを持つ関数オブジェクトとして定義され、データベース上には、一例として図5に示すように、準距離関数dの識別子毎に数値パラメータが記憶される。
次に、超平面を用いた特徴ベクトルのバイナリ列への変換について説明する。特徴ベクトルは、浮動小数点数の固定長の列として表され、列の長さが特徴ベクトルの次元数となる。特徴ベクトルをx[v]とした場合に、超平面の法線ベクトルn[v]、オフセットをdとすると、超平面の方程式は、次の(5)式で表される。
Figure 2017162306
この超平面を用いて特徴ベクトル空間を分割し、特徴ベクトル空間に存在する各特徴ベクトルx[v]にバイナリ値を付与することは、次の(6)式を計算することと同じである。
Figure 2017162306
上記(6)式を用いて特徴ベクトルx[v]にバイナリ値を付与することを幾何学的に示すと、一例として図6に示すようになる。なお、図6では、特徴ベクトルx[v]に「1」が付与される場合について示している。
例えば、超平面がB個あるとして、各超平面を用いて特徴ベクトルx[v]に0又は1を付与することで、特徴ベクトルx[v]に対して長さがBのバイナリ列を生成することができる。以下では、生成したバイナリ列をb[v]と表す。バイナリ列b[v](x[v])のi番目のビットをb[v](x[v])と表すと、バイナリ列b[v](x[v])は、次の(7)式で表される。
Figure 2017162306
そして、i番目の超平面の法線ベクトルをn(i)[v]、オフセットをd(i)とすると、i番目のビットb[v](x[v])は次の(8)式で求められる。
Figure 2017162306
以下では、このb[v]を、超平面を用いたバイナリ列への変換関数という。プログラム上では、超平面は「法線ベクトル」及び「オフセット」に各々対応する数値が与えられれば良い。従って、超平面を表す超平面データは、一例として図7に示すように、超平面毎に、超平面を識別する識別子、法線ベクトル、及びオフセットが格納される。
なお、以下では、錯綜を回避するために、「法線ベクトル」と「オフセット」とを合わせて「法線ベクトル」という。また、以下では、以上説明した超平面を後述する一方通行超平面と区別するために「通常超平面」という。
次に、バイナリ列間のハミング距離について説明する。2つバイナリ列c[v]、c[v]間のハミング距離Hammは、バイナリ列内の対応するビット同士の排他的論理和の1の数で求められ、次の(9)式で求められる。(9)式において、popcはバイナリ列内の1の数を数えるポピュレーションカウント関数である。
Figure 2017162306
例えば、バイナリ列「00111011」と「01101110」のハミング距離は、図8に示すように、「4」となる。特徴ベクトルx[v]、y[v]間の非類似度Simは、変換関数b[v]及びハミング距離Hammを用いて次の(10)式で表される。
Figure 2017162306
次に本実施形態で用いる一方通行超平面について説明する。一方通行超平面とは、一方通行超平面で特徴ベクトル空間を分割した場合、分割した一方の領域と他方の領域との距離が反対称性を有する超平面である。なお、ここで言う距離の反対称性とは、一方の領域を始点とし、他方の領域を終点とした場合の距離と、他方の領域を始点とし、一方の領域を終点とした場合の距離とが異なる性質を意味する。また、距離の対称性とは、一方の領域を始点とし、他方の領域を終点とした場合の距離と、他方の領域を始点とし、一方の領域を終点とした場合の距離とが同じである性質を意味する。以下、一方通行超平面について詳細に説明する。一方通行超平面の方程式は、法線ベクトルn[v]、及びオフセットdを用いて次の(11)式で表される。
Figure 2017162306
また、一方通行超平面を用いたバイナリ列への変換関数b[v]は次の(12)式で表される。
Figure 2017162306
一例として図9に示すように、一方通行超平面Hで分割された2つの領域に存在する特徴ベクトルa1、a2、q1、q2について説明する。
各特徴ベクトルa1、a2、q1、q2を入力とした場合の変換関数b[v]の出力は、図10に示すようになる。
また、図11に示すように、各特徴ベクトルa1、a2、q1、q2について、b[v](x[v])・NOT(b[v](y[v]))を計算する。図11に示すように、b[v](x[v])・NOT(b[v](y[v]))を特徴ベクトル間の非類似度として用いた場合、q1からa1及びa2への距離は0となる。また、この場合、q2からa2への距離は0、q2からa1への距離は1となる。すなわち、図9に示す一方通行超平面Hの左の領域から右の領域への通過にはコストがかからないが、右の領域から左の領域への通過にはコストがかかることになる。
図12に示すように、前述したハミング距離ではq1、q2からは実線の矢印が示す対象までしか距離が0で到達できなかった。これに対し、b[v](x[v])・NOT(b[v](y[v]))を用いるとq1、q2から破線の矢印が示す対象まで距離が0で到達できることになる。このように一方通行超平面は一方通行のような挙動を示す。
例えば、一方通行超平面がB個あるとして、各一方通行超平面を用いて特徴ベクトルx[v]に0又は1を付与することで、特徴ベクトルx[v]に対して長さがBのバイナリ列を生成することができる。
例えば、クエリデータの特徴ベクトルq[v]が変換されたバイナリ列b[v](q[v])が「00111011」で、レコードデータの特徴ベクトルr[v]が変換されたバイナリ列b[v](q[v])が「01101100」の場合について考える。この場合、前述した非類似度の反対称成分は、図13に示すように「3」となる。
逆に、クエリデータの特徴ベクトルq[v]が変換されたバイナリ列b[v](q[v])が「01101100」で、レコードデータの特徴ベクトルr[v]が変換されたバイナリ列b[v](r[v])が「00111011」の場合について考える。この場合、前述した非類似度の反対称成分は、図14に示すように「2」となる。
上記の非類似度を反対称ハミング距離QHammとして、2つバイナリ列c[v]、c[v]間の反対称ハミング距離QHammを次に示す(13)式で定義する。
Figure 2017162306
一例として図15に示すように、特徴ベクトル空間を、2つの一方通行超平面H1、H2を用いて4つの領域A、B、C、Dに分割した場合の各領域間の距離を説明する。各一方通行超平面H1、H2で分割された一方の領域と他方の領域との距離は、各々法線ベクトルn[v]の方向に見た場合と、逆方向に見た場合とで異なる。
例えば、領域Aの任意の点を始点とし、領域Bの任意の点を終点とした場合の2点間の距離は「0」である。また、領域Aの任意の点を始点とし、領域Cの任意の点を終点とした場合の2点間の距離も「0」である。また、領域Aの任意の点を始点とし、領域Dの任意の点を終点とした場合の2点間の距離も「0」である。
これに対し、例えば、領域Dの任意の点を始点とし、領域Aの任意の点を終点とした場合の2点間の距離は「2」である。また、領域Dの任意の点を始点とし、領域Bの任意の点を終点とした場合の2点間の距離は「1」である。また、領域Dの任意の点を始点とし、領域Cの任意の点を終点とした場合の2点間の距離は「1」である。従って、各領域の任意の2点間の距離は図16に示すようになる。例えば、図16の1行目は、領域Aの任意の点を始点とし、領域Aから領域Dまでの各領域の任意の点を終点とした場合の2点間の距離を示している。
ここで、領域Aの任意の点を始点とし、領域Dの任意の点を終点とした場合の距離が「0」であることは、2点間の距離が「0」である場合は2点が同じ位置に位置する、という準距離の正定値性を大きく崩すことになってしまう。これにより、特徴ベクトル間の非類似度として、一方通行超平面のみを用いて近似した準距離を用いる場合には、類似性の判定精度も大きく低下してしまう。
そこで、本実施形態では、通常超平面と一方通行超平面とを対応させて設け、一方通行超平面を用いて非類似度の反対称成分を算出し、通常超平面を用いて非類似度の対称成分を算出することで、準距離の近似を行う。一例として図17に、通常超平面H1、H2と一方通行超平面H1、H2とが同じ位置に重なるように対応させて配置した例を示す。なお、図17では図示の都合上、通常超平面H1、H2の位置と一方通行超平面H1、H2の位置とを若干ずらして図示している。
図17に示す例では、領域Aの任意の点を始点とし、領域Dの任意の点を終点とした場合の距離は、通常超平面を通過した場合の距離である「2」と、一方通行超平面を通過した場合の距離である「0」との和から「2」となる。従って、各領域の任意の2点間の距離は、図18に示すようになる。図18に示すように、通常超平面H1、H2及び一方通行超平面H1、H2を用いることで、一方通行超平面H1、H2のみを用いる場合に比較して、準距離の正定値性が維持される。これにより、類似性の判定精度の低下も抑制される。
なお、一方通行超平面は通常超平面に対応して設けられるが、通常超平面は一方通行超平面に対応して設けられなくてもよい。また、一方通行超平面及び通常超平面は1つの位置に複数設けられてもよいし、同じ位置の一方通行超平面の数と通常超平面の数とは同じでなくてもよい。
次に、図19を参照して、本実施形態に係る情報処理装置10の構成を説明する。図19に示すように、情報処理装置10は、受付部12、抽出部14、第1算出部16、第2算出部18、変換部20、出力部26、及び記憶部30を含んでいる。変換部20は、第1変換部22及び第2変換部24を含んでいる。出力部26は、第1出力部28及び第2出力部29を含んでいる。記憶部30は、レコードデータ32及び超平面データ34を記憶する。超平面データ34は、通常超平面データ36及び一方通行超平面データ38を含んでいる。
受付部12は、指紋の登録指示、及び登録対象とする指紋を撮影して得られた画像データを受け付ける。受付部12は、受け付けた画像データから特徴ベクトルを算出し、算出した特徴ベクトルと、特徴ベクトルを一意に識別するデータ識別子とを記憶部30のレコードデータ32に記憶する。本実施形態では、受付部12は、一例として、画像データに対してフーリエ変換、及び極座標変換を行い、3次元の特徴ベクトルを算出する。なお、特徴ベクトルの算出手法については、公知の手法を用いればよいため、ここでの詳細な説明を省略する。また、特徴ベクトルの次元数は3次元に限定されず、2次元でも4次元以上でもよい。
レコードデータ32は、一例として図26に示すように、データ識別子、特徴ベクトル、バイナリ列b、及びバイナリ列bの記憶領域を含んでいる。なお、バイナリ列b、及びバイナリ列bについては後述する。
また、受付部12は、学習指示を受け付けて抽出部14へ出力する。また、受付部12は、照合指示を受け付けると共に、クエリデータとして、照合対象とする指紋を撮影して得られた画像データを受け付ける。そして、受付部12は、受け付けた画像データから特徴ベクトルを算出し、算出した特徴ベクトルを第2変換部24及び第2出力部29へ出力し、かつ照合指示を抽出部14へ出力する。また、受付部12は、4つの整数の数値パラメータNL、Nq、B、Bqを受け付け、NL、Nqを抽出部14に出力し、Bを第1算出部16に出力し、Bqを第2算出部18に出力する。
抽出部14は、受付部12から学習指示が入力されると、通常超平面の学習用データとして、レコードデータ32から所定数のレコードデータ(以下、「第1学習用データ」という)を抽出し、抽出した第1学習用データを第1算出部16に出力する。本実施形態では、抽出部14は、受付部12から入力されたNLの個数分の第1学習用データをレコードデータ32から抽出する。
さらに、抽出部14は、一方通行超平面の学習用データとして、レコードデータ32から所定数のレコードデータ(以下、「第2学習用データ」という)も抽出し、抽出した第2学習用データを第2算出部18に出力する。本実施形態では、抽出部14は、受付部12から入力されたNqの個数分の第2学習用データをレコードデータ32から抽出する。
また、抽出部14は、受付部12から照合指示が入力されると、レコードデータ32からクエリデータとの類似性の判定に用いる複数のレコードデータ(以下、「照合用データ」という)を抽出し、抽出した照合用データを第1出力部28に出力する。
第1算出部16は、抽出部14から入力された第1学習用データを用いて、特徴ベクトル空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出する。本実施形態では、第1算出部16は、例えば下記の参考文献3、4等に記載の手法によって、第1学習用データを用いて通常超平面の位置を学習し、通常超平面を表す通常超平面データを算出する。なお、本実施形態では、第1算出部16は、受付部12から入力されたBの個数分の通常超平面データを算出する。
[参考文献3]B.Kulis and T. Darrell,“Learning to Hash with Binary Reconstructive Embeddings”, In NIPS 22, 2009.
[参考文献4]M.Norouzi, D.J.Fleet, and R.Salakhutdinov,“Hamming Distance Metric Learning”, In NIPS 25, 2012.
そして、第1算出部16は、算出した通常超平面データを記憶部30の通常超平面データ36に記憶する。この際、第1算出部16は、超平面を一意に識別する超平面識別子及び超平面の種別も記憶部30の通常超平面データ36に記憶する。さらに、第1算出部16は、算出した通常超平面データを第2算出部18及び第1変換部22に出力する。通常超平面データ36を含む超平面データ34は、一例として図22に示すように、超平面識別子、種別、法線ベクトル、及びオフセットの記憶領域を含んでいる。なお、種別が「N」のレコードは通常超平面であることを示し、種別が「Q」のレコードは一方通行超平面であることを示している。
第2算出部18は、第2学習用データ及び第1算出部16から入力された通常超平面データを用いて、一方通行超平面データを算出する。この一方通行超平面データは、特徴ベクトル空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表すデータである。本実施形態では、第2算出部18は、一方通行超平面が、特徴ベクトル空間上で通常超平面データを表す通常超平面と重なるように(すなわち、同じ位置に位置するように)一方通行超平面データを算出する。なお、特徴ベクトル空間上で通常超平面と一方通行超平面とが重なるとは、通常超平面の法線ベクトル及びオフセットと一方通行超平面の法線ベクトル及びオフセットとが一致することを意味する。または、特徴ベクトル空間上で通常超平面と一方通行超平面とが重なるとは、通常超平面の法線ベクトルの各要素並びにオフセットと一方通行超平面の法線ベクトルの各要素並びにオフセットとの正負の符号が逆であること以外は一致することを意味する。
また、本実施形態では、第2算出部18は、通常超平面データが表す通常超平面で特徴ベクトル空間を一対の領域に分割したときに、異なる領域に位置するレコードデータ32の対の特徴ベクトル空間での準距離の反対称成分を算出する。そして、レコードデータ32の対の複数の組み合わせについて積算することを、個々の通常超平面について各々行い、個々の通常超平面に対応する準距離の反対称成分の積算値に基づいて、一方通行超平面の数及び方向を各々決定する。
具体的には、第2算出部18は、政党名簿比例代表制の議席決定方式を用いて一方通行超平面の数を決定する。特に、本実施形態では、第2算出部18は、政党名簿比例代表制の議席決定方式としてドント方式を用いて一方通行超平面の数を決定する。
第2算出部18は、上記議席決定方式を用いる際、第1算出部16で算出された通常超平面データを表す通常超平面の各々について、次に示す処理を行う。第2算出部18は、通常超平面で特徴ベクトル空間を分割した際の一方の領域に存在するレコードデータ32の特徴ベクトルと他方の領域に存在するレコードデータ32の特徴ベクトルとの組み合わせの各対について準距離の反対称成分を算出する。また、第2算出部18は、算出した準距離の反対称成分の和の絶対値を通常超平面の得票数として、各通常超平面に議席を割り当てる。そして、第2算出部18は、割り当てた議席数を通常超平面に対応する一方通行超平面の数とする。なお、本実施形態では、第2算出部16は、受付部12から入力されたBqを用いて、一方通行超平面データを算出する。
そして、第2算出部18は、算出した一方通行超平面データを記憶部30の一方通行超平面データ38に記憶する(図22も参照)。この際、第2算出部18は、超平面識別子及び超平面の種別も記憶部30の一方通行超平面データ38に記憶する(図22も参照)。さらに、第2算出部18は、算出した一方通行超平面データを第1変換部22に出力する。
第1変換部22は、第1算出部16から通常超平面データが入力され、かつ第2算出部18から一方通行超平面データが入力されると、レコードデータ32から複数のレコードデータを抽出する。第1変換部22は、入力された通常超平面データを用いて、抽出した各レコードデータに記憶された特徴ベクトルを第1のバイナリ列bへ変換する。そして、第1変換部22は、レコードデータ32の抽出した各レコードデータのバイナリ列bへ、変換したバイナリ列bを記憶する(図26も参照)。
また、第1変換部22は、入力された一方通行超平面データを用いて、抽出した各レコードデータに記憶された特徴ベクトルを第2のバイナリ列bへ変換する。そして、第1変換部22は、レコードデータ32の抽出した各レコードデータのバイナリ列bへ、変換したバイナリ列bを記憶する(図26も参照)。
第2変換部24は、受付部12からクエリデータに対応する特徴ベクトルが入力されると、通常超平面データ36から通常超平面データを取得し、一方通行超平面データ38から一方通行超平面データを取得する。第2変換部24は、第1変換部22と同様に、通常超平面データを用いて特徴ベクトルを第1のバイナリ列bへ変換する。また、第2変換部24は、第1変換部22と同様に、一方通行超平面データを用いて特徴ベクトルを第2のバイナリ列bへ変換する。そして、第2変換部24は、変換したバイナリ列b及びバイナリ列bを第1出力部28に出力する。
第1出力部28は、抽出部14から照合用データが入力され、かつ第2変換部24からバイナリ列b及びバイナリ列bが入力されると、次に示す処理を行う。第1出力部28は、第2変換部24から入力されたバイナリ列bと、照合用データの各レコードデータに記憶されたバイナリ列bとの非類似度を算出する。また、第1出力部28は、第2変換部24から入力されたバイナリ列bと、照合用データの各レコードデータに記憶されたバイナリ列bとの非類似度を算出する。そして、第1出力部28は、算出した2つの非類似度の和の昇順に所定数分のレコードデータを第2出力部29へ出力する。
第2出力部29は、受付部12からクエリデータに対応する特徴ベクトルが入力され、かつ第1出力部28から所定数分のレコードデータが入力されると、次に示す処理を行う。第2出力部29は、入力された特徴ベクトルと、各レコードデータに記憶された特徴ベクトルとの間の類似度を算出し、算出した類似度の最大値が所定値以上だった場合は、指紋の照合結果として正常であることを示す情報を出力する。また、第2出力部29は、算出した類似度の最大値が所定値未満だった場合は、指紋の照合結果として異常であることを示す情報を出力する。なお、入力された特徴ベクトルと、各レコードデータに記憶された特徴ベクトルとの間の類似度を算出する処理は、公知の手法を用いればよいため、ここでの詳細な説明を省略する。
情報処理装置10は、例えば図20に示すコンピュータ60で実現することができる。コンピュータ60はCentral Processing Unit(CPU)61、一時記憶領域としてのメモリ62、及び不揮発性の記憶部63を備えている。また、コンピュータ60は、指紋が押し付けられ、かつ押し付けられた指紋を撮影して画像データを入力する第1入力部、ユーザが各種指示を入力する第2入力部、及び表示部等を含む入出力装置64を備えている。また、コンピュータ60は、記録媒体68に対するデータの読み込みと書き込みとを制御するR/W部65、及びネットワークに接続されるネットワークI/F66を備えている。CPU61、メモリ62、記憶部63、入出力装置64、R/W部65、及びネットワークI/F66は、バス67を介して互いに接続されている。
記憶部63は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部63には、コンピュータ60を情報処理装置10として機能させるための類似検索プログラム70が記憶される。類似検索プログラム70は、受付プロセス71、抽出プロセス72、第1算出プロセス73、第2算出プロセス74、第1変換プロセス75、第2変換プロセス76、第1出力プロセス77、及び第2出力プロセス78を有する。また、記憶部63は、記憶部30として機能する情報記憶領域79を有する。
CPU61は、類似検索プログラム70を記憶部63から読み出してメモリ62に展開し、類似検索プログラム70が有するプロセスを実行する。CPU61は、受付プロセス71を実行することで、図19に示す受付部12として動作する。CPU61は、抽出プロセス72を実行することで、図19に示す抽出部14として動作する。CPU61は、第1算出プロセス73を実行することで、図19に示す第1算出部16として動作する。CPU61は、第2算出プロセス74を実行することで、図19に示す第2算出部18として動作する。CPU61は、第1変換プロセス75を実行することで、図19に示す第1変換部22として動作する。CPU61は、第2変換プロセス76を実行することで、図19に示す第2変換部24として動作する。CPU61は、第1出力プロセス77を実行することで、図19に示す第1出力部28として動作する。CPU61は、第2出力プロセス78を実行することで、図19に示す第2出力部29として動作する。これにより、類似検索プログラム70を実行したコンピュータ60が、情報処理装置10として機能することになる。
また、類似検索プログラム70により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、本実施形態に係る情報処理装置10の作用を説明する。情報処理装置10が類似検索プログラム70を実行することで、図21に示す算出処理及び図27に示す照合処理を実行する。なお、本実施形態では、受付部12により登録指示が受け付けられ、特徴ベクトルが記憶され、バイナリ列b及びバイナリ列bが記憶されていない所定数のレコードデータがレコードデータ32に記憶されているものとして説明する。また、図21に示す算出処理は、情報処理装置10のユーザにより入出力装置64の第2入力部を介して実行開始の指示が入力された場合等に実行が開始される。また、図27に示す照合処理は、入出力装置64の第1入力部を介して照合対象とする指紋を撮影して得られた画像データが入力された場合等に実行が開始される。
図21に示す算出処理のステップ100で、受付部12は4つの数値パラメータNL、Nq、B、Bqの受け付け待ちを行う。受付部12が数値パラメータNL、Nq、B、Bqを受け付けるとステップ100が肯定判定となり、処理はステップ102に移行する。次のステップ102で、抽出部14は、レコードデータ32からNL個のレコードデータを第1学習用データとして抽出する。なお、数値パラメータNLが指定されなかった場合は、抽出部14は、全レコードデータ32を第1学習用データとして取得してもよい。また、この場合、抽出部14は、レコードデータ32のうち、バイナリ列b及びバイナリ列bが記憶されていない全レコードデータを第1学習用データとして抽出してもよい。
次のステップ104で、第1算出部16は、ステップ102で抽出された第1学習用データを用いて、B個の通常超平面データを算出し、算出したB個の通常超平面データを記憶部30の通常超平面データ36に記憶する。一例として図22に示すように、本ステップ104の処理で通常超平面データ36が記憶される。
次のステップ106からステップ112までの処理は、ステップ104で算出された各超平面データについて、1つの超平面データに対して処理を実行する毎に変数iを1からBまで1ずつインクリメントしながら繰り返し実行される。ステップ106で、抽出部14は、レコードデータ32から、上記(8)式に従って、b[v](x[v])が0となる特徴ベクトルをNq個抽出し、集合S0とする。
次のステップ108で、抽出部14は、レコードデータ32から、上記(8)式に従って、b[v](x[v])が1となる特徴ベクトルをNq個抽出し、集合S1とする。次のステップ110で、第2算出部18は、ステップ106で抽出された集合S0の元(要素)とステップ108で抽出された集合S1との元の全ての対の組み合わせについて、上記(3)式に従って、準距離の反対称成分を算出する。そして、第2算出部18は、算出した反対称成分の和Fを算出する。
次のステップ112で、第2算出部18は、上記全ての対の組み合わせについて、上記(2)式に従って準距離の対称成分を算出する。また、第2算出部18は、上記全ての対の組み合わせについて、ステップ110で算出した反対称成分の絶対値を、算出した対称成分で除算した値を算出し、算出した値の算術平均値Aを算出する。本ステップ112で算出された算術平均値Aは、一例として図23の矢印Yに示すように、通常超平面Hで分割された2つの領域間の準距離の反対称成分の強さを表す値となる。また、図23の矢印Yの方向が、特徴ベクトルの移動し易い方向に対応する。
ステップ114で、図24に示す選出処理が実行される。図24に示す選出処理のステップ140で、第2算出部18は、変数g(i=1〜B)を1に設定する。次のステップ142で、第2算出部18は、gから1を減算したg−1(i=1〜B)の和が、ステップ100で受け付けられたBq未満であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップ144に移行する。
ステップ144で、第2算出部18は、ステップ110で算出された和の絶対値|F|をgで除算した|F|/gが最も小さいgを選択し、選択したgに1を加算した後、処理はステップ142に戻る。一方、ステップ142の判定が否定判定となった場合は、選出処理を終了し、処理は図21のステップ116に戻る。
ステップ116で、第2算出部18は、ステップ104で算出されたi番目の通常超平面データを、ステップ114で算出されたg個コピーしたデータを一方通行超平面データとして算出する。この際、第2算出部18は、ステップ110で算出された和Fが負の値である場合は、コピーしたデータの法線ベクトルを反転させる。そして、第2算出部18は、算出した一方通行超平面データを記憶部30の一方通行超平面データ38に記憶する(図22も参照)。
図22では、超平面識別子が001の通常超平面データが1個コピーされて超平面識別子が003の一方通行超平面データが算出された例を示している。また、図22では、超平面識別子が002の通常超平面データが1個コピーされて、かつ法線ベクトルが反転されて、超平面識別子が004の一方通行超平面データが算出された例を示している。なお、通常超平面データ及び一方通行超平面データの記憶形式は、図22に示す例に限定されない。本実施形態では、通常超平面と一方通行超平面は同じ位置に配置されるため、一例として図25に示すように、通常超平面データに一方通行超平面数を追加する記憶形式としてもよい。図25において、一方通行超平面数が負の数になっている一方通行超平面は、通常超平面とは法線ベクトルの向きが逆向きになっていることを示している。
次のステップ118で、第2算出部18は、ステップ112で算出した算術平均値A(i=1〜B)の算術平均値Aを算出する。次のステップ120で、第1変換部22は、レコードデータ32からバイナリ列bが未格納のレコードデータを抽出する。また、第1変換部22は、抽出したレコードデータに記憶された特徴ベクトルを、ステップ104で算出された通常超平面データを用いたバイナリ列への変換関数b[v]に従って、バイナリ列bへ変換する((8)式参照)。そして、第1変換部22は、変換して得られたバイナリ列bをレコードデータ32のバイナリ列bに記憶する。
なお、第1変換部22は、バイナリ列bが既に記憶されているレコードデータ32についても、特徴ベクトルをバイナリ列bに変換してレコードデータ32のバイナリ列bを更新してもよい。
次のステップ122で、第2変換部24は、レコードデータ32からバイナリ列bが未格納のレコードデータを抽出する。また、第2変換部24は、抽出したレコードデータに記憶された特徴ベクトルを、ステップ116で算出された一方通行超平面データを用いたバイナリ列への変換関数b[v]に従って、バイナリ列bへ変換する((12)式参照)。そして、第2変換部24は、変換して得られたバイナリ列bをレコードデータ32のバイナリ列bに記憶する。
なお、第2変換部24は、バイナリ列bが既に記憶されているレコードデータ32についても、特徴ベクトルをバイナリ列bに変換してレコードデータ32のバイナリ列bを更新してもよい。
上記ステップ120及び122の処理により、一例として図26に示すように、レコードデータ32の各レコードに対して、バイナリ列b及びバイナリ列bが算出されて記憶される。なお、図26では、一例として、4つの通常超平面を用いて特徴ベクトルをバイナリ列bに変換し、3つの一方通行超平面を用いて特徴ベクトルをバイナリ列bに変換した場合のレコードデータ32を示している。ステップ122を終了すると、算出処理が終了する。
図27のステップ160で、受付部12は、照合対象とする指紋を撮影して得られた画像データを受け付ける。次のステップ162で、受付部12は、ステップ160で受け付けた画像データから特徴ベクトルを算出する。次のステップ164で、第1変換部22は、記憶部30から通常超平面データ36の全レコードを読み出す。そして、第1変換部22は、ステップ162で算出された特徴ベクトルを、読み出した通常超平面データを用いたバイナリ列への変換関数b[v]に従って、バイナリ列bEへ変換する((8)式参照)。
次のステップ166で、第2変換部24は、記憶部30から一方通行超平面データ38の全レコードを読み出す。そして、第2変換部24は、ステップ162で算出された特徴ベクトルを、読み出した一方通行超平面データを用いたバイナリ列への変換関数b[v]に従って、バイナリ列bFへ変換する((12)式参照)。
次のステップ168で、第1出力部28は、記憶部30からレコードデータ32の全レコードを読み出す。次のステップ170からステップ174までの処理は、ステップ168で読み出された各レコードデータについて、1つのレコードデータに対して処理を実行する毎に変数iを1から読み出したレコード件数まで1ずつインクリメントしながら繰り返し実行される。
次のステップ170で、第1出力部28は、i番目のレコードデータに記憶されたバイナリ列biとステップ164で算出されたバイナリ列bEとのハミング距離Hammを算出する((9)式参照)。次のステップ172で、第1出力部28は、i番目のレコードデータに記憶されたバイナリ列biとステップ166で算出されたバイナリ列bFとの反対称ハミング距離QHammを算出する((13)式参照)。
次のステップ174で、第1出力部28は、次の(14)式に従って、i番目のレコードデータにおけるクエリデータとの非類似度QSimを算出する。(14)式において、Hamm(bE,bi)はステップ170で算出されたハミング距離Hammであり、QHamm(bF,bi)はステップ172で算出された反対称ハミング距離QHammである。また、(14)式において、Bは通常超平面の個数であり、Bは一方通行超平面の個数である。また、(14)式において、Aは図21のステップ118で算出された算術平均値である。
Figure 2017162306
なお、非類似度QSimの算出方法は、(14)式に限定されない。第1のバイナリ列bから算出される非類似度(Hamm)と、第2のバイナリ列bから算出される非類似度(QHamm)と、の和が小さくなるほど小さくなる値であれば、他の方法を用いて、非類似度QSimを算出してもよい。
ステップ176で、第1出力部28は、ステップ168で取得したレコードデータを、ステップ174で算出した非類似度QSimで昇順に並べ替える。次のステップ178で、第1出力部28は、ステップ176で並べ替えたレコードデータの先頭から所定数(k個)のレコードデータを抽出する。
次のステップ180で、第2出力部29は、ステップ162で算出された特徴ベクトルとステップ176で抽出された各レコードデータに記憶された特徴ベクトルとの類似度を算出する。
次のステップ182で、第2出力部29は、ステップ180で算出した類似度の最大値が所定値以上であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップ184に移行し、否定判定となった場合は、処理はステップ186に移行する。ステップ184で、第2出力部29は、指紋認証の照合結果が正常であることを示す情報を出力する。本実施形態では、第2出力部29は、一例として指紋認証の照合結果が正常であることを示す画面を入出力装置64の表示部に表示する。ステップ184の処理を終了すると、照合処理が終了する。
一方、ステップ186で、第2出力部29は、指紋認証の照合結果が異常であることを示す情報を出力する。本実施形態では、第2出力部29は、一例として指紋認証の照合結果が異常であることを示す画面を入出力装置64の表示部に表示する。ステップ186の処理を終了すると、照合処理が終了する。
以上説明したように、本実施形態によれば、通常超平面データ及び一方通行超平面データの各々を用いて、クエリデータ及びレコードデータの特徴ベクトルを各々バイナリ列に変換している。このように変換されたバイナリ列は、特徴ベクトルの移動し易い方向が考慮されたものとなる。この結果、これらのバイナリ列を用いてクエリデータ及びレコードデータの類似性を判定することで、クエリデータとレコードデータとの類似性の判定精度の低下を抑制することができる。
また、本実施形態によれば、非類似度QSimの昇順に所定数のレコードデータを出力している。これにより、クエリデータとレコードデータとの類似性の判定速度の低下を抑制しつつ、該類似性の判定精度の低下を抑制することができる。
また、本実施形態によれば、一方通行超平面が、通常超平面と同じ位置に位置するように一方通行超平面データを算出している。一方通行超平面の位置と通常超平面の位置とが異なる場合、ある特徴ベクトルが、一方通行超平面で特徴ベクトル空間を分割した場合と、通常超平面で特徴ベクトル空間を分割した場合とで異なる領域に位置する場合がある。従って、本実施形態によれば、一方通行超平面の位置と通常超平面の位置とが異なる場合に比較して、クエリデータとレコードデータとの類似性の判定精度の低下を抑制することができる。
また、本実施形態によれば、政党名簿比例代表制の議席決定方式を用いて、一方通行超平面データを算出している。これにより、一方通行超平面の数をランダムに決定する場合に比較して、クエリデータとレコードデータとの類似性の判定精度の低下を抑制することができる。
なお、上記実施形態では、一方通行超平面の位置を通常超平面の位置と同じ位置にした場合について説明したが、これに限定されない。一方通行超平面の位置を通常超平面の位置から若干ずらした位置にしてもよい。
また、上記実施形態では、政党名簿比例代表制の議席決定方式としてドント方式を用いた場合について説明したが、これに限定されない。例えば、政党名簿比例代表制の議席決定方式として最大剰余方式等のドント方式以外の方式を用いてもよい。
また、上記実施形態では、開示の技術を指紋認証に適用した場合について説明したが、これに限定されない。開示の技術をDeoxyribo Nucleic Acid(DNA)等のシーケンスデータの照合・検索や、画像、音声、構造設計部品、及び動線データ等の照合・検索に適用してもよい。
また、上記実施形態では、類似検索プログラム70が記憶部63に予め記憶(インストール)されている態様を説明したが、これに限定されない。類似検索プログラム70は、CD−ROM、DVD−ROM、USBメモリ等の記録媒体に記録された形態で提供することも可能である。
また、開示の技術の手法は、カーネル法を用いた超平面による空間分割法にも適用することが可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出する第1算出部と、
複数の前記レコードデータ、及び前記通常超平面データに基づいて、前記特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出する第2算出部と、
前記通常超平面データ及び前記一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数の前記レコードデータをバイナリ列へ各々変換する変換部と、
含む情報処理装置。
(付記2)
前記第2算出部は、前記一方通行超平面が、前記特徴量空間上で前記通常超平面データが表す前記通常超平面と重なるように、前記一方通行超平面データを算出する、
付記1記載の情報処理装置。
(付記3)
前記第2算出部は、前記通常超平面データが表す前記通常超平面で前記特徴量空間を一対の領域に分割したときに、異なる領域に位置する前記レコードデータの対の前記特徴量空間での準距離の反対称成分に基づいて、前記一方通行超平面の数及び方向を各々決定する、
付記1又は付記2記載の情報処理装置。
(付記4)
前記第1算出部は、複数の前記通常超平面を表す通常超平面データを算出し、
前記第2算出部は、前記通常超平面データが表す前記通常超平面で特徴量空間を一対の領域に分割したときに、異なる領域に位置する前記レコードデータの対の前記特徴量空間での準距離の反対称成分を、前記レコードデータの対の複数の組み合わせについて積算することを、個々の前記通常超平面について各々行い、個々の前記通常超平面に対応する前記準距離の反対称成分の積算値に基づいて、前記一方通行超平面の数及び方向を各々決定する、
付記3記載の情報処理装置。
(付記5)
前記第2算出部は、政党名簿比例代表制の議席決定方式を用いて、前記準距離の反対称成分の積算値の絶対値を通常超平面の得票数として各通常超平面に議席を割り当て、割り当てた議席数を通常超平面に対応する一方通行超平面の数と決定する、
付記4項記載の情報処理装置。
(付記6)
前記第2算出部は、前記政党名簿比例代表制の議席決定方式として、ドント方式を用いて各通常超平面に議席を割り当てる、
付記5記載の情報処理装置。
(付記7)
前記変換部は、前記通常超平面データを用いて前記クエリデータ及び複数の前記レコードデータの各々を第1のバイナリ列へ変換すると共に、前記一方通行超平面データを用いて前記クエリデータ及び複数の前記レコードデータの各々を第2のバイナリ列へ変換し、
個々の前記レコードデータについて、前記クエリデータの前記第1のバイナリ列と前記レコードデータの前記第1のバイナリ列との非類似度と、前記クエリデータの前記第2のバイナリ列と前記レコードデータの前記第2のバイナリ列との非類似度と、の和が小さくなるほど小さくなる値の昇順に所定数分のレコードデータを出力する出力部、をさらに含む
付記1から付記6の何れか1項記載の情報処理装置。
(付記8)
コンピュータに、
複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出し、
複数の前記レコードデータ、及び前記通常超平面データに基づいて、前記特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出し、
前記通常超平面データ及び前記一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数の前記レコードデータをバイナリ列へ各々変換する、
ことを含む処理を実行させる類似検索プログラム、又は前記類似検索プログラムを記憶した記憶媒体。
(付記9)
前記一方通行超平面が、前記特徴量空間上で前記通常超平面データが表す前記通常超平面と重なるように、前記一方通行超平面データを算出する、
付記8記載の類似検索プログラム。
(付記10)
前記通常超平面データが表す前記通常超平面で前記特徴量空間を一対の領域に分割したときに、異なる領域に位置する前記レコードデータの対の前記特徴量空間での準距離の反対称成分に基づいて、前記一方通行超平面の数及び方向を各々決定する、
付記8又は付記9記載の類似検索プログラム。
(付記11)
複数の前記通常超平面を表す通常超平面データを算出し、
前記通常超平面データが表す前記通常超平面で特徴量空間を一対の領域に分割したときに、異なる領域に位置する前記レコードデータの対の前記特徴量空間での準距離の反対称成分を、前記レコードデータの対の複数の組み合わせについて積算することを、個々の前記通常超平面について各々行い、個々の前記通常超平面に対応する前記準距離の反対称成分の積算値に基づいて、前記一方通行超平面の数及び方向を各々決定する、
付記10記載の類似検索プログラム。
(付記12)
政党名簿比例代表制の議席決定方式を用いて、前記準距離の反対称成分の積算値の絶対値を通常超平面の得票数として各通常超平面に議席を割り当て、割り当てた議席数を通常超平面に対応する一方通行超平面の数と決定する、
付記11記載の類似検索プログラム。
(付記13)
前記政党名簿比例代表制の議席決定方式として、ドント方式を用いて各通常超平面に議席を割り当てる、
付記12記載の類似検索プログラム。
(付記14)
前記通常超平面データを用いて前記クエリデータ及び複数の前記レコードデータの各々を第1のバイナリ列へ変換すると共に、前記一方通行超平面データを用いて前記クエリデータ及び複数の前記レコードデータの各々を第2のバイナリ列へ変換し、
個々の前記レコードデータについて、前記クエリデータの前記第1のバイナリ列と前記レコードデータの前記第1のバイナリ列との非類似度と、前記クエリデータの前記第2のバイナリ列と前記レコードデータの前記第2のバイナリ列との非類似度と、の和が小さくなるほど小さくなる値の昇順に所定数分のレコードデータを出力する、
付記8から付記13の何れか1項記載の類似検索プログラム。
(付記15)
コンピュータに、
複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出し、
複数の前記レコードデータ、及び前記通常超平面データに基づいて、前記特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出し、
前記通常超平面データ及び前記一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数の前記レコードデータをバイナリ列へ各々変換する、
ことを含む処理を実行させる類似検索方法。
10 情報処理装置
14 抽出部
16 第1算出部
18 第2算出部
20 変換部
22 第1変換部
24 第2変換部
26 出力部
28 第1出力部
29 第2出力部
30 記憶部
32 レコードデータ
34 超平面データ
36 通常超平面データ
38 一方通行超平面データ
60 コンピュータ
61 CPU
62 メモリ
63 記憶部
64 入出力装置
68 記録媒体
70 類似検索プログラム

Claims (7)

  1. 複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出する第1算出部と、
    複数の前記レコードデータ、及び前記通常超平面データに基づいて、前記特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出する第2算出部と、
    前記通常超平面データ及び前記一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数の前記レコードデータをバイナリ列へ各々変換する変換部と、
    含む情報処理装置。
  2. 前記第2算出部は、前記一方通行超平面が、前記特徴量空間上で前記通常超平面データが表す前記通常超平面と重なるように、前記一方通行超平面データを算出する、
    請求項1記載の情報処理装置。
  3. 前記第2算出部は、前記通常超平面データが表す前記通常超平面で前記特徴量空間を一対の領域に分割したときに、異なる領域に位置する前記レコードデータの対の前記特徴量空間での準距離の反対称成分に基づいて、前記一方通行超平面の数及び方向を各々決定する、
    請求項1又は請求項2記載の情報処理装置。
  4. 前記第1算出部は、複数の前記通常超平面を表す通常超平面データを算出し、
    前記第2算出部は、前記通常超平面データが表す前記通常超平面で特徴量空間を一対の領域に分割したときに、異なる領域に位置する前記レコードデータの対の前記特徴量空間での準距離の反対称成分を、前記レコードデータの対の複数の組み合わせについて積算することを、個々の前記通常超平面について各々行い、個々の前記通常超平面に対応する前記準距離の反対称成分の積算値に基づいて、前記一方通行超平面の数及び方向を各々決定する、
    請求項3記載の情報処理装置。
  5. 前記変換部は、前記通常超平面データを用いて前記クエリデータ及び複数の前記レコードデータの各々を第1のバイナリ列へ変換すると共に、前記一方通行超平面データを用いて前記クエリデータ及び複数の前記レコードデータの各々を第2のバイナリ列へ変換し、
    個々の前記レコードデータについて、前記クエリデータの前記第1のバイナリ列と前記レコードデータの前記第1のバイナリ列との非類似度と、前記クエリデータの前記第2のバイナリ列と前記レコードデータの前記第2のバイナリ列との非類似度と、の和が小さくなるほど小さくなる値の昇順に所定数分のレコードデータを出力する出力部、をさらに含む
    請求項1から請求項4の何れか1項記載の情報処理装置。
  6. コンピュータに、
    複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出し、
    複数の前記レコードデータ、及び前記通常超平面データに基づいて、前記特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出し、
    前記通常超平面データ及び前記一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数の前記レコードデータをバイナリ列へ各々変換する、
    ことを含む処理を実行させる類似検索プログラム。
  7. コンピュータに、
    複数の特徴量を各々含む複数のレコードデータに基づいて、特徴量空間を分割する超平面であって、分割した一対の領域間の距離が対称性を有する通常超平面を表す通常超平面データを算出し、
    複数の前記レコードデータ、及び前記通常超平面データに基づいて、前記特徴量空間を分割する超平面であって、分割した一対の領域間の距離が反対称性を有する一方通行超平面を表す一方通行超平面データを算出し、
    前記通常超平面データ及び前記一方通行超平面データに基づいて、複数の特徴量を含むクエリデータ及び複数の前記レコードデータをバイナリ列へ各々変換する、
    ことを含む処理を実行させる類似検索方法。
JP2016047524A 2016-03-10 2016-03-10 情報処理装置、類似検索プログラム、及び類似検索方法 Active JP6638484B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016047524A JP6638484B2 (ja) 2016-03-10 2016-03-10 情報処理装置、類似検索プログラム、及び類似検索方法
US15/426,340 US10657183B2 (en) 2016-03-10 2017-02-07 Information processing apparatus, similarity search program, and similarity search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016047524A JP6638484B2 (ja) 2016-03-10 2016-03-10 情報処理装置、類似検索プログラム、及び類似検索方法

Publications (2)

Publication Number Publication Date
JP2017162306A true JP2017162306A (ja) 2017-09-14
JP6638484B2 JP6638484B2 (ja) 2020-01-29

Family

ID=59788439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016047524A Active JP6638484B2 (ja) 2016-03-10 2016-03-10 情報処理装置、類似検索プログラム、及び類似検索方法

Country Status (2)

Country Link
US (1) US10657183B2 (ja)
JP (1) JP6638484B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452958B2 (en) * 2017-10-06 2019-10-22 Mitsubishi Electric Research Laboratories, Inc. System and method for image comparison based on hyperplanes similarity
US10810028B2 (en) * 2017-10-18 2020-10-20 Bank Of America Corporation Computer architecture for detecting members of correlithm object cores in a correlithm object processing system
US10824452B2 (en) * 2017-10-18 2020-11-03 Bank Of America Corporation Computer architecture for emulating adjustable correlithm object cores in a correlithm object processing system
US10915337B2 (en) * 2017-10-18 2021-02-09 Bank Of America Corporation Computer architecture for emulating correlithm object cores in a correlithm object processing system
US10810026B2 (en) * 2017-10-18 2020-10-20 Bank Of America Corporation Computer architecture for emulating drift-away string correlithm objects in a correlithm object processing system
US10789081B2 (en) * 2017-10-18 2020-09-29 Bank Of America Corporation Computer architecture for emulating drift-between string correlithm objects in a correlithm object processing system
US10853106B2 (en) * 2017-11-28 2020-12-01 Bank Of America Corporation Computer architecture for emulating digital delay nodes in a correlithm object processing system
US10853107B2 (en) * 2017-11-28 2020-12-01 Bank Of America Corporation Computer architecture for emulating parallel processing in a correlithm object processing system
US20190266257A1 (en) * 2018-02-28 2019-08-29 Laserlike, Inc. Vector similarity search in an embedded space
US10915339B2 (en) * 2018-03-26 2021-02-09 Bank Of America Corporation Computer architecture for emulating a correlithm object processing system that places portions of a mapping table in a distributed node network
US10860349B2 (en) * 2018-03-26 2020-12-08 Bank Of America Corporation Computer architecture for emulating a correlithm object processing system that uses portions of correlithm objects and portions of a mapping table in a distributed node network
US10915338B2 (en) * 2018-03-26 2021-02-09 Bank Of America Corporation Computer architecture for emulating a correlithm object processing system that places portions of correlithm objects in a distributed node network
US10915340B2 (en) * 2018-03-26 2021-02-09 Bank Of America Corporation Computer architecture for emulating a correlithm object processing system that places multiple correlithm objects in a distributed node network
US10915341B2 (en) * 2018-03-28 2021-02-09 Bank Of America Corporation Computer architecture for processing correlithm objects using a selective context input
US11080438B2 (en) * 2018-05-30 2021-08-03 International Business Machines Corporation Building-information management system with directional wind propagation and diffusion
WO2019244277A1 (ja) * 2018-06-20 2019-12-26 楽天株式会社 検索システム、検索方法、及びプログラム
US11961598B1 (en) * 2020-06-26 2024-04-16 Express Scripts Strategic Development, Inc. Machine learning systems for error detection in data processing systems and related methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316996A (ja) * 2004-04-12 2005-11-10 Clairvoyance Corp テキスト分類及びフィルタリングを行うサポートベクタマシンのモデル閾値を調整する方法ならびに装置
US20080177684A1 (en) * 2007-01-19 2008-07-24 Microsoft Corporation Combining resilient classifiers
WO2014118976A1 (ja) * 2013-02-01 2014-08-07 富士通株式会社 学習方法、情報変換装置および学習プログラム
JP2015118639A (ja) * 2013-12-19 2015-06-25 富士通株式会社 検索方法、検索プログラムおよび検索装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318051B2 (en) * 2001-05-18 2008-01-08 Health Discovery Corporation Methods for feature selection in a learning machine
US6882990B1 (en) * 1999-05-01 2005-04-19 Biowulf Technologies, Llc Methods of identifying biological patterns using multiple data sets
US6961719B1 (en) * 2002-01-07 2005-11-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Hybrid neural network and support vector machine method for optimization
US6941315B2 (en) * 2003-06-23 2005-09-06 Microsoft Corp. Multidimensional data object searching using bit vector indices
FR2857130A1 (fr) * 2003-07-01 2005-01-07 Thomson Licensing Sa Procede et dispositif de mesure de similarite visuelle
US7490071B2 (en) * 2003-08-29 2009-02-10 Oracle Corporation Support vector machines processing system
US7720291B2 (en) * 2004-02-17 2010-05-18 Corel Corporation Iterative fisher linear discriminant analysis
EP1766538A1 (fr) * 2004-06-23 2007-03-28 France Télécom Recherche automatique de similarite entre images incluant une intervention humaine
US7623685B2 (en) * 2004-08-20 2009-11-24 The Regents Of The University Of Colorado Biometric signatures and identification through the use of projective invariants
US7966327B2 (en) * 2004-11-08 2011-06-21 The Trustees Of Princeton University Similarity search system with compact data structures
JP3789463B1 (ja) * 2005-02-07 2006-06-21 三菱電機株式会社 推奨番組抽出装置及び推奨番組抽出方法
JP2006252333A (ja) 2005-03-11 2006-09-21 Nara Institute Of Science & Technology データ処理方法、データ処理装置およびそのプログラム
US8214157B2 (en) * 2006-03-31 2012-07-03 Nodality, Inc. Method and apparatus for representing multidimensional data
AU2006202063B2 (en) * 2006-05-16 2009-03-12 Canon Kabushiki Kaisha Method for navigating large image sets using sort orders
GB2440562A (en) * 2006-08-03 2008-02-06 Sony Uk Ltd Apparatus and method of data organisation
US8160366B2 (en) * 2008-06-20 2012-04-17 Sony Corporation Object recognition device, object recognition method, program for object recognition method, and recording medium having recorded thereon program for object recognition method
US8675877B2 (en) * 2008-08-29 2014-03-18 Red Hat, Inc. Sharing a secret via linear interpolation
US8644563B2 (en) * 2009-12-14 2014-02-04 Microsoft Corporation Recognition of faces using prior behavior
US8488883B2 (en) * 2009-12-28 2013-07-16 Picscout (Israel) Ltd. Robust and efficient image identification
US8924391B2 (en) * 2010-09-28 2014-12-30 Microsoft Corporation Text classification using concept kernel
US9152862B2 (en) * 2011-09-15 2015-10-06 Raf Technology, Inc. Object identification and inventory management
US8737685B2 (en) * 2011-04-25 2014-05-27 Honeywell International Inc. Systems and methods for detecting the movement of an object
JP5592337B2 (ja) 2011-11-18 2014-09-17 日本電信電話株式会社 コンテンツ変換方法、コンテンツ変換装置及びコンテンツ変換プログラム
JP5742873B2 (ja) * 2013-05-08 2015-07-01 株式会社デンソー 物体識別装置
AU2014277853A1 (en) * 2014-12-22 2016-07-07 Canon Kabushiki Kaisha Object re-identification using self-dissimilarity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316996A (ja) * 2004-04-12 2005-11-10 Clairvoyance Corp テキスト分類及びフィルタリングを行うサポートベクタマシンのモデル閾値を調整する方法ならびに装置
US20080177684A1 (en) * 2007-01-19 2008-07-24 Microsoft Corporation Combining resilient classifiers
WO2014118976A1 (ja) * 2013-02-01 2014-08-07 富士通株式会社 学習方法、情報変換装置および学習プログラム
JP2015118639A (ja) * 2013-12-19 2015-06-25 富士通株式会社 検索方法、検索プログラムおよび検索装置

Also Published As

Publication number Publication date
JP6638484B2 (ja) 2020-01-29
US10657183B2 (en) 2020-05-19
US20170262552A1 (en) 2017-09-14

Similar Documents

Publication Publication Date Title
JP6638484B2 (ja) 情報処理装置、類似検索プログラム、及び類似検索方法
US11048966B2 (en) Method and device for comparing similarities of high dimensional features of images
CN111967387B (zh) 表单识别方法、装置、设备及计算机可读存储介质
US11074434B2 (en) Detection of near-duplicate images in profiles for detection of fake-profile accounts
JP6211407B2 (ja) 画像検索システム、画像検索装置、検索サーバ装置、画像検索方法、及び画像検索プログラム
CN113850281B (zh) 一种基于meanshift优化的数据处理方法和装置
US9280725B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JP5862413B2 (ja) 情報変換規則生成プログラム、情報変換規則生成装置および情報変換規則生成方法
WO2014118978A1 (ja) 学習方法、情報処理装置および学習プログラム
JP2019101927A (ja) 学習システム及び画像検索システム
US10331717B2 (en) Method and apparatus for determining similar document set to target document from a plurality of documents
JP2019211913A (ja) 特徴量抽出装置、方法、及びプログラム
JP6589639B2 (ja) 検索システム、検索方法およびプログラム
CN110020638B (zh) 人脸表情识别方法、装置、设备和介质
JP5520353B2 (ja) BoF表現生成装置及びBoF表現生成方法
JP6646216B2 (ja) 情報処理装置、類似データ検索方法、及び類似データ検索プログラム
JP6393982B2 (ja) 空間分割方法、空間分割装置および空間分割プログラム
JP5865043B2 (ja) 情報処理装置、情報処理方法
JP5791666B2 (ja) ビジュアルキーワードの動的生成装置
CN113869398A (zh) 一种不平衡文本分类方法、装置、设备及存储介质
JP5819158B2 (ja) 画像検索に適した特徴ベクトルを抽出するプログラム、方法及び画像検索装置
Aljuaidi et al. Mini-batch vlad for visual place retrieval
CN112766288A (zh) 图像处理模型构建方法、装置、电子设备和可读存储介质
CN111984812A (zh) 一种特征提取模型生成方法、图像检索方法、装置及设备
JP6453618B2 (ja) 算出装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

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: 20191126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191209

R150 Certificate of patent or registration of utility model

Ref document number: 6638484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150