chrockey/Affostruction

Model

0

stars

17

commits

1

repos using this model

1

linked in READMEs

Sep 1, 2026

updated

3d-reconstruction
affordance-grounding
flow-matching
rgbd
safetensors

README

Affostruction

Affostruction: 3D Affordance Grounding with Generative Reconstruction — CVPR 2026, Denver.

Chunghyun Park1, Seunghyeon Lee1, Minsu Cho1,2

1POSTECH    2RLWRLD

Pretrained checkpoints

Each subfolder contains a flat config.json + model.safetensors. SLAT + mesh/gaussian decoders come from microsoft/TRELLIS-image-large.

ModelDescription# Params
reconstructionMulti-view RGBD sparse-structure flow164.6 M
affordanceText-conditioned affordance heatmap flow185.4 M

Usage

from affostruction import AffostructionPipeline

pipeline = AffostructionPipeline.from_pretrained("chrockey/Affostruction").cuda()
outputs = pipeline.run(input_dict, queries=["Point to the part you would sit on."])

coords = outputs["coords"]                  # (N, 4) sparse voxel coords
probs  = outputs["affordance"][0]["probs"]  # (N,) per-voxel heatmap in [0, 1], paired with coords

Need mesh / gaussian? Pass formats=["mesh", "gaussian"] — decoding is opt-in.

Reconstruction only? Drop queries.

End-to-end examples in the GitHub repo: examples/affostruction.py (full pipeline), examples/reconstruction.py (reconstruction-only), and examples/reconstruction_unposed.py (experimental unposed single-view).

Contributors

chrockey

17 commits

chrockey/Affostruction

Model

0

stars

17

commits

1

repos using this model

1

linked in READMEs

Sep 1, 2026

updated

3d-reconstruction
affordance-grounding
flow-matching
rgbd
safetensors

README

Affostruction

Affostruction: 3D Affordance Grounding with Generative Reconstruction — CVPR 2026, Denver.

Chunghyun Park1, Seunghyeon Lee1, Minsu Cho1,2

1POSTECH    2RLWRLD

Pretrained checkpoints

Each subfolder contains a flat config.json + model.safetensors. SLAT + mesh/gaussian decoders come from microsoft/TRELLIS-image-large.

ModelDescription# Params
reconstructionMulti-view RGBD sparse-structure flow164.6 M
affordanceText-conditioned affordance heatmap flow185.4 M

Usage

from affostruction import AffostructionPipeline

pipeline = AffostructionPipeline.from_pretrained("chrockey/Affostruction").cuda()
outputs = pipeline.run(input_dict, queries=["Point to the part you would sit on."])

coords = outputs["coords"]                  # (N, 4) sparse voxel coords
probs  = outputs["affordance"][0]["probs"]  # (N,) per-voxel heatmap in [0, 1], paired with coords

Need mesh / gaussian? Pass formats=["mesh", "gaussian"] — decoding is opt-in.

Reconstruction only? Drop queries.

End-to-end examples in the GitHub repo: examples/affostruction.py (full pipeline), examples/reconstruction.py (reconstruction-only), and examples/reconstruction_unposed.py (experimental unposed single-view).

Contributors

chrockey

17 commits