[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2013051619A1 - 類似性検出装置及び指向性近傍検出方法 - Google Patents

類似性検出装置及び指向性近傍検出方法 Download PDF

Info

Publication number
WO2013051619A1
WO2013051619A1 PCT/JP2012/075673 JP2012075673W WO2013051619A1 WO 2013051619 A1 WO2013051619 A1 WO 2013051619A1 JP 2012075673 W JP2012075673 W JP 2012075673W WO 2013051619 A1 WO2013051619 A1 WO 2013051619A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
similarity
search
parameter
detection apparatus
Prior art date
Application number
PCT/JP2012/075673
Other languages
English (en)
French (fr)
Inventor
伸治 加美
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US14/348,951 priority Critical patent/US9530081B2/en
Priority to JP2013537536A priority patent/JP6070956B2/ja
Priority to SG11201401213UA priority patent/SG11201401213UA/en
Priority to EP12838222.3A priority patent/EP2765520B1/en
Publication of WO2013051619A1 publication Critical patent/WO2013051619A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • 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/766Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods

Definitions

  • the present invention relates to a feature detection apparatus and a directivity vicinity detection method, and more particularly to a feature detection apparatus and a directivity vicinity detection method for retrieving desired data from a multidimensional continuous data set.
  • the neighborhood search technique is an important technique used in various application ranges. For example, in consideration of the similarity of data such as images and web pages, data having similar characteristics is detected from a huge database. Used for applications. As a very simple method, each data feature is expressed as a point in a space with a defined distance (for example, a point in Euclidean space), and the distance to all data from the query point is calculated. Close data can be detected. However, such a method for directly calculating the distance is very costly, and the calculation load increases nonlinearly as the number of data increases, so various methods have been proposed.
  • Japanese Patent Laid-Open No. 2004-021430 discloses an image search apparatus that can accurately search for an image including a specific subject as a similar image without complicating the user's operation.
  • the image search apparatus is an image search apparatus that extracts an image similar to a reference image as a search key from a search target image group including a plurality of search target images, the reference image and the search target image group Included in the search target image group, means for dividing each image included in the image into a plurality of areas, means for extracting at least one feature amount from each area of the image included in the reference image and the search target image group, and the search target image group
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2005-070927 discloses an image feature acquisition method for acquiring an image feature that can detect an image having a similar drawing shape regardless of the degree of coincidence of images. Is disclosed.
  • the image feature acquisition method is an image feature acquisition method for acquiring an image feature of a two-dimensional image, and the size of the two-dimensional image is changed to a predetermined size.
  • a horizontal component one-dimensional raster image is created by sequentially connecting the starting point of the pixel component in the vertical direction, and the pixel column that continues in the vertical direction from the starting point set at either the top or bottom of the two-dimensional image is defined as the end point of the pixel column. And the starting point of the next pixel row are connected in order in the horizontal direction to create a one-dimensional raster image of the vertical component, and appropriate conversion processing is executed on these one-dimensional raster images.
  • Patent Document 3 Japanese Patent Laid-Open No. 10-326286 discloses a similarity search apparatus that can improve the accuracy of similarity search and has a low possibility that important similar data is omitted from the search result.
  • the similarity search device creates a vector database for storing a plurality of vector data, each of which is created for each of a plurality of objects and has a plurality of attributes that characterize the object as vector components, and vector data for a specified similar search object Target vector data creation unit, a search condition set generation unit that generates a plurality of search conditions, and a plurality of vector data stored in the vector database for each search condition generated by the search condition set generation unit
  • Similar search engine that searches for vector data that satisfies the above search condition and that is similar to the target vector data, and a search result display that displays the results searched by the similar search engine for each search condition It is characterized by having a part.
  • LSH Location Sensitive Hashing
  • the probability that the data p collides with a certain query q depends only on the distance d (p, q), and therefore on the circumference of one circle centered on the query q. A plurality of data all collide with the query q with equal probability.
  • JP 2004-021430 A JP-A-2005-070927 JP-A-10-326286
  • the first problem is that the detailed positional relationship represented by the direction is not considered as an index of the closeness of the features of the two data. Specifically, when a distance in one direction is more important than a distance in another direction, it is not possible to perform a neighborhood search while distinguishing the difference in direction. The reason is that the conventional neighborhood search uses a method that depends only on the distance.
  • the second problem is that when only the similarity to a certain viewpoint is concerned, the conventional method takes extra calculation time.
  • the reason is that the conventional method does not consider the direction, and therefore, after extracting candidates by proximity detection in all directions, a two-step process of extracting only data along the direction of interest is necessary. is there.
  • the greater the difference in height of interest depending on the direction when the difference between the weight of the distance along one direction and the weight of the distance along the other direction is very large), the greater the number of candidates detected in the neighborhood, The effect of reducing the calculation time cannot be expected so much.
  • the object of the present invention is to specify an arbitrary similarity criterion (arbitrary direction and importance of an arbitrary distance) in neighborhood detection in a space where the difference in characteristics is defined as a distance, It is an object to provide a similarity detection apparatus and a directivity vicinity detection method for detecting a signal at high speed.
  • the similarity detection apparatus includes a random number generation unit, an initialization unit, a data registration unit, a search unit, and a data processing unit.
  • the random number generator calculates a plurality of pieces of random number information based on a plurality of direction parameters and a plurality of intensity parameters input via the input device.
  • the plurality of direction parameters indicate directions in the Euclidean space.
  • the initialization unit calculates a plurality of key calculation functions based on the plurality of random number information.
  • the data registration unit calculates a plurality of tables corresponding to the plurality of key calculation functions based on the plurality of search target data input through the input device, and records the plurality of tables in the table holding device. .
  • Each of the plurality of search target data indicates a point on the Euclidean space.
  • the distance between two points respectively indicated by two arbitrary search target data among the plurality of search target data indicates the similarity between the two search target data.
  • a table corresponding to an arbitrary key calculation function among the plurality of tables associates a plurality of keys with a plurality of data lists, and data belonging to a data list corresponding to any key of the plurality of data lists The value calculated by being assigned to the arbitrary key calculation function is calculated to be equal to the arbitrary key.
  • the search unit refers to the plurality of tables and calculates a candidate data list based on the query indicated by the search condition input via the input device.
  • the candidate data list includes a plurality of search data lists corresponding to the plurality of key calculation functions.
  • the search data list corresponding to the arbitrary key calculation function of the plurality of search data lists is a query value calculated by substituting the query into the key calculation function of the plurality of data lists.
  • a data list corresponding to is shown.
  • the data processing unit calculates search result data satisfying the condition indicated by the search condition from a plurality of search data belonging to the candidate data list, and outputs the search result data to the output device.
  • a plurality of pieces of random number information are calculated based on a plurality of direction parameters and a plurality of intensity parameters input via the input device.
  • a plurality of key calculation functions are calculated based on the plurality of random number information.
  • a plurality of tables corresponding to the plurality of key calculation functions are calculated based on a plurality of search target data input via the input device.
  • the plurality of tables are recorded in a table holding device.
  • the candidate data list is calculated based on the query indicated by the search condition input via the input device. Further, search result data satisfying the condition indicated by the search condition is calculated from a plurality of search data belonging to the candidate data list.
  • the search result data is output to an output device.
  • the plurality of direction parameters indicate directions in the Euclidean space.
  • Each of the plurality of search target data indicates a point on the Euclidean space.
  • the distance between two points respectively indicated by two arbitrary search target data among the plurality of search target data indicates the similarity between the two search target data.
  • a table corresponding to an arbitrary key calculation function among the plurality of tables associates a plurality of keys with a plurality of data lists, and data belonging to a data list corresponding to any key of the plurality of data lists
  • the value calculated by being assigned to the arbitrary key calculation function is calculated to be equal to the arbitrary key.
  • the candidate data list includes a plurality of search data lists corresponding to the plurality of key calculation functions.
  • the search data list corresponding to the arbitrary key calculation function of the plurality of search data lists is a query value calculated by substituting the query into the key calculation function of the plurality of data lists.
  • a data list corresponding to is shown.
  • the first effect is that it is possible to detect a neighboring point with a high degree of freedom along a certain direction of interest from a certain query point in an enormous amount of data.
  • the reason is that the data management function has a table in which any two points are registered in the same entry with a higher probability as the distance measured by any distance weight (importance) along any direction of interest is shorter. This is because the provision of the proximity proximity detection function is realized.
  • the second effect is speeding up of the directional neighborhood search process.
  • the reason is that by registering data in a plurality of tables in which desired directivities are registered in advance, only data registered in the same entry as the query point can be handled in the directivity neighborhood search from the query point. This is because the online processing time is greatly shortened because it is not necessary to calculate the distance to all data.
  • FIG. 1 is a block diagram showing a similarity detection apparatus according to the present invention.
  • FIG. 2 is a block diagram showing the table management apparatus.
  • FIG. 3 is a flowchart showing the initialization operation.
  • FIG. 4 is a flowchart showing the search operation.
  • FIG. 5 is a table showing examples of directivity parameters.
  • FIG. 6 is a graph showing collision probability isolines corresponding to directivity parameters.
  • FIG. 7 is a table showing examples of directivity parameters.
  • FIG. 8 is a table showing an example of a plurality of table sets.
  • FIG. 9 is a graph showing a plurality of collision probability isolines corresponding to a plurality of directivity parameters.
  • FIG. 10 shows an image.
  • FIG. 11 is a graph showing a plurality of search target data.
  • FIG. 11 is a graph showing a plurality of search target data.
  • FIG. 12 is a table showing an example of a plurality of table sets.
  • FIG. 13 is a graph illustrating an example of a search condition query.
  • FIG. 14 is a graph showing an example of search result data.
  • FIG. 15 is a graph showing a plurality of time-series data.
  • FIG. 16 is a graph showing a plurality of search target data among a plurality of time series data.
  • FIG. 17 is a graph showing a plurality of collision probability isolines.
  • FIG. 18 is a graph showing a plurality of other collision probability isolines.
  • FIG. 19 is a graph showing the collision probability distribution.
  • FIG. 20 is a graph showing another collision probability distribution.
  • FIG. 21 is a graph showing the feature distribution.
  • FIG. 22 is a block diagram showing a mobile management system.
  • FIG. 23 is a table showing a plurality of table sets.
  • the similarity detection apparatus 1 is connected so that a plurality of computers can transmit information to each other in both directions.
  • each of the plurality of computers includes a CPU, a storage device, and an interface.
  • the CPU controls the storage device and the interface by executing a computer program installed in the computer.
  • the storage device records the computer program and temporarily records information created by the CPU.
  • the interface outputs information generated by an external device connected to the computer to the CPU, and outputs information generated by the CPU to the external device.
  • Examples of the external device include an input device, an output device, a communication device, and a removable memory drive.
  • the input device creates information by being operated by the user, and outputs the information to the CPU.
  • Examples of the input device include a keyboard, a pointing device, and a touch panel.
  • the output device outputs information generated by the CPU so that the user can recognize it.
  • Examples of the output device include a display, an acoustic device, and a touch panel.
  • the communication device transmits information created by the CPU via a communication network to another computer, and outputs information received from the other computer via the communication network to the CPU.
  • the communication device is further used to download a computer program installed in the computer from another computer.
  • the removable memory drive is used to read data recorded on the recording medium when the recording medium is inserted.
  • the removable memory drive is further used when the computer program is installed in the computer when a recording medium in which the computer program is recorded is inserted.
  • Examples of the recording medium include a magnetic disk (flexible disk, hard disk), an optical disk (CD, DVD), a magneto-optical disk, and a flash memory.
  • the plurality of computers include a parameter management device 2, a random number generation device 3, a table management device 5, and a data processing device 6.
  • the parameter management device 2 includes an input device 7.
  • the parameter management device 2 controls the input device 7 so that the parameter list 8 is input to the parameter management device 2 via the input device 7.
  • the random number generation device 3 calculates the random number information based on the information output from the table management device 5 when the random number information is requested from the table management device 5.
  • the table management device 5 includes a table holding device 10 and an input device 11.
  • the table management device 5 controls the input device 11 so that the input data 12 is input to the table management device 5 via the input device 11.
  • the table management device 5 calculates a plurality of tables based on the input data 12 and the random number information calculated by the random number generation device 3.
  • the table management device 5 controls the table holding device 10 so that the plurality of tables are recorded in the table holding device 10.
  • the table management device 5 further calculates a data list based on the information output from the data processing device 6 by referring to the plurality of tables when the data processing device 6 requests the data list.
  • the data list is output to the data processing device 6.
  • the data processing device 6 includes an input device 14 and an output device 15.
  • the data processing device 6 controls the input device 14 so that the search condition 16 is input to the data processing device 6 via the input device 14.
  • a search condition 16 indicates a query and a condition.
  • the data processing device 6 further requests the data list from the table management device 5 by outputting the query to the table management device 5.
  • the data processing device 6 calculates search result data based on the conditions and the data list calculated by the table management device 5.
  • the search result data indicates data satisfying the condition among the data indicated by the data list.
  • the data processing device 6 further controls the output device 15 so that the search result data calculated by the table management device 5 is expressed so as to be recognized by the user.
  • FIG. 2 shows the table management device 5.
  • the computer program installed in the table management device 5 is formed of a plurality of computer programs that cause the table management device 5 to realize a plurality of functions.
  • the table management device 5 When the table management device 5 realizes the plurality of functions, the table management device 5 includes a random number information acquisition unit 21, an initialization unit 22, a data registration unit 23, and a search unit 24.
  • the random number information acquisition unit 21 collects the parameter list 8 input to the parameter management device 2 from the parameter management device 2.
  • the parameter list 8 shows table parameters, management parameters, and directional parameters.
  • the table parameters indicate the number of table faces P, the window width W, the radix C, and the bit length B.
  • the number of faces P indicates a positive integer.
  • the window width W indicates a positive real number.
  • the cardinal number C represents an integer of 2 or more.
  • the bit length B indicates a positive integer.
  • the management parameter indicates the number of dimensions D.
  • the directivity parameter indicates the set U.
  • the set U is formed from the directivity parameter u j and is expressed by the following equation.
  • U ⁇ u j
  • u j ⁇ R D ⁇ R + ⁇ (j 1,..., D)
  • the set RD indicates a D-dimensional number vector space.
  • the set R 2 represents a 2-dimensional number vector space.
  • the random number information acquisition unit 21 requests the random number generator 3 for random number information by outputting the window width W, the bit length B, the dimension number D, and the set U in the parameter list 8 to the random number generator 3.
  • the random number information acquisition unit 21 collects random number information calculated by the random number generation device 3 from the random number generation device 3.
  • the random number information acquisition unit 21 repeats the request P times, collects a plurality (P pieces) of random number information from the random number generation device 3, and creates a random number information set Z.
  • the set Z p indicates one piece of random number information calculated by the random number generation device 3.
  • the set Z p is expressed by the following equation.
  • Z p ⁇ Z b
  • the random number R (p) b indicates a random number according to the uniform distribution U [0, W].
  • the random vector ⁇ (p) b represents a D-dimensional vector.
  • ⁇ (p) b V ⁇ ⁇ 1/2 A b
  • V (v 1 ,..., V D )
  • ⁇ ⁇ 1/2 diag ⁇ 1 / ⁇ 1 ,..., 1 / ⁇ D ⁇
  • the initialization unit 22 further calculates a plurality (P) of key calculation functions based on the parameter list 8 collected by the parameter management device 2 and the random number information collected by the random number information acquisition unit 21.
  • the key calculation function L (p) (x) corresponding to an arbitrary natural number p (p ⁇ P) among the plurality of key calculation functions is a function of the D-dimensional number vector x.
  • L (p) (x) (f (p) 1 (x),..., F (p) B (x))
  • the data registration unit 23 controls the input device 11 so that the input data 12 is input to the table management device 5 via the input device 11.
  • the input data 12 indicates a data set X.
  • the data set X is formed from the data x i and is expressed by the following equation.
  • X ⁇ x i
  • x i ⁇ R D ⁇ (i 1,..., N)
  • the set RD indicates a D-dimensional number vector space.
  • the natural number N indicates the total number of elements of the data x i of the data set X, and indicates a natural number greater than 1.
  • Data x i indicates the D-dimensional vector number.
  • the data registration unit 23 further creates a plurality (P) of tables based on the input data 12 and the plurality of key calculation functions calculated by the initialization unit 22.
  • a table corresponding to an arbitrary natural number p among the plurality of tables is formed from a plurality of entries.
  • each entry of the plurality of entries indicates a pair (set) of one key and one value, thereby associating the plurality of keys with the plurality of values. That is, an arbitrary key of the plurality of keys corresponds to one value of the plurality of values.
  • An arbitrary key of the plurality of keys is converted into a data set X by a key calculation function L (p) (x) corresponding to an arbitrary natural number p of the plurality of key calculation functions calculated by the initialization unit 22.
  • the value calculated by substituting any one of the data x is shown.
  • the plurality of keys are different from each other and include a plurality of values calculated by substituting all the data x belonging to the data set X into the key calculation function L (p) (x).
  • a value Table (p) [L] corresponding to an arbitrary key L among the plurality of values indicates a data list which is a set of predetermined data.
  • the value Table (p) [L] has a value calculated by substituting arbitrary data x of the data belonging to the data list into the key calculation function L (p) (x). Is calculated so as to match.
  • the data registration unit 23 further controls the table holding device 10 so that the plurality of tables are recorded in the table holding device 10.
  • the search unit 24 refers to the plurality of tables created by the data registration unit 23 and calculates a data list based on the query. That is, the search unit 24 calculates a plurality of search keys corresponding to the plurality of tables based on the query q.
  • the search key L (p) (q) corresponding to the natural number p among the plurality of search keys is the key calculation function L ( corresponding to the natural number p among the plurality of key calculation functions calculated by the initialization unit 22.
  • p A value calculated by substituting the query q into (x) is shown.
  • the search unit 24 refers to the plurality of tables created by the data registration unit 23 and calculates the data list List ⁇ x> based on the plurality of search keys.
  • the data list List ⁇ x> indicates a set of predetermined data among the data belonging to the data set X.
  • the data list List ⁇ x> includes a value Table (p) [L ] So as to include data belonging to the data list indicated by
  • the data processing device 6 calculates the search result data x * based on the search condition 16 and the data list List ⁇ x> calculated by the search unit 24.
  • the search result data x * indicates a set of data satisfying the condition indicated by the search condition 16 among the data belonging to the data list List ⁇ x>.
  • the data processing device 6 further controls the output device 15 so that the search result data x * is displayed.
  • the embodiment of the directivity vicinity detection method according to the present invention is executed by the similarity detection apparatus 1 and includes an initialization operation, a data registration operation, and a search operation.
  • FIG. 3 shows the initialization operation.
  • the user prepares the parameter list 8 and operates the input device 7 to input the parameter list 8 to the parameter management device 2.
  • the parameter management device 2 records the parameter list 8 in the storage device.
  • the table management device 5 acquires the parameter list 8 input to the parameter management device 2 from the parameter management device 2 (step S1).
  • the parameter list 8 shows table parameters, management parameters, and directional parameters.
  • the table parameter indicates information necessary for creating the table, that is, indicates the number P of the table, the window width W, the radix C, and the bit length B.
  • the number of faces P indicates a positive integer.
  • the window width W indicates a positive real number.
  • the cardinal number C represents an integer of 2 or more.
  • the bit length B indicates a positive integer.
  • the management parameter indicates information necessary for other management operations, that is, the dimension number D.
  • the directivity parameter includes feature detection direction and distance weight information, expresses directivity in proximity detection, and indicates a set U.
  • the set U is formed from the directivity parameter u j and is expressed by the following equation.
  • U ⁇ u j
  • the direction parameter v j indicates a D-dimensional vector.
  • the intensity parameter ⁇ j is a positive real number and indicates the degree of emphasis on the direction parameter v j .
  • the table management device 5 substitutes 1 for the table surface number p (step S2).
  • the table management device 5 calculates the magnitude relationship between the value indicated by the table surface number p and the number of surfaces P (step S3).
  • the table management device 5 sets the window width W, bit length B, dimension number D, and set in the parameter list 8 U is output to the random number generator 3 to request the random number generator 3 for random number information.
  • Number generator 3 when requested random number information from the table managing unit 5, on the basis of the set U and the window width W and the bit length B and rank D, and calculates the random number information indicating the set Z p.
  • the set Z p is formed from the element Z b and is expressed by the following equation.
  • Z p ⁇ Z b
  • the random number R (p) b indicates a random number according to the uniform distribution U [0, W), and is generated by B independent trials.
  • the random vector ⁇ (p) b represents a D-dimensional vector.
  • ⁇ (p) b V ⁇ ⁇ 1/2 A b
  • V (v 1 ,..., V D )
  • ⁇ ⁇ 1/2 diag ⁇ 1 / ⁇ 1 ,..., 1 / ⁇ D ⁇
  • the table management device 5 collects the random number information calculated by the random number generation device 3 from the random number generation device 3 (step S4).
  • the table management device 5 increments the table surface number p by 1, that is, the table surface number p is obtained by adding 1 to the value indicated by the table surface number p. (Step S5).
  • the table management device 5 calculates the magnitude relationship between the value indicated by the table surface number p and the number of surfaces P (step S3).
  • the table management device 5 repeatedly executes steps S4 to S5.
  • the table management device 5 calculates a plurality (P) of keys based on the random number information set Z and the parameter list 8. A function is calculated (step S6).
  • the random number information set Z indicates a plurality (P pieces) of random number information collected by repeatedly executing step S4.
  • the key calculation function L (p) (x) corresponding to the table surface number p among the plurality of key calculation functions is a function of the D-dimensional number vector x.
  • the random number information set Z is expressed by the following formula.
  • L (p) (x) (f (p) 1 (x),..., F (p) B (x))
  • f (p) b (x) is expressed by the above formula (see Equation 1).
  • the table management device 5 creates a plurality of (P) tables with empty entries after the plurality of (P) key calculation functions are calculated (step S7).
  • the plurality of tables correspond to the plurality of key calculation functions.
  • the table management device 5 controls the table holding device 10 to record the plural (P) tables in the table holding device 10.
  • the data registration operation is executed after the initialization operation is executed.
  • the user prepares input data 12 and operates the input device 11 to input the input data 12 to the table management device 5.
  • the input data 12 indicates a data set X.
  • the data set X is formed from the data x i and is expressed by the following equation.
  • X ⁇ x i
  • x i ⁇ R D ⁇ (i 1,..., N)
  • the set RD indicates a D-dimensional number vector space.
  • the natural number N indicates the total number of data x i that are elements of the data set X, and indicates a natural number greater than one.
  • Data x i indicates the D-dimensional vector number.
  • the table management device 5 records the input data 12 in the storage device by controlling the storage device.
  • the table management device 5 executes a plurality (P) of table creation operations corresponding to the plurality of (P) tables created by the initialization operation. To do.
  • the table creation operation corresponding to the table surface number p is formed of a plurality (N) of entry creation operations corresponding to all data belonging to the data set X.
  • the table management device 5 uses the plurality of (P) key calculation functions created by the initialization operation.
  • the key L (p) (x i ) is calculated by substituting the data x i for the key calculation function L (p) (x) corresponding to the table surface number p.
  • the table management device 5 has an entry corresponding to the key L (p) (x i ) in the table corresponding to the table surface number p among the plural (P) tables created by the initialization operation. To determine if
  • the table management device 5 When there is an entry corresponding to the key L (p) (x i ) in the table, the table management device 5 stores the data list indicated by the value Table (p) [L (p) (x i )] of the entry. Add data x i to. When there is no entry corresponding to the key L (p) (x i ) in the table, the table management device 5 adds an entry corresponding to the key L (p) (x i ) to the table. At this time, the value Table (p) [L (p) (x i )] of the entry indicates a data list having only the data x i as an element.
  • the table management apparatus 5 creates a table corresponding to the table surface number p among the plurality (P) of tables by executing all of the plurality (N) of entry creation operations.
  • the table management device 5 creates all of the plural (P) tables by executing all of the plural (P) table creating operations.
  • the table management device 5 records the plurality of tables in the table holding device 10 by controlling the table holding device 10.
  • FIG. 4 shows the search operation.
  • the user prepares the search condition 16 and operates the input device 14 to input the search condition 16 to the data processing device 6.
  • a search condition 16 indicates a query q and a condition. Examples of the condition include “obtain one piece of data nearest to the query q” and “obtain K pieces of data from the one close to the query q”.
  • the data processing device 6 controls the storage device to record the search condition 16 in the storage device (step S11).
  • the data processing device 6 further requests the data list from the table management device 5 by outputting the query q to the table management device 5 (step S12).
  • the table management device 5 calculates the magnitude relationship between the value indicated by the table surface number p and the number of surfaces P (step S14).
  • the table management device 5 calculates the search key L (p) (q) based on the query q when the value indicated by the table surface number p is not greater than the number of surfaces P (step S14, p ⁇ P) (step S14). S15).
  • the query q is assigned to the key calculation function L (p) (x) corresponding to the table surface number p among the plurality of key calculation functions calculated by the initialization operation. The value calculated by this is shown.
  • the table management device 5 refers to the table corresponding to the table surface number p among the plurality of tables created by the data registration operation, and the value Table (p) corresponding to the search key L (p) (q ). [L (p) (q)] is acquired (step S16). The table management device 5 adds data belonging to the data list indicated by the value Table (p) [L (p) (q)] to the data list List ⁇ x> (step S17).
  • the table management device 5 when there is data belonging to duplicate data list List and ⁇ x> Value Table (p) [L (p ) (q)] and, Value Table (p) [L (P) Only data that is not registered in the data list List ⁇ x> among the data indicated by (q)] is added to the data list List ⁇ x>.
  • step S17 the table management apparatus 5 increments the table surface number p by 1, that is, the sum calculated by adding 1 to the value indicated by the table surface number p is added to the table surface number p. Substitute (step S18). After incrementing the table surface number p, the table management device 5 calculates the magnitude relationship between the value indicated by the table surface number p and the number of surfaces P (step S14). When the value indicated by the table surface number p is not larger than the number P of surfaces (step S14, p ⁇ P), the table management device 5 repeatedly executes steps S15 to S18.
  • the table management device 5 outputs the data list List ⁇ x> to the data processing device 6 when the value indicated by the table surface number p is larger than the number of surfaces P (step S14, p> P).
  • the data list List ⁇ x> thus created is a candidate for data that will be a short distance when the distance is calculated by placing importance on the specific direction of the query q with an appropriate weight.
  • the data processing device 6 calculates the search result data x * based on the condition indicated by the search condition 16 and the data list List ⁇ x> (step S19).
  • the search result data x * indicates a set of data satisfying the condition among the data belonging to the data list List ⁇ x>. If the condition indicates that “K data is acquired from the one close to the query q” and the data list List ⁇ x> includes only K or less data, the search result data x * All the data of the list List ⁇ x> is shown.
  • a normal Euclidean distance may be used, or the distance may be calculated in consideration of the importance specified by the directivity parameter. .
  • the data processing device 6 controls the output device 15 to display the search result data x * on the output device 15 (step S20).
  • the similarity detection apparatus 1 can perform high-dimensional data by setting a directivity parameter in consideration of interest information indicating the direction of interest and the degree of interest of the user.
  • interest information indicating the direction of interest and the degree of interest of the user.
  • directional neighborhood detection that preferentially selects data close to the center of interest at high speed in line with the interest.
  • the collision probability contour is not an isotropic sphere, and the collision probability contour can be controlled as an ellipsoid having a major axis in the direction of interest. It is possible to detect the directivity neighborhood with weights, and a significant time reduction can be expected.
  • the data processing device 6 can be replaced with a plurality of computers in which the random number information acquisition unit 21, the initialization unit 22, the data registration unit 23, and the search unit 24 are realized. . Furthermore, the similarity detection device 1 can be replaced with a single computer that implements the parameter management device 2, the random number generation device 3, the table management device 5, and the data processing device 6. Furthermore, the parameter management device 2, the random number generation device 3, the data processing device 6, the random number information acquisition unit 21, the initialization unit 22, the data registration unit 23, and the search unit 24 are formed from a plurality of computers. You can also. Similarly to the similarity detection device 1, the similarity detection device thus replaced can perform directivity vicinity detection with an arbitrary weight in an arbitrary direction.
  • the plurality of directivity parameters 36 are formed from two directivity parameters u 1 and u2 .
  • the plurality of direction parameters 37 include a direction parameter v 1 indicating (1 / sqrt (2), 1 / sqrt (2)) and a direction parameter v indicating ( ⁇ 1 / sqrt (2), 1 / sqrt (2)). 2 .
  • a plurality of intensity parameter 38 is formed from the intensity parameter sigma 1 showing a 2 and 1 are shown intensity parameter sigma 1 Tokyo.
  • the directivity parameter u 1 associates the direction parameter v 1 with the intensity parameter ⁇ 1 .
  • the directivity parameter u 2 associates the direction parameter v 2 with the intensity parameter ⁇ 2 .
  • U ⁇ (1 / sqrt (2), 1 / sqrt (2)), 2>, ⁇ ( ⁇ 1 / sqrt (2), 1 / sqrt (2)), 1> ⁇
  • the direction parameter v 1 indicates a direction inclined 45 degrees counterclockwise from the x axis, as shown in FIG.
  • Direction parameter v 2 indicates the direction perpendicular to the direction indicated by the direction parameter v 1.
  • Set U since that indicates the twice the value of the value indicated by the intensity parameter sigma 2 is intensity parameter sigma 1, meaning that emphasized twice that the direction of the direction parameter v 1 in the direction of the direction parameter v 2 .
  • the input data 12 has an arbitrary distribution of data belonging to the set X.
  • the search condition 16 indicates that “the data is the closest to the query q with respect to the input of the query q”.
  • the collision probability isolines 31 is formed in an oval with long axis in the direction of the direction parameter v 1. That is, all the data on the collision probability isoline 31 are detected with the same probability.
  • Similarity detection device 1 is compared with the direction of the direction parameter v 2, equate twice far away in the direction of the direction parameter v 1, it is possible to search the search result data from the data belonging to the set X. That is, since the similarity detection apparatus 1 can control the detection probability, it becomes possible to perform directivity vicinity detection with the weight of the intensity parameter ⁇ 1 in the direction of the direction parameter v 1 .
  • the directivity parameter indicated by the parameter list 8 described in the above-described embodiment is replaced with another directivity parameter.
  • u j ⁇ R D ⁇ R + ⁇ (j 1,..., D) At this time, the sets U k are different from each other. That is, either the direction parameter v or the intensity parameter ⁇ is different.
  • the set U k is expressed by the following equation.
  • U k ⁇ v x, ⁇ x 2 p >, ⁇ v y , ⁇ y 2 p > ⁇
  • the direction parameter v x indicates a unit vector in the x-axis direction.
  • Direction parameter v y represents a unit vector in the y-axis direction.
  • the variable p represents an integer of 0 or more.
  • the intensity parameter ⁇ x indicates a basic weight in the x-axis direction.
  • the intensity parameter ⁇ y indicates a basic weight in the y-axis direction.
  • the similarity detection apparatus creates a plurality of key calculation function sets corresponding to a plurality of sets belonging to the set U indicated by the directivity parameter based on the directivity parameter.
  • a key calculation function set corresponding to the set U k out of the plurality of key calculation function sets indicates a plurality of key calculation functions.
  • the plurality of key calculation functions are calculated based on the set U k in the same manner as the plurality of key calculation functions calculated based on the set U by the similarity detection apparatus 1 in the above-described embodiment.
  • the similarity detection device Based on the input data 12 and the plurality of key calculation function sets, the similarity detection device generates a plurality of table sets 51 corresponding to the plurality of key calculation function sets 52 as shown in FIG. create.
  • An arbitrary table set of the plurality of table sets 51 indicates a set formed of a plurality of tables.
  • the plurality of tables are created in the same manner as the plurality of tables in the above-described embodiment. That is, a table corresponding to an arbitrary table surface number p among the plurality of tables associates a plurality of keys with a plurality of values.
  • An arbitrary key of the plurality of keys is assigned to any data in the data set X by the key calculation function L (p) (x) corresponding to the table surface number p of the plurality of key calculation functions. The value calculated by substituting x is shown.
  • a value Table (p) [L] corresponding to an arbitrary key L among the plurality of values indicates a data list which is a set of predetermined data.
  • the value Table (p) [L] has a value calculated by substituting arbitrary data x of the data belonging to the data list into the key calculation function L (p) (x). Is calculated so as to match.
  • FIG. 9 shows a plurality of collision probability isolines each indicating the directivity specified by the set U k .
  • the plurality of collision probability isolines are each formed into an ellipse having a major axis in the direction of the direction parameter, and are different from each other.
  • the data on the collision probability isolines corresponding to the set U k among the plurality of collision probability isolines are similar to the collision probability isolines 31 shown in FIG.
  • the similarity detection apparatus creates and manages a table in which a table corresponding to each directivity parameter is created for a specified number of surfaces.
  • the user inputs another search condition different from the search condition 16 to the similarity detection apparatus.
  • the search condition indicates the directivity parameter and the query and condition indicated by the search condition 16.
  • the directivity parameter indicates a set of direction and intensity pairs.
  • the similarity detection apparatus selects a table set corresponding to the set U k indicating the directivity parameter closest to the directivity parameter from the plurality of table sets 51.
  • the similarity detection apparatus calculates a plurality of search data lists using a plurality of tables belonging to the table set, and calculates a data list List ⁇ x>.
  • the search data list corresponding to a certain table set in the plurality of search data lists matches the data list indicated by the value corresponding to the query key among the plurality of values in the table set.
  • the data list List ⁇ x> includes a plurality of search data lists corresponding to the plurality of table sets.
  • Such a similarity detection apparatus is provided with a function of creating a plurality of table sets in advance and selecting a table to be used in accordance with the search, so that the directivity parameter is set in advance. Even if it is unknown, a directivity vicinity search can be performed by inputting the directivity parameter “in this direction at this point with this strength” together during the search operation.
  • the searcher inputs the search directivity parameter in the format of the directivity parameter U (a set of direction and intensity pairs). This defines a more intuitive input.
  • the data processing apparatus may convert to a directivity parameter format.
  • the directivity of the search by specifying a length along the direction of interest that is equated with the unit length in the axial direction of no interest (for example, When the length 1 along the direction inclined 45 ° from the x axis corresponds to the length 3 along the direction inclined ⁇ 45 ° from the x axis, the direction inclined ⁇ 45 ° from the x axis is inclined 45 °. It will be detected with the same probability even if it is three times as far as the actual distance).
  • a second embodiment of the directivity vicinity detection method according to the present invention will be described in detail.
  • a method for detecting images similar to a certain feature at high speed will be described.
  • Image data representing an image can generally be expressed by a D-dimensional feature vector.
  • Various methods are conceivable, but here, as an example, as shown in FIG. 10, an image 61 is cut into a plurality of pixels 62-1 to 62-16 with an appropriate mesh, and each pixel 62 Consider image data expressed by defining pixel values with -i.
  • a feature vector is created by raster-scanning the pixel value in each pixel and arranging the pixel values.
  • values are read in order from left to right starting from the upper left, and when reaching the right end, the same process is repeated.
  • the feature vector u of an arbitrary image divided into 4 ⁇ 4 pixels is expressed by a 16-dimensional vector.
  • it is expressed by the following equation using 16 unit vectors e 1 to e 16 and 16 pixel values.
  • the unit vector e i is a vector in which only the i-th component indicates 1 and the subsequent component indicates 0.
  • the user is interested only in a certain feature direction.
  • the user may be interested only in a region of interest 63 that is a certain part of the image 61 and ignore other similarities.
  • the user attaches importance only to the first component, the second component, the fifth component, and the sixth component of the feature vector u, and does not attach importance to other pixels.
  • the directivity vicinity detection method according to the present invention can generally detect a similar image using a combination of pixels at an appropriate ratio as a feature direction. For example, consider a case where importance is attached to the similarity of the ratio of the first, second, fifth, and sixth pixel values.
  • v 2 ,..., v 1 6 ⁇ can be configured.
  • the color density is expressed as a real value of 0 to 1 as a pixel value, a similar image can be obtained even if the difference in pixel values other than the target portion is somewhat large if the ratio of the darkness of the target portion is close. Will be detected.
  • v (ti) represents a multidimensional vector at time ti.
  • the time series data include data representing acceleration values in the x-axis direction, the y-axis direction, and the z-axis direction of the acceleration sensor measured at time ti as a three-dimensional vector at a certain point. In that case, a set of points using the time in the three-dimensional vector space as a parameter becomes time series data.
  • FIG. 11 shows a plurality of time series data 71-1 to 71-T to be searched in this embodiment.
  • the user first inputs a plurality of time-series data 71-1 to 71-T to the similarity detection apparatus in the present embodiment.
  • the similarity detection apparatus sequentially registers each point of time-series data in a plurality of tables corresponding to a plurality of directivity parameters in the same manner as the similarity detection apparatus in the second embodiment.
  • the plurality of directivity parameters are simply a directivity parameter having a major axis in the x-axis direction and a minor axis in the y-axis direction, and another directivity having directivity in a direction rotated 90 degrees from the major axis.
  • a plurality of directional parameter intensities can be specified, but here, for example, a ratio of 3: 1 is set.
  • the similarity detection apparatus creates a plurality of table sets 75 corresponding to the plurality of directivity parameters 74, as shown in FIG.
  • the number of tables belonging to each table set of the plurality of table sets 75 is K.
  • the similarity detection device calculates keys for each point of time-series data and registers them in the value in all tables in the same manner as the similarity detection device in the above-described embodiment.
  • the user inputs time-series data 76 and designates a search range parameter 77 indicating a region of interest (search target area) in the time-series data 76 as a query.
  • the search range parameter 77 only needs to specify the region of interest of the time series data 76.
  • it may be data indicating a range of coordinate values, or data indicating a range of parameters (for example, time t) of each data.
  • the search range parameter 77 may be partial time series data itself extracted from the time series data 76 only for data within the region of interest.
  • the similarity detection apparatus refers to a plurality of tables belonging to the table set selected by the user from among the plurality of table sets 75 in the same manner as the similarity detection apparatus in the above-described embodiment. Is extracted, and the output device 15 is controlled so that the time series data 78 is expressed so as to be recognized by the user.
  • the time series data 78 is formed from data included in a plurality of search data lists corresponding to the plurality of tables.
  • a search data list corresponding to a certain table among the plurality of search data lists is a data list indicated by a value corresponding to a query value calculated by assigning the query to a key calculation function corresponding to the table. Show.
  • the reference point 85 is a point that best represents the partial time series data 83. For example, the average of all points or the point closest to the average may be used, or the average of the maximum and minimum values (S1 in this example). And the average of S9).
  • the similarity detection apparatus has a probability that the reference point 85 and the points of the partial time series data 83 and the partial time series data 84 are registered in the same entry in a plurality of tables belonging to each of the plurality of table sets 75. (Collision probability) is calculated, and a plurality of collision probability distributions corresponding to the plurality of directivity parameters 74 are calculated.
  • the plurality of collision probability distributions respectively indicate functions of distances from the reference point 85 to each data belonging to the partial time series data 83 and the partial time series data 84.
  • FIG. 17 shows a collision probability isoline corresponding to the first directional parameter among the plurality of directional parameters.
  • the collision probability contour line 86 has a major axis in the x-axis direction and a minor axis in the y-axis direction.
  • FIG. 18 shows a collision probability isoline corresponding to the second directional parameter among the plurality of directional parameters.
  • the collision probability isoline 87 has a major axis in the x-axis direction and a minor axis in the y-axis direction.
  • FIG. 19 shows the collision probability distribution.
  • the collision probability distribution 88 shows the collision probability that each data belonging to the partial time series data 83 and the partial time series data 84 is registered in the same entry in the table calculated based on the reference point 85 and the first directional parameter. Show.
  • FIG. 20 shows another collision probability distribution.
  • the collision probability distribution 89 shows the collision probability that each data belonging to the partial time series data 83 and the partial time series data 84 is registered in the same entry in the table calculated based on the reference point 85 and the second directional parameter. Show.
  • the number L of actual collisions (registered in the same entry) is measured against the total number K of tables for each directivity parameter, and the collision probability is calculated by L / K. It is approximated by.
  • the collision probability distribution 88 and the collision probability distribution 89 indicate that the collision probability between each point of the time series data and the reference point 85 takes different values depending on the positional relationship between the two locations and the direction and intensity indicated by the directivity parameter. ing.
  • the collision probability distribution 88 and the collision probability distribution 89 have the same shape as the two partial time series data to be compared are closer to each other. Therefore, by comparing the difference between these shapes, any two partial times can be obtained. It is possible to evaluate the similarity of series data.
  • FIG. 21 shows the feature distribution.
  • the feature distribution 90 indicates the difference in collision probability of each partial time series data between the collision probability distribution 88 and the collision probability distribution 89, and the shape of the feature distribution 90 of each partial time series data indicates the similarity in the partial time series. It can be evaluated as the similarity of data.
  • the method computes the inner product between smooth interpolated function, or a method or the like using the distance evaluation measure such as E a r t h Mover 's Distance is contemplated, limited to this It is not a thing, What is necessary is just to be able to evaluate the similarity of the form of a function (function value when a certain distance is given) quantitatively.
  • the time series data designated by the query is limited to the designated search range.
  • reference points are calculated from the partial time series data specified by the query, and only data within the search range is extracted from data colliding with reference points in all tables belonging to a plurality of table sets 75 ( In this example, the time range for which time is specified is extracted), the collision probability distribution corresponding to each time series data is created, and the similarity with the collision probability distribution of the partial time series data specified by the query is evaluated. Just do it.
  • the search range is specified as one continuous section.
  • the time series data to be searched can be registered in advance in a table offline, and what is actually required for online processing is constituted by data colliding with a reference point. This is because there are only the time series data and the corresponding collision probability distribution. In particular, when the number of search target time-series data is enormous, a significant reduction in the number of target data can be expected.
  • the time is treated as a parameter.
  • the coordinate value can be compared with the value of the time-series data by appropriately multiplying the time itself by a suitable constant or by appropriately converting the time. It is also possible to search by working as one.
  • the similarity detection apparatus according to the present invention is applied to a mobile management system 100 as shown in FIG.
  • the mobile management system 100 is connected via a network 103 so that a plurality of computers can bidirectionally transmit information to each other.
  • Examples of the network 103 include the Internet and a mobile phone network.
  • the plurality of computers includes a mobile management apparatus 101 and a plurality of mobile terminals 102-1 to 102-3.
  • Each of the plurality of mobile terminals 102-1 to 102-3 is a device that is carried by a user and can acquire current position information. Examples of the device include a smartphone and a GPS logger.
  • the mobile management apparatus 101 includes the similarity detection apparatus in the above-described embodiment, manages the movement directions of the plurality of mobile terminals 102-1 to 102-3, and is moving in a similar direction. Provides the function of grouping For example, the mobile management apparatus 101 manages a pair of the current position and a position that is a suitable time ⁇ before each of the plurality of mobile terminals 102-1 to 102-3.
  • the space to be handled is a two-dimensional space
  • the main movement direction to be detected is the x-axis direction
  • the directivity parameter is set so that the intensity is appropriately given in the x-axis direction compared to the y-axis direction.
  • the intensity for example, a constant multiple of v ⁇ is set in the x-axis direction, and the y-axis direction is set to, for example, 0.1 times the intensity in the x-axis direction.
  • the y-axis direction can define the allowable range of the direction blur.
  • a plurality of mobile terminals 102-1 to 102-3 exist at positions 1010, 1020, and 1030, respectively, at a certain time t, and move to positions 1011, 1021, and 1031 respectively at time t + ⁇ .
  • the plurality of mobile terminals 102-1 to 102-3 acquire the current position by GPS, and periodically upload the position information to the mobile management apparatus 101 through the network 103.
  • the mobile object management apparatus 101 creates a plurality of table sets 112 corresponding to the plurality of directivity parameters 111 as shown in FIG. 23 in the same manner as the similarity detection apparatus in the above-described embodiment. .
  • the mobile unit management apparatus 101 manages the positions of a plurality of mobile terminals 102-1 to 102-3 using a plurality of table sets 112, and includes a position 1010, a position 1011, a position 1020, a position 1021, a position 1030, and a position 1031.
  • the key of each table is calculated and registered in the value corresponding to the key.
  • the mobile management apparatus 101 uses this table set to group mobile terminals that proceed in the x-axis direction from among the plurality of mobile terminals 102-1 to 102-3, and move that includes information on characteristics of the group
  • the body group information 105 is output.
  • the mobile terminal is moving at an approximate speed in the x-axis direction, the position coordinates at time t and time t + ⁇ are likely to have the same key, but move in the orthogonal y-axis direction. Mobile terminals are likely to have different keys, so they can be distinguished.
  • the position information 1010, position 1011, position 1020 and position 1021 which are the position information of the mobile terminal 102-1 and the mobile terminal 102-2 are registered in the same entry, and the position of the mobile terminal 102-3
  • the information position 1030 and position 1031 are registered in different entries. Therefore, it is possible to group the mobile terminals 102-1 and 102-2 moving at the same speed in the x-axis direction as the same group.
  • a mobile terminal belonging to the same group as the search target mobile terminal can be output as a parallel mobile terminal in the past or present.
  • the grouping policy it is possible to modify the grouping according to the policy by setting the grouping policy together if necessary. For example, if the grouping policy is set to “a mobile terminal that has run in parallel with the search target mobile terminal within the past 10 minutes or more within a radius of 100 m” as a grouping policy, It is sufficient to filter and output only those satisfying the conditions.
  • the number of mobile terminals registered in each entry in each table is registered in the same entry at both time t and time t + ⁇ .
  • a set of mobile terminals registered in the entry is extracted in an order from the largest number.
  • the mobile terminals traveling along the same direction are sampled from a group having a large total number among all the mobile terminals.
  • the mobile terminal group information such as the size, direction and speed of the mobile terminal group can be created, and the movement state of the mobile terminal can be classified and displayed.
  • the mobile management system 100 basically updates the table managed for the location update of the mobile terminal, samples the mobile terminals with high interest from the table by the above method, and performs grouping. There is no need to calculate and group the interrelationships related to the movement of mobile terminals. Therefore, even if the number of mobile terminals increases, the increase in calculation load can be suppressed, and the calculation time can be greatly reduced.
  • the key calculation function L (p) (x) and the basic function f (p) in the above-described embodiment are used as the table key calculation method.
  • b (x) and the random vector ⁇ (p) b are used, the present invention is not limited to this as long as the asymmetry corresponding to the desired direction and intensity is introduced by the parameter specifying the directivity.
  • the data collision in the table is registered in the exact same entry.
  • the entry distance of the table is defined and a nearby entry is defined. If the data registered up to (for example, “adjacent entry” that differs by one bit of the key represented by the key calculation function L (p) (x)) collides, the collision range may be expanded.
  • a random number generator for calculating a plurality of random number information based on a plurality of direction parameters and a plurality of intensity parameters input via an input device;
  • An initialization unit for calculating a plurality of key calculation functions based on the plurality of random number information;
  • a data registration unit that calculates a plurality of tables corresponding to the plurality of key calculation functions based on a plurality of search target data input via an input device, and records the plurality of tables in a table holding device;
  • a search unit that refers to the plurality of tables and calculates a candidate data list based on a query indicated by a search condition input via an input device;
  • the data registration unit associates a plurality of keys with a plurality of data lists when calculating a table corresponding to an arbitrary key calculation function of the plurality of tables,
  • the candidate data list includes a plurality of search data lists corresponding to the plurality of key calculation functions
  • the search data list corresponding to the arbitrary key calculation function in the plurality of search data lists is a query value calculated by substituting the query into the key calculation function in the plurality of data lists. Similarity detection device showing a data list corresponding to.
  • the similarity detection apparatus according to any one of appendices 1 and 2,
  • the plurality of direction parameters are set such that two values calculated by substituting two similar state change similar data of the plurality of search target data into the arbitrary key calculation function are equal to each other.
  • the similarity detection device is set so that the difference between the two values is smaller than a predetermined value.
  • the similarity detection apparatus according to any one of appendices 1 to 3,
  • the plurality of search target data is a similarity detection device that indicates an image.
  • Appendix 7 The directivity vicinity detection method according to appendix 6, Further calculating a plurality of table sets based on the plurality of search target data; And a step of calculating the candidate data list with reference to the plurality of tables when the table set indicated by the search condition of the plurality of table sets indicates the plurality of tables.
  • Appendix 8 The directivity vicinity detection method according to any one of appendices 6 to 7, The plurality of direction parameters are set such that two values calculated by substituting two similar state change similar data of the plurality of search target data into the arbitrary key calculation function are equal to each other. Or the directivity vicinity detection method set so that the difference of the said two values may become smaller than predetermined value.
  • Appendix 9 A directivity vicinity detection method according to any one of appendices 6 to 8,
  • the plurality of search target data each indicate an image.
  • [Appendix 11] It is a similarity detection device that detects similar data at a high speed with an arbitrary similarity criterion for a large amount of search target data.
  • the above-described similarity detection device holds a table associated with random number information created by a parameter for setting similarity determination criteria for registering and managing the above-described search target data, In response to a neighborhood search request from any reference point, the above table is used, similarity judgment is performed according to the set similarity criterion, and data that is judged as a neighborhood is output. Similarity detection device.
  • the search target data described in the supplementary note 11 or the supplementary note 12 is not only data whose value is statically fixed in advance, but also data in which the value is dynamically updated.
  • a similarity detection apparatus characterized by updating a registration state.

