본문 바로가기

Enginius/Machine Learning

ANN로 headPoseEstimate하기

1. Dataset


 (위와 같은 50*50 사진이 training에는 11275개, test에는 5000개가 있다.)

QMULPoseHeads.z01

QMULPoseHeads.z02

QMULPoseHeads.zip


2. Matlab code

 1. 각 5개 카테고리(front, back, left, right, non-face)의 data를 읽는다. 이 data는 50*50=2500의 rgb값이다. 

 2. rgb를 grayscale로 변환한 후에 ANN train할 수 있는 data로 구조를 맞춘다. 

 3. 2500 dimension은 너무 크기 때문에 PCA를 통해서 100 dimension으로 낮춘다. 

 4. 이렇게 구해진 data set과 label로 ANN을 train한다. 

 5. test data 역시 읽어 온 후에 PCA Matrix W를 곱해서 100 dimension으로 낮추고, ANN simulation한다. 

 6. 필요한 workspace의 data를 저장한다. 



3. Simulation result

 



 이 결과는 논문에서 나온 평균 80%와 비슷한 수치이다. 즉 ANN을 좀 더 tune하고, feature extraction을 제대로 할 경우 더 좋은 결과를 기대할 수도 있을 것이다. 

OrozcoGongXiang_BMVC09.pdf

 

4. Zip archive

Zip archive contains 

 1. Matlab source

 2. Workspace (net, W(PCA Matrix), trainData, trainTargets, testData)

headPoseEstimationUsingANN(pw_ adsl_2).z01

headPoseEstimationUsingANN(pw_ adsl_2).zip