Official implementation for “Unsupervised Low-Light Image Enhancement via Histogram Equalization Prior”

Related tags

Deep Learning HEP
Overview

HEP

Unsupervised Low-Light Image Enhancement via Histogram Equalization Prior

Implementation

  • Python3
  • PyTorch>=1.0
  • NVIDIA GPU+CUDA

Training process

The original LOL dataset can be downloaded from here. The EnlightenGAN dataset can be downloaded from here Before starting training process, you should modify the data_root in ./config, and then run the following command

python LUM_train.py
python NDM_train.py

Testing process

Please put test images into 'test_images' folder and download the pre-trained checkpoints from google drive(put it into ./checkpoints), then just run

python NDM_test.py

You can also just evaluate the stage one (LUM), just run

python LUM_test.py

Paper Summary

HEP consists of two stages, Light Up Module (LUM) and Noise Disentanglement Module (LUM) Main Pipeline

Representative Visual Results

LOL SCIE

More visual results can be found in asssets.

Citation

if you find this repo is helpful, please cite

@article{zhang2021unsupervised,
  title={Unsupervised Low-Light Image Enhancement via Histogram Equalization Prior},
  author={Zhang, Feng and Shao, Yuanjie and Sun, Yishi and Zhu, Kai and Gao, Changxin and Sang, Nong},
  journal={arXiv preprint arXiv:2112.01766},
  year={2021}
}
You might also like...
pytorch implementation of
pytorch implementation of "Contrastive Multiview Coding", "Momentum Contrast for Unsupervised Visual Representation Learning", and "Unsupervised Feature Learning via Non-Parametric Instance-level Discrimination"

Unofficial implementation: MoCo: Momentum Contrast for Unsupervised Visual Representation Learning (Paper) InsDis: Unsupervised Feature Learning via N

I-SECRET: Importance-guided fundus image enhancement via semi-supervised contrastive constraining

I-SECRET This is the implementation of the MICCAI 2021 Paper "I-SECRET: Importance-guided fundus image enhancement via semi-supervised contrastive con

LLVIP: A Visible-infrared Paired Dataset for Low-light Vision
LLVIP: A Visible-infrared Paired Dataset for Low-light Vision

LLVIP: A Visible-infrared Paired Dataset for Low-light Vision Project | Arxiv | Abstract It is very challenging for various visual tasks such as image

Official Pytorch implementation of ICLR 2018 paper Deep Learning for Physical Processes: Integrating Prior Scientific Knowledge.
Official Pytorch implementation of ICLR 2018 paper Deep Learning for Physical Processes: Integrating Prior Scientific Knowledge.

Deep Learning for Physical Processes: Integrating Prior Scientific Knowledge: Official Pytorch implementation of ICLR 2018 paper Deep Learning for Phy

[NeurIPS 2020] Blind Video Temporal Consistency via Deep Video Prior
[NeurIPS 2020] Blind Video Temporal Consistency via Deep Video Prior

pytorch-deep-video-prior (DVP) Official PyTorch implementation for NeurIPS 2020 paper: Blind Video Temporal Consistency via Deep Video Prior TensorFlo

 Exploring Versatile Prior for Human Motion via Motion Frequency Guidance (3DV2021)
Exploring Versatile Prior for Human Motion via Motion Frequency Guidance (3DV2021)

Exploring Versatile Prior for Human Motion via Motion Frequency Guidance This is the codebase for video-based human motion reconstruction in human-mot

The official implementation of ICCV paper
The official implementation of ICCV paper "Box-Aware Feature Enhancement for Single Object Tracking on Point Clouds".

Box-Aware Tracker (BAT) Pytorch-Lightning implementation of the Box-Aware Tracker. Box-Aware Feature Enhancement for Single Object Tracking on Point C

Implementation for paper "STAR: A Structure-aware Lightweight Transformer for Real-time Image Enhancement" (ICCV 2021).

STAR-pytorch Implementation for paper "STAR: A Structure-aware Lightweight Transformer for Real-time Image Enhancement" (ICCV 2021). CVF (pdf) STAR-DC

(under submission) Bayesian Integration of a Generative Prior for Image Restoration
(under submission) Bayesian Integration of a Generative Prior for Image Restoration

