Open-Source-Face-Recognition-SDK README

The project's README from github.com/Faceplugin-ltd/Open-Source-Face-Recognition-SDK. As one markdown file: README.md.

FacePlugin

Open Source Face Recognition SDK

The world's first completely free and open-source face recognition SDK for Windows and Linux from Faceplugin

Platform Python License Privacy


🚀 Overview

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.

✨ Key Features

🎯 Current Capabilities


🛠️ Installation

Prerequisites

Setup Instructions

  1. Install Anaconda (if not already installed)

    # Download from: https://www.anaconda.com/products/distribution
    
  2. Create and activate conda environment

    conda create -n facesdk python=3.9
    conda activate facesdk
    
  3. Install dependencies

    pip install -r requirements.txt
    
  4. Test the installation

    python run.py
    

📖 Quick Start

Basic Usage

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)

Example: Face Comparison

# 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}")

🔧 API Reference

Core Functions

GetImageInfo(image_path, faceMaxCount)

Extracts face information from an image.

Parameters:

Returns:

get_similarity(feature1, feature2)

Compares two face feature embeddings.

Parameters:

Returns:

Configuration


🎯 Use Cases

This SDK is ideal for various applications:

🔐 Security & Authentication

👥 Business Applications

📱 Mobile & IoT


🏢 More Biometric SDKs from Faceplugin

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 SDKs

ID Document Recognition SDKs

ID Document Liveness Detection SDK


🤝 Support & Contact

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 WhatsApp Telegram @facepluginSDK

📞 Get in Touch


Made with ❤️ by Faceplugin

Open-Source-Face-Recognition-SDK (Faceplugin-ltd/Open-Source-Face-Recognition-SDK)

privacy-first
Searching Database…

What is this?An open-source face recognition SDK from Faceplugin that does face detection, landmark extraction, embedding generation and face similarity comparison, all processed on-premise.
Is this a library I call from code, or a standalone app?It is a Python library/SDK: you import its functions like GetImageInfo and getsimilarity into your own application code.
How do I get it running?Install Anaconda, create and activate a conda environment, install the dependencies, then test the installation before calling the API functions.
Do I need Python and Anaconda first?Yes, Python 3.9 or higher is required, and Anaconda is recommended for managing the environment and dependencies.
Which operating systems does it support?It runs on Windows and Linux.
Does my face data get sent anywhere?No, all processing is done on-premise and locally, so no data leaves your device.
What does GetImageInfo return?It returns a list of dictionaries per detected face, each containing the bounding box, facial landmarks, and a feature embedding vector.
How does face comparison work?The getsimilarity function compares two face embeddings and returns a similarity score from 0 to 100; the default threshold of 75 is used to decide if two faces belong to the same person.
What image formats are supported?JPG, PNG, BMP and TIFF are supported, with automatic detection of multiple faces per image.
Does Faceplugin offer more than this SDK?Yes, Faceplugin also sells commercial SDKs covering face liveness detection, ID document recognition, and ID document liveness detection across platforms like Android, iOS, Flutter, React Native, and Docker.
Size
54.6 MB
Stars
2.6K
Updated
CommitOct 02
Age
1y
Commits · 90 Days