shubhtuls / ss3d

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pre-train, Self-train, Distill: A simple recipe for Supersizing 3D Reconstruction

Kalyan Vasudev Alwala, Abhinav Gupta, Shubham Tulsiani

[Paper] [Project Page]

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)}
}

About


Languages

Language:Jupyter Notebook 99.3%Language:Python 0.7%