GithubHelp home page GithubHelp logo

cnsystem / xnocs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from drsrinathsridhar/xnocs

0.0 0.0 0.0 611 KB

Multiview Aggregation for Learning Category-Specific Shape Reconstruction, NeurIPS 2019

Python 99.26% Shell 0.74%

xnocs's Introduction

Multiview Aggregation for Learning Category-Specific Shape Reconstruction

NeurIPS 2019

Srinath Sridhar1, Davis Rempe1, Julien Valentin2, Sofien Bouaziz2, Leonidas J. Guibas1,3
1Stanford University, 2Google Inc., 3Facebook AI Research

NOCS Teaser

About

This repository contains the code and datasets for the NeurIPS 2019 paper Multiview Aggregation for Learning Category-Specific Shape Reconstruction. If you use the code or datasets please cite our paper.

@InProceedings{xnocs_sridhar2019,
author = {Sridhar, Srinath and Rempe, Davis and Valentin, Julien and Bouaziz, Sofien and Guibas, Leonidas J.},
title = {Multiview Aggregation for Learning Category-Specific Shape Reconstruction},
  booktitle={Advances in Neural Information Processing Systems (NeurIPS)},
  year={2019}
}

Code

1. Download and install the following required packages. We only support Python 3.5+.

  • PyTorch 1.0+ (see the PyTorch website for installation instructions)
  • numpy>=1.15.4
  • opencv-python<=3.2.0.8
  • matplotlib
  • palettable (pip install palettable)
  • tk3dv (pip install git+https://github.com/drsrinathsridhar/tk3dv.git)

2. Download the datasets (see below for details)

Note: The training code can automatically download the ShapeNetCOCO dataset. Please see the dataset readme for more details.

3. Download the trained weights

These are weights trained on the ShapeNetCOCO dataset and reported in Table 2 in the paper.

4. Sample code

The main training and evaluation code is noxray/nxm/nxm.py for the single-view network and noxray/mv_nxm.py

To train the single-view network on the cars category in ShapeNetCOCO, use this command:

python nxm.py --mode train --input-dir <BASE DATASET DIR> --output-dir <BASE OUTPUT DIR> --expt-name XNOCS_SV --category cars --arch SegNetSkip --seed 0 --data-limit <SKIP THIS TO USE FULL DATA> --val-data-limit <SKIP THIS TO USE FULL DATA>

You can also load the above config from a file using the @ seperator. Note: in the paper we use --learning-rate 0.0001 and --batch-size 1. The code is not well-tested with larger batch sizes and there have been reported issues with doing so. For reference, when using the ShapeNetPlain dataset in the paper we train for --epochs 100 which takes just over 1 day for both the Cars and Airplanes categories (NVIDIA V100 GPU). Training on ShapeNetCOCO is considerably slower.

To evaluate the network and write the output images, use this command:

python nxm.py --mode val --input-dir <BASE DATASET DIR> --output-dir <BASE OUTPUT DIR> --expt-name XNOCS_SV --category cars --arch SegNetSkip --seed 0 --test-samples 1000000

Note: the batch size is currently hard-coded to 1 for evaluation.

The multi-view network commands are very similar to the above.

Datasets

We provide two datasets: ShapeNetCOCO and ShapeNetPlain. ShapeNetCOCO is the primary dataset of which we demonstrate reconstruction results. ShapeNetPlain is the dataset we use for comparison with 3D-R2N2 and DPC.

Please see the dataset readme for more details.

Contact

Srinath Sridhar ([email protected])

xnocs's People

Contributors

davrempe avatar drsrinathsridhar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.