CS194 Project4: 
Facial Keypoint Detection with Neural Networks 

Sainan Chen
11/1/2020

Introduction

In this project, we are going to detect the shape of a face using Neural Network! By inputing an image containing a face, our model should detect key points on the face automatically.

In general, we train our Neural Network model using training images with ground truth face shapes (key points) given. We can see how the model performance gradually improves (mean square error decreases) when we go more rounds on the training data. Then we test our model using validation images with ground truth face shapes also given.

The main tool I use is Pytorch. The main processes include:
1. Creating datasets for training data and validation data respectively.
2. Creating dataloader to iterate through all images and coresponding ground truth key points.
3. Creating CNN model, including convolution layers, RELU layers and max pool layers.
4. Train CNN model on training data by minimizing MSE loss.
5. See result on validation data and evaluate training and validation accuracy.