(BMVC 2019) PyTorch implementation of Paper "Pose from Shape: Deep Pose Estimation for Arbitrary 3D Objects"
The code can be used in Linux system with the the following dependencies: Python 3.6, Pytorch 1.0.1, Python-Blender 2.77, meshlabserver
We recommend to utilize conda environment to install all dependencies and test the code.
## Download the repository
git clone 'https://github.com/YoungXIAO13/PoseFromShape'
cd PoseFromShape
## Create python env with relevant packages
conda create --name PoseFromShape --file auxiliary/spec-file.txt
source activate PoseFromShape
## Install blender as a pytho module
conda install auxiliary/python-blender-2.77-py36_0.tar.bz2
To download and prepare the datasets for training and testing (Pascal3D, ObjectNet3D, ShapeNetCore, SUN397, Pix3D, LineMod):
cd data
bash prepare_data.sh
To download the pretrained models (Pascal3D, ObjectNet3D, ShapeNetCore):
cd model
bash download_models.sh
To train on the Pascal3D dataset with real images:
cd run
bash train_Pascal3D.sh
To train on the ObjectNet3D dataset with real images:
cd run
bash trainn_ObjectNet3D.sh
To train on the ShapeNetCore dataset with synthetic images:
cd run
bash trainn_ShapeNetCore.sh
While the network was trained on real or synthetic images, all the testing was done on real images.
To test on the Pascal3D dataset with real images:
cd run
bash test_Pascal3D.sh
cd run
bash test_ObjectNet3D.sh
cd run
bash test_Pix3D.sh
cd run
bash test_LineMod.sh