Embed
Email

Lecture 27 Embeddings for Fast Search in Image Databases

Document Sample

Shared by: panniuniu
Categories
Tags
Stats
views:
0
posted:
12/11/2011
language:
pages:
59
Lecture 27

Embeddings for Fast Search

in Image Databases







CSE 6367 – Computer Vision

Spring 2010

Vassilis Athitsos

University of Texas at Arlington

A Database of Hand Images

4128 images are generated

for each hand shape.

Total: 107,328 images.









2

Efficiency of the Chamfer Distance

input model









• Computing chamfer distances is slow.

– For images with d edge pixels, O(d log d)

time.

– Comparing input to entire database takes

over 4 minutes.

• Must measure 107,328 distances. 3

The Nearest Neighbor Problem



database









4

The Nearest Neighbor Problem

• Goal:

database – find the k nearest

neighbors of query q.





query









5

The Nearest Neighbor Problem

• Goal:

database – find the k nearest

neighbors of query q.

• Brute force time is linear

to:

query

– n (size of database).

– time it takes to measure a

single distance.





6

The Nearest Neighbor Problem

• Goal:

database – find the k nearest

neighbors of query q.

• Brute force time is linear

to:

query

– n (size of database).

– time it takes to measure a

single distance.





7

Examples of Expensive

Measures



 DNA and protein sequences:

 Smith-Waterman.

 Dynamic gestures and time series:

 Dynamic Time Warping.

 Edge images:

 Chamfer distance, shape context distance.

 These measures are non-Euclidean,

sometimes non-metric.

8

Embeddings

database

x1

x2

x3









xn

9

Embeddings

database

x1 Rd



x2 x2

embedding x1

x3

F

xn

x4

x3



xn

10

Embeddings

database

x1 Rd



x2 x2

embedding x1

x3

F

xn

x4

x3

query

xn

q

11

Embeddings

database

x1 Rd



x2 x2

embedding x1

x3

F

xn

x4

x3 q

query

xn

q

12

 Measure distances between vectors

(typically much faster).

Embeddings  Caveat: the embedding must

preserve similarity structure.

database

x1 Rd



x2 x2

embedding x1

x3

F

xn

x4

x3 q

query

xn

q

13

Reference Object Embeddings









original space X







14

Reference Object Embeddings





r









original space X

r: reference object



15

Reference Object Embeddings





r









original space X

r: reference object Embedding: F(x) = D(x,r)

D: distance measure in X.

16

Reference Object Embeddings





r









original space X F Real line

r: reference object Embedding: F(x) = D(x,r)

D: distance measure in X.

17

Reference Object Embeddings

 F(r) = D(r,r) = 0







r









original space X F Real line

r: reference object Embedding: F(x) = D(x,r)

D: distance measure in X.

18

Reference Object Embeddings

 F(r) = D(r,r) = 0

 If a and b are similar,

their distances to r are

also similar (usually).

r b

a





original space X F Real line

r: reference object Embedding: F(x) = D(x,r)

D: distance measure in X.

19

Reference Object Embeddings

 F(r) = D(r,r) = 0

 If a and b are similar,

their distances to r are

also similar (usually).

r b

a





original space X F Real line

r: reference object Embedding: F(x) = D(x,r)

D: distance measure in X.

20

F(x) = D(x, Lincoln)









F(Sacramento)....= 1543

F(Las Vegas).....= 1232

F(Oklahoma City).= 437

F(Washington DC).= 1207

F(Jacksonville)..= 1344 21

F(x) = (D(x, LA), D(x, Lincoln), D(x, Orlando))









F(Sacramento)....= ( 386, 1543, 2920)

F(Las Vegas).....= ( 262, 1232, 2405)

F(Oklahoma City).= (1345, 437, 1291)

F(Washington DC).= (2657, 1207, 853)

F(Jacksonville)..= (2422, 1344, 141) 22

F(x) = (D(x, LA), D(x, Lincoln), D(x, Orlando))









F(Sacramento)....= ( 386, 1543, 2920)

F(Las Vegas).....= ( 262, 1232, 2405)

F(Oklahoma City).= (1345, 437, 1291)

F(Washington DC).= (2657, 1207, 853)

F(Jacksonville)..= (2422, 1344, 141) 23

Embedding Hand Images

F(x) = (C(x, R1), C(A, R2), C(A, R3))

x: hand image. C: chamfer distance.







image x R1





R2





R3

24

Basic Questions

F(x) = (C(x, R1), C(A, R2), C(A, R3))

x: hand image. C: chamfer distance.





R1  How many prototypes?

image x

 Which prototypes?

 What distance should we

R2 use to compare vectors?



R3

25

Some Easy Answers.

F(x) = (C(x, R1), C(A, R2), C(A, R3))

x: hand image. C: chamfer distance.





R1  How many prototypes?

image x

 Pick number manually.

 Which prototypes?

R2

 Randomly chosen.

 What distance should we

R3 use to compare vectors?

 L1, or Euclidean.26

Filter-and-refine Retrieval



 Embedding step:

 Compute distances from query to reference

objects  F(q).

 Filter step:

 Find top p matches of F(q) in vector space.

 Refine step:

 Measure exact distance from q to top p matches.









27

Evaluating Embedding Quality

How often do we find the true nearest neighbor?









 Embedding step:

 Compute distances from query to reference

objects  F(q).

 Filter step:

 Find top p matches of F(q) in vector space.

 Refine step:

 Measure exact distance from q to top p matches.

28

Evaluating Embedding Quality

How often do we find the true nearest neighbor?









 Embedding step:

 Compute distances from query to reference

objects  F(q).

 Filter step:

 Find top p matches of F(q) in vector space.

 Refine step:

 Measure exact distance from q to top p matches.

29

Evaluating Embedding Quality

How often do we find the true nearest neighbor?

How many exact distance computations do we need?





 Embedding step:

 Compute distances from query to reference

objects  F(q).

 Filter step:

 Find top p matches of F(q) in vector space.

 Refine step:

 Measure exact distance from q to top p matches.

30

Evaluating Embedding Quality

How often do we find the true nearest neighbor?

How many exact distance computations do we need?





 Embedding step:

 Compute distances from query to reference

objects  F(q).

 Filter step:

 Find top p matches of F(q) in vector space.

 Refine step:

 Measure exact distance from q to top p matches.

31

Evaluating Embedding Quality

How often do we find the true nearest neighbor?

How many exact distance computations do we need?





 Embedding step:

 Compute distances from query to reference

objects  F(q).

 Filter step:

 Find top p matches of F(q) in vector space.

 Refine step:

 Measure exact distance from q to top p matches.

32

Results: Chamfer Distance on

Hand Images

Database (107,328 images)









query



nearest

Brute force retrieval time: 260 seconds. neighbor

33

Results: Chamfer Distance on

Hand Images

Database: 80,640 synthetic images of hands.

Query set: 710 real images of hands.



Brute

Embeddings Embeddings

Force

Accuracy 100% 95% 100%

# of distances 80640 1866 24650

Sec. per query 112 2.6 34

Speed-up factor 1 43 3.27



34

Ideal Embedding Behavior

original space X F Rd









a

q





Notation: NN(q) is the nearest neighbor of q.

For any q: if a = NN(q), we want F(a) = NN(F(q)).

35

A Quantitative Measure

original space X F Rd

b





a

q



If b is not the nearest neighbor of q,

F(q) should be closer to F(NN(q)) than to F(b).

For how many triples (q, NN(q), b) does F fail? 36

A Quantitative Measure

original space X F Rd









a

q







F fails on five triples.

37

Embeddings Seen As Classifiers

b

Classification task: is q

closer to a or to b?

a

q









38

Embeddings Seen As Classifiers

b

Classification task: is q

closer to a or to b?

a

q







 Any embedding F defines a classifier F’(q, a, b).

 F’ checks if F(q) is closer to F(a) or to F(b).



39

Classifier Definition

b

Classification task: is q

closer to a or to b?

a

q



 Given embedding F: X  Rd:

 F’(q, a, b) = ||F(q) – F(b)|| - ||F(q) – F(a)||.

 F’(q, a, b) > 0 means “q is closer to a.”

 F’(q, a, b) 0 means “q is closer to a.”

 F’(q, a, b) < 0 means “q is closer to b.”

41

1D Embeddings as Weak Classifiers

 1D embeddings define weak classifiers.

 Better than a random classifier (50% error rate).









42

1D Embeddings as Weak Classifiers

 1D embeddings define weak classifiers.

 Better than a random classifier (50% error rate).

 We can define lots of different classifiers.

 Every object in the database can be a reference object.





Question: how do we combine many such

classifiers into a single strong classifier?









43

1D Embeddings as Weak Classifiers

 1D embeddings define weak classifiers.

 Better than a random classifier (50% error rate).

 We can define lots of different classifiers.

 Every object in the database can be a reference object.





Question: how do we combine many such

classifiers into a single strong classifier?



Answer: use AdaBoost.

 AdaBoost is a machine learning method designed for

exactly this problem.

44

Using AdaBoost

original space X Real line

F1



F2





Fn



 Output: H = w1F’1 + w2F’2 + … + wdF’d .

 AdaBoost chooses 1D embeddings and weighs them.

 Goal: achieve low classification error.

 AdaBoost trains on triples chosen from the database.

45

From Classifier to Embedding

AdaBoost output H = w1F’1 + w2F’2 + … + wdF’d









What embedding should we use?

What distance measure should we use?





46

From Classifier to Embedding

AdaBoost output H = w1F’1 + w2F’2 + … + wdF’d



BoostMap

