본문 바로가기
영상처리/Recognition

Eigenface

by 목가 2012. 3. 20.
반응형

Eigenface를 알려면 먼저 PCA를 선행학습해야한다.

PCA는 고차원의 데이터들의 정보를 유지하면서 저차원의 데이터들로 변환하는 것이다.

즉, 고차원의 데이터를 낮은 차원의 subspace로 projection하는 것이다.

따라서 error가 발생하지만 PCA는 이를 최소화하며 정보를 보존하고자 하는 것이다.

가장 좋은 subspace는 각 샘플들의 평균의 중심, 방향은 데이터의 공분산 행렬의 eigen vector중 가장 eigen value가 큰 방향을 선택한다.(Principal component)

이것을 face영상에서 보면

고차원에서 하나의 얼굴 영상은 한 점으로 표현된다. 여러 영상의 subspace는 얼굴의 집합이다.

PCA를 통해 가장 좋은 subspace를 찾는다. subspace는 v1, v2,....,vk로 되어있다.

어떠한 얼굴 x는 아래 식으로 표현이 가능하다.



PCA를 통해 A matrix의 eigen vector를 추출한다. 각, v1,v2,...,vk를 구하면 각 벡터는 얼굴 공간에서의 방향이 된다.

얼굴 영상은 eigenface 좌표로 변환한다.


알고리즘

1. 영상의 데이터베이스들을 PCA를 통해 eigen face 계산.
   - 각 영상들의 K 계수들을 구함.

2. 인식하고자하는 새 영상 x가 들어오면, K 계수들을 계산한다. x를 v1,v2,...,vk에 projection


3. x가 얼굴인지를 확인

   - 문턱값보다 작으면 얼굴



4. 데이터베이스 내에 가장 가까운 라벨의 얼굴을 찾는다. k차원 공간에서 가장 근접한 이웃으로 비교

* 아래는 K개를 사용하는 이유이다.  low variance를 가진 eigenface는 무시한다.
 

 

 

반응형

'영상처리 > Recognition' 카테고리의 다른 글

Bag-Of-Feature 기반 영상 검색  (0) 2012.03.20

댓글