I think you have prepared some great information here with this project. Well Done !
When I train new faces with several additions of each face, the program recognises those faces quite well and seems very reliable.
I had an idea that this could be used as a login system except I have found there is a problem with it.
When I show the camera a new face it has never seen, the software usually picks one of the previously trained faces as being the correct match. This would be a problem if you wanted the software to unlock a door to those that had been image trained and now it seems those that are strangers can also be recognised as they are not trained images but apparently are similar to one of the trained images.
I wonder how we could stop new faces (strangers) from being detected as the nearest looking trained image.
Keep in mind: The face recognition algorithms based in PCA (Principal Component Analysis) do multiple comparisons and matches between a face detected and the trained images stored in binary database for this reason And for improve the accurate of recognition you should add several images of the same person in different angles, positions and luminance conditions, this training do this prototype solid and very accurate.
Hi ASPal, sorry for offtopic, but there is a different FR system which has no such problem. A stranger is recognized as a stranger if his face does not match a pattern. You can test quality of recognition on this, there is online demo
All i request is to kindly link to my website in your article if possible, so that many people can get help in EmguCV basics and projects! its to promote EmguCV itself here's the link: http://fewtutorials.bravesites.com/[^]
Once more, my heartiest THANKS!
i shall be linking to your article if you permission be?
I have the debug version working without any issues. I tried building the release build (to speed up the analysis) and I'm getting the following errors during compilation. Can you point me in the right direction please?
Desktop\FaceRecPro\EigenObjectRecognizer.cs(3,15): error CS0234: The type ornamespace name 'Structure' does not exist in the namespace 'Emgu.CV' (are you missing an assembly reference?)
Desktop\FaceRecPro\MainForm.cs(14,15): error CS0234: The type ornamespace name 'Structure' does not exist in the namespace 'Emgu.CV' (are you missing an assembly reference?)
\Desktop\FaceRecPro\MainForm.cs(15,15): error CS0234: The type ornamespace name 'CvEnum' does not exist in the namespace 'Emgu.CV' (are you missing an assembly reference?)
\Desktop\FaceRecPro\EigenObjectRecognizer.cs(13,21): error CS0246: The type ornamespace name 'Gray' could not be found (are you missing a using directive or an assembly reference?)
\Desktop\FaceRecPro\EigenObjectRecognizer.cs(13,15): error CS0246: The type ornamespace name 'Image' could not be found (are you missing a using directive or an assembly reference?)
\Desktop\FaceRecPro\EigenObjectRecognizer.cs(14,21): error CS0246: The type ornamespace name 'Gray' could not be found (are you missing a using directive or an assembly reference?)
Hey, Sergio, I've found this project and I have to tell you did a very good job. Right now I'm trying to make a similar project which will include database and some other stuff. My question is: how could I get all eigenface information about recognized face? I need those information because it's essential for this project. If you could help me I would be very grateful to you. Many thanks
hi! i've worked with automating student attendance system using eigen face recognition myself.
if you need eigenface information like the eigen values, vectors etc etc, you should open up EigenObjectRecognizer.cs that you use for face recognition and study it.
it has public functions which also let you change and read the values of internal calculations. i used them to display eigen faces in a windows form.
This is Vossler, I am impressed your "Multiple face detection and recognition in real time" opensource work, I have a project reuqired your profession related on face recognition in real-time video stream,It will digg deeper than your current work,Please let me know if you are interested to do this project?
Hi, the camera depends of your processor, the default resolution that process the prototype is 320x240, if you want use any camera with superior resolution you need a good processor and modify the code....remember that you need modify some lines of code for that the prototype take and process the new size images.
//Action for each element detectedforeach (MCvAvgComp f in facesDetected)
t = t + 1;
result = currentFrame.Copy(f.rect).Convert<gray,>().Resize(100, 100, //Here!!Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);//draw the face detected in the 0th (gray) channel with blue color
currentFrame.Draw(f.rect, new Bgr(Color.Red), 2);
ContTrain = ContTrain + 1;
//Get a gray frame from capture device
gray = grabber.QueryGrayFrame().Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC); //Here!!
//resize face detected image for force to compare the same size with the //test image with cubic interpolation type method
TrainedFace = result.Resize(100, 100, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC); //Here!!
hi! i've worked with face recognition myself, more particularly on a student attendance automation system using face recognition.[^]
so i know, i've tried cameras
i suggest ANY good camera which has GREAT image quality, good resolution. you see, the clearer the image, the better the results!
we used Logitech C310 Web camera. it was easily affordable, fine quality. but look into more Logitech models, say Logitech C510 etc they have a much better resolution and quality!- a bit expensive though!
i suggest logitech because all you need to do is plug it into your system and you're done!
otherwise,naturaly, the selection depends on your system requirements! e.g you may want surveillance?
what are your system requirements?