Skip to main content

Command Palette

Search for a command to run...

Real-time face detection

In this project, I've to use OpenCV and Viola-Jones Algorithm to build a face detection system that works in real-time.

Published
2 min read
Real-time face detection
P

I help companies to leverage Machine Learning to create innovative products through an end-to-end machine learning development process that designs, builds, and manages reproducible, testable, scalable, and evolvable ML-powered software with minimal cost.

In this project, I've to use OpenCV and Viola-Jones Algorithm to build a simple face detection system that works in real-time.

Problem

I need to detect faces on images and from a webcam in real-time.

Task

Build an algorithm or machine learning model to detect faces on images.

Solution

I've used Python, OpenCV, and the Viola-Jones Algorithm to build a solution to detect faces fast.

Results

The solution has good accuracy and can detect faces really fast.


How to use it

To detect the face the software uses the Haar-like features with the help of the haarcascade_eye.xml and haarcascade_frontalface_default.xml files.

Prerequisites

To run this code, download Python 3 from Python.org.

After installing Python, add the required package using pip installer:

pip install -r requirements.txt

Then, clone the GitHub repository:

git clone https://github.com/cpatrickalves/cv-realtime-face-detection

Usage

To run the detection in real-time using the webcam, run:

python face_recognition.py

To perform the face detection on an image, just add the file name as an argument:

python face_recognition.py -f image.jpg

The script will create an output with a similar name. It with add the _output in the file name (ex: image_output.jpg)

Add the -s flag to perform smile detection.

Example


Web application

You can also run this script as an Streamlit application:

streamlit run app.py

It will automatically open the browser and show the app.

webapp.png

Built With

  • Python - Programming Language.
  • OpenCV - Open Computer Vision Library.
  • Streamlit - Open-source app framework for Machine Learning and Data Science teams.

Source code

The source code is available at Github.

github

Portfolio

Part 2 of 9

Here I show a summary description of the projects I've been working on in the last few years. Most of the projects have the source code publicly available.

Up next

Accelerating claim approval by an insurance company

This project aimed to build a predictive model that can predict the probability that a particular claim will be approved immediately.