Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/takuya-takeuchi/facerecognitiondotnet
The world's simplest facial recognition api for .NET on Windows, MacOS and Linux
https://github.com/takuya-takeuchi/facerecognitiondotnet
age-classification dotnet emotion-classification face-detection face-recognition gender-classification headpose-estimation linux machine-learning macos windows
Last synced: 3 days ago
JSON representation
The world's simplest facial recognition api for .NET on Windows, MacOS and Linux
- Host: GitHub
- URL: https://github.com/takuya-takeuchi/facerecognitiondotnet
- Owner: takuya-takeuchi
- License: mit
- Created: 2018-07-16T14:08:13.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-05-13T17:41:51.000Z (over 1 year ago)
- Last Synced: 2024-10-29T22:32:46.521Z (about 2 months ago)
- Topics: age-classification, dotnet, emotion-classification, face-detection, face-recognition, gender-classification, headpose-estimation, linux, machine-learning, macos, windows
- Language: C#
- Homepage:
- Size: 27.1 MB
- Stars: 1,250
- Watchers: 59
- Forks: 305
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![FaceRecognitionDotNet](https://socialify.git.ci/takuya-takeuchi/FaceRecognitionDotNet/image?description=1&font=Raleway&language=1&logo=https%3A%2F%2Fgithub.com%2Ftakuya-takeuchi%2FFaceRecognitionDotNet%2Fraw%2Fmaster%2Fnuget%2Fface128.png&owner=1&pattern=Circuit%20Board&theme=Light)
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](https://img.shields.io/nuget/v/FaceRecognitionDotNet.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet)|
||OSX|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet)|
|FaceRecognitionDotNet for CUDA 9.2|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA92.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA92)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA92.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA92)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA92.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA92)|
|FaceRecognitionDotNet for CUDA 10.0|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA100.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA100)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA100.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA100)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA100.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA100)|
|FaceRecognitionDotNet for CUDA 10.1|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA101.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA101)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA101.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA101)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA101.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA101)|
|FaceRecognitionDotNet for CUDA 10.2|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA102.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA102)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA102.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA102)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA102.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA102)|
|FaceRecognitionDotNet for CUDA 11.0|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA110.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA110)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA110.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA110)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA110.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA110)|
|FaceRecognitionDotNet for CUDA 11.1|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA111.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA111)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA111.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA111)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA111.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA111)|
|FaceRecognitionDotNet for CUDA 11.2|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA112.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA112)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA112.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA112)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.CUDA112.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.CUDA112)|
|FaceRecognitionDotNet for Intel MKL|Windows|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.MKL.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.MKL)|
||Linux|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.MKL.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.MKL)|
||OSX|-|✓|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet.MKL.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet.MKL)|
|FaceRecognitionDotNet for ARM|Windows|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet-ARM.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet-ARM)|
||Linux|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet-ARM.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet-ARM)|
||OSX|-|-|-|-|[![NuGet version](https://img.shields.io/nuget/v/FaceRecognitionDotNet-ARM.svg)](https://www.nuget.org/packages/FaceRecognitionDotNet-ARM)|##### :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
Support Large model and **Helen dataset** :warning:|
|-|LoadImage|From memory data or System.Drawing.Bitmap|
|-|PredictAge|Predict human age.
Use **Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset** :warning:|
|-|PredictEmotion|Predict emotion for human face.
Use **Corrective re-annotation of FER - CK+ - KDEF** :warning:|
|-|PredictGender|Predict human gender.
Use **UTKFace dataset** :warning:|
|-|PredictProbabilityAge|Predict probability of human age.
Use **Adience Benchmark Of Unfiltered Faces For Gender And Age Classification dataset** :warning:|
|-|PredictProbabilityEmotion|Predict probability of emotion from human face.
Use **Corrective re-annotation of FER - CK+ - KDEF** :warning:|
|-|PredictProbabilityGender|Predict probability of human gender.
Use **UTKFace dataset** :warning:|
|-|PredictHeadPose|Predict human head pose.
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
#### 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](https://taktak.jp/FaceRecognitionDotNet/)## Dependencies Libraries and Products
#### [face_recognition](https://github.com/ageitgey/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](https://github.com/ageitgey/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](http://dlib.net/)
> **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](https://github.com/takuya-takeuchi/DlibDotNet/)
> **License:** The MIT License
>
> **Author:** Takuya Takeuchi
>
> **Principal Use:** Use dlib interface via .NET. This library is developed by this owner.#### [OpenCVSharp](https://github.com/shimat/opencvsharp/)
> **License:** The BSD 3-Clause License
>
> **Author:** shimat
>
> **Principal Use:** Loading image data by opencv wrapper for example