Skip to content

๐Ÿ˜Žreal time fullstack face recognition system

Notifications You must be signed in to change notification settings

Atticuszz/BoostFace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

71 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ BoostFace ๐Ÿš€

Welcome to BoostFace! The cutting-edge, high-performance face recognition system designed to revolutionize the way we think about real-time identification and tracking. Built with a powerful stack of technologies, BoostFace is your go-to solution for handling high-load, high-concurrency scenarios with ease and efficiency. ๐ŸŒŸ

Demo

img.png

๐Ÿ›  Tech Stack

  • Frontend: Leveraging Streamlit for an intuitive, user-friendly interface, combined with SCRFD for efficient and accurate face detection, and SORT for multi-object tracking. Real-time image transmission is facilitated through Websockets, ensuring a seamless and dynamic user experience. ๐Ÿ–ฅ๏ธ

  • Backend: Powered by FastAPI for lightning-fast backend operations, ONNX Runtime for optimized machine learning model inference, and CUDA/cuDNN for leveraging NVIDIA's GPU acceleration. To round it all off, Milvus is used to handle the heavy lifting of vector similarity search, making our system not only fast but also incredibly scalable. ๐Ÿš€

๐ŸŒˆ Features

  • Real-Time Face Recognition: Identify and track faces in real-time with unparalleled accuracy. ๐Ÿค–

  • High Scalability: Ready to handle an expansive number of concurrent requests without breaking a sweat. ๐Ÿ“ˆ

  • Low Latency: Designed from the ground up to minimize response times, making it ideal for real-time applications. โšก

  • Easy Integration: With a well-documented API, integrating BoostFace into your existing infrastructure is a breeze. ๐ŸŒ

๐Ÿ“š Getting Started

Dive into the world of high-performance face recognition by cloning this repo and following our detailed setup instructions. Whether you're a developer looking to integrate face recognition into your project, or you're simply curious about the technology, BoostFace has something for everyone.

git clone https://github.com/Atticuszz/boostface.git
cd boostface

prepare

  • download arcface_onnx model
cd src/Demo/backend/services/inference/model_zoo
wget https://github.com/Atticuszz/BoostFace/releases/download/dataset/models.zip
unzip models.zip
rm -rf models.zip
  • init env
cd src/Demo
conda env create -f environment.yml
conda activate BoostFace-demo
  • register demo face after backend start
# register demo
python src/Demo/web/inference/utils/register.py

run

  • start vector database
docker-compose up src/Demo/backend/services/db/milvus-standalone-docker-compose.yml
  • start backend
# run backend
python src/Demo/backend/main.py
  • start web
streamlit run src/Demo/web/main.py