Back to Academic/Research
Research PreviewSpecializedimageUpdated May 15, 2026

ControlLight: Controllable Low-Light Image Enhancement

ControlLight is a controllable, consistent, and generalizable low-light image enhancement framework introduced by Yufeng Yang et al. (May 2026). Built as a Low-Rank Adaptation (LoRA) upon the FLUX.2-klein-9B generative foundation architecture, ControlLight empowers users with continuous control over illumination enhancement strength via an adjustable scaling parameter ($\alpha$).


🔬 Key Features & Core Innovations

  • Controllable Illumination Scale ($\alpha$): Allows continuous adjustment of enhancement intensity from mild shadow recovery ($\alpha \to 0$) to bright, well-exposed scenes ($\alpha \to 1$) without overexposure or contrast loss.
  • FLUX.2-klein-9B LoRA Adaptation: Leverages the high visual quality and deep generative priors of FLUX.2-klein-9B while training lightweight LoRA weights (controllight.safetensors).
  • Structural & Detail Preservation: Ensures strict preservation of underlying scene layout, high-frequency textures, and edge fidelity even under severe low-light conditions.
  • Light100K Dataset: Trained on Light100K, a curated large-scale dataset specifically constructed for continuous illumination learning.
bash
Low-Light Input (x_0) ──► Latent Encoder ──► FLUX.2-klein-9B + ControlLight LoRA (scale α) ──► Enhanced Image

🚀 Quickstart & Usage

bash
git clone https://github.com/yfyang007/ControlLight.git
cd ControlLight
conda create -n controlight python=3.12 -y
conda activate controlight
pip install -r requirements.txt
python
import torch
from diffusers import FluxPipeline

# Load base FLUX.2-klein-9B pipeline
pipe = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.2-klein-base-9B",
    torch_dtype=torch.bfloat16
).to("cuda")

# Attach ControlLight LoRA weights
pipe.load_lora_weights("ControlLight/ControlLight", weight_name="controllight.safetensors")

# Enhance low-light image with controllable alpha strength
alpha_strength = 0.5  # Range [0.0, 1.0]
enhanced_image = pipe(
    prompt="A clearly lit scene with natural colors and balanced contrast",
    image=input_image,
    joint_attention_kwargs={"scale": alpha_strength},
    num_inference_steps=20,
    guidance_scale=1.0,
).images[0]

enhanced_image.save("enhanced_output.png")

🔗 Official Links & Resources

Key Features

Controllable illumination strength via continuous scaling factor alpha (0.0 to 1.0)

Feature 01

Built on FLUX.2-klein-9B architecture using Low-Rank Adaptation (LoRA)

Feature 02

Structural preservation and fine-grained visual detail retention

Feature 03

Trained on Light100K dataset for continuous illumination learning

Feature 04

Evaluated on RealIR-Bench, LOL-v1, LWSR, DICM, and LIME benchmarks

Feature 05

You might also want to compare

Verified Sources

Tags

research-previewlow-light-enhancementflux2loraimage-to-imagecomputer-vision

Model Specs

research-preview

Parameters

9B (FLUX.2-klein Base) + LoRA

Context Window

undisclosed

License

Other/Custom

Deployment

self-hostable

Resources & Links

Curator Notes

Verified academic/research paper (arXiv:2605.25569). Authored by Yufeng Yang et al.

Compare Specs

Compare parameters, context windows, modalities, and benchmark scores of this model side-by-side with others.

Compare Model