Facial Keypoints Detection

UC Berkeley | Machine Learning | Kaggle Competition
2nd place score (1.28637 RMSE)
w/ William Casey King, Ph.D. (Yale University)



Project Description

This challenge, hosted by Kaggle, asks data science teams to build machine learning solutions capable of detecting up to 15 facial landmarks (or "keypoints") on a collection of 1,783 grayscale images of faces. The competition organizers provide just over 7,000 labeled images or varying quality and facial position; to get a top score, competitors must deal with a host of data quality issues, missing or incorrect labels, images that are degraded, faces that are zoomed in or out, etc.

Skills

Computer Vision, Keypoints Detection, Convolutional Neural Networks, Generalized Stacking

Tools

Python, Jupyter, Pandas, NumPy, Keras, TensorFlow, cv2


Motivation

Kaggle boasts the world's largest online collaboration space for working data scientists. In addition to organized friendly competitions, it also serves as a place to learn new skills, search for a job in data science, and a host of other social services aimed at data science enthusiasts.

The facial keypoints detection competition is a learning challenge for the space of computer vision. To achieve state of the art results, competitors will have to deal with a wide variety of issues in computer vision: variation in image quality, face detection, label inaccuracies, data augmentation, convolutional neural network architectures, and generalized stacking.

The technical details behind this solution (which achieved what would qualify for 2nd place on the private leaderboard) is detailed in the README file for the projects public repository.



See the complete project in my GitHub repository.