This Toolbox contains the source code for the following technical report:
@article{DBLP:journals/corr/abs-1708-08190,
author = {Hui Zeng and
Lei Zhang and
Alan C. Bovik},
title = {A Probabilistic Quality Representation Approach to Deep Blind Image
Quality Prediction},
url = {http://arxiv.org/abs/1708.08190},
}
Note that on some datasets such as TID2013, the performance varies greatly when using different training and testing splits. However, it is too cumbersome for deep BIQA methods to repeat experiments as many times (usually more than 100) as the classical methods. This can make it hard to conduct fair comparisons of results reported in different articles. Thus, this Toolbox also aims to provide relatively fair benchmark performances (by using the same 10 randomly generated training and testing splits, see /tools/setupDataset/generateTrainingSet.m
) of several popular CNN architectures and some classical blind image quality assessment (BIQA) methods using hand-crafted features on four representative image quality assessment (IQA) datasets.
-
training_testing_CNNs.m
trains a CNN model using a proportion (e.g. 0.8) of images and tests performance on the remaining images. -
crossDatasetTrainTest.m
trains a CNN model on one dataset and tests performance on other datasets. -
evaluating_existing_methods.m
evaluates several representative classical BIQA methods including DIIVINE,CORNIA,BRISQUE, NIQE, IL-NIQE, HOSA and FRIQUEE. Except for NIQE, the source codes of other methods need to be downloaded and extracted into thesupported_methods
before evaluating these methods.
How to run the Code
-
Download the MatConvNet into
tools
and Compile it according to the guidence therein. -
Create a new folder
pretrained_models
and download the pre-trained AlexNet or ResNet50 intopretrained_models
if necessary. -
Create a new folder
databases
. Download an IQA dataset intodatabases
and extract the files. Currently, four datasets are supported including the LIVE Challenge, LIVE IQA, CSIQ and TID2013. -
The 64-bit compiled libSVM are already included in
tools
. If they are not compatible to your device, please download the source code and compile it on your own device. -
Run any of the three main functions.
The median SRCC (std SRCC) of 10 repititions of different methods on different datasets. Note that the results of CNN models may be slightly different because of the randomness in the training process of CNN models.
Methods | LIVE Challenge | LIVE IQA | CSIQ | TID2013 |
---|---|---|---|---|
DIIVINE | 0.5761 (0.0299) | 0.8787 (0.0554) | 0.7835 (0.1643) | 0.5829 (0.0605) |
CORNIA | 0.6323 (0.0360) | 0.9420 (0.0118) | 0.7299 (0.0338) | 0.6226 (0.0760) |
BRISQUE | 0.6085 (0.0284) | 0.9374 (0.0260) | 0.7502 (0.0489) | 0.5258 (0.0566) |
NIQE | 0.4347 (0.0286) | 0.9154 (0.0133) | 0.6298 (0.0284) | 0.2992 (0.0412) |
IL-NIQE | 0.4254 (0.0286) | 0.9017 (0.0278) | 0.8066 (0.0252) | 0.5185 (0.0469) |
HOSA | 0.6610 (0.0440) | 0.9477 (0.0080) | 0.7812 (0.0729) | 0.6876 (0.0925) |
FRIQUEE-ALL | 0.6873 (0.0253) | 0.9507 (0.0275) | 0.8414 (0.1238) | 0.7133 (0.0703) |
AlexNet_SQR | 0.7658 (0.0166) | 0.9319 (0.0269) | 0.7965 (0.0394) | 0.5362 (0.1100) |
AlexNet_PQR | 0.8075 (0.0123) | 0.9554 (0.0185) | 0.8713 (0.0229) | 0.5742 (0.1156) |
ResNet50_SQR | 0.8236 (0.0159) | 0.9468 (0.0199) | 0.8217 (0.0481) | 0.6406 (0.0577) |
ResNet50_PQR | 0.8568 (0.0095) | 0.9653 (0.0105) | 0.8728 (0.0319) | 0.7399 (0.1037) |
S_CNN_SQR | 0.6582 (0.0323) | 0.9450 (0.0320) | 0.8787 (0.0213) | 0.6526 (0.1136) |
S_CNN_PQR | 0.6766 (0.0326) | 0.9637 (0.0223) | 0.9080 (0.0212) | 0.6921 (0.1246) |
The median PLCC (std PLCC) of 10 repititions of different methods on different datasets.
Methods | LIVE Challenge | LIVE IQA | CSIQ | TID2013 |
---|---|---|---|---|
DIIVINE | 0.5955 (0.0303) | 0.8813 (0.0379) | 0.8362 (0.1710) | 0.6723 (0.0641) |
CORNIA | 0.6613 (0.0356) | 0.9457 (0.0119) | 0.8036 (0.0253) | 0.7038 (0.0669) |
BRISQUE | 0.6465 (0.0361) | 0.9448 (0.0274) | 0.8286 (0.0380) | 0.6331 (0.0568) |
NIQE | 0.4784 (0.0264) | 0.9194 (0.0112) | 0.7181 (0.0293) | 0.4154 (0.0567) |
IL-NIQE | 0.5066 (0.0247) | 0.8654 (0.0866) | 0.8083 (0.0726) | 0.6398 (0.0867) |
HOSA | 0.6750 (0.0299) | 0.9492 (0.0089) | 0.8415 (0.0522) | 0.7637 (0.0654) |
FRIQUEE-ALL | 0.7096 (0.0322) | 0.9576 (0.0264) | 0.8733 (0.1209) | 0.7755 (0.0716) |
AlexNet_SQR | 0.8074 (0.0176) | 0.9426 (0.0227) | 0.8405 (0.0384) | 0.6136 (0.1045) |
AlexNet_PQR | 0.8357 (0.0124) | 0.9638 (0.0181) | 0.8958 (0.0219) | 0.6687 (0.0840) |
ResNet50_SQR | 0.8680 (0.0117) | 0.9527 (0.0145) | 0.8713 (0.0355) | 0.7068 (0.0695) |
ResNet50_PQR | 0.8822 (0.0098) | 0.9714 (0.093) | 0.9010 (0.0266) | 0.7980 (0.0848) |
S_CNN_SQR | 0.6729 (0.0309) | 0.9455 (0.0249) | 0.8987 (0.0234) | 0.6921 (0.1314) |
S_CNN_PQR | 0.7032 (0.0298) | 0.9656 (0.0219) | 0.9267 (0.0219) | 0.7497 (0.1089) |
This toolbox will be constantly updated to include or re-implement state-of-the-art BIQA methods, especially on the LIVE Challenge dataset which is the existing largest dataset with authentic distortions.
This toolbox is made available for research purpose only.
We utilize the MatConvNet and libSVM toolboxes and re-implement some existing methods. Please check their licence files for details.