/NDCV-facial-keypoints-detection

My work for Udacity Computer Vision Nano Degree.

Primary LanguageJupyter Notebook

NDCV-facial-keypoints-detection

In this project we will try to ombine our knowledge of computer vision techniques and deep learning architectures to build a facial keypoint detection system that takes in any image with faces, and predicts the location of 68 distinguishing keypoints on each face! We used Hacascade from OpenCV to detect face's location, then we cropped the face region and fed it to our CNN+FC network to perform keypoints regression.

For this project, we'll using YouTube Faces Datasets which includes videos of people in YouTube videos. These videos have been fed through some processing steps and turned into sets of image frames containing one face and the associated keypoints.

Result:

Demo

Face detection result using Haarcascade

Facial keypoints detection result

Training vs validation Chart

We applied the early stopping method during the training and validation process. By using early stopping, we can get the best epoch that gives the best result from our model. Since Pytorch doesn't have a built-in function to perform early stopping so I made new class EarlyStopping