CIE XYZ NET
CIE XYZ Net: Unprocessing Images for Low-Level Computer Vision Tasks
Mahmoud Afifi, Abdelrahman Abdelhamed, Abdullah Abuolaim, Abhijith Punnappurath, and Michael S. Brown
York University
Reference code for the paper CIE XYZ Net: Unprocessing Images for Low-Level Computer Vision Tasks. Mahmoud Afifi, Abdelrahman Abdelhamed, Abdullah Abuolaim, Abhijith Punnappurath, and Michael S. Brown, IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 2021. If you use this code or our dataset, please cite our paper:
@article{CIEXYZNet,
title={CIE XYZ Net: Unprocessing Images for Low-Level Computer Vision Tasks},
author={Afifi, Mahmoud and Abdelhamed, Abdelrahman and Abuolaim, Abdullah and Punnappurath, Abhijith and Brown, Michael S},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
pages={},
year={2021}
}
Code (MIT License)
Prerequisite
- Python 3.6
- opencv-python
- pytorch (tested with 1.5.0)
- torchvision (tested with 0.6.0)
- cudatoolkit
- tensorboard (optional)
- numpy
- future
- tqdm
- matplotlib
The code may work with library versions other than the specified.
Get Started
Demos:
- Run
demo_single_image.py
ordemo_images.py
to convert from sRGB to XYZ and back. You can change the task to run only one of the inverse or forward networks. - Run
demo_single_image_with_operators.py
ordemo_images_with_operators.py
to apply an operator(s) to the intermediate layers/images. The operator code should be located in thepp_code
directory. You should change the code inpp_code/postprocessing.py
with your operator code.
Training Code:
Run train.py
to re-train our network. You will need to adjust the training/validation directories accordingly.
Note:
All experiments in the paper were reported using the Matlab version of CIE XYZ Net. The PyTorch code/model is provided to facilitate using our framework with PyTorch, but there is no guarantee that the Torch version gives exactly the same reconstruction/rendering results reported in the paper.
Prerequisite
- Matlab 2019b or higher
- Deep Learning Toolbox
Get Started
Run install_.m
.
Demos:
- Run
demo_single_image.m
ordemo_images.m
to convert from sRGB to XYZ and back. You can change the task to run only one of the inverse or forward networks. - Run
demo_single_image_with_operators.m
ordemo_images_with_operators.m
to apply an operator(s) to the intermediate layers/images. The operator code should be located in thepp_code
directory. You should change the code inpp_code/postprocessing.m
with your operator code.
Training Code:
Run training.m
to re-train our network. You will need to adjust the training/validation directories accordingly.
sRGB2XYZ Dataset
Our sRGB2XYZ dataset contains ~1,200 pairs of camera-rendered sRGB and the corresponding scene-referred CIE XYZ images (971 training, 50 validation, and 244 testing images).
Training set (11.1 GB): Part 0 | Part 1 | Part 2 | Part 3 | Part 4 | Part 5
Validation set (570 MB): Part 0
Testing set (2.83 GB): Part 0 | Part 1
Dataset License:
As the dataset was originally rendered using raw images taken from the MIT-Adobe FiveK dataset, our sRGB2XYZ dataset follows the original license of the MIT-Adobe FiveK dataset.
Cita come
Mahmoud Afifi, Abdelrahman Abdelhamed, Abdullah Abuolaim, Abhijith Punnappurath, and Michael S. Brown. CIE XYZ Net: Unprocessing Images for Low-Level Computer Vision Tasks. arXiv preprint arXiv:2006.12709, 2020.
Compatibilità della release di MATLAB
Compatibilità della piattaforma
Windows macOS LinuxTag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
Matlab
Matlab/pp_code
Matlab/src
Le versioni che utilizzano il ramo predefinito di GitHub non possono essere scaricate
Versione | Pubblicato | Note della release | |
---|---|---|---|
1.0.1 | . |
|
|
1.0.0 |
|