Skip to content

The repository for 'Uncertainty-aware blind image quality assessment in the laboratory and wild' and 'Learning to blindly assess image quality in the laboratory and wild'

License

zwx8981/UNIQUE

Repository files navigation

New! IQA-PyTorch implementation

IQA-PyTorch supports UNIQUE now! Can be easily used as follows:

import pyiqa
model = pyiqa.create_metric('unique', as_loss=False)
score = model(img_path)

UNIQUE

The codebase for
Uncertainty-aware blind image quality assessment in the laboratory and wild (TIP2021) and
Learning to blindly assess image quality in the laboratory and wild (ICIP2020)

image

Prerequisite:

Python 3+
PyTorch 1.4+
Matlab
Successfully tested on Ubuntu18.04, other OS (i.e., other Linux distributions, Windows) should also be ok.

Usage

Sampling image pairs from multiple databases

data_all.m

Combining the sampled pairs to form the training set

combine_train.m

Training on multiple databases for 10 sessions

python Main.py --train True --network basecnn --representation BCNN --ranking True --fidelity True --std_modeling True --std_loss True --margin 0.025 --batch_size 128 --batch_size2 32 --image_size 384 --max_epochs 3 --lr 1e-4 --decay_interval 3 --decay_ratio 0.1 --max_epochs2 12 

(As for ICIP version, set std_loss to False and sample pairs from TID2013 instead of KADID-10K.) (For training with binary labels, set fidelity and std_modeling to False.)

Output predicted quality scores and stds

python Main.py --train False --get_scores True

Result analysis

Compute SRCC/PLCC after nonlinear mapping: result_analysis.m
Compute fidelity loss: eval_fidelity.m

Pre-trained weights

Google Drive: https://drive.google.com/file/d/18oPH4lALm8mSdZh3fWK97MVq9w3BbEua/view?usp=sharing

Baidu: https://pan.baidu.com/s/1KKncQIoQcbxj7fQlSKUBIQ code:yyev

A basic demo that predict the quality of single images.

python demo.py  

Very important ! Make sure that the model has been appropriately set to eval mode !

Link to download the BID dataset

The BID dataset may be difficult to find online, we provide links here:

Google Drive: https://drive.google.com/drive/folders/1Qmtp-Fo1iiQiyf-9uRUpO-YAAM0mcIey?usp=sharing

Baidu: https://pan.baidu.com/s/1TTyb0FJzUdP6muLSbVN3hQ code: ptg0

Training/Testing Data

In addition to the source MATLAB code to generate training/testing data, you may also find the generated files here (If you do not want to generate them yourselves or if you do not have MATLAB):

Google Drive: https://drive.google.com/file/d/1u-6xmedUB0PNA5xM787OY-YfiJg195xA/view

Baidu: https://pan.baidu.com/s/12nb6OTUxnz_rxssg2rthIQ code: 82k3

Citation

@article{zhang2021uncertainty,  
  title   = {Uncertainty-aware blind image quality assessment in the laboratory and wild},  
  author  = {Zhang, Weixia and Ma, Kede and Zhai, Guangtao and Yang, Xiaokang},  
  journal = {IEEE Transactions on Image Processing},    
  volume  = {30},  
  pages   = {3474--3486},  
  month   = {Mar.},  
  year    = {2021}
}
@inproceedings{zhang2020learning,  
  title     = {Learning to blindly assess image quality in the laboratory and wild},  
  author    = {Zhang, Weixia and Ma, Kede and Zhai, Guangtao and Yang, Xiaokang},  
  booktitle = {IEEE International Conference on Image Processing},  
  pages     = {111--115},  
  year      = {2020}
}

About

The repository for 'Uncertainty-aware blind image quality assessment in the laboratory and wild' and 'Learning to blindly assess image quality in the laboratory and wild'

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published