Skip to content

amberwangyili/neurop

Repository files navigation

Neural Color Operators for Sequential Image Retouching (ECCV2022)

Yili Wang, Xin Li, Kun Xu, Dongliang He, Qi Zhang, Fu Li, Errui Ding

[arXiv] [project] [doi]

[Paddle Implementation](Offical)

[Pytorch Implementation]

[Jittor Implementation]

Left: Compared with previous state-of-the-art methods, NeurOp achieves superior performance with only 28k parameters (~75% of CSRNet). Right: Strength Controllability Results. Our method can directly change the retouching output with intuitive control (i.e. directly modify the scalar strengths)

Datasets

Pretrain data to initialize our neurOps is hosted on 百度网盘 (code:pld9).

MIT-Adobe FiveK & PPR10K

We host all these data in 百度网盘 (code:jvvq)

  • There are two preprocessed versions of MIT-Adobe FiveK, in our paper, we refer them as MIT-Adobe FiveK-Dark (originally provided by CSRNet) and MIT-Adobe FiveK-Lite (originally provided by Distort-and-Recover).

  • The official PPR10K dataset link is here.

Get Started

  • Clone this repo

    git clone https://github.com/amberwangyili/neurop
    
  • Download the Dataset from 百度网盘 (code:jvvq) and unzip in project folder

    tree -L 2 neurop/datasets
    # the output should be like the following:
    datasets/
    ├── dataset-dark
    │   ├── testA
    │   ├── testB
    │   ├── trainA
    │   └── trainB
    ├── dataset-init
    │   ├── BC
    │   ├── EX
    │   └── VB
    ├── dataset-lite
    │   ├── testA
    │   ├── testB
    │   ├── trainA
    │   └── trainB
    └── dataset-ppr
        ├── ppr-a
        ├── ppr-b
        ├── ppr-c
        ├── testA
        ├── testM
        ├── trainA
        └── trainM
  • Install Dependencies

    cd neurop
    pip install -r requirements.txt 

Test

  1. We provide pretrained model weights for MIT-Adobe FiveK and PPR10K in pretrain_models

  2. Run command:

    python test.py -config ./configs/test/<configuaration-name>.yaml 
  3. The evaluation results will be in the neurop/results folder

Train

  1. Initialization individual neural color operators:

    python train.py -config ./configs/init_neurop.yaml 
  2. Finetune with strength predictors:

    python train.py -config ./configs/train/<configuration-name>.yaml 

BibTex

If you find neurOp useful in your research, please use the following BibTeX entry.

    @inproceedings{wang2022neurop,
    author = {Wang, Yili and Li, Xin and Xu, Kun and He, Dongliang and Zhang, Qi and Li, Fu and Ding, Errui},
    title = {Neural Color Operators for Sequential Image Retouching},
    year = {2022},
    isbn = {978-3-031-19800-7},
    publisher = {Springer-Cham},
    url = {https://doi.org/10.1007/978-3-031-19800-7_3},
    doi = {10.1007/978-3-031-19800-7_3},
    booktitle = {Computer Vision – ECCV 2022: 17th European Conference, Tel Aviv, Israel, October 23–27, 2022, Proceedings, Part XIX},
    numpages = {14},
    }

Acknowledgement

NeurOp is licensed under a MIT License.