Skip to content

Latest commit

 

History

History

src

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Training examples on TID2013 and LIVE datasets

git clone https://github.com/xialeiliu/RankIQA.git
cd RankIQA

Requirements

  1. Requirements for caffe and pycaffe (see: Caffe installation instructions). Caffe must be built with support for Python layers!
# In your Makefile.config, make sure to have this line uncommented
WITH_PYTHON_LAYER := 1
  1. Requirements for GPU (Titan X (~11G of memory) is needed to train VGG).

Preparing Ranking and IQA datasets

The details can be found in data

Pre-trained ImageNet VGG-16 model

Download the pre-trained VGG-16 ImageNet model and put it in the folder models.

RankIQA

To train the RankIQA models on tid2013 dataset:

./src/RankIQA/tid2013/train_vgg.sh

To train the RankIQA models on LIVE dataset:

./src/RankIQA/live/train_vgg.sh

FT

To train the RankIQA+FT models on tid2013 dataset:

./src/FT/tid2013/train_vgg.sh

To train the RankIQA+FT models on LIVE dataset:

./src/FT/live/train_live.sh

Evaluation for RankIQA on tid2013:

python src/eval/Rank_eval_each_tid2013.py  # evaluation for each distortions in tid2013
python src/eval/Rank_eval_all_tid2013.py   # evaluation for all distortions in tid2013

Evaluation for RankIQA+FT on tid2013:

python src/eval/FT_eval_each_tid2013.py  # evaluation for each distortions in tid2013
python src/eval/FT_eval_all_tid2013.py   # evaluation for all distortions in tid2013

Evaluation for RankIQA on LIVE:

python src/eval/Rank_eval_all_live.py   # evaluation for all distortions in LIVE

Evaluation for RankIQA+FT on LIVE:

python src/eval/FT_eval_all_live.py   # evaluation for all distortions in LIVE

Folder introdcutions

  1. data_layer includes the Python functions to read the input data for different datasets.
  2. MyLossLayer contains the Python functions of our efficient back-propagation method for different datasets.
  3. tools provides the Python functions to calculate the evaluation matrix during training.
  4. eval provides the Python functions to evaluate the trained models.