Landscapes

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

Abstract

 大量のデータから類似のデータを高速に検出するために、パラメータリストに基づいて乱数情報を算出する乱数発生装置3と、その乱数情報に基づいて複数のキー計算関数を算出し、入力データに基づいて複数のテーブルを算出し、検索条件が示すクエリに基づいて候補データリストを算出するテーブル管理装置5と、その候補データリストから検索条件が示す条件を満足する検索結果データを算出するデータ処理装置6とを備えている。その各テーブルは、あるキーに対応するバリューが、あるキー計算関数に代入した値がそのキーに等しくなるデータのデータリストを示すように算出される。その候補データリストは、複数の検索データリストを含み、そのテーブルに対応する検索データリストは、そのクエリをそのキー計算関数に代入したクエリ値に対応するバリューを示している。

Description

類似性検出装置及び指向性近傍検出方法
 本発明は、特徴検出装置及び指向性近傍検出方法に関し、特に、多次元連続データ集合から所望のデータを検索する特徴検出装置及び指向性近傍検出方法に関する。
 近傍検索技術は、様々な応用範囲で用いられる重要な技術であり、例えば、画像やWebページ等のデータの類似性を考慮し、膨大なデータベースの中から特徴が似たデータを検出する等のアプリケーションに用いられる。非常に単純な方法として、それぞれのデータの特徴を距離の定義された空間の一点(例えばユークリッド空間の一点)で表現し、クエリ点からの全てのデータへの距離を計算することで、クエリに近いデータを検出することができる。しかし、このような距離を直接計算する方法は、非常にコストがかかり、データ数の増大とともに計算負荷が非線形に増加してしまうため、様々な方法が提案されている。
 特許文献1(特開2004-021430号公報)には、ユーザの操作を煩雑にすることなく、特定の被写体を含む画像を類似画像として的確に検索し得る画像検索装置が開示されている。その画像検索装置は、検索の対象となる画像を複数含む検索対象画像群の中から、検索キーである基準画像に類似する画像を抽出する画像検索装置であって、基準画像及び検索対象画像群に含まれる各画像をそれぞれ複数の領域に分割する手段と、基準画像及び検索対象画像群に含まれる各画像の各領域から少なくとも1つの特徴量を抽出する手段と、検索対象画像群に含まれる各画像について領域の一部を選択する手段であって、検索対象画像群から画像を順次選択し、基準画像の各領域から抽出された特徴量と、当該選択した画像の各領域から抽出された特徴量と、の類似性に基づいて、所定数の当該選択された画像の領域を選択する手段と、前記検索対象画像群に含まれる各画像について選択された一部の領域の特徴量に基づいて、検索対象画像群から基準画像に類似する画像を抽出する手段と、を含むことを特徴としている。
 特許文献2(特開2005-070927号公報)には、画像自体の一致度に拘泥されず、描画形状が類似している画像を検出することができるような画像特徴を取得する画像特徴取得方法が開示されている。その画像特徴取得方法は、二次元画像の画像特徴を取得する画像特徴取得方法であって、上記二次元画像を所定の大きさにサイズ変更し、該画像がカラー画像であれば一色の濃淡の階調で形成するスケール画像に変換し、各スケール画像に対して、二次元画像の左右のいずれか一方に設定した起点から水平方向へ連なる画素列を、該画素列の終点と次の画素列の起点とを鉛直方向へ順番に連結して水平成分の一次元ラスタ画像を作成し、二次元画像の上下のいずれか一方に設定した起点から鉛直方向へ連なる画素列を、該画素列の終点と次の画素列の起点とを水平方向へ順番に連結して鉛直成分の一次元ラスタ画像を作成し、これらの一次元ラスタ画像に対して適宜の変換処理を実行する。
 特許文献3(特開平10-326286号公報)には、類似検索の精度が向上でき、また重要な類似データが検索結果からぬけおちる可能性が低い類似検索装置が開示されている。その類似検索装置は、複数の対象に対して各々作成され、対象を特徴づける複数の属性をベクトル構成要素とするベクトルデータを複数蓄積するベクトルデータベースと、指定された類似検索対象に対するベクトルデータを作成する対象ベクトルデータ作成部と、複数の検索条件を生成する検索条件集合生成部と、この検索条件集合生成部で生成された個々の検索条件ごとに、上記ベクトルデータベースに蓄積された複数のベクトルデータの中から、上記検索条件を満足し、かつ上記対象ベクトルデータに類似するベクトルデータを検索する類似検索エンジンと、上記類似検索エンジンにより検索された結果を個々の検索条件ごとに表示する検索結果表示部とを備えたことを特徴としている。
 一般に、高次元の空間における近傍検索は、低次元の場合に比べ、更に問題が困難になる。そのため、大量な高次元データに対して、厳密に距離を計算して近傍データを求めるのではなく、近似的に、もしくは確率的に近距離のデータを求める近似的近傍検索方法が提案されている。その一つの代表例は、LSH(Locality Sensitive Hashing)(非特許文献1参照)である。LSHは、任意の2点に対して、その2点の距離が近いほど高い確率で衝突する(同じ値をもつ)ハッシュ関数を利用する方法であり、クエリ入力に対する近傍検出演算にかかる時間を削減することができる。ここで、LSHを用いると、あるクエリqに対してデータpが衝突する確率は、その距離d(p、q)にのみ依存するため、クエリqを中心とする1つの円の円周上にある複数のデータは、全て等確率でクエリqに衝突することになる。
