Skip to content

rtx4070-m4/Face_Eye_Detection_OpenCV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title Enhanced Face and Eye Detection in Real-Time Using OpenCV
output github_document

👁️ Enhanced Face and Eye Detection in Real-Time Using OpenCV

Python OpenCV License

A real-time computer vision system that detects faces and eyes using Haarcascade classifiers in OpenCV.

This project demonstrates how classical machine learning–based object detection can be used to build fast and efficient real-time facial feature detection systems.


📌 Project Overview

Face and eye detection are fundamental tasks in computer vision with applications such as:

  • Security and surveillance systems
  • Driver monitoring systems
  • Human-computer interaction
  • Smart camera applications

The system processes live webcam video streams and detects:

  • Human faces
  • Eyes within detected faces

⭐ Features

✔ Real-time face detection
✔ Eye detection within detected face regions
✔ Fast detection using Haarcascade classifiers
✔ Lightweight and CPU efficient
✔ Easy to extend to deep learning models


🏗 System Architecture

Webcam Input │ ▼ Frame Capture (OpenCV) │ ▼ Grayscale Conversion │ ▼ Face Detection (Haarcascade) │ ▼ Eye Detection within Face │ ▼ Bounding Box Visualization │ ▼ Real-Time Display


📂 Project Structure

Face_Eye_Detection_OpenCV
│
├── data/
│
├── models/
│   ├── haarcascade_frontalface_default.xml
│   └── haarcascade_eye.xml
│
├── src/
│   ├── face_detection.py
│   ├── eye_detection.py
│   └── realtime_detection.py
│
├── notebooks/
│   └── face_detection_analysis.ipynb
│
├── results/
│   ├── screenshots/
│   └── performance_metrics/
│
├── report/
│   └── project_report.pdf
│
├── presentation/
│   └── project_presentation.pptx
│
├── requirements.txt
├── README.Rmd
└── main.py
⚙️ Technologies Used
Technology	Purpose
Python	Programming language
OpenCV	Computer vision library
NumPy	Numerical processing
Haarcascade	Face detection algorithm
Jupyter Notebook	Experimentation
🧠 Methodology
Image Acquisition

Frames are captured from the webcam using OpenCV.

cap = cv2.VideoCapture(0)
Preprocessing

Frames are converted to grayscale to improve detection performance.

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

Benefits:

reduces computational cost
improves Haarcascade detection
Face Detection

Face detection uses:

haarcascade_frontalface_default.xml

Algorithm:

Haar-like features
Sliding window scanning
Cascade classifier filtering
Eye Detection

Eyes are detected within the face region using:

haarcascade_eye.xml

Detected eyes are highlighted using bounding boxes.

📊 Performance Evaluation

The system was evaluated using the following metrics:

Metric	Description
Detection Accuracy	Correct face detection
False Positives	Incorrect detections
FPS	Frames per second
Latency	Detection delay

Testing conditions:

Low lighting environments
Multiple faces in frame
Moving subjects
⚖️ Ethical Considerations

Face detection technologies raise ethical concerns including:

Privacy violations
Unauthorized surveillance
Algorithmic bias

Mitigation strategies:

User consent before detection
Avoid storing biometric data
Responsible AI deployment
🛠 Installation

Clone the repository:

git clone https://github.com/rtx4070-m4/Face_Eye_Detection_OpenCV.git
cd Face_Eye_Detection_OpenCV

Install dependencies:

pip install -r requirements.txt
▶️ Run the Project
python main.py

Press Q to exit the webcam window.

🔮 Future Improvements

Possible upgrades:

CNN-based face detection (MTCNN)
Face recognition (FaceNet)
Emotion detection
Driver drowsiness detection
YOLO-based face detection
📚 References
OpenCV Documentation
Viola–Jones Object Detection Framework
Haarcascade Classifiers
👨‍💻 Author

Tanuj Chaudhary

AI / Machine Learning Projects

GitHub:
https://github.com/rtx4070-m4

About

Run real-time face & eye detection using webcam

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors