- Luke Banaszak
- Sakshi Maheshwari
- Rick Suggs
- Yitian Tang
The project was created with Python 3.10 and has not been tested with any other version.
The Python dependencies can be installed by running the following command in the project directory.
pip install -r requirements.txt
Training PyTorch models can take a long time. If your computer is equipped with a GPU, that time could be reduced significantly. However, you may need to install different dependencies. See PyTorch - Get Started for instructions on installing GPU support on your computer.
For example, on Windows with Nvidia GPU, CUDA support can be enabled by first uninstalling Pytorch, then reinstalling with the compiled CUDA binaries:
pip uninstall torch torchvision
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu117
The notebook begins with a simple set of cells to use the product's main functionality to generate a morphing GIF from a directory of jpg images.
The notebook then provides end to end examples of training the PyTorch models, all the way through generating a morph sequence from automatically predicted keypoints from multiple images.
Class definition that generates a morph sequence from a directory of images.
Notebook covers results from training the pretrained Resnet 50 PyTorch model on the IMM Image Database Our trained model file for the IMM Image Database is larger than the Github file limit, but can be downloaded from here
Notebook covers results from training the pretrained Resnet 50 PyTorch model on the IBug Image Database Our trained model file for the IBug Image Database is larger than the Github file limit, but can be downloaded from here
Module of utility functions used for training PyTorch models.
Module of PyTorch Transforms and DataLoaders used for training PyTorch models.
Class definitions for pretrained Resnet 50 PyTorch models.
Class definitions for custom PyTorch models.
Notebook covers manually defined correspondence points, creating morphing animations from multiple images, and experimenting with a population of images.
Module of utility functions used for warping and morphing.
Notebook covers loading and visualizing data from the YouTube Faces Dataset
Notebook covers PyTorch CNN instantiation for YouTube Faces Dataset
Notebook covers PyTorch CNN completed pipeline for YouTube Faces Dataset
Module for YouTube Faces Dataset PyTorch DataLoader
Module for YouTube Faces Dataset PyTorch Models
UC Berkeley: Facial Keypoint Detection with Neural Networks
[1805.04140] Neural Best-Buddies: Sparse Cross-Domain Correspondence
[1512.03385] Deep Residual Learning for Image Recognition
The IMM Face Database - An Annotated Dataset of 240 Face Images (download links)
Resnet50 Pretrained PyTorch Model
i·bug - resources - Facial point annotations
nalbert9/Facial-Keypoint-Detection: Computer vision
Neural Best-Buddies: Sparse Cross-Domain Correspondence
Neural Networks — PyTorch Tutorials 2.0.0+cu117 documentation
Writing Custom Datasets, DataLoaders and Transforms — PyTorch Tutorials 2.0.0+cu117 documentation
Deep Learning with PyTorch: A 60 Minute Blitz
Transfer Learning for Computer Vision Tutorial
Facial KeyPoint Detection with Pytorch | by Antonio Linares | Analytics Vidhya | Medium
Face Landmarks Detection With PyTorch | by Abdur Rahman Kalim | Towards Data Science
Setting the learning rate of your neural network.
Drawing Loss Curves for Deep Neural Network Training in PyTorch | by Niruhan Viswarupan
Multivariate data interpolation on a regular grid (RegularGridInterpolator) — SciPy v1.10.1 Manual
An Introductory Guide to Deep Learning and Neural Networks (Notes from deeplearning.ai Course #1)
Getting Started with Facial Keypoint Detection using Deep Learning and PyTorch
Advanced Facial Keypoint Detection with PyTorch
plot training and validation loss in pytorch - Stack Overflow
Convolutional neural network - Wikipedia
scipy.interpolate.RegularGridInterpolator — SciPy v1.10.1 Manual
scipy.spatial.Delaunay — SciPy v1.10.1 Manual
Module: draw — skimage v0.20.0 docs
https://inst.eecs.berkeley.edu/~cs194-26/fa17/upload/files/proj4/cs194-26-abc/