/FaceRecognitionDotNet

The world's simplest facial recognition api for .NET on Windows, MacOS and Linux

Primary LanguageC#MIT LicenseMIT

FaceRecognitionDotNet

The world's simplest facial recognition api for .NET
This repository is porting https://github.com/ageitgey/face_recognition by C#.

This package supports cross platform, Windows, Linux and MacOSX!!

Package OS x86 x64 ARM ARM64 Nuget
FaceRecognitionDotNet (CPU) Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - NuGet version
FaceRecognitionDotNet for CUDA 9.2 Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - - NuGet version
FaceRecognitionDotNet for CUDA 10.0 Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - - NuGet version
FaceRecognitionDotNet for CUDA 10.1 Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - - NuGet version
FaceRecognitionDotNet for CUDA 10.2 Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - - NuGet version
FaceRecognitionDotNet for CUDA 11.0 Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - - NuGet version
FaceRecognitionDotNet for CUDA 11.1 Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - - NuGet version
FaceRecognitionDotNet for CUDA 11.2 Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - - NuGet version
FaceRecognitionDotNet for Intel MKL Windows - - - NuGet version
Linux - - - NuGet version
OSX - - - NuGet version
FaceRecognitionDotNet for ARM Windows - - - - NuGet version
Linux - - - - NuGet version
OSX - - - - NuGet version
⚠️ FaceRecognitionDotNet for ARM is not tested yet

Support API

face_recognition API Corresponding API Note
batch_face_locations BatchFaceLocations
compare_faces CompareFaces
face_distance FaceDistance
face_encodings FaceEncodings
face_landmarks FaceLandmarks And support Helen dataset ⚠️
face_locations FaceLocations And support to get confidence and use custom face detector
load_image_file LoadImageFile
- CropFaces Crop image with specified locations
- EyeBlinkDetect Detect person is blinking or not
Support Large model and Helen dataset ⚠️
- LoadImage From memory data or System.Drawing.Bitmap
- PredictAge Predict human age.
Use Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset ⚠️
- PredictEmotion Predict emotion for human face.
Use Corrective re-annotation of FER - CK+ - KDEF ⚠️
- PredictGender Predict human gender.
Use UTKFace dataset ⚠️
- PredictProbabilityAge Predict probability of human age.
Use Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset ⚠️
- PredictProbabilityEmotion Predict probability of emotion from human face.
Use Corrective re-annotation of FER - CK+ - KDEF ⚠️
- PredictProbabilityGender Predict probability of human gender.
Use UTKFace dataset ⚠️
- PredictHeadPose Predict human head pose.
Use 300W-LP dataset ⚠️
⚠️ Warning

You must train dataset by yourself. I will NOT provide pretrained model file due to avoiding license issue. You can check the following examples to train dataset.

  • tools/AgeTraining
  • tools/EmotionTraining
  • tools/EmotionTrainingV2
  • tools/GenderTraining
  • tools/HeadPoseTraining
  • tools/HelenTraining

Demo

Face Recognition

Other Face Functions

Face Landmark Age and Gender Classification Head Pose Estimation Emotion Estimation

Document

FaceRecognitionDotNet support full xml document for Visual Studio. A xml document is written English and Japanese. And you can check online document at FaceRecognitionDotNet API Document

Dependencies Libraries and Products

License: The MIT License

Author: Adam Geitgey

Principal Use: The world's simplest facial recognition api for Python and the command line. Main goal of FaceRecognitionDotNet is what ports face_recognition by C#.

License: Creative Commons Zero v1.0 Universal License

Author: Adam Geitgey

Principal Use: Trained models for the face_recognition python library

License: Boost Software License

Author: Davis E. King

Principal Use: A toolkit for making real world machine learning and data analysis applications in C++.

License: The MIT License

Author: Takuya Takeuchi

Principal Use: Use dlib interface via .NET. This library is developed by this owner.

License: The BSD 3-Clause License

Author: shimat

Principal Use: Loading image data by opencv wrapper for example