Code for DeepCurrents: Learning Implicit Representations of Shapes with Boundaries

Overview

DeepCurrents | Webpage | Paper

DeepCurrents

DeepCurrents: Learning Implicit Representations of Shapes with Boundaries
David Palmer*, Dmitriy Smirnov*, Stephanie Wang, Albert Chern, Justin Solomon

Set-up

To install the neecssary dependencies, run:

conda env create -f environment.yml
conda activate DeepCurrents

Training

To prepare the training dataset, first download and extract the FAUST human body meshes:

wget -O faust.tar.gz https://www.dropbox.com/s/jgm6hfif6evpi2b/faust.tar.gz?dl=0
tar -xvf faust.tar.gz

Then, preprocess the mesh segmentations:

./scripts/generate_data.sh

To overfit to a single mesh, run:

python scripts/train_reconstruction.py --data data/category --idx i --out out_dir

You should specify one of heads, torsos, arms, forearms, hands, or feet as category, and indicate an index between 0 and 99 as i to pick a mesh from the dataset.

To learn a minimal serfice, run:

python scripts/train_minimal.py --boundary boundary_config --idx i --out out_dir

Specify the boundary configuration boundary_config as either hopf, borromean, or trefoil.

To train a latent model, run:

python scripts/train_latent.py --data data/category --out out_dir

You should specify one of heads, torsos, arms, forearms, hands, or feet as category.

To monitor the training, launch a TensorBoard instance with --logdir out_dir.

Visualization

To render a turntable GIF from an overfit reconstruction or minimal surface model, run:

python scripts/render_current.py --infile out/model/it.pth --outfile out.gif

out/model/it.pth should be the checkpoint of a trained model.

To render a linear interpolation in boundary or latent space, run:

python scripts/render_interpolation.py --infile out/model/it.pth --outfile out.gif --data data/category --interpolation_type interpolation_type

out/model/it.pth should be the checkpoint of a trained model, and data/category the directory to the dataset used to train the model. You can choose between latent or boundary as the interpolation_type.

BibTeX

@article{palmer2021deepcurrents,
  title={{DeepCurrents}: Learning Implicit Representations of Shapes with Boundaries,
  author={Palmer, David and Smirnov, Dmitriy and Wang, Stephanie and Chern, Albert and Solomon, Justin},
  journal={arXiv:2111.09383},
  year={2021},
}
Owner
Dima Smirnov
PhD Student @ MIT CSAIL
Dima Smirnov
SmallInitEmb - LayerNorm(SmallInit(Embedding)) in a Transformer to improve convergence

SmallInitEmb LayerNorm(SmallInit(Embedding)) in a Transformer I find that when t

PENG Bo 11 Dec 25, 2022
Multi Camera Calibration

Multi Camera Calibration 'modules/camera_calibration/app/camera_calibration.cpp' is for calculating extrinsic parameter of each individual cameras. 'm

7 Dec 01, 2022
Neural-Pull: Learning Signed Distance Functions from Point Clouds by Learning to Pull Space onto Surfaces(ICML 2021)

Neural-Pull: Learning Signed Distance Functions from Point Clouds by Learning to Pull Space onto Surfaces(ICML 2021) This repository contains the code

149 Dec 15, 2022
Code for NeurIPS 2021 paper 'Spatio-Temporal Variational Gaussian Processes'

Spatio-Temporal Variational GPs This repository is the official implementation of the methods in the publication: O. Hamelijnck, W.J. Wilkinson, N.A.

AaltoML 26 Sep 16, 2022
Your interactive network visualizing dashboard

Your interactive network visualizing dashboard Documentation: Here What is Jaal Jaal is a python based interactive network visualizing tool built usin

Mohit 177 Jan 04, 2023
Pytorch implementation of four neural network based domain adaptation techniques: DeepCORAL, DDC, CDAN and CDAN+E. Evaluated on benchmark dataset Office31.

Deep-Unsupervised-Domain-Adaptation Pytorch implementation of four neural network based domain adaptation techniques: DeepCORAL, DDC, CDAN and CDAN+E.

Alan Grijalva 49 Dec 20, 2022
Learning nonlinear operators via DeepONet

DeepONet: Learning nonlinear operators The source code for the paper Learning nonlinear operators via DeepONet based on the universal approximation th

Lu Lu 239 Jan 02, 2023
LIVECell - A large-scale dataset for label-free live cell segmentation

LIVECell dataset This document contains instructions of how to access the data associated with the submitted manuscript "LIVECell - A large-scale data

Sartorius Corporate Research 112 Jan 07, 2023
A high-performance anchor-free YOLO. Exceeding yolov3~v5 with ONNX, TensorRT, NCNN, and Openvino supported.

YOLOX is an anchor-free version of YOLO, with a simpler design but better performance! It aims to bridge the gap between research and industrial communities. For more details, please refer to our rep

7.7k Jan 06, 2023
Official Implementation for Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation

Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation We present a generic image-to-image translation framework, pixel2style2pixel (pSp

2.8k Dec 30, 2022
Implementation of the Point Transformer layer, in Pytorch

Point Transformer - Pytorch Implementation of the Point Transformer self-attention layer, in Pytorch. The simple circuit above seemed to have allowed

Phil Wang 501 Jan 03, 2023
MRI reconstruction (e.g., QSM) using deep learning methods

deepMRI: Deep learning methods for MRI Authors: Yang Gao, Hongfu Sun This repo is devloped based on Pytorch (1.8 or later) and matlab (R2019a or later

Hongfu Sun 17 Dec 18, 2022
Simple improvement of VQVAE that allow to generate x2 sized images compared to baseline

vqvae_dwt_distiller.pytorch Simple improvement of VQVAE that allow to generate x2 sized images compared to baseline. It allows to generate 512x512 ima

Sergei Belousov 25 Jul 19, 2022
Display, filter and search log messages in your terminal

Textualog Display, filter and search logging messages in the terminal. This project is powered by rich and textual. Some of the ideas and code in this

Rik Huygen 24 Dec 10, 2022
Generative Art Using Neural Visual Grammars and Dual Encoders

Generative Art Using Neural Visual Grammars and Dual Encoders Arnheim 1 The original algorithm from the paper Generative Art Using Neural Visual Gramm

DeepMind 231 Jan 05, 2023
Serve TensorFlow ML models with TF-Serving and then create a Streamlit UI to use them

TensorFlow Serving + Streamlit! ✨ 🖼️ Serve TensorFlow ML models with TF-Serving and then create a Streamlit UI to use them! This is a pretty simple S

Álvaro Bartolomé 18 Jan 07, 2023
MVSDF - Learning Signed Distance Field for Multi-view Surface Reconstruction

MVSDF - Learning Signed Distance Field for Multi-view Surface Reconstruction This is the official implementation for the ICCV 2021 paper Learning Sign

110 Dec 20, 2022
MAg: a simple learning-based patient-level aggregation method for detecting microsatellite instability from whole-slide images

MAg Paper Abstract File structure Dataset prepare Data description How to use MAg? Why not try the MAg_lib! Trained models Experiment and results Some

Calvin Pang 3 Apr 08, 2022
Type4Py: Deep Similarity Learning-Based Type Inference for Python

Type4Py: Deep Similarity Learning-Based Type Inference for Python This repository contains the implementation of Type4Py and instructions for re-produ

Software Analytics Lab 45 Dec 15, 2022