Home

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

MVCNN

Dependencies

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