This repository implements a versatile Face Recognition System featuring two distinct subsystems for different use cases: Dynamic Auto-Tagging (One-Shot Learning) and Static YOLO Classification (Supervised Training).
The project is divided into two independent subsystems based on their technical approach and hardware integration.
- Purpose: Instant recognition and auto-registration of unknown individuals using depth sensing.
- Best for: Zero-downtime environments, retail greetings, and dynamic security.
- Key Features: One-Shot learning, Intel RealSense Depth filtering, Kalman Filter tracking, and Text-to-Speech (TTS).
- Technologies:
face_recognition(ResNet-128D),dlib, OpenCV, Intel RealSense SDK.
- Purpose: High-accuracy face classification via traditional neural network training.
- Best for: Rigorous security, employee attendance, and physical access control.
- Key Features: Custom dataset collection, data augmentation, YOLOv8 fine-tuning, and Raspberry Pi integration.
- Technologies: YOLOv8 (Face Detection & Classification), Ultralytics, PyTorch.
The system's technical flow is detailed in the Project Architecture documentation.
-
Languages: Python 3.9+
-
Computer Vision: OpenCV, Ultralytics YOLOv8,
face_recognition. -
Hardware Integration: Intel RealSense D400 series, Standard Webcams, Raspberry Pi (GPIO).
-
Tracking: Kalman Filtering for smooth bounding boxes.
-
Audio:
pyttsx3for asynchronous speech feedback.
-
Python 3.9 or 3.10
-
GPU with CUDA support (recommended for YOLO training)
-
Intel RealSense SDK (required for Auto-Tagging subsystem)
-
Clone the repository:
git clone https://github.com/thippeswammy/FaceRecognition.git cd FaceRecognition -
Install dependencies:
pip install -r requirements.txt
FaceRecognition/
├── FaceRecognitionByTraining/ # Static YOLO-based subsystem
├── FaceRecognitionWithAutoTagging/ # Dynamic Auto-Tagging subsystem
├── runs/ # YOLO training runs and weights
└── requirements.txt # Global dependenciesContributions are welcome! Please open an issue first to discuss major changes.
This project is licensed under the MIT License.
