Large Scale Multi-Illuminant (LSMI) Dataset for Developing White Balance Algorithm under Mixed Illumination

Overview

Large Scale Multi-Illuminant (LSMI) Dataset for Developing White Balance Algorithm under Mixed Illumination (ICCV 2021)

스크린샷 2021-08-21 오후 3 30 22

Dataset License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

About

[Project site] [Arxiv] [Download Dataset] [Video]

This is an official repository of "Large Scale Multi-Illuminant (LSMI) Dataset for Developing White Balance Algorithm under Mixed Illumination", which is accepted as a poster in ICCV 2021.

This repository provides

  1. Preprocessing code of "Large Scale Multi Illuminant (LSMI) Dataset"
  2. Code of Pixel-level illumination inference U-Net
  3. Pre-trained model parameter for testing U-Net

Requirements

Our running environment is as follows:

  • Python version 3.8.3
  • Pytorch version 1.7.0
  • CUDA version 11.2

We provide a docker image, which supports all extra requirements (ex. dcraw,rawpy,tensorboard...), including specified version of python, pytorch, CUDA above.

You can download the docker image here.

The following instructions are assumed to run in a docker container that uses the docker image we provided.

Getting Started

Clone this repo

In the docker container, clone this repository first.

git clone https://github.com/DY112/LSMI-dataset.git

Download the LSMI dataset

You should first download the LSMI dataset from here.

The dataset is composed of 3 sub-folers named "galaxy", "nikon", "sony".

Folders named by each camera include several scenes, and each scene folder contains full-resolution RAW files and JPG files that is converted to sRGB color space.

Move all three folders to the root of cloned repository.

Preprocess the LSMI dataset

  1. Convert raw images to tiff files

    To convert original 1-channel bayer-pattern images to 3-channel RGB tiff images, run following code:

    python 0_cvt2tiff.py

    You should modify SOURCE and EXT variables properly.

    The converted tiff files are generated at the same location as the source file.

  2. Make mixture map

    python 1_make_mixture_map.py

    Change the CAMERA variable properly to the target directory you want.

    .npy tpye mixture map data will be generated at each scene's directory.

  3. Crop

    python 2_preprocess_data.py

    The image and the mixture map are resized as a square with a length of the SIZE variable inside the code, and the ground-truth image is also generated.

    We set the size to 256 to test the U-Net, and 512 for train the U-Net.

    Here, to test the pre-trained U-Net, set size to 256.

    The new dataset is created in a folder with the name of the CAMERA_SIZE. (Ex. galaxy_256)

Use U-Net for pixel-level AWB

You can download pre-trained model parameter here.

Pre-trained model is trained on 512x512 data with random crop & random pixel level relighting augmentation method.

Locate downloaded models folder into SVWB_Unet.

  • Test U-Net

    cd SVWB_Unet
    sh test.sh
  • Train U-Net

    cd SVWB_Unet
    sh train.sh
You might also like...
Code for "Modeling Indirect Illumination for Inverse Rendering", CVPR 2022

Modeling Indirect Illumination for Inverse Rendering Project Page | Paper | Data Preparation Set up the python environment conda create -n invrender p

A Python framework for developing parallelized Computational Fluid Dynamics software to solve the hyperbolic 2D Euler equations on distributed, multi-block structured grids.
A Python framework for developing parallelized Computational Fluid Dynamics software to solve the hyperbolic 2D Euler equations on distributed, multi-block structured grids.

pyHype: Computational Fluid Dynamics in Python pyHype is a Python framework for developing parallelized Computational Fluid Dynamics software to solve

Time-series-deep-learning - Developing Deep learning LSTM, BiLSTM models, and NeuralProphet for multi-step time-series forecasting of stock price.
Time-series-deep-learning - Developing Deep learning LSTM, BiLSTM models, and NeuralProphet for multi-step time-series forecasting of stock price.

Stock Price Prediction Using Deep Learning Univariate Time Series Predicting stock price using historical data of a company using Neural networks for

Code for "Diversity can be Transferred: Output Diversification for White- and Black-box Attacks"

Output Diversified Sampling (ODS) This is the github repository for the NeurIPS 2020 paper "Diversity can be Transferred: Output Diversification for W

Annotated notes and summaries of the TensorFlow white paper, along with SVG figures and links to documentation

TensorFlow White Paper Notes Features Notes broken down section by section, as well as subsection by subsection Relevant links to documentation, resou

A customisable game where you have to quickly click on black tiles in order of appearance while avoiding clicking on white squares.

W.I.P-Aim-Memory-Game A customisable game where you have to quickly click on black tiles in order of appearance while avoiding clicking on white squar

This Artificial Intelligence program can take a black and white/grayscale image and generate a realistic or plausible colorized version of the same picture.

Colorizer The point of this project is to write a program capable of taking a black and white / grayscale image, and generating a realistic or plausib

A large dataset of 100k Google Satellite and matching Map images, resembling pix2pix's Google Maps dataset.
A large dataset of 100k Google Satellite and matching Map images, resembling pix2pix's Google Maps dataset.

Larger Google Sat2Map dataset This dataset extends the aerial ⟷ Maps dataset used in pix2pix (Isola et al., CVPR17). The provide script download_sat2m

