Skip to content

Mobiuslqm/PAct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PAct: Part-Decomposed Single-View Articulated Object Generation

Generate an articulated, simulation-ready 3D object from a single-view input.

SIGGRAPH Asia 2026 · Conditionally Accepted

Authors: Qingming Liu1,2, Xinyue Yao1, Shuyuan Zhang1, Yueci Deng1,2, Guiliang Liu1, Zhen Liu1,†, Kui Jia1,2

1The Chinese University of Hong Kong, Shenzhen    2DexForce Technology

Corresponding author

Paper arXiv Code Demo Model BibTeX

teaser

Given a single image, PAct generates an articulated 3D object by predicting a part-decomposed structure, synthesizing high-fidelity part geometry and appearance, and estimating articulation parameters for physics-based simulation. This repository currently focuses on inference with the PActPipeline, while the full training stack is being cleaned up for release. This README walks through environment setup, running inference, tuning parameters, and our roadmap for opening the remaining pieces.

1. Open-Source Timeline

Stage Deliverable Target Date Notes
Inference Release Cleaned infer_imgs.py, pretrained checkpoints, sample configs. 2026-02-07 ✅ available now.
Dataset Preprocessing Detailed docs + scripts for preparing datasets + mask labeling (VLM+SAM). 2026-08-20 In progress.
Training Stage 1 Sparse-structure (SS-Flow) training scripts + configs. 2026-08-20 In progress.
Training Stage 2 SLAT articulation training pipeline + evaluation metrics. 2026-08-20 In progress.

Dates reflect our best-effort plan; we will update this table and tag releases in the repo as milestones land.

2. Environment Setup

  1. Clone
    git clone https://github.com/PAct-project/PAct.git
    cd PAct
  2. Conda environment (recommended, we follow the TRELLIS and OmniPart repo)
    conda env create -f PAct_env.yml
    conda activate PAct
    pip install git+https://github.com/facebookresearch/detectron2.git

3. Launch Gradio Demo

python app.py

For convenience, we provide a Hugging Face demo that also allows downloading exported URDFs. The exported URDF files can be interactively viewed in VS-Code with URDF Visualizer. teaser

4. Inference via scritps

4.1 Running Inference

Call the batch inference script with your config and overrides:

python infer_imgs.py \
  --data_dir assets/real_world_examples \
  --outdir outputs/real_world \
  --batch_size 2 \
  --save_glb --export_arti_objects 

Results (videos, GLBs, Gaussian splats, logs) are written under the --outdir folder in subdirectories named with your sampling configuration and random seed. Generation process of an object typically takes ~15s, comparable to TRELLIS; exporting a mesh is optional, but the subsequent textured-mesh step can be significantly more time-consuming.

4.2 Key Arguments

infer_imgs.py exposes every previously hard-coded hyperparameter as a CLI flag. Important options are summarized below (see infer_imgs.py for the full list):

Flag Purpose Default
--ss_steps, --slat_steps Sampler iterations for sparse structure / SLAT stages. 25, 25
--ss_cfg_strength, --slat_cfg_strength Guidance strength for each sampler. 7.0, 7.0
--explode_coords_ratio, --gaussian_explosion_scale Explosion used when visualizing voxels or Gaussians. 0.5, 0.3
--render_num_frames, --render_radius, --render_fov, --render_bg_color Camera sweep + appearance of rendered videos. 60, 2.3, 60, (1,1,1)
--video_fps, --grid_size, --save_video_grid, --save_cond_vis_grid Control mosaic layout and playback speed when saving videos/images. 20, 4, enabled
--save_glb, --save_gs, --export_arti_objects Toggle mesh/splat export to SINGAPO/URDF formats. disabled
--mesh_simplify_ratio, --texture_size, --textured_mesh Mesh post-processing knobs when --save_glb is set. 0.95, 1024, enabled

Every argument can also be specified inside the JSON config; CLI values take precedence.

4.3 Output Layout

Each inference batch produces:

  • grid_vids_samples_videos_*: Articulation and exploded-part video mosaics.
  • grids_cond_vis_*: Conditioning image grids.
  • *_arti_animation*.mp4, *exploded_part*.mp4/png: Per-object renders when mosaics are disabled.
  • run_command.txt: Command provenance for reproducibility.
  • exported_arti_objects: Optional GLB/Gaussian assets and articulation info if the corresponding flags are enabled.

4.4 Export Articulated Object to URDFs

Use the helper script to convert every object.json in an exported inference run into URDF files ( must set --export_arti_objects in Sec. 4.1):

python scripts/batch_json_to_urdf.py \
	--exported_art_objs_dir outputs/<run_name>/exported_arti_objects

Each generated URDF is placed next to its source metadata as <object_name>_fromJson2urdf.urdf.

3. Training

3.1 Dataset-processing

TBD

3.2 Training-guidance

TBD

4. Contributing & Support

5. Citation

If you build upon this work, please cite the PAct paper:

@article{liu2026pact,
    title   = {PAct: Part-Decomposed Single-View Articulated Object Generation},
    author  = {Liu, Qingming and Yao, Xinyue and Zhang, Shuyuan and Deng, Yueci and Liu, Guiliang and Liu, Zhen and Jia, Kui},
    journal = {arXiv preprint arXiv:2602.14965},
    year    = {2026}
}

And we sincerely thank the authors of TRELLIS and OmniPart, whose codes were used in our work.

@article{xiang2024structured,
    title   = {Structured 3D Latents for Scalable and Versatile 3D Generation},
    author  = {Xiang, Jianfeng and Lv, Zelong and Xu, Sicheng and Deng, Yu and Wang, Ruicheng and Zhang, Bowen and Chen, Dong and Tong, Xin and Yang, Jiaolong},
    journal = {arXiv preprint arXiv:2412.01506},
    year    = {2024}
}.
@article{yang2025omnipart,
        title={Omnipart: Part-aware 3d generation with semantic decoupling and structural cohesion},
        author={Yang, Yunhan and Zhou, Yufan and Guo, Yuan-Chen and Zou, Zi-Xin and Huang, Yukun and Liu, Ying-Tian and Xu, Hao and Liang, Ding and Cao, Yan-Pei and Liu, Xihui},
        journal={arXiv preprint arXiv:2507.06165},
        year={2025}
}

About

[SIGGRAPH Asia 26 Conditionally Accept]PAct: Part-Decomposed Single-View Articulated Object Generation

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages