CS 194: Facial Keypoint Detection with Neural Networks

Jenny Song

Part 1: Nose Tip Detection

Sampled ground-truth keypoints

Training and Test Loss Plots

Sampled Test Predictions

For my prediction, the first and the last image have the wrong result, because they are not facing front, but facing towards the left and right.

Part 2: Facial Keypoints Detection

Sampled ground-truth keypoints

Architecture Details

Training and Test Loss Plots

Sampled Test Predictions

Detects incorrectly

Those images have bad perdictions because their faces are tilted after rotation.

Detects correctly

Learned Filters

First Conv Layer

First Conv Layer Feature Map

Second Conv Layer

Second Conv Layer Feature Map

Part3: Train With Larger Dataset

Kaggle Competition

Mean error is 7.18059

Model Architecture

I trained ResNet18 for 100 epochs, with MSELoss as criterion , and ADAM as optimizer. The learning rate was 1e-3 for first 70 epochs then 5e-4 for the next 30 epochs.

Training and Test Loss Plots

Prediction

Own Dataset

The prediction for the middle image is slightly off but the prediction for the first and last image is right. Again, becuause the middle face is not upfront but tilted, it has a bad prediction.