三维点云处理(2)

PCA

PCA is to find the dominant directions of the point cloud

Applications:

  • Dimensionality reduction
  • Surface normal estimation
  • Canonical orientation
  • Keypoint detection
  • Feature description

Physical intuitions:

  • Vector Dot Product
    三维点云处理(2)
  • Matrix-Vector Multiplication
    三维点云处理(2)
  • Singular Value Decomposition (SVD)
    三维点云处理(2)

Spectral Theorem:

A=UΛUT=i=1nλiuiuiT,Λ=diag(λ1,,λn) A = U{\Lambda}U^T=\sum_{i=1}^n\lambda_iu_iu^T_i,\Lambda=diag(\lambda_1,\cdots,\lambda_n)

Rayleigh Quotients:

λmin(A)xTAxxTxλmax(A),x0 \lambda_{min}(A)\le\frac{x^TAx}{x^Tx}\le\lambda_{max}(A),\forall{x}\ne0

Summary:

  1. Normalized by the center:
    X~=[x~1,,x~m],x~i=xix \tilde{X}=[\tilde{x}_1,\cdots,\tilde{x}_m],\tilde{x}_i=x_i-\overline{x}
  2. Compute SVD:
    H=X~X~T=UrΣ2UrT H=\tilde{X}\tilde{X}^T=U_r{\Sigma^2}U_r^T
  3. The principle vectors are the columns of Ur (Eigenvector of XX= Eigenvector of HH)

KPCA

H~z~=λ~z~z~=j=1Nαjϕ(xj)Kα=λα \tilde{H}\tilde{z}=\tilde{\lambda}\tilde{z} \rightarrow \tilde{z}=\sum^N_{j=1}\alpha_j\phi(x_j) \rightarrow K\alpha=\lambda\alpha
The normalization of z~\tilde{z}:
αrTλrαr=1αr=1/λr \alpha_r^T\lambda_r\alpha_r=1 \rightarrow \alpha_r=1/\lambda_r

Kernel:

  • Linear k(xi,xj)=xiTxjk(x_i,x_j)=x_i^Tx_j
  • Polynomial k(xi,xj)=(1+xiTxj)pk(x_i,x_j)=(1+x_i^Tx_j)^p
  • Gaussian k(xi,xj)=eβxixj2k(x_i,x_j)=e^{-\beta{||x_i-x_j||_2}}
  • Laplacian k(xi,xj)=eβxixj1k(x_i,x_j)=e^{-\beta{||x_i-x_j||_1}}

Summary

  1. Select a kernel k(xi,xj)k(x_i,x_j),compute the Gram matrix K(i,j)=k(xi,xj)K(i,j)=k(x_i,x_j)
  2. Normalize KK:
    K~=K2II1NK+II1NKII1N \tilde{K}=K-2\textbf{II}_{\frac{1}{N}}K+\textbf{II}_{\frac{1}{N}}K\textbf{II}_{\frac{1}{N}}
  3. Solve the eigenvector/eigenvalues of K~\tilde{K}:
    K~αr=λrαr \tilde{K}\alpha_r=\lambda_r\alpha_r
  4. Normalize αr\alpha_r to be αrTαr=1λr\alpha_r^T\alpha_r=\frac{1}{\lambda_r}
  5. For any data point xRnx\in{R^n}, compute its projection onto rthr^{th} principle component yrRy_r\in{R}:
    yr=ϕT(x)z~r=j=1Nαrjk(x,xj) y_r=\phi^T(x)\tilde{z}_r=\sum^N_{j=1}\alpha_{rj}k(x,x_j)