Home

Awesome

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!!

PackageOSx86x64ARMARM64Nuget
FaceRecognitionDotNet (CPU)Windows---NuGet version
Linux---NuGet version
OSX---NuGet version
FaceRecognitionDotNet for CUDA 9.2Windows---NuGet version
Linux---NuGet version
OSX----NuGet version
FaceRecognitionDotNet for CUDA 10.0Windows---NuGet version
Linux---NuGet version
OSX----NuGet version
FaceRecognitionDotNet for CUDA 10.1Windows---NuGet version
Linux---NuGet version
OSX----NuGet version
FaceRecognitionDotNet for CUDA 10.2Windows---NuGet version
Linux---NuGet version
OSX----NuGet version
FaceRecognitionDotNet for CUDA 11.0Windows---NuGet version
Linux---NuGet version
OSX----NuGet version
FaceRecognitionDotNet for CUDA 11.1Windows---NuGet version
Linux---NuGet version
OSX----NuGet version
FaceRecognitionDotNet for CUDA 11.2Windows---NuGet version
Linux---NuGet version
OSX----NuGet version
FaceRecognitionDotNet for Intel MKLWindows---NuGet version
Linux---NuGet version
OSX---NuGet version
FaceRecognitionDotNet for ARMWindows----NuGet version
Linux----NuGet version
OSX----NuGet version
:warning: FaceRecognitionDotNet for ARM is not tested yet

Support API

face_recognition APICorresponding APINote
batch_face_locationsBatchFaceLocations
compare_facesCompareFaces
face_distanceFaceDistance
face_encodingsFaceEncodings
face_landmarksFaceLandmarksAnd support Helen dataset :warning:
face_locationsFaceLocationsAnd support to get confidence and use custom face detector
load_image_fileLoadImageFile
-CropFacesCrop image with specified locations
-EyeBlinkDetectDetect person is blinking or not<br>Support Large model and Helen dataset :warning:
-LoadImageFrom memory data or System.Drawing.Bitmap
-PredictAgePredict human age.<br>Use Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset :warning:
-PredictEmotionPredict emotion for human face.<br>Use Corrective re-annotation of FER - CK+ - KDEF :warning:
-PredictGenderPredict human gender.<br>Use UTKFace dataset :warning:
-PredictProbabilityAgePredict probability of human age.<br>Use Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset :warning:
-PredictProbabilityEmotionPredict probability of emotion from human face.<br>Use Corrective re-annotation of FER - CK+ - KDEF :warning:
-PredictProbabilityGenderPredict probability of human gender.<br>Use UTKFace dataset :warning:
-PredictHeadPosePredict human head pose.<br>Use 300W-LP dataset :warning:
:warning: 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.

Demo

Face Recognition

<img src="images/1.png" width="480"/> <img src="images/2.png" width="480"/>

Other Face Functions

Face LandmarkAge and Gender ClassificationHead Pose EstimationEmotion Estimation
<img src="images/3.jpg" width="240"/><img src="examples/CustomClassificationDemo/images/result.png" width="240"/><img src="images/4.png" width="240"/><img src="images/5.jpg" width="240"/>

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

face_recognition

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#.

face_recognition_models

License: Creative Commons Zero v1.0 Universal License

Author: Adam Geitgey

Principal Use: Trained models for the face_recognition python library

dlib

License: Boost Software License

Author: Davis E. King

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

DlibDotNet

License: The MIT License

Author: Takuya Takeuchi

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

OpenCVSharp

License: The BSD 3-Clause License

Author: shimat

Principal Use: Loading image data by opencv wrapper for example