Skip to content

DexterFixxor/Facial-Keypoints-detection-using-heatmaps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Facial keypoints detection using Convolutional Pose Machines

This repository contains code for training neural network using Pytorch framework. Neural network model is based on Convolutional Pose Machines paper, but instead of body parts network is trained to recognize facial keypoints and output probability map for each keypoint.

Dataset used is Facial Keypints (68). It consists of two folders, test and train, and .csv files with information about each image and it's keypoints locations. During training, train folder is split in two parts (split size defined in config.py). One for training and the other for validation. Test folder can be used after training is complete to test model once more.

Training

Requires: PyTorch 1.9.0

  1. Download dataset and place it inside project folder.
  2. Inside config.py file change DATA_ROOT_PATH to coresponding folder name. For example: "data". Rest of the file leave at default, change batch size and number of workers depending on hardware used.
  3. Run main.py to start training. Model, loss graph and copy of configuration parameters are saved in "output/current_date_and_time" folder in project root. Along with it, examples of some iterations in each epoch are saved, also each new best model.

Example of folder structure:

├── ...
├── data/ 
│   ├── test/
│   ├── training/
|   ├── ...
└── ...

Trained model can be downloaded from this link. Model was trained on image resolution of 320x320.

Test model using webcam

Inside camera_test.py change:

...
# path to the trained model
model_load_path = './weights/cpm_net_ep60.pt' 
...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages