<p align="center">

  <h1 align="center">REArtGS: Reconstructing and Generating Articulated Objects via 3D Gaussian Splatting with Geometric and Motion Constraints
</h1>

<p align="center">
We present a preview version of the generation inference codes and partial pre-training models.  All the codes and pre-trained models will be made publicly available after acceptance. </p>
<br>

# Installation
create an anaconda environment using
```

conda create -y -n REActGS python=3.8
conda activate REActGS

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
conda install cudatoolkit-dev=11.3 -c conda-forge

pip install -r requirements.txt

pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn/

# tetra-nerf for triangulation
cd submodules/tetra-triangulation
conda install cmake
conda install conda-forge::gmp
conda install conda-forge::cgal
cmake .
# you can specify your own cuda path
# export CPATH=/usr/local/cuda-11.3/targets/x86_64-linux/include:$CPATH
make 
pip install -e .
```

# Dataset
Please download the dataset from PARIS [Liu2023] and AKB-48 [Liu2022].


# Generation
```
# Input the id of category and the state (0-1) you want to generate the textured mesh:
python generation.py --id {$id} --iteration 40000 --extract_fid {$state}
#eg. python generation.py --id 11100 --iteration 40000 --extract_fid 0.8


```

# Acknowledgements
This project is built upon GOF [Yu2024] and Deformable-3DGS [Yang2024]. We thank all the authors for their great work and repos. 


