ArcFace-Multiplex-Recognition  by 1996scarlet

Face recognition system for complex scenarios

created 6 years ago
333 stars

Top 83.6% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a real-time face detection and recognition system designed for complex scenarios, targeting developers and researchers in computer vision and security. It leverages RetinaFace for detection and ArcFace for recognition, offering a robust solution for identity authentication.

How It Works

The system integrates RetinaFace for accurate, multi-level face localization and ArcFace, a deep face recognition model trained with an additive angular margin loss. This combination allows for high-performance face detection and recognition, achieving near real-time frame rates. The architecture is designed for efficiency, enabling deployment on consumer-grade hardware.

Quick Start & Requirements

  • Install: Requires yarn for the client and python3 for the backend.
  • Prerequisites: Node-JS, Electron, CUDA (implied for GPU acceleration), and Python 3.
  • Setup: Client installation via yarn or npm. Backend requires compiling R-CNN via ./build_rcnn.sh and running Python scripts.
  • Demo: Run python3 usb_camera.py -c X (where X is the camera index) and interact via the Electron client.
  • Training: Data needs to be organized in Temp/train_data with subdirectories for each identity. Training is initiated with python3 train_mlp.py.

Highlighted Details

  • Achieves nearly 24 fps on a GTX 1660 Ti.
  • Utilizes RetinaFace for robust face detection.
  • Employs ArcFace for high-accuracy face recognition.
  • Includes a simple MLP classifier training pipeline.

Maintenance & Community

No specific information on maintainers, community channels, or roadmap is provided in the README.

Licensing & Compatibility

The project does not explicitly state a license. The included citations are for RetinaFace and ArcFace, which have their own licenses. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The project appears to be primarily focused on Linux environments due to the apt package manager commands. Training instructions are basic, and no pre-trained models are explicitly offered for direct download, requiring users to train their own.

Health Check
Last commit

1 month 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.