Coder Social home page Coder Social logo

extrudenet's Introduction

ExtrudeNet

(This repo is still under construction. If you face any problem, feel free to open an issue.)

The official implementation of ExtrudeNet: Unsupervised Inverse Sketch-and-Extrude for Shape Parsing

Paper and Project Page are comming soon.

Citation

If you find our work interesting and benifits your research, please consider citing:

@inproceedings{ren2022extrude,
	title = {ExtrudeNet: Unsupervised Inverse Sketch-and-Extrude for Shape Parsing},
	author = {Ren, Daxuan and Zheng, Jianmin and Cai, Jianfei and Li, Jiatong and Zhang, Junzhe},
	booktitle = {ECCV},
	year = {2022}}

Setup

Install envoriment:

We recommand using Anaconda to set the envoriment, once Anacodna in installed, run the following command.

conda create --name ExtrudeNet python=3.7
conda activate ExtrudeNet
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
conda install -c open3d-admin open3d
conda install numpy
conda install pymcubes
conda install tensorboard
conda install scipy
pip install tqdm

Dataset

As the processed dataset is extreamly large, we cannot provide a ready to download dataset. To prepare the dataset:

  1. Download ShapeNet dataset (remember to agree their EULA)

    mkdir data
    cd data
    wget http://shapenet.cs.stanford.edu/shapenet/obj-zip/ShapeNetCore.v1.zip
    
  2. unzip the desired category for example Plane (02691156)

    unzip ShapeNetCore.v1.zip
    cd ShapeNetCore.v1
    unzip 02691156.zip
    
  3. Build "watertight" and add it to PATH

    cd ../../
    git clone https://github.com/skanti/generate-watertight-meshes-and-sdf-grids.git
    cd generate-watertight-meshes-and-sdf-grids
    mkdir build
    cd build
    cmake ..
    make -j
    export PATH=$PATH:`pwd`
    
  4. Build triangle hash

    cd datasets
    python setup.py install
    
  5. Edit the categories you want to run in the pre-processing script and run it

    vim preprocess.py
    python preprocess.py
    

Train the model

python train.py --config_path ./configs/plane.json

Eval the model

python eval.py --config_path ./configs/plane.json

Evaluation

python metrics.py --config_path ./configs/plane.json

License

This project is licensed under the terms of the MIT license (see LICENSE for details).

extrudenet's People

Contributors

bigkoki avatar kimren227 avatar

Stargazers

 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.