The world's first completely free and open-source face recognition SDK for Windows and Linux from Faceplugin
The Open Source Face Recognition SDK by Faceplugin is a powerful, privacy-focused solution for integrating face recognition capabilities into your applications. Built with deep learning models, this SDK provides high-accuracy face detection and recognition while ensuring complete data privacy through on-premise processing.
- 🔒 100% On-Premise: All processing happens locally - no data leaves your device
- 🎯 High Accuracy: Powered by state-of-the-art deep learning models
- ⚡ Real-Time Processing: Fast face detection and recognition capabilities
- 🔧 Easy Integration: Simple Python APIs for seamless development
- 🌐 Cross-Platform: Compatible with Windows and Linux systems
- 📱 GPU Optional: Works efficiently on CPU-only systems
- 🆓 Completely Free: Open source with no licensing fees
- Face detection and bounding box extraction
- Facial landmark detection
- Feature embedding generation
- Face similarity comparison
- Support for multiple image formats (JPG, PNG, etc.)
- Python 3.9 or higher
- Anaconda (recommended for dependency management)
- Windows or Linux operating system
-
Install Anaconda (if not already installed)
# Download from: https://www.anaconda.com/products/distribution -
Create and activate conda environment
conda create -n facesdk python=3.9 conda activate facesdk
-
Install dependencies
pip install -r requirements.txt
-
Test the installation
python run.py
from face_recognition_sdk import FaceRecognition
# Initialize the SDK
face_sdk = FaceRecognition()
# Process an image
image_path = "path/to/your/image.jpg"
face_info = face_sdk.GetImageInfo(image_path, faceMaxCount=10)
# Compare two faces
similarity = face_sdk.get_similarity(feature1, feature2)# Compare two images
image1 = "test/1.jpg"
image2 = "test/2.png"
# Get face information from both images
faces1 = face_sdk.GetImageInfo(image1, faceMaxCount=1)
faces2 = face_sdk.GetImageInfo(image2, faceMaxCount=1)
if faces1 and faces2:
# Compare the first face from each image
similarity = face_sdk.get_similarity(faces1[0]['embedding'], faces2[0]['embedding'])
print(f"Similarity: {similarity}%")
# Check if it's the same person (threshold = 75)
is_same_person = similarity >= 75
print(f"Same person: {is_same_person}")Extracts face information from an image.
Parameters:
image_path(str): Path to the input imagefaceMaxCount(int): Maximum number of faces to detect
Returns:
- List of dictionaries containing:
bbox: Face bounding box coordinateslandmarks: Facial landmark pointsembedding: Feature embedding vector
Compares two face feature embeddings.
Parameters:
feature1(array): First face embeddingfeature2(array): Second face embedding
Returns:
- Similarity score (0-100), where higher values indicate greater similarity
- Default Threshold: 75 (for determining if two faces belong to the same person)
- Supported Formats: JPG, PNG, BMP, TIFF
- Face Detection: Automatic detection of multiple faces per image
This SDK is ideal for various applications:
- Access Control Systems: Secure entry points with face recognition
- User Authentication: Biometric login for applications
- Surveillance: Real-time monitoring and alerting
- Time & Attendance: Automated employee check-in/check-out
- Customer Analytics: Retail customer tracking and analytics
- Smart Offices: Automated visitor management
- Smart Devices: Integration with IoT devices
- Mobile Apps: Face recognition in mobile applications
- Augmented Reality: AR applications with facial recognition
This project is developed by Faceplugin, a provider of on-premise biometric and identity verification SDKs.
If you need capabilities beyond this open-source SDK, explore Faceplugin's commercial SDKs for:
| Solution | Description |
|---|---|
| 👤 Face Recognition | Face recognition, verification, identification, attributes, and biometric authentication |
| 🛡️ Face Liveness Detection | Detect presentation attacks during face verification and authentication |
| 🆔 ID Document Recognition | OCR, MRZ, barcode recognition, and document classification |
| 🔐 ID Document Liveness Detection | Detect presentation attacks involving identity documents |
Explore our complete suite of biometric and identity verification solutions, including face recognition, face liveness detection, ID document recognition and ID document liveness detection SDKs.
- Face Recognition + Liveness — Android · Java, Kotlin
- Face Recognition + Liveness — iOS · Objective-C, Swift
- Face Recognition + Liveness — Flutter
- Face Recognition + Liveness — React Native
- Face Recognition + Liveness — Ionic Cordova
- Face Recognition + Liveness — Ionic Capacitor
- Face Recognition + Liveness — Docker for Linux
- Face Recognition + Liveness — Windows
- Face Recognition + Liveness — .NET MAUI
- Face Recognition + Liveness — .NET WPF
- ID Document Recognition — Android · Java, Kotlin
- ID Document Recognition — iOS · Objective-C, Swift
- ID Document Recognition — Flutter
- ID Document Recognition — React Native
- ID Document Recognition — Ionic Cordova
- ID Document Recognition — Ionic Capacitor
- ID Document Recognition — Docker for Linux
- ID Document Recognition — Windows
While there are many ways to support this project, starring ⭐️ this GitHub repository is one of the simplest and most impactful. It increases discoverability and helps the project reach a wider audience. Thank you for your support 🙏
- Email: info@faceplugin.com
- WhatsApp: +1 (469) 278-4822
- Telegram: @FacePluginSupport
- Website: faceplugin.com