Skip to content

Himidiri/LumiNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LumiNet: Single-Stage CNN for Low-Light Enhancement and Denoising

Backend CI UI CI Deploy Hugging Face Space

LumiNet is a compact single-stage CNN developed for joint low-light image enhancement and denoising. Poor illumination, image noise, colour distortion, and detail loss are addressed within a single forward pass, enabling efficient image restoration while avoiding the complexity often found in multi-stage approaches. The project focuses on lightweight design, practical deployment, and real-world usability for efficient image restoration in low-light conditions.

High-Level Architecture

High-Level Architecture

Model Profile

Saved evaluation run:

  • Parameters: 1.49M
  • FLOPs: 6.83 GFLOPs at 256x256

Test-Split Evaluation

The table below shows saved evaluation results.

Dataset Task PSNR SSIM LPIPS Exposure Error Colour Error
DLL Enhancement 18.88 0.5714 0.3307 0.0873 0.0120
LOLv2-Real Enhancement 21.13 0.8422 0.1783 0.0713 0.0138
LSRW Enhancement 17.67 0.5631 0.2657 0.1013 0.0138
SIDD Denoising 35.23 0.9123 0.1760 - 0.0048
NLL Joint 17.97 0.5598 0.3667 0.0988 0.0126

Repository Layout

  • backend/: training, evaluation, notebooks, outputs, and Python tests
  • configs/: dataset, model, training, evaluation, and ablation configs
  • integrations/: Hugging Face Space bundle and copied runtime model files
  • ui/: Next.js frontend and API routes
  • app.py: root launcher that reuses integrations/app.py

Requirements

  • Python 3.12 or newer
  • Node.js 18 or newer
  • npm

How to Use

1. Run the UI

Step 1: Clone the repository

git clone https://github.com/Himidiri/LumiNet.git

Step 2: Go to the UI folder

cd LumiNet/ui

Step 3: Install the UI packages

npm install

Step 4: Start the UI

npm run dev

Open http://localhost:3000.

2. Run the backend locally

Use these steps when local LumiNet inference is needed for the web UI or for direct local testing.

Step 1: Go to the project root

cd LumiNet

Step 2: Create a Python virtual environment (recommended)

python3 -m venv .venv

Step 3: Activate the virtual environment

source .venv/bin/activate

Step 4: Install the backend packages

pip install -r integrations/requirements.txt

Step 5: Start the local Gradio app

python app.py

python3 -m venv .venv helps keep LumiNet packages separate from other Python projects.

source .venv/bin/activate is needed only when .venv is used. If the required packages are already installed in another Python environment, Step 2 and Step 3 can be skipped.

About

LumiNet is a research-focused compact single-stage CNN for joint low-light image enhancement and denoising, designed to restore illumination, suppress noise, and preserve structural detail in a single forward pass.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors