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.
Saved evaluation run:
- Parameters: 1.49M
- FLOPs: 6.83 GFLOPs at
256x256
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 |
backend/: training, evaluation, notebooks, outputs, and Python testsconfigs/: dataset, model, training, evaluation, and ablation configsintegrations/: Hugging Face Space bundle and copied runtime model filesui/: Next.js frontend and API routesapp.py: root launcher that reusesintegrations/app.py
- Python 3.12 or newer
- Node.js 18 or newer
- npm
Step 1: Clone the repository
git clone https://github.com/Himidiri/LumiNet.gitStep 2: Go to the UI folder
cd LumiNet/uiStep 3: Install the UI packages
npm installStep 4: Start the UI
npm run devOpen http://localhost:3000.
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 LumiNetStep 2: Create a Python virtual environment (recommended)
python3 -m venv .venvStep 3: Activate the virtual environment
source .venv/bin/activateStep 4: Install the backend packages
pip install -r integrations/requirements.txtStep 5: Start the local Gradio app
python app.pypython3 -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.