Views
No views yet
(B, 3, H, W) normalized to [-1, 1]pts3d: (B, H, W, 3) 3D pointmapconf: (B, H, W) confidence map1import requests
2from PIL import Image
3import torchvision.transforms as T
4from src.models.probes import PointmapProbes
5
6model, probes = PointmapProbes.load_backbone_and_probe(
7 "jgaubil/und3rstand-dust3r-512-dpt"
8)
9model.eval()
10probes.eval()
11
12view1_path = "https://raw.githubusercontent.com/JulienGaubil/und3rstand/main/assets/samples/example_view1.jpg"
13view2_path = "https://raw.githubusercontent.com/JulienGaubil/und3rstand/main/assets/samples/example_view2.jpg"
14transform = T.Compose([
15 T.Resize(512),
16 T.CenterCrop(512),
17 T.ToTensor(),
18 T.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]),
19])
20view1_images = transform(
21 Image.open(requests.get(view1_path, stream=True).raw).convert("RGB")
22).unsqueeze(0)
23view2_images = transform(
24 Image.open(requests.get(view2_path, stream=True).raw).convert("RGB")
25).unsqueeze(0)
26
27feat_list = model(view1_images, view2_images)
28outputs = probes(feat_list)
29
30for layer_id, (pred1, pred2) in zip(model.probed_layers.layer_ids, outputs):
31 print(f"{layer_id}: pts3d={pred1['pts3d'].shape}, conf={pred1['conf'].shape}")1@inproceedings{stary2025understanding,
2 title={{Understanding Multi-View Transformers}},
3 author={Star{\'y}, Michal and Gaubil, Julien and Tewari, Ayush and Sitzmann, Vincent},
4 booktitle={ICCV 2025 E2E3D Workshop},
5 year={2025}
6}