Skip to content

A collection of advanced tools for large-scale high-quality mesh data preparing

Notifications You must be signed in to change notification settings

JYChen18/MeshProcess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeshProcess

This repository does not propose any new methods, but provides easy-to-use code that leverages advanced tools for efficiently preparing large-scale, high-quality 3D mesh assets.

Introduction

Main Features

  • Generate simplified 2-manifold meshes using OpenVDB and ACVD.
  • Perform convex decomposition with CoACD.
  • Render single-view point clouds using Warp.

Highlights

  1. Fast: Processes each mesh in seconds, with parallel processing support for multiple meshes.
  2. Robust: Achieves over 95% success rate for processing messy mesh data, including datasets like Objaverse.
  3. Easy to Use: Customizable processing tasks that can be executed with a single command.

Projects Using MeshProcess

Getting Started

Installation

  1. Clone the third-party dependencies.
cd MeshProcess
git submodule update --init --recursive --progress
  1. Create and set up the Python environment using Conda.
conda create -n meshproc python=3.10    
conda activate meshproc
pip install mujoco
pip install trimesh
pip install hydra-core
pip install lxml

# For partial point cloud rendering
pip install warp-lang
pip install opencv-python
pip install pyglet
  1. Build the third-party package ACVD following their installation guide. To install the VTK dependencies of ACVD,
sudo apt-get update
sudo apt install -y build-essential cmake git unzip qt5-default libqt5opengl5-dev libqt5x11extras5-dev libeigen3-dev libboost-all-dev libglew-dev libglvnd-dev

git clone https://gitlab.kitware.com/vtk/vtk.git
cd vtk
git checkout v9.2.0     
mkdir build
cd build
cmake ..
make -j12
sudo make install
export VTK_DIR=/usr/local/include/vtk-9.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  1. Build our customized CoACD by following the compiling instructions. Please note that we do not support CoACD installed via pip. OpenVDB will be automatically included after compiling CoACD.

Running Example Data

For a quick start, we provide example mesh data in the assets/object/example_obj/raw_mesh directory, which can be processed by our all-in-one script.

bash script/example.sh

Running New Data

  1. Downloading datasets: Please see the guides for downloading and processing object assets from DexGraspNet and Objaverse. You can prepare your raw mesh data similarly.

  2. Processing meshes: Results will be saved in assets/object/DGN_obj/processed_data.

python src/main.py func=proc data=DGN
  1. (Optional) Getting statistics: This can be used to monitor the progress during processing meshes.
python src/main.py func=stat data=DGN
  1. Recording and spliting valid data: Results will be saved in assets/object/DGN_obj/valid_split.
python src/main.py func=split data=DGN
  1. Rendering partial point cloud and (optional) images: Results will be saved in assets/object/DGN_obj/vision_data. This is not needed for grasp pose synthesis, but necessary for network learning.
python src/main.py func=render data=DGN

Citation

If you found this repository useful, please consider to cite the following works:

  • Our paper:
@article{chen2024bodex,
title={BODex: Scalable and Efficient Robotic Dexterous Grasp Synthesis Using Bilevel Optimization},
author={Chen, Jiayi and Ke, Yubin and Wang, He},
journal={arXiv preprint arXiv:2412.16490},
year={2024}
}
  • CoACD for convex decomposition:
@article{wei2022coacd,
  title={Approximate convex decomposition for 3d meshes with collision-aware concavity and tree search},
  author={Wei, Xinyue and Liu, Minghua and Ling, Zhan and Su, Hao},
  journal={ACM Transactions on Graphics (TOG)},
  volume={41},
  number={4},
  pages={1--18},
  year={2022},
  publisher={ACM New York, NY, USA}
}
  • ACVD for mesh simplification:
@article{valette2008generic,
  title={Generic remeshing of 3D triangular meshes with metric-dependent discrete Voronoi diagrams},
  author={Valette, S{\'e}bastien and Chassery, Jean Marc and Prost, R{\'e}my},
  journal={IEEE Transactions on Visualization and Computer Graphics},
  volume={14},
  number={2},
  pages={369--381},
  year={2008},
  publisher={IEEE}
}

About

A collection of advanced tools for large-scale high-quality mesh data preparing

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published