All Projects → nywang16 → Pixel2mesh

nywang16 / Pixel2mesh

Licence: apache-2.0
Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images. In ECCV2018.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pixel2mesh

Deca
DECA: Detailed Expression Capture and Animation
Stars: ✭ 292 (-70.71%)
Mutual labels:  3d, reconstruction
Prnet
Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network (ECCV 2018)
Stars: ✭ 4,479 (+349.25%)
Mutual labels:  3d, reconstruction
Easy3d
A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
Stars: ✭ 383 (-61.58%)
Mutual labels:  mesh, reconstruction
Dicomtomesh
A command line tool to transform a DICOM volume into a 3d surface mesh (obj, stl or ply). Several mesh processing routines can be enabled, such as mesh reduction, smoothing or cleaning. Works on Linux, OSX and Windows.
Stars: ✭ 191 (-80.84%)
Mutual labels:  3d, mesh
Sdf
Simple SDF mesh generation in Python
Stars: ✭ 683 (-31.49%)
Mutual labels:  3d, mesh
Delatin
A fast JavaScript terrain mesh generation tool based on Delaunay triangulation
Stars: ✭ 207 (-79.24%)
Mutual labels:  3d, mesh
Open3d
Open3D: A Modern Library for 3D Data Processing
Stars: ✭ 5,860 (+487.76%)
Mutual labels:  3d, reconstruction
Hole fixer
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
Stars: ✭ 165 (-83.45%)
Mutual labels:  3d, mesh
Extreme 3d faces
Extreme 3D Face Reconstruction: Looking Past Occlusions
Stars: ✭ 653 (-34.5%)
Mutual labels:  3d, reconstruction
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (-42.13%)
Mutual labels:  3d, reconstruction
Pixel2meshplusplus
Pixel2Mesh++: Multi-View 3D Mesh Generation via Deformation. In ICCV2019.
Stars: ✭ 188 (-81.14%)
Mutual labels:  3d, mesh
Vedo
A python module for scientific analysis of 3D objects based on VTK and numpy
Stars: ✭ 741 (-25.68%)
Mutual labels:  3d, mesh
Meshlab
The open source mesh processing system
Stars: ✭ 2,619 (+162.69%)
Mutual labels:  3d, mesh
Volumetriccapture
A multi-sensor capture system for free viewpoint video.
Stars: ✭ 243 (-75.63%)
Mutual labels:  3d, reconstruction
3d Iwgan
A repository for the paper "Improved Adversarial Systems for 3D Object Generation and Reconstruction".
Stars: ✭ 166 (-83.35%)
Mutual labels:  3d, reconstruction
Hmm
Heightmap meshing utility.
Stars: ✭ 403 (-59.58%)
Mutual labels:  3d, mesh
Building Blocks
A voxel library for real-time applications.
Stars: ✭ 140 (-85.96%)
Mutual labels:  3d, mesh
Synthesize3dviadepthorsil
[CVPR 2017] Generation and reconstruction of 3D shapes via modeling multi-view depth maps or silhouettes
Stars: ✭ 141 (-85.86%)
Mutual labels:  3d, reconstruction
Vrn
👨 Code for "Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression"
Stars: ✭ 4,391 (+340.42%)
Mutual labels:  3d, reconstruction
Pyvista
3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
Stars: ✭ 734 (-26.38%)
Mutual labels:  3d, mesh

Pixel2Mesh

This repository contains the TensorFlow implementation for the following paper

Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images (ECCV2018)

Nanyang Wang, Yinda Zhang, Zhuwen Li, Yanwei Fu, Wei Liu, Yu-Gang Jiang.

The code is based on the gcn framework.

Citation

If you use this code for your research, please consider citing:

@inProceedings{wang2018pixel2mesh,
  title={Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images},
  author={Nanyang Wang and Yinda Zhang and Zhuwen Li and Yanwei Fu and Wei Liu and Yu-Gang Jiang},
  booktitle={ECCV},
  year={2018}
}

Try it on Colab

Installing all the dependencies might be tricky and you need a computer with a CUDA enabled GPU. To get started fast you can just try this demo developed by Mathias Gatti using Google Colab.

Open In Colab

Project Page

The project page is available at https://nywang16.github.io/p2m/index.html

Dependencies

Requirements:

Our code has been tested with Python 2.7, TensorFlow 1.3.0, TFLearn 0.3.2, CUDA 8.0 on Ubuntu 14.04.

News

  • Nov. 8, we update the script for generate auxiliary data.

Running the demo

git clone https://github.com/nywang16/Pixel2Mesh.git
cd Data/

Download the pre-trained model and unzip to the Data/ folder.

unzip checkpoint.zip

Reconstructing shapes

python demo.py --image Data/examples/plane.png

Run the demo code and the output mesh file is saved in Data/examples/plane.obj

Input image, output mesh

Installation

If you use CD and EMD for training or evaluation, we have included the cuda implementations of Fan et. al. in external/

cd Pixel2Mesh/external/

Modify the first 3 lines of the makefile to point to your nvcc, cudalib and tensorflow library.

make

Dataset

We used the ShapeNet dataset for 3D models, and rendered views from 3D-R2N2: When using the provided data make sure to respect the shapenet license.

Below is the complete set of training data. Download it into the Data/ folder.

https://drive.google.com/open?id=131dH36qXCabym1JjSmEpSQZg4dmZVQid

The training/testing split can be found in Data/train_list.txt and Data/test_list.txt

Each .dat file in the provided data contain:

  • The sampled point cloud (with vertex normal) from ShapeNet. We transformed it to corresponding coordinates in camera coordinate based on camera parameters from the Rendering Dataset.

Input image, ground truth point cloud. label

Training

python train.py

You can change the training data, learning rate and other parameters by editing train.py

The total number of training epoch is 30; the learning rate is initialized as 3e-5 and drops to 1e-5 after 25 epochs.

Evaluation

The evaluation code was released, please refer to eval_testset.py for more details.

Notice that the 3D shape are downscaled by a factor of 0.57 to generate rendering. As result, all the numbers shown in experiments used 0.57xRaw Shape for evaluation. This scale may be related to the render proccess, we used the rendering data from 3DR2N2 paper, and this scale was there since then for reason that we don't know.

Statement

This software is for research purpose only. Please contact us for the licence of commercial purposes. All rights are preserved.

Contact

Nanyang Wang (nywang16 AT fudan.edu.cn)

Yinda Zhang (yindaz AT cs.princeton.edu)

Zhuwen Li (lzhuwen AT gmail.com)

Yanwei Fu (yanweifu AT fudan.edu.cn)

Yu-Gang Jiang (ygj AT fudan.edu.cn)

License

Apache License version 2.0

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].