DSPRelated.com
Forums

SPCA and face recognition can some body help....thanks

Started by f4td4n September 14, 2010
Hi Guys,

I am trying to implement a modification proposed by D Zang et all in a paper "A New Face Recognition Method based on SVD Perturbation for Single example image per person"

http://www.google.ca/url?sa=t&source=web&cd=1&vedBkQFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.94.5170%26rep%3Drep1%26type%3Dpdf&ei=QFiATNTNFMKB8ga2sOyNAg&usgQjCNGtY5evyfLSFTZOslyctEFMZ6td2w.

In section 3.1 this is what I understand the algorithm to be

1 - Take an Image I
2 - Perform SVD, you get U S V
3 - Drive an Image P = U K^n Vt where n some value between 1 and 2
4 - Lineraly combine the image I with P using equation
J = I + theta P / 1 + theta where teta is set to 0.25 in the paper.
5 - Now you can apply different known techniques such as eigen faces etc.

I wrote the matlab program to do exactly that but can't seem to get a proper image.

I = double(imread('C:\Users\p4r1tyb1t\Pictures\Demo Data\yalefaces\subject01.normal.gif'));
[U S V] = svd(I);
P = U * power(S, 5/4) * V';

In third step above I should get derived image, but instead I get nothing. If I do imshow(P) to show the image.

What I am doing wrong?
I am sorry, I am young and new to all this, so please be patient.

Thanks
Hello Young,

Let us explain more about the paper under consideration:
- It is a comparative analysis of the following methods toward face recognition:
- Eigen Face
- PCA Square
- SPCA
- SPCA+

At the end of the paper, the authors had proved that SPCA+ is the best algorithm for facial recognition, based on the accuracy. But they had also proved that for smaller images the accuracy is upwards in the list of above algos.

The paper however, does not mention the details of each method and is very abstract in the same. One must refer to the citations of the paper to get proper details. The answer to your question is that you are surely missing to read the references for each method there.

Regards,
Vicky & Sugam
Hi Guys,
>
>I am trying to implement a modification proposed by D Zang et all in a paper "A New Face Recognition Method based on SVD Perturbation for Single example image per person"
>
>http://www.google.ca/url?sa=t&source=web&cd=1&vedBkQFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.94.5170%26rep%3Drep1%26type%3Dpdf&ei=QFiATNTNFMKB8ga2sOyNAg&usgQjCNGtY5evyfLSFTZOslyctEFMZ6td2w.
>
>In section 3.1 this is what I understand the algorithm to be
>
>1 - Take an Image I
>2 - Perform SVD, you get U S V
>3 - Drive an Image P = U K^n Vt where n some value between 1 and 2
>4 - Lineraly combine the image I with P using equation
> J = I + theta P / 1 + theta where teta is set to 0.25 in the paper.
>5 - Now you can apply different known techniques such as eigen faces etc.
>
>I wrote the matlab program to do exactly that but can't seem to get a proper image.
>
>I = double(imread('C:\Users\p4r1tyb1t\Pictures\Demo Data\yalefaces\subject01.normal.gif'));
>[U S V] = svd(I);
>P = U * power(S, 5/4) * V';
>
>In third step above I should get derived image, but instead I get nothing. If I do imshow(P) to show the image.
>
>What I am doing wrong?
>I am sorry, I am young and new to all this, so please be patient.
>
>Thanks