Professional Documents
Culture Documents
Ece468 8
Ece468 8
Lecture 8
sinisa@eecs.oregonstate.edu
1
Point Descriptors
2
Point Descriptors
• Popular descriptors:
• Steerable filters
3
SIFT
4
SIFT Descriptor
128-D vector = (4x4 blocks) x (8 bins of histogram)
6
Matching Cost of Two Descriptors
X (d1i d2i )2
• Chi-squared distance: (d1 , d2 ) =
i
d1i + d2i
7
Matching Formulation
f := {(d, d ) : d 2 V, d 2 V }
0 0 0
X
fˆ = min (d, d ),
0
(d, d )
0
0
f 2F
(d,d0 )2f
8
Total Cost of Matching
2 3
110 120 130 ... 1M
A=4 210 220 230 ... 2M
5
... N ⇥M
cost matrix
X
(d, d0 ) = tr(AT 1)
(d,d0 )
9
Total Cost of Matching
2 3
110 120 130 ... 1M
A=4 210 220 230 ... 2M
5
... N ⇥M
cost matrix
X
(d, d0 ) = tr(AT 1)
(d,d0 )
(d,d0 )2f
10
Linearization
X X
(d, d ) =
0
(d, d ) · 1
0
(d,d0 )
x(d, d ) = 0, if (d, d ) 2
0 0
/ f unmatched pair
11
Linearization
2 3
0 0 1 ... 0 0
X=4 0 1 0 ... 0 0 5
... N ⇥M
x(d, d ) = 0, if (d, d ) 2
0 0
/ f unmatched pair
12
Linearization
2 3
110 120 130 ... 1M
A=4 210 220 230 ... 2M
5
... N ⇥M
2 3
0 0 1 ... 0 0
X=4 0 1 0 ... 0 0 5
... N ⇥M
X X
(d, d ) =
0
d,d0 xd,d0 = tr(A X)
T
13
Matching Formulation
X̂ = min tr(AT X)
X
X̂ = 0 trivial solution
14
Matching Formulation
min tr(A X) T
X
subject to:
8d 2 V, 8d 2 V , xdd0 2 {0, 1}
0 0
X
8d, xdd0 = 1
d0
X
0
8d , xdd0 = 1
d
what is the meaning of this constraint?
15
Matching Formulation
min tr(A X) T
X
subject to:
8d 2 V, 8d 2 V , xdd0 2 {0, 1}
0 0
X
8d, xdd0 = 1
d0 one-to-one
X matching
0
8d , xdd0 = 1
d
16
Relaxation
min tr(A X) T
X
subject to:
8d 2 V, 8d 2 V , xdd0 2 [0, 1]
0 0
X
8d, xdd0 = 1
d0 one-to-one
X matching
0
8d , xdd0 = 1
d
17
Linear Assignment Problem
min tr(A X) T
X
subject to:
8d 2 V, 8d 2 V , xdd0 2 [0, 1]
0 0
X
8d, xdd0 = 1
d0 one-to-one
X matching
0
8d , xdd0 = 1
d
19
The Hungarian Algorithm
1. From each row of A, find the row minimum, and subtract it from all
elements in that row.
3. Cross out the minimum number of rows and columns in A to cover all
zero elements of A
6. Solutions are zero elements of A. Go first for the zero element which
is unique in its row and column. Then, delete that row and column
from A. Repeat until you delete all rows or columns from A.
20
Example -- The Hungarian Algorithm
2 3
14 5 8 7
given a 6 2 12 6 5 7
A=6
4 7
7
cost matrix 8 3 9 5
2 4 6 10
21
Example -- The Hungarian Algorithm
2 3
9 0 3 0
6 0 10 4 1 7
A=6
4 4
7
5 0 4 5
0 2 4 6
22
Example -- The Hungarian Algorithm
2 3
9 0 3 0
6 0 10 4 1 7
A=6
4 4
7
5 0 4 5
0 2 4 6
2 3
9 0 3 0
6 0 10 4 1 7
A=6
4 4
7
5 0 4 5
0 2 4 6
24
Example -- The Hungarian Algorithm
2 3
10 1 4 1
6 1 9 3 0 7
A=6
4 5
7
6 1 5 5
1 1 3 5
25
Example -- The Hungarian Algorithm
2 3
9 0 3 0
6 1 9 3 0 7
A=6
4 4
7
5 0 4 5
0 0 2 4
26
Example -- The Hungarian Algorithm
2 3
9 0 3 0
6 1 9 3 0 7
A=6
4 4
7
5 0 4 5
0 0 2 4
2 3
9 0 3 0
6 1 9 3 0 7
A=6
4 4
7
5 0 4 5
0 0 2 4
2 3
9 0 3 0
step 6: 6 1 9 3 0 7
A=6
4 4
7
5 0 4 5
0 0 2 4
f= {(d3 , d3 )}
0
29
Example -- The Hungarian Algorithm -- Solution
2 3
9 0 3 0
step 5: 6 1 9 3 0 7
A=6
4 4
7
5 0 4 5
0 0 2 4
f= {(d3 , d3 ),
0
(d4 , d1 )}
0
30
Example -- The Hungarian Algorithm -- Solution
2 3
9 0 3 0
6 1 9 3 0 7
step 5: A=6 7
4 4 5 0 4 5
0 0 2 4
f= {(d3 , d3 ),
0
(d4 , d1 ),
0
(d1 , d2 )}
0
31
Example -- The Hungarian Algorithm -- Solution
2 3
9 0 3 0
6 1 9 3 0 7
step 5: A=6
4 4
7
5 0 4 5
0 0 2 4
f= {(d3 , d3 ),
0
(d4 , d1 ),
0
(d1 , d2 ),
0
(d2 , d4 )}
0