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

Teaser image

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
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support