Serial and parallel implementation of Dense 3D Face correspondence paper
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.
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.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.
Click on the image below to play :)