takuya-takeuchi / FaceRecognitionDotNet

The world's simplest facial recognition api for .NET on Windows, MacOS and Linux
MIT License
1.26k stars 308 forks source link

Authentication by face #197

Closed GioviQ closed 2 years ago

GioviQ commented 2 years ago

I would like to implement an authentication system based on face recognition.

I am considering this project, but watching some examples I am not sure if it is ready for real-time scenario.

E.g. Let's suppose to have some hundreds of people to authenticate. Looping on all encoded faces and finding the nearest (and below tolerance) to the current captured face by a camera, is the right and best approach?

takuya-takeuchi commented 2 years ago

@GioviQ You should refer https://github.com/takuya-takeuchi/FaceRecognitionDotNet/issues/4 about performance. TBH, FRDN could not support real time authentication for large size image.

But I think this scenario could work.

  1. Camera take photo in front of target for increase performance.
  2. detect face location from low resolution, get encoding from original resolution
  3. send encoding to server and identify
  4. return result of identification to client
GioviQ commented 2 years ago

Thank you, the WPF demo in https://github.com/takuya-takeuchi/FaceRecognitionDotNet/issues/4 should be present in this repo.

I am also considering https://github.com/mesutpiskin/face-detection-and-recognition, but at the moment I do not know which is better.

GioviQ commented 2 years ago

I performed now some tests with real photos, but I have a lot of wrong face recognitions.

In fact my code reaches this https://github.com/GioviQ/FaceRecognitionDotNet/blob/TestFaceRecognition/examples/FaceRecognitionPerformance/Program.cs#L83 too many times.

GioviQ commented 2 years ago

After a lot of tests with webcam it's better to use 0.3 as tolerance to avoid false positive.