/Face_Tracker

This is my first face tracker model using SSD and custom made dataset

Primary LanguageJupyter NotebookMIT LicenseMIT

Face Tracker

The Face Tracker project leverages the power of deep learning, utilizing Single Shot Detector which was fine-tuned for a custom dataset,

Preview

Preveiew

Run

To take the images for the dataset run image_collection.py

To annotate the images use the labelme package

To split the images into train test and validation split run split_data.py

To train the model run each cell in order in face_detection.ipynb

Ps you only have to run the augment data cell once and comment it afterwards

Note

Delete the .json file in the data and aug_data before doing any of the above steps

Features

Deep Learning Model

  • The project employs the SSD architecture which is used for face detection in tensorflow.
  • OpenCV is used to make real-time face detection

Custom Dataset

  • This project so that anyone can make their own custom dataset using their webcam and their own face as data.
  • Took 90 photos of myself in various scenarios and some without my face to add some noise to the dataset.
  • The labelme library was used to annotate the labels for the images.
  • The albumentations library was used to augment the images to around 4000 images.

Real Time tracking

The deep learning model aimed for real-time face tracking using OpenCV

Dependencies

tensorflow==2.8.0
albumentation==1.1.0
labelme==5.3.1
opencv-python==4.5.4.60
python==3.9