Giter VIP home page Giter VIP logo

neurop's Introduction

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.

neurop's People

Contributors

amberwangyili avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

neurop's Issues

Dataset not available

Baidu cloud works only with chinese.
Can you share it on another cloud working for all?

Inquire about data reading size

你好,打扰了,我尝试使用代码训练时初始颜色运算符时EX,BC,VB读取一对图片作为输入输出时尺寸不对应,请问是dataloader读取出问题吗? 或者是其他问题。谢谢。
111
QQ截图20231109110329

About the release date of the code and some questions

  1. When to release the codes and can u share the weights .pth of PPR10K?
  2. Regarding to the network structure, I wonder it looks like a variant version of CSRnet? And if we increase the strengths, we won't know the changing effect and its direction (e.g. lighter or darker, lighter or cooler) until we try?

Can you provide the forward code for testing?

I try to re-impl the forward as the paper and load the pretrained, but the result is not right.
So, can you provide the forward code for testing performance.
thanks for your reply.

'collections. OrderedDict' object has no attribute 'to'.

HI,
The work is amazing, but I have a problem using the pretrain_models:'collections. OrderedDict' object has no attribute 'to'.
It seems that only the "model.state_dict()" is provided. Did the author use the “torch.save(model.state_dict(),model_path)”
instead of "torch.save(model,' save_path')" when saving the model?

Questions about results mismatch with the numbers in the paper

Hi authors, thanks for this innovative work! I tried to re-train the InitModel from scratch, and use that to re-train the Finetune Model from scratch as indicated in the paper. I used the exact same configurations (configs/init_neurop.yaml and configs/train/train_neurop_mit5k_dark.yaml) and dataset provided in the github repo, but the results seems a little bit off from what paper states. Would you mind me asking if there is any extra steps when you train the InitModel and FinetuneModel?

The results I get for MIT5K Dark Dataset is: Average PSNR: 23.904039526530063 SSIM: 0.8980636596679688 deltaE: 10.479456901550293

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.