All Projects → xcyan → Nips16_ptn

xcyan / Nips16_ptn

Licence: mit
Torch Implementation of NIPS'16 paper: Perspective Transformer Nets

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Nips16 ptn

Assetkit
🎨 Modern 2D/3D - Importer • Exporter • Util - Library, also called (AssetIO)
Stars: ✭ 97 (-23.02%)
Mutual labels:  3d-graphics, 3d-models
Arkit Unity3d
Access ARKit features like world-tracking, live video rendering, plane estimation and updates, hit-testing API, ambient light estimation, and raw point cloud data.
Stars: ✭ 124 (-1.59%)
Mutual labels:  3d-graphics, 3d-models
Uranium
A Python framework for building Desktop applications.
Stars: ✭ 210 (+66.67%)
Mutual labels:  3d-graphics, 3d-models
HxSTLParser
Basic STL loader for SceneKit
Stars: ✭ 23 (-81.75%)
Mutual labels:  3d-graphics, 3d-models
Curated List Of Awesome 3d Morphable Model Software And Data
The idea of this list is to collect shared data and algorithms around 3D Morphable Models. You are invited to contribute to this list by adding a pull request. The original list arised from the Dagstuhl seminar on 3D Morphable Models https://www.dagstuhl.de/19102 in March 2019.
Stars: ✭ 375 (+197.62%)
Mutual labels:  3d-graphics, 3d-models
Tf flame
Tensorflow framework for the FLAME 3D head model. The code demonstrates how to sample 3D heads from the model, fit the model to 2D or 3D keypoints, and how to generate textured head meshes from Images.
Stars: ✭ 193 (+53.17%)
Mutual labels:  3d-graphics, 3d-models
Procedural-Terrain-Generator-OpenGL
Procedural terrain generator with tessellation | C++ OpenGL 4.1
Stars: ✭ 98 (-22.22%)
Mutual labels:  3d-graphics, 3d-models
Flame pytorch
This is a implementation of the 3D FLAME model in PyTorch
Stars: ✭ 153 (+21.43%)
Mutual labels:  3d-graphics, 3d-models
StickMan-3D
StickMan 3D: First Round | indie fighting game | C++ OpenGL
Stars: ✭ 60 (-52.38%)
Mutual labels:  3d-graphics, 3d-models
PolyDraw
✳️ PTSource PolyDraw is a free 3D polygonal modeller for Windows x86 and x64, for creating or modifying 3D objects using a mesh of 3D points and parametric NURBS Curves .Exports and imports to over 40 formats including WebVR and 3D Printing.
Stars: ✭ 17 (-86.51%)
Mutual labels:  3d-graphics, 3d-models
WalkTheWeb
WalkTheWeb 3D Internet - Metaverse - Multiverse - Host your own multiplayer Metaverse of 3D Games, 3D Shopping, and 3D Scenes!
Stars: ✭ 28 (-77.78%)
Mutual labels:  3d-graphics, 3d-models
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (+253.17%)
Mutual labels:  3d-graphics, 3d-models
Openscad
OpenSCAD - The Programmers Solid 3D CAD Modeller
Stars: ✭ 4,444 (+3426.98%)
Mutual labels:  3d-graphics, 3d-models
Pyntcloud
pyntcloud is a Python library for working with 3D point clouds.
Stars: ✭ 919 (+629.37%)
Mutual labels:  3d-graphics, 3d-models
Renderer
A shader-based software renderer written from scratch in C89
Stars: ✭ 1,366 (+984.13%)
Mutual labels:  3d-graphics
Meshview
Performant 3D mesh viewer written in Go.
Stars: ✭ 110 (-12.7%)
Mutual labels:  3d-graphics
Engine
Go 3D Game Engine
Stars: ✭ 1,362 (+980.95%)
Mutual labels:  3d-graphics
Nebularender
A powerful physically based renderer with a fully featured editor.
Stars: ✭ 119 (-5.56%)
Mutual labels:  3d-graphics
Densepoint
DensePoint: Learning Densely Contextual Representation for Efficient Point Cloud Processing (ICCV 2019)
Stars: ✭ 110 (-12.7%)
Mutual labels:  3d-graphics
Human Pose Estimation
This repository implements a demo of the Human pose estimation via Convolutional Part Heatmap Regression paper.
Stars: ✭ 98 (-22.22%)
Mutual labels:  torch7

Perspective Transformer Nets (PTN)

This is the code for NIPS 2016 paper Perspective Transformer Nets: Learning Single-View 3D Object Reconstruction without 3D Supervision by Xinchen Yan, Jimei Yang, Ersin Yumer, Yijie Guo and Honglak Lee

Please follow the instructions to run the code.

Requirements

PTN requires or works with

  • Mac OS X or Linux
  • NVIDIA GPU

Installing Dependency

The following command installs the Perspective Transformer Layer:

./install_ptnbhwd.sh

Dataset Downloading

  • Please run the command to download the pre-processed dataset (including rendered 2D views and 3D volumes):
./prepare_data.sh

Pre-trained Models Downloading (single-class experiment)

PTN-Proj: ptn_proj.t7

PTN-Comb: ptn_comb.t7

CNN-Vol: cnn_vol.t7

  • The following command downloads the pre-trained models:
./download_models.sh

Testing using Pre-trained Models (single-class experiment)

  • The following command evaluates the pre-trained models:
./eval_models.sh

Training (single-class experiment)

  • If you want to pre-train the view-point indepedent image encoder on single-class, please run the following command. Note that the pre-training could take a few days on a single TITAN X GPU.
./demo_pretrain_singleclass.sh
  • If you want to train PTN-Proj (unsupervised) on single-class based on pre-trained encoder, please run the command.
./demo_train_ptn_proj_singleclass.sh
  • If you want to train PTN-Comb (3D supervision) on single-class based on pre-trained encoder, please run the command.
./demo_train_ptn_comb_singleclass.sh
  • If you want to train CNN-Vol (3D supervision) on single-class based on pre-trained encoder, please run the command.
./demo_train_cnn_vol_singleclass.sh

Using your own camera

  • In many cases, you want to implement your own camera matrix (e.g., intrinsic or extrinsic). Please feel free to modify this function.

  • Before start your own implementation, we recommand to go through some basic camera geometry in this computer vision textbook written by Richard Szeliski (see Eq 2.59 at Page 53).

  • Note that in our voxel ray-tracing implementation, we used the inverse camera matrix.

Third-party Implementation

Besides our torch implementation, we recommend to see also the following third-party re-implementation:

  • TensorFlow Implementation: This re-implementation was developed during Xinchen's Google internship; If you find a bug, please file a bug including @xcyan.

Citation

If you find this useful, please cite our work as follows:

@incollection{NIPS2016_6206,
title = {Perspective Transformer Nets: Learning Single-View 3D Object Reconstruction without 3D Supervision},
author = {Yan, Xinchen and Yang, Jimei and Yumer, Ersin and Guo, Yijie and Lee, Honglak},
booktitle = {Advances in Neural Information Processing Systems 29},
editor = {D. D. Lee and M. Sugiyama and U. V. Luxburg and I. Guyon and R. Garnett},
pages = {1696--1704},
year = {2016},
publisher = {Curran Associates, Inc.},
url = {http://papers.nips.cc/paper/6206-perspective-transformer-nets-learning-single-view-3d-object-reconstruction-without-3d-supervision.pdf}
}
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].