atomicsulfate / meshcnn-4-cadseg

Improved MeshCNN for surface type segmention on realistic CAD models.
https://atomicsulfate.github.io/meshcnn-4-cadseg/
Other
15 stars 1 forks source link
cad cnn deep-learning machine-learning mesh pytorch segmentation

Surface class segmentation in CAD models with MeshCNN

This project modifies MeshCNN to handle large meshes efficiently and applies the improved framework to learn surface type segmentation on ABC Dataset, a large dataset of CAD models.


Project by Andrés Mandado

Getting Started

Installation

ABC Dataset surface class segmentation

Download the dataset

bash ./scripts/seg/get_10K_dataset.sh

Run training (if using conda env first activate env e.g. conda activate cgp-meshcnn-basic)

bash ./scripts/seg/train.sh

To view the training loss plots, in another terminal run tensorboard --logdir runs and click http://localhost:6006.

Run test and export the intermediate pooled meshes:

bash ./scripts/seg/test.sh

Visualize the network-learned segmentation vs labels:

bash ./scripts/seg/view.sh

Some segmentation result examples:

Note, you can also get pre-trained weights using bash ./scripts/seg/get_pretrained.sh.

Project structure