GEAR: GEometry-motion Alternating Refinement for Articulated Object Modeling with Gaussian Splatting
This is the official code repository for our paper GEAR: GEometry-motion Alternating Refinement for Articulated Object Modeling with Gaussian Splatting, accepted at CVPR 2026 (Findings).
We recommend Python 3.10 on Linux with an NVIDIA GPU and a CUDA stack that matches your PyTorch build.
-
PyTorch — Install
torchandtorchvisionfor your CUDA version from the official install guide before installing other dependencies. -
Python dependencies — From the repository root:
pip install -r requirements.txt
The file includes Segment Anything via Git;
pipneeds network access to GitHub. -
GS extensions (required) — After PyTorch is installed, build and install the local packages (still from the repo root):
pip install ./submodules/simple-knn pip install ./submodules/diff-surfel-rasterization pip install ./utils/pointnet_lib
If you use Git submodules, initialize
simple-knnfirst, for example:git submodule update --init submodules/simple-knn
-
SAM checkpoint — Mask extraction (
utils/get_mask.py, stage 1) expects the ViT-H weights at:submodules/sam_vit_h_4b8939.pthDownload (example):
wget -O submodules/sam_vit_h_4b8939.pth \ https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
You can override the path with
--sam_checkpointwhen runningutils/get_mask.py. -
PyTorch3D and tiny-cuda-nn — If installation fails, see PyTorch3D install and the tiny-cuda-nn build notes (CUDA toolkit /
nvccrequired for extensions).
We introduce the GEAR_Multi dataset for articulated object modeling. You can download the dataset from Google Drive here: 👉 Download GEAR_Multi Dataset
The pipeline is primarily divided into five stages. We provide bash scripts in the scripts/ directory to run each stage sequentially. Make sure to adjust the dataset paths and variables inside the scripts according to your local setup before running them.
Extract 2D masks for the articulated object parts using SAM (Segment Anything Model) based on the initial images.
bash scripts/1_get_mask.shTrain a coarse Gaussian Splatting model to obtain a global geometry initialization.
bash scripts/2_coarse.shUtilize the geometry from the coarse model to perform Top-K connected component voxelization. This step extracts dynamic joints and initializes their coarse poses.
bash scripts/3_voxelize.shPerform the Geometry-motion Alternating Refinement. This phase finely optimizes the joint parameters (axis, rotation, translation) alongside the 3D Gaussian attributes.
bash scripts/4_train.shRender the novel views, visualize the part segmentation, and evaluate the resulting geometric and visual metrics.
bash scripts/5_render.shIf you find our work or dataset useful, please consider citing:
@misc{gear2026,
title={GEAR: GEometry-motion Alternating Refinement for Articulated Object Modeling with Gaussian Splatting},
author={Jialin Li and Bin Fu and Ruiping Wang and Xilin Chen},
year={2026},
eprint={2604.07728},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2604.07728},
}
