vlsh: voronoi-based locality sensitive hashing

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/

Upload: vine

Post on 25-Feb-2016

106 views

Category:

Documents


0 download

DESCRIPTION

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/. Main Goals. Provide efficient nearest neighbor search for various motion planners, PRM and RRT - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VLSH:  Voronoi-based  Locality Sensitive Hashing

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

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

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

4

K-Nearest Neighbor Search

● Example with K = 6

q: query point

data points

Page 5: VLSH:  Voronoi-based  Locality Sensitive Hashing

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

Page 6: VLSH:  Voronoi-based  Locality Sensitive Hashing

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

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

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

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

10

Background on LSH● Multiple projections

NN of :

g1

g2

g3

Data pointsQuery point

Page 11: VLSH:  Voronoi-based  Locality Sensitive Hashing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

29

Acknowledgements● Anonymous reviewers● Our funding agency

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