A Study of Deep Perceptual Metrics for Image quality Assessment. This is the implementation of the paper "A study of deep perceptual metrics for image quality assessment" available here.
This repository is the implementation of the MR_Perceptual loss. This code allows the user to compute the MR_Perceptual loss on the 2AFC dataset and custom images.
This code is tested on python 3.8 the useful packages are listed in requirements.txt
pip install -r requirements.txt
Run bash ./scripts/download_dataset.sh
to download and unzip the dataset into directory ./dataset
. It takes [6.6 GB] total. Alternatively, run bash ./scripts/download_dataset_valonly.sh
to only download the validation set [1.3 GB].
- 2AFC train [5.3 GB]
- 2AFC val [1.1 GB]
- JND val [0.2 GB]
The script test_dataset_model.py
performs the metric on the 2AFC dataset :
To reproduce the results of the MR_perceptual metric, please use the parameter --mrpl
python test_dataset_model.py --mrpl
It is also possible to compute the MR_perceptual metric in various setups. For example, to perform the metric by using cross-entropy loss, sigmoid, linear features, and x1 resolution, run :
python test_dataset_model.py --loss CE --norm sigmoid --feature linear --resolution x1
The script test_network.py
can be used to compute the MR_perceptual metric between two given images compared to a reference image. Two setups are available :
- mrpl, which computes the MR_perceptual loss
- mr_simple, which computes the MR_perceptual loss without using gramm matrix
For example, if you want to compute the MR_perceptual loss between two images, please run :
python test_network.py --ref PATH/TO/REFERENCE_IMG --img1 PATH/TO/IMG_1 --ref PATH/TO/IMG_2 --mode mrpl
For the users which want to perform easily the metric, a pip package is available. For this, run :
pip install MR_perceptual
Here an usage example to perform the metric :
from MR_perceptual import test_network
dist = test_network.MRPL_2_images(PATH/TO/IMG_1,PATH/TO/REFERENCE_IMG)
print(dist)
This repository is based on the [PerceptualSimilarity] repo (https://github.com/richzhang/PerceptualSimilarity) Thanks to the authors!