This project is part of Computer vision Nanodergee via Udacity. Facial keypoints specify the areas of the nose, eyes, mouth, etc on the face, classified by 68 key points. Using CNN, Pytorch, and OpenCV I built a facial keypoint detection system that takes images with human faces and detects main facial keypoints.
Project split in 3 main notebooks and models.py file.
- models.py -- Model architecture.
- Load and Visualize Data.ipynb -- Loading and Visualizing the Facial Keypoint Data
- Define the Network Architecture.ipynb -- Defining and Training a Convolutional Neural Network (CNN) to Predict Facial Keypoints.
- Facial Keypoint Detection, Complete Pipeline.ipynb --Facial Keypoint Detection Using Haar Cascades and your Trained CNN.
- Fun with Keypoints.ipynb -- Fun experiments with keypoints.
-
Clone the repository
git clone https://github.com/DeividasMat/facial_keypoint_detection -
Create and activate Anaconda environment (Python 3.6). Download via Anaconda
- Linux or Mac:
conda create -n cv-nd python=3.6 source activate cv-nd- Windows:
conda create --name cv-nd python=3.6 activate cv-nd -
Install PyTorch and torchvision
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
-
Install a few required using pip or conda
- opencv-python==3.2.0.6
- matplotlib==2.1.1
- pandas==0.22.0
- numpy==1.12.1
- pillow>6.2.0
- scipy==1.0.0
- torch>=0.4.0
- torchvision>=0.2.0

