Coder Social home page Coder Social logo

qiujiedong / laplacian2mesh Goto Github PK

View Code? Open in Web Editor NEW
38.0 6.0 4.0 7.79 MB

Laplacian2Mesh: Laplacian-Based Mesh Understanding

Home Page: https://qiujiedong.github.io/publications/Laplacian2Mesh/

License: MIT License

Python 94.81% Shell 5.19%
geometric-deep-learning laplacian-beltrami-space implicit-geodesic-connection mesh-processing

laplacian2mesh's Introduction

Laplacian2Mesh: Laplacian-Based Mesh Understanding

This repository is the official PyTorch implementation of our paper, Laplacian2Mesh: Laplacian-Based Mesh Understanding.

News

  • 🔥 This paper was accepted by IEEE TVCG
  • ⭐ Gave a talk at CVM2023 on Laplacian2Mesh.

Requirements

  • python 3.7
  • CUDA 11.3
  • Pytorch 1.10.0

To install other python requirements:

pip install -r requirements.txt

Installation

clone this repo:

git clone https://github.com/QiujieDong/Laplacian2Mesh.git
cd Laplacian2Mesh

Fetch Data

This repo provides training scripts for classification and segmentation on the following datasets:

  • SHREC-11
  • manifold40
  • humanbody
  • coseg_aliens
  • coseg_chairs
  • coseg_vases

To download the preprocessed data, run

sh ./scripts/<DATASET_NAME>/get_data.sh

The coseg_aliens, coseg_chairs, and coseg_vases are downloaded via the script of coseg_aliens. This repo uses the original Manifold40 dataset without re-meshing via the Loop Subdivision.

Preprocessing

To get the input features by preprocessing:

sh ./scripts/<DATASET_NAME>/prepaer_data.sh

The operation of preprocessing is one-time.

Training

To train the model on the provided dataset(s) in this paper, run this command:

sh ./scripts/<DATASET_NAME>/train.sh

The training process is time-consuming, you can refer to DiffusionNet to optimize the code to speed up the training.

Evaluation

To evaluate the model on a dataset, run:

sh ./scripts/<DATASET_NAME>/test.sh

Visualize

After testing the segmentation network, there will be colored shapes in the visualization_result directory.

Cite

If you find our work useful for your research, please consider citing the following papers :)

@article{dong2023laplacian2mesh,
  title={Laplacian2mesh: Laplacian-based mesh understanding},
  author={Dong, Qiujie and Wang, Zixiong and Li, Manyi and Gao, Junjie and Chen, Shuangmin and Shu, Zhenyu and Xin, Shiqing and Tu, Changhe and Wang, Wenping},
  journal={IEEE Transactions on Visualization and Computer Graphics},
  year={2023},
  publisher={IEEE}
}

Acknowledgments

Our code is inspired by MeshCNN and SubdivNet.

laplacian2mesh's People

Contributors

qiujiedong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

laplacian2mesh's Issues

Access to Wandb

Hi,

As I've been trying to train and replicate the same result as yours based on the code provided I was directed to Wandb to visualize the results but I would get this error that I do not have sufficient permission to do so, I was wondering if this is possible that the permission would be granted or maybe you could walk me through it whether I can do it myself and generate my own Wandb because I am not very familiar with Wandb tool.
Thank you

pre-trained models?

Thanks for sharing the source code! Is it also possible to share pre-trained model weights?

igl安装问题

在Ubuntu系统上进行配置环境
pip install ig
l报错:ERROR: Could not find a version that satisfies the requirement igl (from versions: none)
ERROR: No matching distribution found for igl
然后问gpt,说需要安装cmake和eigencmake安装比较顺利pip直接安装即可,
但是eigen一直搞不明白如何安装,
直接将其克隆到当前项目中了,但不知道如何config.

Using sparse matrices

Hi,

I'm working with meshes with 80k-100k vertices.
Preprocessing them requires a lot of memory, are you planning to use sparse matrices instead?
I can open a pull request if you're interested bc I've modified the code already.

Daniel

Pre-processing error attempting to run code on Windows 10

Hello!

I am trying to run the code that pre-processes the coseg_aliens dataset and coming up with this error message:

------generate vertices ground truth from edges------
data/coseg_aliens\train\1.obj
Traceback (most recent call last):
File "./prepare/pre_seg_dataset.py", line 317, in
generate_vertices_ground_truth_from_edges(args)
File "./prepare/pre_seg_dataset.py", line 211, in generate_vertices_ground_truth_from_edges
meshcnn_mesh = Mesh(os.path.join(subset_mesh_path, file), opt)
File "C:\Users*\PycharmProjects\Laplacian2Mesh\prepare\mesh.py", line 441, in init
fill_mesh(self, file, opt)
File "C:\Users*
\PycharmProjects\Laplacian2Mesh\prepare\mesh.py", line 24, in fill_mesh
mesh2fill.ve = mesh_data['ve']
File "C:\Users*****\AppData\Local\anaconda3\envs\L2M2\lib\site-packages\numpy\lib\npyio.py", line 260, in getitem
raise KeyError("%s is not a file in the archive" % key)
KeyError: 've is not a file in the archive'

Have you ever seen this before? It's just your vanilla code that is running, I have not made any modifications.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.