3DIAS: 3D Shape Reconstruction with Implicit Algebraic Surfaces (ICCV 2021)

Overview

3DIAS_Pytorch

This repository contains the official code to reproduce the results from the paper:

3DIAS: 3D Shape Reconstruction with Implicit Algebraic Surfaces (ICCV 2021)

[project page] [arXiv]

Installation

Clone this repository into any place you want.

git clone https://github.com/myavartanoo/3DIAS_PyTorch.git
cd 3DIAS_Pytorch

Dependencies

  • Python 3.8.5
  • PyTorch 1.7.1
  • numpy
  • Pillow
  • open3d
  • PyMCubes (or build this repo)

Install dependencies in a conda environment.

conda create -n 3dias python=3.8
conda activate 3dias

pip install -r requirements.txt

Pretrained model

Download config.json and checkpoint-epoch#.pth from below links and save in weigths folder. Note that we get Multi-class weight by training with all-classes and Single-class weight by training with each class

Multi-class

Dropbox or Mirror

Single-class

To download all the single-class weigths, run

sh download_weights.sh

Or you can get the weights one-by-one.

airplane / bench / cabinet / car / chair / display / lamp / speaker / rifle / sofa / table / phone / vessel

Quickstart (Demo)

You can now test our demo code on the provided input images in the input folder. (Or you can use other images in shapeNet.) To this end, simply run,

.png" --config "./weights/config.json" --resume "./weights/checkpoint-epoch890.pth" ">
CUDA_VISIBLE_DEVICES=0 python demo.py --inputimg "./input/
    
     .png" --config "./weights/config.json" --resume "./weights/checkpoint-epoch890.pth" 

    

