Upload
roxanne-norton
View
226
Download
2
Tags:
Embed Size (px)
Citation preview
VLSH: Voronoi-based
Locality Sensitive Hashing
Sung-eui Yoon
Authors:Lin Loi, Jae-Pil Heo, Junghwan Lee, and
Sung-Eui YoonKAIST
http://sglab.kaist.ac.kr/VLSH/
2
Main Goals
● Provide efficient nearest neighbor search for various motion planners, PRM and RRT● Works with high-dimensional data sets● Supports a diverse set of distance metrics
3
Nearest Neighbor Search in Motion Planning
1. Generate collision free samples
2. For each sample, find near neighbors
4
K-Nearest Neighbor Search
● Example with K = 6
q: query point
data points
5
Approximate K-Nearest Neighbor Search (Ak-NNS)
● Allow approximation factor, ε > 1, to the distance, d, of the exact NN
qd
q
dε
Ak-NNS
6
Main Contributions
● Proposes VLSH that embeds points in space and uses localized LSHs depending on data distributions
● VLSH supports:● Arbitrary distance metrics used in motion
planning● Fast approximate nearest neighbor search
with high accuracy
7
Previous Work
● Spatial subdivision data structures (e.g., kd-trees)
● Suffer from the curse of dimensionality [Weber et al. 1998]
● Culling techniques using the triangle inequality [Chavez et al. 01]
● Geometric Near Access Tree (GNAT) [Brin, 95]
● Used widely at OOPSMP and OMPL
● GPU based acceleration [Pan et al., 10]
8
Previous Work on LSH and Embedding
● Locality Sensitivity Hashing (LSH)● Fast algorithms for high-dimensional NNS
problems [Datar and Indyk 2004]
● Supports for a limited set of motion planning distance metrics (e.g., Euler angles) [Pan et al. 2010]
● Embedding● Well studied topic [Indyk et al., 04]
● Embed motion planning spaces to the Euclidean space [Plaku and Kavraki 2006]
9
Background on LSH
● Randomly generate a projection vector
● Project points onto vector
● Bin the projected points to a segment, whose width is w, i.e. quantization factor
● All the data in a bin has the same hash code
Quantization factor w
10
Background on LSH
● Multiple projectionsNN of :
g1
g2
g3
Data points
Query point
11
Issues of LSH
● LSH works with and some of its variants● Does not support arbitrary distance
metrics used in motion planning, e.g., scaled Euclidean distance metric and swept volume
● LSH is data independent● LSH is ineffective for handling datasets
with irregular distributions
12
An Example
w
a0
a1 The number of data points in each bin can
vary a lot!
13
VLSH: Voronoi-based Locality Sensitive Hashing
● Consists of two steps:1. Embedding to the Euclidean space2. Invoking a localized LSH
14
Phase 1: Embedding
● Pick pivot points from the data set
● Compute distance to all pivot
points in the MP space for defining
an embedded point, v’
● Use L2 metric as a distance metric
between embedded points
● Support arbitrary motion planning
metrics with a low distortion
[Bourgain 85]
d(p0,v)
d(p1,v)
d(p2,v)
v’= (d(p0,v), d(p1,v), d(p2,v))
p1
p2
: pivot point
: sample point
p0
v
15
Phase 2: Invoking a Local LSH
● During embedding process, a point can be associated with its closest pivot● Pivot points implicitly construct Voronoi
regions
Pivot points
Data points
Voronoi diagram
16
Implicit Voronoi Region of a Pivot
● Construct a localized LSH for points contained in each Voronoi region of a pivot point
● Use a localized quantization factor
● Explicit construction for Voronoi regions is not necessary
● Assigns a point to its closest pivot
17
Expanding Voronoi Regions
● Considering only points within the Voronoi region of each pivot results in disconnected graphs● Points near Voronoi regions are not
connected
18
Expanding Voronoi Regions
● Use an extended Voronoi region of a pivot● Contains nearby
points, whose second closest pivot is the current one
● Expansion amount, ● Contain percentile of
those nearby points● Large expanding
results higher accuracy, but bigger memory overhead
● 60% to 90% works well
19
Results w/ and w/o Expansion
Disconnected graphs (Ak-NNS w/o expansion)
Well-connected graphs (Ak-NNS w/ expansion)
20
Query-Time Algorithm
● Compute the embedded point from a query point
● Find the closest pivot point and use its localized LSH
● Return candidate nearest neighbors located in hash-buckets of the localized LSH
21
Test Configurations
● Intel i7 3.3 GHz CPU with C++ implementation
● Compare our method against LSH and GNAT (OOPSMP)● Test them with samples from a PRM
planner● 15 nearest neighbor search, i.e. k = 15
● 10 pivots for our method
22
Benchmarks
● Wiper: 6 dimensions (1 robot for the wiper)
● Bug trap:● 24 dimensions: 4 rod robots● 36 dimensions: 6 rod robots
23
Wiper: Performance Evaluation
● VLSH vs. GNAT (Em):● 3.7x faster
● VLSH vs. LSH (Em):● 2.6x faster
24
Wiper: Quality Evaluation
● Measure fractional distance error (fde) [Plaku and Kavraki 06]● Measure difference between computed
approximate and ground truth results● Lower values indicate more accurate
results
25
Results: Bug trap, 24 dim.
● VLSH vs GNAT (Em):● 3.2x faster
● VLSH vs LSH (Em):● Up to 1.6x faster
26
Results: Bug trap, 36 dim.
● VLSH vs GNAT (Em):● 3.6x faster
● VLSH vs LSH (Em):● Up to 1.4x faster
27
Conclusions
● Fast approximate nearest neighbor search algorithm for high-dimensional motion planning problems● Achieve up to 3.7x faster running time
over prior approaches● Supports all distance metrics and
consider data distributions for higher accuracy
28
Limitation and Future Work
● Memory overhead● Duplicate points in our method● Overall it is not significant, since it takes
tens of MB in the testes cases
● Support RRTs that dynamically generate data points
● Supports GPUs for higher performance
29
Acknowledgements
● Anonymous reviewers● Our funding agency
Project webpage:http://sglab.kaist.ac.kr/VLSH/