Awesome
Pre-train, Self-train, Distill: A simple recipe for Supersizing 3D Reconstruction
Kalyan Vasudev Alwala, Abhinav Gupta, Shubham Tulsiani
[Paper] [Project Page]
<img src="https://shubhtuls.github.io/ss3d/resources/teaser.gif" width="50%">Setup
Download the final distilled model from here.
Install the following pre-requisites:
- Python >=3.6
- PyTorch tested with
1.10.0
- TorchVision tested with
0.11.1
- Trimesh
- pymcubes
3D Reconstruction Interface
Reconstruct 3D in 3 simple simple steps! Please see the demo notebook for a working example.
# 1. Load the pre-trained checkpoint
model_3d = VNet()
model_3d.load_state_dict(torch.load("<Path to the Model>"))
model_3d.eval()
# 2. Preprocess an RGB image with associated object mask according to our model's input interface
inp_img = generate_input_img(
img_rgb,
img_mask,
)
# 3. Obtain 3D prediction!
out_mesh = extract_trimesh(model_3d, inp_img, "cuda")
# To save the mesh
out_mesh.export("out_mesh_pymcubes.obj")
# To visualize the mesh
out_mesh.show()
Training and Evaluation
- coming soon
Citation
If you find the project useful for your research, please consider citing:-
@inproceedings{vasudev2022ss3d,
title={Pre-train, Self-train, Distill: A simple recipe for Supersizing 3D Reconstruction},
author={Vasudev, Kalyan Alwala and Gupta, Abhinav and Tulsiani, Shubham},
year={2022},
booktitle={Computer Vision and Pattern Recognition (CVPR)}
}