File size: 1,862 Bytes
7b2438b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27599a2
7b2438b
1894439
27599a2
076a2d9
 
 
 
27599a2
 
 
7b2438b
ded836d
7b2438b
ded836d
4479756
02ecc6a
27599a2
1894439
7b2438b
ded836d
31a84ae
21c5fc5
31a84ae
02ecc6a
b09bcbb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
---
license: mit
tags:
  - 3d-reconstruction
  - affordance-grounding
  - flow-matching
  - rgbd
arxiv: 2601.09211
---

# Affostruction

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

[Chunghyun Park](https://chrockey.github.io/)<sup>1</sup>,
[Seunghyeon Lee](https://llishyun.github.io/)<sup>1</sup>,
[Minsu Cho](http://cvlab.postech.ac.kr/~mcho/)<sup>1,2</sup>

<sup>1</sup>POSTECH &nbsp;&nbsp; <sup>2</sup>RLWRLD

- Paper: https://arxiv.org/abs/2601.09211
- Project page: https://chrockey.github.io/Affostruction/
- Code: https://github.com/chrockey/Affostruction

## Pretrained checkpoints

Each subfolder contains a flat `config.json` + `model.safetensors`. SLAT + mesh/gaussian decoders come from [`microsoft/TRELLIS-image-large`](https://huggingface.co/microsoft/TRELLIS-image-large).

| Model | Description | # Params |
|-------|-------------|---------:|
| `reconstruction` | Multi-view RGBD sparse-structure flow | 164.6 M |
| `affordance` | Text-conditioned affordance heatmap flow | 185.4 M |

## Usage

```python
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](https://github.com/chrockey/Affostruction): `examples/affostruction.py` (full pipeline), `examples/reconstruction.py` (reconstruction-only), and `examples/reconstruction_unposed.py` (experimental unposed single-view).