NavinKumarMNK / Face-Recognition-From-Crowd

Face Recognition from Crowd by using yolov7 .Extracting the faces from a video/image/live source, which is then passed to the custom facenet network in order to recognize the peoples
9 stars 1 forks source link
crowd-monitoring face-net face-recognition yolov7-face

Face Recognition System - Detect and Recognize Faces from the Crowd

Overview

This project is a face recognition system that uses YOLOv7 to detect and extract faces from a crowd, Facenet to extract features, and ArcMarginModel to recognize faces stored in the directory ./databases. The system can be applied to photos, videos, and live-streams.

Frameworks

Algorithms

Usage

  1. Run the YOLOv7 model to detect and extract faces from the crowd.
  2. Extract features from the faces using Facenet.
  3. Use the extracted features and the ArcMarginModel to recognize the faces stored in the ./databases directory.

Results

The system was tested on a dataset of photos, videos, and live-streams and achieved an accuracy of X%.

References

Usage

To run the main model, use the following command:

python run.py --source <source>

Where <source> can be either "live" for live-stream, a path to a video file or a path to an image file.

For example, if you want to run the model on a live-stream, use the following command:

Docker Support

To run the model using Docker, use the following command:

sudo docker build -t <image_name> .
sudo docker run --gpus all -it <image_name>

Where <image_name> is the name of the image you want to build and <path_to_project> is the path to the project directory.

Note: Run docker as super user to avoid libnividai.so.1 not found error.
--device /dev/video0 => for live stream

Building

To run the model using Tensor RT, use the following command: Multiple Camera channel, with centralized server Decoupling Camera and Server Distributed Inference