特開2004-021430号公報 特開2005-070927号公報 特開平10-326286号公報
Datar, M., Immorlica, N., Indyk, P., and Mirrokni, V. 2004. Locality sensitive hashing scheme based on p-stable distributions. In Proceedings of the ACM Symposium on Computational Geometry
 第1の問題点は、2つのデータの特徴の近さの指標として、方向に代表される詳細な位置関係が考えられていないことである。具体的には、ある方向に関する距離を他の方向に関する距離より重要視する場合等、方向の違いを区別して近傍検索を行うことができない。その理由は、従来の近傍検索はその距離のみに依存する手法が用いられているからである。
 第2の問題点は、ある観点に対する類似度のみに関心がある場合、従来手法では、余計な計算時間がかかってしまうことである。その理由は、従来手法では、方向の考慮がないため、全方向での近傍検出によって候補を抽出した後に、関心がある方向に沿ったデータのみを取り出すという2段階の処理が必要であるからである。方向によって関心の高さの違いが大きい(ある方向に沿った距離の重みと、他の方向の距離の重みの差が非常に大きい時)ほど、近傍検出した候補の数が膨大になるため、計算時間の削減効果はあまり期待できなくなってしまう。
 本発明の目的は、特徴の違いが、距離として定義された空間内での近傍検出において、任意の類似度判定基準(任意の方向と、任意の距離の重要度)を指定して、近傍データを高速に検出する類似性検出装置及び指向性近傍検出方法を提供することにある。
 本発明による類似性検出装置は、乱数発生部と初期化部とデータ登録部と検索部とデータ処理部とを備えている。その乱数発生部は、入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出する。その複数の方向パラメータは、ユークリッド空間上の方向を示している。その初期化部は、その複数の乱数情報に基づいて複数のキー計算関数を算出する。そのデータ登録部は、入力装置を介して入力された複数の検索対象データに基づいて、その複数のキー計算関数に対応する複数のテーブルを算出し、その複数のテーブルをテーブル保持装置に記録する。その複数の検索対象データは、それぞれ、そのユークリッド空間上の点を示している。その複数の検索対象データのうちの任意の2つの検索対象データがそれぞれ示している2つの点の距離は、その2つの検索対象データの類似度を示している。その複数のテーブルのうちの任意のキー計算関数に対応するテーブルは、複数のキーを複数のデータリストに対応付け、その複数のデータリストのうちの任意のキーに対応するデータリストに属するデータがその任意のキー計算関数に代入されることにより算出される値がその任意のキーに等しくなるように算出される。その検索部は、その複数のテーブルを参照して、入力装置を介して入力された検索条件が示しているクエリに基づいて候補データリストを算出する。その候補データリストは、その複数のキー計算関数に対応する複数の検索データリストを含んでいる。その複数の検索データリストのうちのその任意のキー計算関数に対応する検索データリストは、その複数のデータリストのうちの、そのクエリがそのキー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示している。そのデータ処理部は、その候補データリストに属する複数の検索データからその検索条件が示している条件を満足する検索結果データを算出し、その検索結果データを出力装置に出力する。
 本発明による指向性近傍検出方法では、入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出する。また、その複数の乱数情報に基づいて複数のキー計算関数を算出する。また、入力装置を介して入力された複数の検索対象データに基づいて、その複数のキー計算関数に対応する複数のテーブルを算出する。また、その複数のテーブルをテーブル保持装置に記録する。また、その複数のテーブルを参照して、入力装置を介して入力された検索条件が示しているクエリに基づいて候補データリストを算出する。また、その候補データリストに属する複数の検索データからその検索条件が示している条件を満足する検索結果データを算出する。また、その検索結果データを出力装置に出力する。その複数の方向パラメータは、ユークリッド空間上の方向を示している。その複数の検索対象データは、それぞれ、そのユークリッド空間上の点を示している。その複数の検索対象データのうちの任意の2つの検索対象データがそれぞれ示している2つの点の距離は、その2つの検索対象データの類似度を示している。その複数のテーブルのうちの任意のキー計算関数に対応するテーブルは、複数のキーを複数のデータリストに対応付け、その複数のデータリストのうちの任意のキーに対応するデータリストに属するデータがその任意のキー計算関数に代入されることにより算出される値がその任意のキーに等しくなるように算出される。その候補データリストは、その複数のキー計算関数に対応する複数の検索データリストを含んでいる。その複数の検索データリストのうちのその任意のキー計算関数に対応する検索データリストは、その複数のデータリストのうちの、そのクエリがそのキー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示している。
 第1の効果は、膨大なデータの中で、あるクエリ点からある興味方向に沿った自由度の高い近傍点の検出が行えることである。その理由は、任意の2点が、任意の興味の方向に沿った任意の距離重み(重要度)で測った距離が短いほど高い確率で同じエントリに登録されるテーブルを具備するデータ管理機能を提供することで、指向性近傍検出機能を実現するからである。
 第2の効果は、指向性近傍検索処理の高速化である。その理由は、事前に所望の指向性を登録した複数のテーブルにデータを登録しておくことで、クエリ点からの指向性近傍検索に当たって、クエリ点と同じエントリに登録されたデータのみを扱えば良く、全てのデータとの距離を計算する必要がないためオンライン処理時間が大幅に短縮化されるからである。
