OpenCV

얼굴인식

Hgrace 2017. 5. 10. 18:19

OpenCV 2.4.13

출처 : OpenCV를 이용한 얼굴인식 프로그램


평균영상→차 영상→공분산 행렬→고유값 고유벡터→고유얼굴공간→유클리디언거리→데이터베이스→인식


1단계 : 인식후보 얼굴벡터 집합 S의 구성

2단계 : 평균 얼굴벡터 계산

3단계 : 각 인식후보 얼굴벡터와 평균 얼굴벡터의 차 벡터 계산

4단계 : N^2 x 1 벡터 (3단계에서 구한 차 벡터)로부터 공분산 행렬 계산

5단계 : 공분산 행렬의 고유값과 고유벡터 계산

6단계 : 얼굴 인식 단계


얼굴인식 관련 함수

1. cvCalEigenObjects

2. cvEigenDecomposite

3. cvEigenProjection


1. void cvCalEigenObjects(int nObjects,, void* input, void* output, int ioFlags, int ioBufSize,
                                  void* userData, CvTermCriteria* calcLimit, IplImage* avg, float* eigVals)

- 입력영상들에 대한 고유얼굴(벡터, output)과 평균 영상(avg)을 계산한다.


2. void cvEigenDecomposite(IplImage* obj, int nEigObjs, void* eiginput, int ioFlags, void* userData, IplImage* avg, float* coeffs)

- 입력 영상을 고유얼굴 공간에 투영시켰을 때 분해계수를 계산한다.


3. void cvEigenProjection(void* input_vecs, int eigenvec_count, int io_flags, void* userdata, float* coeffs, IplImage* avg, IplImage* proj)

- 고유얼굴 공간상에서 재구성된 영상을 얻는다. 고유얼굴과 평균 영상 그리고 분해계수로부터 재구성된 영상을 얻는다.