This project will be all about defining and training a convolutional neural network(CNN) to perform Facial Keypoint Detection, and using Computer Vision techniques to transform images of faces.
Facial Keypoints (also called Facial Landmarks) are the small magenta dots shown on each of the faces in the image above. In each training and test image, there is a single face and 68 keypoints, with coordinates (x, y), for that face. These keypoints mark important areas of the face: the eyes, corners of the mouth, the nose, etc. These keypoints are relevant for a variety of tasks, such as face filters, emotion recognition, pose recognition, and so on. Here they are, numbered, and you can see that specific ranges of points match different portions of the face.
This set of image data has been extracted from the YouTube Faces Dataset, 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.
This facial keypoints dataset consists of 5770 color images. All of these images are separated into either a training or a test set of data.
- 3462 of these images are training images, which are used to create a CNN model to predict keypoints.
- 2308 are test images, which will be used to test the accuracy of the CNN model.
The information about the images and keypoints in this dataset are summarized in CSV files, which can be read in using pandas
.