Skip to content

ToToVa06/MeshWalker

 
 

Repository files navigation

MeshWalker: Deep Mesh Understanding by Random Walks

SIGGRAPH ASIA 2020 [Paper]

Created by Alon Lahav.

This repository contains the implementation of MeshWalker.

Installation

A step-by-step installation guide for Ubuntu is provided in INSTALL.md.

Data

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

Raw datasets

To get the raw datasets go to the relevant website, and put it under MeshWalker/datasets_raw/<dataset>.

You can also download it from our raw_datasets folder.

Processed

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

Training

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.

Evaluating

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.

Pretrained

You can use some pretrained models from our pretrained folder
to run evaluation only.

Or download them all using

bash ./get_pretrained.sh

Reference

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}
}

Questions / Issues

If you have questions or issues running this code, please open an issue.

About

MeshWalker implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.0%
  • Shell 4.0%