JP6156126B2 - 検索方法、検索プログラムおよび検索装置 - Google Patents

検索方法、検索プログラムおよび検索装置 Download PDF

Info

Publication number
JP6156126B2
JP6156126B2 JP2013263025A JP2013263025A JP6156126B2 JP 6156126 B2 JP6156126 B2 JP 6156126B2 JP 2013263025 A JP2013263025 A JP 2013263025A JP 2013263025 A JP2013263025 A JP 2013263025A JP 6156126 B2 JP6156126 B2 JP 6156126B2
Authority
JP
Japan
Prior art keywords
feature
search
parameter
sphere
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
JP2013263025A
Other languages
English (en)
Other versions
JP2015118639A (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 JP2013263025A priority Critical patent/JP6156126B2/ja
Priority to EP14193218.6A priority patent/EP2890042B1/en
Priority to US14/546,456 priority patent/US9864926B2/en
Priority to CN201410697191.1A priority patent/CN104731847B/zh
Priority to KR1020140167484A priority patent/KR101662904B1/ko
Publication of JP2015118639A publication Critical patent/JP2015118639A/ja
Application granted granted Critical
Publication of JP6156126B2 publication Critical patent/JP6156126B2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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/901Indexing; Data structures therefor; Storage structures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Description

本発明は、検索方法等に関する。
例えば、各種のシステムで利用者を認証する場合には、利用者の生体情報を取得し、取得した生体情報と一致する生体情報が予め登録されたデータベースに存在するか否かを判定する処理を行う。ここで、認証時に取得する生体情報は、登録時に取得した生体情報と完全に一致することは少ないため、類似検索が有効である。
類似検索を行う場合の類似度合いの表現として、生体情報の特徴量をハッシュベクトルに変換する技術があり、ハッシュベクトルのハミング距離の近い各生体情報を、類似する生体情報として特定する。
従来技術では、超平面を用いて特徴量をハッシュベクトルに変換する処理を行っているが、超球を用いて特徴量をハッシュベクトルに変換する処理も存在し、超球を用いた方が精度の向上が見込まれる。
特開2011−100395号公報 特開2012−160047号公報 特開2011−39755号公報
Jae-Pil Heo, Youngwoon Lee, Junfeng He, Shih-Fu Chang, and Sung-Eui Yoon. "Spherical hashing", In CVPR, pp. 2957-2964, 2012. Kengo Terasawa and Yuzuru Tanaka. "Spherical lsh for approximate nearest neighbor search on unit hyper-sphere", In Frank K. H. A. Dehne, Jorg-Rudiger Sack, and Norbert Zeh, editors, WADS, Vol. 4619 of Lecture Notes in Computer Sciene, pp. 27-38. Springer, 2007.
しかしながら、上述した従来技術では、超球を用いてハッシュベクトルを算出すると、計算量が大きくなるという問題がある。
また、超球を用いて特徴量ベクトルをハッシュベクトルに変換すると、ワームホールの影響により、大きく異なる特徴量ベクトル同士であっても、ハッシュベクトル変換後のハミング距離が小さくなる場合がある。このため、異なる特徴量ベクトル同士を、類似する特量ベクトルとして誤判定する場合がある。
1つの側面では、超球を用いて簡単に類似検索を実行することができる検索方法、検索プログラムおよび検索装置を提供することを目的とする。
第1の案では、コンピュータが下記の処理を実行する。コンピュータは、データベースに記憶された第1次元の特徴量ベクトルを取得する。コンピュータは、球の表面上に射影される特徴量ベクトルの位置が、前記球の半球に集約されるパラメータを検索する。ただし、パラメータは、特徴量空間と、特徴量空間の次元よりも1次元以上大きい空間に存在する球を通る直線との交点および球の所定点から特徴量空間までの距離を含む情報である。
本発明の1実施態様によれば、超球を用いて簡単に類似検索を実行することができるという効果を奏する。
図1は、本実施例1に係る検索装置の構成を示す機能ブロック図である。 図2Aは、特徴量記憶部のデータ構造の一例を示す図である。 図2Bは、ビット列記憶部のデータ構造の一例を示す図である。 図3は、特徴量空間Vと超球Sとの関係を示す図(1)である。 図4は、特徴量空間Vと超球Sとの関係を示す図(2)である。 図5は、本実施例1に係る検索装置の処理手順を示すフローチャートである。 図6は、本実施例1に係るパラメータ特定処理の処理手順を示すフローチャートである。 図7は、無限遠点のショートカットを説明するための図である。 図8は、特徴量ベクトルが超球の東半球に逆立体射影されるパラメータの一例を示す図である。 図9は、特徴量ベクトルが超球の西半球に逆立体射影されるパラメータの一例を示す図である。 図10は、本実施例2に係る検索装置の構成を示す機能ブロック図である。 図11は、近似直線の一例を示す図である。 図12は、本実施例2に係るパラメータ特定処理の処理手順を示すフローチャートである。 図13は、本実施例3に係る検索装置の構成を示す機能ブロック図である。 図14は、山登り探索を用いたパラメータ特定処理の処理手順を示すフローチャートである。 図15は、マルコフ連鎖モンテカルロ法を用いたパラメータ特定処理の処理手順を示すフローチャートである。 図16は、群知能を用いたパラメータ特定処理の処理手順を示すフローチャートである。 図17は、目的関数の処理手順の一例を示すフローチャートである。 図18は、検索プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示する検索方法、検索プログラムおよび検索装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例1に係る検索装置の構成の一例について説明する。図1は、本実施例1に係る検索装置の構成を示す機能ブロック図である。図1に示すように、この検索装置100は、特徴量記憶部101、クエリ記憶部102、ビット列記憶部103、逆立体射影部104a,104b、ビット列生成部105a,105bを有する。また、検索装置100は、超平面配置部106、変換規則生成部107、パラメータ設定部108、ハミング距離計算部109、類似ベクトル特定部110を有する。
特徴量記憶部101は、複数の特徴量ベクトルを記憶する記憶部である。図2Aは、特徴量記憶部のデータ構造の一例を示す図である。図2Aに示すように、この特徴量記憶部101は、識別情報と、特徴量ベクトルとを対応付けて記憶する。識別情報は、特徴量ベクトルを一意に識別する情報である。特徴量ベクトルは、例えば、ユーザの生体情報から得られるm次元の特徴量のデータである。生体情報から特徴量ベクトルを求める手法は、如何なる従来技術を用いても良い。
クエリ記憶部102は、クエリとなる特徴量ベクトルを記憶する記憶部である。検索装置100は、クエリとなる特徴量ベクトルに類似する特徴量ベクトルを、特徴量記憶部101から検索する。
ビット列記憶部103は、後述するビット列生成部105から取得するビット列を記憶する記憶部である。図2Bは、ビット列記憶部のデータ構造の一例を示す図である。図2Bに示すように、このビット列記憶部103は、識別情報と、ビット列とを対応付けて記憶する。識別情報は、ビット列の生成元となった特徴量ベクトルを一意に識別する情報である。ビット列は、特徴量ベクトルを基にして生成されるビット列である。
逆立体射影部104a,104bは、m次元の特徴量空間Vに対して逆立体射影を行うことで、m次元よりもp次元高い空間V’に埋め込まれた(m+p−1)次元の超球Sと特徴量空間Vとを対応付ける処理部である。pは、1以上の整数である。以下の説明では、逆立体射影部104a,104bをまとめて適宜、逆立体射影部104と表記する。逆立体射影部104は、射影部の一例である。
図3および図4は、特徴量空間Vと超球Sとの関係を示す図である。図3に示すように、逆立体射影を行うと、特徴量空間V上の点と、超球S上の点とが対応付けられる。図3に示す例では、特徴量空間V上の点xと、超球S上の点xとが対応付けられる。超球Sの北極Sと南極Sを結ぶ直線と、特徴量空間Vとの交点をxと定義する。例えば、北極Sの座標は、(xo1,xo2,・・・,xom,1)となり、南極 の座標は、(xo1,xo2,・・・,xom,−1)となる。特徴量空間Vから超球Sの北極Sまでの高さをdと定義する。北極Sと、点xとを通る直線と、超球Sの表面との交点が、xに対応する。また、例えば、図4に示すように、超球Sの断面Sは、特徴量空間Vの領域Vに対応する。
ここで、逆立体射影は、立体射影の逆射影である。立体射影は、図3のように超球Sと特徴量空間Vとを配置し、北極Sから超球Sと交わる直線を引いたとき、超球Sと直線との交点xから直線と特徴量空間Vとの交点xへの写像と定義される。図3に示す例は、pの値が1である場合を示す。
特徴量空間Vの特徴量ベクトル(座標)を(x,x,・・・、x)とするとき、逆立体射影「f−1:V→W」を、式(1)とする。ただし、式(1)のrは、式(2)で定義される。
Figure 0006156126
Figure 0006156126
式(1)および式(2)において、xおよびdはパラメータである。パラメータxおよびdは、図3に示すxおよびdに対応するものである。パラメータxは、超球Sの南極Sに写像される特徴量空間Vの点の座標である。パラメータdは、立体射影のスケールを調整するパラメータであり、超球Sの赤道が特徴量空間Vに写像された時の超球Sの半径に相当するものである。なお、超球Sの赤道の座標は、(xS1,xS2,・・・,xSm,0)となる。
逆立体射影部104は、後述するパラメータ設定部108から、パラメータxおよびパラメータdを取得する。逆立体射影部104は、特徴量ベクトルを、式(1)に代入することで、逆立体射影を行う。
逆立体射影部104aは、クエリ記憶部102に記憶された特徴量ベクトルと式(1)とを基にして、逆立体射影を行い、特徴量ベクトルに対応する超球S上の座標を算出する。逆立体射影部104aは、算出した座標を、ビット列生成部105aに出力する。
逆立体射影部104bは、特徴量記憶部101に記憶された各特徴量ベクトルと式(1)とを基にして、逆立体射影を行い、各特徴量ベクトルに対応する超球S上の複数の座標を算出する。逆立体射影部104bは、算出した複数の座標を、ビット列生成部105bおよび超平面配置部106に出力する。
ビット列生成部105a,105bは、超球S上の座標を変換規則に従って、ビット列に変換する処理部である。このビット列は、ハッシュベクトルに対応する。以下の説明では、ビット列生成部105a,105bをまとめて適宜、ビット列生成部105と表記する。ビット列生成部105は、生成部の一例である。
ビット列生成部105は、式(3)を基にして、超球S上の座標を、ビット列に変換する。
Figure 0006156126
式(3)において、n×(m+1)行列の情報「W11,W12,・・・,Wn(m+1)」およびn×1の情報「c,c,・・・,c」は、変換規則である。ビット列生成部105は、変換規則を、後述する変換規則生成部107から取得する。式(3)において、「x,x,・・・,xm+1」の情報は、超球S上の座標である。
ビット列生成部105は、式(3)を計算することで、「b,b,b,・・・、b」を算出する。例えば、ビット列生成部105は、bを式(4)のように計算する。
=(WN1×x+WN2×x+・・・+WN、m+1×xm+1)+c・・・(4)
ビット列生成部105は、「b,b,b,・・・、b」を算出した後に、bの値が正であれば、bを「1」に変換し、bの値が正でない場合には、bを「0」に変換することで、ビット列を算出する。例えば、「b,b,b,・・・,b」の値がそれぞれ正、負、正、・・・、正の場合には、ビット列生成部105は、ビット列「1,0,1,・・・,1」を生成する。
ビット列生成部105aは、逆立体射影部104aから取得した座標を基にして、ビット列を生成し、生成したビット列をハミング距離生成部104に出力する。
ビット列生成部105bは、逆立体射影部104bから取得する各座標を基にして、複数のビット列を生成し、生成した複数のビット列をビット列記憶部103に出力する。
超平面配置部106は、(m+p−1)次元の超球Sを横切る超平面をn個、超球Sに配置する処理部である。超平面配置部106は、超球Sを横切る超平面であれば、ランダムにn個の超平面を並べても良いし、予め設定された位置にn個の超平面を並べても良い。超平面配置部106は、各超平面の法線ベクトルおよびオフセット座標を特定し、特定した法線ベクトルの情報およびオフセット座標の情報を変換規則生成部107に出力する。法線ベクトルを(v,v,・・・,v)とし、オフセット座標を(c,c,・・・c)とする。
変換規則生成部107は、法線ベクトルの情報およびオフセット座標の情報を基にして、変換規則の情報を生成する処理部である。変換規則生成部107は、n個の法線ベクトルを並べることで、n×(m+1)行列の情報「W11,W12,・・・、Wn(m+1)」を生成する。例えば、式(3)のn×(m+1)行列の各行がそれぞれ、法線ベクトルに対応する。なお、変換規則生成部107は、n×(m+1)行列の情報のうち、不足する次元の値には、ランダム値を割り当てる。また、変換規則生成部107は、オフセット座標を、n×1の情報として生成する。
変換規則生成部107は、n×(m+1)行列の情報およびn×1の情報を、ビット列生成部105およびパラメータ設定部108に出力する。
パラメータ設定部108は、パラメータxおよびdを算出する処理部である。パラメータ設定部108は、検索部の一例である。パラメータ設定部108は、算出したパラメータxおよびdを立体射影部104に出力する。パラメータ設定部108の処理について具体的に説明する。
パラメータ設定部108が、パラメータx(x01,x02,・・・,x0m)を算出する処理について説明する。パラメータ設定部108は、特徴量記憶部101から各特徴量ベクトルを取得し、各特徴量ベクトルの平均値μを算出する。パラメータ設定部108は、平均値μをパラメータxに設定する。
パラメータ設定部108が、パラメータdを算出する処理について説明する。パラメータ設定部108は、特徴量記憶部101から各特徴量ベクトルを取得し、各特徴量ベクトルの分散共分散列の固有値σの平方根を算出する。分散共分散列の固有値は、多次元の特徴量ベクトルが期待値からどれだけ散らばっているかを示す値であり、値が大きいほど、より散らばっていると言える。パラメータ設定部108は、各固有値σのうち、最大のものをσとして特定する。パラメータ設定部108は、σの値をパラメータdに設定する。
パラメータ設定部108は、各特徴量ベクトルが散らばっているほど、パラメータdの値が大きくなる。これによって、逆立体射影部104が逆立体射影を実行すると、特徴量ベクトルが超球の南半球に集約されることになる。
ハミング距離計算部109は、ビット列生成部105aから取得するビット列と、ビット列記憶部103に格納された各ビット列とのハミング距離を算出する処理部である。ハミング距離は、桁数の同じ2つの2進数を比較した場合の、異なる桁の個数である。以下の説明において、ビット列生成部105aから取得するビット列をクエリビット列と表記する。
ハミング距離計算部109は、クエリビット列とビット列記憶部103の各ビット列とのハミング距離の算出結果を、類似ベクトル特定部110に出力する。
類似ベクトル特定部110は、ハミング距離計算部109のハミング距離の算出結果を取得し、クエリビット列とのハミング距離が近い順に、各ビット列に対して順位付けを行う。類似ベクトル特定部110は、順位付けした各ビット列のうち、上位のビット列を、クエリビット列に対応するビット列として出力しても良いし、順位付けの結果を出力しても良い。類似ベクトル特定部110は、特定部の一例である。
次に、本実施例1に係る検索装置100の処理手順の一例について説明する。図5は、本実施例1に係る検索装置の処理手順を示すフローチャートである。図5に示すように、検索装置100のパラメータ設定部108は、パラメータ特定処理を実行する(ステップS101)。
検索装置100の逆立体射影部104aが、パラメータdおよびxを基にして、クエリの特徴ベクトルを逆立体射影し、ビット列生成部105aが、クエリビット列を生成する(ステップS102)。
検索装置100の逆立体射影部104bが、パラメータdおよびxを基にして、特徴量記憶部101の各特徴量ベクトルを逆立体射影し、ビット列生成部105bが、ビット列を生成する(ステップS103)。
検索装置100のハミング距離計算部109が、クエリビット列とビット列記憶部103のビット列とのハミング距離を計算し、類似ベクトル特定部110が、クエリビット列に類似するビット列を特定する(ステップS104)。
次に、図5のステップS101に示したパラメータ特定処理の処理手順について説明する。図6は、本実施例1に係るパラメータ特定処理の処理手順を示すフローチャートである。図6に示すように、パラメータ設定部108は、特徴量記憶部101の特徴量ベクトルの平均値μを算出する(ステップS110)。
パラメータ設定部108は、特徴量ベクトルの分散共分散行列の固有値σの平方根を算出し、その中で最大のものをσに設定する(ステップS111)。パラメータ設定部108は、μの値をxに設定する(ステップS112)。パラメータ設定部108は、σの値をdに設定する(ステップS113)。
次に、本実施例1に係る検索装置100の効果について説明する。検索装置100は、m次元の特徴量ベクトルを(m+p−1)次元の超球に逆立体射影してビット列を求める場合に、特徴ベクトルが超球の南半球に射影されるパラメータdおよびxを検索する。このように、検索装置100は、特徴量ベクトルに対して逆立体射影を実行することで、ビット列を求めるため、ハッシュベクトルを計算する場合の計算量を削減することが出来る。更に、検索装置100は、特徴量ベクトルが超球の南半球に逆立体射影されるパラメータを用いて、逆立体射影を行うため、無限遠点を通るショートカットの影響を除外して、正確に、クエリビット列とビット列とのハミング距離を算出することができる。
図7は、無限遠点のショートカットを説明するための図である。本実施例1に係る検索装置100のようにパラメータ設定を実行しない場合には、特徴量空間Vの無限遠点が、超球Sの北極に一点射影される。このため、例えば、特徴量空間Vの点xから十分に遠い点pが逆立体射影すると超球S上の点p’に対応付けられる。また、特徴量空間Vの点qを逆立体射影すると超球S上の点q’に対応付けられる。このような逆立体射影が行われると、ショートカットが発生する。例えば、特徴量空間Vの原点付近を通る経路10aよりも、無限読点付近を通る経路10bが近くなってしまう場合がある。そうすると、特徴量空間V上では距離10cだけ離れている点同士であっても、超球S上では、距離が近くなってしまう場合があり、これによって、点pのビット列と、点qのビット列とのハミング距離が近くなってしまう場合がある。
これに対して、本実施例1に係る検索装置100は、特徴量ベクトルが超球の南半休に逆立体射影されるパラメータを用いて、逆立体射影を行うため、無限遠点を通るショートカットの影響を除外して、正確に、クエリビット列とビット列とのハミング距離を算出することができる。
ところで、本実施例1では、検索装置100は、特徴量ベクトルが超球の南半球に逆立体射影されるパラメータを計算していたが、これに限定されるものではない。例えば、検索装置100は、特徴量ベクトルが超球の東半球に逆立体射影されるパラメータを算出しても良いし、特徴量ベクトルが超球の西半球に逆立体射影されるパラメータを算出しても良い。
図8は、特徴量ベクトルが超球の東半球に逆立体射影されるパラメータの一例を示す図である。図8に示すように、各特徴量ベクトルが特徴量空間Vの領域20aに分布している場合には、検索装置100は、領域20aの平均値から所定距離左側にxを設定する。なお、第一成分が正となる方向を右とする。このように、検索装置100がxを設定することで、特徴量ベクトルが超球の東半球21aに逆立体射影されるパラメータを求めることが出来る。なお、パラメータdは、パラメータ設定部108と同様の処理を実行して求めることができる。
図9は、特徴量ベクトルが超球の西半球に逆立体射影されるパラメータの一例を示す図である。図9に示すように、各特徴量ベクトルが特徴量空間Vの領域20bに分布している場合には、検索装置100は、領域20bの平均値から所定距離右側にxを設定する。このように、検索装置100がxを設定することで、特徴量ベクトルが超球の西半球21bに逆立体射影されるパラメータを求めることが出来る。なお、パラメータdは、パラメータ設定部108と同様の処理を実行して求めることができる。
本実施例2に係る検索装置の構成の一例について説明する。図10は、本実施例2に係る検索装置の構成を示す機能ブロック図である。図10に示すように、この検索装置200は、特徴量記憶部101、クエリ記憶部102、ビット列記憶部103、逆立体射影部104a,104b、ビット列生成部105a,105bを有する。また、検索装置100は、超平面配置部106、変換規則生成部107、ハミング距離計算部109、類似ベクトル特定部110、パラメータ設定部210を有する。
図10に示す各処理部のうち、特徴量記憶部101、クエリ記憶部102、ビット列記憶部103、逆立体射影部104a,104b、ビット列生成部105a,105bに関する説明は、図1に示した各処理部と同様であるため、同一の符号を付して説明を省略する。また、図10に示す各処理部のうち、超平面配置部106、変換規則生成部107、ハミング距離計算部109、類似ベクトル特定部110に関する説明は、図1に示した各処理部と同様であるため、説明を省略する。
パラメータ設定部210は、パラメータxおよびdを算出する処理部である。パラメータ設定部210は、算出したパラメータxおよびdを逆立体射影部104に出力する。パラメータ設定部210の処理について具体的に説明する。
パラメータ設定部210が、パラメータx(x01,x02,・・・,)を算出する処理について説明する。パラメータ設定部210は、特徴量記憶部101から各特徴量ベクトルを取得し、各特徴量ベクトルの平均値μを算出する。パラメータ設定部210は、平均値μをパラメータxに設定する。
パラメータ設定部210が、パラメータdを算出する処理について説明する。パラメータ設定部210は、特徴量記憶部101から各特徴量ベクトルを取得し、各特徴量ベクトルの分散共分散列の固有値σの平方根を算出する。パラメータ設定部210は、各固有値σのうち、最大のものをσとして特定する。
パラメータ設定部210は、特徴量ベクトルを主成分分析し、累積寄与率を算出する。例えば、パラメータ設定部210は、主成分分析を行い、各次元の主成分の広がりを求める。パラメータ設定部210は、各次元の主成分の広がりを降順に並べ、広がりの大きいものから順に、σ1、σ2、・・・、σNとする。パラメータ設定部210は、式(5)を基にして、λを算出する。また、パラメータ設定部210は、式(6)を基にして、累積寄与率λを算出する。
Figure 0006156126
Figure 0006156126
パラメータ設定部210は、横軸に成分の数「」、縦軸に対数累積寄与率「logλ」とするグラフに、とlogλとの関係をプロットし、プロットした結果から近似直線を特定する。例えば、配置部105は、最小二乗法などを用いて近似直線を特定する。図11は、近似直線の一例を示す図である。パラメータ設定部106は、近似直線の傾きを「γ+1」として算出する。そして、パラメータ設定部210は、式(7)を算出することで、パラメータdを算出する。
d=σ/(γ+1)・・・(7)
次に、本実施例2に係る検索装置200の処理手順について説明する。検索装置200の処理手順は、図5に示した処理手順と同様である。検索装置200は、パラメータ特定処理の内容が、実施例1のパラメータ特定処理と異なるため、ここでは、実施例2に係るパラメータ特定処理の処理手順について説明する。
図12は、本実施例2に係るパラメータ特定処理の処理手順を示すフローチャートである。図12に示すように、パラメータ設定部210は、特徴量記憶部101の特徴量ベクトルの平均値μを算出する(ステップS201)。
パラメータ設定部210は、特徴量ベクトルの分散共分散行列の固有値σの平方根を算出し、その中で最大のものをσに設定する(ステップS202)。パラメータ設定部210は、特徴量ベクトルを主成分分析し、累積寄与率を算出する(ステップS203)。
パラメータ設定部210は、近似直線の傾きを「γ+1」として設定する(ステップS204)。パラメータ設定部210は、μの値をxに設定する(ステップS205)。パラメータ設定部210は、σの値をdに設定する(ステップS206)。
次に、本実施例2に係る検索装置200の効果について説明する。検索装置200は、累積寄与率曲線の傾きを「γ+1」として設定し、設定した「γ+1」と分散共分散行列の値とを基にして、パラメータdを算出する。このパラメータdを用いて、逆立体射影を行うと、特徴量ベクトルが超球の南半球に対応付けられるため、無限遠点を通るショートカットの影響を除外して、正確に、クエリビット列とビット列とのハミング距離を算出することができる。
本実施例3に係る検索装置の構成の一例について説明する。図13は、本実施例3に係る検索装置の構成を示す機能ブロック図である。図13に示すように、この検索装置300は、特徴量記憶部101、クエリ記憶部102、ビット列記憶部103、逆立体射影部104a,104b、ビット列生成部105a,105bを有する。また、検索装置100は、超平面配置部106、変換規則生成部107、ハミング距離計算部109、類似ベクトル特定部110、パラメータ設定部310を有する。
図13に示す各処理部のうち、特徴量記憶部101、クエリ記憶部102、ビット列記憶部103、逆立体射影部104a,104b、ビット列生成部105a,105bに関する説明は、図1に示した各処理部と同様であるため、同一の符号を付して説明を省略する。また、図13に示す各処理部のうち、超平面配置部106、変換規則生成部107、ハミング距離計算部109、類似ベクトル特定部110に関する説明は、図1に示した各処理部と同様であるため、説明を省略する。
パラメータ設定部310は、パラメータxおよびdを算出する処理部である。パラメータ設定部310は、算出したパラメータxおよびdを立体射影部104に出力する。本実施例3に係るパラメータ設定部310は、山登り探索、マルコフ連鎖モンテカルロ法、群知能のいずれかを用いて、パラメータxおよびdを算出する。
パラメータ設定部310が、「山登り探索」を用いて、パラメータxおよびdを特定する処理の一例について説明する。パラメータ設定部310は、パラメータxおよびdの初期値を特定し、この初期値によって算出される各特徴量ベクトルのビット列を、ビット列生成部105bから取得する。パラメータ設定部310は、例えば、実施例1に示したパラメータ108と同様の手法により、パラメータxおよびdの初期値を特定する。パラメータ設定部310は、各特徴量ベクトルとビット列とを基にして、近似類似検索を実行し、近似精度を計算する。例えば、近似精度は、式(8)によって算出される。
Figure 0006156126
ここで、近似精度を算出する処理の一例について説明する。例えば、パラメータ設定部310は、特徴量記憶部101から、ある特徴量ベクトルvを選出し、特徴量ベクトルvとの距離が、特徴量空間上で最も近い特徴量ベクトルを、第1位から第M位まで特定する。特徴量ベクトルvとの距離が、特徴量空間上で最も近い特徴量ベクトルを特徴量ベクトルva1〜vaMとする。例えば、式(8)において、特徴量ベクトルの数Mが、|R|に対応する。
パラメータ設定部310は、ビット列生成部105bから特徴量ベクトルvに対応するビット列との距離が、最も近いビット列を、第1位から第M位まで特定し、特定したビット列に対応する特徴量ベクトルvb1〜vbMを特定する。例えば、パラメータ設定部310は、識別情報を基にして、ビット列と特徴量ベクトルを対応付ければよい。パラメータ設定部310は、特徴量ベクトルvb1〜vbMのうち、何個の特徴量ベクトルが、特徴量ベクトルva1〜vaMと同一のものであるかを計数する。この計数した数が、式(8)の|R∩Q|に対応する。
パラメータ設定部310は、初期値のパラメータxおよびdを算出した後に、パラメータxおよびdの近傍値を設定して、逆立体射影部104bに出力し、近傍値に対する近似精度を算出する。パラメータ設定部310は、上記処理を繰り返し実行し、近似精度の最も高いパラメータxおよびdを特定する。
ハミング距離計算部109は、パラメータ設定部310によって特定された近似精度の最も高いパラメータxおよびdによって算出されたビット列を基にして、ハミング距離を計算する。
続いて、パラメータ設定部310が、「マルコフ連鎖モンテカルロ法」を用いて、パラメータxおよびdを特定する処理の一例について説明する。パラメータ設定部310は、第1のパラメータxおよびdを特定し、この第1のパラメータxおよびdによって算出される各特徴量ベクトルのビット列を、ビット列生成部105bから取得する。パラメータ設定部310は、例えば、実施例1に示したパラメータ108と同様の手法により、第1のパラメータxおよびdの初期値を特定する。パラメータ設定部310は、各特徴量ベクトルとビット列とを基にして、近似類似検索を実行し、第1のパラメータの近似精度X1を計算する。例えば、近似精度は、山登り探索と同様にして、式(8)によって算出される。
パラメータ設定部310は、第1のパラメータxおよびdの近傍値を、第2のパラメータxおよびdとして設定する。パラメータ設定部310は、この第2のパラメータxおよびdによって算出される各特徴量ベクトルのビット列を、ビット列生成部105bから取得する。パラメータ設定部310は、各特徴量ベクトルとビット列とを基にして、近似類似検索を実行し、第2のパラメータの近似精度X2を計算する。
パラメータ設定部310は、乱数を振り、乱数の値がX2/X1よりも小さい場合に、第2のパラメータxおよびdを第1のパラメータxおよびdに設定する。また、パラメータ設定部310は、第1のパラメータxおよびdの近傍値を第2のパラメータxおよびdに設定し、上記処理を繰り返し実行する。
一方、パラメータ設定部310は、乱数を振り、乱数の値がX2/X1よりも小さくない場合に、第1のパラメータxおよびdをそのままにする。また、パラメータ設定部310は、第1のパラメータxおよびdの新たな近傍値を第2のパラメータxおよびdに設定し、上記処理を繰り返し実行する。
パラメータ設定部310が上記処理を所定回数繰り返した後に得られる最終的な第1のパラメータxおよびdを用いて、ハミング距離計算部109は、ハミング距離を計算する。
続いて、パラメータ設定部310が、「群知能」を用いて、パラメータxおよびdを特定する処理の一例について説明する。パラメータ設定部310は、複数のパラメータxおよびdを特定する。例えば、パラメータ設定部310は、実施例1に示したパラメータ108と同様の手法により、パラメータxおよびdを求め、更に、このパラメータxおよびdの近傍値を複数求めることで、複数のパラメータxおよびdを特定する。
パラメータ設定部310は、複数のパラメータxおよびdによって算出される各特徴量ベクトルのビット列を、ビット列生成部105bから取得する。パラメータ設定部310は、各パラメータxおよびdを、荷電粒子の位置と見なし、目的関数を使用して、荷電系探索を実行することで、近似精度の最も高いパラメータxおよびdを特定する。
パラメータxおよびdを荷電粒子の位置とみなすことで、各パラメータxおよびdを移動させる場合に、各パラメータxおよびdが、相互に近づかないような制約を設けることが出来る。そして、所定距離離れた位置で、近似精度が最も大きくなるパラメータxおよびdを、荷電粒子の位置毎に特定することができる。パラメータ設定部310は、荷電粒子毎に特定した最大の近似精度となるパラメータxおよびdのうち、最大の近似精度となるパラメータxおよびdを特定する。係るパラメータを使用して、ハミング距離計算部109は、ハミング距離を計算する。
なお、荷電系探索の目的関数は、パラメータxおよびdが与えられた場合に、近似精度を算出する関数であり、近似精度を算出する処理の内容は、上述した山登り検索およびマルコフ連鎖モンテカルロ法と同様である。
次に、本実施例3に係る検索装置300の処理手順について説明する。検索装置300の処理手順は、図5に示した処理手順と同様である。検索装置300は、パラメータ特定処理の内容が、実施例1のパラメータ特定処理と異なるため、ここでは、実施例3に係るパラメータ特定処理の処理手順について説明する。以下では、パラメータ特定処理を、山登り探索を用いたパラメータ特定処理、マルコフ連鎖モンテカルロ法を用いたパラメータ特定処理、群知能を用いたパラメータ特定処理について順に説明する。
まず、山登り探索を用いたパラメータ特定処理の処理手順の一例について説明する。図14は、山登り探索を用いたパラメータ特定処理の処理手順を示すフローチャートである。図14に示すように、検索装置300のパラメータ設定部310は、パラメータxおよびdを特定する(ステップS301)。逆立体射影部104は、特徴量ベクトルを超球に逆立体射影し、超平面配置部106に結果を出力する(ステップS302)。
検索装置300は、所定回数処理を繰り返した場合には(ステップS303,Yes)、パラメータ特定処理を終了する。一方、検索装置300は、所定回数処理を繰り返していない場合には(ステップS303,No)、ステップS304に移行する。
超平面配置部106は、超球に超平面を配置し、変換規則生成部107は、変換規則を生成する(ステップS304)。パラメータ設定部310は、近似類似検索の近似精度を計算する(ステップS305)。
パラメータ設定部310は、パラメータdおよびxの近傍値を複数生成し、それぞれを逆立体射影部104dに出力する(ステップS306)。逆立体射影部104bは、それぞれのパラメータdおよびxを用いて、特徴量ベクトルを超球に逆立体射影し、超平面配置部106に出力する(ステップS307)。
超平面配置部106は、超球に超平面を配置し、変換規則を生成する(ステップS308)。パラメータ設定部310は、ビット列生成部105bからビット列を取得し、各近傍値での近似精度を計算する(ステップS309)。パラメータ設定部310は、最も近似精度の良い値を、パラメータdおよびxに設定し(ステップS310)、ステップS303に移行する。
次に、マルコフ連鎖モンテカルロ法を用いたパラメータ特定処理の処理手順の一例について説明する。図15は、マルコフ連鎖モンテカルロ法を用いたパラメータ特定処理の処理手順を示すフローチャートである。
図15に示すように、検索装置300のパラメータ設定部310は、パラメータxおよびdを特定する(ステップS401)。逆立体射影部104は、特徴量ベクトルを超球に逆立体射影し、超平面配置部106に結果を出力する(ステップS402)。
検索装置300は、所定回数処理を繰り返した場合には(ステップS403,Yes)、パラメータ特定処理を終了する。一方、検索装置300は、所定回数処理を繰り返していない場合には(ステップS403,No)、ステップS404に移行する。
超平面配置部106は、超球に超平面を配置し、変換規則生成部107は、変換規則を生成する(ステップS404)。パラメータ設定部310は、近似類似検索の近似精度を計算する(ステップS405)。
パラメータ設定部310は、近似類似検索の近似精度X1を計算する(ステップS405)。パラメータ設定部310は、パラメータxおよびdの近傍値を一つ生成し、逆立体射影部104bに出力する(ステップS406)。
逆立体射影部104bは、近傍値を用いて、特徴量ベクトルを超球に逆立体射影し、超平面配置部106に出力する(ステップS407)。超平面配置部106は、超球に超平面を配置し、変換規則を生成する(ステップS408)。パラメータ設定部310は、ビット列生成部105bからビット列を取得し、近傍値での近似精度X2を計算する(ステップS409)。
パラメータ設定部310は、[0、1]の乱数を割り振り、乱数がX2/X1よりも小さい場合には、近傍値をパラメータxおよびdに設定し、そうでなければ、パラメータxおよびdをそのままにし(ステップS410)、ステップS403に移行する。
次に、群知能を用いたパラメータ特定処理の処理手順の一例について説明する。図16は、群知能を用いたパラメータ特定処理の処理手順を示すフローチャートである。
図16に示すように、検索装置300のパラメータ設定部310は、パラメータxおよびdを特定する(ステップS501)。逆立体射影部104は、特徴量ベクトルを超球に逆立体射影し、超平面配置部106に結果を出力する(ステップS502)。
検索装置300は、所定回数処理を繰り返した場合には(ステップS503,Yes)、パラメータ特定処理を終了する。一方、検索装置300は、所定回数処理を繰り返していない場合には(ステップS503,No)、ステップS504に移行する。
パラメータ設定部310は、それぞれのパラメータを荷電粒子の位置と見なし、目的関数を使用して、荷電系探索を実行し、パラメータxおよびdを特定し(ステップS504)、ステップS503に移行する。
ここで、図16のステップS504で示した目的関数の処理手順の一例について説明する。図17は、目的関数の処理手順の一例を示すフローチャートである。
図17に示すように、検索装置300の超平面配置部106は超平面を配置し、変換規則生成部107が変換規則を生成する(ステップS511)。パラメータ設定部310は、近似類似検索の近似精度X1を計算し(ステップS512)、近似精度X1を出力する(ステップS513)。
次に、本実施例3に係る検索装置300の効果について説明する。検索装置300は、パラメータxおよびdを特定する場合に、山登り探索、マルコフ連鎖モンテカルロ法、群知能を用いるため、最適なパラメータxおよびdを効率的に特定することができる。
ところで、上記実施例では、特徴量空間Vの次元よりも1大きい次元の空間に存在する超球Sに対して逆立体射影を実行する場合について説明したがこれに限定されるものではない。例えば、特徴量空間Vの次元よりも2以上大きい次元の空間に存在するm次元球に対して、逆立体射影する場合にも、同様に本願を適用することができる。
次に、上記実施例に示した検索装置と同様の機能を実現する画像処理装置を実行するコンピュータの一例について説明する。図18は、検索プログラムを実行するコンピュータの一例を示す図である。
図18に示すように、このコンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403を有する。また、コンピュータ400は、記憶媒体からプログラム等を読取る読み取り装置404と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置405とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407を有する。そして、各装置401〜407は、バス408に接続される。
ハードディスク装置407は、検索プログラム407a、射影プログラム407b、生成プログラム407c、特定プログラム407dを有する。CPU401は、各プログラム407a〜407dを読み出してRAM406に展開する。
検索プログラム407aは、検索プロセス406aとして機能する。射影プログラム407bは、射影プロセス406bとして機能する。生成プログラム407cは、生成プロセス406cとして機能する。特定プログラム407dは、特定プロセス406dとして機能する。
例えば、検索プロセス406aは、パラメータ設定部108に対応する。射影プロセス406bは、逆立体射影部104に対応する。生成プロセス406cは、ビット列生成部105に対応する。特定プロセス406dは、類似ベクトル特定部110に対応する。
なお、各プログラム407a〜407dについては、必ずしも最初からハードディスク装置407に記憶させておかなくても良い。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200がこれらから各プログラム407a〜407dを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが実行する検索方法であって、
データベースに記憶された第1次元の特徴量ベクトルを取得し、
特徴量空間と、前記特徴量空間の次元よりも1次元以上大きい空間に存在する球を通る直線との交点および前記球の所定点から前記特徴量空間までの距離を含むパラメータを基にして前記特徴量ベクトルを前記球の表面上に射影する場合に、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の半球に集約されるパラメータを検索する
処理を実行することを特徴とする検索方法。
(付記2)前記検索する処理によって探索されたパラメータを用いて複数の特徴量ベクトルを前記球の表面上に射影し、射影した前記特徴量ベクトルの位置と前記球を分割する複数の超平面との関係から前記特徴量ベクトルのビット列を生成し、生成したビット列を基にして類似する特徴量ベクトルを特定する処理を判定する処理を更に実行することを特徴とする付記1に記載の検索方法。
(付記3)前記検索する処理は、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の南半球、東半球または西半球に集約される前記パラメータを検索することを特徴とする付記1または2に記載の検索方法。
(付記4)前記検索する処理は、前記特徴量ベクトルの平均値と、前記特徴量ベクトルの分散共分散行列の固有値の最大値を基にして前記パラメータを検索することを特徴とする付記1または2に記載の検索方法。
(付記5)前記検索する処理は、前記特徴量ベクトルの主成分分析結果を基にして、累積寄与率曲線を特定し、該累積寄与率曲線を基にして前記パラメータを検索することを特徴とする付記1または2に記載の検索方法。
(付記6)前記検索する処理は、山登り法、マルコフ連鎖モンテカルロ法または群知能を基にして、パラメータを検索することを特徴とする付記1または2に記載の検索方法。
(付記7)コンピュータに、
データベースに記憶された第1次元の特徴量ベクトルを取得し、
特徴量空間と、前記特徴量空間の次元よりも1次元以上大きい空間に存在する球を通る直線との交点および前記球の所定点から前記特徴量空間までの距離を含むパラメータを基にして前記特徴量ベクトルを前記球の表面上に射影する場合に、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の半球に集約されるパラメータを検索する
処理を実行させることを特徴とする検索プログラム。
(付記8)前記検索する処理によって探索されたパラメータを用いて複数の特徴量ベクトルを前記球の表面上に射影し、射影した前記特徴量ベクトルの位置と前記球を分割する複数の超平面との関係から前記特徴量ベクトルのビット列を生成し、生成したビット列を基にして類似する特徴量ベクトルを特定する処理を判定する処理を更に実行することを特徴とする付記7に記載の検索プログラム。
(付記9)前記検索する処理は、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の南半球、東半球または西半球に集約される前記パラメータを検索することを特徴とする付記7または8に記載の検索プログラム。
(付記10)前記検索する処理は、前記特徴量ベクトルの平均値と、前記特徴量ベクトルの分散共分散行列の固有値の最大値を基にして前記パラメータを検索することを特徴とする付記7または8に記載の検索プログラム。
(付記11)前記検索する処理は、山登り法、マルコフ連鎖モンテカルロ法または群知能を基にして、パラメータを検索することを特徴とする付記7または8に記載の検索プログラム。
(付記12)データベースに記憶された第1次元の特徴量ベクトルを取得し、特徴量空間と、前記特徴量空間の次元よりも1次元以上大きい空間に存在する球を通る直線との交点および前記球の所定点から前記特徴量空間までの距離を含むパラメータを基にして前記特徴量ベクトルを前記球の表面上に射影する場合に、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の半球に集約されるパラメータを検索する検索部
を有することを特徴とする検索装置。
(付記13)前記検索部によって探索されたパラメータを用いて複数の特徴量ベクトルを前記球の表面に射影する射影部と、前記射影部に射影された前記球の表面上の前記特徴量ベクトルの位置と前記球を分割する複数の超平面との関係から前記特徴量ベクトルのビット列を生成する生成部と、生成部によって生成されたビット列を基にして類似する特徴量ベクトルを特定する特定部を更に有することを特徴とする付記12に記載の検索装置。
(付記14)前記検索部は、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の南半球、東半球または西半球に集約される前記パラメータを検索することを特徴とする付記12または13に記載の検索装置。
(付記15)前記検索部は、前記特徴量ベクトルの平均値と、前記特徴量ベクトルの分散共分散行列の固有値の最大値を基にして前記パラメータを検索することを特徴とする付記12または13に記載の検索装置。
(付記16)前記検索部は、前記特徴量ベクトルの主成分分析結果を基にして、累積寄与率曲線を特定し、該累積寄与率曲線を基にして前記パラメータを検索することを特徴とする付記12または13に記載の検索装置。
(付記17)前記検索部は、前記特徴量ベクトルの主成分分析結果を基にして、累積寄与率曲線を特定し、該累積寄与率曲線の傾きを基にして前記パラメータを検索することを特徴とする付記12または13に記載の検索装置。
(付記18)前記検索部は、山登り法、マルコフ連鎖モンテカルロ法または群知能を基にして、パラメータを検索することを特徴とする付記12または13に記載の検索装置。
100,200,300 検索装置
101 特徴量記憶部
102 クエリ記憶部
103 ビット列記憶部
104a,104b 逆立体射影部
105a,105b ビット列生成部
106 超平面配置部
107 変換規則生成部
108,210,310 パラメータ設定部
109 ハミング距離計算部
110 類似ベクトル特定部

Claims (8)

  1. コンピュータが実行する検索方法であって、
    データベースに記憶された第1次元の特徴量ベクトルを取得し、
    特徴量空間と、前記特徴量空間の次元よりも1次元以上大きい空間に存在する球を通る直線との交点および前記球の所定点から前記特徴量空間までの距離を含むパラメータを基にして前記特徴量ベクトルを前記球の表面上に射影する場合に、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の半球に集約されるパラメータを検索する
    処理を実行することを特徴とする検索方法。
  2. 前記検索する処理によって探索されたパラメータを用いて複数の特徴量ベクトルを前記球の表面上に射影し、射影した前記特徴量ベクトルの位置と前記球を分割する複数の超平面との関係から前記特徴量ベクトルのビット列を生成し、生成したビット列を基にして類似する特徴量ベクトルを特定する処理を判定する処理を更に実行することを特徴とする請求項1に記載の検索方法。
  3. 前記検索する処理は、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の南半球、東半球または西半球に集約される前記パラメータを検索することを特徴とする請求項1または2に記載の検索方法。
  4. 前記検索する処理は、前記特徴量ベクトルの平均値と、前記特徴量ベクトルの分散共分散行列の固有値の最大値を基にして前記パラメータを検索することを特徴とする請求項1または2に記載の検索方法。
  5. 前記検索する処理は、前記特徴量ベクトルの主成分分析結果を基にして、累積寄与率曲線を特定し、該累積寄与率曲線を基にして前記パラメータを検索することを特徴とする請求項1または2に記載の検索方法。
  6. 前記検索する処理は、山登り法、マルコフ連鎖モンテカルロ法または群知能を基にして、パラメータを検索することを特徴とする請求項1または2に記載の検索方法。
  7. コンピュータに、
    特徴量空間と、前記特徴量空間の次元よりも1次元以上大きい空間に存在する球を通る直線との交点および前記球の所定点から前記特徴量空間までの距離を含むパラメータを基にして前記特徴量ベクトルを前記球の表面上に射影する場合に、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の半球に集約されるパラメータを検索する
    処理を実行させることを特徴とする検索プログラム。
  8. データベースに記憶された第1次元の特徴量ベクトルを取得し、特徴量空間と、前記特徴量空間の次元よりも1次元以上大きい空間に存在する球を通る直線との交点および前記球の所定点から前記特徴量空間までの距離を含むパラメータを基にして前記特徴量ベクトルを前記球の表面上に射影する場合に、前記球の表面上に射影される特徴量ベクトルの位置が、前記球の半球に集約されるパラメータを検索する検索部
    を有することを特徴とする検索装置。
JP2013263025A 2013-12-19 2013-12-19 検索方法、検索プログラムおよび検索装置 Active JP6156126B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013263025A JP6156126B2 (ja) 2013-12-19 2013-12-19 検索方法、検索プログラムおよび検索装置
EP14193218.6A EP2890042B1 (en) 2013-12-19 2014-11-14 Search method, search program, and search device
US14/546,456 US9864926B2 (en) 2013-12-19 2014-11-18 Search method, search program, and search device
CN201410697191.1A CN104731847B (zh) 2013-12-19 2014-11-26 搜索方法、搜索程序以及搜索装置
KR1020140167484A KR101662904B1 (ko) 2013-12-19 2014-11-27 검색 방법, 기억 매체 및 검색 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013263025A JP6156126B2 (ja) 2013-12-19 2013-12-19 検索方法、検索プログラムおよび検索装置

Publications (2)

Publication Number Publication Date
JP2015118639A JP2015118639A (ja) 2015-06-25
JP6156126B2 true JP6156126B2 (ja) 2017-07-05

Family

ID=51900266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013263025A Active JP6156126B2 (ja) 2013-12-19 2013-12-19 検索方法、検索プログラムおよび検索装置

Country Status (5)

Country Link
US (1) US9864926B2 (ja)
EP (1) EP2890042B1 (ja)
JP (1) JP6156126B2 (ja)
KR (1) KR101662904B1 (ja)
CN (1) CN104731847B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6638484B2 (ja) * 2016-03-10 2020-01-29 富士通株式会社 情報処理装置、類似検索プログラム、及び類似検索方法
US11853891B2 (en) 2019-03-11 2023-12-26 Sharecare AI, Inc. System and method with federated learning model for medical research applications
US11915802B2 (en) 2019-08-05 2024-02-27 Sharecare AI, Inc. Accelerated processing of genomic data and streamlined visualization of genomic insights
US11321447B2 (en) * 2020-04-21 2022-05-03 Sharecare AI, Inc. Systems and methods for generating and using anthropomorphic signatures to authenticate users
US11829376B2 (en) * 2020-05-06 2023-11-28 Intel Corporation Technologies for refining stochastic similarity search candidates
CN112464821B (zh) * 2020-11-30 2023-10-24 北京九洲科瑞科技有限公司 一种多维空间视界搜索方法及系统
CN117274727B (zh) * 2023-10-25 2024-04-12 荣耀终端有限公司 生物特征信息的处理方法、电子设备及可读存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005984A (en) * 1991-12-11 1999-12-21 Fujitsu Limited Process and apparatus for extracting and recognizing figure elements using division into receptive fields, polar transformation, application of one-dimensional filter, and correlation between plurality of images
US5920644A (en) * 1996-06-06 1999-07-06 Fujitsu Limited Apparatus and method of recognizing pattern through feature selection by projecting feature vector on partial eigenspace
US6539115B2 (en) * 1997-02-12 2003-03-25 Fujitsu Limited Pattern recognition device for performing classification using a candidate table and method thereof
JPH10247243A (ja) * 1997-03-04 1998-09-14 Mitsubishi Heavy Ind Ltd 識別装置
US6120461A (en) * 1999-08-09 2000-09-19 The United States Of America As Represented By The Secretary Of The Army Apparatus for tracking the human eye with a retinal scanning display, and method thereof
US7308140B2 (en) * 2000-05-31 2007-12-11 Samsung Electronics Co., Ltd. Method and device for measuring similarity between images
US7076117B2 (en) * 2001-06-19 2006-07-11 International Business Machines Corporation Methods and apparatus for cut-and-paste editing of multiresolution surfaces
WO2003034176A2 (en) * 2001-10-16 2003-04-24 The University Of Chicago Computer-aided detection of three-dimensional lesions
US7203380B2 (en) * 2001-11-16 2007-04-10 Fuji Xerox Co., Ltd. Video production and compaction with collage picture frame user interface
US7761453B2 (en) * 2005-01-26 2010-07-20 Honeywell International Inc. Method and system for indexing and searching an iris image database
EP1574988B1 (en) * 2004-03-08 2014-06-18 Siemens Product Lifecycle Management Software Inc. Determining and using geometric feature data
US7564990B2 (en) * 2005-08-18 2009-07-21 Nu Skin International, Inc. Imaging system and method for physical feature analysis
WO2007091243A2 (en) * 2006-02-07 2007-08-16 Mobixell Networks Ltd. Matching of modified visual and audio media
EP1996959A4 (en) * 2006-03-03 2012-02-29 Medic Vision Brain Technologies Ltd SYSTEM AND METHOD FOR PRIORITIZE PRIORITIZATION AND AUTOMATIC ANALYSIS OF MEDICAL IMAGES
JP5237596B2 (ja) * 2007-08-10 2013-07-17 オリンパス株式会社 判別装置
ATE469410T1 (de) * 2007-10-09 2010-06-15 Agfa Healthcare Nv Verfahren und vorrichtung zur volumendarstellung medizinischer datensätze
US20090185746A1 (en) * 2008-01-22 2009-07-23 The University Of Western Australia Image recognition
US8331655B2 (en) * 2008-06-30 2012-12-11 Canon Kabushiki Kaisha Learning apparatus for pattern detector, learning method and computer-readable storage medium
CN101667290B (zh) * 2008-09-05 2012-12-19 鸿富锦精密工业(深圳)有限公司 特征元素拟合方法及其计算机系统
US9459515B2 (en) * 2008-12-05 2016-10-04 Mobileye Vision Technologies Ltd. Adjustable camera mount for a vehicle windshield
JP5247480B2 (ja) * 2009-01-13 2013-07-24 キヤノン株式会社 オブジェクト識別装置及びオブジェクト識別方法
JP5277110B2 (ja) 2009-08-11 2013-08-28 日本電信電話株式会社 データ検索方法,データ検索装置,データ検索プログラム
JP2011100395A (ja) 2009-11-09 2011-05-19 Sony Corp 判別装置、判別方法およびプログラム
KR101116663B1 (ko) * 2010-04-15 2012-03-07 성균관대학교산학협력단 고차원 데이터의 유사도 검색을 위한 데이터 분할방법
JP5563494B2 (ja) * 2011-02-01 2014-07-30 株式会社デンソーアイティーラボラトリ 対応参照画像検索装置及び方法、コンテンツ重畳装置、システム、及び方法、並びにコンピュータプログラム
JP5258915B2 (ja) * 2011-02-28 2013-08-07 株式会社デンソーアイティーラボラトリ 特徴変換装置、それを含む類似情報探索装置、コード化パラメータ生成方法、及びコンピュータ・プログラム
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities
US9019350B2 (en) * 2012-04-12 2015-04-28 Raytheon Company Stereo rectification method
US9715723B2 (en) * 2012-04-19 2017-07-25 Applied Materials Israel Ltd Optimization of unknown defect rejection for automatic defect classification
JP5563016B2 (ja) * 2012-05-30 2014-07-30 株式会社デンソーアイティーラボラトリ 情報検索装置、情報検索方法及びプログラム
CN105659287B (zh) * 2013-08-28 2018-08-17 株式会社理光 图像处理装置、图像处理方法和成像系统
JP6393982B2 (ja) * 2013-12-17 2018-09-26 富士通株式会社 空間分割方法、空間分割装置および空間分割プログラム
US9582731B1 (en) * 2014-04-15 2017-02-28 Google Inc. Detecting spherical images

Also Published As

Publication number Publication date
EP2890042B1 (en) 2016-10-12
US9864926B2 (en) 2018-01-09
KR20150072332A (ko) 2015-06-29
US20150178590A1 (en) 2015-06-25
KR101662904B1 (ko) 2016-10-05
EP2890042A1 (en) 2015-07-01
JP2015118639A (ja) 2015-06-25
CN104731847B (zh) 2019-05-28
CN104731847A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
JP6156126B2 (ja) 検索方法、検索プログラムおよび検索装置
JP6004016B2 (ja) 情報変換方法、情報変換装置および情報変換プログラム
JP6269186B2 (ja) 分類方法、分類装置および分類プログラム
CN104615676B (zh) 一种基于最大相似度匹配的图片检索方法
JP2017162306A (ja) 情報処理装置、類似検索プログラム、及び類似検索方法
JP2006190191A (ja) 情報処理装置および方法、並びにプログラム
JP6004015B2 (ja) 学習方法、情報処理装置および学習プログラム
WO2020134819A1 (zh) 一种搜索人脸的方法及相关装置
JP6393982B2 (ja) 空間分割方法、空間分割装置および空間分割プログラム
JP6277710B2 (ja) 空間分割方法、空間分割装置および空間分割プログラム
JP2012155394A (ja) 文書分類学習制御装置、文書分類装置およびコンピュータプログラム
JP5791666B2 (ja) ビジュアルキーワードの動的生成装置
Chandar et al. Enhancing cluster compactness using genetic algorithm initialized K-means
JP2006190192A (ja) 情報処理装置および方法、並びにプログラム
JP2016042237A (ja) クラスタリング装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160905

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170421

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170522

R150 Certificate of patent or registration of utility model

Ref document number: 6156126

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150