PPR10K: A Large-Scale Portrait Photo Retouching Dataset with Human-Region Mask and Group-Level Consistency
Jie Liang*, Hui Zeng*, Miaomiao Cui, Xuansong Xie and Lei Zhang.
In CVPR 2021.
The proposed Portrait Photo Retouching dataset (PPR10K) is a large-scale and diverse dataset that contains:
Two example groups of photos from the PPR10K dataset. Top: the raw photos; Bottom: the retouched results from expert-a and the human-region masks. The raw photos exhibit poor visual quality and large variance in subject views, background contexts, lighting conditions and camera settings. In contrast, the retouched results demonstrate both good visual quality (with human-region priority) and group-level consistency.
This dataset is first of its kind to consider the two special and practical requirements of portrait photo retouching task, i.e.,
Human-Region Priority and Group-Level Consistency. Three main challenges are expected to be tackled in the follow-up researches:
All data is hosted on GoogleDrive, OneDrive and 百度网盘 (验证码: mrwn):
Path | Size | Files | Format | Description |
---|---|---|---|---|
PPR10K-dataset | 406 GB | 176,072 | Main folder | |
├ raw | 313 GB | 11,161 | RAW | All photos in raw format (.CR2, .NEF, .ARW, etc) |
├ xmp_source | 130 MB | 11,161 | XMP | Default meta-file of the raw photos in CameraRaw, used in our data augmentation |
├ xmp_target_a | 130 MB | 11,161 | XMP | CameraRaw meta-file of the raw photos recoding the full adjustments by expert a |
├ xmp_target_b | 130 MB | 11,161 | XMP | CameraRaw meta-file of the raw photos recoding the full adjustments by expert b |
├ xmp_target_c | 130 MB | 11,161 | XMP | CameraRaw meta-file of the raw photos recoding the full adjustments by expert c |
├ masks_full | 697 MB | 11,161 | PNG | Full-resolution human-region masks in binary format |
├ masks_360p | 56 MB | 11,161 | PNG | 360p human-region masks for fast training and validation |
├ train_val_images_tif_360p | 91 GB | 97894 | TIF | 360p Source (16 bit tiff, with 5 versions of augmented images) and target (8 bit tiff) images for fast training and validation |
├ pretrained_models | 268 MB | 12 | PTH | pretrained models for all 3 versions |
└ hists | 624KB | 39 | PNG | Overall statistics of the dataset |
One can directly use the 360p (of 540x360 or 360x540 resolution in sRGB color space) training and validation files (photos, 5 versions of augmented photos and the corresponding human-region masks) we have provided following the settings in our paper (train with the first 8,875 files and validate with the last 2286 files).
Also, see the instructions to customize your data (e.g., augment the training samples regarding illuminations and colors, get photos with higher or full resolutions).
Clone this repo.
git clone https://github.com/csjliang/PPR10K
cd PPR10K/code_3DLUT/
Install dependencies.
pip install -r requirements.txt
Build. Modify the CUDA path in trilinear_cpp/setup.sh
adaptively and
cd trilinear_cpp
sh trilinear_cpp/setup.sh
Training without HRP and GLC strategy, save models:
python train.py --data_path [path_to_dataset] --gpu_id [gpu_id] --use_mask False --output_dir [path_to_save_models]
Training with HRP and without GLC strategy, save models:
python train.py --data_path [path_to_dataset] --gpu_id [gpu_id] --use_mask True --output_dir [path_to_save_models]
Training without HRP and with GLC strategy, save models:
python train_GLC.py --data_path [path_to_dataset] --gpu_id [gpu_id] --use_mask False --output_dir [path_to_save_models]
Training with both HRP and GLC strategy, save models:
python train_GLC.py --data_path [path_to_dataset] --gpu_id [gpu_id] --use_mask True --output_dir [path_to_save_models]
Generate the retouched results:
python validation.py --data_path [path_to_dataset] --gpu_id [gpu_id] --model_dir [path_to_models]
Use matlab to calculate the measures in our paper:
calculate_metrics(source_dir, target_dir, mask_dir)
mv your/path/to/pretrained_models/* saved_models/
python validation.py --data_path [path_to_dataset] --gpu_id [gpu_id] --model_dir mask_noglc_a --epoch -1
python train.py --data_path [path_to_dataset] --gpu_id [gpu_id] --use_mask True --output_dir mask_noglc_a --epoch -1
This project is released under the Apache 2.0 license.
If you use this dataset or code for your research, please cite our paper.
@inproceedings{jie2021PPR10K,
title={PPR10K: A Large-Scale Portrait Photo Retouching Dataset with Human-Region Mask and Group-Level Consistency},
author={Liang, Jie and Zeng, Hui and Cui, Miaomiao and Xie, Xuansong and Zhang, Lei},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2021}
}
Should you have any questions, please contact me via liang27jie@gmail.com
.