embedding

F(x) = (F1(x), …, Fd(x)).









47

From Classifier to Embedding

AdaBoost output H = w1F’1 + w2F’2 + … + wdF’d



BoostMap

embedding

F(x) = (F1(x), …, Fd(x)).







Distance d

measure D((u1, …, ud), (v1, …, vd)) = i=1 wi|ui – vi|









48

From Classifier to Embedding

AdaBoost output H = w1F’1 + w2F’2 + … + wdF’d

BoostMap

embedding F(x) = (F1(x), …, Fd(x)).







Distance d

measure D((u1, …, ud), (v1, …, vd)) = i=1 wi|ui – vi|



Claim:

Let q be closer to a than to b. H misclassifies

triple (q, a, b) if and only if, under distance

measure D, F maps q closer to b than to a.

49

Proof



H(q, a, b) =





d

= i=1 wiF’i(q, a, b)



= 

d

i=1

wi(|Fi(q) - Fi(b)| - |Fi(q) - Fi(a)|)



= 

d

i=1

(wi|Fi(q) - Fi(b)| - wi|Fi(q) - Fi(a)|)



= D(F(q), F(b)) – D(F(q), F(a)) = F’(q, a, b)

50

Proof



H(q, a, b) =





d

= i=1 wiF’i(q, a, b)



= 

d

i=1

wi(|Fi(q) - Fi(b)| - |Fi(q) - Fi(a)|)



= 

d

i=1

(wi|Fi(q) - Fi(b)| - wi|Fi(q) - Fi(a)|)



= D(F(q), F(b)) – D(F(q), F(a)) = F’(q, a, b)

51

Proof



H(q, a, b) =





d

= i=1 wiF’i(q, a, b)



= 

d

i=1

wi(|Fi(q) - Fi(b)| - |Fi(q) - Fi(a)|)



= 

d

i=1

(wi|Fi(q) - Fi(b)| - wi|Fi(q) - Fi(a)|)



= D(F(q), F(b)) – D(F(q), F(a)) = F’(q, a, b)

52

Proof



H(q, a, b) =





d

= i=1 wiF’i(q, a, b)



= 

d

i=1

wi(|Fi(q) - Fi(b)| - |Fi(q) - Fi(a)|)



= 

d

i=1

(wi|Fi(q) - Fi(b)| - wi|Fi(q) - Fi(a)|)



= D(F(q), F(b)) – D(F(q), F(a)) = F’(q, a, b)

53

Proof



H(q, a, b) =





d

= i=1 wiF’i(q, a, b)



= 

d

i=1

wi(|Fi(q) - Fi(b)| - |Fi(q) - Fi(a)|)



= 

d

i=1

(wi|Fi(q) - Fi(b)| - wi|Fi(q) - Fi(a)|)



= D(F(q), F(b)) – D(F(q), F(a)) = F’(q, a, b)

54

Proof



H(q, a, b) =





d

= i=1 wiF’i(q, a, b)



= 

d

i=1

wi(|Fi(q) - Fi(b)| - |Fi(q) - Fi(a)|)



= 

d

i=1

(wi|Fi(q) - Fi(b)| - wi|Fi(q) - Fi(a)|)



= D(F(q), F(b)) – D(F(q), F(a)) = F’(q, a, b)

55

Significance of Proof

• AdaBoost optimizes a direct measure of

embedding quality.

• We have converted a database indexing

problem into a machine learning problem.









56

Results: Chamfer Distance on

Hand Images

Database (80,640 images)









query



nearest

Brute force retrieval time: 112 seconds. neighbor

57

Results: Chamfer Distance on

Hand Images

Database: 80,640 synthetic images of hands.

Query set: 710 real images of hands.



Random

Brute

Reference BoostMap

Force

Objects

Accuracy 100% 95% 95%

# of distances 80640 1866 450

Sec. per query 112 2.6 0.63

Speed-up factor 1 43 179

58

Results: Chamfer Distance on

Hand Images

Database: 80,640 synthetic images of hands.

Query set: 710 real images of hands.



Random

Brute

Reference BoostMap

Force

Objects

Accuracy 100% 100% 100%

# of distances 80640 24950 5995

Sec. per query 112 34 13.5

Speed-up factor 1 3.23 8.3

59



Related docs
Other docs by panniuniu
organization_of_slp_working_files_3-23-10
Views: 1  |  Downloads: 0
Lesson 2 2011 key
Views: 0  |  Downloads: 0
Site Survey
Views: 2  |  Downloads: 0
alt energy project SP11
Views: 1  |  Downloads: 0
Effie Biography
Views: 0  |  Downloads: 0
Download-Organization-application-letter
Views: 0  |  Downloads: 0
TWIN_Nomination_form_2010
Views: 0  |  Downloads: 0
Engineering Change Order Master Log
Views: 2  |  Downloads: 0
360654.f1
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!