The result meshes are saved in output folder. (We've created a few example meshes)

  • total.ply is a whole mesh
  • parts_.ply are meshes for parts To see the mesh, you can use meshlab

If you want to visualize meshes with open3d, run with --visualize option as below.

.png" --config "./weights/config.json" --resume "./weights/checkpoint-epoch890.pth" --visualize ">
CUDA_VISIBLE_DEVICES=0 python demo.py --inputimg "./input/
    
     .png" --config "./weights/config.json" --resume "./weights/checkpoint-epoch890.pth" --visualize

    

The preprocessed dataset, training, testing code will be distributed soon.

Citation

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

@inproceedings{3DIAS,
    title = {3DIAS: 3D Shape Reconstruction with Implicit Algebraic Surfaces},
    author = {Mohsen Yavartanoo, JaeYoung Chung, Reyhaneh Neshatavar, Kyoung Mu Lee},
    booktitle = {Proceedings IEEE Conf. on International Conference on Computer Vision (ICCV)},
    year = {2021}
}
Owner
Mohsen Yavartanoo
I am a master student at Seoul National University. My research interest is, Computer Vision, Deep Learning, 3D Objection Recognition, 3D Object Detection.
Mohsen Yavartanoo
MDMM - Learning multi-domain multi-modality I2I translation

Multi-Domain Multi-Modality I2I translation Pytorch implementation of multi-modality I2I translation for multi-domains. The project is an extension to

Hsin-Ying Lee 107 Nov 04, 2022
Pytorch tutorials for Neural Style transfert

PyTorch Tutorials This tutorial is no longer maintained. Please use the official version: https://pytorch.org/tutorials/advanced/neural_style_tutorial

Alexis David Jacq 135 Jun 26, 2022
Distributed Asynchronous Hyperparameter Optimization in Python

Hyperopt: Distributed Hyperparameter Optimization Hyperopt is a Python library for serial and parallel optimization over awkward search spaces, which

6.5k Jan 01, 2023
Multi-Scale Progressive Fusion Network for Single Image Deraining

Multi-Scale Progressive Fusion Network for Single Image Deraining (MSPFN) This is an implementation of the MSPFN model proposed in the paper (Multi-Sc

Kuijiang 128 Nov 21, 2022
Code for "Training Neural Networks with Fixed Sparse Masks" (NeurIPS 2021).

Fisher Induced Sparse uncHanging (FISH) Mask This repo contains the code for Fisher Induced Sparse uncHanging (FISH) Mask training, from "Training Neu

Varun Nair 37 Dec 30, 2022
Software Platform for solving and manipulating multiparametric programs in Python

PPOPT Python Parametric OPtimization Toolbox (PPOPT) is a software platform for solving and manipulating multiparametric programs in Python. This pack

10 Sep 13, 2022
Beancount-mercury - Beancount importer for Mercury Startup Checking

beancount-mercury beancount-mercury provides an Importer for converting CSV expo

Michael Lynch 4 Oct 31, 2022
Official implementation for the paper: Permutation Invariant Graph Generation via Score-Based Generative Modeling

Permutation Invariant Graph Generation via Score-Based Generative Modeling This repo contains the official implementation for the paper Permutation In

64 Dec 29, 2022
Code release for Local Light Field Fusion at SIGGRAPH 2019

Local Light Field Fusion Project | Video | Paper Tensorflow implementation for novel view synthesis from sparse input images. Local Light Field Fusion

1.1k Dec 27, 2022
Custom TensorFlow2 implementations of forward and backward computation of soft-DTW algorithm in batch mode.

Batch Soft-DTW(Dynamic Time Warping) in TensorFlow2 including forward and backward computation Custom TensorFlow2 implementations of forward and backw

19 Aug 30, 2022
Distributed Evolutionary Algorithms in Python

DEAP DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas. It seeks to make algorithms explicit and data stru

Distributed Evolutionary Algorithms in Python 4.9k Jan 05, 2023
[CVPR2021] DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datasets

DoDNet This repo holds the pytorch implementation of DoDNet: DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datase

116 Dec 12, 2022
WaveFake: A Data Set to Facilitate Audio DeepFake Detection

WaveFake: A Data Set to Facilitate Audio DeepFake Detection This is the code repository for our NeurIPS 2021 (Track on Datasets and Benchmarks) paper

Chair for Sys­tems Se­cu­ri­ty 27 Dec 22, 2022
small collection of functions for neural networks

neurobiba other languages: RU small collection of functions for neural networks. very easy to use! Installation: pip install neurobiba See examples h

4 Aug 23, 2021
[CVPR2021] De-rendering the World's Revolutionary Artefacts

De-rendering the World's Revolutionary Artefacts Project Page | Video | Paper In CVPR 2021 Shangzhe Wu1,4, Ameesh Makadia4, Jiajun Wu2, Noah Snavely4,

49 Nov 06, 2022
Fast, accurate and reliable software for algebraic CT reconstruction

KCT CBCT Fast, accurate and reliable software for algebraic CT reconstruction. This set of software tools includes OpenCL implementation of modern CT

Vojtěch Kulvait 4 Dec 14, 2022
HyperPose is a library for building high-performance custom pose estimation applications.

HyperPose is a library for building high-performance custom pose estimation applications.

TensorLayer Community 1.2k Jan 04, 2023
Predict bus arrival time using VertexAI and Nvidia's Jetson Nano

bus_prediction predict bus arrival time using VertexAI and Nvidia's Jetson Nano imagenet the command for imagenet.py look like this python3 /path/to/i

10 Dec 22, 2022
A simple approach to emable dense segmentation with ViT.

Vision Transformer Segmentation Network This implementation of ViT in pytorch uses a super simple and straight-forward way of generating an output of

HReynaud 5 Jan 03, 2023
Context-Aware Image Matting for Simultaneous Foreground and Alpha Estimation

Context-Aware Image Matting for Simultaneous Foreground and Alpha Estimation This is the inference codes of Context-Aware Image Matting for Simultaneo

Qiqi Hou 125 Oct 22, 2022