All Projects → eladrich → Pix2vertex.pytorch

eladrich / Pix2vertex.pytorch

Licence: mit
An official pyTorch port of the pix2vertex paper from ICCV2017

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pix2vertex.pytorch

Kintinuous
Real-time large scale dense visual SLAM system
Stars: ✭ 740 (+421.13%)
Mutual labels:  reconstruction
Meshroom2blender
Blender importer of meshroom datafiles: cameras, images, sparse pointcloud and obj's.
Stars: ✭ 82 (-42.25%)
Mutual labels:  reconstruction
Adversarialtexture
Adversarial Texture Optimization from RGB-D Scans (CVPR 2020).
Stars: ✭ 124 (-12.68%)
Mutual labels:  reconstruction
Deepmri
The code for paper 'DeepcomplexMRI: Exploiting deep residual network for fast parallel MR imaging with complex convolution'
Stars: ✭ 25 (-82.39%)
Mutual labels:  reconstruction
Pixel2mesh
Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images. In ECCV2018.
Stars: ✭ 997 (+602.11%)
Mutual labels:  reconstruction
Awesome Visual Slam
📚 The list of vision-based SLAM / Visual Odometry open source, blogs, and papers
Stars: ✭ 1,336 (+840.85%)
Mutual labels:  reconstruction
All About The Gan
All About the GANs(Generative Adversarial Networks) - Summarized lists for GAN
Stars: ✭ 630 (+343.66%)
Mutual labels:  reconstruction
Local Feature Evaluation
Comparative Evaluation of Hand-Crafted and Learned Local Features
Stars: ✭ 138 (-2.82%)
Mutual labels:  reconstruction
Fairroot
C++ simulation, reconstruction and analysis framework for particle physics experiments
Stars: ✭ 41 (-71.13%)
Mutual labels:  reconstruction
Motsfusion
MOTSFusion: Track to Reconstruct and Reconstruct to Track
Stars: ✭ 118 (-16.9%)
Mutual labels:  reconstruction
Reconstruct
👷 Iterate over properties and merge them into a new object.
Stars: ✭ 11 (-92.25%)
Mutual labels:  reconstruction
Bundlefusion
[Siggraph 2017] BundleFusion: Real-time Globally Consistent 3D Reconstruction using Online Surface Re-integration
Stars: ✭ 979 (+589.44%)
Mutual labels:  reconstruction
Uav Mapper
UAV-Mapper is a lightweight UAV Image Processing System, Visual SFM reconstruction or Aerial Triangulation, Fast Ortho-Mosaic, Plannar Mosaic, Fast Digital Surface Map (DSM) and 3d reconstruction for UAVs.
Stars: ✭ 106 (-25.35%)
Mutual labels:  reconstruction
Kimera Vio
Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
Stars: ✭ 741 (+421.83%)
Mutual labels:  reconstruction
Awesome Gan For Medical Imaging
Awesome GAN for Medical Imaging
Stars: ✭ 1,814 (+1177.46%)
Mutual labels:  reconstruction
Extreme 3d faces
Extreme 3D Face Reconstruction: Looking Past Occlusions
Stars: ✭ 653 (+359.86%)
Mutual labels:  reconstruction
Elasticfusion
Real-time dense visual SLAM system
Stars: ✭ 1,298 (+814.08%)
Mutual labels:  reconstruction
Synthesize3dviadepthorsil
[CVPR 2017] Generation and reconstruction of 3D shapes via modeling multi-view depth maps or silhouettes
Stars: ✭ 141 (-0.7%)
Mutual labels:  reconstruction
Sigpy
Python package for signal processing, with emphasis on iterative methods
Stars: ✭ 132 (-7.04%)
Mutual labels:  reconstruction
Singleviewreconstruction
Official Code: 3D Scene Reconstruction from a Single Viewport
Stars: ✭ 110 (-22.54%)
Mutual labels:  reconstruction

Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation - Official PyTorch Implementation

Binder PyPI version License: MIT

[Arxiv] [Video]

Evaluation code for Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation. Finally ported to PyTorch!

Recent Updates

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

What's in this 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 PyTorch and a simple python postprocessing scheme.

  • The released network was trained on a combination of synthetic images and unlabeled real images for some extra robustness :)

Installation

Installation from PyPi

    $ pip install pix2vertex

Installation from source

    $ git clone https://github.com/eladrich/pix2vertex.pytorch.git
    $ cd pix2vertex.pytorch
    $ python setup.py install

Usage

The quickest way to try p2v is using the reconstruct method over an input image, followed by visualization or STL creation.

 import pix2vertex as p2v
 from imageio import imread

 image = imread(<some image file>)
 result, crop = p2v.reconstruct(image)

# Interactive visualization in a notebook
 p2v.vis_depth_interactive(result['Z_surface'])

# Static visualization using matplotlib
p2v.vis_depth_matplotlib(crop, result['Z_surface'])

# Export to STL
p2v.save2stl(result['Z_surface'], 'res.stl')

For a more complete example see the reconstruct_pipeline notebook. You can give it a try without any installations using our binder port.

Pretrained Model

Models can be downloaded from these links:

If no model path is specified the package automagically downloads the required models.

TODOs

  • [x] Port Torch model to PyTorch
  • [x] Release an inference notebook (using K3D)
  • [x] Add requirements
  • [x] Pack as wheel
  • [x] Ported to MyBinder
  • [x] Add a simple method to export a stl file for printing
  • [ ] Port the Shape-from-Shading method used in our matlab paper
  • [ ] Write a short blog about the revised training scheme

Citation

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}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].