Skip to content

Unpaired Raw-to-Raw Translation for Learnable Camera ISPs

License

Notifications You must be signed in to change notification settings

gosha20777/rawformer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rawformer: Unpaired Raw-to-Raw Translation for Learnable Camera ISPs

🚀 The paper was accepted to the ECCV 2024 conference. The preprint is available on arXiv. 🚀

Authors

Georgy Perevozchikov, Nancy Mehta, Mahmoud Afifi, Radu Timofte

Rawformer

Abstract

Modern smartphone camera quality heavily relies on the image signal processor (ISP) to enhance captured raw images, utilizing carefully designed modules to produce final output images encoded in a standard color space (e.g., sRGB). Neural-based end-to-end learnable ISPs offer promising advancements, potentially replacing traditional ISPs with their ability to adapt without requiring extensive tuning for each new camera model, as is often the case for nearly every module in traditional ISPs. However, the key challenge with the recent learning-based ISPs is the urge to collect large paired datasets for each distinct camera model due to the influence of intrinsic camera characteristics on the formation of input raw images. This paper tackles this challenge by introducing a novel method for unpaired learning of raw-to-raw translation across diverse cameras. Specifically, we propose Rawformer, an unsupervised Transformer-based encoder-decoder method for raw-to-raw translation. It accurately maps raw images captured by a certain camera to the target camera, facilitating the generalization of learnable ISPs to new unseen cameras. Our method demonstrates superior performance on real camera datasets, achieving higher accuracy compared to previous state-of-the-art techniques, and preserving a more robust correlation between the original and translated raw images.

To Do

It is the first version of the code (0.1.0). We are working on the following tasks:

  • Release Rawformer code
  • Upload prepared datasets
  • Upload the pre-trained models
  • Rewrite the code to pytorch-lightning
  • Add ONNX export scripts

Datasets

Data Structure

- data
    - <dataset_name>
        - trainA
            - img1.jpg, img2.jpg, ...
        - trainB
            - imgA.jpg, imgB.jpg, ...
        - trainA
            - img1.jpg, img2.jpg, ...
        - trainB
            - imgA.jpg, imgB.jpg, ...

Dowload Datasets

Under construction

Pretained Models

Under construction

How To Use

Setup The Environment

git clone https://github.com/gosha20777/rawformer.git
cd rawformer
conda env create -n rawformer -f environment.yaml
conda activate rawformer
python setup.py install

Train Rawformer

Pretrain Generator

cd experiments/<experiment_name>
python pretrain.py --batch-size 8

Train Rawformer

cd experiments/<experiment_name>
python train.py

Test Rawformer

cd experiments/<experiment_name>
python predict.py <model_path> --split test

Citation

@article{perevozchikov2024rawformer,
  title={Rawformer: Unpaired Raw-to-Raw Translation for Learnable Camera ISPs},
  author={Perevozchikov, Georgy and Mehta, Nancy and Afifi, Mahmoud and Timofte, Radu},
  journal={arXiv preprint arXiv:2404.10700},
  year={2024}
}

About

Unpaired Raw-to-Raw Translation for Learnable Camera ISPs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages