A PyTorch implementation of MVCNN using ResNet, inspired by the paper by Hang Su. MVCNN uses multiple 2D images of 3D objects to classify them. You can use the provided dataset or create your own.
Also check out my RotationNet implementation whitch outperforms MVCNN (Under construction).
- torch
- torchvision
- numpy
- tensorflow (for logging)
ModelNet40 12-view PNG dataset can be downloaded from Google Drive.
You can also create your own 2D dataset from 3D objects (.obj, .stl, and .off), using BlenderPhong
mkdir checkpoint
mkdir logs
To start training, simply point to the path of the downloaded dataset. All the other settings are optional.
python controller.py <path to dataset> [--depth N] [--model MODEL] [--epochs N] [-b N]
[--lr LR] [--momentum M] [--lr-decay-freq W]
[--lr-decay W] [--print-freq N] [-r PATH] [--pretrained]
To resume from a checkpoint, use the -r tag together with the path to the checkpoint file.
To view training logs
tensorboard --logdir='logs' --port=6006