29
1 VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST http://sglab.kaist.ac.kr/VLSH/

VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

Embed Size (px)

Citation preview

Page 1: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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/

Page 2: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 3: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

3

Nearest Neighbor Search in Motion Planning

1. Generate collision free samples

2. For each sample, find near neighbors

Page 4: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

4

K-Nearest Neighbor Search

● Example with K = 6

q: query point

data points

Page 5: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

5

Approximate K-Nearest Neighbor Search (Ak-NNS)

● Allow approximation factor, ε > 1, to the distance, d, of the exact NN

qd

q

Ak-NNS

Page 6: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 7: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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]

Page 8: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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]

Page 9: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 10: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

10

Background on LSH

● Multiple projectionsNN of :

g1

g2

g3

Data points

Query point

Page 11: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 12: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

12

An Example

           

           

           

           

           

           

w

a0

a1 The number of data points in each bin can

vary a lot!

Page 13: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

13

VLSH: Voronoi-based Locality Sensitive Hashing

● Consists of two steps:1. Embedding to the Euclidean space2. Invoking a localized LSH

Page 14: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 15: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 16: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 17: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 18: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 19: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

19

Results w/ and w/o Expansion

Disconnected graphs (Ak-NNS w/o expansion)

Well-connected graphs (Ak-NNS w/ expansion)

Page 20: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 21: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 22: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

22

Benchmarks

● Wiper: 6 dimensions (1 robot for the wiper)

● Bug trap:● 24 dimensions: 4 rod robots● 36 dimensions: 6 rod robots

Page 23: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

23

Wiper: Performance Evaluation

● VLSH vs. GNAT (Em):● 3.7x faster

● VLSH vs. LSH (Em):● 2.6x faster

Page 24: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 25: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

25

Results: Bug trap, 24 dim.

● VLSH vs GNAT (Em):● 3.2x faster

● VLSH vs LSH (Em):● Up to 1.6x faster

Page 26: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

26

Results: Bug trap, 36 dim.

● VLSH vs GNAT (Em):● 3.6x faster

● VLSH vs LSH (Em):● Up to 1.4x faster

Page 27: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 28: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

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

Page 29: VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

29

Acknowledgements

● Anonymous reviewers● Our funding agency

Project webpage:http://sglab.kaist.ac.kr/VLSH/