This is the official repository for evaluation on the NoW Benchmark Dataset. The goal of the NoW benchmark is to introduce a standard evaluation metric to measure the accuracy and robustness of 3D face reconstruction methods from a single image under variations in viewing angle, lighting, and common occlusions.
Comments
  • [DATA] mixture map generation

    [DATA] mixture map generation

    Hi DongYoung,

    I met some problem when using the generated the mixture map from Nikon D810 dataset. Could you check the scene I put in following? It's a kinda weird illumination contour. The image is Place550_12, in Nikon dataset. I do have a different result both from rawpy and own prediction at the blueish color cast area.

    Place550_12

    Thanks

    opened by Haoban 3
  • json files for nikon and sony subsets

    json files for nikon and sony subsets

    Could you please share JSON files for nikon and sony subsets separately from RAW data zips? Especially the one for metadata, namely "meta.json".

    We could extract the RAW data without downloading z01 and z02 files by using some unzipping tricks, however, it does not produce JSON files for the metadata. This leads to some issues in preparing mixture maps.

    We do not have storage space for downloading all of them at that time. So, if you have any chance to share JSON files for nikon and sony subsets, we would be very happy!

    opened by birdortyedi 1
  • Which script is used to get the correct GT?

    Which script is used to get the correct GT?

    To obtain sRGB images of ground truth,I processed the images in two ways with your scripts. For detail: 1st: run '1_make_mixture_map.py' with 'VISUALIZE=True'. And I got GT sRGB image, e.g. 'Placexxx_wb12.png'. 2nd: run '2_preprocess_data.py' with full resolution(i.e. SQUARE_CROP = False, SIZE = None, TEST_SIZE = None), and got GT tiff image, e.g. 'Placexxx_12_gt.tiff'. Then processed it with 'visualize.py' and got GT sRGB image, e.g. 'Placexxx_12_gt.png'. HOWEVER, I compared these two sRGB images, and they are different. What causes this and what should I do to fix it? Looking forward to your reply.

    opened by 0Error0Warning 1
  • Error in Visualization part

    Error in Visualization part

    For visualising coefficient map(.npy file) , I have changed VISUALIZE to True. After making this changes in make_mixture_map file ,I run this file then it is showing ValueError: could not broadcast input array from shape(6000,8000) into shape (1500,2000),line 214, in apply_wb_raw.

    opened by Sakshi-Sagar673 0
Owner
DongYoung Kim
Research Assistant of CIPLAB
DongYoung Kim
Official Implementation and Dataset of "PPR10K: A Large-Scale Portrait Photo Retouching Dataset with Human-Region Mask and Group-Level Consistency", CVPR 2021

Portrait Photo Retouching with PPR10K Paper | Supplementary Material PPR10K: A Large-Scale Portrait Photo Retouching Dataset with Human-Region Mask an

null 184 Dec 11, 2022
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)

scikit-opt Swarm Intelligence in Python (Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Algorithm, Immune Algorithm,A

郭飞 3.7k Jan 3, 2023
An algorithm that handles large-scale aerial photo co-registration, based on SURF, RANSAC and PyTorch autograd.

An algorithm that handles large-scale aerial photo co-registration, based on SURF, RANSAC and PyTorch autograd.

Luna Yue Huang 41 Oct 29, 2022
A large-scale video dataset for the training and evaluation of 3D human pose estimation models

ASPset-510 ASPset-510 (Australian Sports Pose Dataset) is a large-scale video dataset for the training and evaluation of 3D human pose estimation mode

Aiden Nibali 36 Oct 30, 2022
A large-scale video dataset for the training and evaluation of 3D human pose estimation models

ASPset-510 (Australian Sports Pose Dataset) is a large-scale video dataset for the training and evaluation of 3D human pose estimation models. It contains 17 different amateur subjects performing 30 sports-related actions each, for a total of 510 action clips.

Aiden Nibali 25 Jun 20, 2021
A Large-Scale Dataset for Spinal Vertebrae Segmentation in Computed Tomography

A Large-Scale Dataset for Spinal Vertebrae Segmentation in Computed Tomography

ICT.MIRACLE lab 75 Dec 26, 2022
A pytorch implementation of the CVPR2021 paper "VSPW: A Large-scale Dataset for Video Scene Parsing in the Wild"

VSPW: A Large-scale Dataset for Video Scene Parsing in the Wild A pytorch implementation of the CVPR2021 paper "VSPW: A Large-scale Dataset for Video

null 45 Nov 29, 2022
LIVECell - A large-scale dataset for label-free live cell segmentation

LIVECell dataset This document contains instructions of how to access the data associated with the submitted manuscript "LIVECell - A large-scale data

Sartorius Corporate Research 112 Jan 7, 2023
A large-scale face dataset for face parsing, recognition, generation and editing.

CelebAMask-HQ [Paper] [Demo] CelebAMask-HQ is a large-scale face image dataset that has 30,000 high-resolution face images selected from the CelebA da

switchnorm 1.7k Dec 26, 2022
Official implementation of "Robust channel-wise illumination estimation"

This repository provides the official implementation of "Robust channel-wise illumination estimation." accepted in BMVC (2021).

Firas Laakom 4 Nov 8, 2022