CS194-26: Project 4

 

Facial Keypoint Detection with Neural Networks


In this project, I used neural networks to automatically detect facial keypoints. Specifically, I used PyTorch as the deep learning framework for this project. The first two parts used the IMM Face Database to first detect nose tip, and then applying the similar technique to all keypoints in an image. These images are split into train and validation sets for training and validating the model. In the last part, the program predicted a much larger dataset with 6666 images.

Part 1: Nose Tip Detection

In the first part, I downloaded the IMM Face Database from here and used it to train a nose tip detection model. The first 192 (32x6) images are in my train set and the rest 48 (8x6) images are my validation set.

In this part, the images are divided into train and validation sets, and the images and the ground-truth keypoints are used to train the convolutional neural network.

Part 2: Full Facial Keypoints Detection

In the next step for the project, the program detects all 58 facial keypoints.

Part 3: Train With Larger Dataset

This part uses ibug face for training a facial keypoints detector.