An official pyTorch port of the pix2vertex paper from ICCV2017
Evaluation code for Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation. Finally ported to PyTorch!
2020.10.27: Added STL support
2020.05.07: Added a wheel package!
2020.05.06: Added myBinder version for quick testing of the model
2020.04.30: Initial pyTorch release
The original pix2vertex repo was composed of three parts
- A network to perform the image to depth + correspondence maps trained on synthetic facial data
- A non-rigid ICP scheme for converting the output maps to a full 3D Mesh
- A shape-from-shading scheme for adding fine mesoscopic details
This repo currently contains our image-to-image network with weights and model to
PyTorchand a simple
pythonpostprocessing scheme. - The released network was trained on a combination of synthetic images and unlabeled real images for some extra robustness :)
Installation from PyPi
bash $ pip install pix2vertexInstallation from source
bash $ git clone https://github.com/eladrich/pix2vertex.pytorch.git $ cd pix2vertex.pytorch $ python setup.py install
The quickest way to try
p2vis using the
reconstructmethod over an input image, followed by visualization or STL creation. ```python import pix2vertex as p2v from imageio import imread
image = imread() result, crop = p2v.reconstruct(image)
p2v.visdepthinteractive(result['Z_surface'])
p2v.visdepthmatplotlib(crop, result['Z_surface'])
p2v.save2stl(result['Zsurface'], 'res.stl') ``
For a more complete example see thereconstructpipeline` notebook. You can give it a try without any installations using our binder port.
Models can be downloaded from these links: - pix2vertex model - dlib landmark predictor - note that the dlib model has its own license.
If no model path is specified the package automagically downloads the required models.
If you use this code for your research, please cite our paper Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation:
@article{sela2017unrestricted, title={Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation}, author={Sela, Matan and Richardson, Elad and Kimmel, Ron}, journal={arxiv}, year={2017} }