Skip to content

UMass-Embodied-AGI/Articulate-Anymesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Articulate Anymesh: Open-Vocabulary 3D Articulated Objects Modeling

Paper PDF Project Page

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.

Logo

Installation

Install Genesis

# 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.git

If you would like to enable LuisaRender for ray-tracing-based rendering, follow the optional installation instructions here

2. Install Dependencies for PartSLIP

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.git

3. Install Other Dependencies

pip install scikit-learn open3d pyyaml pycocotools supervision openai

By 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).

Usage Example

  1. Modify the config path to your desired object directory, e.g., data_dir/object_name.
  2. 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.yaml

For geometry & texture post-processing, we use Holopart and Meshy.

Acknowledgement

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.

Citation

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} 
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors