This repository contains the code for my capstone project, which focuses on developing and training models for both facial recognition and object recognition. The project involves building machine learning pipelines for detecting and recognizing faces, as well as identifying various objects in images using state-of-the-art algorithms.
- Efaz Hossain
- Sahithi Mutyala
- Project Overview
- Technologies Used
- Model Architecture
- Results
The goal of this project is to create a robust and efficient system that can:
- Detect and recognize human faces.
- Identify and classify objects within images. The model is built using deep learning techniques and trained on various datasets to achieve high accuracy in both tasks.
- Python: For scripting and data manipulation
- TensorFlow/Keras: Deep learning framework for building and training models
- OpenCV: For image processing and face detection
- Scikit-learn: For traditional machine learning algorithms and evaluation
- NumPy & Pandas: For data handling and analysis
- Matplotlib & Seaborn: For visualization of results
- VGG16: VGG16 is a popular deep learning model used for image recognition tasks, including facial recognition. It has 16 layers that process images through small filters to capture detailed features, like edges and textures. In facial recognition, VGG16 helps by learning to detect key facial features (like eyes, nose, and mouth) and distinguishing between different faces. It is often used with pre-trained weights from large datasets, making it effective for recognizing faces in new images with high accuracy.

- EfficientNet: Recognizes patterns in images by passing the image through a series of layers. It identifies objects by detecting edges, textures, and shapes, gradually learning to distinguish between different objects (e.g., cars, dogs) in a scene.
- YOLO11: splits an image into a grid, and each grid cell predicts both the presence of an object and its location (bounding box). It can identify and locate multiple objects in the same image, making it ideal for tasks like surveillance, autonomous driving, or any real-time applications.

Object Detection: Averages around 65-72% accuracy with Recall of 0.668 when testing with new object data
- Install required packages (TensorFlow, Keras, OpenCV, Scikit-Learn, NumPy, Pandas, Matplotlib, Seaborn, KerasTuner, Ultralytics)
- Pull any public facial and object dataset
- Use notebooks from Alpha directory for facial recognition
- Use notebooks from Beta directory for object detectioon
- Compare your results with these to see if any discrepencies exist



