Awesome
MVCNN-PyTorch
Multi-View CNN built on ResNet/AlexNet to classify 3D objects
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).
Dependencies
- torch
- torchvision
- numpy
- tensorflow (for logging)
Dataset
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
Setup
mkdir checkpoint
mkdir logs
Train
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.
Tensorboard
To view training logs
tensorboard --logdir='logs' --port=6006