TF_RankIQA. Adversarial Net与IQA.
RankIQA, 先在一个大型rank数据集上训练Rank部分, 即利用数据集训练出一个model; 然后再在一个小的数据集上训练IQA部分, 利用之前训练好的网络进行微调即可.
1. 首先准备数据集.
RankIQA可以使用三种数据集: LIVE2, TID2013. 首先生成_train.txt和_test.txt, 先生成每一种失真类型的图像, 然后为每一种失真的类型标记一种rank值. rank部分; 然后生成ft__train.txt, ft__test.txt, 测试图像已知, 然后为每个测试图像认为确定一个质量分数, IQA部分.
生成失真图像和Rank值, 以及相应的txt文件生成代码可见https://github.com/xialeiliu/RankIQA.
2. 首先训练Rank部分, 代码见tools/train_rank.py. 再训练IQA部分, 代码见tools/train_iqa.py.
预测或评估代码可见: tools/evaluate.py或demo/predict.py.
3. RankIQA算法对数据集的要求也有点高.
- 我们需要5种失真类型的图像. 但是这个代码也可以自动完成. 并且失真类型我们可以自己选择, 如模糊, 噪声, block等类型. 2) RankIQA算法在IQA部分, 输出的是图像质量分数, 在IQA部分, 其实做的是回归的事情. 当然, 我们也可以做成分类的事情!!!
并且, Rank部分和IQA部分的图像可以不一样!!!