図1は、本発明による類似性検出装置を示すブロック図である。 図2は、テーブル管理装置を示すブロック図である。 図3は、初期化動作を示す流れ図である。 図4は、検索動作を示す流れ図である。 図5は、指向パラメータの例を示す表である。 図6は、指向パラメータに対応する衝突確率等値線を示すグラフである。 図7は、指向パラメータの例を示す表である。 図8は、複数のテーブルセットの例を示す表である。 図9は、複数の指向パラメータに対応する複数の衝突確率等値線を示すグラフである。 図10は、画像を示す図である。 図11は、複数の検索対象データ示すグラフである。 図12は、複数のテーブルセットの例を示す表である。 図13は、検索条件のクエリの例を示すグラフである。 図14は、検索結果データの例を示すグラフである。 図15は、複数の時系列データを示すグラフである。 図16は、複数の時系列データのうちの複数の検索対象データを示すグラフである。 図17は、複数の衝突確率等値線を示すグラフである。 図18は、他の複数の衝突確率等値線を示すグラフである。 図19は、衝突確率分布を示すグラフである。 図20は、他の衝突確率分布を示すグラフである。 図21は、特徴分布を示すグラフである。 図22は、移動体管理システムを示すブロック図である。 図23は、複数のテーブルセットを示す表である。
 図面を参照して、本発明による類似性検出装置の実施の形態を説明する。その類似性検出装置1は、図1に示されているように、複数のコンピュータが互いに双方向に情報を伝送することができるように接続されている。
 その複数のコンピュータの各コンピュータは、図示されていないが、CPUと、記憶装置と、インターフェースとを備えている。
 そのCPUは、そのコンピュータにインストールされているコンピュータプログラムを実行することにより、その記憶装置とそのインターフェースとを制御する。
 その記憶装置は、そのコンピュータプログラムを記録し、そのCPUにより作成される情報を一時的に記録する。
 そのインターフェースは、そのコンピュータに接続されている外部機器により生成される情報をそのCPUに出力したり、そのCPUにより生成された情報をその外部機器に出力したりする。
 その外部機器としては、入力装置、出力装置、通信装置、リムーバルメモリドライブが例示される。
 その入力装置は、ユーザに操作されることにより情報を作成し、その情報をそのCPUに出力する。その入力装置としては、キーボード、ポインティングデバイス、タッチパネルが例示される。
 その出力装置は、そのCPUにより生成される情報をユーザに認識可能に出力する。その出力装置としては、ディスプレイ、音響装置、タッチパネルが例示される。
 その通信装置は、通信ネットワークを介してそのCPUにより作成された情報を他のコンピュータに送信し、その通信ネットワークを介して他のコンピュータから受信された情報をそのCPUに出力する。その通信装置は、更に、そのコンピュータにインストールされるコンピュータプログラムを他のコンピュータからダウンロードすることに利用される。
 そのリムーバルメモリドライブは、記録媒体が挿入されたときに、その記録媒体に記録されているデータを読み出すことに利用される。そのリムーバルメモリドライブは、更に、コンピュータプログラムが記録されている記録媒体が挿入されたときに、そのコンピュータプログラムをそのコンピュータにインストールするときに利用される。その記録媒体としては、磁気ディスク(フレキシブルディスク、ハードディスク)、光ディスク(CD、DVD)、光磁気ディスク、フラッシュメモリが例示される。
 その複数のコンピュータは、パラメータ管理装置2と、乱数発生装置3と、テーブル管理装置5と、データ処理装置6とを含んでいる。
 パラメータ管理装置2は、入力装置7を備えている。パラメータ管理装置2は、入力装置7を介してパラメータリスト8がパラメータ管理装置2に入力されるように、入力装置7を制御する。
 乱数発生装置3は、テーブル管理装置5から乱数情報を要求されたときに、テーブル管理装置5から出力された情報に基づいて乱数情報を算出する。
 テーブル管理装置5は、テーブル保持装置10と、入力装置11とを備えている。テーブル管理装置5は、入力装置11を介して入力データ12がテーブル管理装置5に入力されるように、入力装置11を制御する。テーブル管理装置5は、入力データ12と乱数発生装置3により算出された乱数情報とに基づいて複数のテーブルを算出する。テーブル管理装置5は、その複数のテーブルがテーブル保持装置10に記録されるように、テーブル保持装置10を制御する。テーブル管理装置5は、更に、データ処理装置6からデータリストを要求されたときに、その複数のテーブルを参照して、データ処理装置6から出力された情報に基づいてデータリストを算出し、そのデータリストをデータ処理装置6に出力する。
 データ処理装置6は、入力装置14と、出力装置15とを備えている。データ処理装置6は、入力装置14を介して検索条件16がデータ処理装置6に入力されるように、入力装置14を制御する。検索条件16は、クエリと条件とを示している。データ処理装置6は、更に、そのクエリをテーブル管理装置5に出力することにより、テーブル管理装置5にデータリストを要求する。データ処理装置6は、その条件とテーブル管理装置5により算出されたデータリストとに基づいて検索結果データを算出する。その検索結果データは、そのデータリストが示すデータのうちのその条件を満足するデータを示している。データ処理装置6は、更に、テーブル管理装置5により算出された検索結果データがユーザに認識可能に表現されるように、出力装置15を制御する。
 図2は、テーブル管理装置5を示している。テーブル管理装置5にインストールされるコンピュータプログラムは、テーブル管理装置5に複数の機能をそれぞれ実現させる複数のコンピュータプログラムから形成されている。
 テーブル管理装置5にその複数の機能をそれぞれ実現させた場合、テーブル管理装置5は、乱数情報取得部21と、初期化部22と、データ登録部23と、検索部24とを含んでいる。
 乱数情報取得部21は、パラメータ管理装置2に入力されたパラメータリスト8をパラメータ管理装置2から収集する。パラメータリスト8は、テーブルパラメータと管理パラメータと指向パラメータとを示している。そのテーブルパラメータは、テーブルの面数Pとウィンドウ幅Wと基数Cとビット長Bとを示している。面数Pは、正の整数を示している。ウィンドウ幅Wは、正の実数を示している。基数Cは、2以上の整数を示している。ビット長Bは、正の整数を示している。その管理パラメータは、次元数Dを示している。その指向パラメータは、集合Uを示している。
 集合Uは、指向パラメータuから形成され、以下の式により表現される。
 U={u|u∈R×R}(j=1,・・・,D)
 ここで、集合Rは、D次元数ベクトル空間を示している。例えば、集合Rは、2次元数ベクトル空間を示している。
 集合Rは、正の実数の集合を示している。すなわち、指向パラメータuは、以下の式により表現される。
 u=<v,σ
 ここで、方向パラメータvは、D次元のベクトルを示している。強度パラメータσは、正の実数であり、方向パラメータvを重視する程度を示している。
 乱数情報取得部21は、パラメータリスト8のうちのウィンドウ幅Wとビット長Bと次元数Dと集合Uとを乱数発生装置3に出力することにより、乱数発生装置3に乱数情報を要求する。乱数情報取得部21は、乱数発生装置3により算出された乱数情報を乱数発生装置3から収集する。乱数情報取得部21は、その要求をP回繰り返すことにより、複数(P個)の乱数情報を乱数発生装置3から収集し、乱数情報集合Zを作成する。
 乱数情報集合Zは、以下の式により表現される。
 Z={Z}(p=1,・・・,P)
 ここで、集合Zは、乱数発生装置3により算出された1つの乱数情報を示している。
 集合Zは、以下の式により表現される。
 Z={Z|Z=<Φ(p) ,R(p) >}(b=1,・・・,B)
 ここで、乱数R(p) は、一様分布U[0,W]に従う乱数を示している。ランダムベクトルΦ(p) は、D次元のベクトルを示している。
 ランダムベクトルΦ(p) は、以下の式により表現される。
 Φ(p) =VΛ-1/2
 行列Vは、以下の式により表現される。
 V=(v,・・・,v
 対角行列Λ-1/2は、以下の式により表現される。
 Λ-1/2=diag{1/σ,・・・,1/σ
 ベクトルAは、D次元ベクトルであり、ベクトルAのd成分Ab,d(d=1,・・・,D)は、正規分布N(0,1)に従う乱数を示している。
 初期化部22は、更に、パラメータ管理装置2により収集されたパラメータリスト8と乱数情報取得部21により収集された乱数情報とに基づいて複数(P個)のキー計算関数を算出する。その複数のキー計算関数のうちの任意の自然数p(p≦P)に対応するキー計算関数L(p)(x)は、D次元数ベクトルxの関数である。
 キー計算関数L(p)(x)は、D次元数ベクトルxを用いて、以下の式により表現される。
 L(p)(x)=(f(p) (x),・・・,f(p) (x))
 基本関数f(p) (x)は、以下の式により表現される。
Figure JPOXMLDOC01-appb-M000001
 データ登録部23は、入力装置11を介してテーブル管理装置5に入力データ12が入力されるように、入力装置11を制御する。入力データ12は、データ集合Xを示している。
 データ集合Xは、データxから形成され、以下の式により表現される。
 X={x|x∈R}(i=1,・・・,N)
 ここで、集合Rは、D次元数ベクトル空間を示している。自然数Nは、データ集合Xのデータxの要素の総数を示し、1より大きい自然数を示している。データxは、D次元数ベクトルを示している。
 データ登録部23は、更に、入力データ12と初期化部22により算出された複数のキー計算関数とに基づいて、複数(P個)のテーブルを作成する。その複数のテーブルのうちの任意の自然数pに対応するテーブルは、複数のエントリから形成されている。そのテーブルは、その複数のエントリの各エントリが1つのキーと1つのバリューとのペア(組)を示すことにより、複数のキーを複数のバリューに対応付けている。すなわち、その複数のキーのうちの任意のキーは、その複数のバリューのうちの1つのバリューに対応している。
 その複数のキーのうちの任意のキーは、初期化部22により算出された複数のキー計算関数のうちの任意の自然数pに対応するキー計算関数L(p)(x)に、データ集合Xのうちのいずれかのデータxが代入されることにより算出された値を示している。更に、その複数のキーは、互いに異なり、データ集合Xに属する全てのデータxがキー計算関数L(p)(x)に代入されることによりそれぞれ算出される複数の値を含んでいる。
 その複数のバリューのうちの任意のキーLに対応するバリューTable(p)[L]は、所定のデータの集合であるデータリストを示している。このとき、バリューTable(p)[L]は、そのデータリストに属するデータのうちの任意のデータxがキー計算関数L(p)(x)に代入されることにより算出された値がキーLに一致するように、算出される。
 データ登録部23は、更に、その複数のテーブルがテーブル保持装置10に記録されるように、テーブル保持装置10を制御する。
 検索部24は、データ処理装置6からクエリが出力されたときに、データ登録部23により作成された複数のテーブルを参照して、そのクエリに基づいてデータリストを算出する。すなわち、検索部24は、そのクエリqに基づいてその複数のテーブルに対応する複数の検索キーを算出する。その複数の検索キーのうちの自然数pに対応する検索キーL(p)(q)は、初期化部22により算出された複数のキー計算関数のうちの自然数pに対応するキー計算関数L(p)(x)にクエリqが代入されることにより算出された値を示している。
 検索部24は、データ登録部23により作成された複数のテーブルを参照して、その複数の検索キーに基づいてデータリストList<x>を算出する。データリストList<x>は、データ集合Xに属するデータのうちの所定のデータの集合を示している。データリストList<x>は、その複数のテーブルのうちの自然数pに対応するテーブルがキーL(p)(q)に対応するエントリを含むときに、そのエントリが示すバリューTable(p)[L]が示すデータリストに属するデータを含むように、算出される。
 このとき、データ処理装置6は、検索条件16と検索部24により算出されたデータリストList<x>とに基づいて検索結果データxを算出する。検索結果データxは、データリストList<x>に属するデータのうちの検索条件16が示す条件が満足するデータの集合を示している。データ処理装置6は、更に、検索結果データxが表示されるように、出力装置15を制御する。
 本発明による指向性近傍検出方法の実施の形態は、類似性検出装置1により実行され、初期化動作とデータ登録動作と検索動作とを備えている。
 図3は、その初期化動作を示している。ユーザは、まず、パラメータリスト8を用意し、入力装置7を操作することにより、パラメータリスト8をパラメータ管理装置2に入力する。パラメータ管理装置2は、入力装置7を介してパラメータリスト8が入力されると、パラメータリスト8を記憶装置に記録する。テーブル管理装置5は、パラメータ管理装置2に入力されたパラメータリスト8をパラメータ管理装置2から取得する(ステップS1)。
 パラメータリスト8は、テーブルパラメータと管理パラメータと指向パラメータとを示している。そのテーブルパラメータは、テーブルの作成に必要である情報を示し、すなわち、テーブルの面数Pとウィンドウ幅Wと基数Cとビット長Bとを示している。面数Pは、正の整数を示している。ウィンドウ幅Wは、正の実数を示している。基数Cは、2以上の整数を示している。ビット長Bは、正の整数を示している。その管理パラメータは、その他管理運用に必要である情報を示し、すなわち、次元数Dを示している。その指向パラメータは、特徴検出の方向や距離の重み情報を含み、近傍検出における指向性を表現し、集合Uを示している。
 集合Uは、指向パラメータuから形成され、以下の式により表現される。
 U={u|u=<v,σ>}(j=1,・・・,D)
 ここで、方向パラメータvは、D次元のベクトルを示している。強度パラメータσは、正の実数であり、方向パラメータvを重視する程度を示している。
 テーブル管理装置5は、テーブル面番号pに1を代入する(ステップS2)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pの大小関係を算出する(ステップS3)。
 テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS3、p≦P)、パラメータリスト8のうちのウィンドウ幅Wとビット長Bと次元数Dと集合Uとを乱数発生装置3に出力することにより、乱数発生装置3に乱数情報を要求する。乱数発生装置3は、テーブル管理装置5から乱数情報を要求されたときに、ウィンドウ幅Wとビット長Bと次元数Dと集合Uとに基づいて、集合Zを示す乱数情報を算出する。
 集合Zは、要素Zから形成され、以下の式により表現される。
 Z={Z|Z=<Φ(p) ,R(p) >}(b=1,・・・,B)
 ここで、乱数R(p) は、一様分布U[0,W)に従う乱数を示し、B回の独立な試行により生成される。ランダムベクトルΦ(p) は、D次元のベクトルを示している。
 ランダムベクトルΦ(p) は、以下の式により表現される。
 Φ(p) =VΛ-1/2
 行列Vは、以下の式により表現される。
 V=(v,・・・,v
 対角行列Λ-1/2は、以下の式により表現される。
 Λ-1/2=diag{1/σ,・・・,1/σ
 ベクトルAは、D次元ベクトルであり、ベクトルAのd成分Ab,d(d=1,・・・,D)は、正規分布N(0,1)に従う乱数を示している。ベクトルAの全ての成分は、それぞれ、独立な試行により生成される。テーブル管理装置5は、乱数発生装置3により算出された乱数情報を乱数発生装置3から収集する(ステップS4)。
 テーブル管理装置5は、その乱数情報が収集された後に、テーブル面番号pを1だけインクリメントし、すなわち、テーブル面番号pが示す値に1を加算することにより算出された和をテーブル面番号pに代入する(ステップS5)。
 テーブル管理装置5は、テーブル面番号pをインクリメントした後に、テーブル面番号pが示す値と面数Pとの大小関係を算出する(ステップS3)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS3、p≦P)、ステップS4~S5を繰り返して実行する。
 テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きいときに(ステップS3、p>P)、乱数情報集合Zとパラメータリスト8と基づいて、複数(P個)のキー計算関数を算出する(ステップS6)。
 ここで、乱数情報集合Zは、ステップS4が繰り返し実行されることにより収集された複数(P個)の乱数情報を示している。その複数のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)は、D次元数ベクトルxの関数である。
 乱数情報集合Zは、以下の式により表現される。
 Z={Z}(p=1,・・・,P)
 キー計算関数L(p)(x)は、D次元数ベクトルxを用いて、以下の式により表現される。
 L(p)(x)=(f(p) (x),・・・,f(p) (x))
 ここで、基本関数f(p) (x)は、前述の式により表現される(数1参照)。
 テーブル管理装置5は、その複数(P個)のキー計算関数が算出された後に、エントリが空の複数(P個)のテーブルを作成する(ステップS7)。その複数のテーブルは、その複数のキー計算関数に対応している。テーブル管理装置5は、テーブル保持装置10を制御することにより、その複数(P個)のテーブルをテーブル保持装置10に記録する。
 そのデータ登録動作は、その初期化動作が実行された後に実行される。ユーザは、まず、入力データ12を用意し、入力装置11を操作することにより、入力データ12をテーブル管理装置5に入力する。入力データ12は、データ集合Xを示している。
 データ集合Xは、データxから形成され、以下の式により表現される。
 X={x|x∈R}(i=1,・・・,N)
 ここで、集合Rは、D次元数ベクトル空間を示している。自然数Nは、データ集合Xの要素であるデータxの総数を示し、1より大きい自然数を示している。データxは、D次元数ベクトルを示している。
 テーブル管理装置5は、入力装置11を介して入力データ12が入力されると、記憶装置を制御することにより、入力データ12をその記憶装置に記録する。
 テーブル管理装置5は、入力装置11を介して入力データ12が入力されると、その初期化動作により作成された複数(P個)のテーブルに対応する複数(P個)のテーブル作成動作を実行する。その複数のテーブル作成動作のうちのテーブル面番号pに対応するテーブル作成動作は、データ集合Xに属する全てのデータに対応する複数(N個)のエントリ作成動作から形成されている。
 その複数(N個)のエントリ作成動作のうちのあるデータxに対応するエントリ作成動作では、テーブル管理装置5は、その初期化動作により作成された複数(P個)のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)にデータxを代入することによりキーL(p)(x)を算出する。テーブル管理装置5は、その初期化動作により作成された複数(P個)のテーブルのうちのテーブル面番号pに対応するテーブルに、キーL(p)(x)に対応するエントリが存在しているかどうかを判別する。
 テーブル管理装置5は、そのテーブルにキーL(p)(x)に対応するエントリが存在するときに、そのエントリのバリューTable(p)[L(p)(x)]が示すデータリストにデータxを追加する。テーブル管理装置5は、そのテーブルにキーL(p)(x)に対応するエントリが存在しないときに、キーL(p)(x)に対応するエントリをそのテーブルに追加する。このとき、そのエントリのバリューTable(p)[L(p)(x)]は、データxのみを要素とするデータリストを示している。
 テーブル管理装置5は、その複数(N個)のエントリ作成動作の全てを実行することにより、その複数(P個)のテーブルのうちのテーブル面番号pに対応するテーブルを作成する。テーブル管理装置5は、その複数(P個)のテーブル作成動作の全てを実行することにより、その複数(P個)のテーブルの全てを作成する。テーブル管理装置5は、テーブル保持装置10を制御することにより、その複数のテーブルをテーブル保持装置10に記録する。
 このように作成されたテーブルでは、任意の2つのデータに対応する2つのキーがそれぞれ示す任意の2点が、指向パラメータuが示す方向に沿った任意の距離重み(重要度)で測った距離が短いほど高い確率で同じエントリに登録される。
 図4は、その検索動作を示している。ユーザは、まず、検索条件16を用意し、入力装置14を操作することにより、検索条件16をデータ処理装置6に入力する。検索条件16は、クエリqと条件とを示している。その条件としては、「クエリqの最近傍のデータを1つ取得する」「クエリqに近いものからK個のデータを取得する」が例示される。データ処理装置6は、入力装置14を介して検索条件16が入力されると、記憶装置を制御することにより、検索条件16をその記憶装置に記録する(ステップS11)。データ処理装置6は、検索条件16が入力されると、更に、クエリqをテーブル管理装置5に出力することにより、テーブル管理装置5にデータリストを要求する(ステップS12)。
 テーブル管理装置5は、データ処理装置6からクエリqが出力されると、テーブル面番号pに1を代入し、空のデータリストList<x>=φを用意する(ステップS13)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pの大小関係を算出する(ステップS14)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS14、p≦P)、クエリqに基づいて検索キーL(p)(q)を算出する(ステップS15)。
 検索キーL(p)(q)は、その初期化動作により算出された複数のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)にクエリqが代入されることにより算出される値を示している。
 テーブル管理装置5は、そのデータ登録動作により作成された複数のテーブルのうちのテーブル面番号pに対応するテーブルを参照して、検索キーL(p)(q)に対応するバリューTable(p)[L(p)(q)]を取得する(ステップS16)。テーブル管理装置5は、バリューTable(p)[L(p)(q)]が示すデータリストに属するデータをデータリストList<x>に追加する(ステップS17)。
 ここで、テーブル管理装置5は、データリストList<x>とバリューTable(p)[L(p)(q)]とに重複して属するデータがあった場合に、バリューTable(p)[L(p)(q)]が示すデータのうちのデータリストList<x>に登録されていないデータのみをデータリストList<x>に追加する。
 テーブル管理装置5は、ステップS17が実行された後に、テーブル面番号pを1だけインクリメントし、すなわち、テーブル面番号pが示す値に1を加算することにより算出された和をテーブル面番号pに代入する(ステップS18)。テーブル管理装置5は、テーブル面番号pをインクリメントした後に、テーブル面番号pが示す値と面数Pとの大小関係を算出する(ステップS14)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS14、p≦P)、ステップS15~S18を繰り返して実行する。
 テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きいときに(ステップS14、p>P)、データリストList<x>をデータ処理装置6に出力する。こうして出来上がったデータリストList<x>は、クエリqの特定方向を適当な重みで重要視して距離計算した時に近距離となるデータの候補となっている。
 データ処理装置6は、テーブル管理装置5によりデータリストList<x>が出力されると、検索条件16が示す条件とデータリストList<x>とに基づいて検索結果データxを算出する(ステップS19)。
 検索結果データxは、データリストList<x>に属するデータのうちのその条件が満足するデータの集合を示している。もし、その条件が「クエリqに近いものからK個のデータを取得する」を示し、データリストList<x>がK個以下のデータしか含まない場合には、検索結果データxは、データリストList<x>の全てのデータを示している。なお、データリストList<x>からクエリqに近いデータを選択する計算としては、普通のユークリッド距離を用いても良いし、指向パラメータで指定した重要度を考慮して距離を計算しても良い。
 データ処理装置6は、検索結果データxが算出された後に、出力装置15を制御することにより、検索結果データxを出力装置15に表示させる(ステップS20)。
 このような指向性近傍検出方法によれば、ユーザが興味の方向やその度合い等を示す関心情報を考慮して指向パラメータを設定しておくことで、類似性検出装置1は、高次元データにおいても、その関心に沿った中で、関心中心から近いデータを高速に優先的選択する指向性近傍検出が可能である。
 既存手法では、同じ距離(類似度)にあるデータは同じ確率で選択するため、ある検索中心から同心球上の点は、全て同じ確率で検出される。そのため、ある興味方向にある距離rのデータだけを取り出すには、一度半径rの球内にあるデータを全て選択し、そこからある方向のみのものを優先的に取り出す必要がある。このような手法では、指向性が強くなるほど(ある方向の重要度の重みが他の方向の重要度の重みに比べて大きくなるほど)、不必要なデータを大量に取得しなければならず、その分計算時間が増大する。
 それに対して、本発明による技術では、衝突確率等値線が等方的な球ではなく、衝突確率等値線が興味方向に長軸をもつ楕円体として制御できるため、任意の方向に任意の重みで指向性近傍検出を行うことが可能となり大幅な時間削減が望める。
 なお、類似性検出装置1は、データ処理装置6が、乱数情報取得部21と初期化部22とデータ登録部23と検索部24とがそれぞれ実現される複数のコンピュータに置換されることができる。更に、類似性検出装置1は、パラメータ管理装置2と乱数発生装置3とテーブル管理装置5とデータ処理装置6とが実現される1つのコンピュータに置換されることもできる。更に、パラメータ管理装置2と乱数発生装置3とデータ処理装置6と乱数情報取得部21と初期化部22とデータ登録部23と検索部24とのいずれかが実現される複数のコンピュータから形成されることもできる。このように置換された類似性検出装置も、類似性検出装置1と同様にして、任意の方向に任意の重みで指向性近傍検出を行うことが可能となる。
 次に、本発明による指向性近傍検出方法が二次元(D=2)ユークリッド空間に適用される例を考える。例えば、図5に示されているように、集合Uが複数の指向パラメータ36を複数の方向パラメータ37と複数の強度パラメータ38とに対応付けている例を考える。
 複数の指向パラメータ36は、2つの指向パラメータuu2から形成されている。複数の方向パラメータ37は、(1/sqrt(2)、1/sqrt(2))を示す方向パラメータvと(-1/sqrt(2)、1/sqrt(2))を示す方向パラメータvとから形成されている。複数の強度パラメータ38は、2を示す強度パラメータσと1を示す強度パラメータσとから形成されている。指向パラメータuは、方向パラメータvを強度パラメータσに対応付けている。指向パラメータuは、方向パラメータvを強度パラメータσに対応付けている。
 すなわち、集合Uは、以下の式により表現される。
 U={<(1/sqrt(2)、1/sqrt(2))、2>、<(-1/sqrt(2)、1/sqrt(2))、1>}
 このとき、方向パラメータvは、図6に示されているように、x軸から反時計回りに45度傾いた方向を示している。方向パラメータvは、方向パラメータvが示す方向と直交する方向を示している。集合Uは、強度パラメータσが示す値の2倍の値を強度パラメータσが示すことから、方向パラメータvの方向を方向パラメータvの方向に比べて2倍重視することを意味する。
 入力データ12は、集合Xに属するデータの分布が任意とする。検索条件16の条件としては、「クエリqの入力に対して、クエリqとの距離が最も近いデータである」ことを示す。
 このとき、衝突確率等値線31は、方向パラメータvの方向に長軸をもつ楕円に形成される。すなわち、衝突確率等値線31の上のデータは、全て同じ確率で検出される。類似性検出装置1は、方向パラメータvの方向に比べ、方向パラメータvの方向に2倍遠い場所を同一視して、集合Xに属するデータから検索結果データを検索することができる。すなわち、類似性検出装置1は、検出確率を制御することができるため、方向パラメータvの方向に強度パラメータσの重みで指向性近傍検出を行うことが可能となる。
 本発明による類似性検出装置の第2の実施の形態は、既述の実施の形態に記載されたパラメータリスト8が示す指向パラメータが他の指向パラメータに置換されている。
 その指向パラメータは、集合Uから形成される集合を示し、その集合は、以下の式により表現される。
 {U}(k=1,・・・,K)
 集合Uは、以下の式により表現される。
 U={u|u∈R×R}(j=1,・・・,D)
 このとき、集合Uは、互いに異なる。すなわち、方向パラメータv又は強度パラメータσのどれかが異なっている。
 例えば、簡単のためD=2の2次元の場合を考えると、集合Uは、以下の式により表現される。
 U={<vx,σ>、<v,σ>}
 ここで、方向パラメータvは、x軸方向の単位ベクトルを示している。方向パラメータvは、y軸方向の単位ベクトルを示している。変数pは、0以上の整数を示している。強度パラメータσは、x軸方向の基本重みを示している。強度パラメータσは、y軸方向の基本重みを示している。
 例えば、指向パラメータUとしては、図7に示されているように、p=0,1,2,3の4通りとし、(σx,σ)=(1,3)、(3,1)の2通りとすると、K=2×4=8通りの指向パラメータ集合Uが指定される。
 このとき、その類似性検出装置は、その指向パラメータに基づいて、その指向パラメータが示す集合Uに属する複数の集合に対応する複数のキー計算関数集合を作成する。その複数のキー計算関数集合のうちの集合Uに対応するキー計算関数集合は、複数のキー計算関数を示している。その複数のキー計算関数は、既述の実施の形態における類似性検出装置1により集合Uに基づいて算出される複数のキー計算関数と同様にして、集合Uに基づいて算出される。
 その類似性検出装置は、入力データ12とその複数のキー計算関数集合とに基づいて、図8に示されているように、その複数のキー計算関数集合52に対応する複数のテーブルセット51を作成する。複数のテーブルセット51の任意のテーブルセットは、複数のテーブルから形成されている集合を示している。
 その複数のテーブルは、既述の実施の形態における複数のテーブルと同様にして、作成されている。すなわち、その複数のテーブルのうちの任意のテーブル面番号pに対応するテーブルは、複数のキーを複数のバリューに対応付けている。
 その複数のキーのうちの任意のキーは、その複数のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)に、データ集合Xのうちのいずれかのデータxが代入されることにより算出された値を示している。
 その複数のバリューのうちの任意のキーLに対応するバリューTable(p)[L]は、所定のデータの集合であるデータリストを示している。このとき、バリューTable(p)[L]は、そのデータリストに属するデータのうちの任意のデータxがキー計算関数L(p)(x)に代入されることにより算出された値がキーLに一致するように、算出される。
 図9は、集合Uが指定する指向性をそれぞれ示す複数の衝突確率等値線を示している。その複数の衝突確率等値線は、それぞれ、方向パラメータの方向に長軸をもつ楕円に形成され、互いに異なっている。
 その複数の衝突確率等値線のうちの集合Uに対応する衝突確率等値線の上のデータは、図6に示される衝突確率等値線31と同様にして、複数のテーブルセット51のうちの集合Uに対応するテーブルセットが示す複数のテーブルを用いて、全て同じ確率で検出される。その類似性検出装置は、既述の最良の実施の形態で述べた方法と同様に、それぞれの指向パラメータに対応するテーブルを指定された面数だけ作成したテーブルを作成・管理する。
 ユーザは、その検索動作の際に、検索条件16と異なる他の検索条件をその類似性検出装置に入力する。
 その検索条件は、指向性パラメータと検索条件16が示すクエリと条件とを示している。その指向性パラメータは、方向と強度のペアの集合を示している。その類似性検出装置は、複数のテーブルセット51からその指向性パラメータに一番近い指向パラメータを示す集合Uに対応するテーブルセットを選択する。その類似性検出装置は、そのテーブルセットに属する複数のテーブルを用いて複数の検索データリストを算出し、データリストList<x>を算出する。
 その複数の検索データリストのうちのあるテーブルセットに対応する検索データリストは、そのテーブルセットの複数のバリューのうちのクエリのキーに対応するバリューが示すデータリストに一致している。データリストList<x>は、その複数のテーブルセットに対応する複数の検索データリストを含んでいる。
 このような第2の実施の形態における類似性検出装置は、予め複数のテーブルセットを作成し、検索に合わせて利用するテーブルを選択する機能が設けられていることにより、事前に指向性パラメータが不明な場合でも、検索動作時に「この点のこちらの方向にこれくらいの強さで」という指向性パラメータを合わせて入力することで、指向性近傍検索が可能となる。
 なお、ここでは、8通りのみの指向性パラメータを持つテーブルを用意する例を示したが、一般には、もっと多くても良く、様々な方向や強度の組み合わせを用意しておくほど様々な検索要求に対して精度良い出力を返すことができる。そのテーブルセットの個数は、計算資源等とのトレードオフで決めれば良い。
 また、検索の指向性パラメータの指定として、この例では、検索者が指向性パラメータUの書式(方向と強度のペアの集合)で入力するとしたが、これは、より直感的な入力を定義しデータ処理装置において指向性パラメータの書式に変換しても良い。
 より直感的な入力の例として、関心のない軸方向の単位長さと同一視する関心がある方向にそった長さを指定することで、検索の指向性を指定することも可能である(例えばx軸から45°傾いた方向に沿った長さ1は、x軸から-45°傾いた方向に沿った長さ3に相当する場合は、x軸から-45°傾いた方向は45°傾いた方向より実距離で3倍遠くても同じ確率で検出することになる)。
 更に、本例では、検索における指向性情報に対して、最適なテーブルを一つ選択して結果を出力する例を記載したが、複数のテーブルを組み合わせた指向性近傍検索結果を出力しても良い。具体的には、例えば、検索に指定された指向性情報と、テーブルの持つ指向性情報との距離を用いて、その重みで、各テーブルで行った近傍検索結果を表示しても良い。
 本発明による指向性近傍検出方法における第2の実施例について詳細に説明する。本実施例では、ある特徴に関して類似する画像を高速検出する手法について説明する。
 画像を示す画像データは、一般に、D次元特徴ベクトルで表現することが可能である。様々な手法が考えられるが、ここでは、一例として、図10に示されているように、画像61が適当なメッシュで複数の画素62-1~62-16に切られており、各画素62-iで画素値を定義することによって表現される画像データを考える。
 ここで、それぞれの画素における画素値をラスタ・スキャン(Raster scan)して、画素値を並べることで特徴ベクトルを作成するとする。なお、ラスタ・スキャンでは、左上からはじめて、左から右に順に値を読んでいき、右端までいったら一段おりて同じことを繰り返す。
 例えば、4xの画素に区切られた任意の画像の特徴ベクトルuは、16次元ベクトルで表現される。例えば、16個の単位ベクトルe~e16と16個の画素値とを用いて、以下の式により表現される。
