Alexander Gao, Maurice Chu, Mubbasir Kapadia, Ming C. Lin, Hsueh-Ti Derek Liu
Acknowledgement: This is a research codebase partially based on the original DiffusionNet and DeltaConv implementations. We thank the authors for their works and open source code, which we have been able to build our own work upon.
PyTorch training code will run on CUDA backend if it is available, otherwise will revert to CPU. MPS backend on MacOS is not available, as sparse tensor operations are not officially supported.
Create a new conda environment and install python dependencies:
conda create -n vectorheatnet python=3.9
conda activate vectorheatnet
pip install -r requirements.txt
Install LibIGL and LibQEx, which are used to produce a quadrilateral mesh from an estimated vector field (cross field).
To get started, train a Vector Heat Network on provided example data:
python experiments/quad_meshing/train.py --dataset_path experiments/quad_meshing/data/example_quadwild
Model checkpoints and test output are saved in the experiments/quad_meshing/output directory.
python experiments/quad_meshing/inference.py --pretrain_path <path/to/model/checkpoint.pth> --dataset_path experiments/quad_meshing/data/example_quadwild
This will output the results as a JSON file output.json.
See the cpp_mesh_extraction module for additional information on extracting a quadrilateral mesh from the predicted cross field.
python experiments/quad_meshing/dataset/preprocess_custom_quad_dataset.py --source_quad_mesh_dir experiments/quad_meshing/data/example_custom_dataset/quad --output_dir experiments/quad_meshing/data/example_custom_dataset/preprocessed/train
@inproceedings{gao2024intrinsic,
title = {An Intrinsic Vector Heat Network},
author = {Gao, Alexander and Chu, Maurice and Kapadia, Mubbasir and Lin, Ming and Liu, Hsueh-Ti Derek},
booktitle = {Forty-first International Conference on Machine Learning},
year = {2024}
}