LightSwitch: Multi-view Relighting with Material-guided Diffusion
This model, LightSwitch, was presented in the paper LightSwitch: Multi-view Relighting with Material-guided Diffusion.
Project Page: https://yehonathanlitman.github.io/light_switch/ GitHub Repository: https://github.com/yehonathanlitman/LightSwitch
Abstract
Recent approaches for 3D relighting have shown promise in integrating 2D image relighting generative priors to alter the appearance of a 3D representation while preserving the underlying structure. Nevertheless, generative priors used for 2D relighting that directly relight from an input image do not take advantage of intrinsic properties of the subject that can be inferred or cannot consider multi-view data at scale, leading to subpar relighting. In this paper, we propose Lightswitch, a novel finetuned material-relighting diffusion framework that efficiently relights an arbitrary number of input images to a target lighting condition while incorporating cues from inferred intrinsic properties. By using multi-view and material information cues together with a scalable denoising scheme, our method consistently and efficiently relights dense multi-view data of objects with diverse material compositions. We show that our 2D relighting prediction quality exceeds previous state-of-the-art relighting priors that directly relight from images. We further demonstrate that LightSwitch matches or outperforms state-of-the-art diffusion inverse rendering methods in relighting synthetic and real objects in as little as 2 minutes.
Usage
You can easily load LightSwitch components using the Hugging Face diffusers
library. For full usage, including data preparation (masks, poses) and running the multi-view relighting, please refer to the official GitHub repository.
from diffusers import DiffusionPipeline
# Load the pretrained model (example path from original GitHub README)
# Note: This is a UNet2DConditionModel, typically part of a larger DiffusionPipeline.
# The `thebluser/lightswitch-multi-fov` refers to a specific model version or pipeline on the Hub.
pipeline = DiffusionPipeline.from_pretrained("thebluser/lightswitch-multi-fov", trust_remote_code=True)
# Actual usage involves complex inputs (image, mask, intrinsics, extrinsics, envmap).
# The model is designed for multi-view relighting and integrates with 3DGS.
# Please consult the GitHub repository's "Running" section for detailed instructions:
# https://github.com/yehonathanlitman/LightSwitch#running
Citation
If you use any parts of our work, please cite the following:
@inproceedings{litman2025lightswitch,
author = {Yehonathan Litman and Fernando De la Torre and Shubham Tulsiani},
title = {LightSwitch: Multi-view Relighting with Material-guided Diffusion},
booktitle = {ICCV},
year = {2025}
}
- Downloads last month
- 6