얼굴을 벡터로 만들다 : Eigenface

Jeremy Kun씨의 유명한 블로그 Math ∩ Programming에 간만에 들어가보니 eigenface에 관한 글이 올라와 있다. 여기서 eigenface라는 개념을 처음 알았다. 다음 글에서 이 개념을 설명하고 있으니 함 읽어보시라.

Eigenfaces, for Facial Recognition in Math ∩ Programming

어떤 사람들의 얼굴사진을 여러 장 가지고 있다고 하자. 새로운 사진을 내밀었을 때, 가진 사진 중 어느 사람의 사진인지 컴퓨터가 판정할 수 있는 알고리즘을 짜고 싶다고 치자. 같은 사람이라도 찍을 때 마다 다른 각도와 다른 표정을 짓고 있다. 어떤 알고리즘을 쓰면 좋을까? 위 Jeremy Kun씨의 포스트에 설명이 잘 돼 있다. 함 읽어보시라. 근데 본인은 매스매티카를 거의 몰라서 코드는 잘 이해가 안 되는구만. 켁.

본인이 이해하기로는 위 내용을 요약하면 이렇다-_- 논의를 단순화하기 위해 모두 크기가 동일한 흑백사진이라 가정해보자. 각 픽셀은 회색 밝기에 따라 0부터 255까지의 정수값을 취하므로, 각 사진은 m \times n 크기의 행렬이 된다. 이 행렬은 \mathbb{R}^{mn} vector space(얼굴 공간이라 하자 ㅋ)에서의 한 벡터가 되는데, 이 얼굴 공간에서 동일 인물의 center of gravity(평균 얼굴이라 하자)를 계산한다. 그리하여 새로운 사진을 내밀었을 때, 이 평균 얼굴과의 covariance matrix를 계산해서 eigenvector로 판정하는 듯 하다.

아 근데 영어 울렁증이 생겨서 더 못 읽겠다 ㅋ

가만 생각해보니 증명사진 검색이나 지명수배자 찾는 일에 꽤 쓸만한 기법일 듯. ㅋㅋ

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중