tha main goal of this projects is to design and implement a facial keypoints detector. this is useful for many application that requires facial detection and recognition espacially for safety applications such as : detecting the driver's hands / eyes in order to detect if he is distracted or not ... and many other application .
Throughout the provided notebook we mixed a set of Computer vision techniques such as :
- Haar Cascade Classifier.
- Deep Convolutional neural networks.
- A set of image manipulation and pre processing techniques .
All the steps and the underlying logic is heavily described in the respective notebooks .
The notebooks are ordered so the first one does the first step in the computer vision tasks pipeline .
In order to reproduce this work here are the used tools:
- cv2 ( Open CV)
- Pytorch 0.4.1
- The other libraries are part of the Python 3 default installation .
- The data: For the data in the notebooks you will find specified cells which download the dataset and place in the right structure.
- The computing tools : the designed neural network is not so deep so the trainning can be done without a GPU in a reasonable amount of time however alternatives like AWS/ AppEngine can be used as well .