we propose Articulate AnyMesh, an automated framework that is able to convert any rigid 3D mesh into its articulated counterpart in an open-vocabulary manner.
# We tested our code on torch 2.3.1, CUDA 11.8
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu118
pip install git+https://github.com/Genesis-Embodied-AI/Genesis.gitIf you would like to enable LuisaRender for ray-tracing-based rendering, follow the optional installation instructions here
pip install "git+https://github.com/facebookresearch/pytorch3d.git"
CONDAENV=YOUR_CONDA_ENVIRONMENT_LOCATION
cd partition/cut-pursuit
mkdir build
cd build
cmake .. -DPYTHON_LIBRARY=$CONDAENV/lib/libpython3.9.so -DPYTHON_INCLUDE_DIR=$CONDAENV/include/python3.9 -DBOOST_INCLUDEDIR=$CONDAENV/include -DEIGEN3_INCLUDE_DIR=$CONDAENV/include/eigen3
make
pip install git+https://github.com/facebookresearch/segment-anything.gitpip install scikit-learn open3d pyyaml pycocotools supervision openaiBy default, we use Set-of-Mark (SoM) visual prompting for segmentation. If you would like to try alternative methods such as Grounding-DINO or DINO-X, you can install them by following the respective repositories and set the "seg_method" argument accordingly in the config file (note: performance may be weaker).
- Modify the config path to your desired object directory, e.g.,
data_dir/object_name. - Optionally, specify movable parts in the configuration YAML.
Run the following command:
# We use the GPT API through the Microsoft Azure platform.
export GPT_ENDPOINT=YOUR_GPT4O_ENDPOINT
export API_KEY=YOUR_AZURE_API_KEY
python run.py --config ./configs/fridge.yamlFor geometry & texture post-processing, we use Holopart and Meshy.
Here we would like to thank the following resources for their great work: PartSLIP2, Set of Mark visual prompting , Grounding-DINO, LANGSAM, DINOX, Genesis.
We also thank Zlat and Artem P for providing the high-quality 3D models we used in our codebase: fridge and toaster.
If you find this codebase/paper useful for your research, please consider citing:
@article{qiu2025articulate,
title={Articulate AnyMesh: Open-vocabulary 3D Articulated Objects Modeling},
author={Qiu, Xiaowen and Yang, Jincheng and Wang, Yian and Chen, Zhehuan and Wang, Yufei and Wang, Tsun-Hsuan and Xian, Zhou and Gan, Chuang},
journal={arXiv preprint arXiv:2502.02590},
year={2025}
}