Figure JPOXMLDOC01-appb-M000002
 ここで、単位ベクトルeは、i番目の成分のみが1を示し、あとの成分が0を示すベクトルである。
 ここで、ユーザは、ある特徴方向に関してのみ興味があるとする。一番簡単には、ユーザは、画像61のうちのある一部分である興味領域63のみに関心があり、それ以外の類似性を無視するような場合が考えられる。その場合、ユーザは、特徴ベクトルuの第1成分と第2成分と第5成分と第6成分とのみを重視し、他の画素を重視しないことになる。
 ここで、重視する重みを10倍とすると(非興味方向に沿った距離の1に対して興味方向に沿った距離の10を同一視すると)、指向性パラメータU={u=<v、σ>}i=1,・・・,16をv=e、σ=10(i=1,2,5,6),1(その他)と設定する。この指向性パラメータUを用いて、既述の最良の実施の形態に示した指向性近傍検出を行うことで、あるクエリ画像qの入力に対して、第1、2、5,6番目の画素の類似性を重視した類似画像検索が可能である。
 更に、本発明による指向性近傍検出方法は、一般に、画素を適当な割合で組み合わせを特徴方向として類似画像の検出を行うことも可能である。例えば、第1,2,5,6番目の画素値の比率の類似性を重視する場合を考える。
 興味方向として、第1,2,5,6番目の画素を同じ重みで足し合わせた方向パラメータvを、以下の式により定義する。
 v=(e+e+e+e)/2
 方向パラメータvは、グラム・シュミットの直交化法等を用いれば、方向パラメータvと{e}i=2,・・・,16とから、互いに直交する正規直交座標系{v,v,・・・,v6}を構成することができる。
 先の例と同様に方向パラメータvの方向を他の方向に比べて10倍重視する場合、指向性パラメータUをU={u=<v、σ>}(i=1,・・・,16)をσ=10(i=1),1(その他)と設定することにより、第1,2,5,6番目の画素値の比率が同じ画像を類似画像として検出することができる。これは、例えば画素値として色の濃さを0~1の実数値で表したときに、対象部分の濃さの比率が近ければ、対象部分以外の画素値の違いが多少大きくても類似画像として検出されることになる。
 次いで、本発明による指向性近傍検出方法における第2の実施例について詳細に説明する。本実施例では、多次元関数の局所的特徴に着目した類似関数検索を行う。典型的な例として、多次元ベクトルの集合で表現される時系列データ{v(ti)}i=1,2,・・・を考える。
 ここで、v(ti)は、時刻tiにおける多次元ベクトルを示している。その時系列データとしては、ある地点で、時刻tiに測定された加速度センサーのそれぞれx軸方向,y軸方向,z軸方向の加速度の値を3次元ベクトルとして表現したものが例示される。その場合、3次元ベクトル空間上における時刻をパラメータにした点の集合が時系列データとなる。
 本実施例は、大量な時系列データ(例えば、大量の地点での加速度データの時系列データ)の中で、あるクエリとなる時系列データに対して、その部分的な領域のみで類似する時系列データを高速検索する。
 図11は、本実施例で検索対象となる複数の時系列データ71-1~71-Tを示している。ユーザは、まず、複数の時系列データ71-1~71-Tを本実施例における類似性検出装置に入力する。その類似性検出装置は、第2の実施の形態における類似性検出装置と同様にして、複数の指向パラメータに対応する複数のテーブルに時系列データの各点を順次登録する。
 ここで、その複数の指向パラメータは、簡単に、x軸方向に長軸をもちy軸方向に短軸をもつ指向パラメータと、その長軸から90度回転した方向に指向性をもつ他の指向パラメータとの2種類とする。指向パラメータの強度は、一般に、複数指定可能だが、ここでは、例えば3:1の比率で設定するものとする。
 その類似性検出装置は、図12に示されているように、その複数の指向パラメータ74に対応する複数のテーブルセット75を作成する。ここで、複数のテーブルセット75の各テーブルセットに属するテーブルの数は、K個とする。その類似性検出装置は、既述の実施の形態における類似性検出装置と同様にして、全てのテーブルに、時系列データの各点に対するキーを計算してバリューに登録する。
 検索のときは、ユーザは、図13に示されているように、時系列データ76を入力し、時系列データ76のうちの興味領域(検索対象領域)を示す検索範囲パラメータ77をクエリとして指定する。ここで、検索範囲パラメータ77は、時系列データ76の興味領域が指定できれば良い。例えば、座標値の範囲を示すデータでも良いし、各データのパラメータ(例えば、時刻t等)の範囲を示すデータでも良い。また、検索範囲パラメータ77は、時系列データ76のなかから興味領域の範囲内のデータのみ抜き出した部分時系列データそのものでも良い。
 その類似性検出装置は、既述の実施の形態における類似性検出装置と同様にして、複数のテーブルセット75のうちのユーザにより選択されたテーブルセットに属する複数のテーブルを参照して、図14に示されているような時系列データ78を抽出し、時系列データ78がユーザ認識可能に表現されるように出力装置15を制御する。時系列データ78は、その複数のテーブルに対応する複数の検索データリストに含まれるデータから形成されている。その複数の検索データリストのうちのあるテーブルに対応する検索データリストは、そのテーブルに対応するキー計算関数にそのクエリが代入されることにより算出されるクエリ値に対応するバリューが示すデータリストを示している。
 本発明による指向性近傍検出方法における他の実施例について詳細に説明する。本実施例では、範囲限定類似関数検索を行うための、入力される時系列データと任意の時系列データの、その範囲を限定した類似度を判定する機能について、以下に詳細に説明する。簡単のため、ここでは、図15に模式的に示される2次元空間における時系列データ81に対する時系列データ82の類似度を計算することを考える。ここで、検索範囲の限定として、両者の時系列データのうちのユーザにより指定された時間間隔[tmin:tmaxに属する部分のみの局所的な特徴を比較することを考える。
 時系列データ81は、その時間間隔に属するデータとして、{Si}i=1,・・・,9を有している。時系列データ82は、その時間間隔に属するデータとして、{R}i=1,・・・,6を有している。このとき、図16に示されているように、時系列データ81から範囲限定された部分時系列データ83は、{Si}i=1,・・・,9から形成され、時系列データ82から範囲限定された部分時系列データ84は、{R}i=1,・・・,6から形成される。
 ここで、ユーザは、更に、部分時系列データ83の点群{Si}i=1,・・・,9から中心的な参照点85をクエリとして抽出する。参照点85は、部分時系列データ83を最も良く代表する点であり、例えば全ての点の平均でも良いし、平均に一番近い点でも良いし、最大・最小値の平均(この例ではS1とS9の平均)等でも良い。
 次に、その類似性検出装置は、参照点85と、部分時系列データ83及び部分時系列データ84の各点が複数のテーブルセット75の各々に属する複数のテーブルにおいて同じエントリに登録される確率(衝突確率)を計算し、複数の指向パラメータ74に対応する複数の衝突確率分布を算出する。その複数の衝突確率分布は、それぞれ、参照点85から部分時系列データ83と部分時系列データ84とに属する各データまでの距離の関数を示している。
 図17は、複数の指向パラメータのうちの第1指向パラメータに対応する衝突確率等値線を示している。その衝突確率等値線86は、x軸方向に長軸をもちy軸方向に短軸を有している。図18は、その複数の指向パラメータのうちの第2指向パラメータに対応する衝突確率等値線を示している。その衝突確率等値線87は、x軸方向に長軸をもちy軸方向に短軸を有している。
 図19は、衝突確率分布を示している。その衝突確率分布88は、部分時系列データ83と部分時系列データ84とに属する各データが参照点85とその第1指向パラメータに基づいて算出されたテーブルで同じエントリに登録される衝突確率を示している。
 図20は、他の衝突確率分布を示している。その衝突確率分布89は、部分時系列データ83と部分時系列データ84とに属する各データが参照点85とその第2指向パラメータに基づいて算出されたテーブルで同じエントリに登録される衝突確率を示している。
 これらの値は、各指向性パラメータの全テーブル数Kに対して、実際に両者が衝突していた(同じエントリに登録されていた)数Lを測定し、L/Kで衝突確率を計算することで近似される。衝突確率分布88と衝突確率分布89とは、時系列データの各点と参照点85の衝突確率が、両者の場所の位置関係と指向性パラメータの示す方向や強度によって異なる値を取ることを示している。衝突確率分布88と衝突確率分布89とは、この衝突確率分布は、比較する二つの部分時系列データが近いほど同じ形をとるため、この形の違いを比較することで任意の二つの部分時系列データの類似性を評価することが可能である。
 図21は、特徴分布を示している。その特徴分布90は、衝突確率分布88と衝突確率分布89とでの各部分時系列データの衝突確率の差を示し、各部分時系列データの特徴分布90の形は、類似度を部分時系列データの類似度として評価されることができる。この類似度の計算には、滑らかに補間した関数間の内積を計算する方法、もしくは、Eh Movers Distanceのような距離評価尺度を使う方法等が考えられるが、これに限るものではなく、関数の形(ある距離が与えられた時の関数値)の類似度が定量的に評価できるものであれば良い。
 上記の手法によって、クエリで指定された時系列データに対して、指定された検索範囲に限定した時に、一番類似性の高い時系列データを抽出することが可能である。具体的には、クエリで指定された部分時系列データから参照点を計算し、複数のテーブルセット75に属する全てのテーブルにおける参照点と衝突するデータの中で検索範囲内のもののみを抽出(本例では時間が指定された時間範囲のものを抽出)し、各時系列データに対応する衝突確率分布を作成し、クエリで指定された部分時系列データの衝突確率分布との類似性を評価すれば良い。
 ここで、本例では検索範囲の指定を連続した一つの区間としたが、一般に複数の区間で行うことも、それぞれの区間で同様の手法を適用し、各区間における類似性を合わせて評価することで容易に実現可能である。
 次に本実施例における効果を説明する。本実施例によれば、実際のクエリと範囲の入力に対して、検索対象の全ての時系列データの中から最も類似する時系列データの抽出処理を大幅に高速化することが可能である。
 なぜなら、通常の手法では、検索範囲のみを取り出した全ての部分時系列データとクエリの部分時系列データの比較をオンラインで行わなくてはいけないため、検索対象データ数が増加すると計算時間も増加し、応答速度が遅くなってしまう。
 しかし、本実施例によれば、検索対象の時系列データは予めオフラインでテーブルに登録しておくことが可能であり、オンライン処理で実際に評価が必要なのは、参照点と衝突するデータによって構成される時系列データ及びその対応する衝突確率分布のみであるからである。特に検索対象時系列データの数が膨大の時に、対象データ数の大幅な削減が期待できる。
 なお、本実施例では、時刻をパラメータとして扱ったが、例えば、時刻自体を適当に定数倍したり、時刻に適当な変換を施したりして時系列データの値と比較できる形で座標値の一つとして取り組んで検索を行うことも可能である。
 次に本発明の第三の実施例について詳細に説明する。第三の実施例では、本発明による類似性検出装置は、図22に示されているように、移動体管理システム100に適用されている。
 移動体管理システム100は、ネットワーク103を介して、複数のコンピュータが互いに双方向に情報を伝送することができるように接続されている。ネットワーク103としては、インターネット、携帯電話網等が例示される。その複数のコンピュータは、移動体管理装置101と複数の移動体端末102-1~102-3とを含んでいる。複数の移動体端末102-1~102-3は、それぞれ、ユーザにより携帯され、現在位置情報を取得できるデバイスである。そのデバイスとしては、スマートフォンやGPSロガー等が例示される。
 移動体管理装置101は、既述の実施の形態における類似性検出装置を備え、複数の移動体端末102-1~102-3の移動方向を管理し、似た方向に進んでいる移動体端末をグルーピングする機能を提供する。例えば、移動体管理装置101は、複数の移動体端末102-1~102-3の各移動体端末に関してその現在位置と適当な時間τだけ前にいた位置のペアを管理する。ここで、簡単のため扱う空間を2次元空間とし、検出したい主たる移動方向をx軸方向とし、y軸方向に比べx軸方向に適当に指向性を持たせるように強度を設定した指向性パラメータを設定する。強度の例として例えば、x軸方向へはvτの定数倍とし、y軸方向は例えばx軸方向の強度の0.1倍等とすることで、x軸方向の強度は検出したい速度上限を規定し、y軸方向は方向のぶれの許容範囲を規定することができる。
 複数の移動体端末102-1~102-3は、ある時刻tにそれぞれ位置1010,位置1020,位置1030に存在し、時刻t+τにそれぞれ位置1011,位置1021,位置1031に移動したとする。複数の移動体端末102-1~102-3は、GPSによって現在位置を取得し、定期的にネットワーク103を通して移動体管理装置101に位置情報をアップロードする。
 移動体管理装置101は、既述の実施の形態における類似性検出装置と同様にして、図23に示されているように、複数の指向性パラメータ111に対応する複数のテーブルセット112を作成する。移動体管理装置101は、複数のテーブルセット112を用いて複数の移動体端末102-1~102-3の位置を管理し、位置1010,位置1011,位置1020,位置1021,位置1030,位置1031に対して各テーブルのキーを計算し、そのキーに対応するバリューに登録する。移動体管理装置101は、このテーブルセットを用いて、複数の移動体端末102-1~102-3のうちのx軸方向に進む移動体端末をグループ化し、そのグループの特性に関する情報を含む移動体グループ情報105を出力する。
 次に、移動体管理装置101がこの移動体グループ情報105を作成する手法を説明する。もし、移動体端末がx軸方向に想定速度程度の速度で移動していれば、時刻tと時刻t+τにおける位置座標は、同じキーを持つ可能性が高いが、直交するy軸方向に移動している移動体端末は、異なるキーを持つ可能性が高いため、両者を区別することができる。
 本実施例では、移動体端末102-1と移動体端末102-2の位置情報である位置1010,位置1011,位置1020,位置1021は、同じエントリに登録され、移動体端末102-3の位置情報である位置1030及び位置1031は異なるエントリに登録される可能性が高い。そのため、x軸方向に同じような速度で移動している移動体端末102-1及び移動体端末102-2を同じグループとしてグルーピングすることが可能となる。
 本例では、1種類の指向性パラメータのみの場合を示したが、一般には、複数の指向性パラメータを指定することで、複数の関心方向や、複数の移動速度上限を設定することが可能であり、様々な移動体端末のグルーピングポリシーを作成することが可能である。
 また、ある移動体端末に注目し、その移動体端末が登録されているテーブルエントリをモニターすることで、この移動体端末と並走する他の移動体端末を検出することもできる。例えば、検索対象移動体端末の入力に対して、過去もしくは現在に、この検索対象移動体端末と同じグループに属する移動体端末を並走移動体端末として出力することができる。
 その際に、必要ならばグルーピングポリシーを合わせて設定することで、そのポリシーに合わせてグルーピングを修正することも可能である。例えば、グルーピングポリシーとして、「検索対象移動体端末と過去10分以上半径100m以内に存在しながら並走した移動体端末」のように設定すれば、本発明によって出力された移動体端末グループの中から条件を満足させるもののみをフィルタリングして出力すれば良い。
 更に、移動体端末の数が大量であった時は、各テーブルの各エントリに登録された移動体端末のうち、時刻tと時刻t+τにおける位置のどちらも同じエントリに登録されているものの数を数え、その数の多い順に適当な数だけエントリに登録された移動体端末の集合を抽出する。
 これは、全移動体端末の中から、同じ方向に沿って進む移動体端末をその合計数が多いグループからサンプリングすることを意味する。それらのサンプルされた移動体端末をその移動方向や速度からグルーピングすることで、システム全体の移動体端末移動パターンの主たる傾向(多くの移動体端末がどの方向にどれくらいの速度で移動しているか、等)を取り出して、その移動体端末グループのサイズや方向・速度等の移動体端末グループ情報を作成し、移動体端末の移動状態を分類・表示ことが可能である。
 次に、本実施例の効果について述べる。移動体管理システム100は、基本的に、移動体端末の位置アップデートに対して管理するテーブルを更新し、上記の方法でテーブルから関心の高い移動体端末をサンプリングしてグルーピングを行うため、全ての移動体端末の移動に関する相互関係を計算してグルーピングする必要がない。そのため移動体端末数が増加してもその計算負荷の増加を抑えることができ、計算時間の大幅な削減が望める。
 なお、本発明で示した全ての実施の形態及び実施例においては、テーブルのキーの計算方法として、既述の実施の形態におけるキー計算関数L(p)(x)と基本関数f(p) (x)とランダムベクトルΦ(p) とを用いたが、指向性を指定するパラメータによって、望む方向・強度に対応する非対称性が導入されたものであればこれに限るものではない。
 なお、本発明で示した全ての実施の形態及び実施例では、テーブルにおけるデータの衝突は、厳密に同じエントリに登録されるとして説明したが、バリエーションとしてテーブルのエントリ距離を定義し、近くのエントリ(例えば、キー計算関数L(p)(x)であらわされるキーの一ビットだけ異なる「隣のエントリ」等)までに登録されているデータは衝突すると衝突範囲を拡大しても良い。
 <備考>
 以上、本発明の実施の形態及び実施例を詳述してきたが、実際には、上記の実施の形態及び実施例に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 <付記>
 上記の実施の形態及び実施例の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
 [付記1]
 入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出する乱数発生部と、
 前記複数の乱数情報に基づいて複数のキー計算関数を算出する初期化部と、
 入力装置を介して入力された複数の検索対象データに基づいて、前記複数のキー計算関数に対応する複数のテーブルを算出し、前記複数のテーブルをテーブル保持装置に記録するデータ登録部と、
 前記複数のテーブルを参照して、入力装置を介して入力された検索条件が示すクエリに基づいて候補データリストを算出する検索部と、
 前記候補データリストに属する複数の検索データから前記検索条件が示す条件を満足する検索結果データを算出し、前記検索結果データを出力装置に出力するデータ処理部と
を具備し、
 前記データ登録部は、前記複数のテーブルのうちの任意のキー計算関数に対応するテーブルを算出する際、複数のキーを複数のデータリストに対応付け、前記複数のデータリストのうちの任意のキーに対応するデータリストに属するデータを前記任意のキー計算関数に代入することにより算出される値が前記任意のキーに等しくなるように該テーブルを算出し、
 前記候補データリストは、前記複数のキー計算関数に対応する複数の検索データリストを含み、
 前記複数の検索データリストのうちの前記任意のキー計算関数に対応する検索データリストは、前記複数のデータリストのうちの、前記クエリが前記キー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示す
 類似性検出装置。
 [付記2]
 付記1に記載の類似性検出装置であって、
 前記データ登録部は、前記複数の検索対象データに基づいて複数のテーブルセットを更に算出し、
 前記検索部は、前記複数のテーブルセットのうちの前記検索条件が示すテーブルセットが前記複数のテーブルを示すときに、前記複数のテーブルを参照して前記候補データリストを算出する
 類似性検出装置。
 [付記3]
 付記1乃至2のいずれかに記載の類似性検出装置であって、
 前記複数の方向パラメータは、前記複数の検索対象データのうちの類似する2つの状態変化類似データが前記任意のキー計算関数に代入されることによりそれぞれ算出される2つの値が等しくなるように、又は、前記2つの値の差が所定の値より小さくなるように、設定される
 類似性検出装置。
 [付記4]
 付記1乃至3のいずれかに記載の類似性検出装置であって、
 前記複数の検索対象データは、それぞれ画像を示す
 類似性検出装置。
 [付記5]
 付記1乃至4のいずれかに記載の類似性検出装置であって、
 前記データ登録部は、前記複数の検索対象データが更新されたときに、前記複数のテーブルを更新する
 類似性検出装置。
 [付記6]
 入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出するステップと、
 前記複数の乱数情報に基づいて複数のキー計算関数を算出するステップと、
 入力装置を介して入力された複数の検索対象データに基づいて、前記複数のキー計算関数に対応する複数のテーブルを算出するステップと、
 前記複数のテーブルをテーブル保持装置に記録するステップと、
 前記複数のテーブルを参照して、入力装置を介して入力された検索条件が示すクエリに基づいて候補データリストを算出するステップと、
 前記候補データリストに属する複数の検索データから前記検索条件が示す条件を満足する検索結果データを算出するステップと、
 前記検索結果データを出力装置に出力するステップと、
 前記複数のテーブルのうちの任意のキー計算関数に対応するテーブルを算出する際、複数のキーを複数のデータリストに対応付け、前記複数のデータリストのうちの任意のキーに対応するデータリストに属するデータを前記任意のキー計算関数に代入することにより算出される値が前記任意のキーに等しくなるように該テーブルを算出するステップと
を具備し、
 前記候補データリストは、前記複数のキー計算関数に対応する複数の検索データリストを含み、
 前記複数の検索データリストのうちの前記任意のキー計算関数に対応する検索データリストは、前記複数のデータリストのうちの、前記クエリが前記キー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示す
 指向性近傍検出方法。
 [付記7]
 付記6に記載の指向性近傍検出方法であって、
 前記複数の検索対象データに基づいて複数のテーブルセットを更に算出するステップと、
 前記複数のテーブルセットのうちの前記検索条件が示すテーブルセットが前記複数のテーブルを示すときに、前記複数のテーブルを参照して前記候補データリストを算出するステップと
を更に具備する
 指向性近傍検出方法。
 [付記8]
 付記6乃至7のいずれかに記載の指向性近傍検出方法であって、
 前記複数の方向パラメータは、前記複数の検索対象データのうちの類似する2つの状態変化類似データが前記任意のキー計算関数に代入されることによりそれぞれ算出される2つの値が等しくなるように、又は、前記2つの値の差が所定の値より小さくなるように、設定される
 指向性近傍検出方法。
 [付記9]
 付記6乃至8のいずれかに記載の指向性近傍検出方法であって、
 前記複数の検索対象データは、それぞれ画像を示す
 指向性近傍検出方法。
 [付記10]
 付記6乃至9のいずれかに記載の指向性近傍検出方法であって、
 前記複数の検索対象データが更新されたときに、前記複数のテーブルを更新するステップ
を更に具備する
 指向性近傍検出方法。
 [付記11]
 大量の検索対象データに対して、任意の類似度判定基準で類似するデータを高速に検出する類似性検出装置であり、
 前述の類似性検出装置は、前述の検索対象データを登録・管理するための、類似度判定基準を設定するパラメータによって作成される乱数情報と関連付けられたテーブルを保持し、
 任意の参照点からの近傍検索要求に対して、前述のテーブルを利用し、前述の設定された類似度判定基準によって類似性判断を行い、近傍と判断されるデータを出力する
 ことを特徴とする類似性検出装置。
 [付記12]
 付記11に記載の類似性検出装置において、複数の異なる類似度判定基準を有し、それぞれの類似度判定基準と関連付けられた複数のテーブルを有し、検索対象データを全てのテーブルで並列に管理する
 ことを特徴とする類似性検出装置。
 [付記13]
 付記11に記載の類似度判定基準として、興味の方向と、その方向の重要度パラメータの組の集合とする
 ことを特徴とする類似性検出装置。
 [付記14]
 付記11に記載の検索対象データとして、任意の2点の距離がユークリッド空間上の距離として定義されている
 ことを特徴とする類似性検出装置。
 [付記15]
 付記12に記載の類似性検出装置において、検索においてその検索中心とともに検索類似度判定基準を入力し、複数のテーブルにおける近傍検出結果と、各テーブルに指定された類似度判定基準パラメータと検索類似度判定基準との関連性とを用いて出力する近傍を決定する
 ことを特徴とする類似性検出装置。
 [付記16]
 付記11又は付記12に記載の検索対象データとして、予めその値が静的に固定されたデータだけでなく、動的にその値を更新するデータであり、値の更新に合わせて前述のテーブルの登録状態を更新する
 ことを特徴とする類似性検出装置。
 [付記17]
 付記11又は付記12に記載の類似性検出装置として、前述のテーブルを用いた類似性判断結果を利用して、各データの状態変化が類似するものをグルーピングする
 ことを特徴とする類似性検出装置。
 [付記18]
 付記11に記載のテーブルは、キーとバリューのペアで構成され、ある任意のデータの登録に当たって、前記乱数情報を用いてデータを登録すべきキーを計算し、対応するバリューに当たるデータのリストに追加登録することでデータを管理する
 ことを特徴とする類似性検出装置。
 [付記19]
 付記11に記載の類似性判断として、同一もしくは差異の小さいキーを持つデータ同士を類似性が高いと扱う
 ことを特徴とする類似性検出装置。
 なお、本出願は、日本出願番号2011-219547に基づく優先権を主張するものであり、日本出願番号2011-219547における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  検索対象データに対して、任意の類似度判定基準で類似するデータを検出する類似性検出装置であって、
     類似度判定基準を設定するパラメータによって作成される乱数情報と関連付けられたテーブルを保持する手段と、
     検索対象データを前記テーブルに登録し管理する手段と、
     任意の参照点からの近傍検索要求に対して、前記テーブルを利用し、前記設定された類似度判定基準によって類似性判断を行い、近傍と判断されるデータを出力する手段と
    を具備する
     類似性検出装置。
  2.  請求項1に記載の類似性検出装置であって、
     複数の異なる類似度判定基準を設定する手段と、
     前記複数の異なる類似度判定基準のそれぞれと関連付けられた複数のテーブルを保持する手段と、
     前記検索対象データを前記複数のテーブルで並列に管理する手段と
    を更に具備する
     類似性検出装置。
  3.  請求項1又は2に記載の類似性検出装置であって、
     興味の方向と、該方向の重要度パラメータとの組の集合を、前記類似度判定基準とする手段
    を更に具備する
     類似性検出装置。
  4.  請求項1乃至3のいずれか一項に記載の類似性検出装置であって、
     任意の2点の距離がユークリッド空間上の距離として定義されているデータを、前記検索対象データとする手段
    を更に具備する
     類似性検出装置。
  5.  請求項1乃至4のいずれか一項に記載の類似性検出装置であって、
     検索の中心とともに検索類似度判定基準を入力し、前記複数のテーブルにおける近傍検出結果と、前記複数のテーブルの各々に指定された類似度判定基準パラメータと検索類似度判定基準との関連性とを用いて出力する近傍を決定する手段
    を更に具備する
     類似性検出装置。
  6.  請求項1乃至5のいずれか一項に記載の類似性検出装置であって、
     予め値が静的に固定されたデータ、及び動的に値を更新するデータのいずれも、前記検索対象データとして使用する手段と、
     前記検索対象データとして使用されるデータの値の更新に合わせて前記テーブルの登録状態を更新する手段と
    を更に具備する
     類似性検出装置。
  7.  請求項1乃至6のいずれか一項に記載の類似性検出装置であって、
     前記テーブルを用いた類似性判断結果を利用して、状態変化が類似するデータをグルーピングする手段
    を更に具備する
     類似性検出装置。
  8.  請求項1乃至7のいずれか一項に記載の類似性検出装置であって、
     前記テーブルをキーとバリューとの組で構成し、ある任意のデータの登録に当たって、前記乱数情報を用いてデータを登録すべきキーを計算し、対応するバリューに当たるデータのリストに追加登録することでデータを管理する手段
    を更に具備する
     類似性検出装置。
  9.  請求項1乃至8のいずれか一項に記載の類似性検出装置であって、
     同一もしくは差異の小さいキーを持つデータ同士を類似性が高いと判断する手段
    を更に具備する
     類似性検出装置。
  10.  類似性検出装置により実施され、検索対象データに対して、任意の類似度判定基準で類似するデータを検出するための指向性近傍検出方法であって、
     類似度判定基準を設定するパラメータによって作成される乱数情報と関連付けられたテーブルを保持することと、
     検索対象データを前記テーブルに登録し管理することと、
     任意の参照点からの近傍検索要求に対して、前記テーブルを利用し、前記設定された類似度判定基準によって類似性判断を行い、近傍と判断されるデータを出力することと
    を含む
     指向性近傍検出方法。
PCT/JP2012/075673 2011-10-03 2012-10-03 類似性検出装置及び指向性近傍検出方法 WO2013051619A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/348,951 US9530081B2 (en) 2011-10-03 2012-10-03 Similarity detecting apparatus and directional nearest neighbor detecting method
JP2013537536A JP6070956B2 (ja) 2011-10-03 2012-10-03 類似性検出装置及び指向性近傍検出方法
SG11201401213UA SG11201401213UA (en) 2011-10-03 2012-10-03 Similarity detecting apparatus and directional nearest neighbor detecting method
EP12838222.3A EP2765520B1 (en) 2011-10-03 2012-10-03 Similarity detection device and directional nearest neighbor method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011219547 2011-10-03
JP2011-219547 2011-10-03

Publications (1)

Publication Number Publication Date
WO2013051619A1 true WO2013051619A1 (ja) 2013-04-11

Family

ID=48043773

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/075673 WO2013051619A1 (ja) 2011-10-03 2012-10-03 類似性検出装置及び指向性近傍検出方法

Country Status (5)

Country Link
US (1) US9530081B2 (ja)
EP (1) EP2765520B1 (ja)
JP (1) JP6070956B2 (ja)
SG (1) SG11201401213UA (ja)
WO (1) WO2013051619A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016152527A (ja) * 2015-02-18 2016-08-22 Kddi株式会社 移動分析装置、移動分析方法および移動分析プログラム
WO2019116515A1 (ja) * 2017-12-14 2019-06-20 三菱電機株式会社 検索システム及び監視システム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013115202A1 (ja) * 2012-01-30 2013-08-08 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム、通信端末およびその制御方法と制御プログラム
KR102017746B1 (ko) * 2012-11-14 2019-09-04 한국전자통신연구원 유사도 산출 방법 및 그 장치
US9996574B2 (en) 2015-06-30 2018-06-12 International Business Machines Corporation Enhancements for optimizing query executions
US10810458B2 (en) * 2015-12-03 2020-10-20 Hewlett Packard Enterprise Development Lp Incremental automatic update of ranked neighbor lists based on k-th nearest neighbors
WO2017095421A1 (en) * 2015-12-03 2017-06-08 Hewlett Packard Enterprise Development Lp Automatic selection of neighbor lists to be incrementally updated
KR101834504B1 (ko) * 2016-01-15 2018-03-06 단국대학교 산학협력단 암복호화 장치 및 방법
JP6433928B2 (ja) * 2016-02-15 2018-12-05 株式会社東芝 検索装置、検索方法および検索システム
KR101834522B1 (ko) 2016-04-22 2018-03-06 단국대학교 산학협력단 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
US10599664B2 (en) * 2016-04-22 2020-03-24 Cloudera, Inc. Interactive identification of similar SQL queries
US10671615B2 (en) * 2016-05-27 2020-06-02 Facebook, Inc. Methods and systems for assigning affinity scores to contacts
US11055349B2 (en) * 2018-12-28 2021-07-06 Intel Corporation Efficient storage and processing of high-dimensional feature vectors

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326286A (ja) 1997-05-27 1998-12-08 Mitsubishi Electric Corp 類似検索装置及び類似検索プログラムを記録した記録媒体
JP2000112973A (ja) * 1998-10-02 2000-04-21 Ricoh Co Ltd 空間インデックス方法及び空間インデックス処理プログラムを格納した媒体
JP2003157283A (ja) * 2001-09-04 2003-05-30 Burittsua:Kk 情報検索プログラム
JP2004021430A (ja) 2002-06-13 2004-01-22 Fuji Xerox Co Ltd 画像検索装置、画像検索方法及び画像検索プログラム
JP2004199472A (ja) * 2002-12-19 2004-07-15 Internatl Business Mach Corp <Ibm> 情報検索のためのデータ構造を生成するコンピュータ・システム、そのための方法、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラム、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラムを記憶したコンピュータ可読な記憶媒体、情報検索システム、およびグラフィカル・ユーザ・インタフェイス・システム
JP2005070927A (ja) 2003-08-21 2005-03-17 Mitsuru Oba 画像特徴取得方法、及びそのプログラムとその装置
JP2006190191A (ja) * 2005-01-07 2006-07-20 Sony Corp 情報処理装置および方法、並びにプログラム
JP2009116592A (ja) * 2007-11-06 2009-05-28 Nippon Telegr & Teleph Corp <Ntt> ベクトル検索装置、ベクトル検索方法、プログラムおよびプログラムを記録した記録媒体
JP2011219547A (ja) 2010-04-06 2011-11-04 Shin-Etsu Chemical Co Ltd エラストマー球状微粒子をポリオルガノシルセスキオキサンで被覆した複合微粒子およびその製造方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326286A (ja) 1997-05-27 1998-12-08 Mitsubishi Electric Corp 類似検索装置及び類似検索プログラムを記録した記録媒体
JP2000112973A (ja) * 1998-10-02 2000-04-21 Ricoh Co Ltd 空間インデックス方法及び空間インデックス処理プログラムを格納した媒体
JP2003157283A (ja) * 2001-09-04 2003-05-30 Burittsua:Kk 情報検索プログラム
JP2004021430A (ja) 2002-06-13 2004-01-22 Fuji Xerox Co Ltd 画像検索装置、画像検索方法及び画像検索プログラム
JP2004199472A (ja) * 2002-12-19 2004-07-15 Internatl Business Mach Corp <Ibm> 情報検索のためのデータ構造を生成するコンピュータ・システム、そのための方法、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラム、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラムを記憶したコンピュータ可読な記憶媒体、情報検索システム、およびグラフィカル・ユーザ・インタフェイス・システム
JP2005070927A (ja) 2003-08-21 2005-03-17 Mitsuru Oba 画像特徴取得方法、及びそのプログラムとその装置
JP2006190191A (ja) * 2005-01-07 2006-07-20 Sony Corp 情報処理装置および方法、並びにプログラム
JP2009116592A (ja) * 2007-11-06 2009-05-28 Nippon Telegr & Teleph Corp <Ntt> ベクトル検索装置、ベクトル検索方法、プログラムおよびプログラムを記録した記録媒体
JP2011219547A (ja) 2010-04-06 2011-11-04 Shin-Etsu Chemical Co Ltd エラストマー球状微粒子をポリオルガノシルセスキオキサンで被覆した複合微粒子およびその製造方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DATAR, M.; IMMORLICA, N.; INDYK, P.; MIRROKNI, V.: "Locality sensitive hashing scheme based on p-stable distributions", 2004, ACM SYMPOSIUM ON COMPUTATIONAL GEOMETRY
See also references of EP2765520A4

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016152527A (ja) * 2015-02-18 2016-08-22 Kddi株式会社 移動分析装置、移動分析方法および移動分析プログラム
WO2019116515A1 (ja) * 2017-12-14 2019-06-20 三菱電機株式会社 検索システム及び監視システム
CN111492371A (zh) * 2017-12-14 2020-08-04 三菱电机株式会社 检索系统和监视系统
JPWO2019116515A1 (ja) * 2017-12-14 2020-10-22 三菱電機株式会社 検索システム
US11320798B2 (en) * 2017-12-14 2022-05-03 Mitsubishi Electric Corporation Retrieval system and monitoring system
CN111492371B (zh) * 2017-12-14 2023-05-26 三菱电机株式会社 检索系统和监视系统

Also Published As

Publication number Publication date
JPWO2013051619A1 (ja) 2015-03-30
US20140324870A1 (en) 2014-10-30
EP2765520A4 (en) 2016-04-27
EP2765520B1 (en) 2022-09-14
JP6070956B2 (ja) 2017-02-01
SG11201401213UA (en) 2014-08-28
EP2765520A1 (en) 2014-08-13
US9530081B2 (en) 2016-12-27

Similar Documents

Publication Publication Date Title
JP6070956B2 (ja) 類似性検出装置及び指向性近傍検出方法
KR100353798B1 (ko) 영상 객체 모양 정보 추출 방법 및 그를 이용한 내용기반 이미지 검색 시스템 및 그 방법
CN108984785B (zh) 一种基于历史数据和增量的指纹库的更新方法及装置
US8849030B2 (en) Image retrieval using spatial bag-of-features
JP2019045894A (ja) 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置
CN111831660B (zh) 度量空间划分方式评价方法、装置、计算机设备及存储介质
KR20040005895A (ko) 거리 측정기를 사용한 이미지 검색법
CN103714148B (zh) 基于稀疏编码分类的sar图像检索方法
KR20180053731A (ko) 일정한 처리 시간 내에 k개의 극값을 찾는 방법
Zhang et al. Dynamic time warping under product quantization, with applications to time-series data similarity search
CN113436223B (zh) 点云数据的分割方法、装置、计算机设备和存储介质
JP5014479B2 (ja) 画像検索装置、画像検索方法及びプログラム
CN116610840A (zh) 一种相似数据搜索方法、系统及电子设备
CN110083731B (zh) 图像检索方法、装置、计算机设备及存储介质
Oguri et al. General and practical tuning method for off-the-shelf graph-based index: Sisap indexing challenge report by team utokyo
CN115129915A (zh) 重复图像检索方法、装置、设备及存储介质
CN113496260A (zh) 基于改进YOLOv3算法的粮库人员不规范作业检测法
Arun et al. On integrating re-ranking and rank list fusion techniques for image retrieval
JP5616310B2 (ja) 画像マッチング装置及び画像マッチングプログラム
Yang et al. Adaptive density peak clustering for determinging cluster center
JP7121706B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2021115154A1 (zh) 可移动设备定位数据处理方法、装置、设备及存储介质
Divya Lakshmi et al. Helly hypergraph based matching framework using deterministic sampling techniques for spatially improved point feature based image matching
CN113657179A (zh) 图像识别及建模方法、装置、电子设备及存储介质
Faustino et al. k d-SNN: A Metric Data Structure Seconding the Clustering of Spatial Data

Legal Events

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

Ref document number: 12838222

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012838222

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2013537536

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14348951

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE