DMCA
A Simple Algorithm for Nearest Neighbor Search in High Dimensions (1997)
Venue: | IEEE Transactions on Pattern Analysis and Machine Intelligence |
Citations: | 153 - 1 self |
Citations
2896 |
The design and Analysis of computer Algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ...t. 3.2 Data Structure Candidate list construction and trimming can done in a variety of ways. Here, we propose a method that uses a simple pre-constructed data structure along with 1D binary searches =-=[1]-=- to efficiently find points sandwiched between a pair of parallel hyperplanes. The data structure is constructed from the raw point set and is depicted in Fig. 2. It is assumed that the point set is s... |
2750 | R-trees: a dynamic index structure for spatial searching
- Guttman
- 1984
(Show Context)
Citation Context ...used to address specific search problems [2], [33]. An R-tree is also a space partitioning structure, but unlike k-d trees, the partitioning element is not a hyperplane but a hyper-rectangular region =-=[18]-=-. This hierarchical rectangular structure is useful in applications such as searching by image content [30] where one needs to locate the closest manifold (or cluster) to a novel manifold (or cluster)... |
2050 |
Computational Geometry: An Introduction
- Preparata, Shamos
- 1985
(Show Context)
Citation Context ... number of points in the database. Unfortunately, the cost of constructing and storing Voronoi diagrams grows exponentially with the number of dimensions. Details can be found in [3], [12], [20], and =-=[31]-=-. Another algorithm of interest is the 1D binary search generalized to d dimensions [11]. This runs in O(log 2n) time but requires storage O(n 4 ), which makes it impractical for n > 100. Perhaps the ... |
1524 |
Multidimensional binary search trees used for associative searching
- Bentley
- 1975
(Show Context)
Citation Context ...ical for n > 100. Perhaps the most widely used algorithm for searching in multiple dimensions is a static space partitioning technique based on a k-dimensional binary search tree, called the k-d tree =-=[5]-=-, [6]. The k-d tree is a data structure that partitions space using hyperplanes placed perpendicular to the coordinate axes. The partitions are arranged hierarchically to form a tree. In its simplest ... |
1261 | The r*-tree: an efficient and robust access method for points and rectangles - Beckmann - 1990 |
1108 |
Learning and recognition of 3D objects from appearance
- Murase, Nayar
- 1993
(Show Context)
Citation Context ...onality, d. By high dimensional, we mean when, say d > 25. Such high dimensionality occurs commonly in applications that use eigenspace based appearance matching, such as real-time object recognition =-=[24]-=-, visual positioning, tracking, and inspection [26], and feature detection [25]. Moreover, these techniques require that nearest neighbor search be performed using the Euclidean distance (or L2) norm.... |
775 |
Algorithms in Combinatorial Geometry
- Edelsbrunner
- 1987
(Show Context)
Citation Context ... where, n is the number of points in the database. Unfortunately, the cost of constructing and storing Voronoi diagrams grows exponentially with the number of dimensions. Details can be found in [3], =-=[12]-=-, [20], and [31]. Another algorithm of interest is the 1D binary search generalized to d dimensions [11]. This runs in O(log 2n) time but requires storage O(n 4 ), which makes it impractical for n > 1... |
764 | An algorithm for finding best matches in logarithmic expected time.
- Friedman, Bentley, et al.
- 1977
(Show Context)
Citation Context ...re is revised if necessary. For fixed d, and under certain assumptions about the underlying data, the k-d tree requires O(nlog 2n) operations to construct and O(log 2n) operations to search [7], [8], =-=[15]-=-. k-d trees are extremely versatile and efficient to use in low dimensions. However, the performance degrades ex-NENE AND NAYAR: A SIMPLE ALGORITHM FOR NEAREST NEIGHBOR SEARCH IN HIGH DIMENSIONS 991 ... |
742 | Voronoi Diagrams - Survey of a Fundamental Geometric Data Structure - Aurenhammer - 1991 |
431 | The K-D-B-tree: a search structure for large multidimensional dynamic indexes
- Robinson
- 1981
(Show Context)
Citation Context ... maximum [15]. Sproull suggests using a truncated distance computation to increase efficiency in high dimensions [36]. Variants of the k-d tree have been used to address specific search problems [2], =-=[33]-=-. An R-tree is also a space partitioning structure, but unlike k-d trees, the partitioning element is not a hyperplane but a hyper-rectangular region [18]. This hierarchical rectangular structure is u... |
358 | Data structures and algorithms for nearest neighbor search in general metric spaces.
- Yianilos
- 1993
(Show Context)
Citation Context ...ons is very similar to that of k-d trees; complexity grows exponentially with d. Other static space partitioning techniques have been proposed such as branch and bound [16], quad-trees [17], vp-trees =-=[39]-=-, and hB-trees [22], none of which significantly improve performance for high dimensions. Clarkson describes a randomized algorithm which finds the closest point in d dimensional space in O(log2n) ope... |
343 | The R+-tree: a dynamic index for multi-dimensional objects, in
- Sellis, Roussopoulos, et al.
- 1987
(Show Context)
Citation Context ... but unlike the k-d tree, the search performance is not affected by addition or deletion of data. A number of variants of R-Trees improve on the basic technique, such as packed R-trees [34], R+-trees =-=[35]-=-, and R*-trees [4]. Although R-trees are useful in implementing sophisticated queries and managing large databases, the performance of nearest neighbor point searches in high dimensions is very simila... |
271 | Sorting and Searching, volume 3 of The Art of Computer Programming - Knuth - 1973 |
262 |
Voronoi diagrams–a survey of a fundamental geometric data structure
- Aurenhammer
- 1991
(Show Context)
Citation Context ...ions, where, n is the number of points in the database. Unfortunately, the cost of constructing and storing Voronoi diagrams grows exponentially with the number of dimensions. Details can be found in =-=[3]-=-, [12], [20], and [31]. Another algorithm of interest is the 1D binary search generalized to d dimensions [11]. This runs in O(log 2n) time but requires storage O(n 4 ), which makes it impractical for... |
187 | The hB-tree: A multiattribute indexing method with good guaranteed performance
- Lomet, Salzberg
- 1990
(Show Context)
Citation Context ... to that of k-d trees; complexity grows exponentially with d. Other static space partitioning techniques have been proposed such as branch and bound [16], quad-trees [17], vp-trees [39], and hB-trees =-=[22]-=-, none of which significantly improve performance for high dimensions. Clarkson describes a randomized algorithm which finds the closest point in d dimensional space in O(log2n) operations using a RPO... |
178 | Datastructures for range searching - Bently, Friedman - 1979 |
171 |
An eective way to represent quadtrees
- Gargantini
- 1982
(Show Context)
Citation Context ...in high dimensions is very similar to that of k-d trees; complexity grows exponentially with d. Other static space partitioning techniques have been proposed such as branch and bound [16], quad-trees =-=[17]-=-, vp-trees [39], and hB-trees [22], none of which significantly improve performance for high dimensions. Clarkson describes a randomized algorithm which finds the closest point in d dimensional space ... |
155 |
Multidimensional divide-and-conquer
- Bentley
- 1980
(Show Context)
Citation Context ...rsphere is revised if necessary. For fixed d, and under certain assumptions about the underlying data, the k-d tree requires O(nlog 2n) operations to construct and O(log 2n) operations to search [7], =-=[8]-=-, [15]. k-d trees are extremely versatile and efficient to use in low dimensions. However, the performance degrades ex-NENE AND NAYAR: A SIMPLE ALGORITHM FOR NEAREST NEIGHBOR SEARCH IN HIGH DIMENSION... |
153 | Direct Spatial Search on Pictorial Databases Using Packed R-trees," - Roussopoulos, Leifker - 1985 |
148 |
A Branch and Bound Algorithm for Computing k-Nearest Neighbors,”
- Fukunaga, Narendra
- 1975
(Show Context)
Citation Context ...r point searches in high dimensions is very similar to that of k-d trees; complexity grows exponentially with d. Other static space partitioning techniques have been proposed such as branch and bound =-=[16]-=-, quad-trees [17], vp-trees [39], and hB-trees [22], none of which significantly improve performance for high dimensions. Clarkson describes a randomized algorithm which finds the closest point in d d... |
123 | Refinements to nearest-neighbor searching in k-dimensional trees,”
- Sproull
- 1991
(Show Context)
Citation Context ... perpendicular to the coordinate axis along whose direction the spread of the points is maximum [15]. Sproull suggests using a truncated distance computation to increase efficiency in high dimensions =-=[36]-=-. Variants of the k-d tree have been used to address specific search problems [2], [33]. An R-tree is also a space partitioning structure, but unlike k-d trees, the partitioning element is not a hyper... |
122 |
A randomized algorithm for closest-point queries
- Clarkson
- 1988
(Show Context)
Citation Context ...mprove performance for high dimensions. Clarkson describes a randomized algorithm which finds the closest point in d dimensional space in O(log2n) operations using a RPO (randomized post office) tree =-=[10]-=-. However, the time taken to construct the RPO tree is O(n Ëd/2Û(1+e) ) and the space required to store it is also O(n Ëd/2Û(1+e) ). This makes it impractical when the number of points n is large or i... |
118 | Fundamentals of data structures, - Horowitz, Sahni - 1983 |
103 |
Multidimensional search problems
- Dobkin, Lipton
- 1976
(Show Context)
Citation Context ...oronoi diagrams grows exponentially with the number of dimensions. Details can be found in [3], [12], [20], and [31]. Another algorithm of interest is the 1D binary search generalized to d dimensions =-=[11]-=-. This runs in O(log 2n) time but requires storage O(n 4 ), which makes it impractical for n > 100. Perhaps the most widely used algorithm for searching in multiple dimensions is a static space partit... |
92 | Optimal expectedtime algorithms for closest point problems
- BENTLEY, WEIDE, et al.
- 1980
(Show Context)
Citation Context ... hypersphere is revised if necessary. For fixed d, and under certain assumptions about the underlying data, the k-d tree requires O(nlog 2n) operations to construct and O(log 2n) operations to search =-=[7]-=-, [8], [15]. k-d trees are extremely versatile and efficient to use in low dimensions. However, the performance degrades ex-NENE AND NAYAR: A SIMPLE ALGORITHM FOR NEAREST NEIGHBOR SEARCH IN HIGH DIME... |
92 |
An Algorithm for Finding Nearest Neighbors,”
- Friedman, Baskett, et al.
- 1975
(Show Context)
Citation Context ...ssume that e is known, so we suggest a method to automatically choose e. We now briefly outline the proposed algorithm. Our algorithm is based on the projection search paradigm first used by Friedman =-=[14]-=-. Friedman’s simple technique works as follows. In the preprocessing step, d dimensional training points are ordered in d different ways by individually sorting each of their coordinates. Each of the ... |
86 | Multidimensional Indexing for Recognizing Visual Shapes
- Califano, Mohan
- 1994
(Show Context)
Citation Context ... a high dimensional space to a low (one or two) dimensional space and then indexing in this low dimensional space have been proposed. Such a dimensionality reduction is called geometric hashing [38], =-=[9]-=-. The problem is that, with increasing dimensionality, it becomes difficult to construct a hash function that distributes data uniformly across the entire hash table (index). An added drawback arises ... |
85 | Real-time 100 object recognition system
- Nayar, Nene, et al.
- 1996
(Show Context)
Citation Context ...s continuous, so in order to find the closest point on the manifold, we need to finely sample it to obtain discrete closely spaced points. For our benchmark, we used the Columbia Object Image Library =-=[27]-=- along with the SLAM software package [28] to compute 100 univariate manifolds in a 35D eigenspace. These manifolds correspond to appearance models of the 100 objects (20 of the 100 objects shown in F... |
79 | Parametric Feature Detection,"
- Baker, Nayar, et al.
- 1998
(Show Context)
Citation Context ...lity occurs commonly in applications that use eigenspace based appearance matching, such as real-time object recognition [24], visual positioning, tracking, and inspection [26], and feature detection =-=[25]-=-. Moreover, these techniques require that nearest neighbor search be performed using the Euclidean distance (or L2) norm. This can be a hard problem, especially when dimensionality is high. High dimen... |
58 |
Sorting and Searching: the Art of
- Knuth
- 1973
(Show Context)
Citation Context ... of n points and a novel query point Q in a d-dimensional space, “Find a point in the set such that its distance from Q is lesser than, or equal to, the distance of Q from any other point in the set” =-=[21]-=-. A variety of search algorithms have been advanced since Knuth first stated this (post office) problem. Why then, do we need a new algorithm? The answer is that existing techniques perform very poorl... |
53 |
The R*-tree: an Efficient and Robust Access Method for
- Beckmann, Kriegel, et al.
- 1990
(Show Context)
Citation Context ... tree, the search performance is not affected by addition or deletion of data. A number of variants of R-Trees improve on the basic technique, such as packed R-trees [34], R+-trees [35], and R*-trees =-=[4]-=-. Although R-trees are useful in implementing sophisticated queries and managing large databases, the performance of nearest neighbor point searches in high dimensions is very similar to that of k-d t... |
49 |
Model-based object recognition by geometric hashing
- Wolfson
- 1990
(Show Context)
Citation Context ...g from a high dimensional space to a low (one or two) dimensional space and then indexing in this low dimensional space have been proposed. Such a dimensionality reduction is called geometric hashing =-=[38]-=-, [9]. The problem is that, with increasing dimensionality, it becomes difficult to construct a hash function that distributes data uniformly across the entire hash table (index). An added drawback ar... |
42 |
On the complexity of d-dimensional Voronoi diagrams. Archiv der Mathematik
- Klee
- 1985
(Show Context)
Citation Context ..., n is the number of points in the database. Unfortunately, the cost of constructing and storing Voronoi diagrams grows exponentially with the number of dimensions. Details can be found in [3], [12], =-=[20]-=-, and [31]. Another algorithm of interest is the 1D binary search generalized to d dimensions [11]. This runs in O(log 2n) time but requires storage O(n 4 ), which makes it impractical for n > 100. Pe... |
39 |
A new version of the nearest-neighbor approximating and eliminating search (AESA) with linear preprocessingtime and memory requirements. Pattern Recognition Letters
- Mic'o, Oncina, et al.
- 1994
(Show Context)
Citation Context ...ace in which the points reside lacks an explicit coordinate structure. In this paper, we focus only on vector space techniques. For a detailed discussion on searching in metric spaces, refer to [13], =-=[23]-=-, and [37]. Exhaustive search, as the term implies, involves computing the distance of the novel point from each and every point in the set and finding the point with the minimum distance. This approa... |
30 |
Fast Nearest-Neighbor Search in Dissimilarity Spaces,”
- Farago, Linder, et al.
- 1993
(Show Context)
Citation Context ...the space in which the points reside lacks an explicit coordinate structure. In this paper, we focus only on vector space techniques. For a detailed discussion on searching in metric spaces, refer to =-=[13]-=-, [23], and [37]. Exhaustive search, as the term implies, involves computing the distance of the novel point from each and every point in the set and finding the point with the minimum distance. This ... |
29 | Positioning, and Tracking Visual Appearance. In - Learning - 1996 |
27 | Digital pictures: representation, compression, and standards - Netravali, Haskell - 1995 |
27 | Similarity Searching in Large Image Database
- Petrakis, Faloutsos
(Show Context)
Citation Context ...nlike k-d trees, the partitioning element is not a hyperplane but a hyper-rectangular region [18]. This hierarchical rectangular structure is useful in applications such as searching by image content =-=[30]-=- where one needs to locate the closest manifold (or cluster) to a novel manifold (or cluster). An R-tree also addresses some of the problems involved in implementing k-d trees in large disk based data... |
27 |
tracking visual appearance
- Nayar, Murase, et al.
- 1994
(Show Context)
Citation Context ...d > 25. Such high dimensionality occurs commonly in applications that use eigenspace based appearance matching, such as real-time object recognition [24], visual positioning, tracking, and inspection =-=[26]-=-, and feature detection [25]. Moreover, these techniques require that nearest neighbor search be performed using the Euclidean distance (or L2) norm. This can be a hard problem, especially when dimens... |
24 |
SLAM: Software Library for Appearance Matching”,
- Nene, Nayar, et al.
- 1994
(Show Context)
Citation Context ...est point on the manifold, we need to finely sample it to obtain discrete closely spaced points. For our benchmark, we used the Columbia Object Image Library [27] along with the SLAM software package =-=[28]-=- to compute 100 univariate manifolds in a 35D eigenspace. These manifolds correspond to appearance models of the 100 objects (20 of the 100 objects shown in Fig. 12a). Each of the 100 manifolds were s... |
23 | Nearest neighbor searching and applications - ARYA - 1995 |
14 |
A technique to identify nearest neighbors
- Yunck
- 1976
(Show Context)
Citation Context ...re exhaustively searched to obtain the closest point. The complexity of this technique is roughly O(nde) and is clearly inefficient in high d. This simple projection search was improved upon by Yunck =-=[40]-=-. He utilizes a precomputed data structure which maintains a mapping from the sorted to the unsorted (original) coordinate arrays. In addition to this mapping, an indicator array of n elements is used... |
12 |
Reducing the overhead of the AESA metric-space nearest neighbor searching algorithm
- Vilar
- 1995
(Show Context)
Citation Context ...ch the points reside lacks an explicit coordinate structure. In this paper, we focus only on vector space techniques. For a detailed discussion on searching in metric spaces, refer to [13], [23], and =-=[37]-=-. Exhaustive search, as the term implies, involves computing the distance of the novel point from each and every point in the set and finding the point with the minimum distance. This approach is clea... |
1 | A simple algorithm for efficient motion estimation in mpeg coding - Nene, Nayar - 1996 |
1 |
Nearest Neighbor Searching and Applications,” no. CSTR-3490
- Arya
- 1995
(Show Context)
Citation Context ...ts is maximum [15]. Sproull suggests using a truncated distance computation to increase efficiency in high dimensions [36]. Variants of the k-d tree have been used to address specific search problems =-=[2]-=-, [33]. An R-tree is also a space partitioning structure, but unlike k-d trees, the partitioning element is not a hyperplane but a hyper-rectangular region [18]. This hierarchical rectangular structur... |