SkillAgentSearch skills...

FaceRecognitionDotNet

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

Install / Use

/learn @takuya-takeuchi/FaceRecognitionDotNet

README

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|

:warning: 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 :warning:| |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<br>Support Large model and Helen dataset :warning:| |-|LoadImage|From memory data or System.Drawing.Bitmap| |-|PredictAge|Predict human age.<br>Use Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset :warning:| |-|PredictEmotion|Predict emotion for human face.<br>Use Corrective re-annotation of FER - CK+ - KDEF :warning:| |-|PredictGender|Predict human gender.<br>Use UTKFace dataset :warning:| |-|PredictProbabilityAge|Predict probability of human age.<br>Use Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset :warning:| |-|PredictProbabilityEmotion|Predict probability of emotion from human face.<br>Use Corrective re-annotation of FER - CK+ - KDEF :warning:| |-|PredictProbabilityGender|Predict probability of human gender.<br>Use UTKFace dataset :warning:| |-|PredictHeadPose|Predict 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.

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

Demo

Face Recognition

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

Other Face Functions

|Face Landmark|Age and Gender Classification|Head Pose Estimation|Emotion 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

View on GitHub
GitHub Stars1.4k
CategoryEducation
Updated14d ago
Forks323

Languages

C#

Security Score

100/100

Audited on Mar 18, 2026

No findings