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

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

Info

Publication number
JP2017162230A
JP2017162230A JP2016046593A JP2016046593A JP2017162230A JP 2017162230 A JP2017162230 A JP 2017162230A JP 2016046593 A JP2016046593 A JP 2016046593A JP 2016046593 A JP2016046593 A JP 2016046593A JP 2017162230 A JP2017162230 A JP 2017162230A
Authority
JP
Japan
Prior art keywords
data
feature
dissimilarity
target
registered
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
JP2016046593A
Other languages
English (en)
Other versions
JP6646216B2 (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 JP2016046593A priority Critical patent/JP6646216B2/ja
Priority to US15/425,129 priority patent/US10121085B2/en
Publication of JP2017162230A publication Critical patent/JP2017162230A/ja
Application granted granted Critical
Publication of JP6646216B2 publication Critical patent/JP6646216B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1914Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries, e.g. user dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】類似検索の精度を高めること。
【解決手段】登録データ21が有する第1の特徴を表す第1の登録特徴データ22aと第2の特徴を表す第2の登録特徴データ22bとを記憶し、対象データ31が有する第1の特徴を表す第1の対象特徴データ32aと第2の特徴を表す第2の対象特徴データ32bとを生成し、2つの入力値の交換に対して演算結果が変化しない対称性を持つ第1の演算処理33により第1の登録特徴データ22aと第1の対象特徴データ32aとの第1の非類似度34を計算し、2つの入力値の交換に対して演算結果が変化する反対称性を持つ第2の演算処理35により第2の登録特徴データ22bと第2の対象特徴データ32bとの第2の非類似度36を計算し、第1の非類似度34と第2の非類似度36とに基づいて、対象データ31に類似する登録データ21を特定する、情報処理装置10が提供される。
【選択図】図1

Description

本発明は、情報処理装置、類似データ検索方法、及び類似データ検索プログラムに関する。
RDB(Relational Database)はデータを構造的に管理することができる。そのため、RDBに格納されているデータは構造化データと呼ばれることがある。これに対し、電話や会議の内容をそのままテキスト化したテキストデータや、その内容を録音した音声データは非構造化データと呼ばれる。非構造化データには、テキストデータや音声データの他、例えば、画像データや、各種センサから出力されるセンサデータなどがある。近年、こうした非構造化データを有効活用する技術に注目が集まっている。
非構造化データの類似検索技術は、大量の非構造化データを有効利用するために役立つ。例えば、現在ある多量の非構造化データから、過去に収集された特定の非構造化データに類似する非構造化データを抽出することができれば、ある特徴を持つ非構造化データの時系列分析が可能になる。また、非構造化データの類似検索技術は、個人認証を行う場面で指紋や静脈などのパターンを照合する際にも利用されるし、非構造化データのクラスタリングや分類、情報システムに対する不正アクセスの検知などにも用いられる。
例えば、指紋データによる個人認証サービスを提供する認証システムは、膨大な数の登録ユーザから採取された大量の指紋データから、入力された指紋データに類似する指紋データを検索して認証の成否を判断する。
非構造化データの類似検索には、非構造化データの特徴を表す特徴ベクトルが用いられる。例えば、認証システムは、特徴量空間における特徴ベクトル同士のユークリッド距離を指紋データ間の非類似度として計算し、非類似度が小さい特徴ベクトルに対応する指紋データを探索する。
指紋データなどの非構造化データから生成される特徴ベクトルは、多くの場合、10から1000程度の次元を有する高次元ベクトルとなる。そのため、認証に係る処理のうち、非類似度が小さい特徴ベクトルを特定する処理にかかる負荷は高い。このような負荷を減らすため、特徴ベクトルを所定長のバイナリデータ(所定ビットのビット列)に変換し、バイナリデータ間のハミング距離に基づいて非類似度が小さい特徴ベクトルを絞り込む方法が提案されている。
特徴ベクトルをバイナリデータに変換する方法としては、例えば、特徴量空間を二分する超平面を用意し、超平面で分けられた2つの部分空間のいずれに特徴ベクトルが位置するかに応じてビット値を決める方法がある。N個の超平面を利用することで、1つの特徴ベクトルからNビットのバイナリデータが得られる。なお、Nは、特徴ベクトルの次元数より十分に小さい値に設定される。
特徴ベクトルをバイナリデータに変換する方法を用いて、クエリデータ(検索キーとなる非構造化データ)の近傍データ(非類似度が小さい非構造化データ)を探索する方法が提案されている。また、探索精度を高める方法として、バイナリデータにワイルドカード記号(同じ位置にある比較対象の記号が何であるかにかかわらず、同じ記号と判定される記号)を挿入した記号列を用いて近傍データの探索を行う方法が提案されている。
また、デジタルデータをD(D>0)次元の実数値ベクトルによって表現した特徴量を生成し、その特徴量の近傍における相対的幾何関係に基づいてハッシュ関数を生成する方法が提案されている。
なお、類似関係の対称性に関し、非対称な類似関係に基づいて好適な予測器を選択する方法が提案されている。この方法では、予測器の選択に、訓練クラスタの特徴表現、及び特徴表現の変換に用いる変換行列が利用される。この変換行列は、訓練クラスタの組毎に、一の訓練クラスタの特徴表現と変換後の他の訓練クラスタの特徴表現との非対称類似度を最大化する。また、この方法では、非対称類似度として、カルバック・ライブラー・ダイバージェンス(KLD:Kullback-Leibler Divergence)が利用される。
特開2013−206187号公報 特開2012−173793号公報 特開2015−079101号公報
A.Torralba, R.Fergus, Y.Weiss, "Small codes and large image databases for recognition", 2008.
高次元の特徴ベクトルをバイナリデータに変換し、バイナリデータ間のハミング距離を利用して被検索及び照合の対象となる特徴ベクトルを絞り込むことで、非構造化データの類似検索を高速化できる。また、この技術を適用することで、指紋、静脈、声紋などの生体データ(非構造化データ)による認証システムなど、高速な処理が求められる様々な場面に非構造化データの類似検索技術を応用することが可能になる。
但し、生体データなどの採取環境に影響を受けやすい非構造化データを扱う場合には、その影響が類似検索の誤差として現われることがある。例えば、指紋データは乾燥状態に応じて変化する。声紋データは、周囲の騒音や湿度、喉の状態などに応じて変化する。顔認証や虹彩認証など、画像データを利用する生体認証の場合、体調による肌の変化や気分による表情の変化、照明条件の影響などが画像データに影響を与える。
環境の変化に影響を受ける要素を含まない特徴ベクトルを用いれば、環境変化による影響を抑制できるが、そのような特徴ベクトルを見つけることは現実的に困難である。そのため、環境変化に特徴ベクトルの要素が影響を受けることを前提に、環境変化による検索精度への影響を抑制する仕組みの開発が望まれる。
1つの側面によれば、本開示の目的は、類似検索の精度を高めることが可能な、情報処理装置、類似データ検索方法、及び類似データ検索プログラムを提供することにある。
一態様によれば、登録データが有する第1の特徴を表す第1の登録特徴データと、登録データが有する第2の特徴を表す第2の登録特徴データとを記憶する記憶部と、対象データが有する第1の特徴を表す第1の対象特徴データと、対象データが有する第2の特徴を表す第2の対象特徴データとを生成し、2つの入力値の交換に対して演算結果が変化しない対称性を持つ演算処理であって2つの入力値の間の非類似度を計算する第1の演算処理により、第1の登録特徴データと第1の対象特徴データとの間の第1の非類似度を計算し、2つの入力値の交換に対して演算結果が変化する反対称性を持つ演算処理であって2つの入力値の間の非類似度を計算する第2の演算処理により、第2の登録特徴データと第2の対象特徴データとの間の第2の非類似度を計算し、第1の非類似度と第2の非類似度とに基づいて、対象データに類似する登録データを特定する演算部とを有する、情報処理装置が提供される。
類似検索の精度を高めることができる。
第1実施形態に係る情報処理装置の一例を示した図である。 第2実施形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。 第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。 第2実施形態に係る超平面情報の一例を示した図である。 第2実施形態に係る登録情報の一例を示した図である。 第2実施形態に係るバイナリデータの生成方法について説明するための図である。 第2実施形態に係る非類似度の計算方法について説明するための図である。 第2実施形態に係る非類似度の反対称成分が有する特性を超平面の一方向性によって解釈する方法について説明するための図である。 第2実施形態に係る超平面の決定方法について説明するための図である。 第2実施形態に係る登録処理の流れを示したフロー図である。 第2実施形態に係る検索処理の流れを示した第1のフロー図である。 第2実施形態に係る検索処理の流れを示した第2のフロー図である。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。第1実施形態は、非構造化データの類似検索に関し、非構造化データの採取環境による検索結果への影響を抑制する仕組みを開示する。図1は、第1実施形態に係る情報処理装置の一例を示した図である。なお、図1に例示した情報処理装置10は、第1実施形態に係る情報処理装置の一例である。
図1に示すように、情報処理装置10は、記憶部11及び演算部12を有する。
なお、記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
記憶部11は、登録データ21が有する第1の特徴を表す第1の登録特徴データ22aを記憶する。また、記憶部11は、登録データ21が有する第2の特徴を表す第2の登録特徴データ22bを記憶する。
例えば、第1の登録特徴データ22aは、特徴ベクトルを規定する特徴量空間を2つに分ける超平面の組を用い、登録データ21の特徴ベクトルが超平面のいずれの側に位置するかによって決定されるビット値の組(バイナリデータ)で表現される。特徴ベクトルとしては、例えば、SIFT(Scale-Invariant Feature Transform)、SURF(Speed-Upped Robust Feature)、ORB(ORiented-BRIEF)などを適用できる。
第1の特徴は、超平面の組によって表現されうる。第1の特徴を表す超平面の組は、複数の特徴ベクトルのサンプルを利用して学習処理により決定される。例えば、超平面の組は、複数のサンプルのそれぞれについて、1つの対象サンプルの近傍にある他のサンプルの集合と、対象サンプルから決定されるバイナリデータの近傍にある他のサンプルのバイナリデータの集合とが許容可能な範囲で一致するように決定される。なお、第1の特徴を表現する超平面の組を決定する場合、バイナリデータ間の距離(非類似度)は、後述する第1の演算処理33により算出される。
また、第2の登録特徴データ22bは、特徴ベクトルを規定する特徴量空間を2つに分ける超平面の組を用い、登録データ21の特徴ベクトルが超平面のいずれの側に位置するかによって決定されるビット値の組(バイナリデータ)で表現される。なお、第2の登録特徴データ22bは、第1の登録特徴データ22aと同じ特徴ベクトルから得られる。
第2の特徴は、超平面の組によって表現されうる。第2の特徴を表す超平面の組は、2種類の特徴ベクトルのサンプルを利用して学習処理により決定される。1つ目の種類(第1の種類)の特徴ベクトルは、第1の特徴を表す超平面の組を決定する際に用いたサンプルに対応する元データと同じ環境(第1の環境)で採取されたデータの特徴ベクトルである。2つ目の種類(第2の種類)の特徴ベクトルは、第1の環境とは異なる環境(第2の環境)で採取された元データの特徴ベクトルである。
つまり、第1の環境で採取された元データの特徴ベクトルと、第2の環境で採取された元データの特徴ベクトルとがサンプルのペア(特徴ペア)として学習処理に利用される。なお、元データの採取元は同じであるが、環境が異なると元データの内容は異なる。例えば、指紋データの場合、同じ人の指紋を採取しても、通常湿度の環境で採取した指紋データ(第1の環境で採取された元データ)と、乾燥した環境で採取した指紋データ(第2の環境で採取された元データ)とは異なる内容のデータとなる。
第2の特徴を表現する超平面の組は、特徴ペアに対応する2つのバイナリデータが、後述する第2の演算処理35により算出される非類似度(距離)を基準として近傍に位置し、特徴ペアに対応しない2つのバイナリデータは非近傍に位置するように決定される。
さて、演算部12は、対象データ31が有する第1の特徴を表す第1の対象特徴データ32aを生成する。対象データ31は、例えば、認証のために入力される指紋データなどの入力データである。演算部12は、登録データ21から第1の登録特徴データ22aを生成する方法と同じ方法で対象データ31から第1の対象特徴データ32aを生成する。例えば、演算部12は、対象データ31から特徴ベクトルを生成し、第1の特徴を表現する超平面の組を用いて、その特徴ベクトルから第1の対象特徴データ32aを生成する。
また、演算部12は、対象データ31が有する第2の特徴を表す第2の対象特徴データ32bを生成する。演算部12は、登録データ21から第2の登録特徴データ22bを生成する方法と同じ方法で対象データ31から第2の対象特徴データ32bを生成する。例えば、演算部12は、第2の特徴を表現する超平面の組を用いて、対象データ31の特徴ベクトルから第2の対象特徴データ32bを生成する。なお、第1及び第2の特徴を表す情報(例えば、超平面の組を示す情報)は、記憶部11に予め格納されている。
また、演算部12は、2つの入力値の間の非類似度を計算する第1の演算処理33により、第1の登録特徴データ22aと第1の対象特徴データ32aとの間の第1の非類似度34を計算する。第1の演算処理33は、2つの入力値の交換に対して演算結果が変化しない対称性を持つ演算処理である。例えば、第1の演算処理33を関数F1、2つの入力値をA、Bとした場合、関数F1は、「F1(A,B)=F1(B,A)」という性質(対称性)を有する。例えば、ハミング距離の演算処理は関数F1と同じ性質を有する。
また、演算部12は、2つの入力値の間の非類似度を計算する第2の演算処理35により、第2の登録特徴データ22bと第2の対象特徴データ32bとの間の第2の非類似度36を計算する。第2の演算処理35は、2つの入力値の交換に対して演算結果が変化する反対称性を持つ演算処理である。例えば、第2の演算処理35を関数F2、2つの入力値をC、Dとした場合、関数F2は、「F2(C,D)≠F2(D,C)」という性質(反対称性)を有する。例えば、C、Dがビット列の場合、Cと、Dを反転した反転値Eとの論理積に含まれる1の数をカウントする演算処理は反対称性を持つ。
なお、第2の演算処理35の1つ目の入力値(Cに相当)及び2つ目の入力値(Dに相当)には、それぞれ環境に関する条件が設定されている。例えば、1つ目の入力値には上述した第1の環境で採取された元データに対応するバイナリデータが入力され、2つ目の入力値には上述した第2の環境で採取された元データに対応するバイナリデータが入力される。登録データ21が第1の環境で採取されたデータである場合、第2の登録特徴データ32bは、第2の演算処理35の中で1つ目の入力値として扱われる。
また、演算部12は、第1の非類似度34と第2の非類似度36とに基づいて、対象データ31に類似する登録データ21を特定する。例えば、演算部12は、第1の非類似度34と第2の非類似度36との合計値を対象データ31と登録データ21との非類似度37とする。また、演算部12は、様々な登録データ(例えば、Rd1、Rd2、…、Rd8)について計算済みの非類似度37を比較し、非類似度37が小さい順に所定数の登録データ(図1の例ではRd1、Rd3、Rd7)を特定する。
上記のように、演算部12は、反対称性を有する第2の演算処理35を用いて非類似度を評価する。そのため、環境の変化による影響を考慮した評価が可能になる。
例えば、被採取者Xから第1の環境下で予め採取された指紋データX1(登録データ21)と、被採取者Yから第2の環境下で採取された指紋データY2(対象データ31)との間の第1の非類似度34が小さい場合、YをXと誤判定するリスクがある。しかし、X1、Y2間の第2の非類似度36は大きくなる一方、被採取者Yから第1の環境下で予め採取された指紋データX1(登録データ21)と、指紋データY2との第2の非類似度36は小さくなる。そのため、誤判定のリスクを抑圧することができる。
第1の特徴は、同じ被採取者から同じ環境で採取された第1及び第2のデータを比較した際に第1のデータが有する第1の特徴と第2のデータが有する第1の特徴との類似度が高いほど第1の非類似度34が小さくなる特徴である。
一方、第2の特徴は、同じ被採取者から異なる環境で採取された第3及び第4のデータを比較した際に第3のデータが有する第2の特徴と第4のデータが有する第2の特徴との類似度が高いほど第2の非類似度36が小さくなる特徴である。つまり、第2の特徴は、環境の変化に応じて変化する特徴変化の方向性を表現している。そのため、第1の非類似度34と併せて第2の非類似度36を利用することで、環境変化に起因する特徴変化の方向性を加味することができ、環境要因による誤りリスクを抑圧できるのである。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、非構造化データの類似検索に関し、非構造化データの採取環境による検索結果への影響を抑制する仕組みを開示する。
[2−1.ハードウェア]
まず、図2を参照しながら、第2実施形態に係る仕組みを実現することが可能な情報処理装置100のハードウェアについて説明する。図2は、第2実施形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。なお、情報処理装置100は、第2実施形態に係る情報処理装置の一例である。
情報処理装置100が有する機能は、例えば、図2に示すハードウェア資源を用いて実現することが可能である。つまり、情報処理装置100が有する機能は、コンピュータプログラムを用いて図2に示すハードウェアを制御することにより実現される。
図2に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
以上、情報処理装置100のハードウェアについて説明した。
[2−2.機能]
次に、図3を参照しながら、情報処理装置100の機能について説明する。図3は、第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
図3に示すように、情報処理装置100は、記憶部101、バイナリデータ生成部102、対称成分計算部103、反対称成分計算部104、及び類否判定部105を有する。
記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。バイナリデータ生成部102、対称成分計算部103、反対称成分計算部104、及び類否判定部105の機能は、上述したCPU902などを用いて実現できる。
記憶部101には、超平面情報101aと、登録情報101bとが格納される。超平面情報101aは、特徴ベクトルをバイナリデータに変換するために用いる超平面の組に関する情報である。登録情報101bは、入力された特徴ベクトル(クエリ)と照合される予め登録された特徴ベクトル(レコード)に関する情報である。
図4に示すように、超平面情報101aは、特徴ベクトルから生成されるバイナリデータの種別と、超平面を識別するための識別情報(超平面ID)と、特徴量空間の中で超平面を規定するための法線ベクトル及びオフセットとを含む。図4は、第2実施形態に係る超平面情報の一例を示した図である。
バイナリデータの種別には、「対称成分用」と「反対称成分用」とがある。対称成分とは、特徴ベクトル間の非類似度のうち、距離の公理を満たす非類似度の成分を言う。例えば、特徴ベクトル間のユークリッド距離は、距離の公理を満たす非類似度の成分である。一方、反対称成分とは、準距離の公理を満たす非類似度の成分を言う。
関数dQが準距離である場合、関数dQは、ある空間の点を元とする集合W上において下記の式(1)から式(3)で表現される公理(準距離の公理)を満たす。なお、x,y,z∈Wである。
dQ(x,y)≧0
…(1)
dQ(x,y)=0ならばx=y
…(2)
dQ(x,y)≦dQ(x,z)+dQ(z,y)
…(3)
例えば、山の上にある家と谷にある駅とを移動する際に、行きと帰りとで移動する人が感じる距離が異なるように、準距離は、移動コストを考慮した距離を表す指標となる。つまり、準距離は、風や重力などに起因する移動コストを加味した距離と言える。このように、移動方向によって距離(準距離)が異なる性質を反対称性と呼ぶ。
超平面情報101aに含まれる超平面IDは、超平面を識別するための識別情報である。法線ベクトルは、特徴量空間において超平面に垂直な方向を向くベクトルである。なお、法線ベクトルは長さ1に正規化されていてもよい。オフセットは、特徴量空間の原点から超平面までの距離(ユークリッド距離)である。法線ベクトルとオフセットとの組は、特徴量空間における超平面を規定する(図6を参照)。図4の例では、対称成分の計算に用いるバイナリデータを生成するための超平面がn個、反対称成分の計算に用いるバイナリデータを生成するための超平面がm個設定されている。なお、nとmは同じでもよい。
図5に示すように、登録情報101bは、登録されている非構造化データを識別するための識別情報(データID)と、その非構造化データから抽出された特徴ベクトルと、その特徴ベクトルから生成されたバイナリデータとを含む。図5は、第2実施形態に係る登録情報の一例を示した図である。
特徴ベクトルは、例えば、SIFT、SURF、ORBなどを非構造化データに適用して得られる特徴量空間上のベクトルである。バイナリデータは、対称成分の計算用と、反対称成分の計算用とが用意される。対称成分の計算用に用意されるバイナリデータは、種別が「対称成分用」の超平面(図4を参照)を利用して特徴ベクトルから得られる。一方、反対称成分の計算用に用意されるバイナリデータは、種別が「反対称成分用」の超平面を利用して特徴ベクトルから得られる。
例えば、図6に示す方法により、特徴ベクトルからバイナリデータが生成される。図6は、第2実施形態に係るバイナリデータの生成方法について説明するための図である。なお、説明の都合上、ここではX1軸、X2軸で規定される2次元の特徴量空間を例に説明するが、実際には特徴ベクトルの次元数に応じた次元の特徴量空間で超平面が規定され、特徴ベクトルからバイナリデータの要素が決定される。
図6に示すように、超平面Sは、法線ベクトルVnと、オフセットDとにより規定される。法線ベクトルVnは、特徴量空間において超平面Sに垂直なベクトルである。オフセットDは、特徴量空間の原点Oと超平面Sとの間の距離(ユークリッド距離)である。超平面Sは特徴量空間を2つの部分空間に二分する。
特徴ベクトルVが与えられると、特徴ベクトルVが指す特徴点Pがいずれの部分空間に位置するかを特定することができる。図6の例では、ハッチングがかけられた一方の部分空間にビット値0が割り当てられ、他方の部分空間にビット値1が割り当てられている。また、特徴点Pは、ビット値1が割り当てられている部分空間に位置する。この場合、超平面Sについて、特徴ベクトルVに対応するバイナリデータの要素(ビット値)は1に決定される。
上記のように、超平面情報101aには複数の超平面に関する情報が含まれている。そのため、1つの特徴ベクトルについて、図6に示した方法で超平面の数と同じ数のビット値が得られる。例えば、対称成分用にn個の超平面が設定されていれば、1つの特徴ベクトルからnビットのバイナリデータ(対称成分用)が得られる。また、反対称成分用にm個の超平面が設定されていれば、同じ特徴ベクトルからmビットのバイナリデータ(反対称成分用)が得られる。上記の方法で特徴ベクトルからバイナリデータが生成される。
上記の方法を定式化すると次のようになる。
特徴ベクトルをV、法線ベクトルをVn、オフセットをDと表現すると、超平面Sの方程式は下記の式(4)で与えられる。なお、V、Vnはベクトル量であり、Dはスカラー量である。また、・は内積を表す。そして、超平面Sを用いて特徴ベクトルVから得られるビット値をbS(V)と表現すると、ビット値bS(V)は下記の式(5)で与えられる。また、k個の超平面S1、S2、…、Skが与えられた場合、特徴ベクトルVに対応するバイナリデータ(ビット列)b(V)は下記の式(6)により与えられる。
V・Vn+D=0
…(4)
Figure 2017162230
b(V)={bS1(V),bS2(V),…,bSn(V)}
…(6)
再び図3を参照する。バイナリデータ生成部102は、入力装置200から特徴ベクトル(クエリ)の入力を受け付ける。入力装置200は、例えば、認証用に指紋や静脈パターンなどの画像データを採取し、採取した画像データから特徴ベクトルを抽出する装置である。生体認証機能を搭載したATM(Automatic Teller Machine)や入退出管理システムなどは入力装置200の一例である。なお、入力装置200は情報処理装置100と一体であってもよい。
バイナリデータ生成部102は、超平面情報101a(図4を参照)を用いて、入力を受け付けた特徴ベクトルからバイナリデータを生成する(図6を参照)。このとき、バイナリデータ生成部102は、対称成分用に設定された超平面の組を利用してバイナリデータ(対称成分用)を生成し、反対称成分用に設定された超平面の組を利用してバイナリデータ(反対称成分用)を生成する。
バイナリデータ生成部102により生成された対称成分用のバイナリデータは、対称成分計算部103に入力される。また、バイナリデータ生成部102により生成された反対称成分用のバイナリデータは、反対称成分計算部104に入力される。以下では、説明の都合上、バイナリデータ生成部102により生成されたバイナリデータをバイナリデータ(クエリ)と表現する場合がある。
対称成分計算部103は、対称成分用のバイナリデータ(クエリ)と、登録情報101b(図5を参照)に含まれる対称成分用のバイナリデータとの非類似度(対称成分)を計算する。また、反対称成分計算部104は、反対称成分用のバイナリデータ(クエリ)と、登録情報101bに含まれる反対称成分用のバイナリデータとの非類似度(反対称成分)を計算する。以下では、説明の都合上、登録情報101bに含まれるバイナリデータをバイナリデータ(レコード)と表現する場合がある。
対称成分計算部103及び反対称成分計算部104により計算された非類似度(対称成分、反対称成分)は、類否判定部105に入力される。類否判定部105は、対称成分と反対称成分とを統合した非類似度(両成分の和)を計算する。対称成分計算部103、反対称成分計算部104、及び類否判定部105は、登録情報101bに登録されている各データIDについて上述した非類似度に関する計算を実行する。
また、類否判定部105は、統合した非類似度が小さい順に所定数のバイナリデータ(レコード)を特定し、特定したバイナリデータ(レコード)に対応するデータIDを抽出する。そして、類否判定部105は、抽出したデータIDに対応する特徴ベクトルと、入力装置200から受け付けた特徴ベクトルとの類似度を計算し、最も類似度が高い特徴ベクトルに対応するデータIDを特定する。
また、類否判定部105は、特定したデータIDを出力装置300に出力する。出力装置300は、ディスプレイ装置や、類否判定部105から出力されたデータIDに基づく処理を実行する他の情報処理装置である。なお、出力装置300は、入力装置200と一体でもよいし、情報処理装置100と一体でもよい。
ここで、図7を参照しながら、対称成分計算部103、反対称成分計算部104、及び類否判定部105による非類似度の計算について、さらに説明する。図7は、第2実施形態に係る非類似度の計算方法について説明するための図である。
図7(A)の例は、バイナリデータ(クエリ)であるビット列B1q(B1q=00111011)と、バイナリデータ(レコード)であるビット列B1r(B1r=01101110)との間の非類似度(対称成分)を計算する方法を示している。
図7(A)に示すように、対称成分計算部103は、2つのビット列B1q、B1rの排他的論理和(XOR)演算を実行し、その演算結果(01010101)に含まれる1の数をカウントする(Population Count)。図7(A)の例では、XOR演算の結果に含まれる1の数は4となる。この数が非類似度の対称成分Hamm(B1q,B1r)である。
上記のように、非類似度の対称成分Hamm(B1q,B1r)(ハミング距離)は、ビット列B1q、B1rの入れ替えによって結果が変わらない「対称性」を有する。つまり、Hamm(・,・)を図7(A)に示した演算を表す関数とすると、Hamm(B1q,B1r)=Hamm(B1r,B1q)が成り立つ。
図7(B)の例は、バイナリデータ(クエリ)であるビット列B2q(B2q=01001110)と、バイナリデータ(レコード)であるビット列B2r(B2r=00111011)との間の非類似度(反対称成分)を計算する方法を示している。
図7(B)に示すように、反対称成分計算部104は、ビット列B2qを反転(NOT)し、反転値(10110001)を計算する。そして、反対称成分計算部104は、計算した反転値とビット列B2rとの論理積(AND)演算を実行し、その演算結果(00110001)に含まれる1の数をカウントする(Population Count)。図7(B)の例では、AND演算の結果に含まれる1の数は3となる。この数が非類似度の反対称成分QHamm(B2q,B2r)である。
上述したHamm(・,・)とは異なり、非類似度の反対称成分QHamm(B2q,B2r)は、ビット列B2q、B2rの入れ替えによって結果が変わりうる「反対称性」を有する。つまり、QHamm(・,・)を図7(B)に示した演算を表す関数とすると、QHamm(B2q,B2r)≠QHamm(B2r,B2q)が成り立つ(QHamm(B2r,B2q)は1となる)。
類否判定部105は、対称成分計算部103が計算した非類似度の対称成分Hamm(B1q,B1r)と、反対称成分計算部104が計算した非類似度の反対称成分QHamm(B2q,B2r)とを加算し、加算値を統合した非類似度XHammとする。図7の例では、XHammが7となる。
なお、B1q、B1r、B2q、B2rは同じ特徴ベクトルから得られたバイナリデータである。また、対称成分計算部103、反対称成分計算部104、及び類否判定部105は、複数の超平面を利用して同じ特徴ベクトルから得られた複数のバイナリデータについて、それぞれ図7に示した非類似度XHammの計算を実行する。
(反対称成分の特性)
ここで、図8を参照しながら、非類似度の反対称成分が有する特性(反対称性)について、さらに説明する。図8は、第2実施形態に係る非類似度の反対称成分が有する特性を超平面の一方向性によって解釈する方法について説明するための図である。
図8(A)に示すように、X1、X2軸で規定される特徴量空間に4つの特徴点A1、A2、B1、B2と、超平面Sとが与えられた場合、超平面Sの左側にある特徴点A1、B1はビット値0、右側にある特徴点A2、B2はビット値1に対応付けられる。
非類似度の対称成分を「距離」とすると、特徴点B1、A2の距離(B1 XOR A2)は1、特徴点A1、B2の距離(A1 XOR B2)は1となる。つまり、超平面Sを跨ぐ特徴点間の移動には、距離1の移動コストがかかると解釈できる。また、超平面Sを跨ぐ方向によって移動コストは変化しない。
一方、非類似度の反対称成分を「距離」とすると、特徴点B1からA2へ向かう際の距離(NOT(B1) AND A2)は1、特徴点A2からB1へ向かう際の距離(NOT(A2) AND B1)は0となる。また、特徴点B2からA1へ向かう際の距離(NOT(B2) AND A1)は0、特徴点A1からB2へ向かう際の距離(NOT(A1) AND B2)は1となる。つまり、超平面Sの右側から左側へと向かう際の移動コストは0で済むが、逆向きに向かう際の移動コストは1かかると解釈できる。
上記のように、非類似度の反対称成分QHammは、超平面Sの一方向性(距離0で移動できる方向を制限する性質)を表現していると理解できる。この一方向性は、例えば、重力により坂の上りと下りとで移動にかかる労力が異なることや、追い風と向かい風とで同じ距離を進むのにかかるエネルギーが異なることを表現するのに役立つ。第2実施形態では、非構造化データの採取環境が異なることで影響を受けやすい特徴ベクトルと、影響を受けにくい特徴ベクトルとの違いが上記の一方向性で表現されている。
(学習による超平面の決定方法)
ここで、図9を参照しながら、第2実施形態に係る超平面の決定方法について説明する。図9は、第2実施形態に係る超平面の決定方法について説明するための図である。
図9の例は、採取環境による影響を超平面の一方向性に反映させる方法として、非類似度の反対称成分QHammを利用し、異なる採取環境で得た非構造化データのサンプルに基づいてバイナリデータの生成に用いる超平面の組を学習で決定する方法を開示する。なお、図9の例は、対称成分用のバイナリデータを生成する際に用いる超平面の組を学習で決定する方法も併せて開示している。以下、対称成分に関する超平面の組を超平面Set#1、反対称成分に関する超平面の組を超平面Set#2と表記する場合がある。
超平面Set#1、#2を決定する際、図9(A)に示すように、異なる環境で採取された多数の非構造化データから得られる特徴ベクトルが学習用サンプルとして利用される。例えば、指紋データなどの湿度条件に依存する非構造化データを対象とする場合、通常湿度(環境=「通常」)の条件で採取された非構造化データと、乾燥状態(環境=「乾燥」)で採取された非構造化データとに関する特徴ベクトルが利用される。
(A)同じ提供者から異なる環境で複数の非構造化データが採取され、各非構造化データから特徴ベクトルが抽出される。(B、C)通常環境に対応する特徴ベクトルは、初期設定された超平面Set#1を用いてバイナリデータに変換される。また、通常環境に対応する特徴ベクトルは、初期設定された超平面Set#2を用いてバイナリデータに変換される。また、乾燥環境に対応する特徴ベクトルは、同じ超平面Set#2を用いてバイナリデータに変換される。
(D)超平面Set#1を用いて変換されたバイナリデータから、相互に非類似度の対称成分Hamm(対称距離)が計算され、その対称距離に基づいて、ある特徴ベクトルの近傍に位置する特徴ベクトルの集合が特定される(近傍探索)。(F)一方、通常環境に対応する特徴ベクトルについて特徴量空間上の類似度に基づく近傍探索が実施される。(H)そして、上記(D)の近傍探索による結果と、上記(F)の近傍探索による結果とが許容可能な範囲で一致するかが評価され、その評価の結果に応じて超平面Set#1が更新される。
(E)超平面Set#2を用いて変換されたバイナリデータのうち、通常環境に対応するバイナリデータと、乾燥環境に対応するバイナリデータとの間の非類似度の反対称成分QHamm(反対称距離)が計算される。このとき、QHamm(Bq,Br)の第1入力値Bqには乾燥環境に対応するバイナリデータが入力され、第2入力値Brには通常環境に対応するバイナリデータが入力される。つまり、第1入力値と第2入力値とにそれぞれ特定の環境が設定されている。
(G)一方、同一提供者から通常環境と乾燥環境とで提供された非構造化データに対応する特徴ベクトルのペアを示す情報が特定される。(H)そして、同一提供者に対応するバイナリデータ間の反対称距離が近く、異なる提供者に対応するバイナリデータ間の反対称距離が遠くなるほど高い評価となる評価基準を用いて超平面Set#2が評価される。そして、その評価の結果に応じて超平面Set#2が更新される。
なお、超平面Set#1の評価は、例えば、ある特徴ベクトルから近い所定数Nの特徴ベクトルについて、上記(F)の近傍探索の結果と、上記(D)の対称距離に基づく近傍探索の結果とが一致するかを基準とする。一方、超平面Set#2の評価は、上記(E)の反対称距離が閾値Th以下の範囲に他の提供者に対応するバイナリデータが入らないことを基準とする。超平面Set#1、#2を更新しながら、上記(B)から(H)の処理を繰り返し実行することで、上述したバイナリデータの生成に好適な超平面の組み合わせが得られる。
以上、情報処理装置100の機能について説明した。
[2−3.処理の流れ]
次に、バイナリデータの登録処理、及び入力された非構造化データの特徴ベクトル(クエリ)に類似する特徴ベクトル(レコード)の検索処理について処理の流れを説明する。
(登録処理)
まず、図10を参照しながら、バイナリデータの登録処理の流れについて説明する。図10は、第2実施形態に係る登録処理の流れを示したフロー図である。
(S101)バイナリデータ生成部102は、入力装置200から登録情報101b(図5を参照)に登録される特徴ベクトルを取得する。
(S102)バイナリデータ生成部102は、超平面情報101a(図4を参照)を参照し、対称成分用の超平面に関する法線ベクトル及びオフセットの情報を用いて、S101で取得した特徴ベクトルからバイナリデータB1rを生成する(図6を参照)。
なお、特徴ベクトルをV、法線ベクトルをVn、オフセットをDと表現すると、超平面Sの方程式は上記の式(4)で与えられる。また、超平面Sを用いて特徴ベクトルVから得られるビット値をbS(V)と表現すると、ビット値bS(V)は上記の式(5)で与えられる。また、超平面S1、S2、…、Snが与えられると、特徴ベクトルVに対応するバイナリデータb(V)は、上記の式(6)で与えられる。
(S103)バイナリデータ生成部102は、超平面情報101aを参照し、反対称成分用の超平面に関する法線ベクトル及びオフセットの情報を用いて、S101で取得した特徴ベクトルからバイナリデータB2rを生成する(図6を参照)。
(S104)バイナリデータ生成部102は、S102で生成した対称成分用のバイナリデータと、S103で生成した反対称成分用のバイナリデータとを登録情報101bに追加する。このとき、バイナリデータ生成部102は、S101で取得した特徴ベクトルの元データを示すデータIDと、その特徴ベクトルと、S102及びS103で生成したバイナリデータとを対応付けて登録情報101bに追加する。
(S105)バイナリデータ生成部102は、登録処理を終了するかを判定する。登録対象の特徴ベクトルについて処理が完了し、登録処理を終了する場合、図10に示した一連の処理は終了する。一方、未登録の特徴ベクトルがある場合、処理はS101へと進む。
(検索処理)
次に、図11及び図12を参照しながら、検索処理の流れについて説明する。図11は、第2実施形態に係る検索処理の流れを示した第1のフロー図である。図12は、第2実施形態に係る検索処理の流れを示した第2のフロー図である。
(S111)バイナリデータ生成部102は、検索キーとなる特徴ベクトルVq(クエリ)を入力装置200から取得する。
(S112)バイナリデータ生成部102は、超平面情報101a(図4を参照)を参照し、対称成分用の超平面に関する法線ベクトル及びオフセットの情報を用いて、S111で取得した特徴ベクトルVqからバイナリデータB1qを生成する(図6を参照)。
(S113)バイナリデータ生成部102は、超平面情報101aを参照し、反対称成分用の超平面に関する法線ベクトル及びオフセットの情報を用いて、S111で取得した特徴ベクトルVqからバイナリデータB2qを生成する(図6を参照)。
(S114)対称成分計算部103及び反対称成分計算部104は、登録情報101bに登録されているバイナリデータB1r、B2rの組の中から、未選択のバイナリデータB1r、B2rの組を選択する。
(S115)対称成分計算部103は、S112で生成されたバイナリデータB1qと、S114で選択されたバイナリデータB1rとの間の非類似度Hamm(B1q,B1r)(対称成分:図7(A)を参照)を計算する。
(S116)反対称成分計算部104は、S113で生成されたバイナリデータB2qと、S114で選択されたバイナリデータB2rとの間の非類似度QHamm(B2q,B2r)(反対称成分:図7(B)を参照)を計算する。
(S117)類否判定部105は、S115で計算された対称成分と、S116で計算された反対称成分の和(非類似度XHamm)を計算する。
(S118)類否判定部105は、全てのバイナリデータB1r、B2rを選択したか否かを判定する。全てのバイナリデータB1r、B2rを選択し終えている場合、処理はS119へと進む。一方、未選択のバイナリデータB1r、B2rがある場合、処理はS114へと進む。
(S119)類否判定部105は、非類似度XHammが小さい順にk個(kは1以上の所定数)のデータIDを特定する。つまり、類否判定部105は、登録情報101bを参照し、非類似度XHammが小さい順に抽出したバイナリデータB1r、B2rに対応するk個のデータIDを特定する。
(S120)類否判定部105は、S119で特定したデータIDに対応する特徴ベクトルVrを登録情報101bから1つ取得する。
(S121)類否判定部105は、特徴ベクトルVq、Vrの類似度を計算する。
(S122)類否判定部105は、S119で特定した全てのデータIDに対応する特徴ベクトルを取得し終えたか否かを判定する。全てのデータIDに対応する特徴ベクトルを取得し終えた場合、処理はS123へと進む。一方、未取得の特徴ベクトルがある場合、処理はS120へと進む。
(S123)類否判定部105は、S121で計算した類似度の中から最大の類似度を特定し、最大の類似度に対応するデータIDを出力装置300に出力する。S123の処理が完了すると、図11及び図12に示した一連の処理は終了する。
以上、情報処理装置100が実行する処理の流れについて説明した。
上記のように、超平面の一方向性に環境の変化による影響を反映させ、反対称性を有する非類似度の評価を通じて環境変化による影響を類似検索に加味することで、環境変化に起因する検索誤差を抑制することが可能になる。
以上、第2実施形態について説明した。
10 情報処理装置
11 記憶部
12 演算部
21 登録データ
22a 第1の登録特徴データ
22b 第2の登録特徴データ
31 対象データ
32a 第1の対象特徴データ
32b 第2の対象特徴データ
33 第1の演算処理
34 第1の非類似度
35 第2の演算処理
36 第2の非類似度
37 非類似度

Claims (6)

  1. 登録データが有する第1の特徴を表す第1の登録特徴データと、前記登録データが有する第2の特徴を表す第2の登録特徴データとを記憶する記憶部と、
    対象データが有する前記第1の特徴を表す第1の対象特徴データと、前記対象データが有する前記第2の特徴を表す第2の対象特徴データとを生成し、
    2つの入力値の交換に対して演算結果が変化しない対称性を持つ演算処理であって前記2つの入力値の間の非類似度を計算する第1の演算処理により、前記第1の登録特徴データと前記第1の対象特徴データとの間の第1の非類似度を計算し、
    2つの入力値の交換に対して演算結果が変化する反対称性を持つ演算処理であって前記2つの入力値の間の非類似度を計算する第2の演算処理により、前記第2の登録特徴データと前記第2の対象特徴データとの間の第2の非類似度を計算し、
    前記第1の非類似度と前記第2の非類似度とに基づいて、前記対象データに類似する前記登録データを特定する演算部と
    を有する、情報処理装置。
  2. 前記演算部は、前記第1の非類似度と前記第2の非類似度との和が小さい順に前記登録データを特定する
    請求項1に記載の情報処理装置。
  3. 前記第1の登録特徴データ、前記第2の登録特徴データ、前記第1の対象特徴データ、及び前記第2の対象特徴データはビット列であり、
    前記第1の演算処理は、前記2つの入力値のうち一の入力値と他の入力値との間の排他的論理和に含まれる1の数をカウントする演算処理であり、
    前記第2の演算処理は、前記2つの入力値のうち一の入力値と、他の入力値を反転した反転値との間の論理積に含まれる1の数をカウントする演算処理である
    請求項1又は2に記載の情報処理装置。
  4. 前記第1の特徴は、同じ環境で採取された第1及び第2のデータを比較した際に前記第1のデータが有する前記第1の特徴と前記第2のデータが有する前記第1の特徴との類似度が高いほど前記第1の非類似度が小さくなる特徴であり、
    前記第2の特徴は、異なる環境で採取された第3及び第4のデータを比較した際に前記第3のデータが有する前記第2の特徴と前記第4のデータが有する前記第2の特徴との類似度が高いほど前記第2の非類似度が小さくなる特徴である
    請求項1〜3のいずれか1項に記載の情報処理装置。
  5. コンピュータが、
    記憶部から、登録データが有する第1の特徴を表す第1の登録特徴データと、前記登録データが有する第2の特徴を表す第2の登録特徴データとを取得し、
    対象データが有する前記第1の特徴を表す第1の対象特徴データと、前記対象データが有する前記第2の特徴を表す第2の対象特徴データとを生成し、
    2つの入力値の交換に対して演算結果が変化しない対称性を持つ演算処理であって前記2つの入力値の間の非類似度を計算する第1の演算処理により、前記第1の登録特徴データと前記第1の対象特徴データとの間の第1の非類似度を計算し、
    2つの入力値の交換に対して演算結果が変化する反対称性を持つ演算処理であって前記2つの入力値の間の非類似度を計算する第2の演算処理により、前記第2の登録特徴データと前記第2の対象特徴データとの間の第2の非類似度を計算し、
    前記第1の非類似度と前記第2の非類似度とに基づいて、前記対象データに類似する前記登録データを特定する
    類似データ検索方法。
  6. コンピュータに、
    記憶部から、登録データが有する第1の特徴を表す第1の登録特徴データと、前記登録データが有する第2の特徴を表す第2の登録特徴データとを取得し、
    対象データが有する前記第1の特徴を表す第1の対象特徴データと、前記対象データが有する前記第2の特徴を表す第2の対象特徴データとを生成し、
    2つの入力値の交換に対して演算結果が変化しない対称性を持つ演算処理であって前記2つの入力値の間の非類似度を計算する第1の演算処理により、前記第1の登録特徴データと前記第1の対象特徴データとの間の第1の非類似度を計算し、
    2つの入力値の交換に対して演算結果が変化する反対称性を持つ演算処理であって前記2つの入力値の間の非類似度を計算する第2の演算処理により、前記第2の登録特徴データと前記第2の対象特徴データとの間の第2の非類似度を計算し、
    前記第1の非類似度と前記第2の非類似度とに基づいて、前記対象データに類似する前記登録データを特定する
    処理を実行させる、類似データ検索プログラム。
JP2016046593A 2016-03-10 2016-03-10 情報処理装置、類似データ検索方法、及び類似データ検索プログラム Active JP6646216B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016046593A JP6646216B2 (ja) 2016-03-10 2016-03-10 情報処理装置、類似データ検索方法、及び類似データ検索プログラム
US15/425,129 US10121085B2 (en) 2016-03-10 2017-02-06 Information processing apparatus and method of searching for similar data

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2017162230A true JP2017162230A (ja) 2017-09-14
JP6646216B2 JP6646216B2 (ja) 2020-02-14

Family

ID=59788571

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US10121085B2 (ja)
JP (1) JP6646216B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020525958A (ja) * 2017-10-06 2020-08-27 三菱電機株式会社 画像処理システム及び画像処理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102681701B1 (ko) * 2018-11-14 2024-07-05 현대자동차주식회사 얼굴 인식 장치 및 방법
CN113039534A (zh) * 2018-11-16 2021-06-25 富士通株式会社 相似度计算装置、相似度计算方法以及相似度计算程序

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130262489A1 (en) * 2012-03-28 2013-10-03 Fujitsu Limited Information conversion device and information search device
JP2015225353A (ja) * 2014-05-26 2015-12-14 富士通株式会社 画像処理装置、画像判断方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5432935B2 (ja) 2011-02-17 2014-03-05 日本電信電話株式会社 予測器選択装置、予測器選択方法、予測器選択プログラム
JP6134246B2 (ja) 2013-10-16 2017-05-24 日本電信電話株式会社 ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130262489A1 (en) * 2012-03-28 2013-10-03 Fujitsu Limited Information conversion device and information search device
JP2013206187A (ja) * 2012-03-28 2013-10-07 Fujitsu Ltd 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム
JP2015225353A (ja) * 2014-05-26 2015-12-14 富士通株式会社 画像処理装置、画像判断方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020525958A (ja) * 2017-10-06 2020-08-27 三菱電機株式会社 画像処理システム及び画像処理方法

Also Published As

Publication number Publication date
JP6646216B2 (ja) 2020-02-14
US10121085B2 (en) 2018-11-06
US20170262718A1 (en) 2017-09-14

Similar Documents

Publication Publication Date Title
JP6004016B2 (ja) 情報変換方法、情報変換装置および情報変換プログラム
US9202255B2 (en) Identifying multimedia objects based on multimedia fingerprint
US10685008B1 (en) Feature embeddings with relative locality for fast profiling of users on streaming data
WO2022166380A1 (zh) 一种基于meanshift优化的数据处理方法和装置
JP6004015B2 (ja) 学習方法、情報処理装置および学習プログラム
JP7149976B2 (ja) 誤り訂正方法及び装置、コンピュータ読み取り可能な媒体
JP6646216B2 (ja) 情報処理装置、類似データ検索方法、及び類似データ検索プログラム
WO2021143016A1 (zh) 近似数据处理方法、装置、介质及电子设备
JP5518757B2 (ja) 文書分類学習制御装置、文書分類装置およびコンピュータプログラム
Sokolova et al. Computation-efficient face recognition algorithm using a sequential analysis of high dimensional neural-net features
JP5520353B2 (ja) BoF表現生成装置及びBoF表現生成方法
JP6017277B2 (ja) 特徴ベクトルの集合で表されるコンテンツ間の類似度を算出するプログラム、装置及び方法
JP5833499B2 (ja) 高次元の特徴ベクトル集合で表現されるコンテンツを高精度で検索する検索装置及びプログラム
US9792561B2 (en) Learning method, information conversion device, and recording medium
JP6152032B2 (ja) ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム
US11070699B1 (en) Systems and methods for facilitating determining contextual and semantic meaning from an image scan
Pattanshetti et al. Performance evaluation and analysis of feature selection algorithms
Al Jazaery et al. Automated cleaning of identity label noise in a large face dataset with quality control
CN112559170B (zh) 一种边缘计算环境下缓存数据的近似匹配方法
Yang et al. PLSAV: Parallel loop searching and verifying for loop closure detection
CN116415573B (zh) 一种基于知识图谱的文本主题识别方法和***
van Hout et al. Late fusion and calibration for multimedia event detection using few examples
Lulu et al. TMNIO: Triplet merged network with involution operators for improved few‐shot image classification
Affek et al. Open-Set Speaker Identification Using Closed-Set Pretrained Embeddings
Lee et al. One-Stage Mobile Palmprint Recognition via Keypoint Detection Network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191223

R150 Certificate of patent or registration of utility model

Ref document number: 6646216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150