Home

Awesome

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:

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}
}