Upload
scot-stephens
View
235
Download
0
Embed Size (px)
Citation preview
Outline
• Robust PCA
• Generalized PCA– Clustering points on a line– Clustering lines on a plane– Clustering hyperplanes in a space
Robust PCA
• Rrbust Principal Component Analysis for Computer Vision– Fernando De la Torre– Mochael J. Black
• CS, Brown University
RPCA
• In traditional PCA, we minimize• Σn
i = 0 (di – B BT di)2 = Σni = 0 (di - Bci)2
• EM PCA Limσ -> 0(D = BC + σ2I)
E-step C = (BTB)-1BTDM-step B = DCT(CCT)-1
di B
BTdi = ci
BBTdi
RPCA
• Xu and Yuille [1995] tries to minimize
– Σni = 1 [ V i(di – B ci)2 + n(1-Vi) ]
– Hard to solve (continuous + discrete)
RPCA
• Gabriel and Zamir [1979] tries to minimize
– Σni = 1 Σd
p = 1 [ wpi(dpi – Bci)2]
– Impratical for high dimension
– “Low rank approximation of matrices by least squares with any choice of weights” 1979
RPCA
• Idea is to use a robust function ρ– Geman-McClureρ (x,σ) = x2/(x2 + σ2)
– Σni = 1 Σd
p = 1 ρ[ (dpi–μp –Σkj = 1 bpjcji), σp]
– Approximated by local quadratic function– Use gradient descent– The rest is nothing but heuristics
Robust PCA - Experiment
• 256 training images (120x160)
• Obtain 20 RPCA basis
• 3 hrs on 900MHz Pentinum III in Matlab
Outline
• Robust PCA
• Generalized PCA– Clustering points on a line– Clustering lines on a plane– Clustering hyperplanes in a space
Generalized PCA
• Generalized Principal Component Analysis– Rene Vidal– Yi Ma– Shankar Sastry
• UC Berkley and UIUC
Outline
• Robust PCA
• Generalized PCA– Clustering points on a line– Clustering lines on a plane– Clustering hyperplanes in a space
GPCA 1D Example
• n = 2 groups• pn(x) = ( x – μ1) ( x – μ2)
• No polynomial of degree 1• Infinite polynomial of degree 3
• pn(x) = x2 + c1x + c2 => Polynomial factor
Outline
• Robust PCA
• Generalized PCA– Clustering points on a line– Clustering lines on a plane– Clustering hyperplanes in a space
GPCA 2D Case Cont’d
• (b11x + b12y = 0) or (b21x + b22y = 0)…
• Pn(x) = (b11x + b12y)…(bn1x + bn2y) = 0 = Σck xn-k yk
GPCA 2D Case Cont’d
• Take n = 2 for example…• p2(x) = (b11x + b12y)(b21x + b22y)
• ▽p2(x) = (b21x + b22y)b1 + (b11x + b12y)b2
, bj = [bj1, bj2] T
• if x ~ L1, then ▽p2(x) ~ b1, otherwise ~ b2
GPCA 2D Case Cont’d
• Given that {yj ε Lj}, the normal vector of Lj is bj ~ ▽pn(yj)
• 3 things…1. Determine “ n ” as min{ j: rank(Vj) = j }
2. Solve cn for Vncn = 03. Find normal vector bj
Outline
• Robust PCA
• Generalized PCA– Clustering points on a line– Clustering lines on a plane– Clustering hyperplanes in a space
GPCA Hyperplanes
• Still assume d1 = … = dn = d = D – 1• Sj = { bj
Tx = bj1x1 + bj2x2 + … + bjDxD = 0}
GPCA Hyperplanes
• Since we know n, we can solve for ck
• ck => bk by ▽pn(x)
• If we know yj on each Sj, finding bj will be easy
GPCA Hyperplanes
• One point yj on each hyperplane Sj
• Consider a random line L = t * v + x0
• Obtain yj by intersecting L and Sj
– yj = tj * v + x0
– Find roots tj by … Pn(t v + xo)
GPCA Hyperplanes
• Summarize1. We want to find n to solve for c
2. To get b (normal) for each S, find ▽pn(x) 3. To get label j, solve pn(yj = tj * v + x0) = 0
One More Thing
• Previously we assume d1 = … =dn= D – 1• Actually we cannot assume that…
• Please read section 4.2 & 4.3 … by yourself– Discuss how to recursively reduce dimensi
on