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.