BIGPrior: Towards Decoupling Learned Prior Hallucination and Data Fidelity in Image Restoration Authors: Majed El Helou, and Sabine Süsstrunk {Note: p

Comments
  • Question about using reflectance map as the output

    Question about using reflectance map as the output

    Hi, the HE prior is awesome, but I am kind of confused about directly using (denoised) reflectance map as the final output, without combined with the (enhanced) illumination map. In most low-light enhancement methods, to my knowledge, they separately enhance the reflectance map and the illumination map, and multiply them to construct the final enhanced image. I am wondering if it is a intended design? Will the output be over-brighten?

    opened by QiuJueqin 1
  • Dimension mismatch for x2 and x5 in LUM_model.py

    Dimension mismatch for x2 and x5 in LUM_model.py

    Traceback (most recent call last): File "LUM_train.py", line 156, in main() File "LUM_train.py", line 134, in main r_x, i_x = light(val_x) File "/anaconda/envs/azureml_py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl return forward_call(*input, **kwargs) File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/deepakpanda4/code/Users/deepakpanda/HEP/models/LUM_model.py", line 48, in forward cat5 = torch.cat((x5, x2), dim=1) RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 766 but got size 765 for tensor number 1 in the list.

    opened by deepakkupanda 1
  • Normalization in VGG preprocess

    Normalization in VGG preprocess

    Hi, as stated in torchvision page, the input to torchvision's pretrained VGG should be RGB format and normalized by mean=[0.485, 0.456, 0.406] and std=[0.229, 0.224, 0.225].

    However in your code, RGB image is converted to BGR format and normalized by mean=[103.939, 116.779, 123.680] and std=[1.0, 1.0, 1.0]:

    https://github.com/fengzhang427/HEP/blob/c0188bb3c69f2d5f8842f6ee2987b6fa5eb46241/utils.py#L219-L229

    Should this be fixed?

    opened by QiuJueqin 1
Owner
FengZhang
Ph.D. Candidates.
FengZhang
Tensorflow implementation of MIRNet for Low-light image enhancement

MIRNet Tensorflow implementation of the MIRNet architecture as proposed by Learning Enriched Features for Real Image Restoration and Enhancement. Lanu

Soumik Rakshit 91 Jan 6, 2023
From Fidelity to Perceptual Quality: A Semi-Supervised Approach for Low-Light Image Enhancement (CVPR'2020)

Under-exposure introduces a series of visual degradation, i.e. decreased visibility, intensive noise, and biased color, etc. To address these problems, we propose a novel semi-supervised learning approach for low-light image enhancement.

Yang Wenhan 117 Jan 3, 2023
The code release of paper Low-Light Image Enhancement with Normalizing Flow

[AAAI 2022] Low-Light Image Enhancement with Normalizing Flow Paper | Project Page Low-Light Image Enhancement with Normalizing Flow Yufei Wang, Renji

Yufei Wang 176 Jan 6, 2023
The code of Zero-shot learning for low-light image enhancement based on dual iteration

Zero-shot-dual-iter-LLE The code of Zero-shot learning for low-light image enhancement based on dual iteration. You can get the real night image tests

null 1 Mar 18, 2022
Learning Lightweight Low-Light Enhancement Network using Pseudo Well-Exposed Images

Learning Lightweight Low-Light Enhancement Network using Pseudo Well-Exposed Images This repository contains the implementation of the following paper

Seonggwan Ko 9 Jul 30, 2022
3D2Unet: 3D Deformable Unet for Low-Light Video Enhancement (PRCV2021)

3DDUNET This is the code for 3D2Unet: 3D Deformable Unet for Low-Light Video Enhancement (PRCV2021) Conference Paper Link Dataset We use SMOID dataset

null 1 Jan 7, 2022
Code for HLA-Face: Joint High-Low Adaptation for Low Light Face Detection (CVPR21)

HLA-Face: Joint High-Low Adaptation for Low Light Face Detection The official PyTorch implementation for HLA-Face: Joint High-Low Adaptation for Low L

Wenjing Wang 77 Dec 8, 2022
The official implementation of Equalization Loss v1 & v2 (CVPR 2020, 2021) based on MMDetection.

The Equalization Losses for Long-tailed Object Detection and Instance Segmentation This repo is official implementation CVPR 2021 paper: Equalization

Jingru Tan 129 Dec 16, 2022
EDCNN: Edge enhancement-based Densely Connected Network with Compound Loss for Low-Dose CT Denoising

EDCNN: Edge enhancement-based Densely Connected Network with Compound Loss for Low-Dose CT Denoising By Tengfei Liang, Yi Jin, Yidong Li, Tao Wang. Th

workingcoder 115 Jan 5, 2023
A Low Complexity Speech Enhancement Framework for Full-Band Audio (48kHz) based on Deep Filtering.

DeepFilterNet A Low Complexity Speech Enhancement Framework for Full-Band Audio (48kHz) based on Deep Filtering. libDF contains Rust code used for dat

Hendrik Schröter 292 Dec 25, 2022