Principal Component Analysis(PCA)

2023. 12. 1. 16:13컴퓨터비전

728x90

Singular Value Decomposition(SVD)

: 행렬 A를 3개의 행렬곱으로 나타내는 방법

 

 

  • U, V의 각 column은 unit vector이다.
  • ∑ 는 대각행렬이다.
    항상 큰 것에서 작은 것으로 정렬한다. (5.39 -> 3.154처럼)

A partial은 어떻게 계산되는가?

예) -3.67 * -0.42 = 1.6       -3.67 * -0.57 = 2.1...

     -8.8 * -0.42 = 3.8         -8.8 * -0.57 = 5.0...

 

 

원래 행렬곱은 이렇게 하지만 보통 에너지가 큰 값은 앞쪽에 몰려있게 되기 때문에

최종값과 얼마 차이가 나지 않는다.

 

위의 그림은 principal component 300개 중 앞쪽 10개만 가지고 나타낸 그림이다.

10개만 사용했을 뿐인데 원본과 꽤나 비슷하다.

-> SVD는 이미지 압축방법에 사용되기도 한다.

 

 

PCA

: 차원 축소에 쓰이는 기법으로, 고차원의 데이터를 낮은 차원의 데이터로 바꿔줄 수 있다.

 

 

covariance

: 고차원에서의 데이터들 간의 분산(variance)

 

covariance matrix

: covariance 값을 통해 만든 행렬

 

 

Eigenface algorithm

: 얼굴인식 알고리즘

 

1. training 얼굴 image x1, x2,.. xN개를 준비

2. 평균 얼굴값 계산

 

3. 얼굴들과 평균 얼굴값 차이 계산

 

4. covariance matrix 계산

 

5. covariance matrix의 eignevector 계산

6. 각 training image들의 projection 구하기

각 training face들의 covariance곱하기 Top eigenvector

 

7. training face들을 재구성

 

728x90

'컴퓨터비전' 카테고리의 다른 글

Object Detection 도전  (0) 2025.02.20
Background Subtraction  (9) 2023.12.01
Object Recognition  (1) 2023.12.01
Segmentation  (3) 2023.11.25
Image Transformation and RANSAC  (4) 2023.11.25