Giter Club home page Giter Club logo

denim's Introduction

DeNIM: Deterministic Neural Illuminant Mapping for Efficient Auto-White Balance Correction

Deterministic Neural Illuminant Mapping for Efficient Auto-White Balance Correction
Furkan Kınlı, Doğa Yılmaz, Barış Özcan, Furkan Kıraç
Accepted to RCV2023 at ICCV2023

Abstract: Auto-white balance (AWB) correction is a critical operation in image signal processors (ISPs) for accurate and consistent color correction across various illumination scenarios. This paper presents a novel and efficient AWB correction method that achieves at least 35 times faster processing with equivalent or superior performance on high-resolution images for the current state-of-the-art methods. Inspired by deterministic color style transfer, our approach introduces deterministic illumination color mapping, leveraging learnable projection matrices for both canonical illumination form and AWB-corrected output. It involves feeding high-resolution images and corresponding latent representations into a mapping module to derive a canonical form, followed by another mapping module that maps the pixel values to those for the corrected version. This strategy is designed as resolution-agnostic and also enables seamless integration of any pre-trained AWB network as the backbone. Experimental results confirm the effectiveness of our approach, revealing significant performance improvements and reduced time complexity compared to state-of-the-art methods. Our method provides an efficient deep learning-based AWB correction solution, promising real-time, high- quality color correction for digital imaging applications.

Description

The official implementation of the paper titled "Deterministic Neural Illuminant Mapping for Efficient Auto-White Balance Correction". We propose a novel and efficient strategy for AWB correction, which learns deterministic color mappings for both canonical illumination and AWB-corrected forms with the help of learnable projection matrices.

Requirements

To install requirements:

pip install -r requirements.txt

Architecture

Updates

8/8/2023: Release of the code

6/8/2023 Accepted to RCV2023 in conjunction with ICCV2023

26/7/2023: Submission of the paper to RCV2023 at ICCV2023

Training

To train DeNIM from the scratch in the paper, run this command:

python main.py --cfg configs/train_<backbone_type>_<patch_size>_<num_channels>.yaml
  • Available backbones: "style_wb", "mixed_wb"
  • Available patch sizes: 64, 128
  • Available number of channels for different WB settings: 9, 15

Pre-trained weights

To prepare pre-trained weights for both backbones and DeNIM, download files from link, then:

mv weights.zip DeNIM/
cd DeNIM
unzip weights.zip

Evaluation

To evaluate DeNIM on Cube+ dataset, run:

python main.py --cfg configs/test_<backbone_type>_<patch_size>_<num_channels>.yaml --is_train False

Citation

TDB

Contacts

Please feel free to open an issue or to send an e-mail to [email protected]

denim's People

Contributors

birdortyedi avatar

Stargazers

Big Totoro avatar Srinivas Venkatanarayanan avatar Matthew Lee avatar  avatar  avatar Junyan ye avatar Jianming Guo avatar lili avatar Doga Yilmaz avatar Mert Erkol avatar Tjiang avatar  avatar Andrew Zhang avatar

Watchers

Furkan Kıraç avatar  avatar

Forkers

mthli sangenan

denim's Issues

Something question about single-illuminant Cube+ dataset

Hi ,
thanks for your work in color consistency. I thik it is helpful for me.

But i was encountering some question in your evaluation.
When i tried to download the single-illuminant Cube+ dataset, i found the resource in ground truth image only given the illuminant estimate (txt) not the images.
Could you release the ground truth image for dowloading,or teaching me how to reconstruct the ground truth image?

very thanks,

Error when trying to run evaluation code

I get an error when running the evaluation code you provided. Please advise how to correct it. Thank you.

Traceback (most recent call last):
File "C:\DeNIM-main\main.py", line 18, in
fire.Fire(run)
File "C:\DeNIM-main\venv39\lib\site-packages\fire\core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "C:\DeNIM-main\venv39\lib\site-packages\fire\core.py", line 466, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "C:\DeNIM-main\venv39\lib\site-packages\fire\core.py", line 681, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "C:\DeNIM-main\main.py", line 13, in run
runner = AWBCorrectionTester(cfg)
File "C:\DeNIM-main\engine\tester.py", line 23, in init
self.dataset = dataset_getter(self.DATASET_NAME)(root=self.DATASET_ROOT, transform=self.transform)
File "C:\DeNIM-main\dataset\awb.py", line 39, in init
self.GTs = list((Path(root) / "GTs").iterdir())
File "C:\python39\lib\pathlib.py", line 1160, in iterdir
for name in self._accessor.listdir(self):
FileNotFoundError: [WinError 3] The specified path can not be found。: '\media\birdortyedi\e5042b8f-ca5e-4a22-ac68-7e69ff648bc4\RenderedWB\GTs'

Inquire the score testing on cube+dataset

Hi, I read your paper and found it very interesting

But ,I tried using your pre-trained weights with the Cube+ dataset, and the environment is also the same. However, the scores are significantly different from the data in your paper. Have you encountered this issue before? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.