This project is a Real-Time Facial Matching and Best Image Selection System developed as part of an internship project at Sri Sairam Techno Incubator Foundation. It involves capturing images from multiple cameras, grouping images by individual persons, selecting the best image for each person, and matching the best images across different camera locations.
- Real-time Image Capture: Captures burst images when a person enters the frame.
- Face Detection & Grouping: Groups images of the same person.
- Best Image Selection: Chooses the best quality image for each person.
- Facial Matching Across Locations: Matches the best-selected images with images captured at another camera or location.
- Multi-Camera Support: Scalable to multiple cameras at different locations.
|── Source Code/
| ├── main.py # Main script to initialize and run the system
| ├── camera_capture.py # Handles image capture from cameras
| ├── image_processing.py # Processes images for face recognition
├── requirements.txt # Dependencies and required libraries
└── README.md # Project documentation
Ensure you have the following installed:
- Python 3.7+
- OpenCV
- dlib
- face_recognition
- NumPy
- Two connectable cameras
- Clone the repository:
git clone https://github.com/your-repo/facial-matching-system.git cd facial-matching-system - Install dependencies:
pip install -r requirements.txt
3.Download and set up the shape_predictor_68_face_landmarks.dat model:
- Download from: dlib.net
- Extract using:
bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
- Place the extracted
.datfile inside themodels/folder.
- Run the system:
python main.py
- Imports necessary modules.
- Initializes cameras and image processing modules.
- Runs the facial matching pipeline in real time.
- Captures images from multiple cameras.
- Uses burst shots when motion is detected.
- Passes images to the processing module.
- Detects and recognizes faces using
face_recognitionanddlib. - Groups images based on unique facial features.
- Selects the best image for each person based on clarity and face position.
- Matches best images with previously stored faces from another camera location.
- Start the System: Run
main.pyto begin capturing images. - Image Processing: The system detects and processes faces in real time.
- Facial Matching: The best-selected images are matched across different locations.
- Display Matches: Matched results are displayed with relevant information.
- Increase Accuracy: Implement deep learning-based face recognition.
- Scalability: Add support for more cameras and cloud-based processing.
- Database Storage: Store images and metadata in a database for historical tracking.
- Gali Yaswanth Sai (Intern, Sri Sairam Techno Incubator Foundation) https://github.com/ir19stark28
- GokulKrishnan Saravanan (Intern, Sri Sairam Techno Incubator Foundation ) https://github.com/gokulispro
- Rahul Senthil Nathan (Intern, Sri Sairam Techno Incubator Foundation ) https://github.com/Rahul-07S
This project is licensed under the MIT License.