explaingit

elksun98/gicd-net

11Audience · researcherComplexity · 5/5ActiveSetup · hard

TLDR

PyTorch research codebase for a low-light and image-dehazing network that stacks a base enhancer, a prior-guided IPB branch, and a conditional diffusion residual branch.

Mindmap

mindmap
  root((GICD-Net))
    Inputs
      Low light images
      Hazy images
      Paired ground truth
    Outputs
      Enhanced images
      PSNR SSIM LPIPS scores
      Diffusion residuals
    Use Cases
      Train enhancement network
      Reproduce paper results
      Run inference on photos
    Tech Stack
      Python
      PyTorch
      CUDA
      Diffusion

Things people build with this

USE CASE 1

Reproduce low-light enhancement results on the LOL dataset with the paired training pipeline

USE CASE 2

Train the dehazing variant on the NHC dataset and compare PSNR, SSIM, and LPIPS

USE CASE 3

Run the no-reference quality scripts to score outputs with TOPIQ, MANIQA, MUSIQ, and BRISQUE

USE CASE 4

Ablate the IPB branch or the diffusion branch to study each module's contribution

Tech stack

PythonPyTorchCUDADiffusion

Getting it running

Difficulty · hard Time to first run · 1day+

Needs a CUDA-capable GPU, paired low-light or hazy datasets matched by filename, and the README is in Chinese.

In plain English

GICD-Net is a research project, written in PyTorch, that trains a neural network to make low light photos and hazy photos look brighter and clearer. The README, which is written in Chinese, says the codebase contains three things stacked together: a basic enhancement network, an extra branch called IPB that uses prior knowledge about lighting, and a third branch based on a conditional diffusion model that adds residual detail. There are also scripts for training, running the model on new images, and measuring image quality. The layout of the project follows a typical PyTorch research repository. lowlight_train.py is the training entry, lowlight_test.py runs inference and computes PSNR, SSIM, and LPIPS scores against ground truth. Other files cover the dataset loader, the model itself, custom loss functions, a high frequency and low frequency multi scale constraint module, no reference image quality scripts that compute TOPIQ, MANIQA, LIQE, MUSIQ, TReS, BRISQUE, and Contrast, an ablation study script, and a separate diffusion subfolder. Local data and generated outputs are excluded from git. Setup needs Python 3.8 or higher and a CUDA build of PyTorch. The README walks through making a virtual environment with python -m venv and installing requirements.txt, with separate notes for Linux, macOS, and Windows PowerShell. The training data has to be in paired folders: a low light or hazy input image and a matching ground truth image with the exact same filename. Two datasets are mentioned, LOL for low light and NHC for haze, each laid out under data with train and test subfolders. The README provides many example command lines. There are commands for training the base model on LOL, training with IPB enabled, joint end to end training of all three components, and training the diffusion model on top of an existing backbone. The inference section shows how to run with paired ground truth, how to run on unlabeled images, how to save intermediate outputs, and how to use only the backbone without the diffusion branch. The same patterns repeat for the NHC haze dataset.

Copy-paste prompts

Prompt 1
Walk me through setting up a CUDA PyTorch venv and installing requirements.txt for GICD-Net
Prompt 2
Show me the lowlight_train.py command that enables joint end-to-end training of all three branches
Prompt 3
Lay out a LOL dataset under data/ with the train and test paired folders this repo expects
Prompt 4
Run lowlight_test.py on unlabeled images and save the intermediate outputs from the backbone only
Prompt 5
Explain how the conditional diffusion branch adds residual detail on top of the base enhancer
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.