|I need a PHP class for face matching
|Request new recommendation
by Michael - 9 years ago (2014-10-23)
I have a situation where I can upload a picture and it will return the name of the person in the photo by matching the face with the one already in the database.
14. by as - 4 years ago (2019-03-12) Reply
15. by Kilic Can - 4 years ago (2020-02-01) in reply to comment 14 by as Comment
12. by riccardo castagna - 5 years ago (2018-06-30) Reply
I think that a simple way, a ploy, maybe using the EXIF data. On upload, the user should insert, in the upload form, for example, the id card number or passport id number. It's not easy ... there are solutions for fingerprints but for facial recognition, I do not think it's easy
13. by riccardo castagna - 5 years ago (2018-07-01) in reply to comment 12 by riccardo castagna Comment
About this issue, I found something interesting on github in pure php: FaceDetector.php This class use an algorithm taken from the matlab. Seems a good point to start. This class recognizes that the image is a face but is not able to matching the face. With MatLAB is possible to do a face detection, there is an interesting video on youtube that explains how matlab work with face detection: Face Recognition with MATLAB in R2014b. I hope this could be interesting for someone.
9. by Lopo Lencastre de Almeida - 9 years ago (2014-10-29) Reply
This class avoids the need to have OpenCV installed on the server.
Article about it at http://www.emanueleferonato.com/2010/07/06/php-face-detection-class/
Code at https://github.com/mauricesvay/php-facedetection
10. by Manuel Lemos - 9 years ago (2014-10-30) in reply to comment 9 by Lopo Lencastre de Almeida Comment
Keep in mind that the poster does not just want to recognize there is a face in a picture.
He wants to detect if there is a face in a picture that can be the same as in other pictures of users he has in the database. So it does not seem to be that simple.
7. by Ravi Kumar - 9 years ago (2014-10-29) Reply
In your case I think phash is more suitable, instead of opencv, if you still want open cv implementation try this https://github.com/mgdm/OpenCV-for-PHP
8. by Ravi Kumar - 9 years ago (2014-10-29) in reply to comment 7 by Ravi Kumar Comment
Oops forgot to attach this, https://github.com/xwiz/phash
5. by adam berger - 9 years ago (2014-10-29) Reply
If the project involves ko┼╝ysta camera then you will probably still hook DirectShow SDK library and more you will have to use the mechanisms of multi-threaded and comes here with the help of Intel TBB library should provide the anticipated effect. Although I have no experience in these matters.
6. by adam berger - 9 years ago (2014-10-29) in reply to comment 5 by adam berger Comment
If this project involves the use of cameras that will probably still need to hook up the DirectShow SDK library and more you will have to use the mechanisms of multi-threaded and here comes from using Intel TBB library should provide the anticipated effect. Although I have no experience in these matters.
3. by Chi H. - 9 years ago (2014-10-29) Reply
You can try phash algorithm. I think face recognition in an image is very difficult problem to solve. OpenCV may be better.
4. by Manuel Lemos - 9 years ago (2014-10-29) in reply to comment 3 by Chi H. Comment
That can be something that you could implement, given that you know the algorithm.
11. by Chi H. - 9 years ago (2014-10-30) in reply to comment 4 by Manuel Lemos Comment
No, thanks. I know only little about OpenCV and the math behind it. I think its too difficult. pHash is average to understand.
2. by Alexandru Ocheana - 9 years ago (2014-10-28) Reply
face matching!? ... you mean face recognition and identity identification based on that picture? You want a face into database, and when you upload any image with the face of that person, the class need to figure out who it is?
1. by Manuel Lemos - 9 years ago (2014-10-27) Reply
Maybe a wrapper class around the OpenCV library would solve both parts of the problem, i.e. indexing existing pictures and matching a new picture with others in the database.
That may be a nice suggestion for somebody to create an innovative package.
This package can be used to detect faces in a image. It is half of the solution you need. The other half is to recognize specific images.
5. by Nikos M. Reply- 3 years ago (2020-09-30) in reply to comment 4 by Manuel Lemos
I am the author of this recommended package, but this package is for object (eg face) detection. It is not really suitable (unless more specialised code is added) for face identification which is what is requested in the question.
PixLab can recognize and detect faces in a given image or video frame.
read this article https://www.phpclasses.org/blog/post/584-How-Can-PHP-Compare-Two-Images-for-Similarity.html to know how to use it.You may need a serious, fast detetection package then look at https://www.phpclasses.org/package/10419.html
3. by Fernando - 5 years ago (2018-05-27) in reply to comment 2 by zinsou A.A.E.Mo´se Reply
I know it is a little bit late to reply for the topic, but here goes a little contribution for those in the same need. The OP needs Similarity detection, and OpenFace (@ github search for cmusatyalab/openface) can do that, the only problem is, it's in Python (perhaps use the idea and write it in PHP). I hope it helps.
This class can do face detection but not face matching. Doesn't use OpenCV
1. by Manuel Lemos - 9 years ago (2014-11-05) Reply
This is interesting but I am not sure if it can solve the user problem.
I think he wants to have a way to recognize a face in picture as belonging to a certain user in his site database.
I guess it would be like Facebook looking at a picture and suggesting that a certain picture is of an user already in the social network.
I wonder if your class can be used to perform that task.