All Projects → elliottwu → Unsup3d

elliottwu / Unsup3d

Licence: mit
(CVPR'20 Oral) Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Images in the Wild

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Unsup3d

Transmomo.pytorch
This is the official PyTorch implementation of the CVPR 2020 paper "TransMoMo: Invariance-Driven Unsupervised Video Motion Retargeting".
Stars: ✭ 225 (-75.14%)
Mutual labels:  unsupervised-learning, cvpr
Csm
Code release for "Canonical Surface Mapping via Geometric Cycle Consistency"
Stars: ✭ 156 (-82.76%)
Mutual labels:  3d, unsupervised-learning
Spatiotemporalsegmentation
4D Spatio-Temporal Semantic Segmentation on a 3D video (a sequence of 3D scans)
Stars: ✭ 141 (-84.42%)
Mutual labels:  3d, cvpr
adareg-monodispnet
Repository for Bilateral Cyclic Constraint and Adaptive Regularization for Unsupervised Monocular Depth Prediction (CVPR2019)
Stars: ✭ 22 (-97.57%)
Mutual labels:  unsupervised-learning, cvpr
Go Tsne
t-Distributed Stochastic Neighbor Embedding (t-SNE) in Go
Stars: ✭ 153 (-83.09%)
Mutual labels:  3d, unsupervised-learning
So Net
SO-Net: Self-Organizing Network for Point Cloud Analysis, CVPR2018
Stars: ✭ 297 (-67.18%)
Mutual labels:  3d, cvpr
Vive Diy Position Sensor
Code & schematics for position tracking sensor using HTC Vive's Lighthouse system and a Teensy board.
Stars: ✭ 742 (-18.01%)
Mutual labels:  3d
Svg 3d Builder
an elaborate tool to create 3d model with svg
Stars: ✭ 803 (-11.27%)
Mutual labels:  3d
Awesome Artificial Intelligence
A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers.
Stars: ✭ 6,516 (+620%)
Mutual labels:  unsupervised-learning
Pythonocc Core
Python package for 3D CAD/BIM/PLM/CAM
Stars: ✭ 697 (-22.98%)
Mutual labels:  3d
Bagofconcepts
Python implementation of bag-of-concepts
Stars: ✭ 18 (-98.01%)
Mutual labels:  unsupervised-learning
Leaf3d
A lightweight 3D rendering engine based on modern OpenGL
Stars: ✭ 16 (-98.23%)
Mutual labels:  3d
3d Machine Learning
A resource repository for 3D machine learning
Stars: ✭ 7,405 (+718.23%)
Mutual labels:  3d
Vedo
A python module for scientific analysis of 3D objects based on VTK and numpy
Stars: ✭ 741 (-18.12%)
Mutual labels:  3d
Variational Autoencoder
Variational autoencoder implemented in tensorflow and pytorch (including inverse autoregressive flow)
Stars: ✭ 807 (-10.83%)
Mutual labels:  unsupervised-learning
Pyvista
3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
Stars: ✭ 734 (-18.9%)
Mutual labels:  3d
Veloren
[Mirror] An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World
Stars: ✭ 868 (-4.09%)
Mutual labels:  3d
Context Encoder
[CVPR 2016] Unsupervised Feature Learning by Image Inpainting using GANs
Stars: ✭ 731 (-19.23%)
Mutual labels:  unsupervised-learning
Depth
Add some Depth to your fragments
Stars: ✭ 789 (-12.82%)
Mutual labels:  3d
Cglm
📽 Highly Optimized Graphics Math (glm) for C
Stars: ✭ 887 (-1.99%)
Mutual labels:  3d

Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Images in the Wild

Demo | Project Page | Video | Paper

Shangzhe Wu, Christian Rupprecht, Andrea Vedaldi, Visual Geometry Group, University of Oxford. In CVPR 2020 (Best Paper Award).

We propose a method to learn weakly symmetric deformable 3D object categories from raw single-view images, without ground-truth 3D, multiple views, 2D/3D keypoints, prior shape models or any other supervision.

Setup (with Anaconda)

1. Install dependencies:

conda env create -f environment.yml

OR manually:

conda install -c conda-forge scikit-image matplotlib opencv moviepy pyyaml tensorboardX

2. Install PyTorch:

conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 -c pytorch

Note: The code is tested with PyTorch 1.2.0 and CUDA 9.2 on CentOS 7. A GPU version is required for training and testing, since the neural_renderer package only has GPU implementation. You are still able to run the demo without GPU.

3. Install neural_renderer:

This package is required for training and testing, and optional for the demo. It requires a GPU device and GPU-enabled PyTorch.

pip install neural_renderer_pytorch

Note: It may fail if you have a GCC version below 5. If you do not want to upgrade your GCC, one alternative solution is to use conda's GCC and compile the package from source. For example:

conda install gxx_linux-64=7.3
git clone https://github.com/daniilidis-group/neural_renderer.git
cd neural_renderer
python setup.py install

4. (For demo only) Install facenet-pytorch:

This package is optional for the demo. It allows automatic human face detection.

pip install facenet-pytorch

Datasets

  1. CelebA face dataset. Please download the original images (img_celeba.7z) from their website and run celeba_crop.py in data/ to crop the images.
  2. Synthetic face dataset generated using Basel Face Model. This can be downloaded using the script download_synface.sh provided in data/.
  3. Cat face dataset composed of Cat Head Dataset and Oxford-IIIT Pet Dataset (license). This can be downloaded using the script download_cat.sh provided in data/.

Please remember to cite the corresponding papers if you use these datasets.

Pretrained Models

Download pretrained models using the scripts provided in pretrained/, eg:

cd pretrained && sh download_pretrained_celeba.sh

Demo

python -m demo.demo --input demo/images/human_face --result demo/results/human_face --checkpoint pretrained/pretrained_celeba/checkpoint030.pth

Options:

  • --gpu: enable GPU
  • --detect_human_face: enable automatic human face detection and cropping using MTCNN provided in facenet-pytorch. This does not work on cat images. You will need to manually crop the images instead.
  • --render_video: render 3D animations using neural_renderer (GPU is required)

Training and Testing

Check the configuration files in experiments/ and run experiments, eg:

python run.py --config experiments/train_celeba.yml --gpu 0 --num_workers 4

Citation

@InProceedings{Wu_2020_CVPR,
  author = {Shangzhe Wu and Christian Rupprecht and Andrea Vedaldi},
  title = {Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Images in the Wild},
  booktitle = {CVPR},
  year = {2020}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].