SIGGRAPH ASIA 2020 [Paper]
Created by Alon Lahav.
This repository contains the implementation of MeshWalker.
A step-by-step installation guide for Ubuntu is provided in INSTALL.md.
Note for this README: each time <dataset>
is mentioned,
it should be replaced by one of the following:
1. modelnet40
2. engraved_cubes
3. shrec11
4. coseg
5. human_seg
To get the raw datasets go to the relevant website,
and put it under MeshWalker/datasets_raw/<dataset>
.
- ModelNet
(Right click on
ModelNet40.zip
, to download the dataset. - Engraved Cubes (from MeshCNN website).
- Human-seg17 (from Toric Covers website).
- COSEG.
- Shrec11 - to be added later.
You can also download it from our raw_datasets folder.
To prepare the data, run python dataset_prepare.py <dataset>
Or download the data after processing from
datasets_processed
to MeshWalker/datasets_processed/<dataset>
.
Processing will rearrange dataset in npz
files, labels included, vertex niebours added.
Use the following to download all:
bash ./get_datasets.sh
python train_val.py <job> <part>
While <job>
can be one of the following:
shrec11
/ coseg
/ human_seg
/ cubes
/ modelnet40
.
<job>
can also be all
to run all of the above.
<part>
should be used in case of shrec11
or coseg
datasets.
For shrec11
it should be one of the follows:
10-10_A
/ 10-10_B
/ 10-10_C
/ 16-04_A
/ 16-04_B
/ 16-04_C
.
For coseg
it should be one of the follows: aliens
/ vases
/ chairs
.
You will find the results at: MeshWalker\runs\???
Use tensorboard to show training results: tensorboard <trained-model-folder>
Note that "accuracy" tab is a fast accuracy calculated while training, it is not the final accuracy we get using averaging. To get the final accuracy results, please refer to the "full_accuracy" tab at tensorboard, or run evaluation scripts.
After training is finished (or pretrained is downloaded), to evaluate segmentation model run:
python evaluate_segmentation.py <job> <part> <trained model directory>
For example:
python evaluate_segmentation.py coseg chairs pretrained/coseg_chairs/
Or:
python evaluate_segmentation.py human_seg --- pretrained/0010-15.11.2020..05.25__human_seg/
To evaluate classification model run:
python evaluate_segmentation.py <job> <part> <trained model directory>
<job>
and <part>
are define the same as in train_val.py
.
You can use some pretrained models from our pretrained folder
to run evaluation only.
Or download them all using
bash ./get_pretrained.sh
If you find our code or paper useful, please consider citing:
@article{lahav2020meshwalker,
title={MeshWalker: Deep Mesh Understanding by Random Walks},
author={Lahav, Alon and Tal, Ayellet},
journal={arXiv preprint arXiv:2006.05353},
year={2020}
}
If you have questions or issues running this code, please open an issue.