libfaceid  by richmondu

Python research framework for face recognition prototyping

created 6 years ago
496 stars

Top 63.4% on sourcepulse

GitHubView on GitHub
Project Summary

This Python library provides a research framework for prototyping face recognition solutions, integrating multiple detection, recognition, and liveness models with speech synthesis and recognition capabilities. It aims to simplify the process for beginners and researchers by offering a modular and easy-to-use interface for experimenting with various face recognition pipelines, including anti-spoofing and voice-enabled features.

How It Works

The library abstracts the complexities of different face recognition models by providing a unified interface for selection and integration. Users can mix and match various face detection (e.g., Haar Cascades, MTCNN) and face encoding/embedding models (e.g., LBPH, FaceNet) through simple constructor calls. This modular design allows for easy experimentation with models that vary in speed, accuracy, and resource requirements, enabling users to tailor solutions to specific use cases and hardware.

Quick Start & Requirements

  • Installation: pip install -r requirements.txt (includes opencv-python, tensorflow, dlib, facenet, etc.). Additional dependencies for voice capabilities are in requirements_with_voicecapability.txt.
  • Prerequisites: Python 3.5+ (3.5.3 for RPi, 3.6.6 for Windows recommended), CMake for dlib, microphone setup for RPi.
  • Setup: Requires downloading pre-trained models and preparing a dataset.
  • Documentation: Examples for training, testing with images/webcam, liveness detection, and voice integration are provided in the README.

Highlighted Details

  • Supports a wide range of face detection, encoding, and classification models, allowing for flexible pipeline construction.
  • Includes face liveness detection models to counter spoofing attacks (photo, video, 3D mask).
  • Features Text-to-Speech (TTS) and Speech-to-Text (STT) integration for voice-enabled and voice-activated capabilities.
  • Offers additional modules for age, gender, emotion, and facial landmark estimation.

Maintenance & Community

  • Last updated in December 2018 with several feature integrations.
  • Project encourages contributions and stars. Twitter handle for contact is mentioned.

Licensing & Compatibility

  • The README does not explicitly state a license.
  • Compatibility tested on Raspberry Pi 3B+ and Windows 7.

Limitations & Caveats

  • The project's last update was in late 2018, suggesting potential for outdated dependencies or unaddressed issues.
  • Specific model compatibility and performance may vary significantly, requiring user testing.
  • DLL issues with OpenCV on Windows 7 are noted, with workarounds suggested.
Health Check
Last commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.