Time Consuming by cvEigenDecomposite
Dears ,
I am trying to implement face recognition using pca ,
when I user the function "cvEigenDecomposite" to project test img in face space , I measured the time consuming by this function in different situations
When Training = 800 img & # eigen values = 799 ---------> time = 181 sec
When Training = 1000 img & # eigen values = 999 ---------> time = 72 sec !!!!!!!!!!!!!
is this logic ???????????
why 1000 takes smaller time ??????????
for (i = 0; i < iTestFaces; i++){
subFuncTime_Decomposite = GetTickCount();
cvEigenDecomposite(pFaceImageArr[i], iEigens, pEigenVectArr, 0, 0, pAvgTrainImg, pProjectedTestFace);
subFuncTime_Decomposite = GetTickCount() - subFuncTime_Decomposite;
subFuncTime_iNearestPerson = GetTickCount();
iNearestPerson = FindNearestNeighbor(pProjectedTestFace, iNearestDistance,MyID ,ResultFileObj, ResultExcelObj);
subFuncTime_iNearestPerson = GetTickCount() - subFuncTime_iNearestPerson;
}
sidenote: please use the c++ PCA class , not the outdated c-api functions
I need to have a control in each step in PCA
maybe you can show a bit more code, so folks can try to reproduce your problem ?
for (i = 0; i < iTestFaces; i++){
subFuncTime_Decomposite = GetTickCount();
cvEigenDecomposite(pFaceImageArr[i], iEigens, pEigenVectArr, 0, 0, pAvgTrainImg, pProjectedTestFace);
subFuncTime_Decomposite = GetTickCount() - subFuncTime_Decomposite;
subFuncTime_iNearestPerson = GetTickCount();
iNearestPerson = FindNearestNeighbor(pProjectedTestFace, iNearestDistance,MyID ,ResultFileObj, ResultExcelObj);
subFuncTime_iNearestPerson = GetTickCount() - subFuncTime_iNearestPerson;
}