Kubernetes Based Face Recognition Framework

Kubernetes-Based Face Recognition Framework

Last updated:

0 purchases

Kubernetes-Based Face Recognition Framework Image
Kubernetes-Based Face Recognition Framework Images

Free

Languages

Categories

Add to Cart

Description:

This project is a scalable and efficient facial recognition system designed for video surveillance using convolutional neural networks (CNNs), machine learning, and distributed computing. The system is developed to optimize bandwidth usage by leveraging edge computing for preprocessing and Kubernetes for cloud-based deployment. The framework includes REST APIs for image processing and supports features like training, retraining, and database management for scalability.

The project incorporates technologies and methodologies inspired by works such as Arsfutura Face Recognition, David Sandberg's FaceNet, Google FaceNet, and Fyr91's Light Face Detection Model. It is designed for deployment on Azure or similar cloud platforms and is capable of handling large-scale deployments.

Features:

 

  1. Edge Computing Integration:

    • Reduces bandwidth by pre-processing video frames locally near the cameras.
    • Extracts and sends only facial images to the cloud.
  2. Cloud-Based Facial Recognition:

    • Scalable REST API deployed on Kubernetes.
    • Supports adding, removing, and retraining facial recognition datasets.
    • Ensures high availability with load balancing and pod replication.
  3. Kubernetes Deployment:

    • Containers manage API operations with scalable pods.
    • Supports custom scaling configurations based on workload.
  4. Database Support:

    • MariaDB or similar for storing processed information.
    • Integration options for database hosting within Kubernetes for debugging.
  5. Real-Time Recognition:

    • Recognizes faces using live webcam feeds.
    • Adjustable parameters like confidence thresholds for accuracy.
  6. Extensibility:

    • Additional programs for testing, benchmarking, and showcasing the framework.

Requirements:

Hardware Requirements:

  • Compatible camera hardware for edge processing.
  • Sufficient memory and compute resources for Kubernetes clusters.

Software Requirements:

  • Kubernetes and Docker setup.
  • MariaDB for database operations.
  • Python (with necessary libraries for API and client programs).
  • Cloud platform (Azure, AWS, or GCloud) for deployment.

Environment Setup:

  • Kubernetes cluster with external storage (e.g., NFS).
  • Load Balancer configured for API ingress.

Instructions:

Cloud Provider Installation

  1. Create Kubernetes Cluster:

    • Deploy Kubernetes nodes for handling API and recognition tasks.
    • Configure NFS server and database.
  2. Database Deployment (Optional):

     

    bash

    Copy code

    kubectl create -f ./kubernetes-deployment-azure/facial-recognition-db-service.yaml kubectl create -f ./kubernetes-deployment-azure/facial-recognition-db-pod.yaml

  3. API Service Deployment:

     

    bash

    Copy code

    kubectl create -f ./kubernetes-deployment-azure/facial-recognition-service.yaml kubectl create -f ./kubernetes-deployment-azure/facial-recognition-deployment.yaml

  4. Health Check:

     

    bash

    Copy code

    kubectl get all kubectl describe services kubectl describe deployments kubectl describe pods

2. Local Installation with Docker

  1. Enable Kubernetes in Docker.
  2. Set up a local MariaDB instance with the required credentials.
  3. Deploy the application:
     

    bash

    Copy code

    kubectl create -f ./kubernetes-deployment-azure/facial-recognition-deployment.yaml

  4. Expose the deployment or pod for local use:
     

    bash

    Copy code

    kubectl expose deployment face-recognition-deployment --type=NodePort --port=5000 --target-port=8080


Usage Instructions:

Adding People to the System

  • From Pre-Existing Images:

     

    bash

    Copy code

    python add-user-from-dataset.py --ip-address <API_IP> --input-folder <Folder_Path> --person-id "<Person_Name>" --create-id --train

  • From Webcam:

     

    bash

    Copy code

    python add-user-with-camera.py --person-id "<Person_Name>" --ip-address <API_IP> --img-number <Number_of_Images> --create-id --train

Real-Time Recognition

 

bash

Copy code

python real-time-camera.py --ip-address <API_IP> --min-confidence 0.8

For additional programs, refer to the interaction-with-framework folder.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product: (if this is empty don't purchase this product)

Customer Reviews

There are no reviews.