대학원 생활 첫학기...
학기 Term Project로 주어진 성별인식기.. 막막하지.. 막막하더라.. ㅋㅋ
가뜩이나 과목도 내수준에 안맞는걸 잘못 선택해서 힘들어 죽을뻔.. ㅋㅋ
이거 하면서 공부 그래도 조금은 한듯 하다..
코딩 방법도 그렇고.. 이론적으로도 그렇고.. ㅋ
처음에는 LBP + SVM 을 이용하여 시도했는데 인식률이 그닥..
두번째. MCT + SVM 이건 처음보다 조금 낫긴한데 그래도 별로다.. ㅋ
논문을 찾아보다 LGDP 라 이름붙인 방법을 찾았다..
이건 Gabor Filter + LDP 인데 지금까지 성별 인식 쪽에서는 가장 성능이 좋은것 같다.
뭐 아래 사진이 구현한 프로그램의 모습이다..
Open 버튼으로 Training Set 과 Test Set 을 불러오고..
Learning & Classify 버튼으로 학습 및 판별을 한다..
이때 SVM 은 SVM light 를 사용했다..
Gabor 필터는 어떤거냐하믄.. 아래와 같은 사진에 .. 그밑에 커널을 생성하여 필터링 한 것이다..
커널 생성이 Gabor 필터의 핵심인듯하다..
나는 저 커널을 생성할때 각도를 0, 45, 90, 135 이렇게 네개로 나누고
Lambda 를 30, 40 이 두개 선택해서 총 8개의 커널을 생성했다.
이외에도 커널 사이즈는 27, sigma 는 10 뭐 이런거 있는데
이런 값들은 다 노가다로 테스트 해가면서 내가 사용하고자하는 Set 에 맞는
실험값을 정한 것이다..
여튼 저 사진을 위와같은 커널로 필터링 하면 아래와 같이 이미지가 바뀐다.
이제 저 이미지를 가지고 LDP 방식으로 피쳐를 뽑아내는 것이다..
아래 두장은 다른 파라미터는 같고 Lambda 값만 바꾼 사진..
약간씩 모양이 다르게 나타난다.
한장의 사진으로 8개의 이미지를 생성하고
그 하나의 이미지에서 4096( 64 by 64 ) 개의 피쳐를 사용하니..
총 사용한 Feature 갯수는 음.. 4096 * 8 * 200 = 6556300 개... ㅋ 무식하게 많다..
PCA를 이용하여 피쳐 개수를 줄이면 된다고 하는데.. 중요한건 그걸 할줄 모른다..
시간이 없는 관계로 저거 그냥 무식하게 다 때려넣고... 돌리는거다 ㅋㅋ
이렇게 200개의 이미지를 트레이닝 하고 100장의 이미지를 테스트 하면..
놀랍게도 얘는 인식률이 96프로나 나온다.. ㅋㅋ
뭐... 이미지가 몽땅 FERET DB 에서 나온거고.. 얼굴 위치가 거의다 맞춰져 있으니까..
이런 제한 조건이니까 이정도 나오는거겠찌.. 만 ㅋㅋ 다른거에 비해 LGDP 성능 괜찮은거 같다..
이렇게 테스트돌리면 얘도 한장당 8개의 결과가 나오는데..
뭐 이 여덟개의 결과값을 다 더해서 .
0보다 크면 남자 작으면 여자.. 로 판별했다..
이런거 참 신기하면서 어렵고 재밋으면서 짜증나고.. ㅋㅋ 그런 분야다..
더 많이 배우고싶다..
'전공관련 > 실습 프로그램' 카테고리의 다른 글
Canny Edge 구현 (1) | 2013.04.17 |
---|---|
웹캠을 이용한 가위바위보 게임 (18) | 2013.04.16 |
Skin Color Detection에 적합한 Color Model 을 찾기위한 간단한 실험 (0) | 2013.04.16 |