LVSM - Pytorch
Project description
LVSM - Pytorch (wip)
Implementation of LVSM, SOTA Large View Synthesis with Minimal 3d Inductive Bias, from Adobe Research
We will focus only on the Decoder-only architecture in this repository.
This paper lines up with another from ICLR 2025
Install
$ pip install lvsm-pytorch
Usage
import torch
from lvsm_pytorch import LVSM
rays = torch.randn(2, 4, 6, 256, 256)
images = torch.randn(2, 4, 3, 256, 256)
target_rays = torch.randn(2, 6, 256, 256)
target_images = torch.randn(2, 3, 256, 256)
model = LVSM(
dim = 512,
max_image_size = 256,
patch_size = 32,
depth = 2,
)
loss = model(
input_images = images,
input_rays = rays,
target_rays = target_rays,
target_images = target_images
)
loss.backward()
# after much training
pred_images = model(
input_images = images,
input_rays = rays,
target_rays = target_rays,
) # (2, 3, 256, 256)
assert pred_images.shape == target_images.shape
Or from the raw camera intrinsic / extrinsics (please submit an issue or pull request if you see an error. new to view synthesis and out of my depths here)
import torch
from lvsm_pytorch import LVSM, CameraWrapper
input_intrinsic_rotation = torch.randn(2, 4, 3, 3)
input_extrinsic_rotation = torch.randn(2, 4, 3, 3)
input_translation = torch.randn(2, 4, 3)
input_uniform_points = torch.randn(2, 4, 3, 256, 256)
target_intrinsic_rotation = torch.randn(2, 3, 3)
target_extrinsic_rotation = torch.randn(2, 3, 3)
target_translation = torch.randn(2, 3)
target_uniform_points = torch.randn(2, 3, 256, 256)
images = torch.randn(2, 4, 4, 256, 256)
target_images = torch.randn(2, 4, 256, 256)
lvsm = LVSM(
dim = 512,
max_image_size = 256,
patch_size = 32,
channels = 4,
depth = 2,
)
model = CameraWrapper(lvsm)
loss = model(
input_intrinsic_rotation = input_intrinsic_rotation,
input_extrinsic_rotation = input_extrinsic_rotation,
input_translation = input_translation,
input_uniform_points = input_uniform_points,
target_intrinsic_rotation = target_intrinsic_rotation,
target_extrinsic_rotation = target_extrinsic_rotation,
target_translation = target_translation,
target_uniform_points = target_uniform_points,
input_images = images,
target_images = target_images,
)
loss.backward()
# after much training
pred_target_images = model(
input_intrinsic_rotation = input_intrinsic_rotation,
input_extrinsic_rotation = input_extrinsic_rotation,
input_translation = input_translation,
input_uniform_points = input_uniform_points,
target_intrinsic_rotation = target_intrinsic_rotation,
target_extrinsic_rotation = target_extrinsic_rotation,
target_translation = target_translation,
target_uniform_points = target_uniform_points,
input_images = images,
)
Citations
@inproceedings{Jin2024LVSMAL,
title = {LVSM: A Large View Synthesis Model with Minimal 3D Inductive Bias},
author = {Haian Jin and Hanwen Jiang and Hao Tan and Kai Zhang and Sai Bi and Tianyuan Zhang and Fujun Luan and Noah Snavely and Zexiang Xu},
year = {2024},
url = {https://api.semanticscholar.org/CorpusID:273507016}
}
@article{Zhang2024CamerasAR,
title = {Cameras as Rays: Pose Estimation via Ray Diffusion},
author = {Jason Y. Zhang and Amy Lin and Moneish Kumar and Tzu-Hsuan Yang and Deva Ramanan and Shubham Tulsiani},
journal = {ArXiv},
year = {2024},
volume = {abs/2402.14817},
url = {https://api.semanticscholar.org/CorpusID:267782978}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lvsm_pytorch-0.0.17.tar.gz
(1.5 MB
view details)
Built Distribution
File details
Details for the file lvsm_pytorch-0.0.17.tar.gz
.
File metadata
- Download URL: lvsm_pytorch-0.0.17.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8614e6534a4e009caa4583d4c7f5630be3d8e7e25b81244b2eeb48f3bc58eb07 |
|
MD5 | 9be6530da4f58d4134b8d42117f17217 |
|
BLAKE2b-256 | aaf8e6364f5db73879342f9acc924a69d551df19c4d629f1bdca993e6155d229 |
File details
Details for the file lvsm_pytorch-0.0.17-py3-none-any.whl
.
File metadata
- Download URL: lvsm_pytorch-0.0.17-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 493651c2cc6fb1e8a28f1f2bdf73f29271cf614129aacb68840fa197c7b5faf3 |
|
MD5 | 3ea403a4819c2c8aec2e5db56d798087 |
|
BLAKE2b-256 | 53baecee8840a3fac2f0fa4ab8b99192d68487eabf32b4dca6276df709c59eee |