Giter VIP home page Giter VIP logo

alto's Introduction

ALTO: Alternating Latent Topologies for Implicit 3D Reconstruction

Paper | Project Page

This repository contains the implementation of the paper:

ALTO: Alternating Latent Topologies for Implicit 3D Reconstruction

If you find our code or paper useful, please consider citing

@inproceedings{Wang2023CVPR,
    title = {ALTO: Alternating Latent Topologies for Implicit 3D Reconstruction},
    author = {Wang, Zhen and Zhou, Shijie and Park, Jeong Joon and Paschalidou, Despoina and You, Suya and Wetzstein, Gordon and Guibas, Leonidas and Kadambi, Achuta},
    booktitle = {Proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)},
    year = {2023}
}

Installation

You can create an anaconda environment called alto using

conda env create -f environment.yaml
conda activate alto

Note: you might need to install torch-scatter mannually following the official instruction:

pip install torch-scatter==2.0.4 -f https://pytorch-geometric.com/whl/torch-1.4.0+cu101.html

Next, compile the extension modules. You can do this via

python setup.py build_ext --inplace

Dataset

In this paper, we consider 3 different datasets:

Synthetic Indoor Scene Dataset

You can download the preprocessed data (144 GB) using

bash scripts/download_data.sh

This script should download and unpack the data automatically into the data/synthetic_room_dataset folder.

ShapeNet

You can download the dataset (73.4 GB) by running the script from Occupancy Networks. After, you should have the dataset in data/ShapeNet folder.

ScanNet

Download ScanNet v2 data from the official ScanNet website. Then, you can preprocess data with: scripts/dataset_scannet/build_dataset.py and put into data/ScanNet folder.

Experiments

Training

To train a network, run:

python train.py CONFIG.yaml

For available training options, please take a look at configs/default.yaml.

Note: We implement the code in a multiple-GPU version. Please make sure to call the right version of our encoder at Line 99 for feature triplane or Line 100 for feature volume in train.py.

Mesh Generation

To generate meshes using a trained model, use

python generate.py CONFIG.yaml

where you replace CONFIG.yaml with the correct config file.

Evaluation

For evaluation of the models, we provide the script eval_meshes.py. You can run it using:

python eval_meshes.py CONFIG.yaml

The script takes the meshes generated in the previous step and evaluates them using a standardized protocol. The output will be written to .pkl/.csv files in the corresponding generation folder which can be processed using pandas.

Acknowledgement

The code is largely based on ConvONet. Many thanks to the authors for opensourcing the codebase.


Pretrained models

ShapeNet 3k

Synthetic Room 10k

alto's People

Contributors

wzhen1 avatar

Stargazers

Ling Tong avatar 박재형 avatar  avatar Zhaiyu Chen avatar Jean-Philippe Deblonde avatar 张志鸿(zhang zhihong) avatar Zhu Junwei avatar Sanskar Agrawal avatar Han Xu avatar  avatar  avatar Ignat Penshin avatar 余乔(Qiao Yu) avatar Anonymous avatar  avatar Qiujie (Jay) Dong avatar  avatar zianggu avatar Gyeongsu avatar  avatar

Watchers

 avatar

alto's Issues

Pretrained model

Did you release your pretrained model? I cannot find it in this repo. Thank you.

Ground truth mesh for Synthetic Room dataset

Hello,

First off, thanks for the great work on this!

I've been looking for the GT mesh of synthetic room dataset (in either *.obj or *.ply format), but I couldn't find it in the dataset shared by the ConvONet authors.
Could you let me know where you sourced the GT meshes and how I might be able to access them?

Thanks in advance!

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.