SLIDE 1 Regularizing Part Geometry
Instructor - Simon Lucey
16-623 - Designing Computer Vision Apps
SLIDE 2 Today
- Parts Based Registration
- Regularizing Parts (Heuristic)
- Regularizing Parts (Learned)
2
SLIDE 3
What is an Object?
Face Body
SLIDE 4
What is an Object?
Face Body
SLIDE 5 What is an Object?
Face Body
Left Eye Right Eye Nose Mouth Right Lower Arm Head Left Upper Arm Left Lower Arm Left Thigh Left Calf Right Upper Arm Torso Right Thigh Right Calf
SLIDE 6 What is a Part?
Face
Left Eye Left Eye Not Left Eye
SLIDE 7
When is a Collection of Parts an Object?
SLIDE 8
When is a Collection of Parts an Object?
Face
SLIDE 9
When is a Collection of Parts an Object?
Face Face
SLIDE 10
When is a Collection of Parts an Object?
Face Not a Face Face
SLIDE 11
What is an Object?
“A collection of semantically meaningful components with geometrical constraints on their spatial configuration’’
Data
SLIDE 12
Registration
SLIDE 13
Registration
This is an image of a body.
SLIDE 14
Registration
This is an image of a body. Show me the...
SLIDE 15 Registration
This is an image of a body.
Right Lower Arm? Head? Left Upper Arm? Left Lower Arm? Left Thigh? Left Calf? Right Upper Arm? Torso? Right Thigh? Right Calf?
Show me the...
SLIDE 16 Parts Based Registration
...
Right Lower Arm Head
SLIDE 17 Parts Based Registration
...
Right Lower Arm Head
SLIDE 18 Parts Based Registration
...
Right Lower Arm Head
SLIDE 19 Parts Based Registration
...
Right Lower Arm Head
min
x N
X
i=1
Di(xi) + λ R(x)
SLIDE 20 ...
Right Lower Arm Head
Parts Based Registration
min
x N
X
i=1
Di(xi) + λ R(x)
SLIDE 21 ...
Right Lower Arm Head
Parts Based Registration
min
x N
X
i=1
Di(xi) + λ R(x) Does the image at look like the part?
xi
ith
SLIDE 22 ...
Right Lower Arm Head
Parts Based Registration
min
x N
X
i=1
Di(xi) + λ R(x) Does the image at look like the part?
xi
ith
Do the joint locations of the parts match the object?
SLIDE 23 Today
- Parts Based Registration
- Regularizing Parts (Heuristic)
- Regularizing Parts (Learned)
10
SLIDE 24
Why Regularize?
SLIDE 25
Why Regularize?
Appearance Variability
SLIDE 26 Why Regularize?
Appearance Variability
[7] Gross et al.’08
SLIDE 27 Why Regularize?
Appearance Variability
[7] Gross et al.’08
False Negatives
SLIDE 28
Why Regularise?
SLIDE 29
Why Regularise?
Appearance Ambiguity
SLIDE 30 Why Regularise?
? ?
[7] Gross et al.’08
Appearance Ambiguity
SLIDE 31 Why Regularise?
? ?
[7] Gross et al.’08
Appearance Ambiguity False Positives
SLIDE 32 Why Regularise?
Head Right Shoulder
[1] Felzenszwalb et al.’09
Left Lip Corner Right Eye Corner
SLIDE 33
What is a Regulariser?
SLIDE 34
What is a Regulariser?
p(x|I) ∝ p(I|x)p(x)
SLIDE 35 What is a Regulariser?
p(x|I) ∝ p(I|x)p(x)
Likelihood
SLIDE 36 What is a Regulariser?
p(x|I) ∝ p(I|x)p(x)
Likelihood Prior
SLIDE 37 What is a Regulariser?
p(x|I) ∝ p(I|x)p(x) max
x
p(I|x) p(x)
Likelihood Prior
SLIDE 38 What is a Regulariser?
p(x|I) ∝ p(I|x)p(x) max
x
p(I|x) p(x) min
x
− log {p(I|x) p(x)}
Likelihood Prior
SLIDE 39 What is a Regulariser?
p(x|I) ∝ p(I|x)p(x) max
x
p(I|x) p(x) min
x
− log {p(I|x)} − log {p(x)}
=
min
x
− log {p(I|x) p(x)}
Likelihood Prior
SLIDE 40 What is a Regulariser?
p(x|I) ∝ p(I|x)p(x) max
x
p(I|x) p(x) min
x
− log {p(I|x)} − log {p(x)}
= =
min
x
X
i
D(xi) + λR(x) min
x
− log {p(I|x) p(x)}
Likelihood Prior
SLIDE 41 What is a Regulariser?
p(x|I) ∝ p(I|x)p(x) max
x
p(I|x) p(x) min
x
− log {p(I|x)} − log {p(x)}
= =
min
x
X
i
D(xi) + λR(x) R(x) ∝ − log{p(x)} min
x
− log {p(I|x) p(x)}
Likelihood Prior
SLIDE 42 What is a Regulariser?
Face Not a Face Face
SLIDE 43 What is a Regulariser?
Face Not a Face Face Regularisation helps disambiguate candidates locations of parts by enforcing geometric dependencies between parts!
SLIDE 44 What is a Regulariser?
Face Not a Face Face Regularisation helps disambiguate candidates locations of parts by enforcing geometric dependencies between parts!
p(I|x1)
p(I|x2)
p(x|I)
θ θ
θ
[22] Saragih et al.’10
SLIDE 45 What is a Regulariser?
Face Not a Face Face Regularisation helps disambiguate candidates locations of parts by enforcing geometric dependencies between parts!
p(I|x1)
p(I|x2)
p(x|I)
θ θ
θ
[22] Saragih et al.’10
SLIDE 46 What is a Regulariser?
Face Not a Face Face Regularisation helps disambiguate candidates locations of parts by enforcing geometric dependencies between parts!
p(I|x1)
p(I|x2)
p(x|I)
θ θ
θ
[22] Saragih et al.’10
SLIDE 47
Heuristic Regularisation
SLIDE 48
Heuristic Regularisation
SLIDE 49
Heuristic Regularisation
SLIDE 50
Heuristic Regularisation
SLIDE 51 Heuristic Regularisation
u v R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
SLIDE 52 Heuristic Regularisation
R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
SLIDE 53 Heuristic Regularisation
R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
SLIDE 54 Heuristic Regularisation
R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
SLIDE 55 Heuristic Regularisation
R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
SLIDE 56 Heuristic Regularisation
R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
SLIDE 57 Heuristic Regularisation
R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
SLIDE 58 Heuristic Regularisation
R(x) = k 5 uk2 + k 5 vk2
[2] Horn and Schunck’81
- Regularisation enforces a notion of
smoothness
- Points in close spatial proximity should
move in similar ways
- Not always true, but quite effective when
we know nothing else about the object of interest
- Extension using the L1-penalty considered
state of the art in heuristic regularisation
SLIDE 59
Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 x = [x1; . . . ; xn]
SLIDE 60
Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 x = [x1; . . . ; xn]
SLIDE 61 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
x = [x1; . . . ; xn]
SLIDE 62 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
=
2
L
x = [x1; . . . ; xn]
SLIDE 63 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
=
2
L
x = [x1; . . . ; xn]
Graph Laplacian
SLIDE 64 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
=
2
L
x = [x1; . . . ; xn] Lij = |Ni| if i = j −1 if j ∈ Ni
Graph Laplacian
SLIDE 65 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
=
2
L
L = ΦΛΦT x = [x1; . . . ; xn] Lij = |Ni| if i = j −1 if j ∈ Ni
Graph Laplacian
SLIDE 66 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
= X
i
λiΦiΦT
i
=
2
L
L = ΦΛΦT x = [x1; . . . ; xn] Lij = |Ni| if i = j −1 if j ∈ Ni
Graph Laplacian
SLIDE 67 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = k 5 uk2 = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
= X
i
λiΦiΦT
i
R(x) = X
i
λi
i (x − x0)
=
2
L
L = ΦΛΦT x = [x1; . . . ; xn] Lij = |Ni| if i = j −1 if j ∈ Ni
Graph Laplacian
SLIDE 68 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
SLIDE 69 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
SLIDE 70 Φi
Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
SLIDE 71 Φi
Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
SLIDE 72 Φi
Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
Φ
T i
− x
SLIDE 73 Φi
Laplacian Regularisation
Λ = λ1 ... λn x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
Φ
T i
− x
SLIDE 74 Φi
Laplacian Regularisation
Λ = λ1 ... λn i λi x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
Φ
T i
− x
SLIDE 75 Φi
Laplacian Regularisation
Λ = λ1 ... λn i λi Φ0 x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
Φ
T i
− x
SLIDE 76 Φi
Laplacian Regularisation
Λ = λ1 ... λn i λi Φ0 Φi x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
Φ
T i
− x
SLIDE 77 Φi
Laplacian Regularisation
Λ = λ1 ... λn i λi Φ0 Φi Φn−1 x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
Φ
T i
− x
SLIDE 78 Φi
Laplacian Regularisation
Λ = λ1 ... λn i λi Φ0 Φi Φn−1 Φn x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) = X
i
λi
i (x − x0)
x − x0
Φ
T i
− x
SLIDE 79 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 R(x) =
2
L
SLIDE 80 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
R(x) =
2
L
SLIDE 81 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
µ = x0 R(x) =
2
L
SLIDE 82 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
µ = x0 R(x) =
2
L
Σ ∝ L−1
SLIDE 83 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
µ = x0 = ΦΛ−1ΦT R(x) =
2
L
Σ ∝ L−1
SLIDE 84 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
µ = x0 = ΦΛ−1ΦT = ΨΩΨT R(x) =
2
L
Σ ∝ L−1
SLIDE 85 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
µ = x0 = ΦΛ−1ΦT = ΨΩΨT i σi Ω = σ1 ... σn R(x) =
2
L
Σ ∝ L−1
SLIDE 86 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
µ = x0 = ΦΛ−1ΦT = ΨΩΨT i σi Ω = σ1 ... σn = X
i
σiΨiΨT
i
R(x) =
2
L
Σ ∝ L−1
SLIDE 87 Laplacian Regularisation
x1 x2 x3 x4 x5 x6 x7 x8 x9 N(x) / exp ⇢ 1 2kx µk2
Σ−1
µ = x0 = ΦΛ−1ΦT = ΨΩΨT i σi Ω = σ1 ... σn = X
i
σiΨiΨT
i
Ψ0 Ψ1 Ψn R(x) =
2
L
Σ ∝ L−1
SLIDE 88
Example: Optical Flow
arg min
∆x ||I0(x) + ∂I0(x)
∂xT ∆x − I1(x)||2
2
∆x = ∆x1 . . . ∆xN
N = no. of pixels
SLIDE 89
General Topology
x0 6= What if grid?
SLIDE 90
General Topology
x0 6= What if grid?
SLIDE 91 General Topology
x0 6= What if grid? = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
R(x)
SLIDE 92 General Topology
x0 6= What if grid? = X
i
X
j∈Ni
[(xi − x0
i ) − (xj − x0 j)]2
R(x) x = x0 + Ψα
SLIDE 93 Smooth Deformation Basis
Ψ0 Ψ1 Ψ2 Ψ3 Ψ25 Ψ50
~Frequency x y z
SLIDE 94 Smooth Deformation Basis
Ψ0 Ψ1 Ψ2 Ψ3 Ψ25 Ψ50
~Frequency x y z
SLIDE 95 Heuristic Regularisation: Recap
- The concept of frequency that is penalised can be specialised
to the topology of the object though defining specialised graph- laplacian
- Regularisation is important because image measurements are not enough
- Priors model the space of valid instances of object’s geometry
- Regularisers penalise object geometry outside the space of valid instances.
- The smoothness the assumption is a good heuristic
- Laplacian regularisers enforce smoothness by penalising high frequency
variations more heavily than lower frequency variations Prior Regulariser
- But... is that the best we can do?
SLIDE 96 Today
- Parts Based Registration
- Regularizing Parts (Heuristic)
- Regularizing Parts (Learned)
30
SLIDE 97 Data Driven (Learned) Regularisers
What if we have annotated data?
[3] Huang et al.’07
SLIDE 98 Topology of Samples vs. Parts
Samples Data Parts
SLIDE 99 <3d
Topology of Samples vs. Parts
Samples Data Parts Sample Topology
SLIDE 100 <d <3d
Topology of Samples vs. Parts
Samples Data Parts Part Topology Sample Topology
SLIDE 101 Exhaustive Search (N > 1)
33
SLIDE 102 Exhaustive Search (N > 1)
33
SLIDE 103 φ{I}
φ{T1(0)}
φ{T2(0)}
I
φ{TN(0)}
Exhaustive Search (N > 1)
34
∗
∗ ∗
Feature Extraction Local Search ............
D2 D1 DN
............ Part Responses
Color Encoding of Filter Responses
Felzenszwalb, Girshick, McAllester & Ramanan, 2010
SLIDE 104 Exhaustive Search (N > 1)
34
D2
D1 DN
............
SLIDE 105 D2
D1 DN
............
p∗
1
p∗
2
p∗
N
O(M N) p∗ = arg min
p N
X
i=1
Di(pi) + λ R(p) p∗ = [pT
1 , . . . , pT N]T
Computational Cost
35
SLIDE 106 D2
D1 DN
............
p∗
1
p∗
2
p∗
N
O(M N) p∗ = arg min
p N
X
i=1
Di(pi) + λ R(p) p∗ = [pT
1 , . . . , pT N]T
Computational Cost
35
SLIDE 107 D2
D1 DN
............
p∗
N = arg min pN DN(pN)
p∗
2 = arg min p2 D2(p2)
p∗
1 = arg min p1 D1(p1)
Computational Cost
36
SLIDE 108 D2
D1 DN
............
O(M) p∗
1
p∗
2
p∗
N
p∗
N = arg min pN DN(pN)
p∗
2 = arg min p2 D2(p2)
p∗
1 = arg min p1 D1(p1)
Computational Cost
36
O(M) O(M)
SLIDE 109 p1 p2 p3 p4 p5
Exhaustive Search
37
O(M N)
“We can do much better than this if the graph is sparse.”
SLIDE 110 p1 p2 p3 p4 p5 O(NM 2)
Exhaustive Search
37
“We can do much better than this if the graph is sparse.”
SLIDE 111
Types of Graphs
SLIDE 112 Types of Graphs
Maximally Connected
R(x) = R(x1, . . . , xn)
SLIDE 113 Types of Graphs
Maximally Connected
R(x) = R(x1, . . . , xn)
Unconnected R(x) = X
i
φi(xi)
SLIDE 114 Types of Graphs
Maximally Connected
R(x) = R(x1, . . . , xn)
General Graph
R(x) = X
i
φi(xi) + X
i,j∈E
ψij(xi, xj)
Unconnected R(x) = X
i
φi(xi)
SLIDE 115 Types of Graphs
Maximally Connected
R(x) = R(x1, . . . , xn)
General Graph
R(x) = X
i
φi(xi) + X
i,j∈E
ψij(xi, xj)
Unconnected R(x) = X
i
φi(xi) Optimal Sparse Graph
SLIDE 116 Types of Graphs
Maximally Connected
R(x) = R(x1, . . . , xn)
General Graph
R(x) = X
i
φi(xi) + X
i,j∈E
ψij(xi, xj)
Unconnected R(x) = X
i
φi(xi) Optimal Sparse Graph LASSO
SLIDE 117 Types of Graphs
Maximally Connected
R(x) = R(x1, . . . , xn)
General Graph
R(x) = X
i
φi(xi) + X
i,j∈E
ψij(xi, xj)
Unconnected R(x) = X
i
φi(xi) Optimal Sparse Graph LASSO
min
θj
X
i
⇥xij X
k6=j
θjkxik⇥2 + λ |θj|
[24] Gu et al’07
SLIDE 118 Types of Graphs
Maximally Connected
R(x) = R(x1, . . . , xn)
General Graph
R(x) = X
i
φi(xi) + X
i,j∈E
ψij(xi, xj)
Unconnected R(x) = X
i
φi(xi) Optimal Sparse Graph LASSO
min
θj
X
i
⇥xij X
k6=j
θjkxik⇥2 + λ |θj|
Loopy... but often converges to good solutions!
[24] Gu et al’07
SLIDE 119 Lasso
min
θ
kY Xθk2 + λkθkc
c
min
θ
kY Xθk2 s.t.kθkc
c γ
SLIDE 120 θ1 θ2
Lasso
min
θ
kY Xθk2 + λkθkc
c
min
θ
kY Xθk2 s.t.kθkc
c γ
SLIDE 121 θ1 θ2
Lasso
min
θ
kY Xθk2 + λkθkc
c
min
θ
kY Xθk2 s.t.kθkc
c γ
s.t. kθk2 γ min
θ
kY Xθk2
Ridge Regression:
SLIDE 122 θ1 θ2
Lasso
min
θ
kY Xθk2 + λkθkc
c
min
θ
kY Xθk2 s.t.kθkc
c γ
s.t. kθk2 γ min
θ
kY Xθk2
Ridge Regression:
SLIDE 123 θ1 θ2
Lasso
min
θ
kY Xθk2 + λkθkc
c
min
θ
kY Xθk2 s.t.kθkc
c γ
s.t. kθk2 γ min
θ
kY Xθk2
Ridge Regression:
s.t. |θ| ≤ γ min
θ
kY Xθk2
Lasso:
SLIDE 124 θ1 θ2
Lasso
min
θ
kY Xθk2 + λkθkc
c
min
θ
kY Xθk2 s.t.kθkc
c γ
s.t. kθk2 γ min
θ
kY Xθk2
Ridge Regression:
s.t. |θ| ≤ γ min
θ
kY Xθk2
Lasso:
[14] Tibshirani’96
SLIDE 125 Optimal Sparse Graphs
[24] Gu et al.’07
Mean Procrustes Correlation Sparse Graph Face B
y Hand
SLIDE 126 Optimal Sparse Graphs
Maximally Connected Star Unconnected Sparse
[24] Gu et al.’07
SLIDE 127 Tree Regularization
- Sparse graph of particular interest is a tree,
42
Felzenszwalb & Huttenlocher, 2005
SLIDE 128 Tree Regularization
- Sparse graph of particular interest is a tree,
42
Felzenszwalb & Huttenlocher, 2005
SLIDE 129 Dynamic Programming
- Globally optimal solution to any tree graph can be found
using “Dynamic Programming”.
43
SLIDE 130 scorej(pj) = Dj(pj) + P
k∈kids(j) mk(pj)
Dynamic Programming
- Globally optimal solution to any tree graph can be found
using “Dynamic Programming”.
43
SLIDE 131 scorej(pj) = Dj(pj) + P
k∈kids(j) mk(pj)
Dynamic Programming
- Globally optimal solution to any tree graph can be found
using “Dynamic Programming”.
43
p1 p2 p3 p4 p5
SLIDE 132 scorej(pj) = Dj(pj) + P
k∈kids(j) mk(pj)
Dynamic Programming
- Globally optimal solution to any tree graph can be found
using “Dynamic Programming”.
43
p1 p2 p3 p4 p5
“parent”
SLIDE 133 scorej(pj) = Dj(pj) + P
k∈kids(j) mk(pj)
Dynamic Programming
- Globally optimal solution to any tree graph can be found
using “Dynamic Programming”.
43
p1 p2 p3 p4 p5
“kids” “kids” “kids” “kids”
SLIDE 134
Tree-Structured Graphs
SLIDE 135
Tree-Structured Graphs
SLIDE 136 Forwards Backwards
Tree-Structured Graphs
SLIDE 137 Star Spanning Tree Forwards Backwards
Tree-Structured Graphs
SLIDE 138 Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 139 Maximum Spanning Tree Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 140 Maximum Spanning Tree Prim’s Algorithm
[17] Prim’57
Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 141 Maximum Spanning Tree Prim’s Algorithm
V∗ = {i}
Initialise:
[17] Prim’57
Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 142 Maximum Spanning Tree Prim’s Algorithm
V∗ = {i}
Initialise:
V∗ = V
While :
[17] Prim’57
Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 143 Maximum Spanning Tree Prim’s Algorithm
V∗ = {i}
Initialise:
V∗ = V
While :
j = arg min
j
Wij
s.t i ∈ V∗ , j / ∈ V∗
[17] Prim’57
Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 144 Maximum Spanning Tree Prim’s Algorithm
Wij = ( if i = j P
k xi.xj
√
x2
i +x2 j
V∗ = {i}
Initialise:
V∗ = V
While :
j = arg min
j
Wij
s.t i ∈ V∗ , j / ∈ V∗
[17] Prim’57
Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 145 Maximum Spanning Tree Prim’s Algorithm
Wij = ( if i = j P
k xi.xj
√
x2
i +x2 j
V∗ ← V∗ ∪ {j}
V∗ = {i}
Initialise:
V∗ = V
While :
j = arg min
j
Wij
s.t i ∈ V∗ , j / ∈ V∗
[17] Prim’57
Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
SLIDE 146 Maximum Spanning Tree Prim’s Algorithm
Wij = ( if i = j P
k xi.xj
√
x2
i +x2 j
V∗ ← V∗ ∪ {j}
V∗ = {i}
Initialise:
V∗ = V
While :
j = arg min
j
Wij
s.t i ∈ V∗ , j / ∈ V∗
[17] Prim’57
Star Spanning Tree
Rc(xj) = φj(xj) + X
i∈Cj
ψj(xj, xi) + X
k
Rc(xk)
R(x) = Rc(xroot)
Forwards Backwards
Tree-Structured Graphs
[1] Felzenszwalb et al.’09
SLIDE 147
Graph Potentials
ψij(xi, xj) : encodes knowledge of distribution of relative spatial location of parts
SLIDE 148 Graph Potentials
Spring Models:
[1] Felzenszwalb et al.’09 [25] Yang and Ramanan’11
ψij(xi, xj) : encodes knowledge of distribution of relative spatial location of parts
SLIDE 149 Graph Potentials
Spring Models:
[1] Felzenszwalb et al.’09 [25] Yang and Ramanan’11
ψij(xi, xj) : encodes knowledge of distribution of relative spatial location of parts
ψij(xi, xj) = wT
ij [dx; d2 x; dy; d2 y]
[dx; dy] = xi − xj
SLIDE 150 Graph Potentials
Spring Models:
[1] Felzenszwalb et al.’09 [25] Yang and Ramanan’11
ψij(xi, xj) : encodes knowledge of distribution of relative spatial location of parts
ψij(xi, xj) = wT
ij [dx; d2 x; dy; d2 y]
[dx; dy] = xi − xj = ([xi; xj] − µij)T Σ−1
ij ([xi; xj] − µij)
SLIDE 151 Graph Potentials
Spring Models:
[1] Felzenszwalb et al.’09 [25] Yang and Ramanan’11
ψij(xi, xj) : encodes knowledge of distribution of relative spatial location of parts
ψij(xi, xj) = wT
ij [dx; d2 x; dy; d2 y]
[dx; dy] = xi − xj = ([xi; xj] − µij)T Σ−1
ij ([xi; xj] − µij)
R(x) = (x − µ)T Σ−1(x − µ)
Sparse Gaussian Prior:
SLIDE 152 Graph Potentials
Spring Models:
[1] Felzenszwalb et al.’09 [25] Yang and Ramanan’11
ψij(xi, xj) : encodes knowledge of distribution of relative spatial location of parts
ψij(xi, xj) = wT
ij [dx; d2 x; dy; d2 y]
[dx; dy] = xi − xj = ([xi; xj] − µij)T Σ−1
ij ([xi; xj] − µij)
R(x) = (x − µ)T Σ−1(x − µ)
Sparse Gaussian Prior:
Σ−1
SLIDE 153 Graph Potentials
Spring Models:
[1] Felzenszwalb et al.’09 [25] Yang and Ramanan’11
ψij(xi, xj) : encodes knowledge of distribution of relative spatial location of parts
ψij(xi, xj) = wT
ij [dx; d2 x; dy; d2 y]
[dx; dy] = xi − xj = ([xi; xj] − µij)T Σ−1
ij ([xi; xj] − µij)
R(x) = (x − µ)T Σ−1(x − µ)
Sparse Gaussian Prior:
Σ−1
Sparsity structure follows a tree topology!
SLIDE 154 Learning Sample Topology
<3d
Sample Topology
SLIDE 155
Procrustes Analysis
x = [x1; . . . ; xn; y1; . . . ; yn]
SLIDE 156 Procrustes Analysis
x = [x1; . . . ; xn; y1; . . . ; yn]
[4] Matthews et al.’07
SLIDE 157 Procrustes Analysis
x = [x1; . . . ; xn; y1; . . . ; yn]
Procrustes
[4] Matthews et al.’07
SLIDE 158 Procrustes Analysis
x = [x1; . . . ; xn; y1; . . . ; yn]
Procrustes Learning
[4] Matthews et al.’07