Skip to content

pyaf/Dense-3D-Face-Correspondence

Repository files navigation

Dense 3D Face Correspondence

This repository contains serial and parallel implementation of an algorithm taken from Dense 3D Face correspondence paper that automatically establishes dense correspondences between a large number of 3D faces. Starting from automatically detected sparse correspondences on the outer boundary of 3D faces, the algorithm triangulates existing correspondences and expands them iteratively by matching points of distinctive surface curvature along the triangle edges.

Files:

  • serial.py contains serial implementation of the algorithm.
  • serial.ipynb contains serial implementation with 3D plots and visualizations.
  • multi-processing.py contains parallel implementation of the algorithm, it uses Python's inbuilt multiprocessing module. (~8x faster)
  • multi-threading.py uses Python's inbuilt multithreading module, performs poorly because of Python's GIL issue.

Requirements

  • memcached (sudo apt install memcached)
  • pymemcached (pip install pymemcached) Note: Before running multi-processing.py start the memcached deamon with memcached -u memcached -d -m 1024 -I 128m -l 127.0.0.1 -p 1111.

To know more about the implementation, refer to the original Dense 3D Face Correspondence paper and the report prepared for this project.

Demo video:

Click on the image below to play :)

Demo

Team mates:

  • V. Hemanth Sai
  • Rishabh Agrahari (that's meeee 😎 )
  • Pratyush Prateek Singh
  • Utkarsh Ranjan
  • Nitin Mahawar

About

Serial and parallel implementation of Dense 3D Face correspondence paper

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published